个性化推荐系统研究
评测指标
1. 用户满意度 2. 预测准确度(precision) 3. 覆盖率(coverage)描述一个推荐系统对物品长尾的发掘能 力。覆盖率有不同的定义方法,最简单的定义为推荐系统能够 推荐出来的物品占总物品集合的比例。 不能局限于热门商品 4. 新颖性指给用户推荐那些他们以前没有听说过的物品。 5. 惊喜度(serendipity)是最近这几年推荐系统领域最热门的 话题。如果推荐结果和用户的历史兴趣不相似,但却让用户觉 得满意,那么就可以说推荐结果的惊喜度很高,而推荐的新颖 性仅仅取决于用户是否听说过这个推荐结果。 6. 信任度
推荐系统(算法)的本质
推荐系统(算法)的本质是通过一定的方式将用户和物品 联系起来,而不同的推荐系统利用了不同的方式。图2展 示了联系用户和物品的常用方式,比如利用好友、用户的 历史兴趣记录以及用户的注册信息等。
个性化推荐系统
和搜索引擎不同,个性化推荐系统需要依赖用户的行为数 据。 个性化推荐系统在网站中的主要作用是通过分析大量用户 行为日志,给不同用户提供不同的个性化页面展示,来提 高网站的点击率和转化率。 所有的推荐系统应用都是由前台的展示页面、后台的日志 系统以及推荐算法系统3部分构成的。 应用领域: 电子商务网站(亚马逊、当当网)。 电影和视频网站、个性化音乐网络电台、 Facebook和 Twitter为代表的社交网络、个性化阅读( Google Reader, 国内有鲜果网)、个性化广告
得到用户之间的兴趣相似度后,UserCF算法会给用户推荐 和他兴趣最相似的K个用户喜欢的物品。如下的公式度量 了UserCF算法中用户u对物品i的感兴趣程度:
基于物品的协同过滤算法
这种算法给用户推荐和他之前喜欢的物品相似的物品。 基于物品的协同过滤算法主要分为两步。 (1) 计算物品之间的相似度。 (2) 根据物品的相似度和用户的历史行为给用户生成推荐列表。 下面的公式定义物品的相似度:
个性化推荐系统研究
夏敏捷推Βιβλιοθήκη 系统随着信息技术和互联网的发展,人们逐渐从信息匮乏的时 代走入了信息过载(information overload)的时代。在这 个时代,无论是信息消费者还是信息生产者都遇到了很大 的挑战。
图1 推荐系统的基本任务是联系用户和物品,解决信息过载的问题
推荐系统是如何工作的
基于图的模型
比如图中用户节点A和物品节点a、b、d相连,说明用户A 对物品a、b、d产生过行为。
评测指标
1. 用户满意度
推荐的论文都是我非常想看的。 推荐的论文很多我都看过了,确实是符合我兴趣的不错论文。 推荐的论文和我的研究兴趣是相关的,但我并不喜欢。 不知道为什么会推荐这些论文,它们和我的兴趣丝毫没有关系。 电子商务网站中,利用购买率度量用户的满意度。 用户如果购买了推荐的商品,就表示他们在一定程度上满意。 对推荐结果满意或者不满意的反馈按钮 点击率、用户停留时间和转化率等指标度量用户的满意度
用户行为数据
用户行为数据在网站上最简单的存在形式就是日志。网站 在运行过程中都产生大量原始日志(raw log),并将其存 储在文件系统中。如果用户点击了某个结果,这个点击信 息会被服务器截获并存储在点击日志(click log)中。 推荐系统和电子商务网站也会汇总原始日志生成描述用户 行为的会话日志。这些日志记录了用户的各种行为,如在 电子商务网站中这些行为主要包括网页浏览、购买、点击、 评分和评论等。
要了解推荐系统是如何工作的,可以先回顾一下现实社会中用 户面对很多选择时做决定的过程。以看电影为例,一般来说, 我们可能用如下方式决定最终看什么电影。 向朋友咨询。这种方式在推荐系统中称为社会化推荐 (social recommendation),即让好友给自己推荐物品。 打开搜索引擎,输入自己喜欢的演员名,然后看看返回结果 中还有什么电影是自己没有看过的。这种推荐方式在推荐系 统中称为基于内容的推荐 (content-based filtering)。 如果能找到和自己历史兴趣相似的一群用户,看看他们最近 在看什么电影,那么结果可能比宽泛的热门排行榜更能符合 自己的兴趣。这种方式称为基于协同过滤(collaborative filtering)的推荐。
计算两个用户的兴趣相似度
给定用户u和用户v,令N(u)表示用户u曾经有过正反馈的 物品集合,令N(v)为用户v曾经有过正反馈的物品集合。 那么,我们可以通过如下的Jaccard公式简单地计算u和v的 兴趣相似度:
或者通过余弦相似度计算:
举例说明
举例说明UserCF计算用户兴趣相似度的例子。在该 例中,用户A对物品{a, b, d}有过行为,用户B对物品{a, c} 有过行为,利用余弦相似度公式计算用户A和用户B的兴趣 相似度为:
这里,分母|N(i)|是喜欢物品i的用户数,而分子 是同时喜欢物品i 和物品j的用户数。因此,上述公式可以理解为喜欢物品i的用户中 有多少比例的用户也喜欢物品j。
隐语义模型
LFM(latent factor model)隐语义模型逐渐成为推荐系统领域 耳熟能详的名词。其实该算法最早在文本挖掘领域被提出,用 于找到文本的隐含语义。相关的名词有LSI、pLSA、LDA和 Topic Model。 对于UserCF,首先需要找到和他们看了同样书的其他用 户(兴趣相似的用户),然后给他们推荐那些用户喜欢的其 他书。 对于ItemCF,需要给他们推荐和他们已经看的书相似的 书,比如作者B看了很多关于数据挖掘的书,可以给他推荐 机器学习或者模式识别方面的书。 还有一种方法,可以对书和物品的兴趣进行分类。对于 某个用户,首先得到他的兴趣分类,然后从分类中挑选他可 能喜欢的物品。
评测指标
2. 预测准确度 通过离线实验计算 将该数据集通过时间分成训练集和测试集。最后,通过在 训练集上建立用户的行为和兴趣模型预测用户在测试集上 的行为,并计算预测行为和测试集上实际行为的重合度作 为预测准确度。
利用用户行为数据的推荐算法
用户行为数据 推荐算法 基于邻域的算法(neighborhood-based) 基于用户的协同过滤算法 基于物品的协同过滤算法 隐语义模型(latent factor model) 基于图的模型(random walk on graph)
基于用户的协同过滤算法
这种算法给用户推荐和他兴趣相似的其他用户喜欢的物品。 在一个在线个性化推荐系统中,当一个用户A需要个性化 推荐时,可以先找到和他有相似兴趣的其他用户,然后把 那些用户喜欢的、而用户A没有听说过的物品推荐给A。这 种方法称为基于用户的协同过滤算法。 从上面的描述中可以看到,基于用户的协同过滤算法主要 包括两个步骤。 (1) 找到和目标用户兴趣相似的用户集合。 (2) 找到这个集合中的用户喜欢的,且目标用户没有听说 过的物品推荐给目标用户。