个性化推荐系统综述

标签: 个性 推荐系统 综述 | 发表时间:2011-08-30 00:20 | 作者:wangxuntian Tony
出处:http://ucdchina.com/rss/all

上个月写过一篇产品推荐的文章,详情请见《我所了解的产品推荐》,内容很泛,多为工作心得。本周读了几篇相关的论文,收获颇多,分享点干货。

以下内容摘自《个性化推荐系统的研究进展》,该文发表于2009年1月的《自然科学进展》专题评述,作者是刘建国、周涛、汪秉宏。

我略去了具体的算法和许多公式,重点看原理、思路和比较。

互联网技术的迅速发展使得大量的信息同时呈现在我们面前,传统的搜索算法只能呈现给所有的用户一样的排序结果,无法针对不同用户的兴趣爱好提供相应的服务。信息的爆炸使得信息的利用率反而降低,这种现象被称之为信息超载。个性化推荐,包括个性化搜索,被认为是当前解决这个问题最有效的工具之一。推荐问题从根本上说是代替用户评估它从未看过的产品,这些产品包括书、电影、CD、网页、甚至可以是饭店、音乐、绘画等等。

个性化推荐系统通过建立用户与信息产品之间的二元关系,利用已有的选择过程或相似性关系挖掘每个用户潜在感兴趣的对象,进而进行个性化推荐。高效的推荐系统可以挖掘用户潜在的消费倾向,为众多的用户提供个性化服务。 一个完整的推荐系统由3个部分组成:

  • 收集用户信息的行为记录模块
  • 分析用户喜好的模型分析模块
  • 推荐算法模块

推荐算法模块是最核心的部分。根据推荐算法的不同,推荐系统可以分为如下几类:

  • 协同过滤(collaborative filtering)系统
  • 基于内容(content-based)的推荐系统
  • 基于用户-产品二部图网络结构(network-based)的推荐系统
  • 混合(hybrid)推荐系统
  • 其他

1. 协同过滤系统

第一代被提出并得到广泛应用的推荐系统。如amazon的书籍推荐,Jester的笑话推荐,等等。

1)核心思想:利用用户的历史信息计算用户之间的相似性——>利用与目标用户相似性较高的用户对其他产品的评价来预测目标用户对特定产品的喜好程度——>根据喜好程度来对目标用户进行推荐。

在计算用户之间相似度时,大部分都是基于用户对共同喜好产品的打分。最常用的方法是Pearson相关性和夹角余弦。

协同过滤推荐系统的算法可以分为两类,基于记忆(memory-based)&基于模型(model-based)。前者是根据系统中所有被打过分的产品信息进行预测,注重于预测用户的相对偏好而不是评分绝对值;后者是收集打分数据进行学习并推断用户行为模型,再对某个产品进行预测打分。

2)优点:

  • 发现用户潜在的兴趣偏好,推荐新信息
  • 能推荐难以进行内容分析的产品

3)缺点:

  • 由于是基于用户对产品的评分,所以对新用户进行推荐或者是对用户推荐新产品,精度不高
  • 随着用户量的增多,计算量呈线性增加,影响系统的性能

2. 基于内容的推荐系统

是协同过滤技术的延续与发展。

1)核心思想:分别对用户和产品建立配置文件——>比较用户与产品配置文件的相似度——>推荐与其配置文件最相似的产品。

例如,在电影推荐中,基于内容的系统首先分析用户已经看过的打分较高的电影的共性(演员、导演、风格等),再推荐与这些用户感兴趣的电影内容相似度很高的其他电影。基于内容的推荐算法根本在于信息获取和信息过滤。因为在文本信息获取与过滤方面的研究较为成熟,现有很多基于内容的推荐系统都是通过分析产品的文本信息进行推荐。 在信息获取中,最常用的是TF-IDF方法

2)优点:

  • 能处理新用户、新产品的问题(冷启动)
  • 实际系统中用户对产品的打分信息非常少,基于内容的推荐系统可以不受打分稀疏性问题的约束
  • 能推荐新出现的产品和非流行的产品,发现隐藏信息
  • 通过列出推荐内容的特征,可以解释为什么推荐这些产品,使用户在使用时具有更好的用户体验

