Python 如何获得与一个单词相关的相似单词?
我试图解决一个nlp问题,其中我有一个单词的dict,如:Python 如何获得与一个单词相关的相似单词?,python,nlp,nltk,gensim,spacy,Python,Nlp,Nltk,Gensim,Spacy,我试图解决一个nlp问题,其中我有一个单词的dict,如: list_1={'phone':'android','chair':'netflit','charger':'macbook','laptop','sony'} 现在,如果输入是“phone”,我可以很容易地使用“in”操作符按键获取电话描述及其数据,但问题是输入是否类似于“phones”或“phones” 我想如果我输入'phone',我会得到这样的词 'phone' ==> 'Phones','phones','Phone'
list_1={'phone':'android','chair':'netflit','charger':'macbook','laptop','sony'}
现在,如果输入是“phone”,我可以很容易地使用“in”操作符按键获取电话描述及其数据,但问题是输入是否类似于“phones”或“phones”
我想如果我输入'phone',我会得到这样的词
'phone' ==> 'Phones','phones','Phone','Phone's','phone's'
我不知道我可以使用哪个word2vec,哪个nlp模块可以提供这样的解决方案
第二个问题是,如果我给一个单词“Dog”,我能得到像“Puppy”、“Kitty”、“Dog”、“Dog”这样的单词吗
我试过类似的方法,但它的同义词是:
from nltk.corpus import wordnet as wn
for ss in wn.synsets('phone'): # Each synset represents a diff concept.
print(ss)
但它的回归:
Synset('telephone.n.01')
Synset('phone.n.02')
Synset('earphone.n.01')
Synset('call.v.03')
相反,我想要:
'phone' ==> 'Phones','phones','Phone','Phone's','phone's'
WordNet索引的是概念(即语法集),而不是单词
使用lemma\u names()
访问WordNet中的根单词(也称lemma
)
>>> from nltk.corpus import wordnet as wn
>>> for ss in wn.synsets('phone'): # Each synset represents a diff concept.
... print(ss.lemma_names())
...
['telephone', 'phone', 'telephone_set']
['phone', 'speech_sound', 'sound']
['earphone', 'earpiece', 'headphone', 'phone']
['call', 'telephone', 'call_up', 'phone', 'ring']
引理作为词根形式或单词不应该有额外的词缀,这样你就不会在你想要的单词列表中找到复数或不同形式的单词。
另见:
lemma\u names()
访问WordNet中的根单词(也称lemma
)
>>> from nltk.corpus import wordnet as wn
>>> for ss in wn.synsets('phone'): # Each synset represents a diff concept.
... print(ss.lemma_names())
...
['telephone', 'phone', 'telephone_set']
['phone', 'speech_sound', 'sound']
['earphone', 'earpiece', 'headphone', 'phone']
['call', 'telephone', 'call_up', 'phone', 'ring']
引理作为词根形式或单词不应该有额外的词缀,这样你就不会在你想要的单词列表中找到复数或不同形式的单词。
另见:
这个答案没有回答第二个问题,是吗?第二个问题是什么;P“第二个问题是,如果我给一个单词‘Dog’,我能得到像‘Puppy’、‘Kitty’、‘Dog’、‘Dog’等这样的单词吗?”基本上是如何得到一个最相似的单词的列表,提供初始单词作为输入-根据标题的问题。这个答案没有解决第二个问题,是吗?第二个问题是什么;P“第二个问题是,如果我给一个单词‘Dog’,我能得到像‘Puppy’、‘Kitty’、‘Dog’、‘Dog’等这样的单词吗?”基本上是如何得到一个最相似的单词的列表,提供初始单词作为输入-根据标题的问题。