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