3)缺点:

  • 受到信息获取技术的约束,例如自动提取多媒体数据(图形、视频流、声音流等)的内容特征具有技术上的困难
  • 如果两个不同的产品恰好用相同的特征词表示,这两个产品就无法区分
  • 如果一个系统只推荐与用户的配置文件高度相关的产品,那么推荐的只能是与用户之前购买过的产品非常相似的产品,无法保证推荐的多样性

3. 基于网络结构的推荐算法

仅仅把用户和产品的内容特征看成抽象的节点,所有算法利用的信息都藏在用户和产品的选择关系中。

1)核心思想:建立用户—产品二部图关联网络

对于任意目标用户i,假设i选择过所有的产品,每种产品都具有向i推荐其他产品的能力,把所有i没有选择过的产品按照他喜欢的程度进行排序,把排名靠前的推荐给i。

在同样的用户喜好程度下,推荐冷门的产品要比推荐热门的产品意义更大。在同样精确度下,推荐的产品数量越少越好。

提高精确度的方法还有:

  • 去除重复性
  • 通过引入耦合阈值(即只考虑相似性大于或等于给定阈值的用户以及和这些用户连接的产品)

2)优点:开辟了推荐算法研究的新方向

3)缺点:

  • 同样面临着新用户新产品的问题。新用户或新产品刚进入系统时没有任何选择或被选信息,系统无法与其他用户或产品建立关联网络
  • 受到用户选择关系建立时间的影响,如果把用户与产品的所有关联关系都考虑在内,无法区分出长期兴趣和短期兴趣点,过多地考虑长期兴趣点会使系统无法给出满足用户短期兴趣的产品,大大降低推荐准确度

4. 混合推荐

将上述几种推荐方法有机结合,实际的推荐系统中最常见的是基于协同过滤和基于内容的。

1)独立系统相互结合

独立的应用协同过滤,基于内容和基于网络结构的算法进行推荐,然后将两种或多种系统的推荐结果结合,利用预测打分的线性组合进行推荐。或者,只推荐某一时刻在某一评价指标下表现更好的算法的结果。

2)在协同过滤系统中加入基于内容的算法

利用用户的配置文件进行传统的协同过滤计算,用户的相似度通过基于内容的配置文件计算得出,而非共同打过分的产品的信息。这样可以克服协同过滤系统中的稀疏性问题,另外,不仅仅是当产品被配置文件相似的用户打了分才能被推荐,如果产品与用户的配置文件很相似也会被直接推荐。

5. 其他方法

1)关联规则分析:关注用户行为的关联模式。如买了香烟的人大多会购买打火机,因此可以在香烟和打火机间建立关联关系,通过这种关系推荐其他产品。

2)基于社会网络分析的推荐算法:如利用用户的购买行为建立他对产品的偏好相似性,依此向用户推荐产品并预测产品的销售情况,从而加强用户黏性。

 

 

源地址:http://www.wangxuntian.com/?p=1313

相关 [个性 推荐系统 综述] 推荐:

个性化推荐系统综述

- Tony - 所有文章 - UCD大社区
上个月写过一篇产品推荐的文章,详情请见《我所了解的产品推荐》,内容很泛,多为工作心得. 本周读了几篇相关的论文,收获颇多,分享点干货. 以下内容摘自《个性化推荐系统的研究进展》,该文发表于2009年1月的《自然科学进展》专题评述,作者是刘建国、周涛、汪秉宏. 我略去了具体的算法和许多公式,重点看原理、思路和比较.

下一代个性化推荐系统

- - 技术改变世界 创新驱动中国 - 《程序员》官网
本文结合技术及社会需求发展的大背景,讲述了当前推荐系统的价值及所面临的挑战,并指出了下一代个性化推荐系统的设计思路及需要注意的问题. 作为个性化推荐系统核心的协同过滤(Collabora-tive Filtering)算法,是Goldberg等人在1992年的一篇学术论文中最早提出的. 他们在这篇文章中提出一种方法,在一个新闻组中,根据 用户下载的新闻计算他们之间在口味上的相似程度,并利用这种相似程度为他们进一步推荐相关的新闻.

Netflix 公布个性化和推荐系统架构

- - 互联网分析
Netflix的推荐和个性化功能向来精准,前不久,他们公布了自己在这方面的系统架构. 3月27日,Netflix的工程师 Xavier Amatrain和 Justin Basilico在官方博客 发布文章,介绍了自己的个性化和推荐系统架构. 要开发出这样的一个软件架构,能够处理海量现有数据、响应用户交互,还要易于尝试新的推荐方法,这可不一点都不容易.

