A Time-based Recommender System using Implicit Feedback
推荐系统调研报告及综述
推荐系统调研报告及综述张永锋清华大学计算机系人工智能研究所zhangyf07@一、推荐系统概述1.1 什么是推荐系统推荐系统(Recommender System)的发展已经经历了近20年的时间,但是迄今为止仍没有人试图对推荐系统给出一个精确的定义。
广义上的推荐系统可以理解为是主动向用户推荐物品(Item)的系统,所推荐的物品可以是音乐、书籍、餐厅、活动、股票、数码产品、新闻条目等等,这依赖于具体的应用领域,推荐系统所推荐的物品或者对用户有帮助,或者用户可能感兴趣[1]。
随着电子商务规模的不断扩大,商品数量和种类不断增长,用户对于检索和推荐提出了更高的要求。
由于不同用户在兴趣爱好、关注领域、个人经历等方面的不同,以满足不同用户的不同推荐需求为目的、不同人可以获得不同推荐为重要特征的个性化推荐系统(Personalized Recommender System)应运而生[1]。
目前所说的推荐系统一般指个性化推荐系统。
1.2 推荐系统的发展历史如果追根溯源,推荐系统的初端可以追溯到函数逼近理论、信息检索、预测理论等诸多学科中的一些延伸研究。
推荐系统成为一个相对独立的研究方向一般被认为始自1994年明尼苏达大学GroupLens研究组推出的GroupLens系统[2]。
该系统有两大重要贡献:一是首次提出了基于协同过滤(Collaborative Filtering)来完成推荐任务的思想,二是为推荐问题建立了一个形式化的模型(见1.4)。
基于该模型的协同过滤推荐引领了之后推荐系统在今后十几年的发展方向。
GroupLens所提出的推荐算法实际上就是目前人们时常提及的基于用户的协同过滤推荐算法(User-based Collaborative Filtering Algorithms),虽然论文本身并没有使用这样一个名字。
在之后的十几年中,其它一些著名的协同过滤算法逐渐被提出,主要的有基于物品的协同过滤算法(Item-based Collaborative Filtering Algorithms)[3],基于矩阵分解的协同过滤算法(SVD-based/NMF-based, etc.)等等。
一种权衡性能与隐私保护的推荐算法
used as an evaluation index to measuYe theYecommendation accuYacy. TheYesults show that negativesampling makeshigheYpYedictionaccuYacythantheoYiginal.AndtheYecommendation
Xi'any #Beijing)Co8&Ltd8&Beijing100085&China(
48SchoolofComputerScienceandEngineering&Nanjing UniversityofTechnology&Nanjing210094&China)
的项目因子V,若攻击者掌握的背景信息为受害者
非敏感的偏好评级R”,则可以通过8 =52512-1反
推出受害者向量81,从而进一步根据R*=U1V获取 受害者的其余敏感的偏好评级,造成用户向量、偏好
向量等隐私泄露。
2性能与隐私保护均衡的推荐算法
根据上述对 荐 矩阵分 模
分析, 本文在所 出 性能
保
荐算法中,使用基于矩阵分解的差分隐私保护推荐 算法6作为基础推荐模型,分析其中隐私保护参数
数据准备
一
学
习 者 资 源 偏 好 评
样 本 平 衡 处 理
分
一
模型构建
添加
Laplace
噪声
I基于输入皤線隐私矩阵
偏置项矩 阵分解模
型
基于模型
基于随机梯度 下降求解添加 Laplace 噪声
隐私 矩 阵
动态信任关系建模和管理技术研究
49.Gerck E Toward Real-World Models of Trust 1998
20.Chen R.W.Yeager Poblano:A Distributed Trust Model for Peer-to-Peer Networks.Sun Microsystems 2000
21.Winsborough W H.N Li Towards Practical Automated Trust Negotiation 2002
11.A.Abdul-Rahman.S.Halles A distributed trust model 1997
12.A.Abdul-Rahman.S.Hailes Using recommendations for managing trust in distributed systems 1997
34.F.Cornelli.E.Damiani.S.C.Vimercati.S.Paraboschi,P.Samarati A reputation-based approach for choosing reliable resources in peer-to-peer networks 2002
●由于PeerTrust和SecDWTrust都采用了社群信任查询的方法,因此在可信节点占大多数的情况下可以避免虚假的推荐,在~定程度上减轻了联合作弊的危害。而DwTrust 仪依赖直接经验进行判断,在缺乏赢接交互历史的情况下,无法识别联合欺骗行为。
推荐手册
推荐手册推荐系统是近几年比较新的一个领域,目前比较完整的介绍这个领域的资料,主要是一些综述性paper。
这些paper往往都各有侧重点,大多比较偏重推荐算法这一个层面,不够全面。
2011年的时候,国外一些在个性化推荐领域浸淫多年的人合作写了《Recommender System Handbook》一书,弥补了这方面的一个空白。
其实这个东西与其说是一本书,不如说是一个资料集。
它的写作方式看起来是几个大牛先拍下来应该包含哪几部分,每一部分包括哪些topic,然后把每一个topic分给对应的人写命题作文。
这样的后果就是这本手册的每一章都是不同的作者写的,导致全书的连贯性和一致性较差,也就不够权威了。
然而尽管权威性不足,这本书仍然是目前能够找到的最全面的推荐系统方面的资料。
鉴于此,我决定通读一遍这本书。
在阅读的过程中,对每一章结合自己的理解,写一篇读书笔记。
以此作为前言。
现代生活带来的一个深刻改变是:人们的选择越来越多。
我们选择看哪部电影,买哪个手机,看哪条新闻,租哪处房子…我们拥有的决策自由越来越多,随之而来的是,我们为这些决策付出的代价越来越多。
相信大家都有过同样的经历,为了买一样东西,将网上琳琅满目的商品页面从第一页翻到最后一页,最后精疲力竭,还是购买了最初看中的那一个。
有句俗话说得好:只有一个选择的人是最幸福的。
1. 推荐系统推荐系统的兴起,即是为了把人们从信息过载的陷阱中解决出来,帮助人们进行简单决策。
它的主要原理是根据用户过去的行为(比如购买、评分、点击等)来为用户建立兴趣模型,并利用一定的推荐算法,把用户最可能感兴趣的内容推荐给用户,如下图。
图1 推荐系统简图2. 数据为了完成上面的计算,我们需要三部分数据:(1)用户数据:用户数据用来建立用户模型,这些数据根据不同的推荐算法而不同,典型的数据包括用户兴趣点、用户profile、用户的社交好友关系等。
(2)内容数据:内容数据是用来描述一个被推荐内容主要属性的数据,这些属性主要都是跟具体的内容相关的,如一部电影的导演、演员、类型和风格等。
chapter03part01recommendation推荐系统.ppt
Recommender Systems
How do you know you can trust somebody’s recommendation?
Because experience has taught you? Because critic is trusted source of info? Because a friend/expert likes movies/novels/
Problems Cold-start: at initial stage, users can not get good recommendations Scalability Sparsity Users with different opinion or unusual taste may not get good recommendations
food you like? ???
Applications:
Book Recommender
Red Mars
Found ation
Jurassic Park
Lost World
2001
Difference Engine
Machine Lea User-Based
high correlation
like
A
B
C
Use user-item preferences
Explicit user ratings, transaction data
1. Find highly correlated users
Pearson correlation between user rating data
ru, j wa,u Pa, j uU wa,u ,
中英文搜索引擎
中英文搜索引擎【实验目的】(1)了解英文常用的搜索引擎的特点和检索方法,并能熟练地使用;(2)比较搜索引擎的性能。
【实验内容】上网熟悉以下的搜索引擎。
常用英文搜索引擎包括:Google Alltheweb Altavista Inktomi Northernlight Wisenut Openfind Teoma Gigablast 常用中文搜索引擎Baidu Google /intl/zh-CN/Openfind /cn.web.php?u=cn北大天网 /Alltheweb MSN Altavista 分组选取3个搜索引擎,4个主题进行深入研究【实验步骤】(1)开机,打开IE浏览器窗口;(2)在URL中输入或等搜索网站的域名,打开搜索网站主页;(3)在主页中搜索栏中输入和所选主题相关的关键词,点击“搜索”按钮;(4)在随后出现的搜索结果页面中查看搜索结果,并选择相应的链接点击进入下一页面,查看具体的信息内容;(5)要求写出搜索引擎的名称,检索信息的主题,检索结果。
可选择的主题信息检索系统的类型和特点搜索引擎名称:Baidu检索结果:现代信息检索服务系统指计算机信息检索系统,主要包括,联机检索系统、光盘检索系统和网络信息检索系统。
(一)光盘数据库检索光盘数据库检索是由微机、光盘数据库、检索软件等组成,目前国内普遍采用的是网络检索系统,它是由光盘服务器、计算机局域网、光盘库/磁盘阵列、检索软件等组成,其特点是设备简单、费用低、检索技术易掌握,但检索范围受到光盘数据库的限制。
更新不够及时;相对于手工检索而言,它的检索速度快,检索灵活方便,检索入口多。
(二)联机检索联机检索系统是由联机服务的中心计算机,检索终端。
通讯网络、联机数据库、检索软件等构成,检索终端通过信息路线与信息系统的主机连接,在中央处理机的控制之下查询系统的若干个数据库,并能够与系统实时对话,随时调整检索策略。
其特点是检索范围广泛、检索速度快,检索功能完善,及时性好,可以联机订购原文,它拥有的数据库量大,更新及时,但检索技术复杂,设备要求高,费用昂贵。
《小型微型计算机系统》期刊简介
2656小型微型计算机系统2020 年in collaborative filtering recommender systems [ J ]. Knowledge- Based Systems,2016,100( 10) :74-88.[19] Zhou W,W en J,Xiong Q,et al. SVM-TIA a shilling attack detection method based on SVM and target item analysis in recommender systems [ J ]. Neurocomputing, 2016,210 (40) : 197 -205.[20] Tong C, Yin X,Li J,et al. A shilling attack detector based on convolutional neural network for collaborative recommender system in social aware network [ J ]. The Computer Journal ,2018,61 ( 7 ):949-958.[21 ] Xu Y,Zhang F. Detecting shilling attacks in social recommendersystems based on time series analysis and trust features[ J]. Knowledge-Based Systems,2019,178(16) :25-47.[22] Wu Z,G ao J,M ao B,et al. Semi-SAD: applying semi-supervisedlearning to shilling attack detection [ C ]//Proceedings of the 5th ACM Conference on Recommender Systems, ( RecSys),ACM, 2011:289-292.[23] Wu Z,W u J,Cao J,et al. HySAD:a semi-supervised hybrid shillingattack detector for trustworthy product recommendation[ C]//P roceedings of the ACM SIGKDD Conference on Knowledge Discovery and Data Mining(KDD) ,ACM.2012:985-993.[24] Nie F,Wang Z, Wang R. Adaptive local linear discriminant analysis[J ]. ACM Transactions on Knowledge Discovery from Data, 2020,14(1) :1-19.[25] Abdi H,Williams L J. Principal component analysis[ J]. Wiley Interdisciplinary Reviews:Computational Statistics,2010,2(4) :433-459.[26] Zhong S,Wen Q,Ge Z. Semi-supervised Fisher discriminant analysismodel for fault classification in industrial processes [ J ]. Chemomet-rics and Intelligent Laboratory Systems,2014,138(9) :203-211. [27] Wu Fei,Pei Yuan,Wu Xiang-qian. Android malware traffic featureanalysis technique based on improved Bayesian mcxlel [ J ]. Journalof Chinese Computer Systems,2018,39(2) :230-234.[28] Chen Zhi,Guo Wu. Text classification based on depth learning onunbalanced data[ J]. Journal of Chinese Computer Systems,2020, 41(l):l-5.附中文参考文献:[1]陈海蚊,努尔布力.协同推荐研究前沿与发展趋势的知识图谱分析[J].小型微型计算机系统,2018,39(4) :814名19.[9]李聪,骆志刚,石金龙.一种探测推荐系统托攻击的无监督算法[J].自动化学报,2011,37(2):160-167.[15]伍之昂,庄毅,王有权,等.基于特征选择的推荐系统托攻击检测算法[J].电子学报,2012,40(8): 1687-1693.[17]李文涛,高旻,李华,等.一种基于流行度分类特征的托攻击检测算法[J].自动化学报,2015,41 (9) :1563-1576.[27]吴非,裴源,吴向前.一种改进贝叶斯模型的Android恶意软件流量特征分析技术[J] •小型微型计算机系统,2〇18,39(2) :230-234.[28]陈志,郭武.不平衡训练数据下的基于深度学习的文本分类[J].小型微型计算机系统,2020,41 (1): 1 -5.《小型微型计算机系统》期刊简介《小型微型计算机系统》创刊于1980年,由中国科学院主管、中国科学院沈阳计算技术研究所主办,为中国计算机 学会会刊.创刊40年来,该刊主要面向国内从事计算机研究和教学的科研人员与大专院校的教师,始终致力于传播我国计算 机研究领域最新科研和应用成果,发表高水平的学术文章和高质量的应用文章,坚持严谨的办刊风格,因而受到计算机 业界的普遍欢迎.《小型微型计算机系统》所刊登的内容涵盖了计算机学科的各个领域,包括计算机科学理论、体系结构、软件、数据 库理论、网络(含传感器网络)、人工智能与算法、服务计算、计算机图形与图像等.在收录与检索方面,在国内入选为:《中文核心期刊要目总览》、《中国学术期刊文摘(中英文版)》、《中国科学引文 数据库》(CSCD)、《中国科技论文统计源期刊》、《中国科技论文统计与分析》(RCCSE),并被中国科技论文与引文数据 库、中国期刊全文数据库、中国科技期刊精品数据库、中国学术期刊综合评价数据库、中国核心期刊(遴选)数据库等收 录.还被英国《科学文摘》(INSPEC)、俄罗斯《文摘杂志》(AJ)、美国《剑桥科学文摘》(C S A(N S)和CSA(T))、美国《乌利希期刊指南》(UPD)、日本《日本科学技术振兴机构中国文献数据库》(JS T)和波兰《哥白尼索弓|》(IC)收录.。
基于DNN的推荐系统
基于DNN的推荐系统近年来,随着互联网技术的不断发展,推荐系统已经成为了电商、社交网络等众多互联网企业不可或缺的一部分。
推荐系统可以帮助企业更好地了解用户,根据用户的历史行为和兴趣进行商品或服务的个性化推荐,从而提升用户的体验和企业的收益。
而基于深度学习的推荐系统(Deep Neural Network-based Recommender System,简称DNN-based Recommender System)则是推荐系统中的一种新兴技术,具有很高的研究和应用价值。
一、DNN-based Recommender System的特点DNN-based Recommender System是一种基于深度学习的推荐系统。
和传统的推荐系统相比,DNN-based Recommender System具有以下特点:1. 采用深度学习算法,可以更好地处理海量的用户行为数据,提高推荐的准确度。
2. DNN-based Recommender System可以自动学习用户和物品之间的关系,不需要人为规定特征。
3. DNN-based Recommender System可以灵活地处理不同类型的物品数据(如文本、音频、图像等),并进行综合推荐。
4. DNN-based Recommender System可以进行有效的迁移学习,从而提升新用户的推荐效果。
二、DNN-based Recommender System的算法原理DNN-based Recommender System主要采用基于神经网络的算法,通常包括以下几个步骤:1. 数据预处理:将用户和物品的历史行为数据转化为向量表示,包括用户特征向量和物品特征向量。
2. 神经网络建模:建立多层神经网络模型来学习用户和物品之间的关系。
通常包括输入层(输入用户和物品特征向量)、隐藏层和输出层(输出推荐结果的概率)。
3. 神经网络训练:采用基于反向传播算法的方法,对网络进行训练,并不断调整神经网络的参数,以提高推荐准确度。
Toward the Next Generation of Recommender Systems A Survey of the State-of-the-Art and Possible Exte
Toward the Next Generation of Recommender Systems:A Survey of the State-of-the-Art andPossible ExtensionsGediminas Adomavicius,Member,IEEE,and Alexander Tuzhilin,Member,IEEE Abstract—This paper presents an overview of the field of recommender systems and describes the current generation ofrecommendation methods that are usually classified into the following three main categories:content-based,collaborative,and hybrid recommendation approaches.This paper also describes various limitations of current recommendation methods and discussespossible extensions that can improve recommendation capabilities and make recommender systems applicable to an even broader range of applications.These extensions include,among others,an improvement of understanding of users and items,incorporation of the contextual information into the recommendation process,support for multcriteria ratings,and a provision of more flexible and less intrusive types of recommendations.Index Terms—Recommender systems,collaborative filtering,rating estimation methods,extensions to recommender systems.æ1I NTRODUCTIONR ECOMMENDER systems have become an important research area since the appearance of the first papers on collaborative filtering in the mid-1990s[45],[86],[97]. There has been much work done both in the industry and academia on developing new approaches to recommender systems over the last decade.The interest in this area still remains high because it constitutes a problem-rich research area and because of the abundance of practical applications that help users to deal with information overload and provide personalized recommendations, content,and services to them.Examples of such applica-tions include recommending books,CDs,and other products at [61],movies by MovieLens [67],and news at VERSIFI Technologies(formerly )[14].Moreover,some of the vendors have incorporated recommendation capabilities into their commerce servers[78].However,despite all of these advances,the current generation of recommender systems still requires further improvements to make recommendation methods more effective and applicable to an even broader range of real-life applications,including recommending vacations,certain types of financial services to investors,and products to purchase in a store made by a“smart”shopping cart[106]. These improvements include better methods for represent-ing user behavior and the information about the items to be recommended,more advanced recommendation modeling methods,incorporation of various contextual information into the recommendation process,utilization of multcriteria ratings,development of less intrusive and more flexible recommendation methods that also rely on the measures that more effectively determine performance of recommen-der systems.In this paper,we describe various ways to extend the capabilities of recommender systems.However,before doing this,we first present a comprehensive survey of the state-of-the-art in recommender systems in Section2.Then, we identify various limitations of the current generation of recommendation methods and discuss some initial ap-proaches to extending their capabilities in Section3.2T HE S URVEY OF R ECOMMENDER S YSTEMS Although the roots of recommender systems can be traced back to the extensive work in cognitive science[87], approximation theory[81],information retrieval[89], forecasting theories[6],and also have links to management science[71]and to consumer choice modeling in marketing [60],recommender systems emerged as an independent research area in the mid-1990s when researchers started focusing on recommendation problems that explicitly rely on the ratings structure.In its most common formulation, the recommendation problem is reduced to the problem of estimating ratings for the items that have not been seen by a user.Intuitively,this estimation is usually based on the ratings given by this user to other items and on some other information that will be formally described below.Once we can estimate ratings for the yet unrated items,we can recommend to the user the item(s)with the highest estimated rating(s).More formally,the recommendation problem can be formulated as follows:Let C be the set of all users and let S be the set of all possible items that can be recommended, such as books,movies,or restaurants.The space S of.G.Adomavicius is with the Carlson School of Management,University ofMinnesota,32119th Avenue South,Minneapolis,MN55455.E-mail:gedas@.. A.Tuzhilin is with the Stern School of Business,New York University,44West4th Street,New York,NY10012.E-mail:atuzhili@.Manuscript received8Mar.2004;revised14Oct.2004;accepted10Dec.2004;published online20Apr.2005.For information on obtaining reprints of this article,please send e-mail to:tkde@,and reference IEEECS Log Number TKDE-0071-0304.1041-4347/05/$20.00ß2005IEEE Published by the IEEE Computer Societypossible items can be very large,ranging in hundreds of thousands or even millions of items in some applications,such as recommending books or CDs.Similarly,the user space can also be very large—millions in some cases.Let u be a utility function that measures the usefulness of item s to user c ,i.e.,u :C ÂS !R ,where R is a totally ordered set (e.g.,nonnegative integers or real numbers within a certain range).Then,for each user c 2C ,we want to choose such item s 02S that maximizes the user’s utility.More formally:8c 2C;s 0c ¼arg max s 2Su ðc;s Þ:ð1ÞIn recommender systems,the utility of an item is usually represented by a rating ,which indicates how a particular user liked a particular item,e.g.,John Doe gave the movie “Harry Potter”the rating of 7(out of 10).However,as indicated earlier,in general,utility can be an arbitrary function,including a profit function.Depending on the application,utility u can either be specified by the user,as is often done for the user-defined ratings,or is computed by the application,as can be the case for a profit-based utility function.Each element of the user space C can be defined with a profile that includes various user characteristics,such as age,gender,income,marital status,etc.In the simplest case,the profile can contain only a single (unique)element,such as User ID.Similarly,each element of the item space S is defined with a set of characteristics.For example,in a movie recommendation application,where S is a collection of movies,each movie can be represented not only by its ID,but also by its title,genre,director,year of release,leading actors,etc.The central problem of recommender systems lies in that utility u is usually not defined on the whole C ÂS space,but only on some subset of it.This means u needs to be extrapolated to the whole space C ÂS .In recommender systems,utility is typically represented by ratings and is initially defined only on the items previously rated by the users.For example,in a movie recommendation application (such as the one at ),users initially rate some subset of movies that they have already seen.An example of a user-item rating matrix for a movie recommendation application is presented in Table 1,where ratings are specified on the scale of 1to 5.The “ ”symbol for some of the ratings in Table 1means that the users have not rated the corresponding movies.Therefore,the recommendation engine should be able to estimate (predict)the ratings of the nonrated movie/user combinations and issue appropriate recommendations based on these predictions.Extrapolations from known to unknown ratings are usually done by 1)specifying heuristics that define the utility function and empirically validating its performanceand 2)estimating the utility function that optimizes certain performance criterion,such as the mean square error.Once the unknown ratings are estimated,actual recommendations of an item to a user are made by selecting the highest rating among all the estimated ratings for that user,according to (1).Alternatively,we can recommend the N best items to a user or a set of users to an item.The new ratings of the not-yet-rated items can be estimated in many different ways using methods from machine learning,approximation theory,and various heuristics.Recommender systems are usually classified according to their approach to rating estimation and,in the next section,we will present such a classification that was proposed in the literature and will provide a survey of different types of recommender systems.The commonly accepted formulation of the recommendation problem was first stated in [45],[86],[97]and this problem has been studied extensively since then.Moreover,recommender systems are usually classified into the following categories,based on how recommendations are made [8]:.Content-based recommendations :The user will be recommended items similar to the ones the user preferred in the past;.Collaborative recommendations :The user will berecommended items that people with similar tastes and preferences liked in the past;.Hybrid approaches :These methods combine colla-borative and content-based methods.In addition to recommender systems that predict the absolute values of ratings that individual users would give to the yet unseen items (as discussed above),there has been work done on preference-based filtering ,i.e.,predicting the relative preferences of users [22],[35],[51],[52].For example,in a movie recommendation application,prefer-ence-based filtering techniques would focus on predicting the correct relative order of the movies,rather than their individual ratings.However,this paper focuses primarily on rating-based recommenders since it constitutes the most popular approach to recommender systems.2.1Content-Based MethodsIn content-based recommendation methods,the utility u ðc;s Þof item s for user c is estimated based on the utilities u ðc;s i Þassigned by user c to items s i 2S that are “similar”to item s .For example,in a movie recommendation application,in order to recommend movies to user c ,the content-based recommender system tries to understand the commonalities among the movies user c has rated highly in the past (specific actors,directors,genres,subject matter,TABLE 1A Fragment of a Rating Matrix for a Movie Recommender Systemetc.).Then,only the movies that have a high degree of similarity to whatever the user’s preferences are would be recommended.The content-based approach to recommendation has its roots in information retrieval[7],[89]and information filtering[10]research.Because of the significant and early advancements made by the information retrieval and filtering communities and because of the importance of several text-based applications,many current content-based systems focus on recommending items containing textual information,such as documents,Web sites(URLs),and Usenet news messages.The improvement over the tradi-tional information retrieval approaches comes from the use of user profiles that contain information about users’tastes, preferences,and needs.The profiling information can be elicited from users explicitly,e.g.,through questionnaires, or implicitly—learned from their transactional behavior over time.More formally,let ContentðsÞbe an item profile,i.e.,a set of attributes characterizing item s.It is usually computed by extracting a set of features from item s(its content)and is used to determine the appropriateness of the item for recommendation purposes.Since,as mentioned earlier, content-based systems are designed mostly to recommend text-based items,the content in these systems is usually described with keywords.For example,a content-based component of the Fab system[8],which recommends Web pages to users,represents Web page content with the 100most important words.Similarly,the Syskill&Webert system[77]represents documents with the128most informative words.The“importance”(or“informative-ness”)of word k j in document d j is determined with some weighting measure w ij that can be defined in several different ways.One of the best-known measures for specifying keyword weights in Information Retrieval is the term frequency/inverse document frequency(TF-IDF)measure[89]that is defined as follows:Assume that N is the total number of documents that can be recommended to users and that keyword k j appears in n i of them.Moreover,assume that f i;j is the number of times keyword k i appears in document d j.Then, T F i;j,the term frequency(or normalized frequency)of keyword k i in document d j,is defined asT F i;j¼f i;jmax z f z;j;ð2Þwhere the maximum is computed over the frequencies f z;j of all keywords k z that appear in the document d j. However,keywords that appear in many documents are not useful in distinguishing between a relevant document and a nonrelevant one.Therefore,the measure of inverse document frequencyðIDF iÞis often used in combination with simple term frequencyðT F i;jÞ.The inverse document frequency for keyword k i is usually defined asIDF i¼log Nn i:ð3ÞThen,the TF-IDF weight for keyword k i in document d j is defined asw i;j¼T F i;jÂIDF ið4Þand the content of document d j is defined asContentðd jÞ¼ðw1j;...w kjÞ:As stated earlier,content-based systems recommend items similar to those that a user liked in the past[56],[69], [77].In particular,various candidate items are compared with items previously rated by the user and the best-matching item(s)are recommended.More formally,let ContentBasedP rofileðcÞbe the profile of user c containing tastes and preferences of this user.These profiles are obtained by analyzing the content of the items previously seen and rated by the user and are usually constructed using keyword analysis techniques from information retrieval.For example,ContentBasedP rofileðcÞcan be defined as a vector of weightsðw c1;...;w ckÞ,where each weight w ci denotes the importance of keyword k i to user c and can be computed from individually rated content vectors using a variety of techniques.For example,some averaging approach,such as Rocchio algorithm[85],can be used to compute ContentBasedP rofileðcÞas an“average”vector from an individual content vectors[8],[56].On the other hand,[77]uses a Bayesian classifier in order to estimate the probability that a document is liked.The Winnow algorithm[62]has also been shown to work well for this purpose,especially in the situations where there are many possible features[76].In content-based systems,the utility function uðc;sÞis usually defined as:uðc;sÞ¼scoreðContentBasedP rofileðcÞ;ContentðsÞÞ:ð5ÞUsing the above-mentioned information retrieval-based paradigm of recommending Web pages,Web site URLs, or Usenet news messages,both ContentBasedP rofileðcÞof user c and ContentðsÞof document s can be represented as TF-IDF vectors~w c and~w s of keyword weights.Moreover, utility function uðc;sÞis usually represented in the information retrieval literature by some scoring heuristic defined in terms of vectors~w c and~w s,such as the cosine similarity measure[7],[89]:uðc;sÞ¼cosð~w c;~w sÞ¼~w cÁ~w sjj~w c jj2Âjj~w s jj2¼P Ki¼1w i;c w i;sffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiP Ki¼1w2i;cqffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiP Ki¼1w2i;sq;ð6Þwhere K is the total number of keywords in the system.For example,if user c reads many online articles on the topic of bioinformatics,then content-based recommenda-tion techniques will be able to recommend other bioinfor-matics articles to user c.This is the case because these articles will have more bioinformatics-related terms(e.g.,“genome,”“sequencing,”“proteomics”)than articles on other topics and,therefore,ContentBasedP rofileðcÞ,as defined by vector~w c,will represent such terms k i with high weights w ic.Consequently,a recommender system using the cosine or a related similarity measure will assign higher utility uðc;sÞto those articles s that have high-weighted bioinformatics terms in~w s and lower utility to the ones where bioinformatics terms are weighted less.Besides the traditional heuristics that are based mostly on information retrieval methods,other techniques for content-based recommendation have also been used,such as Bayesian classifiers[70],[77]and various machine learning techniques,including clustering,decision trees, and artificial neural networks[77].These techniques differ from information retrieval-based approaches in that they calculate utility predictions based not on a heuristic formula,such as a cosine similarity measure,but rather are based on a model learned from the underlying data using statistical learning and machine learning techni-ques.For example,based on a set of Web pages that were rated as“relevant”or“irrelevant”by the user,[77]uses the naive Bayesian classifier[31]to classify unrated Web pages.More specifically,the naive Bayesian classifier is used to estimate the following probability that page p j belongs to a certain class C i(e.g.,relevant or irrelevant) given the set of keywords k1;j;...;k n;j on that page:PðC i j k1;j&...&k n;jÞ:ð7ÞMoreover,[77]uses the assumption that keywords are independent and,therefore,the above probability is proportional toPðC iÞYxPðk x;j j C iÞ:ð8ÞWhile the keyword independence assumption does not necessarily apply in many applications,experimental results demonstrate that naı¨ve Bayesian classifiers still produce high classification accuracy[77].Furthermore,both Pðk x;j j C iÞand PðC iÞcan be estimated from the underlying training data.Therefore,for each page p j,the probability PðC i j k1;j&...&k n;jÞis computed for each class C i and page p j is assigned to class C i having the highest probability[77].While not explicitly dealing with providing recommen-dations,the text retrieval community has contributed several techniques that are being used in content-based recommen-der systems.One example of such a technique would be the research on adaptive filtering[101],[112],which focuses on becoming more accurate at identifying relevant documents incrementally by observing the documents one-by-one in a continuous document stream.Another example would be the work on threshold setting[84],[111],which focuses on determining the extent to which documents should match a given query in order to be relevant to the user.Other text retrieval methods are described in[50]and can also be found in the proceedings of the Text Retrieval Conference (TREC)().As was observed in[8],[97],content-based recommender systems have several limitations that are described in the rest of this section.2.1.1Limited Content AnalysisContent-based techniques are limited by the features that are explicitly associated with the objects that these systems recommend.Therefore,in order to have a sufficient set of features,the content must either be in a form that can be parsed automatically by a computer(e.g.,text)or the features should be assigned to items manually.While information retrieval techniques work well in extracting features from text documents,some other domains have an inherent problem with automatic feature extraction.For example,automatic feature extraction methods are much harder to apply to multimedia data,e.g.,graphical images, audio streams,and video streams.Moreover,it is often not practical to assign attributes by hand due to limitations of resources[97].Another problem with limited content analysis is that,if two different items are represented by the same set of features,they are indistinguishable.Therefore,since text-based documents are usually represented by their most important keywords,content-based systems cannot distin-guish between a well-written article and a badly written one,if they happen to use the same terms[97].2.1.2OverspecializationWhen the system can only recommend items that score highly against a user’s profile,the user is limited to being recommended items that are similar to those already rated. For example,a person with no experience with Greek cuisine would never receive a recommendation for even the greatest Greek restaurant in town.This problem,which has also been studied in other domains,is often addressed by introducing some randomness.For example,the use of genetic algorithms has been proposed as a possible solution in the context of information filtering[98].In addition,the problem with overspecialization is not only that the content-based systems cannot recommend items that are different from anything the user has seen before.In certain cases,items should not be recommended if they are too similar to something the user has already seen,such as a different news article describing the same event.Therefore, some content-based recommender systems,such as Daily-Learner[13],filter out items not only if they are too different from the user’s preferences,but also if they are too similar to something the user has seen before.Furthermore,Zhang et al.[112]provide a set of five redundancy measures to evaluate whether a document that is deemed to be relevant contains some novel information as well.In summary,the diversity of recommendations is often a desirable feature in recommender systems.Ideally,the user should be pre-sented with a range of options and not with a homogeneous set of alternatives.For example,it is not necessarily a good idea to recommend all movies by Woody Allen to a user who liked one of them.2.1.3New User ProblemThe user has to rate a sufficient number of items before a content-based recommender system can really understand the user’s preferences and present the user with reliable recommendations.Therefore,a new user,having very few ratings,would not be able to get accurate recommendations.2.2Collaborative MethodsUnlike content-based recommendation methods,collabora-tive recommender systems(or collaborative filtering systems) try to predict the utility of items for a particular user based on the items previously rated by other users.More formally, the utility uðc;sÞof item s for user c is estimated based on the utilities uðc j;sÞassigned to item s by those users c j2C who are“similar”to user c.For example,in a movierecommendation application,in order to recommend movies to user c ,the collaborative recommender system tries to find the “peers”of user c ,i.e.,other users that have similar tastes in movies (rate the same movies similarly).Then,only the movies that are most liked by the “peers”of user c would be recommended.There have been many collaborative systems developed in the academia and the industry.It can be argued that the Grundy system [87]was the first recommender system,which proposed using stereotypes as a mechanism for building models of users based on a limited amount of information on each individual ing stereotypes,the Grundy system would build individual user models and use them to recommend relevant books to each ter on,the Tapestry system relied on each user to identify like-minded users manually [38].GroupLens [53],[86],Video Recommender [45],and Ringo [97]were the first systems to use collaborative filtering algorithms to automate prediction.Other examples of collaborative recommender systems include the book recommendation system from ,the PHOAKS system that helps people find relevant information on the WWW [103],and the Jester system that recommends jokes [39].According to [15],algorithms for collaborative recom-mendations can be grouped into two general classes:memory-based (or heuristic-based )and model-based .Memory-based algorithms [15],[27],[72],[86],[97]essentially are heuristics that make rating predictions based on the entire collection of previously rated items by the users.That is,the value of the unknown rating r c;s for user c and item s is usually computed as an aggregate of the ratings of some other (usually,the N most similar)users for the same item s :r c;s ¼aggr c 02^Cr c 0;s ;ð9Þwhere ^Cdenotes the set of N users that are the most similar to user c and who have rated item s (N can range anywhere from 1to the number of all users).Some examples of the aggregation function are:ða Þr c;s ¼1N Xc 02^C r c 0;s ;ðb Þr c;s¼k X c 02^Csim ðc;c 0ÞÂr c 0;s ;ðc Þr c;s ¼"rc þk Xc 02^Csim ðc;c 0ÞÂðr c 0;s À"rc 0Þ;ð10Þwhere multiplier k serves as a normalizing factor and is usually selected as k ¼1 P c 02^Cj sim ðc;c 0Þj ,and where the average rating of user c ,"rc ,in (10c)is defined as 1"r c ¼À1 j S c j ÁX s 2S cr c;s;where S c ¼f s 2S j r c;s ¼ g :ð11ÞIn the simplest case,the aggregation can be a simple average,as defined by (10a).However,the most common aggregation approach is to use the weighted sum,shown in (10b).The similarity measure between users c and c 0,sim ðc;c 0Þ,is essentially a distance measure and is used as aweight,i.e.,the more similar users c and c 0are,the more weight rating r c 0;s will carry in the prediction of r c;s .Note that sim ðx;y Þis a heuristic artifact that is introduced in order to be able to differentiate between levels of user similarity (i.e.,to be able to find a set of “closest peers”or “nearest neighbors”for each user)and,at the same time,simplify the rating estimation procedure.As shown in (10b),different recommendation applications can use their own user similarity measure as long as the calculations are normalized using the normalizing factor k ,as shown above.The two most commonly used similarity measures will be described below.One problem with using the weighted sum,as in (10b),is that it does not take into account the fact that different users may use the rating scale differently.The adjusted weighted sum,shown in (10c),has been widely used to address this limitation.In this approach,instead of using the absolute values of ratings,the weighted sum uses their deviations from the average rating of the correspond-ing user.Another way to overcome the differing uses of the rating scale is to deploy preference-based filtering [22],[35],[51],[52],which focuses on predicting the relative prefer-ences of users instead of absolute rating values,as was pointed out earlier in Section 2.Various approaches have been used to compute the similarity sim ðc;c 0Þbetween users in collaborative recom-mender systems.In most of these approaches,the similarity between two users is based on their ratings of items that both users have rated.The two most popular approaches are correlation and cosine-based .To present them,let S xy be the set of all items corated by both users x and y ,i.e.,S xy ¼f s 2S j r x;s ¼ &r y;s ¼ g .In collaborative recom-mender systems,S xy is used mainly as an intermediate result for calculating the “nearest neighbors”of user x and is often computed in a straightforward manner,i.e.,by computing the intersection of sets S x and S y .However,some methods,such as the graph-theoretic approach to collaborative filtering [4],can determine the nearest neighbors of x without computing S xy for all users y .In the correlation-based approach,the Pearson correlation coefficient is used to measure the similarity [86],[97]:sim ðx;y Þ¼Ps 2S xyðr x;s À"rx Þðr y;s À"r y ÞffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiP s 2S xyðr x;s À"r x Þ2P s 2S xyðr y;s À"ry Þ2r :ð12ÞIn the cosine-based approach [15],[91],the two users x and y are treated as two vectors in m -dimensional space,where m ¼j S xy j .Then,the similarity between two vectors can be measured by computing the cosine of the angle between them:sim ðx;y Þ¼cos ð~x ;~y Þ¼~x Á~yjj ~x jj 2Âjj ~y jj 2¼Ps 2S xy r x;s r y;s ffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiP s 2S xyr 2x;sr ffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiP s 2S xyr2y;sr ;ð13Þwhere ~x Á~y denotes the dot-product between the vectors ~xand ~y .Still another approach to measuring similarity between users uses the mean squared difference measure1.We use the r c;s ¼ notation to indicate that item s has not been rated by user c .。
Computer and Information Sciences
Middle-Agents for the InternetKeith Decker Computer and Information Sciences University of Delawaredecker@ Katia Sycara and Mike Williamson The Robotics InstituteCarnegie-Mellon University(sycara,mikew)@AbstractLike middle-men in physical commerce,middle-agents support theflow of information in electroniccommerce,assisting in locating and connecting theultimate information provider with the ultimate in-formation requester.Many different types of middle-agents will be useful in realistic,large,distributed,open multi-agent problem solving systems.Theseinclude matchmakers or yellow page agents that pro-cess advertisements,blackboard agents that collect re-quests,and brokers that process both.The behav-iors of each type of middle-agent have certain per-formance characteristics—privacy,robustness,andadaptiveness qualities—that are related to character-istics of the external environment and of the agentsthemselves.For example,while brokered systems aremore vulnerable to certain failures,they are also ableto cope more quickly with a rapidlyfluctuating agentworkforce and meet certain privacy considerations.This paper identifies a spectrum of middle-agents,characterizes the behavior of three different types,andreports on initial experiments that focus on evaluat-ing performance tradeoffs between matchmaking andbrokering middle-agents,according to criteria suchas load balancing,robustness,dynamic preferences orcapabilities,and privacy.1IntroductionOne of the basic problems facing designers of open,multi-agent systems for the Internet is the connection problem[Davis and Smith,1983]—finding the other agents who might have the in-formation or other capabilities that you need.There are two special types of information used in this process—preferences and capabilities.In multi-agent information systems,a prefer-ence is(meta)knowledge about what types of information have utility for a requester,both in form(John follows the price of SUNW)and other characteristics(John wants only free infor-mation;John wants stock quotes at least every35minutes).Apreferences initially known byprovider+middle agent“front-agent”requester+middle agent anonymizer recommenderintroducer/bodyguardTable1:Middle-agent roles in the solution space to the connection problem,categorized by explicit initial privacy concerns.problem constrain agent architecture and behavior design. Finally,we will examine some empirical results on the com-parative performance of brokered and matchmade systems. The questions we will be examining includefirst the quanti-tative end-to-end response time advantages and disadvantagesof matchmaking and brokering behavior.Second,we will examine characteristics of these behaviors with respect to ro-bust and adaptive open systems,where agents might enter and exit the system at any time.Our experimental results were achieved using an implementation of the W ARREN multi-agent financial portfolio management system[Sycara et al.,1996; Decker et al.,1996].2Definitions and ModelWe will examine the connection problem from the standpoint of privacy considerations.In particular,we examine knowledge about requester agent preferences,and provider agent capabili-ties.A specific request is an instance of an agent’s preferences, and a specific reply or action in service of a request is an in-stance of an agent’s capabilities.Furthermore,an agent can have a mental state with respect to a particular specification of a preference or capability.An advertisement is a capability spec-ification such that the agent creating the advertisement is com-mitted to servicing any request that satisfies the advertisement’s constraints.Symmetrically,a want-ad is a preference specifica-tion by a requester who is committed to accepting any reply that meets the constraints in the preference spec.Preference information can initially be kept private at the requester,be revealed to some middle agent(neither the re-quester nor the ultimate provider),or be known by the provider itself.The same three possibilities exist for capability info (see Table1).This leads to nine general middle-agent roles in information-gathering organizations,of which this paper has room to examine three.A blackboard is a middle-agent that keeps track of requests.Requesters post their problems; providers can then query the blackboard agent for events they are capable of handling.This class includes newsgroups and bulletin boards.A broker is a middle-agent that protects the privacy of both the requester and provider.The broker under-stands both the preferences and capabilities,and routes both requests and replies appropriately.Neither the requester nor provider ever knows directly about the other in a transaction.A matchmaker/yellow-pages is a middle agent that stores ca-pability advertisements that can then be queried by requesters. The requesters then choose and contact any provider they wish directly.Clearly whenever a requester and provider come into direct contact multiple times it is possible for one to learn the pref-erences or capabilities of the other.For example,some workdescribe agents that attempt to learn the preferences of peo-ple[Maes and Kozierok,1993].Other work reports on agentsthat learn capabilities[Kautz et al.,1996].Hybrid organi-zations can be used to protect both requesters and providers from learning agents;e.g.,requesters can use an anonymizermiddle-agent even if the nominal organization is blackboard-like.An anomynizer middle-agent knows the preferences of the requester,posting on the requester’s behalf(such systems are re-ally used on the Internet).Such hybrids add to communication costs and potential for failures,however.We will later discussanother hybrid,the combination of matchmade and brokered organizations,that avoids some of these problems and brings together robustness and efficiency characteristics.We will focus our attention on the3diagonal boxes repre-senting minimal information travel:the blackboard organiza-tion where preference commitments or individual requests are posted for everyone to see,but true capabilities remain hidden;amatchmaker organization where providers freely advertise their capabilities but requesters remain private;and brokered orga-nizations where preferences/requests are joined to capabilities using either market allocation mechanisms,OS load balancing algorithms,or managerial task assignment schemes.Because ourinterest is in open systems,where all agents may come and go, and preferences and capabilities may change dynamically,we are limiting our discussion to middle-agent systems where the capa-bilities of all agents are not known and hard-coded at compile time.2.1Organizational Role BehaviorsEach organizational model relies on three basic roles:that of the requester,the middle-agent,and the provider.Any one agent ina domain system might take on multiple roles,for example an agent that requests basic info from several providers,does some complex integration,and then serves the integrated info to otherrequesters.In this model,communicative acts are limited to re-quests,replies,and commitments.This has two benefits:first,the semantics of requests and commitments are well-understood [Finin et al.,1994;Cohen and Levesque,1995],and second, such a model allows us to build simpler agents that can work inan open environment with hybrid behaviors(e.g.,both match-making and brokering).In a matchmade organization,providers advertise1their ca-pabilities with a matchmaker2.If those capabilities change,orthe agent exits the open system,the provider unadvertises.A matchmaker stores these advertisements in a local database.A requester wishing to ask a queryfirst formulates a meta-query asking for advertisements from agents that could respond to the query.This meta-query is asked of a matchmaker,which re-sponds with a set of matching advertisements.The requester can then use its full preferences to choose a provider,and make its request directly.Furthermore,if this type of query is asked often,then the requester can subscribe to updated advertise-ments from a matchmaker,and keep a local cache of the cur-rent advertisements(see Section2.3).Blackboard organizations are extremely similar,but with requester and provider behav-ior reversed(e.g.requesters send want-ads to the blackboard). In brokered organizations,requester behaviors remain the same. In a pure brokered organization the brokers are generally known by all the agents,just like a matchmaker is.However,for prac-ticality in an open system hybrid brokered organizations use a matchmaker so that providers and requesters canfind the appro-priate broker(see Section2.5).Providers query a matchmaker tofind an appropriate broker,and then advertise with one bro-ker.Brokers advertise summary capabilities built from all the providers that have advertised with them;these capabilities are advertised in turn to the matchmaker.When a request comes in,the broker matches it with a provider and sends it on;the re-ply is then sent back to the original requester.The methods by which a broker assigns requests to providers can drawn from sev-eral areas of research,including OS load balancing,managerial task assignment,and market-based economics.Which methods to choose will depend on several environmental factors(such as whether the providers are self-interested or cooperative agents) and will be a subject for future work.2.2EfficiencyThe main performance attribute which we have measured(Sec-tion3)is,the total elapsed time taken by a requester to sat-isfy a service objective.It includes:(1)time spent planning and scheduling by the requester,middle-agent,and provider, (2)time spent communicating between agents(given that we al-ways use a middle-agent rather than compiling infixed agent name,this feature of our agents,denoted,includes four com-munication actions);(3)time spent by the provider providing the service;(4)time spent waiting at a provider which is busy fulfilling prior requests,denoted(this is a function of the re-quest generation period,,and of the number of providers, ).Our system can be roughly described by a queuing network model[Lazowska et al.,1984].According to queuing network theory,the total elapsed time to fulfill a request is, where is total computational demand of the request(in ourthen the system will be saturated and will grow without bound.Otherwise,a fundamental result of queuing theory is that the expected elapsed time per request is:(1)This result depends on the service request load being equally dis-tributed across all providers,or else the elapsed time per request will be greater.Since a brokered system can precisely balance the load on providers,while a matchmaker or blackboard organiza-tions only stochastically does so,we would expect the broker to provide better elapsed times.Of course some decentralized load balancing can be done even in a matchmade organization,at the expense of extra communication.2.3RobustnessDecentralized organizations such as matchmade or blackboard orgs with caching are significantly more robust than centralized organizations such as brokered orgs.Malone[Malone,1987] examines the basic vulnerability of decentralized and central-ized markets,defined as the sum of the expected costs of each possible failure times the probability of that failure.Letand be the probability of failure of a requester,middle-agent, and provider respectively;and be the cost of reassigning a task upon provider failure,be the cost of losing all the re-quests at a single requester(this is a function of and above), and be the cost of losing all access to a single class of ca-pabilities.Assuming providers,requesters,and brokers each brokering a single class of capabilities,the vulnerability of a brokered organization isInterestingly,a matchmade system where every requester must check the matchmaker/yellow-pages every time,does no better! However,it is easy to have a requester cache matchmaker results so that if a matchmaker fails,the cached information can be used temporarily.This behavior changes the vulnerability of a matchmade system towhich agrees with Malone’s predictions for decentralized mar-kets.Blackboard systems are similar to the matchmade systems, but it is more unlikely for cached requests to be useful,as op-posed to cached capabilities.2.4AdaptivityThefinal characteristic we will discuss is the effect of dynam-ically changing preferences and capabilities.An example of a preference change in the W ARREN domain is the need to track a new stock,or an old stock at a new frequency.An example ofa capability change is the entry or exit of a new provider.The ability of an organization to quickly adapt to new preferences or capabilities is a function of the distance that the information has to travel,and the costs of keeping that information up-to-date. For example,in a matchmade organization,capability informa-tion is available locally to the requesters,and so a change in pref-erences can be acted on instantaneously.The reverse holds for blackboard organizations and changing capabilities.In either case,the primary costs are in keeping the local cache of public information(capability info,in the matchmade case).Brokered organizations again represent a useful design alternative,requir-ing only that the broker be notified of changes,but requiring such messages for both capability and preference changes. Since we are interested in an open system,let us look at what happens to the maximum service time when providers come and go.will obviously change as the number of providers changes,but Eqn1only holds when the system is not sat-urated.When the system is saturated,the queues of the re-maining agents will begin to grow(along with)until the lost providers are restored.If we define the excess capacity of the system at time as:(2) then the maximal queue length at time is:(3) and we can predict the maximal response time as the max of the steady state response time and the response time implied by the maximal(FIFO)queue length.As usual,this only holds for a brokered system where the load is perfectly balanced as providers come back on line.In a matchmade system,if the agents make no attempt at load balancing,the may con-tinue to grow even after providers come back on line,and when it falls it will do so more slowly than in the brokered system (Section3).2.5Hybrid OrganizationsReal solutions to real world problems will often require hy-brid approaches.If capabilities and matching preferences can be clearly partitioned(creating different connection problem classes)then each class can use a different organization simul-taneously.For example,how do agentsfind an appropriate bro-ker?If we ignore precompiled solutions,one way is to use a matchmaker.Providers advertise their capabilities privately to a broker,and the broker in turn advertises a(usually)more ab-stract capability(ies)to a matchmaker.Another way to use hybrid MM/Broker organizations is to take advantage of the best characteristics of each organization alone,at the cost of reduced privacy in emergency situations. Brokered organizations have higher efficiency because of their centralized load-balancing,but are critically non-robust to bro-ker failure.By switching automatically to a matchmade organi-zation(and thus losing provider privacy)the system as a whole becomes robust to broker failure.Due to our careful definitions of roles earlier,such a hybrid system requires only a small change to the behavior of provider and broker agents:brokers must advertise their brokering as a capability to a matchmaker,and providers must upon initial-ization register with the matchmaker for broker-capability up-dates.When a broker is available,the provider uses it;if not, the provider advertises with a matchmaker until one becomes available.A broker failure(once detected via a KQML“Sorry”or timeout)can then transform into a matchmade organization. 3Performance T radeoffsThe decision to use matchmaking or brokering to solve the con-nection problem offers many performance tradeoffs.In our re-maining space we present two short representative experiments. System performance is dependent upon a large number of parameters,including the rate at which service requests are gen-erated;the number of providers in the system;the time needed by each provider to fulfill a request;agent failure rates,and so on.We will consider two alternative systems.Each consists of some number of homogeneous providers and requesters.All agents run on serial processors,and the basic service action is non-interruptible.In the“Matchmade”system,each provider advertises itself to one matchmaker agent.Requesters query the matchmaker to obtain a current list of providers,choose one randomly,and send it a service request.In the“Brokered”sys-tem,providers advertise themselves to a distinguished broker agent.Requesters send all service requests directly to the bro-ker,who farms them out to the providers—seeking to equalize the load among them.Our implementation of these systems consists of real,imple-mented agents,who experience real communication and proces-sor latencies,etc.These agents are part of the W ARREN multi-agentfinancial portfolio management system.[Sycara et al., 1996;Decker et al.,1996]The broker and matchmaker are the same agents used in the actual portfolio management system. Providers and requesters are instances of W ARREN providers and requesters,but we have standardized on a single abstract service to be provided(modeled after stock ticker services). The actual service time for each request and the period be-tween requests are generated randomly;the service time is dis-tributed normally around the mean,and the request genera-tion period is distributed exponentially around the mean.But because we are using real rather than simulated agents,some pa-rameters are beyond our control,such as the inter-agent com-munication latency,the computational needs of the broker or matchmaker,and the amount of time spent by the providers and requesters on planning,scheduling,and other internal op-erations.We make some further assumptions about the ranges of val-ues that our system parameters will take on.First,we assume that the service time is relatively long compared to the com-putational overhead of the matchmaker,broker,and providers themselves.This is consistent with actual W ARREN agents, which typically require30seconds or more to access Internet5010015020046810121416E l a p s e d t i m e (s e c )Request generation period (sec)Matchmade system Brokered systemTheoreticalFigure 1:Mean time for 100service requests as a function of request generation periodresources.Second,we assume that the number of providers is relatively small (we have experimented with systems of up to 20providers),which is again consistent with the operational W AR -REN system.3.1Experiment One:Response TimeIn our first experiment,we validate the theoretical model of Eq.1,and empirically compare the brokered and matchmade systems.For a fixed service time and number of providers ,we vary the request generation period .For each period,we generate 100requests,and measure the mean and standard deviation of their elapsed times.Figure 1shows the results as the request generation period varies between 5and 15seconds,for systems with 3providers and a service time of 15seconds.Note that despite the crudeness of Eq.1,it gives a good in-dication of the expected response time,especially for larger re-quest generation periods 3.It is clear that the load balancing of the brokered system confers a response time advantage over the matchmade system.3.2Experiment T wo:Provider Failure and RecoveryIn our second experiment,we investigate the effect of provider failure and recovery on our two systems.We begin with three providers,and fix the service time and request generation pe-riod at 15and 10seconds,respectively.After five minutes,we kill one of the providers,and after five more minutes,we kill a second one.Five minutes after that,we bring one of the servers back on line,and then ten minutes later the third one returns.When a provider dies,it sends a SORRY message for each out-standing request.Each of these requests must be reallocated (by either the broker or the original requester)to another provider.4This effect could be reduced if requesters make an effort at active load balancing.system.Rewriting Eq.2for matchmade organizations as a re-currence equation:。
TTRec时间相关的直播电视推荐算法
小型微型计算机系统Journal of Chinese C o m p u t e r Systems 2021年6月第6期V ol.42 N o.62021TTRec:时间相关的直播电视推荐算法朱晓松u,郭景峰U2,李爽〃’5,郝童1’2、燕山大学信息科学与工程学院,河北秦皇岛066004)2(河北省文化旅游大数据技术创新中心,河北承德067000)3(河北环境工程学院生态系,河北秦皇岛066102)4(天津大学建筑学院,天津30_)5(秦皇岛市城市景观生态与规划设计重点实验室,河北秦皇岛066102)E-mail :xiaosongzhu@ ysu. edu. cn摘要:随着直播频道的不断增加,观众不得不花费额外的时间和精力来选择适合的节目.通常,推荐系统可有效缓解上述问 题,然而直播电视所具有的实时性、多用户、隐性反馈、冷启动等特点给推荐系统的研究带来挑战.针对这些特点,现有的方法大 多利用时段划分的方式将用户对节目的偏好转换为对频道的偏好,通过推荐频道来完成节目的推荐.然而,这些方法的时段划 分规则依赖经验,不具通用性,可解释性差,并且未考虑用户偏好会随时间的推移而变化的情况,同时,推荐频道的模型往往忽 视了对正在播出的节目的关注.为此,本文提出了时间相关的直播电视推荐算法T T R ec.首先,采用聚类的方法按时段将每个物 理频道划分为若干虚拟频道,构建用户-虚拟频道偏好矩阵.其次,利用遗忘函数调整用户隐性反馈的量化结果,将其作为偏好 矩阵的填充值.然后,采用协同过滤算法对偏好矩阵中未知项进行预测.最后,以节目的时间特征为属性,通过计算正在播出的 新节目与历史节目的相似度来调整偏好矩阵中对应的数值,按调整后的结果生成推荐列表.在真实的数据集中的对比实验表 明,T T R e c明显优于对比算法.关键词:直播电视;推荐系统;冷启动;时间相关;虚拟频道;聚类中图分类号:TP302文献标识码:A文章编号:1000-1220(2021)06-1184-08TTRec : a Time-aware Recommender System of Live TVZ H U Xiao-song1.2,G U O Jing-feng1’2,LI S h u a n g3,4,5,H A O T o n g1,21 (College of Information Science and Engineering,YanShan University,Qinhuangdao 066004,Ch i n a)2(Technology Innovation Center of Cultural Tourism Big Data of Hebei Province,Chengde 067000.China)3(Faculty of Ecology,Environmental M a n a g e m e n t College of China,Qinhuangdao 066102, China)4 (School of Architecture, Tianjin University .Tianjin 300000, China)5(K e y Laboratory of Urban Landscape Ecology &Planning and Design of Qinhuangdao,Qinhuangdao 066102 .China)Abstract:W i t h the increasing of live T V channels,viewers have to spend extra time and energy to choose suitable T V shows. Generally, a r e c o m m e n d e r system is able to effectively alleviate this problem,but the real-time,multi-user,implicit feedback,cold start bring challenges to the r e c o m m e n d e r systems of live T V.Facing these characteristics,m o s t of the methods adopted time-division strategies to shift the user's preference o n programs to the user's preference on T V channels,and r e c o m m e n d channels to perform the program recommendation. H o w e v e r,these time-division strategies rely on experience,are not universal,have poor interpretability,and do not take into account the fact that user preferences will be changed with the passage of time. M e a n w h i l e,those channel-recommended models ignore the characteristics of on-aired programs. Therefore, w e propose a time-dependent recommendation algorithm for live T V,T T R e c. Firstly,each physical T V channel is divided into several virtual channels b y clustering,and a user-virtual channel preference matrix is constructed. Se c ondly,m e m o r y functions are used to adjust the evaluation of implicit feedbacks,which are used as filling values of preference matrix. T h en, w e adopt collaborative filtering algorithm to predict the u n k n o w n s of preference matrix. Finally, the corresponding values in the preference matrix are adjusted by the similarity between the on-aired program and the historical p r o grams, and a recommendation list is generated according to the adjusted results. C o m p arison experiments in real data sets s h o w that T T R e c i s superior to the comparison algorithms.Key words:live T V;r e c o m m e n d e r systems ;cold start;time-aware;virtual channel ;clustering收稿日期:202(M)6-13 收修改稿日期:202(M)7-23 基金项目:河北省重点研发计划项目(20310301D)资助;国家自然科学基金项目(61472340)资助;河北省文化旅游大数据技术创新中心开放课题项目(SG2019036-Z d2005)资助.作者简介:朱晓松,男,1982年生,博士研究生,高级工程师,C C F会员,研究方向为推荐系统;郭景峰(通讯作者),男,1962年生,博士,教授,C C F会员,研究方向为社会网络分析;李爽,女,1982年生,博士研究生,副教授,研究方向为数字景观、深度学习;郝童,女,1996年生,硕士研究生,研究方向为深度学习.朱晓松等:TTRec:时间相关的直播电视推荐算法1185 6期1引言一直以来,直播电视是人们主要的收视形态之一.随着直播频道的不断增加,节目越来越丰富,观众享受视听盛宴的同时不得不花费额外的时间和精力思考“我该看哪个?”,这就是所谓的“信息过载”问题.经统计,传统有线电视用户浏览频道的平均人机响应时间为3-5秒,N o g u e i r a等研究表明用户寻找一个合适的内容平均需要152秒[1],通过切换频道寻找目标节目的方式耗时且令人厌烦.推荐系统成为直播电视有效的收视工具[2].推荐系统在V o D(Video on D e m a n d)领域的工业应用广泛,比如Netflix[31,Y ou tu be[4]•与V o D相比,直播电视有诸多特点,这给其推荐系统的实施带来挑战:1) 实时性.V o D为按需收视,它为用户提供了选择和检 索节目所需的时间和条件.而直播电视以广播形式实时播出,视频的推荐只能发生在候选节目正在播出时.提前推荐,则候选节目未播出.事后推荐,则候选节目已播放完毕.因此,直播电视的推荐时间窗口小,推荐系统需对用户有快速的反馈.2) 多用户.直播电视通常面对一群人,比如家庭成员,这 些人共用一个账户,这给用户的偏好提取增加了困难.3)隐性反馈.直播电视通常以电视机和机顶盒为载体,用户通过遥控器来选择节目,人机交互效率低.因此,用户留下的反馈类型单一,通常以隐性反馈(比如收视时长)代替显性反馈(比如评分)来表达对节目的偏好.4) 冷启动.直播电视每天更新大量节目,这些新节目没有 用户的反馈,推荐系统缺乏推荐依据,节目冷启动问题突出.从推荐目标来看,直播电视推荐系统可划分为推荐节目和推荐频道两类方法[5].推荐节目的方法与V o D领域的推荐策略相近,其中协同过滤被广泛采用,然而协同过滤的主要缺点是无法应对冷启动,并且实时性差.推荐频道的方法关注用户对频道的偏好,往往利用时间信息区分用户偏好,从而得到用户在某个时段对频道的偏好,它不需要关注频道内容,因此能够应对节目冷启动问题.推荐频道的方法可通过线下训练模型,具有较好的实时性.然而,这类方法也存在不足,表现在3个方面:1) 大多方法利用收视时段区分多用户偏好,然而时段划分规则依赖经验,不具通用性,可解释性差;2) 在偏好估计时,现有模型很少考虑用户偏好会随时间的推移而发生变化.3)已有的频道推荐的模型往往不关注正在播出的节目,无法根据实时节目特征动态调整输出结果.为解决上述问题,本文仅以用户收视记录和电子节目指南(Electronic Pro gr am G u i d e s,E P G)为原始数据,针对节目冷启动下的直播电视推荐任务,提出了时间相关的推荐算法T T R e c(见图1).首先,采用聚类的方法按时段将每个物理频道划分为若干虚拟频道,构建用户-虚拟频道偏好矩阵.其次,利用遗忘函数调整用户隐性反馈的量化结果,将其作为偏好矩阵的填充值.然后,采用协同过滤算法对偏好矩阵中未知项进行预测.最后,以节目时间特征为属性,通过计算正在播出的新节目与历史节B的相似度来调整偏好矩阵中对应的数值,调整后的结果用于生成推荐列表.Preference estimation Preference predictionC1-1Cl-2C2-1Cl-2Cl-l Cl-2C2-1Cl-20.520.260.520.260.170.610.330.220.87C F—►0.740.330.220.870.150.600.490.200.150.60ci r p iCl \p lRecommendation at tt、BroadcastingTV programs3V\]lCl-l Cl-2 C2-1 C2-2 w, |0.52 |0.26 |0.17 |0.61 | ^tw, |i?(0.52)|/?(0.i7)|Pi P2图1所提算法 Fig. 1Proposed algorithm本文的主要贡献包括:•采用聚类的方法将每个物理频道划分为多个虚拟频道 来区分多用户偏好,以用户-虚拟频道偏好矩阵代替传统的用 户-项目矩阵来估计用户偏好.•利用遗忘函数调整用户的隐性反馈的量化结果,从而 优化偏好估计的效果.•通过用户-虚拟频道偏好矩阵将直播电视冷启动下的 推荐转换为协同过滤问题,采用协同过滤算法对矩阵中未知 项进行预测,解决了节目冷启动问题.•通过节目相似度计算将正在播出的节目信息引人模型 中,提升推荐结果.2相关工作随着移动互联网的发展及智能电视、智能机顶盒的普及,直播电视推荐系统的研究逐渐成为热点.在直播电视用户的收视行为中,收视时间是一项重要的信息,它反映了用户的收 视偏好,也间接体现了节目(频道)的特征.因此,它在直播电 视推荐任务中得到了研究者的关注.本文根据推荐推荐目标 将直播电视推荐方法分为推荐节目的方法和推荐频道的方 法,并分别阐述两类方法中的利用收视时间信息的研究成果. 推荐节目的方法与V o D推荐任务的解决方案相近.在2015 年,R a s等[5]做了一项关于电视推荐问题相关文献的调查工 作,尤其是推荐节目的方法.B a m b i n i等[6]提出了基于内容方 法,他们通过计算节目媒体信息的相似度来解决直播电视节 目冷启动问题.基于内容的算法是各类推荐任务中解决冷启 动问题的通用方法,但推荐结果在新颖度和多样性方面表现 较差,推荐准确性依赖标签的维度和质量.H u等[7]将用户对 节目的偏好直接转换为〇或1,利用矩阵分解方法预测偏好.这种转换丢失了大量原始信息.Ji n等[8]构造了一种用户收视 时长和观看时长占比的评分函数,利用P e a r s o n相关系数计 算用户间相似度,通过基于用户相似度的协同过滤算法(U s 1186小型微型计算机系统2021 年er-based C F,U C F)实现节目推荐.W a n g等构建了account-item-t i m e张量,通过聚类张量分解后的时间子空间,来标识 账户里面的用户.C h o等[|°]利用最小二乘法对user-item偏好矩阵进行偏好预测生成评分矩阵,利用收视概率模型对评分 矩阵调节.R e CT i m e[11]考虑了时间因素的两个维度构建4-d张 量,通过因式分解,系统自然地同时识别了推荐时间和推荐项. 然而,这类基于协同过滤技术的方法面临着矩阵(张量)稀疏 和节目冷启动的问题.其它一些方法,比如,C h a n g等[12]和 Z h a n g等[|3]从用户收视历史和社会网络当中获得用户偏好. K i m等[141利用媒体信息提出了一个知识扩展的方法应用到媒 体推荐上,也可用于直播电视推荐.H s u[l5)在假定获得用户众 多属性的情况下进行推荐任务研究,包括兴趣,情感,经历,人 口信息等,利用_实现节目推荐.S o n g等[161利用基于贝叶 斯概率模型的数据挖掘方法来分析节目大量的本文信息提取 用户偏好,向个体或者群体用户提供推荐.Y o u n g等[n]引人了 O T T数据,并将其与I P T V数据混合使用,利用显性的混合策 略提升推荐准确率.G o n ea l v es等[|8]提出了一个U R的方法利 用上下文信息和隐性反馈来帮助运营商提升推荐效果.可见,这些方法都依靠了不同类型的额外数据来解决冷启动问题.电视节目以频道为载体,因此推荐频道的方法是直播电视推荐任务特有的方法,相比推荐节目的方法,其相关研究工 作较少.推荐频道的方法通常借助时间因素将用户对节目的 偏好转换为对频道的偏好,并以频道为媒介把历史节目和新 节目关联起来,从而解决节目冷启动问题.比如,Cremonesi 等[191将一天分成8个时段并为每个用户构建time-c ha nn el评 分矩阵,利用每个收视时段的累积收视时长作为用户在该时 段的收视偏好,通过张量分解预测偏好.Turrin等[M]和W u 等[21]分别将一周等分成24 x7和48 x7个时段,结合节目分 类信息捕捉用户偏好.上述方法所采用的偏好估计模型(比如user-channel)的规模远小于user-i t e m矩阵,因而缓解了数 据稀疏性问题.Y u等[22]融合多种推荐频道的策略,把推荐任 务看作二分类问题,该方法即考虑用户对频道的偏好又兼顾 了当前正在播出的节目,采用24均分的时段划分策略.Zui 等[23]将用户在频道上的累计观看时长作为频道偏好,通过计 算频道间的相似度完成推荐.B a h n和B a e k M]分析用户的历 史收视行为从时间局部性和流行相关性提取用户收视特征. 综上,推荐频道的方法不必关注新节目播放时用户的反馈和 正在播出的节目信息,因而可通过线下实现模型的全部计算,使得算法具有较好实时性.然而,上述方法的时段划分策略依 赖经验,可解释性差,忽视了对正在播出的节目特征的提取,也未考虑用户的偏好会随时间的推移而变化的特点.3本文算法3.1准备工作假定:已知用户集"、频道集合C、历史节目集合,在/时刻,正在播出的节目集合为/T'节目冷启动问题表示为尺始门尺謂=0,有| | = I C I,且对于任意历史节目// e 有a r s C/u m/j e K/)e C,同理,任意正在播出的节目/T-,有叫C V w/m W(p")e C.那么推荐任务是:在丨时刻,为 用户《的产生T O P-N推荐列表(C,A〇(推荐频道)或者ra<(/T W)(推荐节目).选择用户切换频道的时刻作为换台时刻,换台操作表明当前用户正在寻找喜爱的内容,此时的推荐正好满足其需求,而这一时刻就是用户收视记录的开始时间.对于直播电视而言,常见的数据集包含收视记录和E P G(见表1和表2),这些数据为最为基础,本文以此开展工作,所提方法包括偏好估计、偏好预测、推荐3个过程(见图1).表1收视记录Table 1Vie wi ng record名称描述uid用户i dstart _time收视行为的开始时间end一t ime收视行为的结束时间channel一id频道i devent 一id节目i d1)偏好估计.通过收视时段划分的方式将每个频道划分成M个收视时段,每个时段被称为一个虚拟频道.因此,m个用户的所有收视行为均可映射到n个虚拟频道上,通过构建用户-虚拟频道评分矩阵£=(匕^:^^来描述用户偏好-具体的,将每个收视行为量化,并经遗忘函数调整后累加到£中,S中的未填充项保留为空.表 2 E P GTable2E P G名称描述event 一i d节目i devent_name节目名称bs—time开始播放时间be—time结束播放时间channel 一i d频道i dchannel_name频道名称2) 偏好预测.在评分矩阵£的基础上,采用协同过滤方 法预测用户的偏好.分别以奇异值分解(Singular Value D e-composition,S V D)和张量 Tucker分解(Tensor Tucker D e c o mposition) 两种方式为例,填充 £中 的空项,从而得到= (e,")…•3) 推荐.计算虚拟频道V中正在播出的节目P与当前用 户在虚拟频道V中收看过的历史节目P'的相似度d m,以此调整々•下文将详细描述上述过程.3.2偏好估计偏好估计包含量化隐性反馈、生成虚拟频道、构建用户-虚拟频道评分矩阵3个步骤.首先,量化隐性反馈.用户的隐性反馈如表1所示.已有的量化方法包括收视时长累计法[25],“0-1”法[26],收视时长占比法[H>].注意到,收视时长累计法只考虑了用户的收视时长,但未考虑节目自身的长度.假设用户《从节目的播放时刻O m'm e)分别收看了阿甘正传(节目时长为142分钟)和纸牌屋(节目时长为45分钟)各40分钟,收视时长累计法认为两次收视行为等价,但很显然用户《对纸牌屋的偏好要髙于阿甘正传•“0-1”法只反映了用户是否收看了目标节目,对原始信息的利用明显不足.因此,本文选择收视占比法,即:朱晓松等:TTRec:时间相关的直播电视推荐算法1187 6期^ff3, vrf = end_tim e-start_tim e, rt = be_time-start_time.其次,电视频道通常在不同的时段播放不同类型的节目,尤其是综合类型的频道•比如,C C T V-1在早晨播放早间新闻,在下午放学后播放动画片,在晚上播放电视剧和晚间新闻 等,每个时段播放的内容面向不同的收视群体,电视节目的播 出呈现周期性•因此,将频道c的一个播出周期(比如一天)划分成若干子时段,每个子时段称为一个虚拟频道.与现有基 于经验的时段划分策略不同,考虑到每个频道的节目风格及 播出计划存在差异,本文将与频道c相关的所有用户的收视 记录的开始时间(■s torCfime)作为输人,利用K m e a n s++ (欧 式距离)将频道c的一个播出周期(比如一天)聚类为《个子 时段,每个子时段对应频道c的一个虚拟频道.即:D c:=j j d css.t.n d cs=0(2)式(2)表明,频道c的时段划^集合R由连续的收视子时 段组成,各子时段没有交集.其中,是频道c的第s个收视 时段,也即频道c的第s个虚拟频道.对于任意频道1若则久#虚拟频道集合为V = |丨c e C,s e[1,2,-“,/m>2(«,L J]|人表示为所有用户关于频道c的收视记录 集合,C为物理频道的集合.聚类结果反映了该频道周期性的播出特征.类似的,陶永才等[27]针对用户阅读过的新闻聚类,为用 户划分阅读时段•注意到,尽管虚拟频道数量多于物理频道,但任 意时刻正在播出节目的虚拟频道的数量与物理频道数量相等.虚拟频道本质上是通过引入时间因素将物理频道划分为 若干子“频道”,由于电视节目的播出呈现明显的周期性,因此,这种基于时段的划分方式能够有效地反映每个频道的播 出特征.此外,直播电视观众分为若干收视群体,比如老年人,儿童,成年人等,不同的收视人群在收视时段的选择和频道的 选择方面存在差异,而基于收视行为的虚拟频道划分恰能区 分不同的收视人群.相比基于经验的时段划分方式,本文方法 反映了频道间的差异、可解释性强.最后,构建用户-虚拟频道评分矩阵£= (e….v),用户《对虚拟频道v的评分为:e».v= (3)其中,■«;:表示用户《的收视行为的处于频道 c 的第^个时段时对应的节目集合,F(r….,_,/〇表示用户M关于 节目/的评分经过\小时衰减后的评分.窦羚源等[28]自定义了衰减函数,本文则分别引入牛顿冷却定律式(4)和艾 宾浩斯遗忘曲线式(5)作为衰减函数.n r u,i,h i)=r u_l x e1-'^(4)其中,/表示为冷却系数,《为数学常数.H r^A) =rM x(l -0.56X A,006)(5)观众的收视行为呈周期性,主要体现在收视时段上,而不 是在频道或是节目的选择上.比如,“追剧”是一种常见的收 视行为,某观众在每晚20:05收看北京卫视的《大宅门》,此 后又在每晚19:35 “追”浙江卫视的《亮剑》,两次“追剧”发生 在同一个收视时段^在两次追剧评分相等的情况下,若整部 《亮剑》还未结束,该观众仍有继续“追”《亮剑》可能,此时通 过遗忘函数使得该用户在f时段对浙江卫视的偏好高于对北京卫视的偏好.3.3偏好预测通过偏好估计,用户对节目的偏好(包含将要播出的节目)被转换为用户对《个虚拟频道的偏好,有效地缓解了节目冷启动和数据稀疏的问题.然而,这并不能保证所有用户对每个虚拟频道都有评价,也即矩阵£中仍可能存在空值.因此,利用协同过滤算法填充£中的空置项从而获得£'=(,u.•这里分别S V D和T u c k e r分解两种方式为例进行偏好预测.1)S V D是著名的矩阵分解算法,它将X p,分解成3个不 同的矩阵i p,,表示为:X =LMR t(6)其中,,和,分别为正交矩阵.为奇异矩阵,其对角线数字为非负实数.如从高到低保留S个对角线数字,其余对角线数字用〇代替,那么通过式(7),得到与原始矩阵X接近的低秩矩阵X u),从而对原始矩阵中的未知项进行预测.=L、g、M(g)R⑷(7)2)张量分解包括C P分解和T u c k e r分解.其中,Tuckei•分解将张量分解为核心张量在每个模型上与矩阵的乘积.因此,三维张量可以表示为:P Q RX X= [G;A,5,C](8)p =1q =1r = 1其中,/^»〃'5£1^><£!和(:£股*^为因子矩阵,通常是正交的.G e R P x e><R为核心张量.P、Q和R为A、B和C的成分数(例如列相量的数目)/?«/!:.对于X中未知元素,采用式(9)进行预测:P Q Rxat ^Z S X SP q r aiP bJ q ck r(9)p=\ q=1r = l这里令[= /?= 1,采用式(9)预测二维张量Mjer-vi’rma/c/ianne/的空置项.3.4推荐经过偏好预测,在推荐时刻G用户《的任意候选节目均能唯一对应一个虚拟频道并在偏好预测矩阵F中对应一个预测评分,此时已经能够应对节目冷启动.为进一步优化推荐模型,本文引入候选节目信息.通常,各频道在每天的同一时段播放的节目类型相似.因此,通过计算同一虚拟频道中候选节目与历史节目的相似度,结合用户对历史节目的评分来预测用户对候选节目的评分.节目间相似度的计算通常采用基于媒体信息(比如节目分类)的方法,本文提出利用时间信息计算节目相似度的方法.假设同一虚拟频道播出的不同节目 i'和丨_,若二者时间信息丨相近,则两个节目相似,利用欧式距离来计算两节目的相似度h m〇_',〇.推荐过程包括3个步骤:首先,利用节目相似度预测用户《对节目^的评分^.,.,如式(10)所示:S ,6(F( r«,«»hi) ^S i m(i\i))m i n(Su/^n o w)y〇0K1:,= 0(10)其中,i_'为虚拟频道v中正在播出的节目,/?匕表示用户《1188小型微型计算机系统2021 年从虚拟频道v中收视的历史节目集合,I/'e4.3模型选择与结果分析,/T~表示候选节目集.其次,通过式(11)对&,.进行归一化处理,并将最终结果 调整到[1,2]中.m a x(S uRmw) -s ut.K.f = 2(11)^u,R n o w)/WI/z(Su n n〇w )最后,通过式(12)得到用户《在时间f对节目r的偏好:r u.i' = e u,v~e u.v X(12)4推荐模型选择及实验结果分析4.1数据处理及评价标准数据源来于生产系统,从2017年5月17日-2017年6月20曰包括包含35143个机顶盒的收视记录和E P G.为方便实 验,本文随机选择500个账号,每个账号至少200条收视记 录,生成用作实验的数据集.将每个账号的收视记录按照发生 时间先后排序,以80:20的比例分成训练集和测试集,过滤掉 测试集中收视时长少于300秒的收视行为.数据集中各节目 i d均不相同,相关算法在完全节目冷启动条件下实施,即=0.采用 Precision'Recall、n D C G 和 M R R 作为评价标准.4.2对比方法为展示所提算法的性能,本文从偏好估计及偏好预测的 角度选择对比算法,并增加P o p方法以反映直播电视业务的 收视特点,这些方法均能应对冷启动问题:P o p:在推荐时刻统计每个频道的在线收看人次,按照 从多到少排列.U C T[29]:基于时段划分的推荐模型.首先,将每天分成8 个收视时段,构建user-time-c ha n n el评分展张量;其次,将每 个收视时段的累积收视时长作为用户在该时段的收视偏好;最后,通过Tucker•分解实现结果预测.M F H M8]:基于用户相似度的协同过滤模型.通过引入 权重系数,融合用户的收视时长和观看时长占比,构建用户收 视评分函数.利用P e a r s o n相关系数计算用户间相似度,通过 基于user-b a s e d的协同过滤算法实现推荐,在推荐时刻利用 邻居对当前节目已播放部分/V的评分来代替未播放部分P,的评分.S T[30]:基于图的推荐方法.本文采用基于|用户,项目,标签13部图的方法51'(30]来捕捉用户-频道-时段特征.1)将 所有节目的播出开始时间聚类,产生P= 24个时段标签集 H s;2)将所有节目的播出结束时间聚类,产生P= 24个时段 标签集H e;3)频道名称标签集T e.全部标签集为T= |H S, H e,T e|,标签总数为ITI =24 + 24+ n.W I M11()]:当前最新的直播电视推荐算法,它从偏好估计、评分预测、推荐3个环节提升算法性能.首先,将用户的收视 行为提取为收视评分以及评分权重;其次,采用加权的最小二 乘法预测未评分项;最后,利用收视概率模型对评分矩阵调节,将调节结果按照降序后产生推荐列表.本文采用加权的最 小二乘法的隐特征空间维度为60,迭代次数300.本文对W I M进行了调整以使其能应对节目冷启动,调整方法在对比 实验中说明.4.3.1 数据的利用偏好估计是本文模型的基础,本文利用偏好估计来选择 最佳的原始数据.直播电视用户通过反馈收视时长来表达对 目标节目的偏好.极短的一个收视时长很可能意味着用户刚 刚了解的节目内容(比如,节目名称及节目类型)便表达了一 种负面情绪,这类行为在收视行为中比重较大,比如,30秒以 内的收视时长,占收视行为的比例为60. 58%,这类表达负面 情绪的收视行为被称为负反馈,其余行为则被称为正反馈.区 分正负反馈的目的在于有效的利用数据,提高偏好估计的效 果.对于不同的模型,正负反馈的区分标准也不相同,比如,W I M采用收视时长占比[11)1,W a n g等[9]采用设定收视时长阈 值(300秒).本文设定收视时长阈值a来过滤数据,探讨如何 给本文模型提供最佳输人.分别将a e 10,60,120,180,240, 300,3601作为门限过滤掉“短暂”的收视行为.从表3看到,当a=〇时,本文模型获得最好结果.当a =240,本文模型获表3 a对偏好估计的影响(《=8)Table3 Impaction of a o n preference estimate(« = 8)Metrics060120180240300360 Recall@l0.35580.35730.35520.35570.36240.35780.3570Recall @50.67250.66680.66230.65790.65190.64900.6428 Predsion@l0.35580.35730.35520.35570.36240.35780.3570 Precision @50.13450.13340.13250.1316o.\m0.12980.1286n D C G@l0.35580.35730.35520.35570.36240.35780.3570n D C G @50.52550.52340.52080.51950.51920.51540.5118M R R0.49850.49460.49260.49170.49330.48920.4868得最好的T〇P-l,但推荐列表质量下降.这是由于随着数据量 的减少,偏好估计矩阵变得稀疏,同时非热点偏好的估计可能 变得不准确,影响了冷门偏好的推荐效果.然而,因热门偏好 的样本丰富,数据的减少对热门偏好估计的影响较小.相反,数据质量的提升使得其偏好估计更加准确,从而提升了模型 对热点内容的推荐精度.4.3.2 偏好估计效果固定《=〇,调整虚拟节目划分的聚类数.如表4所示,尽 管在^ = 12处和《= 1处,部分指标表现突出.但在《= 4处,n D C G@5和M R R明显优于其它.由于好的候选项列表对后 续的偏好预测和推荐有利.因此,选择在a=〇,《=4的条件 下,比较遗忘函数的效果.为便于呈现,将User-virtual channel 偏好提取策略表示为E l,N e w t o n's law of cooling(冷却系数 f= 0.03)表示为E2, H e r m a n n E b b i n g h a u s遗忘曲线表示为E3.如表5所示,相比E l,组合(El +E2)和组合(El +E3)各 方面的评价结果都有不同程度的提升.在采用E1的条件下,牛顿冷却定律的效果优于艾宾浩斯遗忘曲线.从表6中,本文 获得了牛顿冷却定律的最佳冷却系数(/=〇.〇3).4.3.3 偏好估计效果如表7所示,P1表示S V D,P2表示T u c k e r分解.通过策 略组合来评价每个策略的作用.组合(El + E2 + P1)和组合 (El +E2+P2)的效果均比组合(El +E2)(表5)的效果好,同样,组合(El +E3+P1)和组合(El +E3 +P2)的效果均比 组合(E l +E3)(表5)的效果好,这说明S V D和张量分解均 发挥了作用.组合(El+ E2 + P1 )的效果优于组合。
基于迭代SVD的电影推荐算法的研究
本期推荐本栏目责任编辑:唐一东基于迭代SVD 的电影推荐算法的研究武文硕,左安(上海对外经贸大学统计与信息学院,上海201620)摘要:现有的电影推荐算法中,协同过滤算法是最常使用、操作最简单方便的算法,但传统的协同过滤算法存在评分矩阵稀疏、推荐精度低等问题。
针对这些问题,提出了矩阵填充策略,根据矩阵填充技术的优缺点,选择了几种填充稀疏矩阵的方法,并且利用迭代SVD 算法得到了电影推荐的局部最优解,并利用均方根误差(RMSE )对结果进行了评价,利用R 软件对电影评分数据集进行处理,实验结果表明,与传统的协同过滤推荐算法相比,迭代SVD 算法能有效地提高推荐的准确性,更加准确地给用户提供想看的电影。
关键词:协同过滤;矩阵填充;稀疏矩阵;电影推荐中图分类号:TP391.3文献标识码:A文章编号:1009-3044(2021)15-0001-03开放科学(资源服务)标识码(OSID ):Research on Movie Recommendation Algorithm Based on Iterative SVD WU Wen-shuo,ZUO An(School of Statistics and Information,Shanghai University of International Business and Economics,Shanghai 201620,China)Abstract:Among the existing film recommendation algorithms,collaborative filtering algorithm is the most commonly used and easy to operate algorithm,but the traditional collaborative filtering algorithm has the problems of sparse rating matrix and low recommen⁃dation accuracy.According to the advantages and disadvantages of matrix filling technology,several methods of filling sparse ma⁃trix are selected.The local optimal solution of movie recommendation is obtained by using iterative SVD algorithm,and the results are evaluated by root mean square error (RMSE).Finally,R software is used to process the movie rating data set.The experimental results show that the proposed method is more effective than the traditional method Compared with the collaborative filtering recom⁃mendation algorithm based on SVD,the iterative SVD algorithm can effectively improve the accuracy of recommendation and pro⁃vide users with more accurate movies they want to see.Keywords:collaborative filtering;matrix filling;sparse matrix;movie recommendation1引言随着互联网科技的迅速发展,我们现在进入信息时代,信息量呈现爆炸式地增长,人们从网上搜到的数据越来越多,相比之下,有用的数据量少之又少。
基于用户会话的TF-Ranking推荐方法
推荐方法。该方法利用门控循环单元学习用户行为。首先,利 用 X G B o o s t进行特征提取,克
服了传统方法中数据模型复杂的缺陷,使数据模型在保持原始属性的基础上大大降低了复杂
度:其次,利用改进后的D ropout网络对数据进行处理,使得召回率提高了 1.32%: 最后,基
于 Learning to R a n k 与 Pairw ise方法训练用户会话数据,尽可能为用户提供一个与查询内
Taiyuan 030024, Shanxi, China 2. College of Software, Taiyuan University of Technology,
Taiyuan 030024, Shanxi, China
A b stract: Based on users5 session logs, a TF-Ranking recommendation method that inte grated XGBoost and gated recurrent unit was proposed. This method used gated recurrent unit to learn user session data. Firstly, XGBoost was used to extract features, and experi mental results showed that XGBoost could overcome the defects of traditional data model and greatly reduced the complexity of data models while maintaining their original at tributes. Secondly, an improved Dropout network was used to process data, leading to a recall rate improved by 1.32%. Finally, by training data based on Learning to Rank method in combination with pairwise method, a positive sort recommendation list with strong relevance to query contents was provided for users. Experiments were conducted
本案例有哪些值得借鉴的方面
电商平台的个性化推荐系统案例背景电商平台的个性化推荐系统是指通过分析用户行为数据、商品属性等信息,为用户提供个性化的商品推荐。
这种推荐系统能够根据用户的兴趣和偏好,向其展示最相关和感兴趣的商品,提升用户体验和购买转化率。
案例过程1. 数据采集个性化推荐系统首先需要采集大量的用户行为数据和商品属性数据。
例如,用户行为数据可以包括浏览记录、购买记录、收藏记录等;商品属性数据可以包括商品类别、价格、评分等。
2. 数据预处理在进行个性化推荐之前,需要对采集到的数据进行预处理。
预处理包括数据清洗、特征提取等步骤。
例如,对于用户行为数据,可以去除重复数据、填充缺失值;对于商品属性数据,可以进行归一化处理、降维等操作。
3. 用户画像构建基于采集到的用户行为数据和商品属性数据,可以通过机器学习算法构建用户画像。
用户画像是对用户兴趣和偏好的描述,包括用户所属群体、喜好类别等信息。
4. 相似度计算相似度计算是个性化推荐系统的核心技术之一。
通过计算用户之间或商品之间的相似度,可以找到最相似的用户或商品。
常用的相似度计算方法包括余弦相似度、欧氏距离等。
5. 推荐算法选择根据具体业务需求和数据特点,选择合适的推荐算法进行个性化推荐。
常用的推荐算法包括基于内容的推荐、协同过滤推荐等。
6. 推荐结果生成根据用户画像和相似度计算结果,生成个性化推荐结果。
推荐结果可以通过排序、过滤等方式进行优化,提高准确率和召回率。
7. 推荐结果展示将个性化推荐结果展示给用户。
展示方式可以包括首页推荐、个人中心推荐、短信推送等。
案例结果通过个性化推荐系统,电商平台能够提供更符合用户兴趣和偏好的商品推荐,从而提升用户体验和购买转化率。
具体案例如下:案例背景某电商平台上线了个性化推荐系统,并对部分用户进行了试点测试。
案例过程1.数据采集:电商平台收集了用户的浏览记录、购买记录、收藏记录等行为数据,以及商品的类别、价格、评分等属性数据。
2.数据预处理:对采集到的数据进行清洗和特征提取。
内蒙古大学硕士学位论文开题报告审核表样例-机器学习 推荐系统-毕业设计-方案模板
[[Campos L M,2010]]Campos L M,Fernándex-Luna J M,Huete J F,et bining content-based and collaborative recommendations:ahybrid approach based on Bayesian networks[J].InternationalJournal of Approximate Reasoning,2010(53)
[Adibi P,2013] Adibi P,Ladani B T.A collaborative filtering recommender system based on user’s time pattern activity [C]//5th Conference on Information and Knowledge Technology. IEEE, 2013
由于用户兴趣是多变的,而且很多用户行为中蕴含着很多不是很显而易见的规律,因此我们需要用推荐算法自动发掘用户行为数据来推测出用户的兴趣,从而给他们推荐感兴趣的物品。而推荐的主流方法就是协同过滤算法[Park D H,2012]。协同过滤方法能根据用户对信息的偏好,发现信息内在的相关性,或者用户的相关性,从而给用户推荐更符合其兴趣的信息。与其它方法相比,协同过滤可以过滤那些难以表达的,复杂的概念,推荐结果也更具新颖性,同时由于协同过滤算法的速度和健壮性,使得它在全球互联网领域得到了广泛的应用。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
A Time-based Recommender System using ImplicitFeedbackT. Q. Lee Department of Mobile Internet Dongyang Technical CollegeSeoul, KoreaY. ParkDept. of Computer Science & Information SystemsBradley UniversityPeoria IL, USAAbstract - Recommender systems provide personalized recommendations on products or services to customers. Collaborative filtering is a widely used method of providing recommendations based on explicit ratings on items from other users. However, in some e-commerce environments such as a mobile environment,it is difficult to collect explicit feedback data; only implicit feedback is available.In this paper, we present a method of building an effective collaborative filtering-based recommender system for an e-commerce environment without explicit feedback data. Our method constructs pseudo rating data from the implicit feedback data. When building the pseudo rating matrix, we incorporate temporal information such as the user’s purchase time and the item’s launch time in order to increase recommendation accuracy.Based on this method, we built a recommender system for a mobile e-commerce environment and conducted several experiments. Empirical results show our collaborative filtering-based recommender system to be significantly more accurate than a pure collaborative filtering system.Our approach can be applied to building collaborative filtering-based recommender systems for any e-commerce environment without explicit feedback. Keywords: E-commerce, recommender system, implicit feedback, temporal information, mobile environment1IntroductionA variety of recommender systems have been developed with the growth of e-commerce [1,2]. These systems provide personalized recommendations on products or services to customers, who then spend less time searching for the right product or service. Collaborative filtering is a widely used and proven method of providing recommendations. Most collaborative filtering-based recommender systems rely on explicit feedback that is collected directly from users. Ratings and reviews are typical examples of explicit feedback. Because it is easier to quantify ratings than reviews, in practice most collaborative filtering methods use rating data. Collaborative filtering algorithms focus on similarity among users or similarity among items using users’ ratings.For collaborative filtering-based recommender systems, the recommendation quality depends on the quality of feedback. When users rate honestly, using rating information is one of the best ways to quantify user preferences. However, many users assign arbitrary ratings that do not reflect their true opinions.In some environments, it is either impossible or very difficult to obtain explicit feedback. For example, in a mobile environment the service fee is charged based on the duration of the connection. To minimize this fee, users want to reduce the connection time as much as possible. Thus, it is not practical to expect users’ active participation in ratings. In this case, we have to rely solely on implicit feedback. The amount of implicit feedback data is usually enormous. However, the amount of relevant data that can be used for recommendation is relatively small and can only be extracted through preprocessing. This log-based recommender system may not be suitable for real time recommendations in a large-scale e-commerce environment.In some e-commerce environments, recommendation accuracy is extremely important. For example, the display size of mobile devices is still limited. The recommender system should ideally provide a small set of highly relevant items that fit in the display.In this paper, we present a novel method of building a collaborative filtering-based recommender system withhigh accuracy for an e-commerce environment even in the absence of explicit feedback:• In our method, we construct pseudo rating data from the implicit feedback data for collaborative filtering. When building the pseudo rating matrix, we incorporate temporal information – user purchase time and item launch time – in order to increase recommendation accuracy. (Section 2) We cantune the rating function so that it provides the highest recommendation accuracy. • Based on the method, we built a recommender system for a mobile e-commerce environment and conducted several experiments. (Section 3) Empirical results from several experiments have shown our method to be effective.• Our method can be applied to buildingeffective collaborative filtering-based recommender systems for any e-commerce environment without explicit feedbac k.Our approach will be especially useful because we can build an effective recommender system based on collaborative filtering (which is recognized as an effective method) only using implicit feedback such as purchase information and temporal information. The product launch time was used in [3] in order toimprove the performance of the collaborative filteringusing explicit ratings. The user rating time wasconsidered to improve the precision of item-based collaborative filtering in [4]. However, our collaborative filtering constructs a rating matrix from implicit feedback by using both item launch time and user purchase time. 2 Time-based Collaborative Filtering with Implicit Feedback2.1 The Problem and Our ApproachMost collaborative filtering-based recommender systems use explicit feedback (ratings) that are collected directly from users. When users rate truthfully, using rating information is one of the bestways to quantify user preferences. However, manyusers assign arbitrary ratings that do not reflect their honest opinions. In some e-commerce environments, itis difficult to ask users to give ratings. For instance, in a mobile e-commerce environment the service fee is dependent on the connection time.This paper deals with the problem of building an effective collaborative filtering-based recommender system for an e-commerce environment without usingexplicit feedback data. The main idea of our approach is constructing pseudo rating data from the implicit feedback data. When building the pseudo rating matrix, we incorporate temporal information such as user purchase time and item launch time in order to increase recommendation accuracy. 2.2 Pseudo-Rating Matrix Using Temporal InformationBecause there is no explicit user feedback, we construct a pseudo rating matrix from implicit feedback such as purchase information. This pseudo rating matrix will be used for collaborative filtering.A Simple Pseudo Rating Matrix: In a simple pseudorating matrix, we can simply assign 1 as a rating value when a user u purchased an item i . For example, consider an environment with three usersand four items. The purchase information is as follows: User A purchased Item 1, 3 and 4. User B purchased Item 2 and 3. User C purchased Item 1 and 4. Table 1. A Simple Pseudo Rating Matrix from Purchase Information Item 1 Item 2 Item 3 Item 4 User A 1 1 1 User B 1 1 User C 1 1 The simple pseudo rating matrix is given in Table 1. Ingeneral, the time when each item was launched and thetime when each user purchased it are different.Table 2. Item Launch Time and User Purchase TimeItem 1 :LTime 1 Item 2 :LTime 2 Item 3 :LTime 3 Item 4:LTime 4User A PTime 1PTime 2 PTime 3 User B PTime 4 PTime 5 User C PTime 6PTime 7Suppose the above example has the temporal information summarized in Table 2. Here, LTime means the item’s launch time and PTime means the user’s purchase time. A Time-based Pseudo Rating Matrix: We incorporate two kinds of temporal information - the time when the item was launched and the time when the userpurchased an item - into the simple pseudo rating matrix. We make two observations: • More recent purchases better reflect a user’scurrent preference. • Recently launched items appeal more to users.Based on these observations, we define a rating function w that computes rating values (rather than simply assigning 1) as follows:w(pi, lj) = The rating value when an item with launch time lj was purchased at time pi.Table 3. The Pseudo Rating Matrix using TemporalInformationItem 1Item 2Item 3Item 4User A w(p1,l1) w(p2,l3) w(p3,l4) User B w(p4,l2) w(p5,l3)User Cw(p6,l1) w(p7,l4)The pseudo rating matrix for the above example afterconsidering both launch time and purchase time is given in Table 3.Although the pseudo rating matrix is not constructed directly by users, to some extent it reflects their preferences. We may design different rating functions and compare their accuracy. In this way, we choose the one that fits best with the given e-commerceenvironment.2.3 Our Time-Based Recommender SystemOur time-based recommender system consists of thefollowing phases:• Collect implicit feedback data • Construct a pseudo rating matrix • Compute neighbors• Recommend itemsCollect implicit feedback data: We collect two kinds of data – the user purchase and purchase time data andthe item launch time data. This data is usually availablein a typical e-commerce environment and will be used to construct a pseudo rating matrix. Construct a pseudo rating matrix: We define a rating function and construct a pseudo rating matrix using thecomputed rating values. The rating function will depend on the type of product or service to be recommended.If users are sensitive to the item’s launch time, then the rating function should give more weight to newproducts or services. If the user’s purchase time is important in estimating his or her current preference,then the rating function should give more weight torecent purchases. We can find the right rating function by first designing several candidate rating functions. Using training data we compare the effectiveness of each rating function to the given product or service domain and choose the best one.Compute similar neighbors: Given an active user, wecompute neighbors whose preferences are similar tothose of the active user’s from the pseudo rating matrix.We then use two similarity measures – the Pearson correlation coefficient and the Cosine similarity. Let a and b be two users,be the user a ’s current preference to the item j , and aj P a P be the user a ’s currentaverage preference. The Pearson correlation coefficientis defined as follows: ∑∑∑−−−−=j b bj j a aj j b bj a aj P P P P P P P P b a sim P 22)()())((),(_ The Cosine similarity is defined as follows:∑∑∑=jbjjajjbj ajPPP Pb a sim C 22)()())((),(_The top k neighbors are chosen based on their similarity values to the active user.Recommend items: We recommend the top m items among all items that are recommended by the k neighbors. Let a and t be two users, j be an item, sim(a, t) be the similarity value between user a and user t . The predicted score function is defined as follows:∑−=ttttjt a sim P P t a sim j a PS ),())(,(),(3 Experiments and ResultsIn order to observe the effectiveness of system, we have conducted several experiments on real-world data in a mobile e-commerce environment. We compared the accuracy of our time-based recommender system with the recommender system using pure collaborative filtering.All simulations were implemented by VBA (Visual Basic for Applications) on Excel worksheets.3.1 Implicit Feedback Data Set Korea is considered one of the most advanced countries in the area of Information Technology. SKTelecom is one of the major companies that provide mobile internet services in Korea.For the implicit feedback data set, we used transactiondata from June 2004 to August 2004. In this period, users purchased and downloaded character images (wallpaper) to their mobile devices via the Internet. The total number of users who purchased at least one image was 1,922. The total number of character images is 9,131. The total number of transactions is 65,101. We used 80% of the total transaction data as training data. We built a time-based recommender system using these training transactions.The remaining 20% of the total transaction data was used as test data to demonstrate the effectiveness of our time-based recommender system. This was done by comparing the accuracy of our recommendations with those of a pure collaborative filtering-based recommender system for the users in the test transactions.3.2 Experiment DesignPseudo Rating Matrix: In our experiments, we usedthe following rating function. We divided the item launch times into three groups - old launch, middle launch, and recent launch groups. Similarly, wedivided the users’ purchase times into three groups – old purchase, middle purchase, and recent purchase groups Table 4. The Rating Function Woldpurchase group middle purchase group recent purchase groupold launch group 0.7 1.7 2.7 middle launch group 1 2 3 recent launch group1.32.33.3Our rating function values are given in Table 4. Note that our rating function assigns higher rating values to recent purchases and recent launches than oldpurchases and old launches. We then constructed the pseudo rating matrix. Of course, we can design different rating functions by using a different number of groups and assigning them different weights. We canthen choose the best rating function among them. Similar Neighbors and Recommended Items: We used both the Pearson correlation coefficient and the Cosine similarity in order to find neighbors.In total, we computed 10 similar neighbors to the active user. We tried different numbers of neighbors, but found that the number of neighbors did not affect the accuracy of our recommender system.We recommended a total of 10 items by considering the size of cell phone displays.3.3 Empirical ResultsIn our experiment, we defined accuracy as the ratio of the number of items recommended and purchased to the number of items recommended by the system. We compared our time-based recommender system with the pure collaborative filtering-based recommender system.3.3.1Results with Pearson correlation coefficient similarity In the case of the Pearson correlation coefficient, we need to compute the standard deviation. Thus, we haveto include the users who did not purchase the items by using the rating value 0.The number of items recommended by the pure CF system and actually purchased by the users is 123. The number of items recommended by our CF system and actually purchased by the users is 180.Table 5. Results with Pure CF using PearsonCorrelation Coefficientpure CF time-basedCF# itemsrecommended &purchased123 180# itemsrecommended &purchasedper user0.11 0.16The accuracy comparison of both the pure CF and our proposed CF is presented in Table 5. The number of items purchased per each user is 0.11 items in the case of the pure CF. Our CF improves the number of item purchased per each user to 0.16 items.3.3.2Results with Results with Cosine similarityIn the case of using Cosine similarity, the number of items recommended by the pure CF and actually purchased by the users is 127. The number of items recommended by our CF and actually purchased by the users is 170.Table 6. Results with Pure CF using CosineSimilaritypure CF time-based CF# itemsrecommended& purchased127 170# itemsrecommended& purchasedper user0.11 0.15 The accuracy comparison of both the pure CF and our proposed CF is presented in Table 6. The number of items purchased per each user is 0.11 items in the case of the pure CF. Our CF improves the number of item purchased per each user to 0.15 items.Accuracy improvement of our time-based CF isdepicted in Figure 1 and Figure 2.Figure 1. Accuracy Improvement under PearsonCorrelation CoefficientFigure 2. Accuracy Improvement under CosineSimilarityTable 7. Accuracy Improvements over pure CF AccuracyImprovementPearsonCorrelationCoefficientCosineSimilarity # itemsrecommended &purchased46 % 34 %# itemsrecommended &purchasedper user46 % 34 %3.4Summary & DiscussionsAs shown in Table 7 and Figure 1 and 2, our CF showed accuracy improvement by 46 % over the pure CF under the Pearson correlation coefficient similarity measure. Under the Cosine similarity measure, our CF improved accuracy by 34 % over the pure CF. This result might be dependent on the type of items. In our experiment, the items are character images targeted mainly to younger users. This might have somewhat affected the degree of accuracy improvement. However, we do not believe that this factor is significant.In both cases, we can see significant accuracy improvement by incorporating temporal information. This confirms our observation that more recent purchases better reflect a user’s current preference and more recently launched items better appeal to users.4Comparison with Related Work Content-based and Collaborative Filtering: There are three main approaches to recommendation – content-based, collaborative filtering and hybrid. Content-based recommendation (or information filtering) is the method of suggesting recommendations to an active user based on descriptive features associated with items and the user’s ratings of items [5,6].Collaborative filtering is the widely used method of providing item recommendations to an active user based on ratings from other users. There are two basic methods of automatic collaborative filtering – user-based and item-based. GroupLens is an example of user-based collaborative filtering [7,8].User-based collaborative filtering algorithms focus on the similarity among users and thus have problems with scalability as the number of users increases. Item-based collaborative filtering algorithms improve scalability by focusing on the similarity among items using user ratings rather than on the similarity among users themselves [9].The recommender system proposed in this paper can be viewed as collaborative filtering that incorporates content feature, such as item launch time.Using Time Information: Two kinds of time information - product launching time or user rating time - have been used in collaborative filtering using explicit ratings to improve either recommendation accuracy or performance.The product launch time was used in [3]. By using temporal features of items, they presented a technique to scale down candidate sets in the context of movie recommendations. They used movie production years to improve the performance of the collaborative filtering-based recommender system. It was also reported that the inclusion of production year improved the accuracy of the recommender system.The user rating time was considered in [4] in order to improve the precision of item-based collaborative filtering. An algorithm to compute the weights based on rating times for different items was proposed.In our method, we construct a rating matrix from implicit feedback by using both item launch time and user purchase time.Implicit Feedback: Examples of implicit feedback include user purchasing patterns, Web page visits, and Web surfing paths. A recommender system based on information built by analyzing a Web log was introduced in [10,11]. The amount of data in the log is usually enormous. But, the amount of relevant data that is useful for recommendation is relatively small and can only be extracted through preprocessing. A Web log-based recommender system may not be suitable for real time recommendation in a large-scale e-commerce environment.Our method focuses on building a recommender system based on the collaborative filtering technique with implicit feedback.5Conclusion and Future Work We have presented a novel approach to building an effective collaborative filtering-based recommender system based on implicit feedback. The main idea of our approach is the construction of pseudo rating data from implicit feedback data by incorporating temporal information – user purchase time and item launch time – to achieve better recommendation accuracy. We can tune the rating function such that it provides the highest level of accuracy.Empirical results from several experiments in a mobile e-commerce environment support this idea. Our approach can be applied to any e-commerce environment where it is impossible or difficult to collect explicit feedback data. Future work will include investigations of• other types of information (other than temporal) that can be incorporated in the pseudo rating matrix for accuracy improvement, • sensitivity of various temporal information to accuracy, and• new similarity measures that are more suitable to the pseudo rating matrix.6 AcknowledgmentsWe would like to thank Dr. Y. H. Cho for permitting us to share the Data Set. This work is supported in part by the Caterpillar Research Fellowship.4 References[1] Recommended systems Special Issue.Communication of ACM , 40(3), March 1997.[2] Adomavicius, G. and Tuzhilin, A. Toward thenext generation of recommender systems: a survey of the state-of-the-art and possible extensions. IEEE Transactions on Knowledge and Data Engineering , 17(6), 2005, 734 – 749.[3] Tang, T. Y., Winoto, P., and Chan, K. C. C. Scaling Down Candidate Sets Based on the Temporal Feature of Items for Improved Hybrid Recommendations. Intelligent Techniques in Web Personalization 2003, Springer, LNAI 3169, 169-185. [4] Ding, Y. and Li, X. Orlowska M. Recency-Based Collaborative Filtering, Australian Computer Science Communications , Vol., 28 No 2, Australasian Database Conference 2006 (ADC06), Tasmania, Jan 2006, ACM Digital Library, 99-107.[5] Balabanovic , M. and Shoham, Y. Fab: Content-based, collaborative recommendation. Communications of the Association for Computing Machinery , 1997, 40(3), 66-72.[6] Mooney, Raymond J. and Roy, Loriene. Content-Based Book Recommending Using Learning for Text Categorization. In Proceedings of DL-00, 5th ACM Conference on Digital Libraries, June 2000, 195 - 204. [7] Resnick, P., Iacovou, N., Suchak, M., Bergstrom, P., and Riedl, J. GroupLens: An Open Architecture for Collaborative Filtering of Netnews. In Proceedings of CSCW ’94, Chapel Hill, NC.[8] Konstan, J., Miller, B., Maltz, D., Herlocker, J., Gordon, L., and Riedl, J. GroupLens: Applying Collaborative Filtering to Usenet News.Communications of the ACM, 40(3), 1997, 77-87.[9] Sarwar, B., Karypis, G., Konstan, J., and Riedl, J.Item-based collaborative filtering recommendation algorithms, In Proceedings of ACM InternationalWorld Wide Web Conference (WWW10), Hong Kong, 2001, 285 - 295[10] Mobasher, B., Dai, H., Luo, T., Sun, Y., and Zhu, J. Automatic Personalization Based on Web Usage Mining. Communications of the ACM , Vol. 43(8), 2000, 142-151.[11] Anderson, C. R., Domingos, P., and Weld, D. S. Personalizing Web Sites for Mobile Users. In Proceedings of the 10th Conference on the World Wide Web (WWW10), 2001.。