用户情境下基于信息增益和项目的协同过滤推荐技术研究

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

用户情境下基于信息增益和项目的协同过滤推荐技术研究谭学清;何珊
【摘要】情境对于推荐系统的重要性已经得到了众多学者的普遍认可。

然而在现有的基于情境感知的推荐中,基本上赋予所有情境因素的权重都是一样的,这种权重等分的做法很大程度上影响了推荐结果的质量。

因此,提出了一种用户情境下基于信息增益和项目的协同过滤推荐技术,运用信息增益理论对诸多情境因素进行属性约简,计算不同情境属性的权重,抽取出对推荐结果影响较大的重要情境信息,将其与传统的基于项目的协同过滤推荐算法相结合,为处于特定情境下的用户提供个性化推荐。

最后,通过实验证明该技术可以有效地提高推荐结果的准确率。

关键词个性化推荐情境感知信息增益属性约简协同过滤。

%The importance of context in recommender systems has gained general recognition of the numerous scholars. However, in the existing context-aware recommendation, the weights of all the contextual factors are basically the same, which largely limits the quality of the recommended results. Therefore, this paper proposes a context-aware recommendation technology based on information gain and item-based collaborative filtering, applies the theory of information gain to reduce contextual factors, calculates the weights of different contex-tual attributes and extracts the significant contextual information that influences the recommended results greatly. The combination with the traditional item-based collaborative filtering algorithm provides appropriate items to specific users under particular contexts. Finally, the experiment shows that
the proposed approach is helpful to improve the accuracy of recommended results.
【期刊名称】《情报杂志》
【年(卷),期】2014(000)007
【总页数】6页(P165-170)
【关键词】个性化推荐;情境感知;信息增益;属性约简;协同过滤
【作者】谭学清;何珊
【作者单位】武汉大学信息管理学院武汉 430072;武汉大学信息管理学院武汉430072
【正文语种】中文
【中图分类】TP311
随着信息技术和互联网的飞速发展,用户面对着一个海量的信息资源库,如何从中快速、准确地获取对自己真正有价值的信息变得越来越困难。

然而,个性化推荐技术根据用户的需求和兴趣偏好,将有价值的信息主动地提供给用户,有效地解决了这一“信息过载”的问题,因此它被广泛应用于电子商务、社交网络、音乐、阅读、电影和视频、基于位置的服务等领域。

然而,在一些特定的背景下(如用户处于不
同心情下所偏好的音乐类型或电影类型、在线旅游网站推荐的不同季节的旅游内容等),仅仅考虑用户和被推荐的对象是不够的,很关键的一个步骤是要考虑用户当
前所处的情境,并将该情境信息应用于个性化推荐的过程当中。

情境对于用户选择产品或服务有着重大的影响,将某个具体的传统的个性化推荐技术结合用户在泛在环境下的情境因素来进行个性化推荐受到了学者的普遍关注。


如,Verbert等人[1]认为将情境化研究作为构建智能化推荐系统的范式,能够更
好地预测用户需求,为用户提供更精准的推荐,因此推荐系统必须要将用户的情境信息融入到推荐过程当中;Kim等人[2]提出了一个基于情境感知的个性化健康管
理系统,该系统运用一个情境感知模型将缺失的用户偏好值映射到协同过滤技术当中,实现了泛在环境下情境感知与协同过滤技术的结合;T.H.Dao等人[3]利用遗
传算法构建了一个基于情境感知的协同过滤推荐模型,结合用户的偏好和交互的上下文信息实现基于位置的广告推荐服务;Baltrunas等人[4]让用户显式地判断在某种特定情境下某一个情境因子对于项目评分的影响力,基于这些显式数据的分析,构建了一个基于情境感知的手机推荐系统原型ReRex,该原型不仅提供名胜古迹
的推荐,还能够识别出对被推荐项的预测评分影响最大的情境因素;Majid等人[5]将旅游景点在不同情境下的流行度作为用户配置文件的匹配条件,根据用户当前的情境实现景点的过滤,并以协同过滤的方式对景点进行排序,从而为用户推荐符合特定情境的旅游景点。

