`

个性化推荐技术漫谈

 
阅读更多
如果说过去的十年是搜索技术大行其道的十年,那么个性化推荐技术将成为未来十年中最重要的革新之一。目前几乎所有大型的电子商务系统,如 Amazon、CDNOW、Netflix等,都不同程度地使用了各种形式的推荐系统。而近来以“发现”为核心的网站正开始在互联网上崭露头角,比如侧重 于音乐推荐的八宝盒,侧重于图书推荐的豆瓣等等。
 
那么,一个好的推荐系统需要满足什么目标呢?
个性化推荐系统必须能够基于用户之前的口味和喜好提供相关的精确的推荐,而且这种口味和喜欢的收集必须尽量少的需要用户的劳动。推荐的结果必须能够实时计 算,这样才能够在用户离开网站前之前获得推荐的内容,并且及时的对推荐结果作出反馈。实时性也是推荐系统与通常的数据挖掘技术显著不同的一个特点。
 
一个完整的推荐系统由三部分构成:行为记录模块、模型分析模块和推荐模块。行为记录模块负责记录能够体现用户喜好的行为,比如购买、下载、评分 等。这部分看起来简单,其实需要非常仔细的设计。比如说购买和评分这两种行为表达潜在的喜好程度就不尽相同完善的行为记录需要能够综合多种不同的用户行 为,处理不同行为的累加。模型分析模块的功能则实现了对用户行为记录的分析,采用不同算法建立起模型描述用户的喜好信息。最后,通过推荐模块,实时的从内 容集筛选出目标用户可能会感兴趣的内容推荐给用户。因此,除了推荐系统本身,为了实现推荐,还需要一个可供推荐的内容集。比如,对于音乐推荐系统来说,一 个音乐库就是这样的内容集。我们对内容集本身需要提供的信息要求非常低,在经典的协同过滤算法下,内容集甚至只需要提供ID就足够。而对于基于内容的推荐 系统来说,由于往往需要对内容进行特征抽取和索引,我们就会需要提供更多的领域知识和内容属性。这种情况下,还是拿音乐举例,歌手、流派之类的属性和音频 信息就成为必需的内容集信息。

迄今为止在个性化推荐系统中,协同过滤(Collaborative Filtering)技术是应用最成功的技术。目前国内外互联网上有许多大型网站已经应用这项技术为用户更加智能的推荐内容。如果你想要研究协同过滤,一定不能错过MovieLens(http://movielens.umn.edu/ )。它是协同过滤最著名的研究项目之一。
 
第一代的协同过滤技术,又被称为基于用户(User-based)的协同过滤。基于用户的协同过滤,基本原理是基于用户行为选择的相关性。用户 的行为选择这里指的是下载、购买、评价等等能够显式或者隐式体现出用户喜好的行为。在一个典型的基于协同过滤技术的推荐系统中,输入数据通常可以表述为一 个m×n 的用户内容矩阵R,m是用户数,n是内容数。矩阵的值与内容的类型有关,通常由行为记录模块决定。如果内容是网上书店中的书,则矩阵的值可以表示用户购买 与否,例如1表示购买,0表示没有购买;或者表示用户对它的评价有多高,这样的评价值就可以有几个等级,比如常见的1~5级评价制。
 
基于用户的协同过滤,通过比较目标用户的一系列行为选择和其他用户之间的相似性,来识别出一组相互具有类似喜好的用户,又可以称为“同好”。一 旦系统能够识别一个用户的同好用户,就能够将他们最感兴趣的内容作为当前用户的推荐结果推荐给这个用户。也就是说,以前的行为选择与你相似的用户,在以后 的行为中很可能也会和你相似。因此将这些用户做为基准来向你推荐内容。
 
协同过滤的核心问题是寻找与目标用户兴趣相近的一组用户。这种相似用户通常被称为最近邻居(Nearest Neighbor)。用户之间的相似度是通过比较两个用户的行为选择矢量得到的。目前,比较行为选择矢量的相似度计算方法有许多种,比较经典的算法包括泊 松相关系数(Person Correlation Coefficient)和余弦相似性(Cosine-based Similarity)。
 
“最近邻居”产生后,我们就能够计算得到用户最可能感兴趣的内容集(也叫做TopN推荐集)。为了得到推荐集,分别统计“最近邻居”中的用户对不同内容的兴趣度,取其中排在最前面的内容作为推荐集。下面是一个简化的示例:假如用户张三有两个同好:李四和王五。
 
张三喜欢看电影A;
李四喜欢看电影A,B,C和D;
王五喜欢看电影A,B,D,E和F;
 
这样,推荐系统就能够过滤出相似用户都喜欢的电影B和D作为张三最可能也会喜欢的电影推荐给张三。
 
基于用户的协同过滤技术在个性化推荐系统中获得了极大的成功,但它有自身的局限性。推荐集的产生方式意味着一个内容只有已经被用户选择(购买) 后才有机会被推荐给其他用户。对于一个网上书店来说,新上架的书因为还没有被相当数量的用户购买或者评价的记录,便很少有机会被用户的“最近邻居”筛选进 入推荐集。这个问题,也被称之为协同过滤的“冷启动”问题。
 
此外,因为计算用户的相似度时,是通过将目标用户的历史行为记录与其他每一个用户的记录相比较得出的,所以对于一个现实的推荐系统来说,扩展性 将成为非常严重的问题。设想一下,对于一个拥有上百万用户的网站来说,每计算一个用户都将涉及到上百万次的比较,更不要说其中会带来的大量数据库IO操作 的开销。
 
于是第二代基于内容项(Item-based)的协同过滤技术就产生了。与基于用户的技术不同的是,这种方法比较的是内容项与内容项之间的相似 度。Item-based 方法同样需要进行三个步骤获得推荐:1)得到内容项(Item)的历史评分数据;2)针对内容项进行内容项之间的相似度计算,找到目标内容项的“最近邻 居”;3)产生推荐。这里内容项之间的相似度是通过比较两个内容项上的用户行为选择矢量得到的。举个例子,假设用户和内容项如下:
 
 
电影A
电影B
电影C
电影D
张三
喜欢
 
 
 
李四
喜欢
喜欢
喜欢
喜欢
王五
不喜欢
 
不喜欢
不喜欢
赵六
喜欢
喜欢
 
喜欢
 
可以看出,电影A与D是最相似的。因为张三喜欢A,所以电影D就可以推荐给张三。
 
和基于用户的推荐系统相比,基于内容项的推荐系统最大的改进是更具有扩展性。基于内容项的方法通过计算内容项之间的相似性来代替用户之间的相似 性。对于通常的互联网应用来说,提供的内容项数量相对较为稳定。比如一个大型网上书店,可能出售的书籍数量也就在几十万上下,而用户数量就可能达到几百 万。所以,比起用户,内容项之间的相似性计算需要的计算量要少很多,从而大大降低了在线计算量,提高系统性能。基于内容项的推荐系统应用最为成功的是 Amazon。Amazon为此还申请了一项专利叫做”Collaborative recommendations using item-to-item similarity mappings”[1] 。当然,在降低了计算量的同时,完全基于内容项的推荐技术也在推荐的准确度上做了小小的牺牲。大多数情况下,基于用户的推荐技术表现要略好于基于内容项的方法。这是因为基于内容的方法忽略了相似用户之间的组群特征。
 
不论是第一代的基于用户方法,还是第二代的基于内容项方法,都不可避免的遇到数据稀疏的问题。在任何一个网站中,用户的评分记录或者购买记录, 相对整个可供选择的内容集来说,都是很小的一部分。所以在许多推荐系统中,每个用户涉及的数据量相当有限,在一些大的系统如Amazon中,用户最多不过 就评价过上百万本书的1%,造成评估数据相当稀疏。当用户评价过的内容之间找不到交集时,就难以判断用户的口味是否相似,难以找到相似用户集,导致推荐效 果大大降低。为了解决用户数据的稀疏问题,最方便的办法就是将用户对没有选择过的内容项的评分设为一个固定的缺省值,例如用户的平均评分。针对如何预测遗 漏的评分业内又提出了很多种方法,不过一般来说采用最简单的改进方法就可以有效地提高协同过滤推荐系统的准确度。
 
另外一方面,即便采用了基于内容项的方法,在数据量巨大的时候,计算复杂度仍然成为性能瓶颈。为了进一步解决协同过滤技术的扩展性能问题,目前 比较有效的办法是在用户评分数据上做一次聚类分析(clustering)。聚类技术首先将具有相似兴趣爱好的用户分配到相同的分类中。聚类产生之后,它 或者将“最近邻居”搜索对象限制在最相近的聚类中,根据类中其他用户的评价预测目标用户的评价,或者用聚类的中心作为近似提取推荐结果。由于用户之间的分 类相对变化比较小,因此聚类过程往往可以离线进行,而无需实时计算,这样就大大降低了实时推荐的计算压力,提高推荐系统的速度。一般来说,聚类将用户分为 多少个类,推荐系统的整体速度就能够提高多少倍。具体选择什么样的聚类算法,又会因应用领域和数据的分布特性而不同。如果聚类算法选择不当,反而会降低推 荐的准确性。近年来,推荐系统的算法技术的发展也有了一些新的方向,比如SlopeOne,SVD等方法,就不一一列举了。
 
在我看来,一个商用推荐系统的尤其关键之处在于对海量用户数据的处理。因为推荐系统是数据优先,数据的积累越多对推荐的精度就越有好处。而当用 户的行为数据真正积累到上百万甚至上亿时,如何在合理时间内得出有效的推荐,就是对推荐技术最大的考验。除此之外,一个优秀的推荐系统需要能够结合内容相 似与用户行为相。传统的协同过滤方法是忽略内容本身的属性的,这一方面固然是对数据要求少的优点,但另一方面也带来了难以避免的“冷启动”问题。其实,随 着标签系统在互联网上的广泛应用,标签本身就不失为是一种很好的内容属性。如何利用也是值得大家探讨的。充分利用到内容本身的属性,将不同的相似性结合起 来,这会给基于协同过滤的推荐技术带来新的动力。最后一点,设计良好的推荐技术要能够从用户对推荐内容的反馈中自行调整和学习。因为实际上每个用户对于推 荐的内容都有不同的要求,比如有的用户可能偏好比较热门的内容,有的用户更愿意发现冷门的内容。针对不同用户的反馈来不断学习每个用户的特征,才能够避免 所采用算法本身先天的偏差,获得较为理想的效果。
分享到:
评论

相关推荐

    旅客行程智能推荐系统架构漫谈.pdf

    而协同过滤算法则是一种推荐系统算法,它能够通过分析用户行为和偏好,预测用户可能感兴趣的项目,并对用户进行个性化推荐。这两种算法的结合使得该系统能够在确保推荐路线最优的同时,也考虑到了用户的个性化需求。...

    漫谈笔记本电脑流行新风潮.doc

    例如,惠普的“Imprint”工艺就是在笔记本设计中引入个性化特色,通过独特的外观和定制化选项满足消费者对个性化的追求。设计者需要深入理解消费者的需求,以确保产品设计能够贴合不同用户群体的口味。 关键词二:...

    漫谈人工智能技术对图书馆的影响.pdf

    图书馆的职能将不再局限于传统意义上的书籍收藏和借阅,而是要充分利用智能核心技术处理和分析这些信息,提供更加丰富和个性化的服务。 最后是机械部件的影响。随着人工智能技术的进步,图书馆中的机械设备也会随之...

    漫谈CRM体系化建设5:CRM体系化解决方案.docx

    最终,在智慧管理阶段,通过智能化技术和工具的集成,实现更高的服务水平和客户满意度。通过这一系列的建设和优化,企业能够建立起一个高效、灵活且适应性强的CRM体系,为企业的长期发展打下坚实的基础。

    研究报告--漫谈人工智能与教育变革.pdf

    学习分析利用大数据优化教学过程,实现个性化教学;云计算和开放资源降低了教育成本,提高了资源共享效率;脑科学的发展为理解学习过程提供了新的视角;而人工智能与大数据的结合,将使教育从依赖经验转向依赖数据...

    漫谈微博长尾.docx

    通过智能算法,微博平台可以将合适的内容推送给感兴趣的人,使得内容创作者的原创信息得到更长久的曝光,同时也让用户的浏览体验更加丰富和个性化。 综上所述,微博长尾理论揭示了社交媒体信息传播的新趋势,强调了...

    计算机网络技术在广播电视中的应用漫谈.pdf

    这包括采用云计算、大数据分析等新技术,提供更个性化、互动性强的节目内容,吸引年轻观众回归。 综上所述,计算机网络技术的应用对于广播电视行业至关重要,它不仅提高了工作效率,优化了节目质量,还促进了行业的...

    漫谈人工智能在初中信息技术教学中的实践价值基于核心素养的初中信息技术教学实践研究.docx

    此外,人工智能能够分析学生的学习行为,帮助教师制定个性化的教学策略,确保每个学生都能得到公平且有针对性的指导。 其次,利用人工智能教学策略,可以提升学生的信息技术创新能力。在编程课程中,教师可以运用...

    企业创新方法漫谈.pdf

    7. **创新故事**:网易在互联网业务中不断创新,如新闻的个性化、音乐的发现与发行、有道的个性化服务、网易云的场景化应用以及教育领域的尝试。尽管有些项目如1492(类似微信的尝试)未能成功,但这些失败也为公司...

    大数据漫谈系列之:大数据怎么发挥大价值.rar

    4. **个性化服务**:大数据使得个性化推荐成为可能,比如音乐、电影推荐系统,它们基于用户的浏览、购买和评价历史,提供个性化的推荐内容。 5. **智能创新**:大数据与人工智能、机器学习结合,催生了自动驾驶、...

    大数据漫谈系列之:大数据怎么发挥大价值

    通过分析用户的消费行为、社交媒体互动、地理位置等多维度数据,企业可以更精准地定位目标市场,实现个性化推荐和服务。例如,电商平台通过大数据分析消费者的购物习惯,提供定制化的购物体验,从而提高转化率和客户...

    基于“信息技术与课程整合”的课堂教学设计漫谈.pptx

    这一整合不仅改变了教师的教学模式,也改变了学生的学习方式,实现了教育的数字化和个性化。 在教师层面,信息技术与课程整合意味着教师不再仅仅是知识的传递者,而是教学情境的创造者。教师需要依据特定的教学情境...

    搜索引擎漫谈

    同时,它们还关注用户体验,提供个性化和智能化的搜索服务。 搜索引擎的发展历经三代。第一代搜索引擎多以门户形式存在,如Altavista,它以其快速的搜索速度著称,但更新频率相对较低。第二代搜索引擎开始广泛应用...

    图书馆业务流程漫谈.zip

    8. 未来发展:图书馆正逐步向智慧化转型,如智慧图书馆概念的提出,利用大数据、云计算、人工智能等技术,提供更加个性化和智能化的服务。 9. 人才培养:图书馆工作人员的专业素质和技能对图书馆服务质量至关重要。...

    专题(2021-2022年)精品课件学校信息化建设漫谈.ppt

    数字化校园包括但不限于电子图书馆、在线学习平台、智能教学系统、远程教育平台等,旨在打破时间和空间的限制,提高教育资源的可访问性和利用率,实现教育公平和个性化学习。 总结来说,学校信息化建设是一个全方位...

    漫谈CRM体系化建设5:CRM体系化解决方案.pdf

    客户建模与策略板块利用数据底层的资源,进行客户分类和策略制定,实现个性化营销。运营管理板块则涵盖了内容管理系统、营销工具,负责线上业务的运营和客户保留。 分析型ACRM(Advanced CRM)作为最高层,独立于...

    大嘴巴漫谈数据挖掘和解析卷积神经网络

    数据挖掘可以找出用户的行为模式,而CNN可以通过学习用户的兴趣特征,提供个性化推荐。在异常检测中,数据挖掘能发现潜在的异常模式,而CNN则可以提高检测的精度和实时性。 总的来说,"大嘴巴漫谈数据挖掘和解析...

    大数据漫谈系列之:大数据怎么发挥大价值{201903}

    4. **个性化服务**:利用用户行为数据,企业可以提供高度个性化的服务,如推荐系统,提升用户体验和客户满意度。 5. **创新驱动力**:大数据也是科技创新的源泉,新的算法和工具不断涌现,如机器学习和人工智能,...

    图书馆业务流程漫谈.pptx

    例如,如何维护和更新电子资源,如何保障数字资产的安全,以及如何提供更为个性化的信息服务等。这些问题要求图书馆在业务流程管理上做出相应的调整,以适应新技术的应用。 总而言之,图书馆业务流程的管理与优化是...

Global site tag (gtag.js) - Google Analytics