【问题标题】:How compare wordnet Synsets with another word?如何将 wordnet Synsets 与另一个词进行比较?
【发布时间】:2015-05-03 07:45:10
【问题描述】:

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

【问题讨论】:

    标签: python nltk wordnet


    【解决方案1】:
    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”同义词集。

    【讨论】:

      猜你喜欢
      • 2022-12-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-03-21
      • 2018-10-06
      • 2019-03-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多