【词向量表示】Item2Vec、DeepWalk、Node2vec、EGES词向量生成算法

前言:一般来说用户Embedding在推荐系统中可以通过物品的Embedding向量平均或者聚类实现,因此物品的Embedding算法的效果成为重中之重。这篇文章是笔者阅读《深度学习推荐系统》第四章Embedding技术在推荐系统中的应用的学习笔记。本篇文章主要介绍传统词向量的生成算法,在Word2Vec算法的基础上,词向量生成算法在推荐系统上的衍生。

传统词向量生成算法

Embedding

Word2Vec

传统的编码方式:one-hot编码,不同单词[1, 0, 0][0, 1, 0]之间的余弦相似度为0。因此,Word2Vec希望能够通过训练得到一个新的词向量表达方式,从而丰富向量的语义信息。主要目标如图所示,从一个稀疏的one-hot向量通过训练得到一个丰富稠密的新向量。

学习参考链接:【词向量表示】Word2Vec原理及实现-CSDN博客

Item2Vec

狭义上:一种物品Embedding方法,是对Word2Vec算法的延申,Item2Vec方法是将物品视为“单词”,而一个行为,例如购买行为视为一个句子,在一个行为中,有物品先后购买顺序,而Item2Vec正是利用这种序列学习物品向量表示。

广义上:只要是物品→向量的方法都可以称为Item2Vec:双塔模型(百度、Facebook),以one-hot编码作为输入,经过复杂的多层神经网络输出Embedding向量。

与Word2Vec的区别

  • 数据不同:

Item2Vec利用“物品序列”等行为产生历史行为序列(包括购买、浏览等行为),而Word2Vec是利用“词序”。

  • 优化目标不同:

Item2Vec在优化目标的过程中认为任意两个物品之间都存在联系,而Word2Vec认为只有在一定窗口内才有联系。

局限性

只能使用序列型的行为数据实现向量生成

Graph Embedding

DeepWalk

本质还是Item2Vec算法,只不过是利用游走的方式在图上产生大量的物品序列

主要思想

​ 给定一张图结构,在图上进行随机游走,产生大量的物品序列,最后将序列放入Item2Vec中进行训练

image

算法实现

​ 与Item2Vec不同的是,在生成大量物品序列的过程中,需要确定当前结点的下一个结点,即随机游走的算法,假设物品关系图是有向有权图,则随机游走的形式化表达为:

P(vj|vi)=MijjN+(vi)Mij

其中$ N_+(v_i)v_iM_{ij}$表示两个结点之间的权重。这一过程即计算下一个结点被选择概率,边权重越大,被选择的概率越大。若是无权图,则将所有边权重默认为1,即每个结点被选择的概率相同。

Node2vec

在DeepWalk的基础上,调整了随机游走的权重,使得结果更能体现图网络的同质性和结构性

  • 同质性:相互连接的物品向量相近,在物品网络结构表示为同类、同属性商品;
  • 结构性:拓扑结构相似的物品向量相近,在物品网络结构表示为各品类的爆款、最佳凑单等等;
算法实现
  • 同质性:不仅需要找到相近的结点,还需要游走到远方的结点训练,BFS只能找到相近的结点,而DFS更适合表达网络”同质性“的游走过程
  • 结构性:需要找到物品相似的拓扑结构,需要对周围的结点网络结构进行遍历扫描,BFS更适合表达网络”结构性“游走过程

image

​ 综上所述,在选择下一结点时,需要权衡BFS和DFS的倾向性,Node2Vec通过节点间的跳转概率权衡两者的倾向性,从结点v跳转到结点x的概率为:

P(x|v)=apq(d)×ωvx

其中d表示结点v和x的距离,ωvx表示两个结点的权重,apq表示概率权重参数,平衡BFS和DFS的倾向性

apd(d)={1p,d=01, d=11q,d=2

其中p表示在附近游走的可能性,p越小,Node2vec更注重表达网络的结构性,q越小,则远离原始节点的概率越大,此时,Node2vec更注重表达网络的同质性

EGES

阿里巴巴的embedding方法,基本思想是在Deepwalk生成的Graph Embedding上引入补充信息,目的是为了解决长尾物品问题、冷启动物品交互信息少的问题。DeepWalk、Node2Vec只基于图结构生成节点嵌入向量,忽略了节点可能携带的其他辅助信息。EGES通过引入更多的补充信息来丰富向量特征。实现上并没有过多的理论创新,但在工业上是实用性很强的算法。

算法实现
  • 生成物品关系图:利用物品的相同特征生成基于内容的知识图谱,通过知识图谱生成的物品向量被称为补充向量

  • 对于不同特征的向量,模型通过加权求和的方式得到最后的Embedding输出,其中权重参数为eaj

本文作者:九年义务漏网鲨鱼

本文链接:https://www.cnblogs.com/DLShark/p/18588114

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   九年义务漏网鲨鱼  阅读(37)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示
评论
收藏
关注
推荐
深色
回顶
收起
  1. 1 404 not found REOL
404 not found - REOL
00:00 / 00:00
An audio error has occurred.

作曲 : Reol

作词 : Reol

fade away...do over again...

fade away...do over again...

歌い始めの一文字目 いつも迷ってる

歌い始めの一文字目 いつも迷ってる

どうせとりとめのないことだけど

伝わらなきゃもっと意味がない

どうしたってこんなに複雑なのに

どうしたってこんなに複雑なのに

噛み砕いてやらなきゃ伝わらない

ほら結局歌詞なんかどうだっていい

僕の音楽なんかこの世になくたっていいんだよ

Everybody don't know why.

Everybody don't know why.

Everybody don't know much.

僕は気にしない 君は気付かない

何処にももういないいない

Everybody don't know why.

Everybody don't know why.

Everybody don't know much.

忘れていく 忘れられていく

We don't know,We don't know.

目の前 広がる現実世界がまた歪んだ

目の前 広がる現実世界がまた歪んだ

何度リセットしても

僕は僕以外の誰かには生まれ変われない

「そんなの知ってるよ」

気になるあの子の噂話も

シニカル標的は次の速報

麻痺しちゃってるこっからエスケープ

麻痺しちゃってるこっからエスケープ

遠く遠くまで行けるよ

安定なんてない 不安定な世界

安定なんてない 不安定な世界

安定なんてない きっと明日には忘れるよ

fade away...do over again...

fade away...do over again...

そうだ世界はどこかがいつも嘘くさい

そうだ世界はどこかがいつも嘘くさい

綺麗事だけじゃ大事な人たちすら守れない

くだらない 僕らみんなどこか狂ってるみたい

本当のことなんか全部神様も知らない

Everybody don't know why.

Everybody don't know why.

Everybody don't know much.

僕は気にしない 君は気付かない

何処にももういないいない

Everybody don't know why.

Everybody don't know why.

Everybody don't know much.

忘れていく 忘れられていく

We don't know,We don't know.