访问量:   最后更新时间:--

温雯

硕士生导师
教师英文名称:Wen Wen
教师拼音名称:wenwen
所在单位:计算机学院
学历:博士研究生毕业
性别:女
联系方式:wwen@gdut.edu.cn
学位:工学博士学位
职称:教授
在职信息:在职
所属院系:计算机学院
其他联系方式

暂无内容

教师博客
当前位置: 中文主页 > 教师博客
投其所好——用户行为理解与推荐(二)
发布时间:2022-04-06    点击次数:

投其所好——用户行为理解与推荐(二)

作者:DMIR实验室 陈俊彬  温雯

 

在上文《投其所好——用户行为理解与推荐(一)》我们说到,现在的许多APP为了能够投其所好,都采用了推荐系统技术,以保证在这个信息过载的环境下,用户仍然能够收到自己感兴趣的内容。推荐系统运转核心其实是一套由代码搭建而成的算法,整个过程大概可以概括为感知、理解和推荐三个阶段,如图1所示。

还是以抖音为例,第一步感知就是通过客户端(比如手机等)收集用户信息和行为数据,以及关于视频的内容数据;第二步理解就是通过推荐算法对这些数据进行学习,从而归纳和分析出你的潜在意图或兴趣,并用于判断你对某一个视频是否感兴趣;第三步推荐就是结合多种推荐算法策略,从装有海量视频的数据库中快速的找出适合用户的视频,进行推荐。

图一 推荐系统


第二步中的推荐算法具体长什么样?它是怎么从数据中学习出推荐规律的?本文将给大家介绍一类经典的推荐算法:基于矩阵分解(Matrix Factorization)的的推荐,带你初步了解推荐算法是怎么工作的。

1、矩阵分解算法

矩阵分解算法能够通过对所有用户历史观看数据进行学习,得到每个用户和每个视频的潜在表示,这些潜在表示以向量的形式存在,矩阵分解算法通过对历史观看数据进行学习,其所归纳和分析出来的用户潜在兴趣和视频潜在内容特征就体现在用户和视频的潜在表示中。在具体推荐的时候,利用某个用户以及某个视频的潜在表示,即可判断出这个用户是否对这个视频感兴趣。

首先,所有用户历史观看数据可以用一个矩阵来表示,如图二所示,我们称这个矩阵为user-item交互矩阵,矩阵的每一行代表一个用户,每一列代表一个视频,矩阵中每个格子里的内容代表用户对物品的操作,比如用户观看过这个视频,则格子里的内容为1,没观看过则为0。

图2.png

图二 user-item交互矩阵


图3.png

图三 矩阵分解

其次,矩阵分解算法通过将user-item交互矩阵分解成user隐因子矩阵和item隐因子矩阵,如图三所示,user隐因子矩阵中的每一行代表某个用户的潜在表示,item隐因子矩阵中的每一列代表某个视频的潜在表示。直观(非严谨的)角度来讲,user(用户)和item(视频)的潜在表示的每一个维度其实代表着一种潜在类别,例如user隐因子矩阵中第一个维度的潜在因子代表的是美食类别,则用户潜在表示的第一个维度取值表示这个用户喜欢美食的程度,而视频(item)的潜在表示的第一个维度取值代表这个视频内容中关于美食的成分有多少,这样,当我们在做推荐时,我们就可以将用户的潜在表示向量和视频的潜在表示向量内积得到的结果视为用户对这个视频的感兴趣程度,根据这个感兴趣程度来判断是否要推荐给用户。可以看出,当用户的潜在表示向量和视频的潜在表示向量越相似,即视频的各个维度的特征恰好是用户喜欢的,则用户对这个视频的感兴趣程度会越高。

这只是举个例子而已,在进行矩阵分解时,我们可以设置潜在表示向量的维度,就是控制潜在因子的数量,其实潜在表示向量的每一个维度具体代表什么含义我们是不知道的,它们之间的对应关系是通过矩阵分解算法学出来的,矩阵分解算法能够帮我们从数据中学出视频的特征以及用户对这些特征的偏好,最终体现在各自的潜在表示中。

2、召回、排序、调整

上面介绍了一个经典推荐算法的例子,在现实的推荐系统中,可能会使用到很多种推荐算法,不同的算法可能会利用到不同的数据信息,比如时间、地点、兴趣等等,不同的推荐算法的推荐策略是不同的。很多APP往往会根据需要以及个人的偏好综合使用不同的推荐策略,以达到更好的效果。在第三步判断与推荐中,推荐系统要在庞大的数据库中寻找出你感兴趣的内容进行推荐,其首先会根据不同策略的推荐算法从几十亿条短视频中找出几百个你可能感兴趣的候选视频,这一步称为召回。接着,它会利用一个精度更高的推荐算法计算用户对这几百个候选视频的兴趣得分,而后依据得分为这几百个候选的短视频进行排序,最后取排名靠前的短视频组成推荐列表,推荐给用户,这一步称为排序。当然,由于考虑到其他因素,比如多样性,如果推荐给你的十个短视频全部都是足球的,那你可能体验不是很好,所以最后还会对推荐列表做调整,保证推荐列表的多样性等其他因素。

3、小结

随着科学技术的发展和信息的快速生成、更新,人们面对的选择越来越多,选择过多、信息超载常常会使人无所适从,在这种情况下,基于海量数据的推荐系统技术成为关键,对于用户来说,推荐系统能够在海量的信息中过滤出用户感兴趣或者想要的内容,为用户提供个性化服务。而对于企业来说,推荐系统能够做到投其所好,大大提升内容的质量,使得用户爱上它们的产品,从而增加企业收益。正是有了推荐系统技术,才使得你会感觉你手机上的一些APP是那么的了解你,能够源源不断的给你提供你想要的内容,提升你的体验,方便你的生活。

                                                                                                       致谢:广东省科技计划科技创新普及领域项目(2019A141401006)资助

                                                       如需转载,请包含包括作者及致谢在内的完整信息。