如何使用NLTK Wordnet获取更多同义词?

2024-04-23 23:41:23 发布

您现在位置:Python中文网/ 问答频道 /正文

所以我用这个代码来获取同义词

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'},
     .
     .
     .
]

正如我们所看到的,recieveget的同义词,但get不是recieve的同义词

那么,当我搜索recieve时,如何获得get。有没有办法把两者联系起来


Tags: textnamein列表forgetifwordnet