如何获得NLTK中单词之间的期间关系?

时间:2015-03-11 21:50:01

标签: python nltk

我长时间在互联网上搜索答案,但没有找到答案。所以你是我最后的希望:)也许有人在这里可以帮助我。

我有一个我要处理的句子/问题: “你能在1966年租多少大众汽车?”

我想得到这些词之间的关系,就像在这张照片中一样 对不起,我无法发布图片,所以这里有链接。 http://s24.postimg.org/kl6uc1xrp/Bildschirmfoto_2015_03_11_um_22_34_27.png

但我不知道该怎么做。我试过例如:

text = nltk.word_tokenize("How much could you rent a Volkswagen bug for in 1966?")
posTagged = nltk.pos_tag(text)    
n = nltk.chunk.ne_chunk(posTagged)
n.draw()

但我只得到一棵扁平的树,这对我没有任何帮助。如果有人能帮助我,我会非常非常高兴:)

最诚挚的问候,奥利弗

1 个答案:

答案 0 :(得分:1)

不确定你的'期间关系'是什么意思,但听起来你需要依赖解析。 (google it,这是一个活跃的NLP研究领域)。

如果你关心的是为给定的输入句子生成一个解析树,我建议你使用一些免费提供的解析器,例如来自stanford的解析器:http://nlp.stanford.edu/software/stanford-dependencies.shtml

如果您明确拥有/想要使用nltk,请查看以下示例:http://www.nltk.org/howto/parse.html 你可以使用一些非常基本的语法,但是如果你需要多一些,那么很快你就必须开始编写自己的语法。 nltk regexpParser特别简单易用。我没有在nltk中生成图形输出/树的任何经验,但我想它应该是可能的。