如何将wordnet与其他单词进行比较?

时间:2015-03-02 20:07:32

标签: python nltk wordnet

我需要检查一些单词是否是另一个单词的sysnset。 例如 : 下大雨 ..  首先,我需要通过此代码找到cat的同义词:

list= wn.synsets('cat')

然后返回同义词列表:

[Synset('cat.n.01'), Synset('guy.n.01'), Synset('cat.n.03'), Synset('kat.n.01'), Synset('cat-o'-nine-tails.n.01'), Synset('caterpillar.n.02'), Synset('big_cat.n.01'), Synset('computerized_tomography.n.01'), Synset('cat.v.01'), Synset('vomit.v.01')

所以,现在我需要检查这个列表中的狗是否

我如何通过nltk Python代码来实现?

1 个答案:

答案 0 :(得分:0)

from nltk.corpus import wordnet as wn

for s in wn.synsets('cat'):
    lemmas = s.lemmas()
    for l in lemmas:
        if l.name() == 'dog':
            print l.synset()

请注意,此代码会搜索两个被认为是同义词的单词的联合同义词集(因此,您的“cat”和“dog”示例中找不到任何内容)。但是,wordnet中还有其他关系。例如,您可以搜索包含“dog”作为反义词的“cat”同义词集。