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.

  • ๐Ÿงฉ Lecteur de corpus : WordNet est importรฉ depuis nltk.corpus et sert de dictionnaire sรฉmantiquement orientรฉ de l'anglais.
  • (I.e. Synsets : Un synset est un ensemble de mots synonymes, comme les huit sens renvoyรฉs pour ยซ chien ยป.
  • ๐Ÿ”— Relations lexicales : Les liens sรฉmantiques rรฉciproques relient les synonymes, les antonymes, les hyperonymes et les hyponymes.
  • ๐Ÿงช Synonymes et antonymes : Cabinetsping over synsets and lemmes collecte tous les synonymes et antonymes d'un mot.
  • ๐ŸŒณ Hiรฉrarchie: Les hyperonymes, les hyponymes, les holonymes et les mรฉronymes organisent les mots en sous-rรฉseaux nominaux, verbaux, adjectifs et adverbiaux.
  • ๐Ÿค– Avantage de l'IA : WordNet permet de rรฉaliser des tรขches d'analyse de texte telles que la correction orthographique, la traduction et la dรฉtection de spam.

NLTK WordNet

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.

FAQ

WordNet est un lecteur de corpus NLTK et une base de donnรฉes lexicale pour l'anglais. Il fonctionne comme un dictionnaire sรฉmantique, permettant de rechercher la signification, les synonymes et les antonymes d'un mot en toute simplicitรฉ. Python les commandes.

Un synset, abrรฉviation de synonym set, est un groupe de mots qui partagent le mรชme concept. L'appel ร  wordnet.synsets("dog") renvoie plusieurs synsets, chacun reprรฉsentant un sens distinct du mot ยซ dog ยป.

Parcourez wordnet.synsets(word), puis itรฉrez sur les lemmes de chaque synset. Ajoutez lemme.name() pour rรฉcupรฉrer les synonymes et appelez lemme.antonyms() pour rรฉcupรฉrer les antonymes.ping La fonction set() supprime les entrรฉes en double.

Un hyperonyme est un terme gรฉnรฉrique (repas est un hyperonyme de petit-dรฉjeuner), tandis qu'un hyponyme est un terme plus spรฉcifique (riz est un hyponyme de repas). WordNet รฉtablit une hiรฉrarchie entre ces termes.

English WordNet comprend environ 155 287 mots rรฉpartis en quelque 117 659 ensembles de synonymes. La base de donnรฉes couvre quatre catรฉgories grammaticales : les noms, les verbes, les adjectifs et les adverbes, chacune stockรฉe dans son propre sous-rรฉseau.

En intelligence artificielle, WordNet prend en charge des tรขches d'analyse de texte telles que la dรฉsambiguรฏsation sรฉmantique, la correction orthographique, la traduction et la dรฉtection de spam. Ses relations structurรฉes offrent aux modรจles d'apprentissage automatique des caractรฉristiques linguistiques plus riches que les seuls tokens bruts.

Oui. Les pipelines d'IA et d'apprentissage automatique utilisent des mesures de similaritรฉ WordNet telles que la similaritรฉ de chemin et la similaritรฉ de Wu-Palmer. Ils รฉvaluent la proximitรฉ de deux ensembles de synonymes en mesurant le chemin le plus court entre eux dans la hiรฉrarchie des hyperonymes et des hyponymes.

Un dictionnaire classique classe les dรฉfinitions par ordre alphabรฉtique. WordNet, quant ร  lui, relie les mots par leur signification grรขce ร  des synsets et des relations lexicales ; il se comporte donc comme un dictionnaire et un thรฉsaurus combinรฉs que les machines peuvent parcourir par programmation.

Rรฉsumez cet article avec :