2016-05-13 78 views

回答

14

通过--arg_prefix brain_parserparser_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 _  _ 
+8

要添加到这一点,如果你只是发表评论输出models/syntaxnet/syntaxnet/demo.sh的bazel-bin/syntaxnet/conll2tree最终管道(和参数),你将自动得到这个结果。 – user22490234

+0

我无法找到此输出的深入解释。破折号行代表什么?还有一行数字的目的是什么(不是1 - 10。另一个) – Kahless

+2

@Kahless:有关字段定义,请参见http://ilk.uvt.nl/conll/#dataformat。 – Nirmal