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'])
要获得反义词,我们只需使用反义词函数。
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'])