在执行一些示例 syntaxnet 脚本(如 parse.sh
)后,我收到了 text-conll 格式的输出。我的目标是采用一些功能并将它们进行到下一个网络。一种可能的选择是使用诸如 nltk.corpus.reader.ConllCorpusReader
之类的东西将文本输出解析为 python 对象。但对我来说很有趣
是:
是否可以通过一些代码修改从 SyntaxNet 获取与解析结果相关的 Python 对象而不是文本?
我发现在 parser_eval.py
的第 133-138 行,syntaxnet 已经获取了文本版本的结果。
while True:
tf_eval_epochs, tf_eval_metrics, tf_documents = sess.run([
parser.evaluation['epochs'],
parser.evaluation['eval_metrics'],
parser.evaluation['documents'],
])
但我无法找到生成此文本的对象以及生成方式的位置。
最佳答案
有很多方法可以做到这一点,据我所知,所有方法都涉及解析 SyntaxNet 的输出,并将其加载到 NLTK 对象中。我在我的博客上写了一篇简单的帖子,举例说明:
关于python - 从 SyntaxNet 获取输出作为 python 对象,而不是文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39880244/