一种基于Slater社会选择理论的在线服务评价方法与流程

文档序号:17014765发布日期:2019-03-02 02:24阅读:188来源:国知局
一种基于Slater社会选择理论的在线服务评价方法与流程
本发明涉及一种基于slater社会选择理论的在线服务评价方法,属于在线服务评价以及群体决策领域。
背景技术
:在线服务是指利用互联网技术,向用户提供线上服务的方式。随着现代互联网技术的飞速发展与进步,在线服务已经在在线娱乐、电子商务等领域迅速普及并得到广泛应用。然而,由于在线服务的种类以及数量的大幅度增加,用户在选择合适的在线服务时面临着众多问题:首先,服务的种类和数量较多,用户不可能选用所有的服务,也不可能对所有的服务进行评价,导致评分数据的不完整;其次,用户根据自己的评价标准对服务进行评价,往往存在一些主观因素,有的用户倾向于给予高分,有的用户倾向于给予低分,有的用户甚至不评分,使得评价数据可信度较低;再次,某些不法服务提供者为了提高自身的信誉,可能向用户提供不真实的服务信息;更有甚者,一些服务提供者雇佣“用户”对其服务给予较高的评分,从而达到操控服务排名的目的;此外,服务提供者可以互相刷分来提高对服务的评分,使得用户不能合理有效地选择合适的服务。因此需要一种客观的在线服务评价方法,能够提高在线服务评价的可靠性,帮助用户选择适合自身的在线服务。yaoy,等.(<journaloftheoreticalandappliedelectroniccommerceresearch>,2012,7(1):1-20)提出在在线服务评价领域,在线服务评价方法主要有累加法、均值法等。目前最常用的服务评价方法是累加法和均值法。累加法将用户对服务的评分进行分类并统计:当用户评分为4、5分时,表示好评总分+1分;当用户评分为3分时,表示中评得0分;当用户评分为1、2分,表示为差评总分-1分,然后对总分进行累加并排序,其排序结果表示服务的优劣顺序,并将其作为用户对在线服务总体评价的依据。均值法将用户对服务的所有评分进行累加,然后除以服务被评分的总次数得到平均评分,对该平均评分进行排序,并将排序结果作为用户对在线服务的评价依据。由于不同用户有不同的消费观念,导致用户的主观偏好和评价准则不一致,从而使得用户对不同的服务可能给予相同的评分或者相同的服务可能给予不同的评分。然而,公知方法仅仅只是将得到的评分进行简单的运算,根据运算结果得到评价结果,并没有考虑到用户的主观偏好和评价准则不一致的问题,导致其评价结果不能很好地体现用户的需求。因此,利用公知方法得到的在线服务评价结果,并不能真实的反映在线服务的优劣,不能很好地体现用户的真实需求。同时,某些不法用户只要增加或者降低对某一在线服务的评分,就可以提高或降低在线服务的总体排名,因此,公知方法得到的在线服务评价结果,其抗操纵性较弱。技术实现要素:本发明提供了一种基于slater社会选择理论的在线服务评价方法,该方法基于用户的主观偏好和评价准则不一致,对在线服务进行优劣排序,为用户选择合适的在线服务提供相应的参考。本发明采用的技术方案是:一种基于slater社会选择理论的在线服务评价方法,包括如下步骤:step1、首先利用皮尔逊相关系数对不完全用户-服务矩阵进行填充;其次根据填充后的用户-服务矩阵通过计算构造以服务为节点的有向图;step2、根据有向图,通过slater方法获得节点排序,具体为:遍历有向图,在有向图中寻找相似集、前集、后集,并根据三个集合之间以及集合内部节点有向边的指向关系,判断有向图中所有节点的指向关系,从而得出图中所有节点的排序,节点的排序即是服务的排序,形成最终服务评价结果。具体地,所述step1的具体步骤如下:step1.1、设用户集合为u={u1,u2,...,um},m表示用户数;服务集合为s={s1,s2,...sn},n表示服务数;用户-服务评分矩阵为r=[rij]m×n,其中rij表示用户ui对服务sj的评分,如果用户评分矩阵r中rij=0,表示用户没有对服务进行评分即是评分不完整,则采用皮尔逊相关系数对用户评分矩阵r进行填充,公式如下所示:其中sp(i,j)表示用户ui和uj之间的相似度;aij表示用户ui和用户uj共同评价过的服务集合,m表示aij中的元素个数;ric表示用户ui对共同评价过服务sc∈aij的评分,rjc表示用户uj对共同评价过服务sc∈aij的评分;用公式(2)计算用户ui没有对服务st填充评分值rit并将rit填充到该用户对目标服务的评分矩阵中,如下所示:其中rit表示矩阵r中用户uj对用户ui中未评分服务st的评分,rjt表示矩阵r中用户uj对用户ui中已评分服务st的评分;step1.2、根据填充后的用户-服务评分矩阵r,构造以服务为节点的有向图:step1.2.1、基于填充后的用户-服务矩阵r统计用户ui∈u(i=1,2,3,...,m)对在线服务对(sp,sq)∈s(p,q=1,2,3,...n,p≠q)的偏好关系构建每一个用户的偏好关系矩阵,用zhi=[zhpq(i)]n×n(p,q=1,2,3,...,n,p≠q)表示,zhpq(i)具体如下所示:其中sip表示用户ui对服务sp的评分,siq表示用户ui对服务sq的评分,1表示用户ui认为服务sp优于服务sq;0表示用户ui认为服务sp和服务sq具有同等效用;-1表示用户ui认为服务sq优于服务sp;step1.2.2、根据步骤step1.2.1得到每一个用户的偏好矩阵,并分别统计用户偏好矩阵中zhpq(i)=1以及zhpq(i)=-1的用户总数并比较,得出用户比较表,将其表达为服务-服务比较矩阵tu=[tupq]n×n(p,q=1,2,3,…,n),如下所示:①若表示在服务对(sp,sq)中,认为服务sp优于服务sq的用户人数多于认为服务sq优于服务sp的用户人数,即符号表示优于,在服务-服务比较矩阵tu中记为tupq表示在服务对(sp,sq)中支持服务sp为优先服务的用户人数;tupq表示在服务对(sp,sq)中支持服务sq为优先服务的用户人数;②若表示在服务对(sp,sq)中,认为服务sq优于服务sp的用户人数多于认为服务sp优于服务sq的用户人数,即在服务-服务比较矩阵tu中记为tupq表示在服务对(sp,sq)中支持服务sq为优先服务的用户人数;tupq表示在服务对(sp,sq)中支持服务sp为优先服务的用户人数;③若表示在服务对(sp,sq)中,认为服务sp优于服务sq的用户人数等于认为服务sq优于服务sp的用户人数,即sq~sp,表示服务sq,sp不分优劣;step1.2.3、根据步骤step1.2.2得到的服务-服务比较矩阵tu=[tupq]n×n,任取两个服务对sp1,q1,sp2,q2∈sp,q并且tup1,q1>0,tup2,q2>0,然后根据tup1,q1,tup2,q2值的大小进行排序,并建立服务优先对lpq,具体如下所示:①若tup1,q1-tup2,q2>0,则在服务优先对lpq中,服务对sp1,q1排在服务对sp2,q2前面;②若tup1,q1-tup2,q2<0,则在服务优先对lpq中,服务对sp2,q2排在服务对sp2,q2前面;③若tup1,q1-tup2,q2=0,则在服务优先对lpq中,服务对sp1,q1和服务对sp2,q2不分前后;step1.2.4根据步骤step1.2.3得到的服务优先对lpq,构造以服务为节点的有向图,具体如下所示:根据得到的服务优先对lpq,将lpq中的优先关系视为有向图中边的指向关系,如lpq:(sp,sq)表示在有向图中有从sp指向sq的有向边,遍历服务优先对lpq,得到lpq中所有的节点和有向边,将lpq中的每条有向边以及节点依次添加到图中,最终构造以服务为节点的有向图,在有向图g=<v,e>中,其中v表示以服务为节点的集合,即v={s1,s2,s3,...,sn};e表示以(sp,sq)为有向边的集合,即e=(sp,sq)(p,q1,2,3,...,n,p≠q)。具体地,所述step2的具体步骤如下:step2.1、寻找有向图中的相似集、前集、后集:step2.1.1、对相似集、前集、后集的定义,如下所示:①相似集sim是指:在有向图g=<v,e>中,子集(其中集合c指有向图中所有节点的集合),如果存在节点s1,s2∈sim,对于任何节点有c∈c-sim,有s1→c(“→”表示节点s1到节点c存在有向边)当且仅当s2→c,则集合sim是一个相似集;②前集f是指:在有向图g=<v,e>中,对于任意节点f∈f,都存在f→s的有向边,其中对于任意的s∈sim,即是集合f中的任意节点到相似集sim中的每一个节点都存在有向边,记集合f为前集;③后集l是指:在有向图g=<v,e>中,对于任意节点l∈l,都存在s→l的有向边,其中对于任意的s∈sim,即是相似集sim中的任意一个节点到集合l中的每一个节点都存在有向边,记集合l为后集;step2.1.2、首先寻找相似集,其次寻找前集,最后寻找后集,如下所示:①首先寻找相似集sim:设遍历有向图g=<v,e>,得到图中所有的节点,根据步骤step2.1.1-①中相似集的定义,如果存在节点si(i=1,2,3,...,n)符合相似集的定义,则将节点si加入到相似集sim中即sim=sim∪{si},重复上述步骤直至找到所有符合条件的节点,并将找到的所有节点依次添加到相似集sim中,由此找到相似集;②其次寻找前集f:设遍历有向图g=<v,e>,得到图中所有的节点,根据步骤step2.1.1-②中前集的定义,若对于任意节点f,都存在f→s的有向边,其中s∈sim,则将节点f添加到前集f中即f=f∪{f},重复上述步骤直至找到所有符合条件的节点,并将找到的所有节点依次添加到前集f中,由此找到前集;③最后寻找后集l:设遍历有向图g=<v,e>,得到图中所有的节点,根据步骤step2.1.1-③中后集的定义,若对于任意节点l,都存在s→l的有向边,其中s∈sim,则将节点l添加到后集l中即l=l∪{l},重复上述步骤直至找到所有符合条件的节点,并将找到的所有节点依次添加到后集l中,由此找到后集;step2.2、根据step2.1寻找的相似集、前集、后集,首先判断三个集合之间的排序;其次通过相似集、前集、后集中节点之间边的指向关系依次判断三个集合内部节点之间的排序关系,得到相似集、前集、后集初步排序结果,并判断有向图中所有节点的指向关系,得出图中所有节点的排序,把节点的排序转化为服务的排序并作为服务评价结果,如下所示:step2.2.1、根据步骤step2.1.1中相似集、前集、后集的定义以及步骤step2.1.2寻找到的相似集、前集、后集,判断三个集合的初步排序结果,如下所示:即:其中符号表示优于,表示集合f的节点优于集合sim中的节点;f、sim、l分别表示前集、相似集、后集;step2.2.2、通过相似集、前集、后集内部节点之间边的指向关系依次判断三个集合内部节点之间的排序关系,使用slater方法结合步骤step2.1.2得到相似集、前集、后集初步排序结果,判断有向图中所有节点的指向关系,得出图中所有节点的排序,节点的排序即是服务的排序,如下所示:①判断相似集sim中的节点排序:根据步骤step2.1.2中①找到的相似集,在有向图中找到相似集中所有节点的指向关系,若存在边sp→sq,表示sp指向sq的有向边,则依次得出相似集sim所有节点的排序;②判断前集f中的节点排序:根据步骤step2.1.2中②找到的前集,在有向图中找到前集中所有节点的指向关系,若存在边sa→sb,表示sa指向sb的有向边,则依次得出前集f所有节点的排序;③判断后集l中的节点排序:根据步骤step2.1.2中③找到的后集,在有向图中找到后集中所有节点的指向关系,若存在边sc→sd,表示sc指向sd的有向边,则依次得出后集l所有节点的排序;使用slater方法结合步骤step2.1.2得出相似集、前集、后集三个集合的初步排序结果以及step2.2.2中①、②、③得出的相似集、前集、后集内部节点的指向关系,由此得出有向图中所有节点的排序,将节点的指向关系转化为在线服务的优劣关系,从而实现在线服务的评价。本发明的有益效果是:1、本发明使用slater社会选择方法对在线服务进行评价,考虑到用户的主观偏好和评价准则不一致,将用户对在线服务的评分转化为用户对在线服务的偏好关系,根据偏好关系使用slater方法对服务进行评价,为用户选择适合自身的在线服务提供了一种新的思路。2、本发明的评价结果抗操纵性较高。公知方法仅仅需要提高或者降低想要操控服务的评分,就可以提升或降低该在线服务的排名。然而,本发明基于对用户服务评分的两两比较,不法用户只有多次对某一在线服务sp给予较高的评分,同时对其他在线服务给予较低的评分,即在服务-服务比较矩阵tu中的值增加,而的值减少,使得在服务优先对lpq中服务sp排名靠前,最终导致被操纵的在线服务排名提高。因此,本发明的服务评价结果比公知方法具有更强的抗操纵性。3、本发明的评价结果符合孔多塞准则,能够体现大多数用户的偏好需求。如果存在服务sp,使得有一半以上的用户认为该服务优于其他所有服务si(i=1,2,3,....,m,i≠p),则服务sp是孔多塞服务,也即是最优服务。有一半以上的用户认为服务sp优于其他服务,则在建立的服务优先对lpq中服务sp排在靠前的位置,那么服务sp一定是最优服务。综上所述,本发明提出了一种基于slater社会选择理论的在线服务评价方法。该方法适用于用户偏好不一致以及评价准则不一致的情况。同时,本发明的方法得到的排序结果满足孔多塞性,符合大多数用户的偏好需求,为在线服务的群体评价及其相关应用提供了一种新的理论依据和技术基础。附图说明图1是本发明方法的流程图;图2是本发明实施案例中构造的以服务为节点的有向图。具体实施方式下面结合附图和具体实施例,对本发明作进一步的说明。实施例1:如图1-2所示,一种基于slater社会选择理论的在线服务评价方法。重点解决用户偏好不一致以及评价准则不一致导致的服务之间评分不可比较的问题。本发明首先对不完全用户-服务矩阵进行填充;其次根据填充后的用户-服务矩阵通过计算最终构造以服务为节点的有向图;最后根据得到的有向图通过slater方法得到服务的最终排序,实现对在线服务的评价。所述方法具体步骤如下所示:步骤1:利用皮尔逊相关系数将不完整的用户-服务评分矩阵填充完整;其次根据填充后的用户-服务矩阵构造以服务为节点的有向图,具体步骤如下所示:1.1、如下表1所示,给定5个用户对5个在线服务的评分,其中用户集合为u={u1,u2,u3,u4,u5};服务集合为s={s1,s2,s3,s4,s5};用户-服务评分矩阵r=[rij]5×5。其中表中的每个元素表示用户对服务的满意程度,采用电子商务评价机制中常用的5个等级,1-5分别表示非常不满意、不满意、一般、满意和非常满意。矩阵r中的0表示用户没有对该服务进行评分:表1rijs1s2s3s4s5u153021u241332u341032u442410u552413利用皮尔逊相关系数公式将用户-服务评分矩阵填充完整,填充后的用户-服务评分矩阵如下图2所示。表2rijs1s2s3s4s5u1533.7856621u241332u3433.6266532u442411.91538u5524131.2、根据填充好的用户-服矩阵通过计算构造以服务为节点的有向图:(1)基于填充后的用户-服务矩阵建立每个用户ui对服务的偏好关系矩阵zh(i),如下表3所示:表3(2)根据上述表3得到的每一个用户的偏好矩阵zh(i),并分别统计5个用户中zhpq=1和zhpq=-1的用户总数并比较,比较结果如下表4所示:表4其中表示用户认为服务sp优于sq人数比服务sq优于sp的人数多。例如:5>0表示认为服务sp优于sq人数为5比服务sq优于sp的人数为0多,即服务根据上述表4所得的结果,构造服务-服务矩阵tu=[tupq]5×5,如下表5所示:表5tupqs1s2s3s4s5s1\5455s20\033s304\45s4000\0s50003\其中,(sp,sq)>(sq,sp)表示支持服务sp为优先服务的人数大于支持服务sq为优先服务的人数。例如(s1,s2)=5>(s2,s1)=0,表示支持服务s1为优先服务的人数为5,而支持服务s2为优先服务的人数为0,所以服务s1为优先服务。(3)基于服务-服务比较矩阵tu得到服务优先对lpq:根据步骤1.2-(2)得到的服务-服务比较矩阵tu=[tupq]5×5,建立服务优先对lpq,如下表6所示:表6其中(s1,s2)表示s1优于s2,在有向图中表示从s1指向s2的有向边。(4)根据服务优先对lpq,构造以服务为节点的有向图:根据步骤1.2-(3)得到的服务优先对lpq,将lpq中的优先关系视为有向图中边的指向关系,如(s1,s2)表示从s1指向s2的有向边,即s1→s2。根据表6可知,构造的有向图g=<v,e>中共有10条有向边,分别为:s1→s2,s1→s3,s1→s4,s1→s5,s3→s2,s2→s4,s2→s5,s3→s4,s3→s5,s4→s5;图中共有五个节点,分别为s1,s2,s3,s4,s5,构造的有向图如附图2所示。步骤2、根据步骤1.2得到的有向图,首先在有向图中寻找相似集、前集、后集;其次通过三个集合之间的关系以及三个集合内部节点的关系,使用slater方法判断有向图中所有节点的指向关系,得出图中所有节点的排序,也即是在线服务的最终排序,具体步骤如下所示:2.1、寻找有向图中的相似集、前集、后集:首先寻找相似集,其次寻找前集,最后寻找后集。如下所示:①首先寻找相似集sim:根据步骤1得出的有向图以及相似集:在有向图g=<v,e>中,子集(其中集合c指有向图中所有节点的集合),如果存在节点s1,s2∈sim,对于任何节点有c∈c-sim,有s1→c(“→”表示节点s1到节点c存在有向边)当且仅当s2→c,则集合sim是一个相似集。从图中可以得到s1到s2,s3,s5有边分别为:s1→s2,s1→s3,s1→s5,而且s2,s3,s5到s4有边分别:s2→s4,s3→s4,s4→s5,由此可以得出{s2,s3,s4}是相似集,即sim={s2,s3,s4}。②其次寻找前集f:根据步骤1得出的有向图以及前集:在有向图g=<v,e>中,对于任意节点f∈f,都存在f→s的有向边,其中对于任意的s∈sim,即是集合f中的任意节点到相似集sim中的每一个节点都存在有向边,记集合f为前集。从图中可以得到s1到s2,s3,s5有边分别:s1→s2,s1→s3,s1→s5,由此可以得出{s1}是前集,即前集f={s1}。③最后寻找后集l:根据步骤1得出的有向图以及后集:在有向图g=<v,e>中,对于任意节点l∈l,都存在s→l的有向边,其中对于任意的s∈sim,即是相似集sim中的任意一个节点到集合l中的每一个节点都存在有向边,记集合l为后集。从图中可以得到相似集中的s2,s3,s5到s4分别有边:s2→s4,s3→s4,s4→s5,一次可以得出{s5}是后集,即后集l={s5}。2.2、根据上述步骤2.1寻找的相似集、前集、后集,首先判断三个集合之间的排序;其次通过相似集、前集、后集中节点之间边的指向关系依次判断三个集合内部节点之间的排序关系,得到相似集、前集、后集初步排序结果,判断有向图中所有节点的指向关系,得出图中所有节点的排序,把节点的排序转化为服务的排序并作为服务评价结果,如下所示:(1)根据步骤2.1中相似集、前集、后集的定义以及寻找到的相似集、前集、后集,判断三个集合的初步排序结果,如下所示:即(2)通过相似集、前集、后集内部节点之间的指向关系依次判断三个集合内部节点之间的排序关系,得到相似集、前集、后集初步排序结果,判断有向图中所有节点的指向关系,得出图中所有节点的排序,节点的排序即是服务的排序,如下所示:①判断相似集sim中的节点排序:在有向图中存在边s3→s2,s3→s4,s2→s4,所以因此在相似集sim={s2,s3,s4}中,其排序为:②判断前集f中的节点排序:前集f={s1},因为前集中只有一个节点s1,故无需排序。③判断后集l中的节点排序:后集l={s5},因为后集中只有一个节点s5,故无需排序。使用slater方法得出最终评价结果:即相似集sim={s2,s3,s4},前集f={s1},后集l={s5},因此最终排序结果为:转化为服务的评价结果:(服务s1优于服务s3优于服务s2优于服务s4优于服务s4),故最优服务为s1,最劣服务为s5。本发明的方法具有较强的抗操纵性,以下则对抗操纵性进行验证:增加两个用户u6,u7对服务s5的评分分别为4、3分,增加后的用户-评分矩阵如下表7所示:表7rijs1s2s3s4s5u153021u251332u343032u442410u552313u600004u700003根据步骤1、2得到增加用户评分后的优先服务对lpq,如下表8所示:表8根据表8得到的在线服务评价结果为:本发明中增加用户评分之前以及增加用户评分之后、均值法、累加法得到评价结果的对比表,如下表9所示:表9根据表9可知,对于公知方法,增加两个用户u6,u7对服务s5的评分分别为4、3分,服务s5的累加法值等于服务s2、服务s4的累加法值,而且服务s5的均值法值也大于服务s4的均值法值。由此可知,仅仅通过操纵一个服务的评分就可以影响整体服务的评价结果排序,因此公知的方法抗操纵性比较低。而本发明方法中,增加用户评分之后的在线服务评价结果与增加用户评分之前的在线服务评价结果一致。因此,本发明的slater方法比公知方法具有更强的抗操纵性。本发明的评价结果符合孔多塞准则。对于任意服务sp,如果有一半以上的用户认为服务sp优于其他服务时,则认为服务sp是最优服务。由表2可知,有5个用户认为服务s1优于服务s2,有3个用户认为服务s1优于服务s3,有4个用户认为服务s1优于服务s4,有4个用户认为服务s1优于服务s5,均大于用户总数的一半。因此得出的最优服务s1符合孔多塞准则。本发明基于用户的主观偏好和评价准则不一致,以用户对在线服务的评分为基础,构建以服务为节点的有向图,并用slater方法对有向图中的节点进行排序,最终转化为服务间的优劣排序,从而实现对在线服务的评价。该方法满足孔多塞性和抗操纵性,不仅可以满足大多数用户的偏好需求,而且还能有效地减少某些不法服务提供者对在线服务的群体评价进行操控的问题。本发明的方法得出的在线服务评价结果,为在线服务的群体评价及其相关应用提供了一种新的解决方案。以上结合附图对本发明的具体实施方式作了详细说明,但是本发明并不限于上述实施方式,在本领域普通技术人员所具备的知识范围内,还可以在不脱离本发明宗旨的前提下作出各种变化。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1