基于word2vec的item的Embedding化
一、当前特征工程问题
1、 用户行为序列特征难于描述
2、产品本身具有一定相似性,按照规则分类过于粗糙
3、直接采用normid作为特征,输入模型来训练产品的相关性不合适,normid本身数值不代表normid之间的距离长短。采用常用的One-Hot Encoding存在一些弊端。
4、借鉴NLP中word2vec,将item向量化为Embedding,表示产品本身性质是解决思路之一。
二、知识储备电商推荐系统:从word2vec到item2vec(一)
1、核心思想:借鉴NLP中word2vec,将item向量化
2、基于原理:对于电商推荐来说,不考虑session中的位置关系(即滑动窗口无限大),为基于概率量化item。考虑session中的位置关系(即滑动窗口小于session长度),为基于概率+空间/时间信息(item出现的前后顺序)量化item
3、产物:Embedding,向量化的item,保证线性运算性能具有意义
4、item Embedding化意义:直接用item 作为特征输入只能判断有无属性,不能衡量item之间的关系,Embedding化后可以计算item之间的关系。
4、影响Embedding主要质量因素:session构造是否合理
5、较于One-Hot Encoding:Embedding带有既定的特征信息(如采用用户的行为序列构造session,Embedding带有用户行为的特征),可降低数据的稀疏性(如数据中某列特征属性值较多)
6、包括两种结构:CBOW(session两边预测中间)和Skip-Gram(session中间预测两边)
7、业界常把用户最近一笔订单(浏览)作为用户的短兴趣,一定周期长度的订单(浏览)作为用户的长兴趣
8、代码实现:Python调用包import Word2Vec
三、参考博客:
https://blog.csdn.net/fuzi2012/article/details/91345164
https://www.jianshu.com/p/6c977a9a53de
https://blog.csdn.net/taotiezhengfeng/article/details/73692239