同義詞和反義詞
同義詞和反義詞作爲wordnet
的一部分提供,wordnet
是英語的詞彙數據庫。 它作爲nltk corpora
訪問的一部分提供。 在wordnet
中同義詞是表示相同概念並且在許多上下文中可互換的單詞,因此它們被分組爲無序集(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'])