3分钟热情学NLP第6篇,Wrod2vec计算句子相似度
参考文章:
1、https://blog.csdn.net/joleoy/article/details/99741139
2、https://www.zhihu.com/question/29978268
1、无监督,句子相似度的计算方法
无监督,即不需要额外的标注数据。
通过词向量计算句子之间的相似度,大致有下面几种方法:
1.1、求平均值
比如一句话包含ABC共3个词汇,那么这句话的句向量值即为ABC的向量求和,再除以3;
1.2、用TF-IDF值进行加权平均
比如一句话包含ABC共3个词汇,结合A、B、C的TF-IDF值,进行加权平均,(A1.1+B0.5+C*2)除以3
1.3,SIF加权平均
平滑逆词频 (smooth inverse frequency, SIF),
第1步:加权。类似于ID-IDF。SIF取句中词嵌入的平均权重,每个词嵌入都进行加权;
第2步:去掉常见元素。
摘自https://blog.csdn.net/ganxiwu9686/article/details/107209111
SIF计算了句子的嵌入中最重要的元素。然后它减去这些句子嵌入中的主要成分。这就可以删除与频率和句法有关的变量,他们和语义的联系不大。
1.4,词移距离Word Mover's Distance
WMD基于word2vec基础上通过计算文本间词的距离来衡量文本相似度的算法。
把文本以BOW的方式录入,使用word2vec的词向量矩阵,获得录入文本的每个词的词向量。
在衡量两个文本的相似度的时候,计算两个文本的词向量的距离。
2、有监督,句子相似度的计算方法
建立分类任务,训练1个CNN的文本分类器,取最后1个隐藏层订的输出作为词向量。
网友评论