Python - Synonymes et Antonymes

Les synonymes et les antonymes sont disponibles dans le cadre du wordnet qui est une base de données lexicale pour la langue anglaise. Il est disponible dans le cadre de l'accès aux corpus nltk. Dans wordnet, les synonymes sont les mots qui désignent le même concept et sont interchangeables dans de nombreux contextes de sorte qu'ils sont regroupés en ensembles non ordonnés (synsets). Nous utilisons ces ensembles de synonymes pour dériver les synonymes et les antonymes comme indiqué dans les programmes ci-dessous.

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

Lorsque nous exécutons le programme ci-dessus, nous obtenons la sortie suivante -

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

Pour obtenir les antonymes, nous utilisons simplement la fonction antonyme.

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

Lorsque nous exécutons le programme ci-dessus, nous obtenons la sortie suivante -

set([backward', back'])