陈伟 卜庆凯
摘要:随着移动互联网的快速发展,日益增长的用户数据带来了严重的信息过载问题,而推荐系统是解决信息过载中比较有效的解决方案。推荐系统是一种个性化信息服务系统,能够很好地充当用户和信息资源之间的桥梁。通过阐述推荐系统的基本概念和形成,探讨了几种常见的比较优秀的互联网推荐系统,即基于近邻的推荐、基于内容的推荐以及基于情境感知的推荐。
关键词:信息过载;推荐系统;互联网;近邻;情境感知
中图分类号:TP18 文献标识码:A 文章编号:1009-3044(2018)11-0029-03
A Review of the Research on Mobile Internet Recommendation System
CHEN Wei, BU Qing-kai
(College of Electronic Information, Qingdao University, Qingdao 266071, China)
Abstract: With the rapid development of mobile Internet, the increasing user data has brought serious information overload. Recommender system is a more effective solution to information overload. The recommendation system is a personalized information service system, which can serve as a bridge between users and information resources. After describing the basic concept and formation of recommender system, this paper discusses several kinds of excellent Internet recommendation systems, which are neighbor based recommendation, content based recommendation and context aware recommendation.
Key words: information overload;recommender system;internet;a near neighbor;situational perception
1 研究背景
随着网络信息技术和互联网大数据的快速崛起,用户已经从一个信息匮乏的时代逐步走向信息过载(Information Overload)的时代。在这个日益增长的信息时代里,信息的消费者和创造者都面临着一种迷茫的状态,消费者面临收集信息的困难,创造者面临创造信息的困难。尽管目前有搜索引擎及对应的门户网站可以为用户提供信息的检索和查找功能,但仍然无法很高效的解决信息过载问题。而推荐系统(Recommendation System,简称RS)是目前解决网络信息资源的重要方法,也是解决信息过载的重要手段。
推荐系统和搜索引擎一样,也是一种帮助用户快速发现有用信息的工具。其任务就是关联用户和数据,帮助用户发现对自己有价值的信息。由于信息过滤的特殊属性,推荐系统可以应用在任何规模的电子商务网站中,并为这些网站提供了海量的推荐结果。
1.1 推荐系统概念及定义
推荐系统最早源于Xerox公司在1992年使用Tapestry系统来解决研究中心邮件信息过载的问题,而真正有针对性的研究是1994年GroupLens研究组开发的GroupLens推荐系统[1]。推荐系统的形式化定义为[2]:
式中[C]是所有用户[c]的集合,[S]是所有可推荐对象[s]的集合,通常集合[C]和[S]的数量很大。设效用函数[u( )]可用来计算对象[s]对用户[c]的推荐度,即[u:C×S→R],[R]是一定范围内的全序的非负实数集合,推荐系统研究的问题是找到推荐度[u]最大的对象[S*]。
推荐系统由三个重要的模块组成:用户模型、推荐对象模型和推荐算法模块。常见的推荐系统基本流程模型如图 1所示[3]。
2 互联网推荐系统分类
2.1 基于内容的推荐
基于内容的推荐给定用户过去喜欢的相似物品,通过一系列已评分物品的描述,从而建立特征模型。推荐的主要处理过程是将用户信息和内容对象相匹配,结果就是用户对某个对象感兴趣程度的评价[4]。如果用户兴趣模型准确地反映了用户的偏好,信息访问的过程则会带来巨大的优势。
推荐给用户的对象可以表示成一系列的特征(也可称為属性),比如在电影推荐系统中,描述一部电影的特征有主演、导演、类型、主题等[5]。在大多数基于内容过滤的推荐系统中,对象是从Web网页、电子邮件、新闻或产品描述中提取的文本特征。
在Web推荐系统领域中,关于内容的比较著名的推荐系统有Letizia、Syskill&Webert;和ifWeb等。Letizia[6]是一个网页浏览器的扩展,通过跟踪用户浏览行为以及依据和用户兴趣相关的关键词进行个性化建模,该系统是通过隐式反馈的方式来推断用户的喜好。Syskill&Webert;通过使用128个最有代表性的词来表示文档。ifWeb采用高级的将信息表示成一定形式带权重的语义网,并且在显式反馈的基础上给用户兴趣加了时间衰减机制。
在其他基于内容的推荐系统应用领域,LIBRA[7]利用从Amazon在线电子商店获取的关于产品描述的网页做了一个书籍推荐系统,实现了一个朴素贝叶斯文本分类方法。Citeseer通过使用文字信息和分析论文中的共同引文来协助用户搜索学术文献。Movies2GO通过在用户评分系统中加入投票功能来学习用户偏好。
而在对过去20年来主流推荐系统的发展分析中可以发现,同时对物品和用户信息采用基于关键词的表示,再通过足够多的信息证明用户兴趣可用后,可以准确预测用户的行为。
2.2 基于近邻的推荐
基于近邻算法由于其算法简单、高效,且能够提供准确个性化推荐的优势广泛应用于协同推荐系统中。协同过滤算法克服了基于内容推荐的一些局限,在物品内容不完全或者难以获得的时候,依然可以通过其他用户的反馈来推荐给用户。
在文献[8]中将协同过滤方法大致分为两类:基于近邻方法和基于模型方法,而基于近邻的方法可以提供基于用户和基于物品的推荐来实现。常见的基于用户的推荐系统有GroupLens[9]、Bellcorevideo[10]和Ringo[11],通过利用对物品[i]评价并且和用户[u]有相似评价习惯的其他用户(近邻)来评估用户[u]对物品[i]的感兴趣程度。基于物品方法是用户[u]给相似于[i]的物品评分来预测用户[u]对物品[i]的評分。
基于近邻推荐系统是在预测中直接使用已有数据预测,而基于模型的方法是使用这些评分来学习预测模型。基于模型推荐方法在刻画用户喜好方面有突出优势,在电影推荐系统中可以断定用户是喜剧或爱情电影的影迷,且无须准确区分喜剧和爱情两个维度。而基于近邻方法能够捕捉数据之间的关联,其电影推荐系统很有可能给用户推荐与他平常品味不一样或不知名的电影,只要他的近邻用户给了这部电影很强的评分。
基于近邻推荐方法直接而且容易实现,在计算过程中只需要用于预测的近邻数目这一个参数需要调整,并且可以预先通过离线计算近邻。对新增项目的受影响程度小,在高效率的同时提供近乎即时的推荐结果。此外这种近邻存储占用的内存较少,适用于拥有大量的用户和物品的应用。在基于近邻推荐系统的实现中有三个非常重要的因素:评分标准化、相似度权重计算、近邻的选择,这些因素对推荐系统的准确性、效率和推荐质量具有重要的影响。
当用户对物品评分的时候,不同的用户有自己的评分标准。即使定义每个评分的意义,有些用户依然会不情愿给他们喜欢的物品评高分或给他们不喜欢的物品评低分,而通过评分标准化机制可以将个人评分标准转换为整体的评分标准。
相似度权重在基于近邻的推荐方法中扮演双重角色:一是可以选择可信的近邻用于预测评分;二是给予不同近邻在预测中的权重。计算相似度权重也是基于近邻推荐系统中最重要的一个方面,它可以直接影响推荐系统的准确性和性能。常用的计算权重的方法包括皮尔逊相关系数、夹角余弦相似度以及均方差等。
近邻数量的选择及其规则对于推荐系统的质量同样会产生重要影响。首先使用全局过滤保持最有可能的近邻,其次在预测每一步中需要选择最合适的近邻作推荐预测。预选近邻数通过减少存储相似度权重数量来限制,常用的几种方法有:Top-N过滤、阈值过滤、负值过滤,这三种方法相互之间不互斥,且可以根据推荐需要结合在一起使用。
2.3基于情境感知的推荐
目前的推荐系统研究领域大多数只是关注把最相关的物品推荐给用户,却忽略了相关情境信息,比如时间、地点、人物等,即传统的推荐系统只适用于两类实体——用户和物品,并没有将它们放入某种情境中考虑。例如推荐一个旅行套餐、个性化网站或某部电影,只考虑用户和物品是远远不够的。旅行系统在考虑了温度因素后,系统在不同季节会推荐不同的度假地;个性化网站会在工作日推荐实时新闻、股票信息等,而在周末则会推荐购物商品信息等,消费者的决策行为与当时的情境相关。
情境在不同的学科具有不同的研究,并在每门学科的基础上具有不同的定义。Bazire和Brezillon[12]找到并分析了不同领域共计150种情境的定义,这些情境的定义概念具有复杂性和多面性的特点。在数据挖掘中,情境被定义为能够标识用户生活各阶段可改变个人爱好、状态和商业价值的特征性事件[13]。在电子商务领域,Palmisano等人[14]通过用户的购买意向作为一个情境来建立档案,并利用档案建立顾客模型,分析预测购买行为。
在文献[15]中作者说明了情境信息在推荐系统中的重要性,并提出了一个多维的方法,在传统的推荐基础上进行情境信息提供推荐。而Adomavic等也通过距离说明了情境信息对推荐系统的影响,在一定的情况下,情境信息可以提高推荐的质量。实践表明,情境感知的方法在推荐精度和用户满意度上明显优于相同的非情境感知系统。
传统的推荐系统是通过评分函数[R]给未评分的[user,item]评分:
[user]和[item]分别代表用户和物品的取值空间,这种为每个用户推荐评分最高物品的系统称为传统或二维(2D)系统,因为推荐时只考虑用户和物品两个维度。但是这种推荐方法在给用户做推荐时并没有考虑额外的情景信息,比如时间、地点和陪伴人等。因此,需要探究情景感知推荐系统(CARS),该系统通过将已有的情景信息作为附加数据类型整合到推荐流程中,来处理对用户兴趣和偏好的建模以及预测问题。这种长期的偏好和兴趣通常以评分来标识,其对应的模型不仅是物品和用户的函数,也是情境信息的函数,其评分函数可定义为:
与传统的评分函数定义不同的是多了[Context]维度,该维度声明了与之相关的情境信息。例如在一个电影推荐系统中,用户和电影的关系描述包含以下属性:
1) 电影:包括所有被推荐的电影集合,可被定义为Movie(MovieID、标题、导演、类型等)。
2) 用户:获得电影推荐的用户,定义为User(UserID、姓名、年龄、职业等)。
以及包括以下情境信息的属性:
3) 时间:电影放映时间,定义为Time。
4) 剧院:放映电影的剧院,定义为Theater(TheaterID、名称、容量、地址等)。
5) 同伴:代表和用户一起去看电影的人,定义为Companion。
在該电影推荐系统中,情境信息中的[Context]可以有不同的类型,每种类型定义了情境的一个方面,比如时间、地点、同伴等。此外每个情境的类型都可能反映了情境信息的复杂性,这种复杂性有不同的表现形式,常见的表现形式是树状的层次结构。
情境信息有时会以一种潜在的形式隐藏在数据里,我们并不一定要显式地获得信息,可以直接隐式地使用这些信息,从而获得对未知情形更加准确的评分。Dourish[16]提出将情境定义为一组预先定义的情境属性,其结构不随时间变化。而在推荐结果之前,需要识别和获取情境信息。不管情境信息是通过哪种方式获取,也要作为整体数据收集过程中一个不可分割的执行部分。因此,这些情境信息是互相相关的,在设计时就要明确需要收集的信息,这样在后来的实际推荐中才会有更加合理的应用。
3 总结与展望
在信息过载的互联网背景下,推荐系统在各个领域的数字化过程中的作用越发重要。自从人们开发出被称为推荐系统的第一批算法和系统以来,新的技术和改进层出不穷,算法也变得更有扩展性。不过,从行为科学的角度来看,我们还需要付出更多的努力才能发展更加完善的推荐系统。此外还需要一种规范性理论引导专业人员,告诉我们在哪些领域和情况下适合应用哪种推荐算法。
参考文献:
[1]ResIlickP., lacovou N., eIa1.CroupLens:An 0penArchitecIurefor Collaborative Filtering ofNetnews[C]//Proceedings of ACM Conference on Computer SupportedCooperative Work,CSCW,1994:175-186.
[2]Adomavicious G.,Tuzhilin A. Toward the next generation of recommender systems: a survey of the state-of-the-art and possible extensions[J]. IEEE Transaction on Knowledge and Data Engineering, 2005,17(6):734-749.
[3]许海玲. 互联网推荐系统比较研究[J]. 软件学报,2009,20(2):350-362.
[4]Mladenic,D. Text-learing and Related Intelligent Agents: A survey. IEEE Intelligent Systems,1999,14(4):44-54.
[5]Pazzani,M.J., Billsud,D., Content-Based Recommendation Systems. In:P.Brusilovsky,A.Kobsa,W. Nejdl(eds) The Adaptive Web, Lecture Notes in Computer Science,vol.4321,pp.325-341(2007).
[6]Lieberman,H.,Letizia:an Agent that Assists Web Browsing. In: Proceedings of the International Joint Conference on Artificial Intelligence,pp.924-929.Morgan Kaufmann(1995).
[7]Mooney,R.J., Roy,L.,Content-Based Book Recommending Using Learning foe Text Categorization. In:Proceedings of the 5th ACM Conference on Digital Librariew,pp.195-204.ACM Press, New York,US,SanAntonio,us(2000).
[8]Deshpande,M., Karypis, G. Item-based top-N recommendation algorithms. ACM Transaction on Information Systems,2004,22(1):143-177.
[9]Konstan,J.A., Miller,B.N., Maltz,D., Herlocker,J.L.,Gordon,L.R., Riedl,J.:GroupLens:applying collaborative filtering to usenet news. Communications of the ACM 1997,40(3):77-87.
[10]Hill,W., Stead, L., Rosenstein,M., Furnas,G.:Recommending and evaluating choices in a virtual community of use. In:CHI95:Proc. Of the SIGCHI Conf. on Human Factors in Computing Systems,pp.194-201.ACM Press/Addison-Wesley Publishing Co.,NewYork,NY,USA(1995).
[11]Shardanand,U., Maes,P.:Social information filtering:Algorithmsfor antomating“word of mouth”.In:CHI95:Proc.of the SIGCHI Conf.on Human factors in Computing Systems,pp.210-217.ACM Press/Addison-Wesley Publishing Co.,NewYork,NY,USA(1995).
[12]Bazire,M.,andP.Brezillon. Understanding context before using it. In Dey,A., and et al., editors, Proceedings of 5th International Conference on Modeling and Using Context.Springer-Verlag,2005.
[13]Berry,M.J., and Linoff, G., Data mining techniques:for marking,sales,and customer support. John Wiley & Sons, Inc. New York,NY,USA,1997.
[14]Palmisano,C., Tuzhilin,A., and Gorgoglione, M., Using context to improve predictive modeling of customers in personalization applications. IEEE Transaction on Knowledge and Data Engineering,2008,20(11):1535-1549.
[15]Adomavicius,G., Sankaranarayanan,R., Sen, S., and Tuzhilin, A., Incorporation contextual information in recommender systems using a multidimensional approach. ACM Transactions on Information Systems(TOIS),2005,23(1):103-145.
[16]Dourish,P., What we talk about when we talk about context. Personal and ubiquitous computing,2004,8(1):19-30.