如何将 wordnet Synsets 与另一个词进行比较?

How compare wordnet Synsets with another word?

我需要检查某个词是否是另一个词的系统集.. 例如 : 下大雨 .. 首先,我需要通过以下代码找到 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代码如何实现?

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' 同义词集。