【发布时间】:2017-12-15 13:19:24
【问题描述】:
我有一个字符串列表:
words1 = ['feds', 'move', 'to', 'require', 'cartocar', 'safety', 'communication']
我想使用 NLTK wordnet synsets 为每个单词找到一个 synsets。首先,我在列表中使用一个字符串。 这是我的代码:
from nltk.corpus import wordnet as wn
word = ['feds']
data1 = ' '.join(word)
def getSynonyms(data1):
synonymList1 = []
wordnetSynset1 = wn.synsets(data1)
for synset1 in wordnetSynset1:
for synWords1 in synset1.lemma_names():
synonymList1.append(synWords1)
print synonymList1
print "list of synonyms : ", getSynonyms(data1)
它有效。结果如下:
list of synonyms : [u'Federal', u'Fed', u'federal_official', u'Federal_Reserve_System', u'Federal_Reserve', u'Fed', u'FRS']
但是当我使用字符串列表“words1”时,它不起作用并且输出不是这样的>> []。
有人可以帮忙吗?谢谢
【问题讨论】:
-
@alvas 哇,太好了,但我必须使用 nltk 包来处理这个同义词
-
使用 NLTK Wordnet 接口获取同义词集引理名称,使用 ADM 算法计算字符串匹配。顺便说一句,还有许多其他字符串匹配算法。 ADM 只是其中之一。
-
@alvas 很抱歉,请问您可以举个例子吗?
标签: string list nltk wordnet synonym