【发布时间】:2015-12-26 10:06:32
【问题描述】:
我尝试在 Python 给定的依赖树中找到两个单词之间的依赖路径。
对于句子
流行文化中的机器人提醒我们 不受约束的人类机构。
我使用了 practnlptools (https://github.com/biplab-iitb/practNLPTools) 来获取依赖解析结果,如:
nsubj(are-5, Robots-1)
xsubj(remind-8, Robots-1)
amod(culture-4, popular-3)
prep_in(Robots-1, culture-4)
root(ROOT-0, are-5)
advmod(are-5, there-6)
aux(remind-8, to-7)
xcomp(are-5, remind-8)
dobj(remind-8, us-9)
det(awesomeness-12, the-11)
prep_of(remind-8, awesomeness-12)
amod(agency-16, unbound-14)
amod(agency-16, human-15)
prep_of(awesomeness-12, agency-16)
也可以形象化为(图片取自https://demos.explosion.ai/displacy/)
“robots”和“are”之间的路径长度为1,“robots”和“awesomeness”之间的路径长度为4。
我的问题是上面的依赖解析结果,我怎样才能得到两个单词之间的依赖路径或依赖路径长度?
从我目前的搜索结果来看,nltk 的 ParentedTree 会有帮助吗?
谢谢!
【问题讨论】:
-
嗨@Sean,如何使用nltk 获得一个句子的相似树结构?我目前没有任何语法,并且使用“treebank”语法,给我一些生产列表中不存在的单词的错误。谢谢。
-
@skadoosh 实际上,使用 NLTK 获得如此好的演示文稿很难。我建议使用 Spacy。
标签: python nltk text-parsing