Python – 同义词和反义词

Python – 同义词和反义词

WordNet是一种英语词汇数据库,其中包含同义词和反义词。它作为nltk语料库的一部分提供。在WordNet中,同义词是指表示相同概念并且在许多上下文中可以互换的单词,因此它们被分组为无序集合(synsets)。我们使用这些synsets来导出同义词和反义词,如下面的程序所示。

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

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程