如何在 python 中获取 WordNet 中的近义词
How to get the close words in WordNet in python
我按如下方式使用 WordNet 以使用 python 获取同义词集。
import nltk
from nltk.corpus import wordnet
synonyms = []
for syn in wordnet.synsets("alzheimer"):
for l in syn.lemmas():
synonyms.append(l.name())
print(set(synonyms))
但是,alzheimer
一词似乎不在 WordNet 中,因为我得到一个空的同义词集列表。然后,我尝试了不同的其他变体,例如 alzheimer disease
、alzheimer's disease
、alzheimers
、alzheimer's
、alzhemimers disease
.
我的问题是;是否有可能在 WordNet 中得到接近单词 alzheimer
的单词,这样我就不需要手动验证 WordNet 中的术语来获取同义词集。
如果需要,我很乐意提供更多详细信息。
您可以从 wordnet 词汇表中的给定单词中找到相似的单词。
from nltk.corpus import wordnet as wn
wordnet_vocab = list(wn.all_lemma_names())
similar_string = 'alzheimer'
[word for word in wordnet_vocab if similar_string in word]
#op if exact word is not present, you can get similar word which are present in wordnet vocab
["alzheimer's", "alzheimer's_disease", 'alzheimers']
我按如下方式使用 WordNet 以使用 python 获取同义词集。
import nltk
from nltk.corpus import wordnet
synonyms = []
for syn in wordnet.synsets("alzheimer"):
for l in syn.lemmas():
synonyms.append(l.name())
print(set(synonyms))
但是,alzheimer
一词似乎不在 WordNet 中,因为我得到一个空的同义词集列表。然后,我尝试了不同的其他变体,例如 alzheimer disease
、alzheimer's disease
、alzheimers
、alzheimer's
、alzhemimers disease
.
我的问题是;是否有可能在 WordNet 中得到接近单词 alzheimer
的单词,这样我就不需要手动验证 WordNet 中的术语来获取同义词集。
如果需要,我很乐意提供更多详细信息。
您可以从 wordnet 词汇表中的给定单词中找到相似的单词。
from nltk.corpus import wordnet as wn
wordnet_vocab = list(wn.all_lemma_names())
similar_string = 'alzheimer'
[word for word in wordnet_vocab if similar_string in word]
#op if exact word is not present, you can get similar word which are present in wordnet vocab
["alzheimer's", "alzheimer's_disease", 'alzheimers']