साथ मैं एक दो सूचियों है और मैं दो सूची में प्रत्येक शब्द के बीच समानता की जाँच करें और पता लगाने के अधिकतम similarity.Here मेरी कोड है करना चाहते हैं,NLTK साथ दो शब्दों के बीच समानता की जाँच करें अजगर
from nltk.corpus import wordnet
list1 = ['Compare', 'require']
list2 = ['choose', 'copy', 'define', 'duplicate', 'find', 'how', 'identify', 'label', 'list', 'listen', 'locate', 'match', 'memorise', 'name', 'observe', 'omit', 'quote', 'read', 'recall', 'recite', 'recognise', 'record', 'relate', 'remember', 'repeat', 'reproduce', 'retell', 'select', 'show', 'spell', 'state', 'tell', 'trace', 'write']
list = []
for word1 in list1:
for word2 in list2:
wordFromList1 = wordnet.synsets(word1)[0]
wordFromList2 = wordnet.synsets(word2)[0]
s = wordFromList1.wup_similarity(wordFromList2)
list.append(s)
print(max(list))
लेकिन यह एक त्रुटि परिणाम होगा:
wordFromList2 = wordnet.synsets(word2)[0]
IndexError: list index out of range
कृपया मेरी मदद करो इसे ठीक करने के।
आपको धन्यवाद
FWIW यहाँ '.synsets' के लिए दस्तावेज़ का एक लिंक दिया गया है: http://www.nltk.org/api/nltk.corpus.reader.html#nltk.corpus.reader.wordnet.WordNetCorpusReader.synsets – abathur
https://github.com/alvations/pywsd/blob/master/pywsd/similarity.py#L76 – alvas