综上所述,情境是个性化推荐过程中一个不可忽略的因素。

然而,上述学者的研究都存在一个共性——将收集到的所有情境因素都融入到推荐方法中,并赋予所有
的情境因素相同的权值,忽略了不同的情境因素对于推荐结果影响力的不同。

事实上,有些情境属性在推荐过程中发挥着重要的作用,而有些属性的作用则是次要的,有的甚至可以被忽略。

因此,不论是从现实角度还是从推荐结果的准确性角度,这种属性权重均等的做法都是不合理的,它在很大程度上增加了推荐过程的复杂度,降低了推荐的质量。

为此,本文提出运用信息增益理论对情境信息进行抽取和度量,然后融合抽取出的高权重情境因子来实现基于项目的协同过滤推荐。

不仅使传统的协同过滤推荐算法具备了情境感知的能力,还通过情境属性权重的确定提高了推荐质量,有效地降低了推荐过程的复杂度和成本,为用户提供了符合当前情境的优质的个性化推荐服务。

1.1 情境和情境感知关于情境,目前被广大学者普遍认可的是Dey[6]在其博士论
文中对Context的定义:情境是所有能够描述用户与应用程序之间交互所涉及的
实体(包括人、位置、物体等)状态的信息,也包括用户和应用程序本身。

情境感知[7]是指利用情境向用户提供相关的信息或服务的过程,目前已经被广泛
地应用于普适计算、数据挖掘、移动计算等领域。

情境因素对用户的最终选择起着关键性的作用,一个令用户满意的推荐系统不再仅仅只是用户和被推荐对象的二维矩阵,而应该融入多维度的情境信息来帮助用户在不同的情境下找到自己感兴趣的项目。

因此,是否具备情境感知能力对于推荐系统而言也变得越来越重要了。

1.2 信息增益的基本理论
定义1 信息系统[8]
在信息论中,四元组S=(U,A,V,f)是一个信息系统,其中U称为论域,表示对象(或事例)的非空有限集合,记为U={x1,x2,…,xn};A是属性的有限集合,A=C∪D,C∩D=∅,其中C表示条件属性,D表示决策属性;V是属性的值域集,记为
V={V1,V2,…,Vm};f是信息函数,即f:U×A→V,∀a∈A,x∈U,Va 是属性a 的值域,f(x,a) ∈Va。

定义2 期望信息[9]
设S是s个数据样本的集合。

假定类标号属性具有m个不同值,定义m个不同类Ci(i=1,2,…,m)。

设si是类Ci中的样本数。

对一个给定的样本分类所需的期望信息由下式给出pilb(pi),pi是任意样本属于Ci的概率,一般可用si/s来估计。

定义3 熵与信息增益[9]
设sij是子集Sj中的类Ci的样本数。

根据由A划分成子集的熵由下式给出
I(s1j,s2j,…,smj),v为属性A中不同值的个数;充当了第j个子集的权,并且等于子集中的样本个数除以S中的样本总数;根据上面给出的期望信息计算公式,对
于给定的子集Sj,其期望信息可由下式计算得出pijlb(pij),其中,是Sj中的样本属于类Ci的概率。

属性A的信息增益值为Gain(A)=I(s1,s2,…,sm)-E(A)。

Gain(A)的大小作为度量属性重要性的一种方法,信息增益值越大,条件属性对决策属性的影响力也就越大。

1.3 基于项目的协同过滤推荐技术基于项目的协同过滤推荐算法是目前应用最广
泛的一种推荐算法,例如亚马逊网、YouTube、Netflix等,其推荐算法的基础都是基于项目的协同过滤。

该算法的基本思想是通过计算项目之间的相似性来向用户提供个性化推荐。

具体实现过程主要分为两步:选取最近邻居和产生推荐。

该算法善于发掘用户新的兴趣点,具有较高的推荐质量,但也存在着协同过滤推荐技术所不可避免的一些问题,如冷启动问题、评分数据稀疏性问题等。

