私は文字列のリストを持っている:NLTK synsetsを使用して文字列のリスト内の同義語を見つける方法は?
words1 = ['feds', 'move', 'to', 'require', 'cartocar', 'safety', 'communication']
私はNLTKのWordNetのののsynsetを使用して、その単語のそれぞれのためのsynsetを見つけたいです。まず、私は自分のリストに1つの文字列を使用します。 私のコードは次のとおりです。
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」、それは作品と出力しない。このようなどれも>> []ではありません。
誰でも助けることができますか?ありがとう
はこれを試してみてください:https://gist.github.com/alvations/a4a6e0cc24d2fd9aff86 – alvas
@alvasすごい、それは素晴らしいことだが、私は、これは – sang
がNLTK WordNetのインターフェイスを使用してsynsetの補題名を取得するのsynsetためのパッケージをNLTK使用する必要があり、文字列の一致を計算するには、ADM algoを使用します。ところで、多くの他の文字列マッチングアルゴリズムもあります。 ADMはその1つに過ぎません。 – alvas