APP下载

基于上下文感知推荐的协同过滤技术

2022-08-31马永波彭玉

电脑知识与技术 2022年19期
关键词:个性化推荐移动电子商务协同过滤

马永波 彭玉

摘要:移动电子商务已经开始在用户的决策和偏好中扮演着越来越重要的角色。为了更有效地在移动环境中为用户提供推荐信息,该文提出了基于上下文感知推荐的协同过滤技术,该技术利用用户重要的移动上下文信息来改进基于项目的协同过滤算法中相似性的度量,重新用改进的相似度计算方法来获得项目的预测评分。通过实验数据表明,基于上下文感知推荐的协同过滤技术可以在用户处于移动环境时为用户提供更准确的推荐结果,可以有效缓解移动用户评分数据稀疏性所带来的推荐结果失真的问题。

关键词:上下文信息;协同过滤;移动电子商务;个性化推荐

中图分类号:TP302.1    文献标识码:A

文章编号:1009-3044(2022)19-0085-02

1引言

随着移动互联网技术的飞速发展,移动电子商务逐渐走进人们的生活。但是,人们在移动环境中购物的上下文信息不能与PC购物的上下文信息完全一致。各种应用于传统电子商务的个性化推荐技术,当然也未必完全适用于移动电子商务。当用户在移动设备上购物时,天气、温度和位置等上下文信息是不同的。因此,在进行个性化推荐时,应考虑这些上下文信息,从而为客户提供更高效、更个性化的推荐服务。例如,在一个在线旅游网站中季节是较重要的推荐背景因素之一,向客户推荐的夏季和冬季旅游内容信息可能完全不同。因此,如何在移动环境中为用户提供更高效的个性化服务也开始成为研究热点。

目前一些研究人员已开始将传统的个性化推荐技术与无处不在的移动网络环境下的用户上下文因素相结合。例如,Adomavicius等人强调了下一代个性化推荐技术会将用户的上下文信息整合到个性化推荐过程中[1]。 Annie Chen提出了一个上下文感知协同过滤系统,该系统主要基于用户的协同过滤推荐,而不是基于项目的协同过滤推荐[2]。高敏等人提出了一种基于神经网络和 Slope One 算法的个性化上下文感知协同过滤[3]。

综上所述,将特定的个性化推荐技术与用户的各种上下文因素相结合,是个性化推荐系统发展的一个新方向。本文在上述文献的研究基础上继续探索,用上下文信息来改进项目之前相似度的计算,从而能获得更准确的项目预测评分,得到更准确的项目推荐给用户,提高电子商务系统的用户体验。

2传统的Item-based协同过滤技术

2.1传统基于项目的协同过滤算法的基本原理

Item-based协同过滤推荐算法的核心就是通过计算项目之间的相似度,然后选择最相似的项目进行预测[4]。

1)首先,应该建立一个用户档案。基于项目的协同过滤技术的基本数据源是一个用户评分数据矩阵R。它存储了[a]个用户对[b]个项目给出的评分。[a]表示用户信息[U=(u1,u2,…ua)],[b]表示项目信息[I=(i1,i2,…ib)]。如果用户[u]对项目[i]进行了评分,它将生成评分[Rui],[Rui]的值介于 0 和 5 之间。用评分数值越大,则用户越喜欢该项目。

2)选择最近邻居:协同过滤技术的关键是选择目标项目的最近邻居,并利用邻居的偏好来预测活跃用户的偏好。在基于项目的 CF 算法中,应该首先计算项目之间的相似度。我们使用 Pearson 相关性来计算项目之间的相似度。计算公式如式(1)。

[sim(i,j)=u∈Ui,j(Ru,i-Ri)(Ru,j-Rj)u∈Ui,j(Ru,i-Ri)2u∈Ui,j(Ru,j-Rj)2]      [(1)]

[sim(i,j)]表示目标项[i]与最近邻居[j]之间的相似性,[Ru,i]、[Ru,j]表示用户[u]对项目[i]和[j]的评分,[Ri]和[Rj]分别表示对项目[i]和项目[j]的平均评分。

3)当得到所有相似性时,按大小排序并选择前 K个相似性最大的项目,组成项目[i]的最近邻集合[Ii]。最后,可以通过计算评分的加权平均值来利用K个邻居的评分来预测活跃用户的偏好,该加权平均值表示如公式(2):

[Pu,i=Ri+j∈Iisim(i,j)*(Ru,j-Rj)j∈Ii(|sim(i,j)|)]                (2)

通过上述方法预测用户对所有未评分项的评分,然后选择预测评分最高的前若干个项作为推荐结果反馈给当前用户。

这三个步骤涵盖了基于项目的协同过滤算法的基本过程。然后,我们将介绍如何基于上下文信息为用户在移动环境中生成预测。

3基于上下文感知推荐的协同过滤技术

3.1上下文信息的概念

本文介绍的是一种基于项目的协同过滤技术,它结合了移动用户的上下文信息,所以我们首先应该介绍一下上下文信息是什么。

上下文信息是一个多方面的概念,许多研究人员给出了不同的定义。 2001年,Dey提出了他对上下文信息的定义:“上下文信息是可以用来表征实体状况的任何信息[5]。实体是被认为与用户和应用程序之间的交互相关的人、地点或对象,包括用户和应用程序本身。”在本文中,提出上下文是可以影响用户行为和偏好的一些物理环境因素(如时间、地点、天气等)和用户信息特征因素(性别、行为、知识、背景、职业等)。为了在个性化推荐过程中有效地使用这些上下文信息,应将上下文信息表示如下:

[C=(c1,c2,…cn)]                          (3)

C 表示一种类型的上下文信息,例如时间、天气或地点。[ci]由许多不同的变量组成。例如,在时间类型中,有多个值(比如上午、中午、下午和晚上)或者特定的时间值(例如 5:00pm,11:00am 等)。而用户在上下文信息的不同变量中,可能对同一项目有不同的偏好。例如,用户可能喜欢在早上浏览有关股市的新闻和信息,而在晚上更喜歡浏览娱乐新闻。所以可以给出C的定义:

[c=(ci1,ci2,…cik)]                        (4)

然后,将详细介绍基于上下文感知推荐的协同过滤技术的具体过程。该推荐技术是基于传统的item-based CF,所以下面介绍的过程与本文第2节中提到的内容类似。

改进推荐技术的第一步也是建立用户档案,必须结合一些用户的上下文信息来建立用户矩阵。在传统的item-based CF中,构建的是一个包含用户信息和项目信息的二维模型。当加入用户上下文信息之后,就可以构建用户、项目以及相关上下文信息的[User×Item×Context]三维模型。比如用户[U1]对项目[I1]在上下文[C11]下的偏好评分值可记为[RU1,I1,C11]。

3.2计算上下文之间的相似度

计算上下文之间的相似度旨在找出在其他上下文中给出的哪些评分与当前上下文更相关。但是每种上下文类型中都有许多变量。因此,首先要找出其他上下文的哪些变量与当前上下文的变量相同。可以使用以下等式计算两个上下文信息变量之间的相似性:

[simt(x,y,i)=u=1m(Ru,i,x-Ri)(Ru,i,y-Ri)u=1m(Ru,i,x-Ri)2u=1m(Ru,i,y-Ri)2]          [(5)]

这个公式中,[t]表示一种上下文信息变量,[Ru,i,x]表示用户[u]在上下文[t]中对变量[x]给项目[i]的评分,[Ri]表示对项目[i]评分的平均值。

可以利用公式(5) 来计算活动用户的当前上下文与其他上下文之间的相似度记为[sim(c,s,i)],其中 C 表示当前上下文,[s]表示当前上下文中与其他上下文中的变量相同的变量。

3.3选择最近邻居并产生推荐

在选择目标项目的最近邻居之前,可以根据上面计算得到相似度来计算活跃用户在当前上下文信息C中对项目[i]的评分。计算方法定义如下:

[Ru,i,c=s?cRu,i,x(t=1nsimt(c,s,i))t=1nsimt(c,s,i)]                     [(6)]

然后,可以利用包含了上下文信息的评分来计算项目[i]和项目[j]之间的相似度。然后选择相似度较高的前[k]个项目作为项目[i]的最近邻集合。相似度计算公式定义如下:

[sim(i,j,C)=u∈Ui,j(Ru,i,c-Ri,c)(Ru,j,c-Rj,c)u∈Ui,j(Ru,i,c-Ri,c)2u∈Ui,j(Ru,j,c-Rj,c)2]

接下来可以利用用户对邻居项目的评分来预测活跃用户在当前上下文 C 中对项目[i]的评分。将评分计算方法定义为[Pu,i,C]。

[Pu,i,C=Ri,c+j∈Iisim(i,j,C)*(Ru,j,c-Rj,c)j∈Ii(|sim(i,j,C)|)]

4实验结果及分析

为了验证本文提出的推荐技术能具有更好的推荐性能,笔者设计了下面的实验。为实验提供的数据集来自著名的推荐系统MovieLens。抽取出该站点的10万条评分记录,这些记录是由943个用户对1682部电影的评分,评分数值从0到5。同时将用户的年龄、性别和职业作为推荐系统的上下文信息。

推荐系统的推荐质量标准可以用平均绝对偏差MAE(mean absolute error)作为预测指标进行衡量。MAE越小,推荐质量越高。对于评分数据,预测的评分集合表示为{[β1],[β2],[…][βn] },实际的评分集合表示为{[r1],[r2],[…][rn]},采用常用的推荐质量度量方法——平均绝对偏差[6][MAE=i=1Nβi-riN]进行度量。

在实验过程中,将本文改进算法与传统的基于项目的协同过滤算法Item-based CF进行比较。最近邻居的数量从10增加到100,每次增加10。通过实验数据分析,可以看出改进算法能有更低的绝对偏差,这也说明在同样的环境下,改进的推荐方法有更好的推荐精度,因此推荐效果更好。当随着所预测产品的近邻数目的增加,预测的质量也随之提升,在用户较多的情况下,实验结果提升尤为明显。实验结果如图1所示。

5结论与未来工作

考虑到用户在不同的上下文环境中对物品有不同的偏好,本文研究提出了一种基于上下文感知的协同过滤推荐算法,该方法将用户的重要上下文信息融入传统的基于项目的协同过滤推荐技術中。笔者提出的方法局限性在于笔者在实验中只选择了三个属性,即年龄、性别和职业作为用户的上下文信息。但实际上,有时用户的时间、位置、关系和其他上下文信息可能更重要。因此,在未来,笔者会设计实验涵盖更多的上下文信息和更多的数据评分来评估方法的有效性。同时,笔者将继续研究将更多类型的上下文信息融入个性化推荐系统中。

参考文献:

[1] Adomavicius G,Sankaranarayanan R,Sen S,et al.Incorporating contextual information in recommender systems using a multidimensional approach[J].ACM Transactions on Information Systems,2005,23(1):103-145.

[2] Chen AN.Context-aware collaborative filtering system:predicting the user's preference in the ubiquitous computing environment[C]//Location- and Context-Awareness,2005:75-81.

[3] Gao M,Wu Z F. Personalized context-aware collaborative filtering based on neural network and slope one[C]//Cooperative Design,Visualization,and Engineering,2009:109-116.

[4] 邓爱林.电子商务推荐系统关键技术研究[D].上海:复旦大学,2003.

[5] Dey A K.Understanding and using context[J].Personal and Ubiquitous Computing,2001,5(1):4-7.

[6]Starwar G, Karypis J,et al.Item-based collaborative filtering recommendationalgorithms[C].In proceedings of the 10th Intl World Wide Web Conference. New York,2011:285-295.

收稿日期:2022-03-06

作者简介:马永波(1979—),男,四川成都人,讲师,主要研究方向为计算机网络技术、智能推荐系统;彭玉(1982—),女,四川成都人,副教授,硕士研究生,主要研究方向为电子商务、智能推荐系统。

猜你喜欢

个性化推荐移动电子商务协同过滤
移动电子商务在旅游行业中的应用研究