Introduction
许多应用不止应考虑用户和物品,也应该包含上下文信息。
例,个性化的内容推荐系统,决定哪些内容是需要被推荐给用户,何时推荐给用户是十分重要的。更特殊的,在工作日,一个使用者早上登录时或许喜欢读事件新闻,晚上喜欢读故事报告,在休息日喜欢读电影评论和购物。
另一例,智能购物车利用无线定位技术为消费者提供实时的推荐,需要考虑的信息不仅是商品和消费者的信息,还有诸如购物时间,商店,谁陪同消费,购物车中的商品,商品在商店的位置等上下文信息。
另一例,一个推荐系统或许推荐用户不同的电影一句用户是否在周六晚上和男朋友去看还是工作日和父母去看。
尤其是,同样的消费者在不同的上下文环境中可能使用不同的决策策略,选择不同的商品。
为了提供基于上下文信息的推荐,本文提出了一个多维推荐模型,基于多维做出推荐,扩展了经典的二维,用户*商品范例。
为了多维模型提出了一个排名估计模式和一个混合多维和二维的算法,和基于混合方法的排名估计。
最后,提出一个考虑上下文多维信息的电影推荐系统。
本文利用基于减少量的方法,使用关于用户自定义标准的上下文的推荐系统。
例,推荐想在周六晚上到电影院看电影的某人,我们的方法只是用双休日在电影院上映的电影排名。这种方法混合多策略和本地机器学习的方法,在线分析处理和市场分割的方法来预测未知的排名。
Multidimensional Recommendation Model
多维,每一维度的分析,排名聚合能力
3.1 MD
是维度,每个维度 是一些属性 的笛卡尔积,即 ,每个属性定义了一个域。一个或一些属性组成key,它们唯一地定义了其他的属性。
定义推荐空间
评分函数
例,三维推荐空间 User*Item*Time,User维定义为 ,Item维定义为 ,time维定义为 ,Rating R在推荐空间 排名函数R表示user 在 喜欢 的程度。
考虑到推荐空间 ,排名函数,推荐问题定义为选定指定what维 (k ,并且两者不重叠, ,每个元组 ,元组 使排名函数最大化
比如推荐电影给用户可以有以下维:
Movie: Movie(MovieID, Name, Studio, Director, Year, Genre, MainActors).
• Person: (UserID, Name, Address, Age,Occupation, etc.).
• Place: home TV, VCR, and DVD.
• Time: (TimeOfDay, DayOfWeek, Month, Year).
• Companion: “alone,” “friends,”“girlfriend/boyfriend,” “family,” “co-workers,” and “others.”
S = Customer × Product × Time × Store × Location ).
重要问题:哪些维应该被考虑到推荐系统中。(数据挖掘中的特征选择和统计)
维X有两个值X=h, X=t,假如X=h, X=t的排名相同,则该维是无关紧要的。
大多数传统推荐系统提供的推荐只有一个特定的形式“recommend top N items to a user,”,多维推荐模型就有更多的选择,“best N user/time combinations to recommend for each item,” or the “best N items to recommend for each user/time combination,” or the “best N times to recommend for each user/item combination,”
例如,在电影推荐系统中,可以推荐电影,地点给某人在一个指定的时间,比如明天,Joe可以到电影院看Parry Potter,也可以推荐地点时间电影给某人和某人,如双休日,Jane和她的男朋友应该在家看about Schmidt的DVD。
Recommendation query language RQL语言。
3.2 Profiling Capabilities
派生属性:包括统计信息,一个人每月看多少部电影,消费者在电子商务上的最大和平均花费
规则集:“John Doe prefers to see action movies on weekends”
(i.e.,Name=“John Doe” & MovieType=“action” → TimeOfWeek=“weekend” )
“The movie ‘The Pianist’ is seen on weekdays predominately by the ‘empty nester’ segment of customers” (i.e.,MovieName=“The Pianist” & TimeOfWeek=”weekday” → CustType=“Empty Nester” ) 作为电影钢琴师的简介的一部分
序列集:浏览器动作和电影观看序列
“when Jim visits the book Web site XYZ, he usually first accesses the home page, then goes to the Home&Gardening section of the site, then browses the Gardening section and then leaves the Web site” (i.e., XYZ: StartPage → Home&Gardening → Gardening → Exit ).这些信息可以在消费者的事物历史中获得
签名:数据结构,捕捉从简单交易的大数据流学习到的相关行为
作用:提供更丰富的推荐。不是简单的top N
可以使用在推荐算法中得到更有针对性的推荐,比如针对学生的推荐
提供运行时处理的能力,假如我们想定义推荐周六看钢琴师的一些人,假如我们有规则MovieName=“The Pianist”& TimeOfWeek=“weekday” → CustType=“Empty Nester” , 我们可以限制在Empty Nester 人口段在运行时间(如,周三),因此提供更多的有针对性的推荐
3.3 Aggregation Capabilities
将每种属性进行聚集和划分
例,电影推荐系统,所有的电影都可以划分成子类,而子类可以聚成类。
Person维可以依据年龄或职业划分,或者使用一种标准划分方式。Place维可以划分为movie theater类,TV at home类,VCR at home类,DVD at home类。Companion维不能聚集。Time可以有不止一种划分,Time可以聚类成日周月年,或是聚类成日工作日双休日。选择适当的分层是标准的OLAP问题,用户定义层次或是依据数据进行划分。
1,简介描述每个物品的每一个n维属性,例如movie维,我们存储所有的电影的简介在数据库中
2,对每一个维聚集分层
可以处理不只是单个物品的推荐,还可以推荐组
4.1 An overview of the Reduction-Based Approach
基于reduction-based的方法减少多维推荐系统的问题到二维推荐系统。所以所有二维推荐系统的研究都可以应用在多维推荐系统上。
假设
是二维评估函数,考虑现存的排名D,D包含记录为每一个用户自定义排名,可以计算任意排名的预测。
D包含
三维减到二维的过程:
D[Time = t] (User, Content, rating)表示去Time=t的值的时候的R评分
考虑到D[Time = t] (User, Content, rating)可能不包含为二维推荐算法提供的足够的数据,因此
例,
1, 消除Time维,通过在所有评分D中选择morning评分,然后变成了二维问题。
2, 用二维评分消除技术,计算出John多么喜欢DowJones Report,在morning的评分数据集中得到其得分