摘要
本文提出了一种新的推荐系统,解决了基于少量样本物品来估计用户偏好的冷启动问题。为了确定用户在冷启动状态下的偏好,现有的推荐系统,如Netflix,最初向用户提供商品,我们称这些物品为候选商品。然后根据用户选择的物品提出建议。以往的推荐研究有两个局限性:(1)消费了少量商品的用户推荐不佳,(2)候选的商品过少或者不准备,不能够较好的反应用户的偏好。为了克服这两个限制,我们提出了一种基于元学习的推荐系统MeLU。在元学习中,MeLU可以通过几个样本快速适应新任务,通过几个消费商品来估计新用户的偏好。此外,我们提供了一个候选商品选择策略,该策略可确定用于个性化偏好估计的区别项。我们用两个基准数据集对MeLU进行了验证,与两个比较模型相比,MeLU的平均绝对误差至少降低了5.92%。我们还进行了用户研究实验来验证候选商品选择策略。
总结
本文做了两件事,一是利用MAML完成少样本学习任务,二是提出候选商品选择策略,确定用于个性化偏好估计的区别项。
Intro
在常规冷启动解决方法中,基于内容的方法忽视了用户的偏好、基于混合内容的协同过滤方法当交互信息很稀疏的时候效果很不好,而且用户个人信息是隐私不好处理。还有一些推荐系统先选取一些候选商品给用户,然后通过用户的反馈来预估用户的偏好(proposed recommender model)。 对于新用户而言,初始的一个较好的推荐能够更好的留住用户,MeLU的意图也在此。
推荐系统通常可分为基于协同过滤,基于内容或混合系统。基于协同过滤的系统通过从众多用户那里收集偏好信息来估计用户行为(response)。预测基于具有与目标用户相似的评分的其他用户的现有评分。但是,由于缺少user-item之间的交互,因此此类系统无法处理新用户(用户冷启动)和新商品(商品冷启动)。引入了基于内容的系统来解决冷启动问题。这样的系统使用用户档案信息(例如,性别,国籍,宗教和政治立场)和商品内容进行推荐。该系统可能有一个限制,即向内容相似的用户建议相同的项目,而与用户已评分的项目无关。基于协同过滤并利用内容信息的混合系统已广泛用于各种应用程序中。但是,当user-item之间交互数据稀疏时,这些系统不适合推荐。此外,由于隐私问题,收集个人信息具有挑战性,这可能会导致用户冷启动问题。
为了避免用户冷启动中出现的隐私问题,许多基于Web的系统(例如Netflix)仅基于最少的用户信息来推荐项目。 Netflix最初向新用户展示流行的电影和电视节目:我们称这些视频为候选商品。 然后,用户从候选者中选择他/她喜欢的视频。 之后,系统会根据用户选择的视频推荐一些程序。 最近,为了提高性能,已经使用深度学习方法提出了建议。 但是,对于仅对几项评分的新用户来说,冷启动问题仍然存在。
先前的推荐系统受到两个重要问题的限制。首先,系统应该能够向获得一些评分的新用户推荐商品。新用户可能在收到推荐系统最初推荐几个较差的商品后便离开系统。但是,现有系统不是为仅对几项评分的用户设计的。先前的系统利用用户配置文件信息来改善性能不佳的情况,但是并不能解决局限性。考虑两个二十多岁的电影服务的失业男性用户。一个人看了几部科幻电影,而另一个人看了几部恐怖电影。当提供性别,年龄和职业作为用户信息时,推荐系统可能会向两个男人展示非常相似的电影列表,因为一些电影无法弄清他们的喜好。其次,现有系统无法提供可靠的候选商品来估计用户的偏好:它们将受欢迎的商品显示为候选商品。可能不必花时间选择候选商品,因为随着user-item间互动的增加,推荐自然会变得健壮。但是,我们必须刻意选择合适的候选商品,以改善对新用户的冷启动推荐商品。
本文提出了一种基于元学习的推荐系统MeLU,以解决上述问题。元学习侧重于通过仅使用少量训练数据进行学习来改善分类或回归性能。推荐器系统具有与元学习类似的特征,因为它着重于仅基于少量样本来预测用户的偏好。我们考虑与模型无关的元学习(MAML)算法,该算法可以直接基于单个用户的物品消费历史来估计消费者的偏好,即使仅消耗了少量物品也是如此。与基于协同过滤的系统不同(后者与其他用户具有与目标用户相似的评分),建议的系统仅考虑目标用户消耗的商品。此外,我们建议基于MAML的推荐系统的候选商品选择策略,通过选择区分项以进行自定义的偏好估计,可以显着提高新用户的初始推荐性能。
本文贡献:
- 通过在推荐系统中采用MAML算法来缓解用户的冷启动问题。
- 研究候选商品选择策略,以改善新用户的初始推荐性能。
- MeLU可以基于用户个人的物品消费历史为每个用户提供个性化模型。
- 通过两个基准数据集和一次用户调查验证了所提出的系统和候选商品选择策略。
本文的后续部分安排如下, 在第2节中简要描述了元学习以及元学习与推荐系统模型之间的关系。在第3节中介绍了推荐系统和候选商品选择策略。第4节通过两种比较方法在基准数据集评估了MeLU的推荐性能。此外,通过用户研究,我们在第5节中比较了基于模型的候选商品选择策略与基于流行度的候选商品选择策略。最后,我们总结了本文并在第6节中讨论了未来的研究。
meta-learning
元学习旨在通过一些样本来训练一种模型,该模型可以快速适应新任务,而该新任务在训练过程中没有出现过。 元学习受到人类学习过程的启发,该过程可以基于少量示例快速学习新任务。 元学习可以分为三种类型:基于度量的,基于记忆的和基于优化的元学习。 先前基于度量和基于记忆的元学习的研究集中于分类问题。 这项工作[25] 采用了推荐系统中基于度量的元学习算法的概念,以预测用户是否消费商品。 该系统可以根据项目的消费量提出建议,但不能向用户提供个性化模型。 相比之下,我们考虑将基于优化的元学习概念引入推荐系统,该系统可以根据用户个人的消费历史来提供个性化的推荐模型。
介绍meta learning。跳过,可参考web
基于优化的元学习算法为每个任务使用两个集,即支持集和查询集(the support set and test set)。 支持集和查询集分别用于计算每个任务的训练损失和测试损失。 在本地(子任务)更新期间,算法会在每个支持集上调整模型的参数(learning process)。 在全局更新期间,算法使用查询集上的自适应参数来训练参数以使损失最小化(learning-to-learn process)。 当学会学习的过程达到先前任务集的终止条件时,该算法仅接受新任务的支持集。 使用支持集,模型可以适应新任务。 注意,该算法允许不存储每个任务的参数。 而是通过支持集计算参数(local update)。
本文将每个任务视为在推荐系统中估算用户的偏好。从这个灵感中,我们提出了一个基于MAML的推荐系统,该系统可以仅基于少数user-item交互历史记录来快速估计新用户的偏好。基于MAML的推荐系统说明了不同的用户具有不同的最佳参数这一事实。因此,我们基于MAML的推荐系统根据每个用户的个人商品消费历史为他们提供个性化推荐。考虑第1节中的两个男性用户。第一个用户的商品消费历史记录包括科学电影,第二个用户的商品消费历史记录包括恐怖电影。由于我们的推荐器系统考虑的是单个用户观看的电影,因此系统将向每个用户推荐科学电影或恐怖电影。此外,我们的模型可以提供具有较大梯度的item作为可靠的候选商品项。**如果新用户对该商品的评分为系统提供了有关用户偏好的大量信息,则该商品在商品消费历史上的斜率会很大。
方法
本文将描述元学习用户偏好估计模型(MeLU)的详细信息。 我们首先介绍一个用户偏好估计模型,它由决策层和带有用户和项目emb层组成。 接下来,我们基于MAML设计可快速适应新任务(新用户)的个性化用户偏好估计模型。 最后,我们提出了基于个性化用户偏好估计模型的候选商品选择策略。
用户偏好估计
为推荐系统建议的用户偏好估计模型如图2所示。该模型将用户内容(例如年龄和职业)和项目内容(例如体裁和出版年份)作为输入。 首先,取emb,并将emb向量连接起来。 其次,在emb层上利用多层神经网络对决策过程进行建模,该模型在最近的推荐研究中被广泛使用。
我们使用emb从内容中提取有用的特征来估计用户的喜好,因为先前的研究表明,emb可提高推荐系统中的性能。 我们的模型以与以前的工作类似的方式对用户和项目内容取emb。对每个内容生成emb,并拼接起来,如图2所示。当用户的内容的数量为P时,我们为用户i定义嵌入向量Ui。
注意,如果存在连续的内容,则内容的输入节点将直接连接到连接层,而无需经过嵌入层。
用户偏好估计模型由决策层和输出层进行。 用户和商品的emb size可能不同。 因此,我们不能使用需要相等emb size的广义矩阵分解层。 因此,我们将决策层构建为N层全连接神经网络。 输出层是决策层的后续层,它估计用户的偏好,这些偏好可以是等级,隐式反馈或停留时间。
包含meta learner 用户偏好估计
受基于优化的元学习概念的启发,我们将此概念应用于MeLU中,以仅通过少量user-item交互来反映个性化的用户偏好。下图显示了该模型如何利用用户的商品消费历史记录,而在先前的模型中并未直接考虑。我们的模型考虑了用户的商品消费历史和偏好,这些输入充当本地(local)更新的支持集。换句话说,为了反映用户的口味,该模型会根据用户的个人商品消费历史记录来更新决策层和输出层中的参数(即W和b)。我们不会在本地(local)更新过程中更新用户和商品的emb向量,以确保学习过程的稳定性,这意味着我们的模型假设用户和项目不会发生变化,只有与项目进行交互时用户的想法在才会发生变化。此外,与MAML不同,我们不限制商品消费历史记录的长度。我们扩展了匹配网络的概念,该网络是最著名的元学习算法之一,即使支持集的长度(即项目消费历史记录的长度)不固定,也能表现出良好的性能。(MAML一般是N-ways K-shot的方式,固定了样本集的大小。)
注意,本地更新和全剧更新的范围不同。
详细过程
算法1显示了用户偏好估计模型的详细个性化过程。首先,将emb和网络层参数随机初始化。 其次,该模型随机抽样一批用户。第三,模型通过反向传播以下损失函数MSE来局部(local)更新batch中用户i的网络参数。
可以将此本地更新视为个性化的迭代,可以重复几次。最后,该算法基于损失函数L为带有个性化参数的相应新商品消耗历史即查询集,全局更新emb参数和网络层参数。此过程旨在找到对所有用户进行几次本地更新后可实现良好推荐性能的理想参数。该算法重复这些过程,直到emb参数和网络层参数收敛。在向用户推荐商品时,MeLU会根据用户的商品消费历史记录进行本地更新,并计算用户尚未评分的所有商品的偏好设置。之后,模型会向用户推荐最喜欢的商品。
算法伪代码
注意emb参数和网络层参数更新Loop不同。
候选商品选择策略
本文提出基于MeLU的候选商品选择策略。该策略可快速分析系统中新用户的个人偏好的区别项。在本文的模型中,整个用户的个性化渐变的平均Frobenius范数越大,用户偏好之间的区别就越好。在计算梯度时,我们修改|·|表示要反向传播单位误差的输入的绝对值。尽管梯度较大的商品可用于识别用户的偏好,但是当用户不了解商品时,进行适当的评估可能会很困难。因此,我们还考虑了用户对商品的了解。我们假设用户与商品的交互越频繁,用户就越了解该商品。因此,对于每个项目,我们分别使用现有的全量user-item pairs来计算基于梯度的值和基于流行度的值,作为平均Frobenius范数和每个商品的交互次数。为了缩放两个值的单位,我们将值归一化为从零到一的范围,然后通过将两个归一化的值相乘,将得分分配给每个项目。最后,我们将得分最高的前k个项目定义为商品候选者。请注意,分数在进入新用户时会有所不同,这直接影响平均Frobenius范数和user-item交互。
实验
我们考虑了两个数据集:MovieLens 和Bookcrossing。 这两个数据集都提供基本的用户和商品信息,例如用户的年龄和出版年份,并且这些数据集具有明确的反馈信息。 我们将商品和用户分为两组(existing/new),以评估商品冷启动和用户冷启动条件下的性能。 我们为每个数据集设计了四个分区:1)现有用户的现有项目,2)新用户的现有项目,3)现有用户的新项目和4)新用户的新项目。【1) existing items for existing users, 2) existing items for new users, 3) new items for existing users, and 4) new items for new users.】
对每个数据集执行以下预处理:
- MovieLens
我们从IMDb1收集了其他电影内容。 我们将电影分为1997年之前和1998年之后发行的电影(大约8:2)。 我们将1997年之前发行的电影视为现有项目,并将1998年之后发行的电影视为新项目,我们随机选择了80%的用户作为现有用户,其余用户则作为新用户。 - Bookcrossing
我们将这些书籍分为1997年之前发行的书籍和1998年之后发行的书籍(大约5:5)。 我们将1997年之前发行的图书视为现有项目,将1998年之后发行的图书视为新项目,我们随机选择了一半的用户作为现有用户,其余的作为新用户。
在每个分区中,我们仅包括商品消费历史记录长度在13到100之间的用户。 对于每个用户,将历史记录中的十个随机商品用作查询集,并将其余商品用作算法1中的支持集。它用于确定模型是否可以了解消费者的喜好,而与商品消费历史记录的长短无关。
所提出的模型MeLU已通过以下结构进行了测试。 决策层使用两层,每层有64个节点,所有嵌入向量的维数设置为32。
(省略模型配置内容)
baseline
baseline1:Pairwise Preference Regression (PPR)
baseline2:Wide & Deep
PPR通过将用户独热编码和商品内容向量的双线性回归来估计用户偏好。 Wide&Deep可以预测用户是否喜欢某件商品,但我们将其修改为用于估计偏好的回归模型。 Wide&Deep的结构与我们的用户偏好估计模型的结构相同。 本文没有考虑与基于协作过滤的方法进行比较,因为它们无法估计新用户和新商品的偏好。
实验中使用的评价指标是平均绝对误差(MAE)和归一化折现累积收益(nDCG)
实验结果
本文在非冷启动方案和三个冷启动方案上进行了实验:(1)为新用户推荐现有项目;(2)为现有用户推荐新项目;(3)为新用户推荐新项目。 第一种类型的冷启动推荐方案可以视为对系统新用户的建议。 第二类可以被认为是对新电影或新书的推荐。 第三种是第一种和第二种情况的混合,是最困难的推荐方案。
表2显示了这三种方法对两种数据集的四种推荐类型的性能。对现有用户的现有项目推荐代表了训练数据集的性能。其他三种类型代表冷启动场景,它们指示不同情况下的测试性能。我们将有L个本地更新的推荐模型称为MeLU-L。在MovieLens和Bookcrossing数据集中的三种冷启动场景中,我们的模型优于两种baseline。PPR模型在MovieLens数据集中的现有用户推荐的现有商品中显示了最佳的MAE,nDCG1和nDCG3,但在三种冷启动方案中却表现不佳。从性能下降中,我们可以推断出,非冷启动方案和冷启动方案之间的PPR性能差距来自稀疏度较低时的过度拟合。由于Bookcrossing数据集具有较大的稀疏性,因此与MovieLens数据集相比,模型的拟合效果不好,因此认为未发生过拟合。 此外,对于bookcrossing数据集,MeLU在可获得有关用户的最少信息(仅年龄)时效果很好。 总之,无论推荐系统可使用的用户和项目信息量如何,我们的模型在冷启动场景下均具有良好的性能。
MeLU在所有类型的数据集上都取得了显着改进,即使在本地更新很少的情况下。图4显示了在两个数据集上MeLU性能随不同的迭代次数的变化。 对所有数据集进行一次迭代后,MeLU的MAE急剧下降。一次迭代后,与现有MAML的结果相反,观察到局部更新次数的增加存在细微差异,MAML的性能随着迭代次数的增加而提高。(在MAML论文中验证,MAML在一个梯度下降步骤之后的梯度步骤也不断改进,而MeLU只有一次下降)。我们的模型可以快速适应用户,因为单个本地更新就足够了。 快速的适应性使MeLU能够应用于基于用户评级的在线推荐任务。
图5和图6显示了当本地更新次数为1时,MeLU的MAE指标随商品消费历史记录的长度的变化。如图所示,即使支持集的长度很短,MeLU的推荐性能也很出色。MeLU在商品消费历史记录的长度方面表现出强大的性能。请注意,对于这两个数据集,商品消费历史越长,人数就越少。在极端情况下,人数不到五。由于样品量不足,性能被认为是不稳定的。
为了提供个性化推荐,本文定性分析了本地更新的效果。图7显示了八个MovieLens用户的所有项目在一次本地更新后的估计偏好的轮廓图。他们分为四组,每组的每一行具有相同的用户配置文件。为了可视化,本文使用t-SNE将item emb size 减小为2,所有图均共享。在各组之内以及各组之间的等高线图中观察到了脊线和谷线的差异。组之间的差异可能是由用户配置文件的差异引起的。 组内的差异证明,即使用户配置文件相同,所提出的算法也会根据属于每个用户的商品消费历史记录的电影来估计偏好。 总而言之,MeLU通过本地更新估计了组内用户以及组间用户的偏好。
对候选商品的用户研究
用户研究的设计
本文进行了用户研究实验,以比较本文提出的候选商品选择策略和基于流行度的候选商品选择策略。在本节中,我们仅考虑MovieLens数据集,因为经常观看电影的人数多于阅读书籍的人数。我们为用户研究创建了演示页面,如图8所示。在第一页中,就像在MovieLens中一样,我们收集了用户的基本信息,例如性别,年龄和职业。在第二页上,我们向用户展示了二十部电影,然后以五星标准获得了商品偏好,这意味着我们选择了二十个商品候选者。目前,用户不熟悉的电影被标记为“我不知道这部电影”。这些电影未包含在用户的商品消费历史记录中。 我们随机显示基于流行度或基于策略的电影列表作为A / B测试;我们在附录A中列出了两个电影列表。在计算两个商品候选者的分数时,我们使用现有的用户-商品对,并通过一次本地更新(即MeLU-1)从模型中计算出了梯度。在第三页上,我们收到了二十部电影中被用户评价的电影,我们的模型展示了用户可能喜欢的二十部新电影。 我们仅考虑了单轮交互来验证用户的极端冷启动的有效性,但是可以通过第三页的简单扩展将其扩展为多轮交互。此外,如第二页所示,我们以五星评价指标收集了推荐商品的评分。 根据调查,我们评估了哪个电影列表可以更准确地区分用户偏好。
用户研究的结果
本文通过用户研究定量验证了候选商品的选择。我们总共调查了84位用户。 45位用户 对仅按受欢迎程度提取的电影进行了评分,而其他用户对使用本文的策略提取的电影进行了评分。表3列出了调查结果的摘要。自然,在第二页上,与基于人气的商品候选相比,我们的候选商品很少被用户评价。虽然选择了大约一半的基于人气的候选商品,但只选择了本文提出的候选商品的四分之一。但是,在第三页上,本文提出策略在所有指标上均表现出更好的性能。受访者选择了更多电影,推荐电影的平均收视率和nDCG1更高。请注意,尽管候选商品的平均评分相似,但本文策略在本地更新时,使用的商品少于基于流行度的商品。因此,本文策略提供了可靠的候选商品,并且可以快速识别新用户对商品的个人偏好。
本文采访了一些参与者,以定性分析用户对系统的反应。 两组的反应相互矛盾。 分配给策略A的一位用户(即基于受欢迎程度的候选商品)说,她可以在第二页的电影中做出很多选择,因为她知道其中大部分内容,但是她无法在第三页中选择任何推荐的电影。 分配给同一策略的另一个用户回答说,推荐的电影似乎没有把握住他的口味。 相反,分配给策略B的用户(即基于本文策略的候选商品)回答说,在第三页上比在第二页上放更多的首选电影真是太好了。
总结
在本文中,我们提出了一种基于MAML的推荐系统,可以识别用户的个性化偏好。我们的模型能基于少量项目来估计用户偏好。我们发现,在两个基准数据集上,所提出的方法优于两种baseline。此外,我们定性地发现,使用商品消费历史记录的本地更新可以有效地识别用户的偏好。另外,基于本地更新,我们设计了一种策略来选择候选商品。由于有84位用户的A / B测试,与基于流行度的策略相比,用户选择本文策略挑选的商品候选的频率较低,但用户对本文策略挑选的商品结果更满意。
未来研究有三个任务。 首先,必须在实际应用之前验证模型更新周期。 尽管元学习擅长学习新事物,但是当新用户出现在推荐系统中时,可能无法保证性能。 其次,未来的研究应探索选择商品候选策略的变体。 在计算候选证据的评分时,将不同策略的评分加权求和可能会得出更好的结果。 第三,应研究基于元学习的推荐系统的变体。 例如,可以设计基于元学习的协作过滤推荐系统。