Nlp 预训练NLTK wordnet两个单词之间的相似性

Nlp 预训练NLTK wordnet两个单词之间的相似性,nlp,nltk,wordnet,word-embedding,Nlp,Nltk,Wordnet,Word Embedding,我想用相似性分数比较两个单词。 我使用了nltk.corpus中的wordnet from nltk.corpus import wordnet nltk.download('wordnet') w1 = wordnet.synset("price" '.n.01') #wordnet.lemmas(i2)[0] w2 = wordnet.synset("amount" + '.n.01') print(w1.wup_similarity(w2

我想用相似性分数比较两个单词。 我使用了nltk.corpus中的wordnet

from nltk.corpus import wordnet
nltk.download('wordnet')    
w1 = wordnet.synset("price" '.n.01')  #wordnet.lemmas(i2)[0]
w2 = wordnet.synset("amount" + '.n.01') 
print(w1.wup_similarity(w2))
我得到了相似性分数,但是,它只适用于名词之间,但是,我需要将名词和形容词或其他类型的词进行比较

例如,贝娄,我需要比较像“昂贵”(形容词)和“价格”这样的词

我希望最好是一个预夹带模型库,因为我需要一个模型,可以与任何领域的任何字


那么单词嵌入呢?

我想你可以试着用手套式预先训练的嵌入来找到单词的相似性。它有丰富的信息,并在整个维基百科语料库上进行训练。然而,你的单词必须限制在它的词汇范围内(即,仅限于它训练过的单词),尽管这相当大,几乎涵盖了我相信的所有重要英语单词。 对于手套嵌入,两个词向量之间的余弦相似性可以很好地衡量它们在意义上的接近程度。 i、 e


如果您希望使用word2vec单词向量,也可以使用spacy

谢谢!!我将word2vec与spacy一起使用,它就像一个符咒!
from scipy import spatial

dataSetI = [3, 45, 7, 2]
dataSetII = [2, 54, 13, 15]
result = 1 - spatial.distance.cosine(dataSetI, dataSetII)