Как получить результат анализа зависимости от SyntaxNet

Как вы получаете синтаксический анализ зависимости (не синтаксическое дерево), выводимый из SyntaxNet (https://github.com/tensorflow/models/tree/master/syntaxnet)? Я вижу описание анализа зависимостей... описание того, как обучать модель, но не как получить результат синтаксического анализа.

Имеет ли SyntaxNet (в частности, модель Parsey McParseface) даже анализ зависимости из коробки?

Ответ 1

Передача --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   _       _