本发明涉及一种面向不一致用户评价准则的在线服务推荐方法,属于在线服务推荐和推荐系统技术领域。
背景技术:
随着互联网的迅速发展,在线服务随之快速发展。q.z.sheng等(<informationsciences>,2014,280:218-238)指出在线服务已经成为一个标准的技术以用来分享数据和软件服务,同时互联网上有效的在线服务数量正不断增加。面对大量的在线服务,用户在选择服务时面临着许多问题:①用户对大多数服务都没有交互经验,无法根据已有经验迅速找到所需求的服务。②服务信息由服务提供者提供,而很难确保信息的真实性。③用户对服务的评价标准不一致,用户无法判断其他用户对服务的评价是否符合自身的偏好。在线服务数量庞大使得用户无法一一试用来判断服务的好坏,而且一般在线服务不提供试用。这些问题导致用户很难从大量在线服务中快速找到自己真正感兴趣和需求的服务。推荐系统根据用户的兴趣偏好和购买行为,建立用户与在线服务之间的二元关系,利用用户历史经验信息找到用户之间的相似性关系,预测用户潜在的兴趣服务并向用户推荐这些服务,为用户选择服务时提供帮助和建议。一个客观的推荐方法能够为用户提供高效高质量的服务推荐。yaol等(<ieeeinternationalconferenceonwebservices>,2013:42-49)指出在实际应用中越来越多在线服务采用有效且高效的方法来提高服务推荐质量。
guoshengkang等(<ieeetransactionsonnetwork&servicemanagement>,2015,12(4):1-1)指出推荐策略主要包括基于内容的推荐、协同过滤推荐、混合推荐等。除此以外还有基于网络结构的推荐、社会网络推荐及其他推荐等在线服务推荐方法。josanga等(<decisionsupportsystems>,2007,43(2):618-644)指出传统推荐方法假定用户按相同的评价准则对服务进行评价。而假设用户按照相同的评价准则对服务进行评价,则不同用户之间的评分是可以进行比较的。然而,由于用户的习惯及偏好不同,对服务评价的标准也就不一致。由具备不一致评价准则的用户对服务进行评分,即使用户对服务的偏好程度一致,其对服务的评分也可能不同,公知的方法会得到不同的偏好相似度,从而使用户获得不同的推荐结果。同样,即使用户对服务的偏好程度不一致,其对服务的评分也可能相同,公知的方法会得到相同的偏好相似度,从而用户会得到相同的推荐结果。因此,公知方法假定评价准则一致来进行推荐不符合客观真实情况并导致推荐结果不符合用户的真正需求。不同用户对服务评价准则不同导致的不同用户对同一服务评分不可比较,会导致推荐产生一系列问题,例如公知的基于项目的协同推荐方法中采用余弦相似性度量用户相似度,虽然对评分数值的敏感程度有所降低,但忽略了评分所表示的用户对服务的偏好关系,使得服务提供者难以根据评分判断用户对其提供服务的偏好程度与用户对其他服务的偏好程度之间的差别,不利于服务提供者利用评分为用户定制个性化的服务。此外,公知的方法假定用户评价准则一致而导致不同用户对服务评分之间具备可比较性。例如公知的基于用户的协同推荐方法中采用欧式距离度量用户相似度,只考虑用户对服务的评分,忽略了评分之间的关系,服务提供者只需提高某服务的评分,就能使改服务的推荐结果排序更靠前,使改服务能够更容易被推荐给用户,从而防操纵能力较弱。此外,公知的方法忽略了用户对服务之间的偏好关系,例如大多数与目标用户偏好相似的用户对服务a的评分高于服务b的评分,即用户对服务a的偏好程度大于服务b的偏好程度,推荐系统反而优先推荐服务b给用户,导致推荐结果不符合用户的服务偏好。
技术实现要素:
本发明要解决的技术问题是提供一种面向不一致用户评价准则的在线服务推荐方法,用于解决评分不可比较性时采用服务评分进行服务推荐及改善服务推荐质量面临的问题。
本发明的技术方案是:一种面向不一致用户评价准则的在线服务推荐方法,首先根据用户-服务评分矩阵建立用户对服务的偏好关系;其次计算用户之间偏好关系的相似性;然后以用户之间偏好相似性来计算用户对未评价服务的预测评分;最后对预测评分排序并将具有最高评分的前n个服务作为推荐服务。
具体步骤为:
步骤1、根据用户-服务评分的二元关系矩阵建立用户对服务的偏好关系;
1.1、建立用户-服务评分的二元关系矩阵:设用户(user)集合
1.2、将评分表示用户对服务的偏好程度:评分越大,偏好程度越大,基于
式(1)中,
步骤2、计算用户之间的偏好相似度;
2.1、计算用户之间的距离:用户对任意两服务的评分大小序表示用户对任意两服务的偏好,两用户对共同评分服务的偏好不一致个数为用户之间的距离,定义用户之间距离如下:
式(2)中,
式(3)中,
2.2、将距离标准化;
式(4)中,
2.3、计算用户之间的相似度:用户之间标准化后的距离与用户之间的相似度负相关,相似度取值0
用户
步骤3、对用户
3.1、对用户
式(6)中,
根据式(6)计算得到
3.2、对评分预测值进行排序并推荐给用户
由于预测后的结果是一个乱序的集合,采用快速排序对预测评分集合
得到推荐结果后可以对推荐结果进行验证。
公知的推荐方法无法有效的根据用户偏好定制个性化服务是由于用户评价准则不一致导致不同用户的评分不具备可比较性。例如用户
对公知的推荐系统的服务推荐结果的操纵主要通过操纵服务的评分,而根据本发明中公式(1),修改用户
公知推荐方法以评分来获得推荐忽略了评分之间的关系可能导致推荐结果不满足用户的服务偏好,例如有5个与用户
本发明的有益效果是:
1、使服务提供者能够更加有效地根据用户偏好定制个性化的在线服务。公知的方法假定用户评价准则一致,而由于用户的个人习惯及偏好不同,对服务评价的标准也就不一致,导致不同用户对服务的评分不具备可比较性。公知的方法假定评价准则一致来进行推荐是不符合用户习惯和偏好的,无法为用户定制个性化在线服务。本发明不假设用户对在线服务的评价准则一致,由于同一用户对不同服务的评分可比较的,根据用户偏好得到的推荐也具备可比较性,使服务提供者能够更加有效地根据用户偏好定制个性化的在线服务。
2、有效提高推荐的防操作能力。公知的方法只考虑用户对该服务的评分,不考虑同一用户对不停服务评分之间的关系,服务提供者只需要对服务的评分进行操纵,即可操纵推荐结果。本发明考虑同一用户对不同服务评分之间的关系,考虑用户之间偏好关系而不考虑偏好强度来获得推荐结果,服务提供者只改变某一个服务的评分,不改变服务与服务之间的关系,无法达到操纵的目的,而改变服务与服务之间的关系难度较大。因此,本发明能够有效提高在推荐过程中的防操纵能力。
3、使推荐结果能够满足大多数用户的服务偏好。在推荐过程中,会出现推荐结果不符合多数用户的服务偏好即不符合多数准则。多数准则是指半数以上用户认为服务乙比服务甲好,那么就认为服务乙比服务甲好。本发明根据评分表达用户偏好关系,以用户对服务的偏好序来获得推荐,因此能够使推荐结果更加符合大多数用户的服务偏好。
附图说明
图1是本发明的流程图。
具体实施方式
下面结合具体实施方式,对本发明作进一步说明。
实施例1:一种面向不一致用户评价准则的在线服务推荐方法,首先根据用户-评分矩阵建立用户对服务的偏好关系;其次计算用户之间偏好关系的相似性;然后以用户之间偏好相似性来计算用户对未评价服务的预测评分;最后对预测评分排序并将具有最高评分的前n个服务作为推荐服务。
具体方法步骤:
步骤1、根据用户-服务评分的二元关系矩阵建立用户对服务的偏好关系
步骤1.1、建立用户-服务评分的二元关系矩阵。
假设用户集合u={
表1
表1中0.0为用户未评分服务
步骤1.2、将评分表示用户对服务的偏好程度,评分越大,偏好程度越大。
式(1)中
根据公式(1)可以由评分得到用户对服务的偏好,如用户
可以得到偏好关系用户
用户
用户
用户
由此得到用户对所有已评分服务的偏好。
步骤2、计算用户之间的偏好相似度
步骤2.1、计算用户之间的距离,用户对任意两服务的评分大小表示用户对任意两服务的偏好,两用户对共同评分服务的偏好不一致个数为用户之间的距离,比如用户
式(3)中
如:
实例比如比较用户
步骤2.2为方便计算,将距离标准化
式(4)中
由此:
步骤2.3、计算用户之间的相似度。用户之间的距离与用户之间的相似度呈反比,相似度取值0
实例中用户
用户
重复步骤2.3得到所有用户之间的相似度,由表2可得用户
步骤3、对用户
步骤3.1、对用户
式(6)中
用户
同样可以得出用户
步骤3.2、对预测结果进行排序并推荐给用户
由于预测后的结果是一个乱序的集合,采用快速排序对预测评分集合
根据上述步骤得到预测评分集合
还包括推荐结果有效性验证:
公知的推荐方法无法有效的根据用户偏好定制个性化服务是由于用户评价准则不一致导致不同用户的评分不具备可比较性。例如用户
对公知的推荐系统的服务推荐结果的操纵主要通过操纵服务的评分,而根据本发明中公式(1),修改用户
公知推荐方法以评分来获得推荐忽略了评分之间的关系可能导致推荐结果不满足用户的服务偏好,例如中用户
以上对本发明的具体实施方式作了详细说明,但是本发明并不限于上述实施方式,在本领域普通技术人员所具备的知识范围内,还可以在不脱离本发明宗旨的前提下作出各种变化。