一种面向不一致用户评价准则的在线服务推荐方法与流程

文档序号:13283554阅读:232来源:国知局

本发明涉及一种面向不一致用户评价准则的在线服务推荐方法,属于在线服务推荐和推荐系统技术领域。



背景技术:

随着互联网的迅速发展,在线服务随之快速发展。q.z.sheng等(<informationsciences>,2014,280:218-238)指出在线服务已经成为一个标准的技术以用来分享数据和软件服务,同时互联网上有效的在线服务数量正不断增加。面对大量的在线服务,用户在选择服务时面临着许多问题:①用户对大多数服务都没有交互经验,无法根据已有经验迅速找到所需求的服务。②服务信息由服务提供者提供,而很难确保信息的真实性。③用户对服务的评价标准不一致,用户无法判断其他用户对服务的评价是否符合自身的偏好。„在线服务数量庞大使得用户无法一一试用来判断服务的好坏,而且一般在线服务不提供试用。这些问题导致用户很难从大量在线服务中快速找到自己真正感兴趣和需求的服务。推荐系统根据用户的兴趣偏好和购买行为,建立用户与在线服务之间的二元关系,利用用户历史经验信息找到用户之间的相似性关系,预测用户潜在的兴趣服务并向用户推荐这些服务,为用户选择服务时提供帮助和建议。一个客观的推荐方法能够为用户提供高效高质量的服务推荐。yaol等(<ieeeinternationalconferenceonwebservices>,2013:42-49)指出在实际应用中越来越多在线服务采用有效且高效的方法来提高服务推荐质量。

guoshengkang等(<ieeetransactionsonnetwork&servicemanagement>,2015,12(4):1-1)指出推荐策略主要包括基于内容的推荐、协同过滤推荐、混合推荐等。除此以外还有基于网络结构的推荐、社会网络推荐及其他推荐等在线服务推荐方法。josanga等(&lt;decisionsupportsystems&gt;,2007,43(2):618-644)指出传统推荐方法假定用户按相同的评价准则对服务进行评价。而假设用户按照相同的评价准则对服务进行评价,则不同用户之间的评分是可以进行比较的。然而,由于用户的习惯及偏好不同,对服务评价的标准也就不一致。由具备不一致评价准则的用户对服务进行评分,即使用户对服务的偏好程度一致,其对服务的评分也可能不同,公知的方法会得到不同的偏好相似度,从而使用户获得不同的推荐结果。同样,即使用户对服务的偏好程度不一致,其对服务的评分也可能相同,公知的方法会得到相同的偏好相似度,从而用户会得到相同的推荐结果。因此,公知方法假定评价准则一致来进行推荐不符合客观真实情况并导致推荐结果不符合用户的真正需求。不同用户对服务评价准则不同导致的不同用户对同一服务评分不可比较,会导致推荐产生一系列问题,例如公知的基于项目的协同推荐方法中采用余弦相似性度量用户相似度,虽然对评分数值的敏感程度有所降低,但忽略了评分所表示的用户对服务的偏好关系,使得服务提供者难以根据评分判断用户对其提供服务的偏好程度与用户对其他服务的偏好程度之间的差别,不利于服务提供者利用评分为用户定制个性化的服务。此外,公知的方法假定用户评价准则一致而导致不同用户对服务评分之间具备可比较性。例如公知的基于用户的协同推荐方法中采用欧式距离度量用户相似度,只考虑用户对服务的评分,忽略了评分之间的关系,服务提供者只需提高某服务的评分,就能使改服务的推荐结果排序更靠前,使改服务能够更容易被推荐给用户,从而防操纵能力较弱。此外,公知的方法忽略了用户对服务之间的偏好关系,例如大多数与目标用户偏好相似的用户对服务a的评分高于服务b的评分,即用户对服务a的偏好程度大于服务b的偏好程度,推荐系统反而优先推荐服务b给用户,导致推荐结果不符合用户的服务偏好。



技术实现要素:

本发明要解决的技术问题是提供一种面向不一致用户评价准则的在线服务推荐方法,用于解决评分不可比较性时采用服务评分进行服务推荐及改善服务推荐质量面临的问题。

