NLTK WordNet: trova sinonimi da NLTK WordNet in Python

โšก Riepilogo intelligente

WordNet รจ un database lessicale e un lettore di corpus NLTK per l'inglese che raggruppa nomi, verbi, aggettivi e avverbi in synset, consentendo Python I programmi cercano sinonimi, contrari, iperonimi e significati delle parole per l'elaborazione del linguaggio naturale.

  • ๐Ÿงฉ Lettore del corpus: WordNet viene importato da nltk.corpus e funge da dizionario di inglese orientato semanticamente.
  • ๐Ÿ” Synset: Un synset รจ una raccolta di sinonimi, come ad esempio gli otto significati restituiti per "cane".
  • ๐Ÿ”— Relazioni lessicali: I legami semantici reciproci collegano sinonimi, contrari, iperonimi e iponimi.
  • ๐Ÿงช Sinonimi e contrari: gabinettoping over synsets and lemmas raccoglie ogni sinonimo e contrario di una parola.
  • ๐ŸŒณ Gerarchia: Iperonimi, iponimi, olonimi e meronimi organizzano le parole in sottoreti di nomi, verbi, aggettivi e avverbi.
  • ๐Ÿค– Vantaggi dell'intelligenza artificiale: WordNet offre funzionalitร  per attivitร  di analisi del testo come la correzione ortografica, la traduzione e il rilevamento dello spam.

NLTK WordNet

Cos'รจ Wordnet?

WordNet WordNet รจ un lettore di corpus NLTK, un database lessicale per la lingua inglese. Puรฒ essere utilizzato per trovare il significato delle parole, sinonimi o contrari. Si puรฒ definire come un dizionario di inglese orientato semanticamente. WordNet viene importato con il seguente comando:

from nltk.corpus import wordnet as guru

Poichรฉ WordNet viene fornito come corpus precompilato, รจ possibile caricarlo una sola volta e iniziare immediatamente a interrogare le relazioni tra le parole senza dover creare alcun dizionario autonomamente.

Trova sinonimi da NLTK WordNet in Python

Le statistiche rivelano che ci sono 155287 parole e 117659 sinonimi set inclusi con English WordNet. Diversi metodi disponibili con WordNet possono essere trovati tramite typing dir(guru), che elenca ogni attributo del caricatore e metodo di supporto esposto dal lettore del corpus.

Synset: Si chiama anche insieme di sinonimi o raccolta di parole sinonime. Vediamo un esempio.

from nltk.corpus import wordnet
syns = wordnet.synsets("dog")
print(syns)

Produzione:

[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')]

Relazioni lessicali: Si tratta di relazioni semantiche reciproche. Se esiste una relazione tra {x1,x2,โ€ฆxn} e {y1,y2,โ€ฆyn}, allora esiste anche una relazione tra {y1,y2,โ€ฆyn} e {x1,x2,โ€ฆxn}. Ad esempio, sinonimo รจ l'opposto di contrario, mentre iperonimi e iponimi sono un tipo di concetto lessicale.

Scriviamo un programma utilizzando Python per trovare sinonimi e contrari della parola "attivo" utilizzando 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))

L'output del codice:

{'dynamic', 'fighting', 'combat-ready', 'active_voice', 'active_agent', 'participating', 'alive', 'active'} -- Synonym
{'stative', 'passive', 'quiet', 'passive_voice', 'extinct', 'dormant', 'inactive'} -- Antonym

Spiegazione del codice:

  • WordNet รจ un corpus, quindi viene importato dal pacchetto nltk.corpus.
  • Vengono considerate vuote due liste per sinonimi e contrari, che saranno utilizzate per l'aggiunta di elementi.
  • I sinonimi della parola "attivo" vengono ricercati con il metodo synsets e aggiunti all'elenco dei sinonimi. Lo stesso processo viene utilizzato per raccogliere i contrari.
  • L'output viene stampato come Python Imposta le voci in modo che vengano rimosse automaticamente.

Oltre a sinonimi e contrari, WordNet espone anche iperonimi (termini piรน ampi), iponimi (termini piรน specifici), olonimi e meronimi, in modo che una singola query possa collocare una parola all'interno di un'intera gerarchia di relazioni "รจ un". Queste relazioni rendono WordNet un thesaurus pratico per correttori ortografici, traduzione automatica, rilevamento dello spam e altre attivitร  di analisi del testo nell'ambito dell'intelligenza artificiale.

DOMANDE FREQUENTI

WordNet รจ un lettore di corpus NLTK e un database lessicale per la lingua inglese. Funziona come un dizionario semanticamente orientato, permettendoti di cercare il significato, i sinonimi e i contrari di una parola con semplici comandi. Python comandi.

Un synset, abbreviazione di "insieme di sinonimi", รจ un gruppo di parole che condividono lo stesso concetto. Chiamando wordnet.synsets("cane") si ottengono diversi synset, ognuno dei quali rappresenta un significato distinto della parola "cane".

Scorri wordnet.synsets(word), quindi itera i lemmi di ciascun synset(). Aggiungi lemma.name() per raccogliere i sinonimi e chiama lemma.antonyms() per raccogliere i contrari.ping i risultati in set() rimuovono le voci duplicate.

Un iperonimo รจ un termine piรน ampio e generico (pasto รจ un iperonimo di colazione), mentre un iponimo รจ un termine piรน specifico (riso รจ un iponimo di pasto). WordNet li collega per formare una gerarchia "รจ un".

English WordNet include circa 155,287 parole organizzate in circa 117,659 insiemi di sinonimi. Il database copre quattro parti del discorso: nomi, verbi, aggettivi e avverbi, ognuno dei quali รจ memorizzato nella propria sottorete.

Nell'ambito dell'intelligenza artificiale, WordNet supporta attivitร  di analisi del testo come la disambiguazione del senso delle parole, la correzione ortografica, la traduzione automatica e il rilevamento dello spam. Le sue relazioni strutturate forniscono ai modelli di apprendimento automatico caratteristiche linguistiche piรน ricche rispetto ai soli token grezzi.

Sรฌ. Le pipeline di intelligenza artificiale e apprendimento automatico utilizzano misure di similaritร  di WordNet come la similaritร  di percorso e la similaritร  di Wu-Palmer. Valutano quanto due synset siano vicini misurando il percorso piรน breve tra di essi nella gerarchia di iperonimi e iponimi.

Un normale dizionario elenca le definizioni in ordine alfabetico. WordNet, invece, collega le parole in base al significato attraverso synset e relazioni lessicali, comportandosi quindi come un dizionario e un thesaurus combinati, che le macchine possono consultare in modo programmatico.

Riassumi questo post con: