Python - sinónimos y antónimos

Los sinónimos y antónimos están disponibles como parte de wordnet, que es una base de datos léxica para el idioma inglés. Está disponible como parte del acceso a corpora nltk. En wordnet, los sinónimos son las palabras que denotan el mismo concepto y son intercambiables en muchos contextos, por lo que se agrupan en conjuntos desordenados (synsets). Usamos estos sintetizadores para derivar sinónimos y antónimos como se muestra en los programas a continuación.

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

Cuando ejecutamos el programa anterior, obtenemos el siguiente resultado:

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

Para obtener los antónimos, simplemente usamos la función 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))

Cuando ejecutamos el programa anterior, obtenemos el siguiente resultado:

set([backward', back'])