Para encontrar sinónimos, definiciones y oraciones de ejemplo usando WordNet

Necesito tomar un archivo de texto de entrada con una sola palabra. Luego necesito encontrar los lemma_names, la definición y los ejemplos del synset de la palabra usando wordnet. He leído el libro: "Procesamiento de texto de Python con NLTK 2.0 Cookbook" y también "Procesamiento de lenguaje natural usando NLTK" para ayudarme en esta dirección. Aunque he entendido cómo se puede hacer esto usando el terminal, no puedo hacer lo mismo con un editor de texto.

Por ejemplo, si el texto de entrada tiene la palabra "estupefacto", la salida debe ser de esta manera:

flabbergasted (verbo) flabbergast, boggle, bowl over - superado con asombro; "¡Esto aturde la mente!" (adjetivo) estupefacto, estupefacto, estupefacto, estupefacto, aturdido, estupefacto, estupefacto, como si se hubiera quedado mudo de asombro y sorpresa; "un círculo de policías quedó estupefacto por su negación de haber visto el accidente"; "los concejales asombrados estaban sin palabras"; "Estuvo asombrado por la noticia de su promoción"

Los synsets, definiciones y oraciones de ejemplo se obtienen directamente de WordNet!

Tengo el siguiente código:


from __future__ import division
import nltk
from nltk.corpus import wordnet as wn


tokenizer = nltk.data.load('tokenizers/punkt/english.pickle')
fp = open("inpsyn.txt")
data = fp.read()

#to tokenize input text into sentences

print '\n-----\n'.join(tokenizer.tokenize(data))# splits text into sentences

#to tokenize the tokenized sentences into words

tokens = nltk.wordpunct_tokenize(data)
text = nltk.Text(tokens)
words = [w.lower() for w in text]  
print words     #to print the tokens

for a in words:
    print a

syns = wn.synsets(a)
print "synsets:", syns

for s in syns:
    for l in s.lemmas:
        print l.name
    print s.definition
    print s.examples

Obtengo el siguiente resultado:


flabbergasted

['flabbergasted']
flabbergasted
synsets: [Synset('flabbergast.v.01'), Synset('dumbfounded.s.01')]
flabbergast
boggle
bowl_over
overcome with amazement
['This boggles the mind!']
dumbfounded
dumfounded
flabbergasted
stupefied
thunderstruck
dumbstruck
dumbstricken
as if struck dumb with astonishment and surprise
['a circle of policement stood dumbfounded by her denial of having seen the accident', 'the flabbergasted aldermen were speechless', 'was thunderstruck by the news of his promotion']

Existe alguna forma de recuperar la parte del discurso junto con el grupo de nombres de lemas?

Respuestas a la pregunta(4)

Su respuesta a la pregunta