推荐系统简介
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
用户建模的大致过程如图
图 4 用户建模的过程
图2中获取用户信息就是解决模型输入数据的问题,模型的 输入数据主要有以下几种:
用户属性
用户手工输入的信息
用户的浏览行为和浏览内容 推荐对象的属性特征
获取模型输入数据的方式有显式获取、隐式获取
显式的获取方式:用户主动告之
优点:简单而直接的做法,能相对准确地反映用户的需求,同时 所得的信息比较具体、全面、客观,结果往往比较可靠 缺点:很难收到实效,主要原因就是很少用户愿意花时间或不愿 向系统表达自己的喜好
提取推荐对象的什么特征,如何提取,提取的特征用于什么目的。
对象的特征描述和用户文件描述之间有关联。
提取到的每个对象特征对推荐结果会有什么影响。 对象的特征描述文件能否自动更新。
不同的对象,特征也不相同,目前并没有一个统一的标准 来进行统一描述,主要有基于内容的方法和基于分类的方 法两大类方法。针对文档类对象的这两个表示方法给以分 析。
首先提取推荐对象的内容特征,和用户模型中的用户兴趣 偏好匹配,匹配度较高的推荐对象就可作为推荐结果推荐 给用户 计算推荐对象的内容特征和用户模型中兴趣特征二者之间 的相似性是该推荐策略中一个关键部分
计算所得的值按其大小排序,将最靠前的若干个对象作为 推荐结果呈现给用户
协同过滤推荐
推荐算法中最成功的策略,它于20世纪90年代开始研究并 促进了整个推荐系统研究的繁荣
推荐系统的任务
联系用户和信息(物品)
帮助用户发现对自己有价值的信息
让信息能够展现在对它感兴趣的用户面前
图2 推荐系统的基本任务是联系用户和物品,解决信息过载的问题
推荐系统是如何工作的
以看电影为例
向朋友咨询。这种方式在推荐系统中称为社会化推荐,即让好友 给自己推荐物品。 打开搜索引擎,输入自己喜欢的演员名,然后看看返回结果中还 有什么电影是自己没有看过的。这种推荐方式在推荐系统中称为 基于内容的推荐。
图3 推荐系统常用的3种联系用户和物品的方式
推荐系统模块——用户建模模块
一个好的推荐系统要给用户提供个性化的、高效的、准确 的推荐,那么推荐系统应能够获取反映用户多方面的、动 态变化的兴趣偏好 推荐系统有必要为用户建立一个用户模型,该模型
能获取、表示、存储和修改用户兴趣偏好,能进行推理
对用户进行分类和识别
帮助系统更好地理解用户特征和类别,理解用户的需求和任务, 从而更好地实现用户所需要的功能
建立用户模型之前,需要考虑下面几个问题:
模型的输入数据有哪些,如何获取模型的输入数据。
如何考虑用户的兴趣及需求的变化。
建模的对象是谁。 清楚了上述内容后,怎么建模呢。
模型的输出是什么。
在线系统中,用户满意度主要通过一些对用户行为的统计 得到
电子商务网站中,用户如果购买了推荐的商品,就表示他们在一 定程度上满意,可以利用购买率度量用户的满意度
有些网站会通过设计一些用户反馈界面收集用户满意度,有对推 荐结果满意或者不满意的反馈按钮,统计两种按钮的单击情况
更一般的情况下,我们可以用点击率、用户停留时间和转化率等 指标度量用户的满意度
推荐系统模块——推荐算法模块
推荐算法是整个推荐系统中最核心和关键的部分,在很大 程度上决定了推荐系统类型和性能的优劣
公认的推荐算法基本包括以下几种:
基于内容的推荐 协同过滤推荐
基于知识的推荐
混合推荐
基于内容的推荐
该方法是根据用户已经选择的对象,从推荐对象中选择其 他特征相似的对象作为推荐结果
单用户建模针对单个用户进行建模,比如基于内容的推荐 群组建模是针对群体用户进行建模,比如协同推荐
用户模型的建模方法主要有遗传算法、基于机器学习的方 法,例如TF-IDF、自动聚类、贝叶斯分类器、决策树归纳 和神经网络方法等。
推荐系统模块——推荐对象的建模
推荐对象进行描述之前也要考虑以下几个问题:
隐式获取法:指系统通过跟踪用户行为,通过推理获取用 户的兴趣偏好
优点:减少用户很多不必要的负担,不会打扰用户的正常生活 缺点:跟踪的结果未必能正确反映用户的兴趣偏好
用户的兴趣和需求会随着时间和情景发生变化,用户建模 时要考虑到用户长期兴趣偏好和短期兴趣偏好,还要考虑 兴趣的变化,目前很多研究关注了用户的长期兴趣,建立 了静态模型,用户兴趣更新的动态模型也受到了很多关注, 短期兴趣的关注还比较少 建模的对象有单用户建模和群组建模之分
推荐系统的概念和定义
定义:它是利用电子商务网站向客户提供商品信息和建议,帮助用户 决定应该购买什么产品,模拟销售人员帮助客户完成购买过程”。 推荐系统有3个重要的模块:用户建模模块、推荐对象建模模块、推荐 算法模块。
图1 推荐系统通用模型
推荐系统把用户模型中兴趣需求信息和推荐对象模型中的特征信息匹 配,同时使用相应的推荐算法进行计算筛选,找到用户可能感兴趣的 推荐对象,然后推荐给用户。
2、预测准确度
预测准确度度量一个推荐系统或者推荐算法预测用户行为 的能力
这个指标是最重要的推荐系统离线评测指标
需要一个包含用户的历史行为记录的离线数据集 将该训练集通过时间分成训练集和测试集
通过在训练集上建立用户的行为和兴趣模型预测用户在测试集上 的行为
计算预测行为和测试集上实际行为的重合度作为预测准确度
推荐系统
戴 奇
推荐系统出现的原因
随着信息技术和互联网的发展,人们逐渐从信息匮乏的时 代走入了信息过载(information overload)的时代。在 这个时代,无论是信息消费者还是信息生产者都遇到了很 大的挑战。
无明确需求 信息过载
推荐系统和搜索引擎的异同
相同点:
都是一种帮助用户快速发现有用信息的工具
不同点:
搜索引擎需要用户主动提供准确的关键词来寻找信息
推荐系统不需要用户提供明确的需求,而是通过分析用户的历史 行为给用户的兴趣建模
从某种意义上说,推荐系统和搜索引擎对于用户来说是两 个互补的工具
搜索引擎满足了用户有明确目的时的主动查找需求 推荐系统能够在用户没有明确目的的时候帮助他们发现感兴趣的 新内容
基于物品的协同过滤推荐
基于用户对推荐对象品牌的信任而进行的推荐 基于物品的协同推荐是基于这样一个假设:如果大部分用 户对一些推荐对象的评分比较相似,则当前用户对这些项 的评分也比较相似。就好像很多用户对某个品牌比较信任, 则其他用户就比较容易选择该品牌的产品
首先找到目标对象的最近邻居,由于当前用户对最近邻居 的评分与对目标推荐对象的评分比较类似,所以可以根据 当前用户对最近邻居的评分预测当前用户对目标推荐对象 的评分,然后选择预测评分最高的若干个目标对象作为推 荐结果呈现给当前用户
基于内容的方法是从对象本身抽取信息来表示对象,使用最广泛 的方法是用加权关键词矢量,该方法通过对一组文档的统计分析 得出文档的特征向量。在完成文档特征的选取后,还得计算每个 特征的权值,权值大的对推荐结果的影响就大。目前使用最广泛 的是TF—IDF方法。 基于分类的方法是把推荐对象放入不同类别中,这样可以把同类 文档推荐给对该类文档感兴趣的用户了。文本分类的方法有多种, 比如朴素贝叶斯(Naive-Bayes),k最近邻方法(KNN)和支持向 量机(SVM)等。对象的类别可以预先定义,也可以利用聚类技术 自动产生
文本等对象特征提取技术相对比较成熟,但推荐系统的对 象不一定具有文本特征或文本不足以作为描述,尤其是网 络上广泛存在的多媒体数据,自动化的特征提取方法需要 结合多媒体内容分析领域的相关技术。 推荐系统推荐给用户的对象首先不能与用户看过的对象重 复,其次也不能与用户刚刚看过的对象不是太形似或者太 不相关,这就是所谓的模型过拟合问题(可扩展性问题)。 推荐系统中出现新的对象时,推荐系统尤其是协同过滤系 统中,新对象出现后必须等待一段时间才会有用户查看并 进行评价,在此之前推荐系统无法对此对象进行分析和推 荐,这就是推荐系统研究的另一个难点和重点——冷启动 问题。
3、覆盖率
描述一个推荐系统对物品长尾的发掘能力 覆盖率最简单的定义:推荐系统能够推荐出来的物品占总 物品集合的比例
以图书推荐为例,出版社可能会很关心他们的书有没有被推荐给 用户
覆盖率为100%的推荐系统可以将每个物品都推荐给至少一个用户
热门排行榜的推荐覆盖率是很低的,它只会推荐那些热门的物品, 这些物品在总物品中占的比例很小
4、多样性
为了满足用户广泛的兴趣,推荐列表需要能够覆盖用户不 同的兴趣领域,即推荐结果具有多样性
多样性推荐列表的好处用一句俗话表述就是”不在一棵树 上吊死“
多样性描述了推荐列表中物品两两之间的不相似性
GroupLens曾经做过一个论文推荐系统的调查问卷,请 问下面那句话最能描述你看到推荐结果的感受?
1. 推荐的论文都是我非常想看的。 2. 推荐的论文很多我都看过了,确实是符合我兴趣的不错论文。 3. 推荐的论文和我的研究兴趣是相关的,但我并不喜欢。 4. 不知道为什么会推荐这些论文,它们和我的兴趣丝毫没有关系。
基于知识的推荐
如果把注意力投向其他应用领域,比如消费类电子产品, 就会涉及大量的单次购买者,这就意味着推荐系统无法依 赖购买记录 此时,系统需要利用额外的因果知识生成推荐 在这种基于知识的方法中,推荐系统通常会用到有关当前 用户和有效物品的额外信息
混合推荐
各种推荐方法都有各自的优缺点,在实际应用中可以针对 具体问题采用推荐算法的组合进行推荐
一个好的推荐系统不仅需要有比较高的用户满意度,也要 有较高的覆盖率
为了更细致地描述推荐系统发掘长尾的能力,需要统计推 荐列表中不同物品出现次数的分布。如果所有的物品都出 现在推荐列表中,且出现的次数差不多,那么推荐系统发 掘长尾的能力就很好 马太效应:强者更强,弱者更弱
很多研究表明现在主流的推荐算法(比如协同过滤算法)是具有 马太效应的
电子商务(亚马逊) 电影和视频网站(Netflix) 个性化音乐网络电台 社交网络(Facebook) 个性化阅读(Google Reader) 基于位置的服务 个性化邮件和广告
推荐系统评测
什么是好的推荐系统?这是推荐系统评测需要解决的首要 问题
一个完整的推荐系统一般存在3个参与方:用户、物品提供 者和提供推荐系统的网站
目的是通过组合不同的推荐策略,达到扬长避短的目的, 从而产生更符合用户需求的推荐
个性化推荐系统的应用
在网站中的主要作用是通过分析大量用户行为日志,给不 同用户提供不同的个性化页面展示,来提高网站的点击率 和转化率。 所有的推荐系统应用都是由前台的展示页面、后台的日志 系统以及推荐算法系统3部分构成的。 应用领域
协同过滤推荐一般分为两类:
基于用户的协同推荐 基于物品的协同推荐
基于用户Hale Waihona Puke Baidu协同推荐
它的基本思想是用户选择某个推荐对象是基于朋友的推荐 也就是说,如果一些用户对某些推荐对象的评分比较相似, 则说明这些用户的兴趣偏好相似,那么他们对其他推荐对 象的评分应该也是相似的 首先找到和目标用户兴趣偏好相似的最近邻居,然后根据 他的最近邻居对推荐对象的评分来预测目标用户对未评分 的推荐对象的评分,选择预测评分最高的若干个推荐对象 作为推荐结果反馈给用户
好的推荐系统不仅仅是能够准确预测用户的行为
图5 推荐系统的参与者
评测指标
用户满意度 预测准确度
覆盖率
多样性 新颖性
惊喜度
信任度 实时性 健壮性 商业目标
1、用户满意度
用户作为推荐系统的参与者,其满意度是评测推荐系统的 最重要指标
用户调查获得用户满意度主要是通过调查问卷的形式
查看排行榜
找到和自己历史兴趣相似的一群用户,看看他们最近在看什么电 影,这种方式称为基于协同过滤的推荐。
推荐系统(算法)的本质
通过一定的方式将用户和物品联系起来,而不同的推荐系 统利用了不同的方式。
图2展示了联系用户和物品的常用方式,比如利用好友、用 户的历史兴趣记录以及用户的注册信息等。