基于PITF模型的个性化标签推荐
基于PITF的个性化标签推荐
摘要
引言
相关工作
个性化标签推荐
非个性化标签推荐
张量分解模型
成对交互模型
个性化标签推荐
个性化标签推荐是给用户推荐一个用于注释(如,描述)某件产品的标签列表。例如,在一个音乐网站上,一个听众(用户)想要给一首音乐(产品)打上标签,系统给他推荐了他可能想要用于标记这首歌的关键词列表。为了推断这个列表,一个个性化标签推荐系统可以使用系统中的历史数据也就是过去的标记行为。例如,推荐系统可以利用用户过去给相似的产品打过的标签,或者更一般化地,利用相似用户给相似产品打过的相似标签。
形式化定义
为了形式化描述个性化标签推荐问题,我们使用[18]中的数学符号:为所有用户集合,是所有产品集合,是所有标签集合。历史标签信息由给定。由于这是一个分类变量上的三元关系,因此S可以看作是一个三维张量(如图1所示),S中的三元组为历史观测值。对于标签推荐而言,我们的任务是,对于向一个给定用户-产品对,推荐一个标签列表。按照[7]的描述,我们称这样一个组合为一个帖子,并定义所有可观测的帖子如下:
可以视作根据OR操作在用户/产品维度上的二维映射。 对给定帖子推荐标签的任务可以形式化描述为一个排序问题,也就是预测
>_{u,i} \subset T \times T这意味着排序>\_{u,i}必须满足:
\forall t_1,t_2 \in T: t_1\neq t_2\Rightarrow t_1>_{u,i}t_2\vee t_2>_{u,i}t_1 (1) \forall t_1,t_2 \in T:t_1>_{u,i}t_2\vee t_2>_{u,i}t_1 \Rightarrow t_1 = t_2 (2) \forall t_1,t_2,t_3 \in T:t_1>_{u,i}t_2\vee t_2>_{u,i}t_3 \Rightarrow t_1 > _{u,i}t_3(3)其中(1)式为总体性,(2)为反对称性,(3)为传递性。本文所有模型都是预测一个评分函数,已得到一个满足反对称性和传递性的排序。如果评分函数对于同一个用户-产品组合的两个不同标签给出了相同的分数,那么我们随机将某个标签置于另一个标签的前面以保证总体性。 通常我们需要约束预测标签的数量。因此我们将Top-N标签列表定义为:
其中N为目标列表中的标签数目。
数据分析
从标签系统的数据中进行数据挖掘和机器学习的主要问题在于数据中仅有正向标签行为S(如图1所示)。也就是说,系统仅仅知道用户会给产品打上什么标签而不知道用户不会给产品打上什么标签。而在应用机器学习算法(例如优化一个目标函数)时这样的负样本也是必须的。常见的方法[22,6,16]是将不在S中的所有三元组均设置为负样本。这种方法对于标签任务而言存在多种缺陷[18]。 因此,我们提出从中推断成对排序约束[17][18]。其基本思想是对于一个帖子,我们可以假设用户更喜欢标签而不是标签当且仅当我们数据中存在而不存在。如图2所示。基于成对约束的训练数据定义为:
我们的方法的主要优势在于,应该预测出的排序>\_{.,.}被视为缺失值(即图2中的问号)。其它方法如[22]在学习时假设所有这些标签都是不被喜欢的,也就是它们的偏好得分都是0。[17]中对于相关的产品推荐任务有着详细的讨论。
标签推荐的贝叶斯个性化排序(BPR)
在本节我们推导标签推荐的最优化准则BPR-OPT和学习算法LEARNBPR,该方法随后会被用于优化分解模型。注意到最优化准则和学习算法都是通用的而不是仅限于分解模型。本节的分析与[17]中用于产品推荐的的BPR-OPT和LEARNBPR的推导紧密相关。