本发明的技术方案是:一种面向不一致用户评价准则的在线服务推荐方法,首先根据用户-服务评分矩阵建立用户对服务的偏好关系;其次计算用户之间偏好关系的相似性;然后以用户之间偏好相似性来计算用户对未评价服务的预测评分;最后对预测评分排序并将具有最高评分的前n个服务作为推荐服务。

具体步骤为:

步骤1、根据用户-服务评分的二元关系矩阵建立用户对服务的偏好关系;

1.1、建立用户-服务评分的二元关系矩阵:设用户(user)集合,服务(item)集合,用户-评分矩阵表示为为用户对服务的评分;

1.2、将评分表示用户对服务的偏好程度:评分越大,偏好程度越大,基于建立用户对服务的偏好关系

式(1)中,表示用户对服务的偏好程度大于用户对服务h的评分大于服务k的评分();表示用户对服务的偏好程度小于用户对服务h的评分小于服务k的评分();表示用户对服务的偏好程度等于,即用户对服务h的评分等于服务k的评分();

步骤2、计算用户之间的偏好相似度;

2.1、计算用户之间的距离:用户对任意两服务的评分大小序表示用户对任意两服务的偏好,两用户对共同评分服务的偏好不一致个数为用户之间的距离,定义用户之间距离如下:

式(2)中,表示用户对服务偏好方向是否一致,一致为0,不一致为1;

式(3)中,表示目标用户与用户共同评分服务对的偏好方向是否一致,当用户与用户对服务与服务的偏好方向一致时,即并且,或并且,或并且等于0;当用户与用户对服务与服务的偏好方向不一致时,即并且,或并且,或并且,或并且,或并且,或并且等于1;

2.2、将距离标准化;

式(4)中,表示用户共同评分服务的数量,表示用户和用户共同评分服务对的数量,的范围在0~1,值越大表示用户和用户的标准化距离越大,值越小表示用户和用户的标准化距离越小;

2.3、计算用户之间的相似度:用户之间标准化后的距离与用户之间的相似度负相关,相似度取值0,以最大值1减去标准化后的距离得到用户之间的相似度;

用户之间的相似度值范围在0之间,越接近于1说明用户之间相似度越高,即用户之间的偏好越相近;反之,值越小越接近于0说明用户之间相似度越低,即用户之间的偏好越相悖;

步骤3、对用户未评分服务进行评分预测并对预测值进行排序,将排序结果的前n项服务推荐给目标用户

3.1、对用户未评分服务进行预测:由于推荐时只推荐用户未评分服务,因此只对未评分服务进行评分预测,用户未评分服务的预测值是其他用户的服务评分值乘以用户与该用户的相似度除以其他所有用户对服务的评分值总和;

式(6)中,表示用户个服务的预测评分,为用户与用户的相似度,表示用户对服务的实际评分;

根据式(6)计算得到对所有未评分服务的预测评分值以集合表示用户u对服务1的评分预测值;

3.2、对评分预测值进行排序并推荐给用户

由于预测后的结果是一个乱序的集合,采用快速排序对预测评分集合结果进行降序排序,获得未评分服务的排序集合,并选取未评分服务排序集合的前n项作为推荐结果推荐给用户

得到推荐结果后可以对推荐结果进行验证。

公知的推荐方法无法有效的根据用户偏好定制个性化服务是由于用户评价准则不一致导致不同用户的评分不具备可比较性。例如用户对服务的评分大于用户对服务的评分(),不能认为用户对服务的偏好程度大于用户对服务的偏好程度。但是对于同一用户对不同服务的评分是具备可比较性的,例如用户对服务的评分大于用户对服务的评分(),可以认为用户对服务的偏好程度大于对服务的偏好程度。因此可以根据用户对不同服务的评分得到用户偏好,从而为用户定制个性化服务。

对公知的推荐系统的服务推荐结果的操纵主要通过操纵服务的评分,而根据本发明中公式(1),修改用户对服务的评分会导致用户对服务与其余服务之间的偏好关系发生改变,从而也会导致用户与用户之间的偏好的一致性发生改变。因此,单纯的修改服务评分不仅仅会影响服务本身推荐结果的排序,也会影响其他服务作为推荐结果排序,且不能保证这种影响无法保证对推荐服务有积极作用,所以通过修改单个服务评分来进行推荐结果操纵是无法实现的,这就证明了本发明能够提高服务推荐过程防操纵能力。

