Синонимы и антонимы доступны как часть wordnet, которая является лексической базой данных для английского языка. Он доступен как часть доступа корпорации NLTK. В 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))
Когда мы запускаем вышеуказанную программу, мы получаем следующий вывод: