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