所以我正在使用此代码来获取同义词。
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
。有没有办法将两者映射在一起?
Get_Syn('receive')
[
{'receive': 'have'},
{'receive': 'get'}, <===
{'receive': 'find'},
{'receive': 'obtain'},
...