在基于情境感知的推荐系统中,每个情境因素对于推荐结果的影响力并不是同等重要的,本文运用基于信息增益的属性约简算法,将其作为一种过滤策略筛选待计算的情境属性,提取出能够表征情境信息的重要属性,实现情境属性集的约简,并且用信息增益值来度量该情境属性针对于被推荐项的权重。

2.1 基于情境感知的推荐系统的形式化表示按照信息增益理论,将基于情境感知
的推荐系统的形式化表示定义如下[10]:
Context-awareRS=(R,U,I,C,V,K,f,g,η,φ,λ,φ)
其中,R是非空的事例集合;U是一个非空的用户集;I是非空的项目集;C是非
空的情境属性集;V是情境属性的值域集;K⊆C×V是非空的情境集,即一组属性-值对。

f:R×C→V,指定R中的每一个事例的情境属性值;g:K×C→V,指定K中一个特
定情境的情境属性值;η:R→U,指定R中每一个事例所对应的目标用户;φ:R→I,指定R中每一个事例所对应的目标项目;λ:R→K,指定R中每一个事例所对应的
情境;φ:R→Rating_value,指定R中每一个事例所对应的评分值。

2.2 算法描述为了能够提取对推荐结果更为重要的情境属性,预先设定一个信息
增益阙值C’。

当然,该阙值的选取应该适当,若过大,会使重要的情境属性丢失;而过小,则又会造成情境属性依旧冗余,计算过程依旧繁杂。

输入:Context-aware RS中的一组事例R,一组情境属性C,一组项目集I,信
息增益阙值C’。

输出:约简后的情境属性集Red,以及每个情境属性相应的权重Wci。

步骤:
步骤1,以项目集I作为分类属性,计算给定样本I分类所需的期望信息
I(s1,s2,…,sn),n为项目集I中不同值的个数;
步骤2,计算一个给定分类属性的各子类的分布期望I(s1j,s2j,…,smj),观察该情境属性的样本值的分布,计算该属性样本的信息熵E(Ci);
步骤3,在步骤1和2的基础上,得到该属性的信息增益Gain(Ci)=I(s1,s2,…,sn)-E(Ci);
步骤4,返回步骤2循环计算各属性的信息增益;
步骤5,如果得出的信息增益值Gain(Ci)<C’,则删除该属性Ci,得到约简后的
情境属性集Red=C-Ci,以及每个情境属性的权重WCi=Gain(Ci)。

2.3 算法应用举例下面运用一个简单的基于情境感知的电影推荐实例来说明基于
信息增益的属性约简算法的实现过程,所采用的数据集如表1所示:6组事例(R),4个观影情境属性(时间,地点,陪伴,心情);被推荐的电影(I);用户给出的观影
评分Rating_value(10分制)。

其中属性的取值情况如下:时间
={weekend=1,weekday=0},地点={home=1,theater=0},陪伴={alone=1,not alone=0},心情={bad=1,good=0},被推荐电影Item={Gone with the
wind=1,Die hard=0}。

a.将被推荐电影I作为分类属性,计算给定样本I分类所需的期望信息:
b.从时间属性开始,观察其每个样本值的分布,计算时间情境属性的熵:
对于时间={weekend=1},s11=3,s21=2,I(s11,s21)=0.971
对于时间={weekday=0},s12=1,s22=0,I(s12,s22)=0
因此,时间情境属性的熵为:
c.时间属性的信息增益为:
Gain(time)=I(s1,s2)-E(time)=0.162
同理,通过计算得出其余各属性的信息增益分别是:Gain(location)=0.459;Gain(companion)=0.316;Gain(mood)=0.044。

d.若设信息增益阙值为0.1000,则心情属性为冗余属性,约简后的观影情境属性
集Red={时间,地点,陪伴}。

其中三个情境属性的权重依次为Wtime=0.162,Wlocation=0.459,Wcompanion=0.316。

3.1 用户-项目-情境的多维模型的构建在考虑了情境因素的情况下,所建立的用户配置文件与传统的二维模型用户-项目评分矩阵不同,需要构建关于用户、项目和
情境的多维模型来存储用户在各种情境因素下对项目的评分信息以供个性化推荐过程中使用。

