从SyntaxNet获取输出作为python对象,而不是文本

时间:2016-10-05 17:25:53

标签: python nlp syntaxnet

执行一些示例syntaxnet脚本(如parse.sh)后,我收到 text-conll 格式的输出。我的目标是采用一些功能并将它们带到下一个网络。一种可能的选择是将类似nltk.corpus.reader.ConllCorpusReader的文本输出解析为python对象。但对我来说很有趣 是:

通过一些代码修改可以从SyntaxNet获取而不是文本,但Python对象与解析结果有关吗?

我发现在第133-138行的parser_eval.py中,syntaxnet已经获取了结果的文本版本。

while True:
    tf_eval_epochs, tf_eval_metrics, tf_documents = sess.run([
        parser.evaluation['epochs'],
        parser.evaluation['eval_metrics'],
        parser.evaluation['documents'],
    ])

但我无法找到该文本生成对象的位置以及如何生成。

1 个答案:

答案 0 :(得分:0)

有很多方法可以做到这一点,据我所知,所有方法都涉及解析SyntaxNet的输出,并将其加载到NLTK对象中。我在我的博客上写了一篇简单的文章,举例说明:

http://www.davidsbatista.net/blog/2017/03/25/syntaxnet/