Как найти синонимы между 2 списками слов в python?

#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' , что не похоже на тот же результат, который вы получаете.