使用gensim框架及Word2Vec词向量模型获取相似词

使用gensim框架及Word2Vec词向量模型获取相似词

    • 预备知识
    • 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模型下载

词向量模型下载地址

下载完成后保存到本地

加载词向量模型

# 加载词向量模型
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)

在这里插入图片描述



哪怕对自己的一点小小的克制,也会使人变得强而有力使用gensim框架及Word2Vec词向量模型获取相似词_第1张图片

你可能感兴趣的:(神经网络,机器学习,python,人工智能)