公知推荐方法以评分来获得推荐忽略了评分之间的关系可能导致推荐结果不满足用户的服务偏好,例如有5个与用户偏好相似的用户对服务和服务进行评价,3个对服务的评分高于服务,2个用户对服务的评分高于服务,所有用户对服务的评分总和大于对服务的评分总和,公知方法可能会优先推荐服务给用户,而服务更加符合用户的偏好,根据发明内容应将更加符合用户偏好的服务推荐给用户,因此本发明能够使推荐结果更加符合用户的服务偏好。

本发明的有益效果是:

1、使服务提供者能够更加有效地根据用户偏好定制个性化的在线服务。公知的方法假定用户评价准则一致,而由于用户的个人习惯及偏好不同,对服务评价的标准也就不一致,导致不同用户对服务的评分不具备可比较性。公知的方法假定评价准则一致来进行推荐是不符合用户习惯和偏好的,无法为用户定制个性化在线服务。本发明不假设用户对在线服务的评价准则一致,由于同一用户对不同服务的评分可比较的,根据用户偏好得到的推荐也具备可比较性,使服务提供者能够更加有效地根据用户偏好定制个性化的在线服务。

2、有效提高推荐的防操作能力。公知的方法只考虑用户对该服务的评分,不考虑同一用户对不停服务评分之间的关系,服务提供者只需要对服务的评分进行操纵,即可操纵推荐结果。本发明考虑同一用户对不同服务评分之间的关系,考虑用户之间偏好关系而不考虑偏好强度来获得推荐结果,服务提供者只改变某一个服务的评分,不改变服务与服务之间的关系,无法达到操纵的目的,而改变服务与服务之间的关系难度较大。因此,本发明能够有效提高在推荐过程中的防操纵能力。

3、使推荐结果能够满足大多数用户的服务偏好。在推荐过程中,会出现推荐结果不符合多数用户的服务偏好即不符合多数准则。多数准则是指半数以上用户认为服务乙比服务甲好,那么就认为服务乙比服务甲好。本发明根据评分表达用户偏好关系,以用户对服务的偏好序来获得推荐,因此能够使推荐结果更加符合大多数用户的服务偏好。

附图说明

图1是本发明的流程图。

具体实施方式

下面结合具体实施方式,对本发明作进一步说明。

实施例1:一种面向不一致用户评价准则的在线服务推荐方法,首先根据用户-评分矩阵建立用户对服务的偏好关系;其次计算用户之间偏好关系的相似性;然后以用户之间偏好相似性来计算用户对未评价服务的预测评分;最后对预测评分排序并将具有最高评分的前n个服务作为推荐服务。

具体方法步骤:

步骤1、根据用户-服务评分的二元关系矩阵建立用户对服务的偏好关系

步骤1.1、建立用户-服务评分的二元关系矩阵。

假设用户集合u={},服务集合i={},4个用户对8个服务的评分情况,如表1表示用户—评分矩阵,采用常用的5分制对服务打分。

表1

表1中0.0为用户未评分服务

步骤1.2、将评分表示用户对服务的偏好程度,评分越大,偏好程度越大。

式(1)中表示用户对服务的偏好程度大于用户对服务h的评分大于服务k的评分();表示用户对服务的偏好程度小于用户对服务h的评分小于服务k的评分();表示用户对服务的偏好程度等于,即用户对服务h的评分等于服务k的评分()。

根据公式(1)可以由评分得到用户对服务的偏好,如用户对服务和服务的评分,那么,可以得到用户相对服务更偏好服务。用户对服务和服务的评分,那么,可以得到用户对服务和服务偏好程度一致。

可以得到偏好关系用户对服务的偏好

用户对服务的偏好

用户对服务的偏好

用户对服务的偏好

由此得到用户对所有已评分服务的偏好。

步骤2、计算用户之间的偏好相似度

步骤2.1、计算用户之间的距离,用户对任意两服务的评分大小表示用户对任意两服务的偏好,两用户对共同评分服务的偏好不一致个数为用户之间的距离,比如用户之间距离为

表示用户对服务偏好方向是否一致,一致为0,不一致为1。即:

式(3)中表示目标用户与用户共同评分服务对的偏好方向是否一致,当用户与用户对服务与服务的偏好方向一致时(即并且,或并且,或并且等于0,当用户与用户对服务与服务的偏好方向不一致时(即并且,或并且,或并且,或并且,或并且,或并且等于1。

如:

实例比如比较用户偏好一致性。用户共同评分的服务有,如表2所示,表中用户对服务的偏好是否一致,一致为0,不一致为1。

步骤2.2为方便计算,将距离标准化

式(4)中表示用户共同评分服务的数量。表示用户和用户共同评分服务对的数量,的范围在0~1,值越大表示用户和用户的标准化距离越大,值越小表示用户和用户的标准化距离越小。

由此:

步骤2.3、计算用户之间的相似度。用户之间的距离与用户之间的相似度呈反比,相似度取值0,以1减去标准化后的距离得到用户之间的相似度。

实例中用户之间的相似度计算如下:

用户之间的相似度值范围在0之间,越接近于1说明用户之间相似度越高,即用户之间的偏好越相近;反之,值越小越接近于0说明用户之间相似度越低,即用户之间的偏好越相悖。

重复步骤2.3得到所有用户之间的相似度,由表2可得用户相似度=0.5,由表3可得用户相似度=0.33,由表4可得用户相似度=0.4,由表5可得用户相似度=0.3,由表6可得用户相似度=0.3,由表7可得用户相似度=0.33。

步骤3、对用户未评分服务进行评分预测并对预测值进行排序,将排序结果的前n项服务推荐给目标用户

步骤3.1、对用户未评分服务进行预测。由于推荐时只推荐用户未评分服务,因此只对未评分服务进行评分预测。用户未评价服务项的预测值是其余与用户相似用户的服务评分值除以其他所有用户对服务的评分值总和。

式(6)中表示用户个服务的预测评分(score),为用户与用户的相似度,表示用户对服务的实际评分。根据式(6)计算得到对所有未评分服务的预测评分集合

用户未评价服务项的预测值

同样可以得出用户未评价服务项的预测值

步骤3.2、对预测结果进行排序并推荐给用户

由于预测后的结果是一个乱序的集合,采用快速排序对预测评分集合结果进行降序排序,获得未评分服务的排序集合,并选取未评分服务排序集合的前n项作为推荐结果推荐给用户

根据上述步骤得到预测评分集合根据预测评分对用户所有的未评分服务项进行排序,将推荐给目标用户

还包括推荐结果有效性验证:

公知的推荐方法无法有效的根据用户偏好定制个性化服务是由于用户评价准则不一致导致不同用户的评分不具备可比较性。例如用户对服务的评分大于用户对服务的评分(3.0&gt;2.0),不能认为用户对服务的偏好程度大于用户对服务的偏好程度。但是对于同一用户对不同服务的评分是具备可比较性的,例如用户对服务的评分大于用户用户对服务的评分(4.0&gt;3.0),可以认为用户对服务的偏好程度大于对服务的偏好程度。因此可以根据用户对不同服务的评分得到用户偏好,从而为用户定制个性化服务。

对公知的推荐系统的服务推荐结果的操纵主要通过操纵服务的评分,而根据本发明中公式(1),修改用户对服务的评分会导致用户对服务与其余服务之间的偏好关系发生改变,将用户对服务的评分改为4.0,那么用户对服务的偏好都发生改变,导致用户与其他用户的偏好相似度也发生改变。用户相似度=0.1,用户相似度=0.1,可以看到改变服务的评分不仅会改变用户对服务的偏好关系,也改变用户之间的偏好相似度。因此不通过修改单个服务评分来进行推荐结果操纵是无法实现的,这就证明了本发明能够提高服务推荐过程防操纵能力。

公知推荐方法以评分来获得推荐忽略了评分之间的关系可能导致推荐结果不满足用户的服务偏好,例如中用户、用户和用户服务和服务进行评价,用户和用户对服务的评分高于服务,用户对服务的评分高于服务,所有用户对服务的评分总和大于对服务的评分总和,公知的采用均值的方法会得到服务优于服务,从而推荐服务给用户,而服务更加符合用户的偏好,根据发明内容将更加符合用户偏好的服务推荐给用户,因此本发明能够使推荐结果更加符合用户的服务偏好。

以上对本发明的具体实施方式作了详细说明,但是本发明并不限于上述实施方式,在本领域普通技术人员所具备的知识范围内,还可以在不脱离本发明宗旨的前提下作出各种变化。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1