Python - sinônimos e antônimos

Sinônimos e antônimos estão disponíveis como parte do wordnet, que é um banco de dados lexical para o idioma inglês. Ele está disponível como parte do acesso nltk corpora. Em wordnet, sinônimos são as palavras que denotam o mesmo conceito e são intercambiáveis ​​em muitos contextos, de modo que são agrupados em conjuntos não ordenados (synsets). Usamos esses synsets para derivar os sinônimos e antônimos conforme mostrado nos programas abaixo.

from nltk.corpus import wordnet
synonyms = []
for syn in wordnet.synsets("Soil"):
    for lm in syn.lemmas():
             synonyms.append(lm.name())
print (set(synonyms))

Quando executamos o programa acima, obtemos a seguinte saída -

set([grease', filth', dirt', begrime', soil', 
grime', land', bemire', dirty', grunge', 
stain', territory', colly', ground'])

Para obter os antônimos, simplesmente usamos a função do antônimo.

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

Quando executamos o programa acima, obtemos a seguinte saída -

set([backward', back'])