饭饭:网易有道全新个性化餐馆推荐系统

- - 津津乐道 有道官方博客
先做一个小调查,你有没有遇到过下面这些情况. 吃腻了身边的餐馆,到了饭点却经常不知道该去哪里吃饭;掏出手机,发现各种应用里推荐的餐馆翻来覆去总是那几家;而当你出差、旅游、逛街到了陌生的地方时,又常常找不到适合自己口味的餐馆. 如果你的答案是yes的话,你可能会选择随便找个餐馆凑合一下,或是打开一个美食类的网站或手机应用,看看上面的餐馆排行.

腾讯:仅24%用户认为个性化推荐系统“靠谱”

- - 199IT互联网数据中心
盘点科技圈里的时髦词汇,必然少不了一个词:个性化推荐. 借助个性化推荐技术,互联网产品获取或积累用户的兴趣喜好数据后,可以直接为用户提供每个人感兴趣的内容,以此提升产品的内容吸引力. 想要在产品里添加个性化推荐功能已经不是一件难事,事情的难点在于推荐的内容是否准确. 为了解目前用户对该类功能的反馈,企鹅智酷推出了一项调查,以下就是调查结果:.

[原]内容分发平台个性化推荐系统经验简单总结

- - 分布式架构、大数据、机器学习、搜索、推荐、广告
推荐在电商和互联网应用中已经应用的非常广泛,相比于根据query进行主动的搜索,推荐是更加被动的由系统自动推出商品给用户. 搜索的意图比较明显,直接由query给出,而推荐需要计算猜测用户的意图,根据用户历史数据和当前行为,基于各种模型推荐合适的商品,提升用户体验,提高转化率. 不过近些年来,搜索和推荐在底层模型和技术方面越来越趋于融合,利用机器学习的方式来改进搜索和推荐的质量,像搜索排序LTR等等.

Min-Hash和推荐系统

- - xlvector - Recommender System
前几年看Google News Recommendation的那篇Paper,对里面提到的MinHash的算法基本没有注意,因为之前的习惯都是只注意论文的模型那块,至于怎么优化模型一般都只是扫一眼. 不过最近看了大量的Google Paper,发现Google在实现一个算法方面确实有很多独到之处. 其实,Min-Hash是LSH(Locality Sensitive Hash)的一种,我之前对LSH的了解仅仅限于知道它能把两个相似的东西Hash成两个汉明距离接近的2进制数.

推荐系统实战

- - 博客园_首页
推荐算法:基于特征的推荐算法. 推荐算法准确度度量公式:. 其中,R(u)表示对用户推荐的N个物品,T(u)表示用户u在测试集上喜欢的物品集合. 集合相似度度量公式(N维向量的距离度量公式):. 其中,N(u)表示用户u有过正反馈的物品集合. 其中,S(u,k)表示和用户u兴趣最接近的K个用户集合;N(i)表示对物品i有过正反馈的用户集合;w(u,v)表示用户u和用户v的兴趣相似度;r(v,i)表示用户v对物品i的兴趣.

推荐系统杂谈

- - 后端技术杂谈 | 飒然Hang
推荐系统是近些年非常火的技术,不管是电商类软件还是新闻类app,都号称有精准的推荐系统能给你推送你最感兴趣的内容. 现象级的资讯类app“今日头条”就得益于此成为了势头非常猛的一款产品. 本文就针对推荐系统讲述一些相关概念和实践经验. 首先需要明确的就是推荐系统的目标,一般来说不外乎以下几个:. 用户满意性:首当其冲的,推荐系统主要就是为了满足用户的需求,因此准确率是评判一个推荐系统好坏的最关键指标.

推荐系统开源工具 – SVDFeature

- Roger - Resys China
SVDFeature是我们(上海交大Apex实验室)在参加KDDCUP 2011期间开发的. 通过这个工具,我们和港科大(HKUST)的联合小组InnerPeace在KDDCUP 2011中获得Track 1第三名,并创造单模型最好成绩. 在此分享给大家,并希望和大家有更多的交流. (1)基于feature的可扩展性 —— SVDFeature实现了我们的基础模型feature-based matrix factorization.