【快手面试】Word2vect生成的向量,为什么可以计算相似度,相似度有什么意义?

背景:

我是推荐算法方向的面试,在面试的时候,使用word2vector的方法生成item的向量,来计算行为序列中的item跟待预估的item的相似度,来作为一维特征。

二面面试官问题:

Word2vect生成的向量,为什么可以计算相似度,相似度有什么意义?

答案分析:

term在相同的前后文中,认为两个term是等价的,它们学到的向量也更接近,所以item的向量计算相似度,表示两个向量的相似程度,也即是是否等价。

原理分析:

什么词算相似,一般可以认为,如果两个词的上下文越相似,这两个词也就越相似。比如牛在吃草,马在吃草,牛和马后面的词都一样。又或者是我家在北京,我家在上海,北京和上海的功能差不多,这两个词也就越相似,个人认为这也就是word2vec的出发点。

word2vec得出的词向量其实就是训练后的一个神经网络的隐层的权重矩阵,在经过CBOW或者Skip-Gram模型的训练之后,词义相近的词语就会获得更为接近的权重,因此可以用向量的距离来衡量词的相似度。

向量相似性,一般地,我们以向量的夹角来评价两个向量的相似性

这样我们就可以发现,如果有两向量u,v

u加上s*v时(s是正标量),uv的夹角变小,因此更相似,

u减去s*v时(s是正标量),uv的夹角变大,因此相似性减弱

参考:
语言模型1-word2vec为什么能训练出相似向量_PeaceInMind的博客-CSDN博客

猜你喜欢

转载自blog.csdn.net/pearl8899/article/details/126131676