快捷搜索:  汽车  科技

嵌入式系统程序开发过程(嵌入方法在推荐系统中的应用)

嵌入式系统程序开发过程(嵌入方法在推荐系统中的应用)5.整合标的物多种信息的Content2Vec模型 (3)中假设所有的附加信息权重是一样的,实际上不同的附加信息权重不一样,我们可以给不同附加信息不同权重,让模型效果更好。不同的附加信息的权重可以根据经验给定,或者作为模型参数来学习获得。通过图嵌入,有了商品的嵌入向量表示,我们就可以用第二节1(3)中的第2个方法给用户做推荐。

是商品v的嵌入表示,

嵌入式系统程序开发过程(嵌入方法在推荐系统中的应用)(1)

是附加信息的嵌入表示,我们假设商品嵌入和附加信息嵌入到相同维度的空间中,这样才可以求平均。

嵌入式系统程序开发过程(嵌入方法在推荐系统中的应用)(2)

图4:在Skip-gram中整合附加信息

(4) 增强的图嵌入整合附加信息

(3)中假设所有的附加信息权重是一样的,实际上不同的附加信息权重不一样,我们可以给不同附加信息不同权重,让模型效果更好。不同的附加信息的权重可以根据经验给定,或者作为模型参数来学习获得。


通过图嵌入,有了商品的嵌入向量表示,我们就可以用第二节1(3)中的第2个方法给用户做推荐。

5.整合标的物多种信息的Content2Vec模型

参考文献10中提出了一种整合物品图像、标题、描述文本、协同信息的Content2Vec模型,该方法将不同类型的信息通过不同的嵌入方法生成的嵌入向量聚合起来,形成一个统一的模型来预测两个商品是否会被一起购买的概率,该模型的架构如下图。

嵌入式系统程序开发过程(嵌入方法在推荐系统中的应用)(3)

图5:多源信息嵌入预测两个商品被一起购买的概率

具体来说,该模型包含三个主要模块:

(1) 内容嵌入模块

通过不同的算法将商品不同维度的信息嵌入到低维空间中,这些不同源的信息嵌入过程是解耦合的、可插拔的,可以用不同的算法来取代。图像嵌入可以用图像分类的算法获得(如AlexNet等),而文本的嵌入可以用Word2Vec获得,协同信息的嵌入可以用矩阵分解算法获得。

(2) 多源联合嵌入模块

该模块将(1)不同源的商品信息嵌入向量,通过一个统一的模型获得联合嵌入表示。

(3) 输出层

输出层结合两个商品的联合嵌入向量,计算出这两个商品被一起购买的概率。具体来说,两个商品的联合嵌入向量通过求内积,再经过sigmod函数变换获得概率值。


通过上述方法可以获得每个商品的嵌入向量,我们就可以用第二节1(3)中的第2个方法给用户做推荐。


五、利用嵌入方法解决冷启动问题

嵌入方法除了可以用于推荐外,通过整合附加信息(side information)到嵌入模型中,可以很好地解决冷启动问题。我们知道基于内容的推荐可以缓解冷启动问题,这些附加信息也一般是内容相关的信息,所以整合进嵌入模型中就可以用于解决冷启动。下面我们简单介绍4种通过嵌入解决冷启动的案例。

1.通过在矩阵分解中整合内容相关信息解决冷启动

参考文献9中给出了一种在矩阵分解中整合用户特征和标的物特征的方案,可以有效地解决用户和标的物冷启动问题。这篇文章我们在《矩阵分解推荐算法》第四节6中进行过介绍,这里不再赘述。

2.通过不同ID间的结构链接关系及不同平台用户的特征迁移来解决冷启动

参考文献7中,每个item ID会关联对应的product ID、brand ID、store ID等,对于一个新的item来说,这个item所属的产品、品牌或者店铺可能会存在其他的item被用户点击购买过,那么一种很自然的方式是用这个item关联的其他ID的嵌入向量来构造该item的近似嵌入表示。

因为

嵌入式系统程序开发过程(嵌入方法在推荐系统中的应用)(4)

是单调递增函数,结合第四节3介绍的阿里盒马的联合嵌入模型中公式4,那么我们就有如下近似公式

嵌入式系统程序开发过程(嵌入方法在推荐系统中的应用)(5)

猜您喜欢: