Python - Interface WordNet
WordNet é um dicionário de inglês, semelhante a um tesauro tradicional. NLTK inclui o WordNet em inglês. Podemos usá-lo como referência para obter o significado das palavras, exemplo de uso e definição. Uma coleção de palavras semelhantes é chamada de lemas. As palavras no WordNet são organizadas e nós e arestas onde os nós representam o texto da palavra e as arestas representam as relações entre as palavras. a seguir veremos como podemos usar o módulo WordNet.
Todos os lemas
from nltk.corpus import wordnet as wn
res=wn.synset('locomotive.n.01').lemma_names()
print res
Quando executamos o programa acima, obtemos a seguinte saída -
[u'locomotive', u'engine', u'locomotive_engine', u'railway_locomotive']
Definição de Palavra
A definição de dicionário de uma palavra pode ser obtida usando a função de definição. Descreve o significado da palavra conforme podemos encontrar em um dicionário normal.
from nltk.corpus import wordnet as wn
resdef = wn.synset('ocean.n.01').definition()
print resdef
Quando executamos o programa acima, obtemos a seguinte saída -
a large body of water constituting a principal part of the hydrosphere
Exemplos de uso
Podemos obter as frases de exemplo mostrando alguns exemplos de uso das palavras usando o exmaples() função.
from nltk.corpus import wordnet as wn
res_exm = wn.synset('good.n.01').examples()
print res_exm
Quando executamos o programa acima, obtemos a seguinte saída -
['for your own good', "what's the good of worrying?"]
Palavras opostas
Obtenha todas as palavras opostas usando a função 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
Quando executamos o programa acima, obtemos a seguinte saída -
[Lemma('inclined.a.02.inclined'), Lemma('vertical.a.01.vertical')]