Cómo obtener la salida de análisis de dependencias de SyntaxNet
machine-learning dependency-parsing (1)
¿Cómo se obtiene un resultado de análisis de dependencias (sin árbol de sintaxis) desde SyntaxNet ( https://github.com/tensorflow/models/tree/master/syntaxnet )? Veo una descripción del análisis de dependencia ... una descripción de cómo entrenar un modelo, pero no cómo obtener un resultado de análisis de dependencias.
¿SyntaxNet (específicamente el modelo Parsey McParseface) incluso realiza análisis de dependencias listos para usar?
Pasar --arg_prefix brain_parser
al parser_eval.py
debería hacer el truco. Pero esto requiere que la salida etiquetada se alimente como entrada.
Aquí hay un ejemplo donde el primer pase etiqueta las palabras y el segundo pase resuelve las dependencias:
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
Esto genera el siguiente resultado:
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 _ _