Поэтому я использую этот код для получения синонимов.
from nltk.corpus import wordnet
def Get_Syn(text):
xx = []
sentence1 = text.split(" ")
for i in sentence1:
if i not in stopwords:
for syn in wordnet.synsets(i):
for name in syn.lemma_names():
if name != i.lower():
xx.append({i:name})
else:
pass
return xx
Теперь, если я использую Get_Syn('recieve')
, я получаю пустой список (без синонимов). Но, если я использую Get_Syn('get')
, я получу следующий список:
[{'get': 'acquire'},
{'get': 'become'},
{'get': 'go'},
{'get': 'let'},
{'get': 'have'},
{'get': 'receive'},
{'get': 'find'},
{'get': 'obtain'},
.
.
.
]
Как мы видим, recieve
является синонимом get
, но get
не является синонимом recieve
.
Так, как я могу получить get
, когда я ищу recieve
. Есть ли способ сопоставить их вместе?