Python - 同义词和反义词

  • 简述

    同义词和反义词作为 wordnet 的一部分提供,该词是英语的词汇数据库。它作为 nltk 语料库访问的一部分提供。在 wordnet 中,同义词是表示相同概念并且在许多上下文中可以互换的词,因此它们被分组为无序集(同义词集)。我们使用这些同义词来派生同义词和反义词,如下面的程序所示。
    
    from nltk.corpus import wordnet
    synonyms = []
    for syn in wordnet.synsets("Soil"):
        for lm in syn.lemmas():
                 synonyms.append(lm.name())
    print (set(synonyms))
    
    当我们运行上述程序时,我们得到以下输出 -
    
    set([grease', filth', dirt', begrime', soil', 
    grime', land', bemire', dirty', grunge', 
    stain', territory', colly', ground'])
    
    要获得反义词,我们只需使用 antonym 函数。
    
    from nltk.corpus import wordnet
    antonyms = []
    for syn in wordnet.synsets("ahead"):
        for lm in syn.lemmas():
            if lm.antonyms():
                antonyms.append(lm.antonyms()[0].name())
    print(set(antonyms))
    
    当我们运行上述程序时,我们得到以下输出 -
    
    set([backward', back'])