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