У меня есть следующий код для взятия слова из входного текстового файла и печати синонимов, определений и примеров предложений для этого слова с помощью WordNet. Он отделяет синонимы от синонима на основе части речи, то есть синонимы, которые являются глаголами, и синонимы, являющиеся прилагательными, печатаются отдельно.
Например, для слова ошеломленный синонимами являются: 1) ошеломленный, ошеломленный, над которым стоят глаголы, и 2) ошеломленный, ошеломленный, ошеломленный, ошеломленный, ошеломленный, ошеломленный, ошеломленный, которые являются прилагательными.
Как напечатать часть речи вместе с синонимами? Я предоставил код, который у меня есть ниже:
import nltk
from nltk.corpus import wordnet as wn
tokenizer = nltk.data.load('tokenizers/punkt/english.pickle')
fp = open('sample.txt','r')
data = fp.read()
tokens= nltk.wordpunct_tokenize(data)
text = nltk.Text(tokens)
words = [w.lower() for w in text]
for a in words:
print a
syns = wn.synsets(a)
for s in syns:
print
print "definition:" s.definition
print "synonyms:"
for l in s.lemmas:
print l.name
print "examples:"
for b in s.examples:
print b
print