本文在Adomavicius[11]提出的多维模型的基础之上,以时间情境类
别为例,构建了一个用户-项目-时间的多维模型,如图1所示。

3.2 重要情境之间的相似度计算传统的基于项目的协同过滤推荐技术在建立了用
户-项目的配置文件之后就计算项目之间的相似度,但是由于现在加入了情境信息,因此首先需要对情境属性集进行过滤处理,找出重要情境属性集。

运用2.2提出的基于信息增益的情境属性约简方法,将历史情境H,在历史情境下用户所选择的项目H_item,信息增益阙值H’作为输入数据,得到约简后的历史重要情境属性集H_Red和各个重要情境属性的权重WH_Redi。

由于重要的情境
属性对推荐结果的影响力一般具有持续性,因此假定当前重要情境属性集与历史重要情境属性集是相同的。

例如,令当前重要情境属性集为C_Red,则C_Red与
H_Red有相同的情境属性, C_Red=H_Red={时间,地点,天气},但是C_Red 与H_Red中的每个情境属性下的情境变量则不一定是相同的。

得到重要情境属性集后,利用相似度计算找出历史重要情境下哪些情境与用户当前的重要情境具有高关联度,只有高关联度的历史重要情境才是我们要参考的数据。

每个情境信息中有多个情境属性(时间、地点、天气等),而每个属性下又有多个变量值,例如时间属性下可能拥有“上午9点”、“下午3点”、“晚上8点”等变量,而且用户在每个变量下对项目都有评分,所以要想找出与当前重要情境具有高关联度的历史重要情境则必须首先计算相同情境属性下两情境的相应变量之间的相似度。

simt∈H_Red(x,y,i)=
其中,t∈H_Red表示情境属性t是重要属性集H_Red中的一个属性类别;
simt∈H_Red(x,y,i)表示情境属性t下的情境变量x与变量y针对于项目i的相似度。

其中,Wt表示情境属性t的权重;Ru,i,x表示用户u在属性t的情境变量x 下对项目i的评分,同理Ru,i,y表示用户u在属性t的情境变量y下对项目i的评分;为用户u对各变量的评分均值;Uxy表示对变量x和变量y均有评分的用户集合;Ux和Uy分别表示对变量x和y有评分的用户集合。

3.3 选取最近邻居由于融入了用户的情境因素,要寻找目标用户的项目的最近邻居,先应该确定在当前重要情境C下用户u对项目i的评分,即Ru,i,C,计算公式如下:
其中,Ru,i,x表示在同一个重要情境属性下当前情境变量与历史情境变量相似度取最大值时,所对应的历史情境变量x下用户u对项目i的评分;simH_Redt(C,S,i)表示在重要情境属性集H_Red的第t个属性类别下当前情境变量C与历史情境变量S针对项目i的相似度。

在获得当前重要情境下用户对项目的评分后,利用修正的余弦相似性方法[12]来计
算项目i和项目j之间的相似度,计算公式如下:
其中,sim(i,j)表示在当前重要情境下项目i和项目j之间的相似度;Ru,i,C和Ru,j,C分别表示当前重要情境C下用户u对项目i和项目j的评分;为用户u对各项目的评分均值;Uij表示对项目i和项目j都有评分的用户集合;Ui表示对项目i 有评分的用户集合,同理Uj表示对项目j有评分的用户集合。

在计算出了项目之间的相似度之后,利用中心最近邻[13]的方法来选择目标项目的最近邻居集合,即将其他项目与目标项目的相似度进行大小排序,选取前K项作为目标项目的最近邻居集合,记为KNCCi。

3.4 产生推荐结果在取得了目标项目的最近邻居集合后,采用基于评分预测的Top-N推荐方法,利用基于项目均值的加权平均值的方法来计算目标用户a在当前重要情境C下对目标项目i的预测评分Pa,i,C,计算公式如下:
其中,和分别表示所有用户对项目i和项目j的评分的均值;Ra,j,C表示当前重要情境C下用户a对项目j的评分。

在介绍了本文提出的用户情境下基于信息增益和项目的协同过滤推荐技术的具体实现过程之后,通过一个对比实验来验证本文提出的方法相对于基于完全情境属性的协同过滤推荐技术(将所有情境属性都加入到推荐过程当中并且各情境属性权重均等的情境感知推荐方法)和传统的基于项目的协同过滤推荐技术来说具有更好的推荐效果。

4.1 数据集本实验中采用的数据集来源于MovieLens提供的大小为100K的数据集,该数据集是GroupLens项目组通过MovieLens站点收集用户对电影的评分而形成,已经被广泛地应用于个性化推荐技术的实验验证过程中。

该数据集从10万条评分记录中选取80%作为训练集、20%作为测试集,从而形成了5对base训练集和test测试集。

在MovieLens的100K大小的数据集中,电影被分为了18个种类,在本实验中
这些电影种类将被当作项目类别,而与用户相关的年龄、性别、职业和家庭住址这
4个类别则作为本实验中用户的4个情境属性,每个情境属性下都存在多个情境变量。

例如,在年龄情境属性中,每一个情境变量表示的是一个数值区间,分别为:18岁以下、18~24、25~34、35~44、45~49、50~55、大于56岁;在职业情境属性中存在20个情境变量,例如医生、经理、教师等。

4.2 度量标准度量标准的选择是验证个性化推荐算法质量的关键组成部分,好的
度量标准能够十分有效地检测出算法的性能及其不足之处。

本实验采用
MAE(Mean Absolute Error,平均绝对误差)和P@N(Precision@N,准确率)作
为预测结果的度量标准。

其中,MAE通过计算预测的用户评分与实际的用户评分
之间的偏差平均值的绝对值来度量预测的准确性,其定义如下[14]:
其中,pi表示对项目i的预测评分;qi表示对项目i的实际评分;N表示数据集中数据的数量。

MAE的值越小,证明预测的结果越精确。

P@N表示生成的Top-N推荐列表中,用户喜欢的项目个数与所有被推荐项目的
个数N的比值,其定义如下[15]:
4.3 实验及结果分析为了证明本文提出的方法具有更高的推荐质量,分别计算本
文提出的用户情境下基于信息增益和项目的协同过滤推荐技术(方法1)、基于完全
情境属性的协同过滤推荐技术(方法2)以及传统的基于项目的协同过滤推荐技术(方法3)的MAE值,通过比较这三种技术下所计算出来的MAE值来分析哪种技术的推荐效果更好。

本实验采用MovieLens数据集中的u1.base和u1.test分别作为训练集和测试集,利用基于信息增益的属性约简算法对年龄、性别、职业和家庭住址这4个情境属
性进行约简,得到约简后的重要情境属性集Red={年龄、性别、职业}。

运用上述
三种方法分别计算u1.base中的目标用户对目标项目的预测评分,然后将其与
u1.test中的实际评分进行计算,求两者之间的MAE值。

为了使实验具有更好的精确性,实验在选取目标项目的最近邻居时,采用区间渐进的办法,分别取的最近邻居的个数为:5、10、15、20、25、30、35、40,根据计算得到三种方法在不同数量的最近邻居下的MAE值,以及三种推荐方法在
N=5和N=10的准确率。

具体计算数值分别如表2、表3所示。

图2显示的是三种推荐方法的实验结果对比图,其中,横坐标表示的是目标项目的最近邻居的个数;纵坐标表示的是三种方法在训练集计算出的预测评分与预测集中的真实评分两者之间计算得出的MAE值。

由图2的结果对比分析图表可以看出:从总体上看,本文所提出的用户情境下基于信息增益和项目的协同过滤推荐方法在预测评分上更接近于实际值,而且当最近邻居个数越多时,本文所提出的用户情境下基于信息增益和项目的协同过滤推荐技术的MAE值在不断减小,且减小的幅度在不断增大,说明推荐的精准度随着最近邻居个数的增加在不断地提高。

由表3的P@N值可以看出,本文所提出的方法在准确率上也明显优于另外两种方法。

所以,该实验结果证明,与基于完全情境属性的协同过滤推荐技术和传统的基于项目的协同过滤推荐技术相比,用户情境下基于信息增益和项目的协同过滤推荐技术能够更有效、更精确地向用户推荐其偏好的项目。

用户行为准确的预测很大程度上依赖于我们将哪些情境因素融入到推荐方法当中,针对现有研究中将所有情境因子都加入到推荐过程当中并且情境属性权重均等的做法,本文提出了利用信息增益策略来滤除没有计算意义的情境属性的方法,同时结合传统的基于项目的协同过滤推荐算法,实现了用户情境下基于信息增益和项目的协同过滤推荐。

通过实验证明该方法比基于完全情境属性的协同过滤推荐以及传统的基于项目的协同过滤推荐能够在特定情境下提供更加适当、精准的推荐。

然而,由于实验所采用的情境属性基本上都是静态的情境,所涉及到的情境类别也较为有
限,因此实验还有待进一步的深入。

此外,在算法的时间复杂度上也需要进一步的改进。

未来进一步的研究工作将尝试使用增益比率法来作为情境属性的度量标准,并且与本文提出的基于信息增益的方法做实证对比研究,最后实现与传统的推荐算法的结合。

【相关文献】
[1] Verbert K, Manouselis N, Ochoa X, et al. Context-aware Recommender Systems for Learning: a Survey and Future Challenges[J]. Learning Technologies, IEEE Transactions on, 2012,5(4):318-335.
[2] Kim J, Lee D, Chung K Y. Item Recommendation Based on Context-aware Model for Personalized U-healthcare Service[J]. Multimedia Tools and Applications,2013:1-18. [3] Dao T H, Jeong S R, Ahn H. A Novel Recommendation Model of Location-based Advertising: Context-aware Collaborative Filtering Using GA approach[J]. Expert Systems with Applications, 2012,39(3):3731-3739.
[4] Baltrunas L, Ludwig B, Peer S, et al. Context Relevance Assessment and Exploitation in Mobile Recommender Systems[J]. Personal and Ubiquitous Computing, 2012, 16(5): 507-526.
[5] Majid A, Chen L,Chen G,et al. A Context-aware Personalized Travel Recommendation System Based on Geotagged Social Media Data Mining[J]. International Journal of Geographical Information Science,2013,27(4): 662-684.
[6] Dey A K. Providing Architectural Support for Building Context-aware Applications[D]. Georgia Institute of Technology, 2000.
[7] Dey A K. Understanding and Using Context[J]. Personal and Ubiquitous Computing, 2001,5(1):4-7.
[8] Pawlak Z. Rough Sets and Intelligent Data Analysis[J]. Information
Sciences,2002,147(1):1-12.
[9] 贾平, 代建华, 潘云鹤, 等. 一种基于互信息增益率的新属性约简算法[J]. 浙江大学学报: 工学版,2006,40(6):1041-1044.
[10] Huang Z, Lu X, Duan H. Context-aware Recommendation Using Rough Set Model and Collaborative Filtering[J]. Artificial Intelligence Review,2011,35(1):85-99.
[11] Adomavicius G, Tuzhilin A. Context-aware Recommender Systems[M]//Recommender Systems Handbook. Springer US,2011:217-253.
[12] 邓爱林, 朱扬勇, 施伯乐. 基于项目评分预测的协同过滤推荐算法[J]. 软件学报,2003,14(9).
[13] Adomavicius G, Tuzhilin A. Toward the Next Generation of Recommender Systems: A Survey of the State-of-the-art and Possible Extensions[J]. Knowledge and Data Engineering, IEEE Transactions on, 2005,17(6):734-749.
[14] Sarwar B, Karypis G, Konstan J, et al. Item-based Collaborative Filtering Recommendation Algorithms[C]// Proceedings of the 10th International Conference on World Wide Web. ACM,2001:285-295.
[15] Gantner Z, Rendle S, Schmidt-Thieme L. Factorization Models for Context-/time-aware Movie Recommendations[C]// Proceedings of the Workshop on Context-Aware Movie Recommendation. ACM,2010:14-19.。

相关文档
最新文档