Python - Interfaccia WordNet

WordNet è un dizionario di inglese, simile a un thesaurus tradizionale NLTK include l'inglese WordNet. Possiamo usarlo come riferimento per ottenere il significato delle parole, l'esempio di utilizzo e la definizione. Una raccolta di parole simili è chiamata lemmi. Le parole in WordNet sono organizzate e nodi e bordi dove i nodi rappresentano il testo della parola e i bordi rappresentano le relazioni tra le parole. di seguito vedremo come possiamo utilizzare il modulo WordNet.

Tutti i lemmi

from nltk.corpus import wordnet as wn
res=wn.synset('locomotive.n.01').lemma_names()
print res

Quando eseguiamo il programma sopra, otteniamo il seguente output:

[u'locomotive', u'engine', u'locomotive_engine', u'railway_locomotive']

Definizione delle parole

La definizione del dizionario di una parola può essere ottenuta utilizzando la funzione di definizione. Descrive il significato della parola come possiamo trovare in un normale dizionario.

from nltk.corpus import wordnet as wn
resdef = wn.synset('ocean.n.01').definition()
print resdef

Quando eseguiamo il programma sopra, otteniamo il seguente output:

a large body of water constituting a principal part of the hydrosphere

Esempi di utilizzo

Possiamo ottenere le frasi di esempio che mostrano alcuni esempi di utilizzo delle parole utilizzando il exmaples() funzione.

from nltk.corpus import wordnet as wn
res_exm = wn.synset('good.n.01').examples()
print res_exm

Quando eseguiamo il programma sopra, otteniamo il seguente output:

['for your own good', "what's the good of worrying?"]

Parole opposte

Ottieni tutte le parole opposte utilizzando la funzione antonimo.

from nltk.corpus import wordnet as wn
# get all the antonyms
res_a = wn.lemma('horizontal.a.01.horizontal').antonyms()
print res_a

Quando eseguiamo il programma sopra, otteniamo il seguente output:

[Lemma('inclined.a.02.inclined'), Lemma('vertical.a.01.vertical')]