发明内容
技术问题:本发明的目的是给出一种解决服务推荐中属性集规模庞大和用户对选择服务时对服务风险的期望不同的推荐方法,即基于用户风险偏好的服务推荐方法。
技术方案:本发明将借鉴最新的服务推荐算法的研究成果,考虑用户需求具有复杂性以及用户的风险期望不同特点,提出一种基于用户风险偏好的服务推荐方法,在服务非功能属性选择中结合用户需求和用户风险偏好,给出服务推荐方案。
本发明根据用户对未知信息的预期不同选取不同的项目属性进行推荐,使得推荐结果更加符合用户的需求,该服务推荐方法主要包括基于风险偏好的属性约简方法和基于风险偏好的服务推荐方法两部分。
基于风险偏好的属性约简方法的组成模式,包括用户的基本信息,用户的需求信息,服务的非功能属性信息,用户对服务属性的评分信息几部分,其中用户的基本信息包括用户的ID、用户对风险的偏好信息,用户的需求信息包括用户的功能性需求和非功能性需求,服务的非功能属性信息包括服务的价格,QoS属性等信息。
基于风险偏好的服务推荐方法关键在于将用户对未知信息的风险期望融入到推荐***中,通过将用户按照风险偏好的不同进行分类的方法提取出符合此类用户的决策属性,将其与用户需求提出的偏好属性结合,形成有效的决策属性,进而进行相似度计算,将最佳项目推荐给用户;主要包括的处理过程有用户分类过程,用户需求提取过程,用户评分表处理过程,待推荐项目属性约简过程,约简后属性与用户需求结合过程,相似度计算过程和最佳服务选择过程。
基于用户风险偏好的服务推荐方法的步骤是:先将用户按照不同的风险偏好类型分类,用户向服务注册中心发送请求,服务注册中心提取相关服务构建评分可能区间表,按照各类用户不同的规则提取有效属性,将约简后的属性进行赋权,计算单一非功能属性的推荐度,再根据权重计算服务的推荐度,将最佳服务推荐给用户,最终完成服务推荐。
该推荐方法中基本元素,及其定义和功能包括:
1)服务请求者,即用户:对服务资源提出请求,具有选择最优服务资源权限的实体;该实体包括固定的ID,实体的风险偏好类别以及实体对所需服务功能性属性和非功能性属性的需求;
2)服务提供者:针对服务请求者提出的资源请求,实施信息服务的提供者;该实体具备的属性包括固定的ID,所提供的功能性属性和非功能性属性的类别,功能属性需求:需求详细信息之一,表示用户所需要的服务的功能;
3)用户的功能属性需求:需求详细信息之一,表示用户所需要的服务的功能;
4)用户的非功能属性需求:服务属性信息需求,表示用户对所需要的服务某项或某几项非功能属性的需求;
5)服务属性:服务属性信息,列出服务具有的功能属性和非功能属性,包括价格、性能、可靠性、可用性、安全性和声誉度;
6)风险偏好:是指为了实现目标,用户在承担风险的种类、大小方面的基本态度,风险就是一种不确定性,用户面对这种不确定性所表现出的态度、倾向便是其风险偏好的具体体现;
7)用户评分区间:记a=[aL,aU]={x|aL≤x≤aU},a为评分区间,aL为区间下限,aU为区间上限;
8)评分区间长度:la=aU-aL表示评分区间a的长度,lb=bU-bL表示区间b的长度;
9)用户评分区间可能度:为评分区间可能度,用以判定两个区间数大小的概率,a、b为评分区间:a=[aL,aU],b=[bL,bU],la、lb为步骤8)中所述评分区间长度;
10)风险规避型用户评分期望预期规则:假设a=[aL,aU],b=[bL,bU]是两个评分区间属性值,那么判定a>b的预期规则为P(a≥b)>1/2或 P为步骤9)中所述评分区间可能度;
11)风险中立型用户评分期望预期规则:假设a=[aL,aU],b=[bL,bU]是两个评分区间属性值,那么判定a>b预期规则为P(a>b)>1/2;
12)风险偏好型用户评分期望预期规则:假设a=[aL,aU],b=[bL,bU]是两个评分区间属性值,那么判定a>b的预期规则为P(a≥b)>1/2或
基于用户风险偏好的服务推荐方法的步骤如下:
第一步:服务请求者向服务注册中心发出某一服务请求,服务注册中心返回服务提供者可提供的这种服务的列表L{A1,A2...An},A1,A2...An表示满足请求的服务;
第二步:根据用户对风险的偏好态度,对用户进行分类;
第三步:根据用户对于各个非功能属性打分表构建服务各属性评分的可能区间表;
第四步:根据用户约束去除不满足约束的服务;
第五步:根据用户风险偏好的类型选择预期规则构建辨析矩阵;
第六步:根据辨析矩阵并利用吸取法提取有效属性;
第七步:根据用户提出的需求非功能属性结合提取的有效属性形成推荐属性;
第八步:利用协同过滤算法计算单一非功能属性的服务推荐度;
第九步:根据有效属性所占比例为该属性推荐度赋权;
第十步:根据赋权的属性计算服务推荐度,通过Top-K算法将推荐度值最大的服务推荐给用户。
有益效果:使用该方法在开放网络环境下,服务属性集规模庞大情况下进行服务推荐有如下优点:
1、将服务的非功能属性进行约简,提高推荐效率;
2、将未评分的用户的评分值可能性考虑在内,构建评分可能区间使得评分信息更加完整;
3、在有效属性约简时采用分类处理的方式,尽可能保留服务的特性,降低服务属性约简所带来的信息缺失造成的推荐偏差;
4、推荐属性赋权,从项目评分集的优势辨析矩阵中提取有效属性所占比例为该属性推荐度赋权,使多属性推荐更加合理。
具体实施方式
本发明是一种策略性的方案,参考服务推荐算法已有的研究成果、结合成熟的基于协同过滤的服务推荐模型,将用户个性化需求以及用户对风险的期望引入推荐过程,实现一种用户需求与用户期望相结合的服务推荐方法,主要有基于用户风险偏好的属性约简方法和基于约简属性的服务推荐方法两部分。
一种基于用户风险偏好的服务推荐方法,包括用户ID,用户风险偏好类型,需求ID,功能属性需求,非功能属性需求,服务质量属性。主要包括的处理过程有用户分类过程,用户需求提取过程,用户评分表处理过程,待推荐项目属性约简过程,约简后属性与用户需求结合过程,相似度计算过程和最佳服务选择过程。
下面先给出基于用户风险偏好的服务推荐方法中基本元素的定义及其功能:
1、服务请求者,即用户:对服务资源提出请求,具有选择最优服务资源权限的实体;该实体包括固定的ID,实体的风险偏好类别以及实体对所需服务功能性属性和非功能性属性的需求;
2、服务提供者:针对服务请求者提出的资源请求,实施信息服务的提供者;该实体具备的属性包括固定的ID,实体的安全级别以及权威度,所提供的功能性属性和非功能性属性的类别;
3、风险偏好:是指为了实现目标,用户在承担风险的种类、大小等方面的基本态度。风险就是一种不确定性,用户面对这种不确定性所表现出的态度、倾向便是其风险偏好的具体体现;
4、用户评分区间:记a=[aL,aU]={x|aL≤x≤aU},a为评分区间,aL为区间下限,aU为区间上限;
5、评分区间长度:la=aU-aL表示评分区间的长度,lb=bU-bL表示区间b的长度;
6、用户评分区间可能度:为评分区间可能度,用以判定两个区间数大小的概率,a、b为评分区间:a=[aL,aU],b=[bL,bU],la、lb为5中所述评分区间长度;
7、风险规避型用户评分期望预期规则:假设a=[aL,aU],b=[bL,bU]是两个评分区间属性值,那么判定a>b的预期规则为P(a≥b)>1/2或 P为6中所述中评分区间可能度;
8、风险中立型用户评分期望预期规则:假设a=[aL,aU],b=[bL,bU]是两个评分区间属性值,那么判定a>b预期规则为P(a>b)>1/2;
9、风险偏好型用户评分期望预期规则:假设a=[aL,aU],b=[bL,bU]是两个评分区间属性值,那么判定a>b的预期规则为P(a≥b)>1/2或
10、用户评分可能区间构建过程:用户提出需求后,服务注册中心返回服务提供者可提供的这种服务的列表。根据用户对项目属性评分情况,将未评分用户考虑在内,将用户评分值以区间的形式构建项目属性集的评分可能区间表;
11、待推荐项目属性提取过程:根据用户的风险偏好类别,确定用户对未知信息的期望,采用相应的预期规则构建优势辨析矩阵,用吸取法提取出相应的有效推荐属性;
12、推荐度计算过程:根据协同过滤算法确定单一属性的推荐度,根据优势辨析矩阵中有效属性比例为该属性赋权,确定服务的推荐度,通过Top-K算法将推荐度值最大的服务推荐给用户。
一、基于用户风险偏好的服务推荐方法的体系结构
1、评分信息整理过程:获取用户ID,风险偏好的类型,用户给出所需功能属性,例如需求电影还是书籍。用户可给出偏好属性,例如对信誉度或某方面性能有明确要求;
2、用户评分可能区间构建:根据用户对各个属性的评分集整合成一张各个项目非功能属性评分的可能区间表,以好评,中评,差评来统计,以百份比的形式表示出来(图1);
3多属性约简过程:根据构建好的用户评分可能区间矩阵进行非功能属性约简,根据用户的风险偏好的不同,分别采用相应的预期规则,通过优势辨析判定各用户群体的优势属性,利用吸取法实现有效属性提取,若用户有限定的需求属性,则将其并入约简后的属性集,形成最终的推荐属性集;
4、多属性推荐过程:对推荐属性集进行相似度计算,计算单一属性推荐度,采用属性赋权公式计算各属性的推荐度权重,最终形成服务推荐度,将推荐度最高的服务推荐给用户。
二、基于用户风险偏好的服务推荐方法的工作流程
第一步:服务请求者向服务注册中心发出某一服务请求,服务注册中心返回服务提供者可提供的这种服务的列表L{A1,A2...An},A1,A2...An表示满足请求的服务;
第二步:根据用户对风险的偏好态度,对用户进行分类;
第三步:根据用户对于各个非功能属性打分表构建服务各属性评分的可能区间表;
第四步:根据用户约束去除不满足约束的服务;
第五步:根据用户风险偏好的类型选择预期规则构建辨析矩阵;
第六步:根据辨析矩阵并利用吸取法提取有效属性;
第七步:将用户提出的需求非功能属性结合提取的有效属性形成推荐属性;
第八步:利用协同过滤算法计算单一非功能属性的服务推荐度;
第九步:根据有效属性所占比例为该属性推荐度赋权;
第十步:根据赋权的属性计算服务推荐度,通过Top-K算法将推荐度值最大的服务推荐给用户。
三、基于用户风险偏好的服务推荐方法性能分析
本方案针对服务属性集规模庞大和用户对选择服务时对服务风险的期望不同的问题提出一种基于用户风险偏好的服务推荐方法,主要包括包括用户评分可能区间构建过程,多属性约简过程,多属性推荐过程,根据用户的需求和对风险期望的不同将服务的非功能属性集有效提取,获取更加符合用户需求的信息为用户进行推荐。具体分析如下:
1、评分矩阵构建时将未评分的人群考虑在内,将未知评分采用区间的形式,构成一张各个项目非功能属性评分的可能区间表,将评分信息的缺失部分的可能情况考虑在内,使评分信息更加完整。
2、在属性约简方面考虑了用户对于未知信息期望的不同,根据用户风险偏好的不同采用相应的算法并结合用户自身对属性需求的限制,降低了使用部分属性进行推荐所带来的信息缺失,提升了推荐的效率。
3、在推荐方面,对约简后用于推荐的属性进行赋权,根据2中按各类用户相应规则构建的优势辨析矩阵提取有效属性,将各属性在优势辨析矩阵中出现的比例作为属性权值,延用了分类的思想,是推荐结果更加符合用户的需求。
为了说明本发明所述的基于用户风险偏好的服务推荐方法,我们给出如下最佳实例,更详尽的描述服务属性集庞大环境下基于用户风险偏好的服务推荐方法实施方案。
假设用户向网络请求北京最佳的一次住宿服务,并要求信誉好评度大于60%,对风险类型选择规避,具体步骤表述如下:
第一步:服务请求者向服务注册中心发出某一服务请求,服务注册中心返回服务提供者可提供的这种服务的列表L{A1,A2...An},A1,A2...An表示北京住宿服务;
第二步:根据用户对风险的偏好态度,确定用户为风险规避型;
第三步:根据用户对于各个非功能属性打分表构建服务各属性评分的可能区间表(如图1所示);
第四步:根据用户非功能属性需求删减评分区间表,用户提出信誉度好评率须大于60%,则按照用户需求,将服务A5去除;
第五步:根据用户风险偏好的类型选择预期规则构建辨析矩阵;
第六步:根据辨析矩阵并利用吸取法提取有效属性,通过吸取法从辨析矩阵中提取有效信息,可得{C3,C7,C1}是有效推荐属性集,即旅馆的综合,性价比,安全性为有效属性;
第七步:根据用户提出的需求,将非功能属性(信誉度)作为用户需求属性并入推荐属性集,最终推荐属性集为{C1,C2,C3,C7};
第八步:利用协同过滤算法计算单一非功能属性的服务推荐度,分别得到C1,C2,C3,C7的推荐度;
第九步:根据有效属性在辨析矩阵中所占比例为该属性推荐度赋权;
第十步:根据赋权的属性计算服务推荐度,通过Top-K算法将推荐度值最大的服务推荐给用户。