#python #synonym
Вопрос:
У меня есть 2 списка слов, я хочу найти (все слова в word_list_2) синонимы из word_list_1:
список слов_1:
'right',
'head',
'left',
'mass',
'removal',
'terminal',
'carbon dioxide'
'dominance'
'initiation'
...
список слов_2:
'right',
'co2',
'control',
'creation',
'end',
...
Ожидаемый пример выглядит так:
synonym for right: #right is from word_list_2
'right' #right is from word_list_1
synonym for co2: #co2 is from word_list_2
'carbon dioxide' #carbon dioxide is from word_list_1
synonym for control: #control is from word_list_2
'dominance' #dominance is from word_list_1
synonym for creation: #creation is from word_list_2
'initiation' #initiation is from word_list_1
...
Найдите синонимы между этими 2 списками. Как мне это сделать на python?Спасибо!
(Я пытался использовать wordnet, но программа не удалась, я думаю, это потому, что мои 2 списка слов содержат несколько слов вместо одного слова.)
word = word_list_2
sent = word_list_1
def get_word_synonyms_from_sent(word, sent):
word_synonyms = []
for i in word:
for synset in wordnet.synsets(i):
for lemma in synset.lemma_names():
if lemma in sent and lemma != i:
word_synonyms.append(lemma)
return word_synonyms
word_synonyms = get_word_synonyms_from_sent(word, sent)
print ("SYNONYMS FOR '" word.upper() "' FOUND IN THE SENTENCE: " ", ".join(word_synonyms))
Комментарии:
1. Ожидается, что вы проявите некоторые усилия. Что вы пробовали до сих пор?
2. Правила сбивают с толку… Похоже, ваши ярлыки, для которых в списке есть слово, не совсем верны? например
co2
, из списка 2. У вас есть какое-то сопоставление синонимов или какой-то список значений? То, что вы описываете, в принципе невозможно без некоторых других данных.3. Да, вы правы, я просто делаю обновления.
4. Сначала у вас должна быть какая-то таблица, в которой для каждого слова указано, какие другие слова являются для этого синонимами.
5. Опубликованный вами код помогает, но, пожалуйста, покажите, какую ошибку вы получаете. А также то, как вы импортируете wordnet , это не удалось для меня
AttributeError: module 'wordnet' has no attribute 'synsets'
, что не похоже на тот же результат, который вы получаете.