【发布时间】:2011-05-11 15:30:00
【问题描述】:
我有以下代码,用于从输入文本文件中获取一个单词并使用 WordNet 打印该单词的同义词、定义和例句。它根据词性将同义词与同义词分开,即动词的同义词和形容词的同义词分开打印。
flabbergasted 这个词的同义词有 1) flabbergast , boggle , bowl over 是动词和 2) dumbfounded , dumfounded , flabbergasted , stupefied , Thunderstruck ,dumbstruck ,dumbstricken 是形容词。
如何打印词性和同义词?我在下面提供了到目前为止的代码:
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
【问题讨论】: