NLTK WordNet : recherchez des synonymes de NLTK WordNet dans Python
โก Rรฉsumรฉ intelligent
WordNet est une base de donnรฉes lexicale et un lecteur de corpus NLTK pour l'anglais qui regroupe les noms, les verbes, les adjectifs et les adverbes en synsets, permettant Python Les programmes recherchent des synonymes, des antonymes, des hyperonymes et des significations de mots pour le traitement automatique du langage naturel.

Quโest-ce que Wordnet ?
WordNet WordNet est un lecteur de corpus NLTK, une base de donnรฉes lexicale pour l'anglais. Il permet de trouver la signification des mots, leurs synonymes et leurs antonymes. On peut le dรฉfinir comme un dictionnaire sรฉmantique de l'anglais. WordNet s'importe avec la commande suivante :
from nltk.corpus import wordnet as guru
Comme WordNet est fourni sous forme de corpus prรชt ร l'emploi, vous pouvez le charger une seule fois et commencer immรฉdiatement ร interroger les relations entre les mots sans avoir ร construire vous-mรชme un dictionnaire.
Trouver des synonymes de NLTK WordNet dans Python
Les statistiques rรฉvรจlent qu'il y a 155287 mots et 117659 synonymes Les ensembles inclus dans WordNet anglais sont disponibles. Diffรฉrentes mรฉthodes sont proposรฉes par WordNet ; vous pouvez les trouver en cliquant sur le lien correspondant.ping dir(guru), qui rรฉpertorie chaque attribut de chargeur et mรฉthode d'assistance exposรฉs par le lecteur de corpus.
Synset : On parle รฉgalement d'ensemble de synonymes ou de recueil de mots synonymes. Prenons un exemple.
from nltk.corpus import wordnet syns = wordnet.synsets("dog") print(syns)
Sortie :
[Synset('dog.n.01'), Synset('frump.n.01'), Synset('dog.n.03'), Synset('cad.n.01'), Synset('frank.n.02'), Synset('pawl.n.01'), Synset('andiron.n.01'), Synset('chase.v.01')]
Relations lexicales : Il s'agit de relations sรฉmantiques rรฉciproques. S'il existe une relation entre {x1, x2, โฆ, xn} et {y1, y2, โฆ, yn}, alors il existe รฉgalement une relation entre {y1, y2, โฆ, yn} et {x1, x2, โฆ, xn}. Par exemple, un synonyme est le contraire d'un antonyme, tandis que les hyperonymes et les hyponymes sont un type de concept lexical.
รcrivons un programme en utilisant Python Trouver le synonyme et l'antonyme du mot ยซ actif ยป en utilisant WordNet.
from nltk.corpus import wordnet synonyms = [] antonyms = [] for syn in wordnet.synsets("active"): for l in syn.lemmas(): synonyms.append(l.name()) if l.antonyms(): antonyms.append(l.antonyms()[0].name()) print(set(synonyms)) print(set(antonyms))
La sortie du code :
{'dynamic', 'fighting', 'combat-ready', 'active_voice', 'active_agent', 'participating', 'alive', 'active'} -- Synonym
{'stative', 'passive', 'quiet', 'passive_voice', 'extinct', 'dormant', 'inactive'} -- Antonym
Explication du code :
- WordNet รฉtant un corpus, il est importรฉ du package nltk.corpus.
- Deux listes de synonymes et d'antonymes sont considรฉrรฉes comme vides et serviront ร l'ajout de donnรฉes.
- Les synonymes du mot ยซ actif ยป sont recherchรฉs ร lโaide de la mรฉthode des synsets et ajoutรฉs ร la liste des synonymes. Le mรชme processus est appliquรฉ aux antonymes.
- Le rรฉsultat est imprimรฉ comme Python configure les paramรจtres pour que les entrรฉes en double soient automatiquement supprimรฉes.
Au-delร des synonymes et des antonymes, WordNet propose รฉgalement des hyperonymes (termes plus gรฉnรฉraux), des hyponymes (termes plus spรฉcifiques), des holonymes et des mรฉronymes, permettant ainsi ร une simple requรชte de situer un mot au sein d'une hiรฉrarchie complรจte de relations. Ces relations font de WordNet un thรฉsaurus pratique pour les correcteurs orthographiques, la traduction automatique, la dรฉtection de spams et d'autres tรขches d'analyse textuelle en intelligence artificielle.
