wordnet在不同的文字?

时间:2016-08-19 23:27:09

标签: nltk wordnet corpus

我是nltk的新手,我发现wordnet功能非常有用。它提供了synsetshypernymssimilarity等等。但是它没有给出像'德里'这样的位置之间的相似性 - '海德拉巴'显然因为这些单词不在wordnet语料库中。

所以,我想知道,如果我能以某种方式更新wordnet语料库或在不同的语料库上创建wordnet,例如从维基百科中提取的与旅行相关的页面集?如果我们可以在不同的语料库上创建wordnet,那么格式是什么,做同样的步骤,有什么限制?

请您指出描述上述问题的链接。我搜索了互联网,谷歌搜索,阅读部分nltk书,但我没有一个提示上面的问题。

请原谅我,如果这个问题听起来完全荒谬的话。

2 个答案:

答案 0 :(得分:2)

为了灵活地测量像Dehli或Hyderabad这样的特定术语的语义相似性,你想要的不是像WordNet那样手工制作的东西,而是来自自动学习的相似性度量非常大的数据库。这些是statistical similarity方法。当然,您希望避免自己在数据上训练这样的模型......

因此,可能有用的一件事是Google距离(wikipediaoriginal paper)。用R(code)这样的语言来实现这样的措施似乎相当简单,原始论文报告了与WordNet达成87%的协议。

答案 1 :(得分:1)

Wordnet中的相似性度量按预期工作,因为Wordnet测量语义相似性。从这个意义上说,两者都是城市,所以它们非常相似。您正在寻找的可能是geographic similarity

delhi = wn.synsets('Delhi', 'n')[0]
print delhi.definition()

# a city in north central India

hyderabad = wn.synsets('Hyderabad', 'n')[0]
print hyderabad.definition()

# a city in southern Pakistan on the Indus River


delhi.wup_similarity(hyderabad)
# 0.9

melon = wn.synsets('melon', 'n')[0]

delhi.wup_similarity(melon)
# 0.3

有一个名为Geowordnet的Wordnet扩展程序。我有点像你一样遇到了同样的问题,并试图用一些扩展来统一Wordnet:wnext。希望有所帮助。