通过--arg_prefix brain_parser
到parser_eval.py
应该做的伎俩。但是这需要标记输出作为输入。
下面是一个例子,其中第一通标记单词和二传解决依赖:
echo 'The quick brown fox ran over the lazy dog.' | bazel-bin/syntaxnet/parser_eval \
--input stdin \
--output stdout-conll \
--model syntaxnet/models/parsey_mcparseface/tagger-params \
--task_context syntaxnet/models/parsey_mcparseface/context.pbtxt \
--hidden_layer_sizes 64 \
--arg_prefix brain_tagger \
--graph_builder structured \
--slim_model \
--batch_size 1024 | bazel-bin/syntaxnet/parser_eval \
--input stdin-conll \
--output stdout-conll \
--hidden_layer_sizes 512,512 \
--arg_prefix brain_parser \
--graph_builder structured \
--task_context syntaxnet/models/parsey_mcparseface/context.pbtxt \
--model_path syntaxnet/models/parsey_mcparseface/parser-params \
--slim_model --batch_size 1024
这将生成以下的输出:
1 The _ DET DT _ 4 det _ _
2 quick _ ADJ JJ _ 4 amod _ _
3 brown _ ADJ JJ _ 4 amod _ _
4 fox _ NOUN NN _ 5 nsubj _ _
5 ran _ VERB VBD _ 0 ROOT _ _
6 over _ ADP IN _ 5 prep _ _
7 the _ DET DT _ 9 det _ _
8 lazy _ ADJ JJ _ 9 amod _ _
9 dog _ NOUN NN _ 6 pobj _ _
10 . _ . . _ 5 punct _ _
要添加到这一点,如果你只是发表评论输出models/syntaxnet/syntaxnet/demo.sh的bazel-bin/syntaxnet/conll2tree最终管道(和参数),你将自动得到这个结果。 – user22490234
我无法找到此输出的深入解释。破折号行代表什么?还有一行数字的目的是什么(不是1 - 10。另一个) – Kahless
@Kahless:有关字段定义,请参见http://ilk.uvt.nl/conll/#dataformat。 – Nirmal