Python - 近义词和反义词



近义词和反义词可以用作词网的一部分,词网是英语的词法数据库。它可以在 nltk 语料库访问中找到。在词网中,近义词表示相同概念的单词,可以在很多上下文中互换,因此它们被归为无序集合(同义词集)。我们使用这些同义词集来导出近义词和反义词,如下面的程序所示。

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'])

要得到反义词,我们简单地使用反义词函数。

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'])
广告