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

问题描述 投票:0回答:1

所以我正在使用此代码来获取同义词。

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的同义词。

因此,当我搜索get时如何获得recieve。有没有办法将两者映射在一起?

python nltk wordnet
1个回答
0
投票
Get_Syn('receive') [ {'receive': 'have'}, {'receive': 'get'}, <=== {'receive': 'find'}, {'receive': 'obtain'}, ...
© www.soinside.com 2019 - 2024. All rights reserved.