【问题标题】:How to Get Dependency Parse Output from SyntaxNet如何从 SyntaxNet 获取依赖解析输出
【发布时间】:2016-05-13 21:28:25
【问题描述】:

如何从 SyntaxNet (https://github.com/tensorflow/models/tree/master/syntaxnet) 获得依赖解析(不是语法树)输出?我看到了关于依赖解析的描述...关于如何训练模型的描述,但没有看到如何获取依赖解析输出。

SyntaxNet(特别是 Parsey McParseface 模型)是否甚至可以开箱即用地进行依赖解析?

【问题讨论】:

    标签: syntax machine-learning dependency-parsing syntaxnet


    【解决方案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   _       _
    

    【讨论】:

    • 要补充这一点,如果你简单地注释掉模型/syntaxnet/syntaxnet/demo.sh 的 bazel-bin/syntaxnet/conll2tree 最终管道(和 args),你会得到这个结果自动。
    • 我无法找到对此输出的深入解释。破折号行代表什么?还有一排数字的目的是什么(不是1-10。另一个)
    • @Kahless:有关字段定义,请参阅 ilk.uvt.nl/conll/#dataformat
    • 酷。感谢您的参考。
    • @matanster:可能的值为brain_posbrain_parser。详细信息可以在这里找到:github.com/tensorflow/models/tree/master/syntaxnet
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-02-13
    • 2015-05-05
    • 1970-01-01
    • 2017-12-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多