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