入力テキスト ファイルから単語を取得し、WordNet を使用してその単語の同義語、定義、例文を出力する次のコードがあります。品詞に基づいて類義語を synset から分離します。つまり、動詞である類義語と形容詞である類義語は別々に出力されます。
flabbergasted という単語の例としては、1) flabbergast 、boggle 、bowl over という動詞と、2) dumbfounded 、dumfounded 、flabbergasted 、stupefied 、thunderstruck 、damstruck 、damstricken という形容詞があります。
類義語と一緒に品詞を印刷するにはどうすればよいですか? 私はこれまでに持っているコードを以下に提供しました:
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