序列召回基础

1. 推荐系统中的召回

召回算法的核心特点如下:
∙ \bullet 算法结构简单
∙ \bullet 计算效率高
∙ \bullet 准确率不需要太高
∙ \bullet 每一种召回算法都会针对性解决某一类问题

1.1 基于协同过滤的召回算法

在基于统计的协同过滤中,一般按照视角分为两种协同过滤模型:
∙ \bullet 基于User的协同过滤
∙ \bullet 基于Item的协同过滤

基于Item的协同过滤会推荐用户喜欢的Item的相似Item

1.2 基于向量的召回算法

主要可以分为以下流派:
∙ \bullet I2I:计算item-item相似度,用于相似推荐、相关推荐、关联推荐
∙ \bullet U2I:基于矩阵分解,直接给用户推荐item
∙ \bullet U2U2I:基于用户的协同过滤,先找相似用户,再推荐相似 ∙ \bullet 用户喜欢的item
∙ \bullet U2I2I:基于物品的协同过滤,先统计用户喜爱的item,再推荐他喜欢的item
∙ \bullet U2TAG2I:基于标签偏好推荐,先统计用户偏好的tag,然后匹配所有的item;其中tag一般是item的标签、分类、关键词等。

基于I2I的召回算法大致有如下两个流派:
∙ \bullet Item-Item相似度可以通过内容理解来生产Item向量,通过向量相似度来度量
∙ \bullet Item-Item相似度可以通过图表示学习/GNN来生产Item向量,通过向量相似度来度量

基于U2I的召回算法大致有如下两个流派:
∙ \bullet 输入User特征和Item特征,直接对齐User与Item的向量表征
∙ \bullet 通过User的历史序列提取User的向量表征,然后和Item的表征对齐

核心:
∙ \bullet 序列信息的利用以及系列特征的提取
∙ \bullet 如何通过序列构建User的向量表征

1.3 基于GRU的序列召回

Embedding层可以认为是一张表,他内部存储的是每一个Item ID到其向量表征的映射,例如:我有10个Item,我想对每个Item表征成一个4维的向量,那么我们可以有如下的Embedding层:

emb_layer = nn.Embedding(10,4)

感想

推荐算法的分类和流派是真的多啊

你可能感兴趣的:(推荐论文,算法,人工智能,pytorch,深度学习)