Python - Interfaz WordNet

WordNet es un diccionario de inglés, similar a un tesauro tradicional que NLTK incluye en inglés WordNet. Podemos usarlo como referencia para obtener el significado de las palabras, ejemplo de uso y definición. Una colección de palabras similares se llama lemas. Las palabras en WordNet están organizadas y los nodos y los bordes donde los nodos representan el texto de la palabra y los bordes representan las relaciones entre las palabras. A continuación veremos cómo podemos utilizar el módulo WordNet.

Todas las lemas

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

Cuando ejecutamos el programa anterior, obtenemos el siguiente resultado:

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

Definición de palabra

La definición de diccionario de una palabra se puede obtener utilizando la función de definición. Describe el significado de la palabra como podemos encontrar en un diccionario normal.

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

Cuando ejecutamos el programa anterior, obtenemos el siguiente resultado:

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

Ejemplos de uso

Podemos obtener las oraciones de ejemplo que muestran algunos ejemplos de uso de las palabras usando el exmaples() función.

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

Cuando ejecutamos el programa anterior, obtenemos el siguiente resultado:

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

Palabras opuestas

Obtenga todas las palabras opuestas utilizando la función de antónimo.

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

Cuando ejecutamos el programa anterior, obtenemos el siguiente resultado:

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