使用gensim框架及Word2Vec词向量模型获取相似词
预备知识
gensim框架
gensim是基于Python的一个框架,它不但将Python与Word2Vec做了整合,还提供了基于LSA、LDA、HDP的主体框架。
Word2Vec
Word2Vec属于一种神经网络架构的概率语言模型
两个重要模型
CBOW模型:CBOW模型是Word2Vec最重要的模型,输入是周围词的词向量,输出是当前词的词向量。即通过周围词来预测当前词。
Skip-Gram模型:它与CBOW正相反,它是通过当前词来预测周围词。
优化方式
Negative Sample(负采样):在训练神经网络时,每接受一个训练样本后,通过调整所有神经单元的权重参数,来使神经网络的预测更加准确。negative sampling 每次让一个训练样本仅仅更新一小部分的权重参数,从而降低梯度下降过程中的计算量。
Hierarchical Softmax:传统的词向量模型,一般具有输入层(词向量)、隐藏层和输出层(softmax)。最耗时的就是softmax层,它的计算量很大。word2vec对这个模型做了改进,首先,对于从输入层到隐藏层的映射,没有采取神经网络的线性变换加激活函数的方法,而是采用简单的对所有输入词向量求和并取平均的方法。第二个改进就是从隐藏层到输出的softmax层这里的计算量个改进。为了避免要计算所有词的softmax概率,word2vec采样了霍夫曼树来代替从隐藏层到输出softmax层的映射。
Word2Vec模型下载
下载完成后保存到本地
加载词向量模型
from gensim.models import KeyedVectors
# 加载词向量模型
model = KeyedVectors.load_word2vec_format(read_path1, binary=False)
# 获取与term最接近的10个相似词, 返回值格式为[('xx', 0.89123), ('xx', 0.88123)...]
result_list = model.most_similar(term, topn=10)
- 1
- 2
- 3
- 4
- 5
- 6
- 7
哪怕对自己的一点小小的克制,也会使人变得强而有力
文章来源: blog.csdn.net,作者:Dream丶Killer,版权归原作者所有,如需转载,请联系作者。
原文链接:blog.csdn.net/qq_43965708/article/details/111241754
- 点赞
- 收藏
- 关注作者
评论(0)