Python - 同义词和反义词
同义词和反义词作为 wordnet 的一部分提供,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'])
要获取反义词,我们只需使用 antonyms 函数即可。
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'])

