J'ai une liste de chaînes:Comment trouver un synonymes dans une liste de chaînes en utilisant les synsets NLTK?
words1 = ['feds', 'move', 'to', 'require', 'cartocar', 'safety', 'communication']
Je veux trouver un synsets pour chacun des mots que l'aide NLTK WordNet synsets. Premièrement, j'utilise une chaîne dans ma liste. Voici mon code:
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)
et il fonctionne. Voici le résultat:
list of synonyms : [u'Federal', u'Fed', u'federal_official', u'Federal_Reserve_System', u'Federal_Reserve', u'Fed', u'FRS']
mais quand j'utilise une liste de chaînes « words1 », il ne fonctionne et la sortie est pas comme ça >> [].
quelqu'un peut-il aider? merci
Essayez ceci: https://gist.github.com/alvations/a4a6e0cc24d2fd9aff86 – alvas
@alvas wow qui est génial, mais je dois utiliser package NLTK pour cette Synsets – sang
Obtenez les noms de lemme synset à l'aide de l'interface NLTK Wordnet, utilisez l'algo ADM pour calculer la correspondance de chaîne. BTW, il existe de nombreux autres algorithmes de correspondance de chaînes aussi. ADM est juste l'un d'entre eux. – alvas