SyntaxNet创建树到根动词

Der*_*lay 7 python nlp syntaxnet

我是Python和NLP世界的新手.谷歌的Syntaxnet最近的公告引起了我的兴趣.但是我在理解有关syntaxnet和相关工具(nltk等)的文档时遇到了很多麻烦.

我的目标:给出一个输入,如"威尔伯踢球",我想提取根动词(踢)和它与"球"有关的对象.

我偶然发现了"spacy.io",这个可视化似乎封装了我想要完成的任务:POS标记一个字符串,并将其加载到某种树结构中,以便我可以从根动词开始并遍历句子.

我使用了syntaxnet/demo.sh,并按照此线程中的建议注释掉最后几行以获得conll输出.

然后我将这个输入加载到python脚本中(我自己克服了一些,可能不正确):

import nltk
from nltk.corpus import ConllCorpusReader
columntypes = ['ignore', 'words', 'ignore', 'ignore', 'pos']
corp = ConllCorpusReader('/Users/dgourlay/development/nlp','input.conll', columntypes)
Run Code Online (Sandbox Code Playgroud)

我看到我可以访问corp.tagged_words(),但是没有关系.现在我卡住了!如何将此语料库加载到树型结构中?

任何帮助深表感谢!

mag*_*aga 2

您想要做的是找到一个依赖项,即doobj。我对 SyntaxNet/Parsey 还不够熟悉,无法告诉您如何准确地从其输出中提取该依赖项,但我相信这个答案可能会对您有所帮助。简而言之,您可以将 Parsey 配置为使用 ConLL 语法进行输出,将其解析为您认为易于遍历的任何内容,然后查找 ROOT 依赖项以查找动词,并查找 *obj 依赖项以查找其对象。