WordNet com NLTK

Você pode usar o WordNet junto com o NLTK para identificar os significados de palavras, sinônimos, antônimos entre outros.

Vejamos um exemplos.

primeiro você importa o wordnet.

from nltk.corpus import wordnet

usamos um termo “program” para encontrar synsets.

syns = wordnet.synsets("program")

imprimimos alguns exemplos das saídas.

print(syns[0].name())
print(syns[0].lemmas()[0].name())
print(syns[0].definition())
print(syns[0].examples())

aqui pode-se discernir sinônimo e antônimo.. os lemas serão sinônimos, e então você pode usa antônimo para encontrar s antônimos para os lemas. Como tal, pode-se preencher algumas listas como:

synonyms = []
antonyms = []

for syn in wordnet.synsets("good"):
    for l in syn.lemmas():
        synonyms.append(l.name())
        if l.antonyms():
            antonyms.append(l.antonyms()[0].name())

Os resultados mostrarão que

print(set(synonyms))
print(set(antonyms))

comparando o substantivo “ship” e “boat”.

w1 = wordnet.synset('ship.n.01')
w2 = wordnet.synset('boat.n.01')
print(w1.wup_similarity(w2))

w1 = wordnet.synset('ship.n.01')
w2 = wordnet.synset('car.n.01')
print(w1.wup_similarity(w2))

w1 = wordnet.synset('ship.n.01')
w2 = wordnet.synset('cat.n.01')
print(w1.wup_similarity(w2))

OUTPUT

Saída gerada do código acima “exemplo”.

plan.n.01
plan
a series of steps to be carried out or goals to be accomplished
['they drew up a six-step plan', 'they discussed plans for a new bond issue']
{'upright', 'soundly', 'proficient', 'skillful', 'respectable', 'full', 'in_effect', 'dependable', 'thoroughly', 'sound', 'estimable', 'secure', 'honest', 'well', 'adept', 'goodness', 'unspoiled', 'near', 'commodity', 'salutary', 'expert', 'undecomposed', 'dear', 'serious', 'good', 'right', 'skilful', 'safe', 'trade_good', 'effective', 'beneficial', 'unspoilt', 'just', 'in_force', 'honorable', 'ripe', 'practiced'}
{'bad', 'evilness', 'badness', 'evil', 'ill'}
0.9090909090909091
0.6956521739130435
0.32

 

Fonte: PythonProgramming

Até a próxima 🙂

 

 

Francisco Rodrigues

Servo de DEUS, Mestrando em Ciências da Computação (UFPE) Pós-Graduado em Docência do Ensino Superior (IDJ/UVA), Graduando em Automação Industrial (IFCE), Graduado em Analise e Desenvolvimento de Sistemas (UNILEÃO), casado com a mulher mais maravilhosa, Tamires Alencar e amante Python, Java, Games, Eletrônica, Robótica, Violão, Aviação...

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *


Deprecated: Creation of dynamic property Daisy_Blog_Google_Local::$files is deprecated in /home2/clube692/public_html/wp-content/themes/daisy-blog/inc/blocks/font-family/inc/class-fonts-google-local.php on line 77

Deprecated: Creation of dynamic property Daisy_Blog_Google_Local::$files is deprecated in /home2/clube692/public_html/wp-content/themes/daisy-blog/inc/blocks/font-family/inc/class-fonts-google-local.php on line 77