Recommandation
-
User 数据(用户的
基础属性数据,如性别、年龄、关系链、兴趣偏好
等) -
- 对于用户
兴趣偏好
,一般简单地采用文本 embedding
方法来得到各标签的 embedding 向量,然后根据用户对个标签的偏好程度做向量加权
; - 对于
关系链数据
(如同玩好友、游戏中心相互关注等),构造用户关系图
,然后 采用基于图的 embedding
方法来得到用户的 embedding 向量;
- 对于用户
-
Item 数据(Item 基本信息数据,如标题、作者、游戏简介、标签等)
-
- 对于文本、简介和标签等可以采用基于文本的 embedding 方法来
在已有语料上预训练模型
,然后得到对应的 embedding 向量(如 word2vec 或者 BERT); - 此外对于有
明确关系的(如 item->文本->标签 or 关键词)
可以采用对关键词/标签的向量均值来表示 item 的文本向量(这里安利一下 FaceBook 开源的StarSpace
);
- 对于文本、简介和标签等可以采用基于文本的 embedding 方法来
-
User 行为数据(用户在场景中的行为数据,如点击、互动、下载等)
-
- 针对用户对
Item 的操作
(如点击、互动、下载)构造用户->item+Item 标签体系,构造用户-item-tag 的异构网络,然后可以采用 Metapath2vec 来得到各节点的 embedding 向量; - 通过记录用户在整个场景访问 item,构造 Item-Item 关系图,然后采用 DeepWalk 算法得到 item 的向量,用来挖掘 Item 间的关系特征;
- 针对用户对
-
额外数据(外部扩充数据,如用户游戏行为、用户微信其他场景活跃等)
-
- 标签型(主要是用户在各场景的兴趣偏好):
- 关系链型(如游戏中心好友、游戏内好友、开黑好友)可以采用用户关系构造用户关系图,采用 Graph embedding 方法(如 GraphSAGE)来表示用户抽象特征