一种获得网络中用户的置信度的方法和装置
技术领域
本说明书涉及网络信息处理技术领域,尤其涉及一种获得网络中用户的置信度的方法和装置。
背景技术
互联网及移动互联网技术的大规模应用让信息实现了高效的互联,搜索网站、新闻门户网站、社交工具,还有各种民生服务应用,连接了人和人,人和服务。随着网络数字社会的发展,网络用户的连接次数和连接需求达到空间的高度,因此对个人或机构用户的置信度的数字化评价成了网络数字社会发展越来越紧迫的需求。置信度,是指个人或机构用户提供的置信信息的可信程度,上述可信程度通常需要由其他用户对该个人或机构用户提供的置信信息作背书的方式来体现。
区块链技术,也被称之为分布式账本技术,是一种由若干台计算设备共同参与“记账”,共同维护一份完整的分布式数据库的新兴网络技术。由于区块链技术具有去中心化、公开透明、每台计算设备可以参与数据库记录、并且各计算设备之间可以快速的进行数据同步的特性,使得区块链技术已在众多的领域中广泛的进行应用。
发明内容
有鉴于此,本说明书一个或多个实施例提供一种获得网络中用户的置信度的方法及装置。
为实现上述目的,本说明书一个或多个实施例提供技术方案如下:
根据本说明书一个或多个实施例的第一方面,提出了一种获得网络中用户的置信度的方法,所述网络中包括多个已获得置信度和传播分的已有用户,所述方法应用于服务器端,包括:
接收待背书用户的置信信息;
基于所述置信信息,接收网络中第一级已有用户对所述待背书用户的背书,所述第一级已有用户是对所述待背书用户直接进行背书的用户;
基于所述第一级已有用户的传播分获得所述待背书用户的置信度,其中,所述第一级已有用户的传播分是基于对所述第一级已有用户进行背书的第二级已有用户的置信度获得。
根据本说明书一个或多个实施例的第二方面,提出了本说明书还提供了一种基于区块链的获得用户置信度的方法,所述区块链的分布式数据库中备份有多个已有用户的置信度和传播分,所述方法包括:
获取待背书用户的置信信息;
获取第一级已有用户基于所述置信信息对所述待背书用户的背书数据,所述第一级已有用户是对所述待背书用户直接进行背书的用户;
获取所述第一级已有用户的传播分,基于所述第一级已有用户的传播分获得所述待背书用户的置信度,其中,所述第一级已有用户的传播分是基于对所述第一级已有用户进行背书的第二级已有用户的置信度获得。
根据本说明书一个或多个实施例的第三方面,提出了一种基于区块链的获得用户置信度的方法,所述区块链的分布式数据库中备份有多个已有用户的置信度和传播分,所述方法包括:
调用部署在所述区块链上的智能合约,执行所述智能合约声明的基于区块链的获得用户置信度的方法对应的执行程序,获得用户的置信度。
根据本说明书一个或多个实施例的第四方面,提出了一种获得网络中用户的置信度的装置,所述网络中包括多个已获得置信度和传播分的已有用户,包括:
接收单元,接收待背书用户的置信信息;
基于所述置信信息,接收网络中第一级已有用户对所述待背书用户的背书,所述第一级已有用户是对所述待背书用户直接进行背书的用户;
计算获得单元,基于所述第一级已有用户的传播分获得所述待背书用户的置信度,其中,所述第一级已有用户的传播分是基于对所述第一级已有用户进行背书的第二级已有用户的置信度获得。
根据本说明书一个或多个实施例的第五方面,提出了一种基于区块链的获得用户置信度的装置,所述区块链的分布式数据库中备份有多个已有用户的置信度和传播分,所述装置包括:
获取单元,获取待背书用户的置信信息;
获取第一级已有用户基于所述置信信息对所述待背书用户的背书数据,所述第一级已有用户是对所述待背书用户直接进行背书的用户;
获取所述第一级已有用户的传播分;
计算获得单元,基于所述第一级已有用户的传播分获得所述待背书用户的置信度,其中,所述第一级已有用户的传播分是基于对所述第一级已有用户进行背书的第二级已有用户的置信度获得。
根据本说明书一个或多个实施例的第六方面,提出了一种基于区块链的获得用户置信度的装置,所述区块链的分布式数据库中备份有多个已有用户的置信度和传播分,所述装置包括:智能合约调用单元,调用部署在所述区块链上的智能合约,执行所述智能合约声明的基于区块链的获得用户置信度的方法所对应的程序,获得用户的置信度。
相应地,本说明书还提供了一种计算机设备,包括:存储器和处理器;所述存储器上存储有可由处理器运行的计算机程序;所述处理器运行所述计算机程序时,执行上述获得网络中用户的置信度的方法所述的步骤。
相应地,本说明书还提供了一种计算机设备,包括:存储器和处理器;所述存储器上存储有可由处理器运行的计算机程序;所述处理器运行所述计算机程序时,执行上述基于区块链的获得用户置信度的方法所述的步骤。
相应地,本说明书还提供了一种计算机设备,包括:存储器和处理器;所述存储器上存储有可由处理器运行的计算机程序;所述处理器运行所述计算机程序时,执行上述基于区块链的获得用户置信度的方法所述的步骤。
由以上技术方案可见,本说明书提供的获得网络中用户的置信度的方法及装置,使每个用户的置信信息的可信度与两种指标——对每个用户背书的用户的传播分和上述传播分所基于的上一级背书用户的置信度相关,使得用户的置信度不单纯依赖于对其被背书的用户的置信度,而是通过置信度的逐层传播效应更加优化了用户的置信信息的可信度(即用户的置信度)的准确程度。本说明书所提供的获得网络中用户的置信度的方法,在待背书用户不对网络中的已有用户进行置信度背书时,无需重新计算网络中已有用户的置信度,仅基于已有用户对上述待背书用户的置信信息进行背书,即可生成上述待背书用户的置信度,降低了网络系统全量计算的频次,提高了计算的效率。
进一步地,将上述获取用户的置信度的方法应用于区块链网络中,基于区块链技术的分布式数据库存储机制,待背书用户的置信信息、及区块链中已获得置信度的已有用户基于待背书用户的置信信息对待背书用户的背书均被去中心化地记录在所有节点中,由所有参与方的节点共同维护,所有数据记录可回溯,而且,基于区块链的共识机制,每个用户节点提供的置信信息、及背书数据不会在提供后被篡改,从而保证了依托于依托于置信信息及背书数据计算的用户的置信度的真实性。
更进一步地,本说明书所提供的获取用户的置信度的方法可以由运行在区块链上的智能合约执行,利用每个用户节点提供的置信信息、或背书数据调用所述上述智能合约,并执行智能合约声明的获取用户的置信度的计算规则的程序,以在区块链系统中公平公正透明地执行本说明书所提供的获取用户的置信度的方法。
附图说明
图1为本说明书所提供的一实施例所示的获得网络中用户的置信度的方法的流程图;
图2为本说明书所提供的一实施例所示的网络中用户的背书关系示意图;
图3为本说明所提供的又一实施例所示的获取网络中用户的置信度的方法的流程图;
图4为本说明书所提供的一实施例所示的基于区块链的获得用户置信度的方法的流程图;
图5为本说明书所提供的一实施例提供的获取网络中用户的置信度的装置的示意图;
图6为本说明书所提供的一实施例所示的基于区块链的获得用户置信度的装置的示意图;
图7为本说明书所提供的一实施例所示的基于区块链的获得用户置信度的装置的示意图;
图8为运行本说明书所提供的获取网络中用户的置信度的装置实施例的一种硬件结构图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本说明书一个或多个实施例相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本说明书一个或多个实施例的一些方面相一致的装置和方法的例子。
需要说明的是:在其他实施例中并不一定按照本说明书示出和描述的顺序来执行相应方法的步骤。在一些其他实施例中,其方法所包括的步骤可以比本说明书所描述的更多或更少。此外,本说明书中所描述的单个步骤,在其他实施例中可能被分解为多个步骤进行描述;而本说明书中所描述的多个步骤,在其他实施例中也可能被合并为单个步骤进行描述。
图1是一示例性实施例提供的一种获得网络中用户的置信度的方法的流程图,该网络中包括多个已获得置信度和传播分的已有用户。置信度是衡量该用户的置信信息的可信程度的度量参数,通常可通过其他用户对该用户的置信信息的背书来量化体现,传播分是衡量对该用户进行背书的用户的可信程度的度量参数。应用于上述网络系统的服务器端,上述方法包括:
步骤102,接收待背书用户的置信信息。
上述待背书置信度的待背书用户是指在上述网络系统中等待接受其他用户的对其相关的置信信息进行背书、以获取置信度的用户,上述置信信息可包括待背书用户的学历、工作经历、信用历史、兴趣爱好等各种与用户的可信程度相关的信息,可依上述网络的具体应用场景而定,在本说明书中不作限定。上述用户包括个人用户或机构组织用户。上述待背书用户的置信信息可以由用户自身提供,也可由相关的组织机构或其他个人提供,如学历水平认证机构、毕业证书认证机构、用户的已有工作单位、用户的亲人朋友或老师、用户的已有工作单位的人事人员等用户来提供,在本说明书中不作限定。
步骤104,基于所述置信信息,接收网络中第一级已有用户对所述待背书用户的背书,所述第一级已有用户是对所述待背书用户直接进行背书的用户。
由于在网络中多个用户中相互之间均可能有背书关系,因此对于某一待背书用户,将直接对其背书的用户定义为第一级已有用户。图2示意了本说明书一实施例提供的网络中用户的背书关系。每个节点代表某用户,A指向B,代表用户A对用户B的置信信息进行背书。如图2所示,假设用户D是待背书用户,由于用户A、B、C均指向D,代表用户A、B、C均直接对用户D进行背书,则对于待背书用户D来说,用户A、B、C是第一级已有用户。本领域的技术人员熟知,对于不同的待背书用户来讲,其第一级已有用户为不同的用户或用户群组,在此不再赘述。
步骤106,基于所述第一级已有用户的传播分获得所述待背书用户的置信度,其中,所述第一级已有用户的传播分是基于对所述第一级已有用户进行背书的第二级已有用户的置信度获得。
如图2所示,用于用户A对用户B、C进行背书,对待背书用户D而言,用户A、B、C为其第一级已有用户,用户A为其第二级已有用户。待背书用户D的置信度由其对应的第一级已有用户A、B、C的传播分计算得出,而其第一级已有用户A、B、C的传播分则基于第二级已有用户A的置信度计算得出。
具体来说,上述基于所述第一级已有用户的传播分获得所述待背书用户的置信度的计算过程,可以由相应的公式计算得出,也可通过机器学习模型拟合得到。例如,待背书用户的置信度authority(i)可由如下公式计算获得:
其中,α为第一级已有用户的传播分的权重系数,在不同的置信度应用场景中可具有不同的取值;Si=∑j∈in(i)hub(j),是与第一级已有用户j的传播分hub(j)的相关的表达,且第一级已有用户的传播分hub(j)基于以下计算式获得:
in(j)代表对第一级已有用户j进行背书的第二级已有用户的集合,authority(m)为第二级已有用户m的置信度,count(m)代表第二级已有用户的总和。
由以上实施例可以看出,在本说明书中,每个用户的置信信息的可信度与两种指标相关,这两种指标分别为对每个用户背书的第一级已有用户的传播分和上述传播分所基于的第二级背书用户的置信度;由此使得每个用户的置信度不单纯依赖于对其被背书的用户的置信度,而是通过置信度的逐层传播效应更加优化了每个用户的置信信息的可信度(即用户的置信度)的准确程度。
在又一示出的实施例中,上述基于所述第一级已有用户的传播分获得所述待背书用户的置信度的过程中,还可引入第一级已有用户与待背书用户的相似度考量。本领域的技术人员熟知,用户彼此间越是有着相似的置信信息,如相同的学历背景、或工作经历背景、或兴趣爱好等,用户彼此间的背书越具有真实可信性。因此,上述基于所述第一级已有用户的传播分获得所述待背书用户的置信度,包括:基于所述第一级已有用户的置信信息和所述待背书用户的置信信息,获得所述第一级已有用户与所述待背书用户的相似度;基于所述相似度和所述第一级已有用户的传播分获得所述待背书用户的置信度,以提高上述待背书用户的置信度的准确性。
例如,在上例与第一级已有用户j的传播分hub(j)的相关的表达Si还可以表达为:
其中,ki,j衡量不同的第一级已有用户与待背书用户的相似度,条件之一sim(i)=sim(j),是指两个用户的置信信息相同,如学历信息等,则其背书更能提高待背书用户的置信度。
由于每个用户的置信度是基于对其进行背书的第一级已有用户的传播分获得,为方便上述实施例所述的待背书用户在获取置信度后对网络中的其他节点进行背书,以获取网络中其他节点的置信度,则在又一示出的实施例中,本说明书所提供的获得网络中用户的置信度的方法,还包括基于所述第一级已有用户的置信度获得所述待背书用户的传播分,以在所述待背书用户对其他用户进行背书后、计算所述其他用户的置信度时使用。
例如,上述待背书用户的传播分hub(i)基于以下计算式获得:
此处in(i)代表对待背书用户进行背书的第一级已有用户j的集合,count(j)即表示对待背书用户进行背书的第一级已有用户j的总和,authority(j)为对待背书用户进行背书的第一级已有用户的置信度。
在根据上述实施例所述的方法,获取到待背书用户的置信度及传播分后,可判定上述待背书用户是否还需对网络中已有用户进行置信信息的背书,如果否,则根据上述方法获取到的上述待背书用户的置信度即为该用户现在的置信度,网络系统的服务器可输出该待背书用户的置信度,如图2所示的用户D的置信度。
通过上述实施例所述的方法,在待背书用户不对网络中的已有用户进行置信度背书时,无需重新计算网络中已有用户的置信度,仅基于已有用户对上述待背书用户的置信信息进行背书,即可生成上述待背书用户的置信度,实现轻量级增量计算,降低了网络系统全量计算的频次,提高了计算的效率。
当上述待背书用户还需对网络中已有用户进行置信信息的背书时,由于上述待背书用户的背书,网络中已有用户的置信度及传播分均会发生相应的改变,因此在又一示出的实施例中,如图3所示,采用如下过程获取网络中已有用户及上述待背书用户的置信度:迭代进行如下步骤,直至满足预设的收敛条件后,输出所述已有用户和所述待背书用户的置信度:
步骤302,遍历所述已有用户和所述待背书用户,基于每个用户的置信信息,接收其他用户对所述每个用户进行的背书;
步骤304,基于对所述每个用户背书的其他用户的置信度更新所述每个用户的传播分;
步骤306,基于对所述每个用户背书的其他用户的传播分更新所述每个用户的置信度。
在本实施例中,网络的服务器端逐个遍历网络系统中的上述已有用户和上述待背书的用户,对于每个用户的置信信息,接收其他用户的背书。在接收了其他用户的背书之后,基于对所述每个用户背书的其他用户的置信度更新所述每个用户的传播分,基于对所述每个用户背书的其他用户的传播分更新所述每个用户的置信度。采用上述计算方式,网络系统中每个用户的置信度和传播分在每一次的迭代过程中均会发生动态更新,因此本实施例所提供的计算方法需要预先设定收敛条件以终止上述迭代过程,从而获取收敛状态下网络系统中每个用户的置信度和传播分。上述收敛条件可依据具体的计算数值范围、或应用场景而定,例如,收敛条件可以设定为在相邻的两次迭代过程中,所获得的每个用户的置信度或传播分的差值不大于预设的阈值,或者,依据计算经验,在经历过预设阈值次数的迭代过程后,用户的置信度或传播分会基于收敛,因此可将收敛条件设定为迭代次数不小于预设的阈值。
与前述实施例中待背书用户获取其传播分及置信度的过程类似,上述每个用户的传播分和置信度也可以由上述实施例所示的公式计算得出:
类似的,hub(n)为用户n的传播分,in(n)为对用户n进行背书的其他用户的集合,count(i)为对用户n进行背书的其他用户的总和,authority(i)为对用户n进行背书的其他用户的置信度。
类似的,authority(n)为用户n的置信度,该置信度是基于对用户n进行被书的其他用户的传播分hub(i)计算得出的。在此不再赘述。
当然,基于大数据学习基础,每个用户的传播分hub(n)和置信度authority(n)也可通过机器学习模型拟合得到。
在又一示出的实施例中,为更多引入丰富的特征来优化提升用户的置信度评价,上述基于对所述每个用户背书的其他用户的传播分更新所述每个用户的置信度的过程,还可包括:基于所述每个用户和所述其他用户的置信信息,获得对所述每个用户背书的其他用户与所述每个用户的相似度;基于所述相似度和所述对所述每个用户背书的其他用户的传播分更新所述每个用户的置信度。
例如,
其中,参数ki,n用于衡量对每个用户n背书的其他公户i与用户n的相似度,条件之一sim(i)=sim(n),是指两个用户的置信信息相同,如学历信息等,则其背书更能提高每个用户n的置信度。
上述多个实施例所提供的获得网络中用户的置信度的方法,通常建立在网络系统的用户样本量满足预设个数的情况下,亦即,上述方法适用于足够大的网络系统。对于网络系统中用户的样本还未达到预设个数时,系统服务器并不执行上述各实施例所述的方法以获取用户的置信度。网络系统通常可选取一种“冷启动”的初始化机制,在网络中的初始化用户个数不满足预设个数时,不执行冷启动;待网络中的初始化用户个数满足预设个数后,所述预设个数的初始化用户的置信度的获取步骤包括:
将所述预设个数的初始化用户的置信度设置为初始值;
迭代进行如下步骤,直至满足预设的收敛条件:
遍历网络中的所有的预设个数的初始化用户,基于每个初始化用户的置信信息,接收其他初始化用户对所述每个初始化用户的背书;
基于对所述每个初始化用户背书的其他初始化用户的置信度获得所述每个初始化用户的传播分;
基于对所述每个初始化用户背书的其他初始化用户的传播分更新所述每个初始化用户的置信度。
经过上述初始化冷启动过程,即可获得网络系统中的初始化用户的置信度和传播分,以供以后新的用户加入该网络后执行上述各实施例所述的用户置信度的获取方法。
类似地,上述初始化用户的置信度的获取步骤中所设置的收敛条件也可包括在相邻的两次迭代过程中,所获得的每个用户的置信度或传播分的差值不大于预设的阈值;或迭代次数不小于预设的阈值。
类似地,在又一示出的实施例中,基于对所述每个初始化用户背书的其他初始化用户的传播分更新所述每个初始化用户的置信度的过程,包括:基于初始化用户的置信信息,获得对所述每个初始化用户背书的其他初始化用户与所述每个初始化用户的相似度;基于所述相似度和对所述每个初始化用户背书的其他初始化用户的传播分更新所述每个初始化用户的置信度。
以上,本说明书中的多个实施例提供了获得网络中用户的置信度的方法。区块链作为一种P2P网络技术,以其去中心化、及数据不可篡改的优点获得越来越多的应用。本说明书的又一实施例提供了一种基于区块链的获得用户置信度的方法,所述区块链的分布式数据库中备份有多个已有用户的置信度和传播分。置信度是衡量用户的置信信息的可信程度的度量参数,通常可通过其他用户对该用户的置信信息的背书来量化体现,传播分是衡量对该用户进行背书的用户的可信程度的度量参数。
本说明书各实施例所述的区块链,具体可指一个各节点通过共识机制达成的、具有分布式数据存储结构的P2P网络系统,该区块链内的数据分布在时间上相连的一个个“区块(block)”之内,后一区块包含前一区块的数据摘要,且根据具体的共识机制(如POW、POS、DPOS或PBFT等)的不同,达成全部或部分节点的数据全备份。本领域的技术人员熟知,由于区块链系统在相应共识机制下运行,已收录至区块链数据库内的数据很难被任意的节点篡改,例如采用Pow共识的区块链,至少需要全网51%算力的攻击才有可能篡改已有数据,因此区块链系统有着其他中心化数据库系统所法比拟的保证数据安全、防攻击篡改的特性。由此可知,在本说明书所提供的实施例中,被收录至区块链的分布式数据库中的数据不会被攻击或篡改,从而保证了各用户的置信度、传播分及其他备份信息如置信信息数据、或背书数据的真实性。
本实施例所述的基于区块链的获得用户置信度的方法,可由区块链中的任一节点设备,或与任一节点设备相连的客户端执行,不做限定。如图4所示,所述方法包括:
步骤402,从所述区块链的分布式数据库获取待背书用户的置信信息。
上述待背书置信度的待背书用户是指在上述网络系统中等待接受其他用户的对其相关的置信信息进行背书、以获取置信度的用户,上述置信信息可包括待背书用户的学历、工作经历、信用历史、兴趣爱好等各种与用户的可信程度相关的信息,可依上述网络的具体应用场景而定,在本说明书中不作限定。上述用户包括个人用户或机构组织用户。上述待背书用户的置信信息可以由用户自身提供,也可由相关的组织机构或其他个人提供,如学历水平认证机构、毕业证书认证机构、用户的已有工作单位、用户的亲人朋友或老师、用户的已有工作单位的人事人员等用户来提供,在本说明书中不作限定。上述置信信息在经过上述区块链的共识验证后,被收录于区块链的分布式数据库中,所述区块链中的任一节点或与节点连接的客户端从所述区块链的分布式数据库中获取所述待背书用户的置信信息。
步骤404,从所述区块链的分布式数据库获取第一级已有用户基于所述置信信息对所述待背书用户的背书数据,所述第一级已有用户是对所述待背书用户直接进行背书的用户。
由于在网络中多个用户中相互之间均可能有背书关系,因此对于某一待背书用户,将直接对其背书的用户定义为第一级已有用户。图2示意了本说明书一实施例提供的区块链网络中用户的背书关系。每个节点代表一用户,A指向B,代表用户A对用户B的置信信息进行背书。如图2所示,假设用户D是待背书用户,由于用户A、B、C均指向D,代表用户A、B、C均直接对用户D进行背书,则对于待背书用户D来说,用户A、B、C是第一级已有用户。
在所述待背书用户的置信信息被提供至上述区块链的分布式数据库后,即可在区块链网络中接收其他用户的背书。为保证上述背书数据不会被篡改,保证背书数据的真实有效性,上述第一级已有用户基于所述置信信息对所述待背书用户的背书数据也在经过上述区块链的共识验证后,被收录于区块链的分布式数据库中。上述背书数据的真实可靠性进一步地保证了本说明书所提供的获取用户置信度的方法所基于的、对待背书用户背书的第一级已有用户的真实准确性,防止在其他中心化系统中随意选择第一级已有用户而操纵用户的置信度评价。所述区块链中的任一节点或与节点连接的客户端从所述区块链的分布式数据库中获取第一级已有用户基于所述置信信息对所述待背书用户的背书数据。上述背书数据可以表现为投票、打分或其他可能的评价形式,在本说明书中不作限定。
步骤406,从所述区块链的分布式数据库获取所述第一级已有用户的传播分,基于所述第一级已有用户的传播分获得所述待背书用户的置信度,其中,所述第一级已有用户的传播分是基于对所述第一级已有用户进行背书的第二级已有用户的置信度获得。
如图2所示,用于用户A对用户B、C进行背书,对待背书用户D而言,用户A、B、C为其第一级已有用户,用户A为其第二级已有用户。待背书用户D的置信度由其对应的第一级已有用户A、B、C的传播分计算得出,而其第一级已有用户A、B、C的传播分则基于第二级已有用户A的置信度计算得出。
具体来说,上述基于所述第一级已有用户的传播分获得所述待背书用户的置信度的计算过程,可以由相应的公式计算得出,也可通过机器学习模型拟合得到。例如,待背书用户的置信度authority(i)可由如下公式计算获得:
其中,α为第一级已有用户的传播分的权重系数,在不同的置信度应用场景中可具有不同的取值;Si=∑j∈in(i)hub(j),是与第一级已有用户j的传播分hub(j)的相关的表达,且第一级已有用户的传播分hub(j)基于以下计算式获得:
in(j)代表对第一级已有用户j进行背书的第二级已有用户的集合,authority(m)为第二级已有用户m的置信度,count(m)代表第二级已有用户的总和。
由以上实施例可以看出,在本说明书中,每个用户的置信信息的可信度与两种指标相关,这两种指标分别为对每个用户背书的第一级已有用户的传播分和上述传播分所基于的第二级背书用户的置信度;由此使得每个用户的置信度不单纯依赖于对其被背书的用户的置信度,而是通过置信度的逐层传播效应更加优化了每个用户的置信信息的可信度(即用户的置信度)的准确程度。
上述每个已有用户的传播分和置信度均已被存证收录于区块链的分布式数据库中,区块链中的任一节点设备或与节点设备相连的客户端在获取到所述第一级已有用户的传播分后,即可基于所述第一级已有用户的传播分获得所述待背书用户的置信度。区块链的防篡改机制保证了上述每个已有用户的传播分的真实准确性,进而确保了上述获得待背书用户的置信度的真实准确性。
在又一示出的实施例中,上述基于所述第一级已有用户的传播分获得所述待背书用户的置信度的过程中,还可引入第一级已有用户与待背书用户的相似度考量。本领域的技术人员熟知,用户彼此间越是有着相似的置信信息,如相同的学历背景、或工作经历背景、或兴趣爱好等,用户彼此间的背书越具有真实可信性。因此,本实施例所述的区块链的分布式数据库内还包括有所述已有用户的置信信息,上述基于所述第一级已有用户的传播分获得所述待背书用户的置信度,包括:获取所述第一级已有用户的置信信息,基于所述第一级已有用户的置信信息和所述待背书用户的置信信息,获得所述第一级已有用户与所述待背书用户的相似度;基于所述相似度和所述第一级已有用户的传播分获得所述待背书用户的置信度,以提高上述待背书用户的置信度的准确性。
例如,在上例与第一级已有用户j的传播分hub(j)的相关的表达Si还可以表达为:
其中,ki,j衡量不同的第一级已有用户与待背书用户的相似度,条件之一sim(i)=sim(j),是指两个用户的置信信息相同,如学历信息等,则其背书更能提高待背书用户的置信度。
由于每个用户的置信度是基于对其进行背书的第一级已有用户的传播分获得,为方便上述实施例所述的待背书用户在获取置信度后对区块链网络中的其他用户进行背书,以获取网络中其他用户的置信度,则在又一示出的实施例中,本说明书所提供的基于区块链的获取用户的置信度的方法,还包括基于所述第一级已有用户的置信度获得所述待背书用户的传播分,以在所述待背书用户对其他用户进行背书后、计算所述其他用户的置信度时使用。
例如,上述待背书用户的传播分hub(i)基于以下计算式获得:
此处in(i)代表对待背书用户进行背书的第一级已有用户j的集合,count(j)即表示对待背书用户进行背书的第一级已有用户j的总和,authority(j)为对待背书用户进行背书的第一级已有用户的置信度。
在根据上述实施例所述的方法,获取到待背书用户的置信度及传播分后,可判定上述待背书用户是否还需对区块链中存储的已有用户进行置信信息的背书,如果否,则根据上述方法获取到的上述待背书用户的置信度即为该用户现在的置信度,则执行上述对待背书用户的置信度计算过程的区块链节点或客户端可将上述方法所得的待背书用户的置信度和传播分上传于区块链的分布式数据库中以备份存证,如图2所示的用户D的置信度。
通过上述实施例所述的方法,在待背书用户不对区块链中存储的已有用户进行置信度背书时,无需重新计算区块链的分布式数据库中收录的已有用户的置信度,仅基于已有用户对上述待背书用户的置信信息进行背书,即可生成上述待背书用户的置信度,实现轻量级增量计算,降低了全量计算的频次,提高了计算的效率。
当上述待背书用户还需对上述已有用户进行置信信息的背书时,由于上述待背书用户的背书,上述已有用户的置信度及传播分均会发生相应的改变,因此在又一示出的实施例中,如图3所示,采用如下过程获取已有用户及上述待背书用户的置信度:迭代进行如下步骤,直至满足预设的收敛条件后,输出所述已有用户和所述待背书用户的置信度:
步骤302,遍历所述已有用户和所述待背书用户,基于每个用户的置信信息,接收其他用户对所述每个用户进行的背书;
步骤304,基于对所述每个用户背书的其他用户的置信度更新所述每个用户的传播分;
步骤306,基于对所述每个用户背书的其他用户的传播分更新所述每个用户的置信度。
在本实施例中,区块链节点执行端或客户端逐个遍历上述已有用户和上述待背书的用户,对于每个用户的置信信息,接收其他用户的背书。在接收了其他用户的背书之后,基于对所述每个用户背书的其他用户的置信度更新所述每个用户的传播分,基于对所述每个用户背书的其他用户的传播分更新所述每个用户的置信度。采用上述计算方式,每个用户的置信度和传播分在每一次的迭代过程中均会发生动态更新,因此本实施例所提供的计算方法需要预先设定收敛条件以终止上述迭代过程,从而获取收敛状态下每个用户的置信度和传播分。上述收敛条件可依据具体的计算数值范围、或应用场景而定,例如,收敛条件可以设定为在相邻的两次迭代过程中,所获得的每个用户的置信度或传播分的差值不大于预设的阈值,或者,依据计算经验,在经历过预设阈值次数的迭代过程后,用户的置信度或传播分会基于收敛,因此可将收敛条件设定为迭代次数不小于预设的阈值。
与前述实施例中待背书用户获取其传播分及置信度的过程类似,上述每个用户的传播分和置信度也可以由上述实施例所示的公式计算得出:
类似的,hub(n)为用户n的传播分,in(n)为对用户n进行背书的其他用户的集合,count(i)为对用户n进行背书的其他用户的总和,authority(i)为对用户n进行背书的其他用户的置信度。
类似的,authority(n)为用户n的置信度,该置信度是基于对用户n进行被书的其他用户的传播分hub(i)计算得出的。在此不再赘述。
当然,基于大数据学习基础,每个用户的传播分hub(n)和置信度authority(n)也可通过机器学习模型拟合得到。
在上述收敛条件满足后,区块链节点执行端或客户端可将最终收敛的、各用户的置信度和传播分上传于区块链的分布式数据库中,以在区块链中进行存证备份。
在又一示出的实施例中,为更多引入丰富的特征来优化提升用户的置信度评价,本实施例所述的区块链的分布式数据库内还包括有所述已有用户的置信信息,上述基于对所述每个用户背书的其他用户的传播分更新所述每个用户的置信度的过程,还可包括:获取对所述每个用户背书的其他用户的置信信息,基于所述其他用户的置信信息,获得对所述每个用户背书的其他用户与所述每个用户的相似度;基于所述相似度和所述对所述每个用户背书的其他用户的传播分更新所述每个用户的置信度。
例如,
其中,参数ki,n用于衡量对每个用户n背书的其他公户i与用户n的相似度,条件之一sim(i)=sim(n),是指两个用户的置信信息相同,如学历信息等,则其背书更能提高每个用户n的置信度。
上述多个实施例所提供的基于区块链的获得用户置信度的方法,通常建立在区块链的分布式数据库所存储的用户样本量满足预设个数的情况下,亦即,上述方法适用于足够多用户样本系统。对于区块链的分布式数据库所存储的用户样本还未达到预设个数时,执行用户置信度获取的区块链节点或客户端并不执行上述各实施例所述的方法以获取用户的置信度,而是选取一种“冷启动”的初始化机制——在初始化用户个数不满足预设个数时,不执行冷启动;待初始化用户个数满足预设个数后,执行所述预设个数的初始化用户的置信度的获取步骤,包括:
将所述预设个数的初始化用户的置信度设置为初始值;
迭代进行如下步骤,直至满足预设的收敛条件:
遍历所有的预设个数的初始化用户,基于每个初始化用户的置信信息,接收其他初始化用户对所述每个初始化用户的背书;
基于对所述每个初始化用户背书的其他初始化用户的置信度获得所述每个初始化用户的传播分;
基于对所述每个初始化用户背书的其他初始化用户的传播分更新所述每个初始化用户的置信度。
经过上述初始化冷启动过程,即可获得区块链的分布式数据库所存储的初始化用户的置信度和传播分,以供以后基于上述初始化用户的置信度和传播分执行上述各实施例所述的用户置信度的获取方法。
类似地,上述初始化用户的置信度的获取步骤中所设置的收敛条件也可包括在相邻的两次迭代过程中,所获得的每个用户的置信度或传播分的差值不大于预设的阈值;或迭代次数不小于预设的阈值。
类似地,在又一示出的实施例中,上述区块链的分布式数据库中还存储有上述初始化用户的置信信息,基于对所述每个初始化用户背书的其他初始化用户的传播分更新所述每个初始化用户的置信度的过程,包括:获取对所述每个初始化用户背书的其他初始化用户的置信信息,基于所述其他初始化用户的置信信息获得对所述每个初始化用户背书的其他初始化用户与所述每个初始化用户的相似度;基于所述相似度和对所述每个初始化用户背书的其他初始化用户的传播分更新所述每个初始化用户的置信度。
上述各实施例所提供的基于区块链的获得用户置信度的方法,将上述获取用户的置信度的方法应用于区块链网络中,基于区块链技术的分布式数据库存储机制,将用户的置信度和传播分、或置信信息、或背书数据均去中心化地记录在所有节点中,由所有参与方的节点共同维护,所有数据记录可回溯,而且,基于区块链的共识机制,用户的置信度和传播分、置信信息、及背书数据不会在提供后被篡改,从而保证了依托于背书数据、置信度、传播分、或置信信息计算的用户的置信度的真实性。
在本说明书示出的一个或多个实施例中,为了进一步保证获取用户置信度的过程真实有效、公平公正,可调用运行在区块链上的智能合约执行上述各实施例所述的、基于区块链的获得用户置信度的方法中,区块链的节点或客户端所执行的所有步骤。上述智能合约所执行的具体的步骤,上述多个实施例已详细展示,在此不再赘述。上述智能合约经区块链的节点验证后被部署上链,从而保证智能合约所声明的执行程序经过区块链系统节点的共识,公开透明。相比于中心化的服务器运行方式,智能合约在任何时候应相应用户的请求而调用,大大提升置信度计算的效率;且智能合约执行有着较低的人为干预、去中心化权威的优势,更加增加了计算行为的公平性。
与上述流程实现对应,本说明书的实施例还提供了一种获得网络中用户的置信度的装置50、一种基于区块链的获得用户置信度的装置60和一种基于区块链的获得用户置信度的装置70。上述装置50、60、70均可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为逻辑意义上的装置,是通过所在设备的CPU(CentralProcess Unit,中央处理器)将对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,除了图8所示的CPU、内存以及存储器之外,网络风险业务的实现装置所在的设备通常还包括用于进行无线信号收发的芯片等其他硬件,和/或用于实现网络通信功能的板卡等其他硬件。
图5所示为一种获取网络中用户的置信度的装置50,所述网络中包括多个已获得置信度和传播分的已有用户,包括:
接收单元502,接收待背书用户的置信信息;
基于所述置信信息,接收网络中第一级已有用户对所述待背书用户的背书,所述第一级已有用户是对所述待背书用户直接进行背书的用户;
计算获得单元504,基于所述第一级已有用户的传播分获得所述待背书用户的置信度,其中,所述第一级已有用户的传播分是基于对所述第一级已有用户进行背书的第二级已有用户的置信度获得。
在又一示出的实施例中,所述计算获得单元:
基于所述第一级已有用户的置信信息和所述待背书用户的置信信息,获得所述第一级已有用户与所述待背书用户的相似度;
基于所述相似度和所述第一级已有用户的传播分获得所述待背书用户的置信度。
在又一示出的实施例中,所述计算获得单元:
基于所述第一级已有用户的置信度获得所述待背书用户的传播分,以在所述待背书用户对其他用户进行背书后、计算所述其他用户的置信度时使用。
在又一示出的实施例中,所述的装置50还包括确定单元506:
确定所述待背书用户是否对网络中已有用户进行背书;
如果否,
输出所述待背书用户的置信度;
如果是,
所述计算获得单元504:迭代进行如下步骤,直至满足预设的收敛条件后,输出所述已有用户和所述待背书用户的置信度:
遍历网络中的所述已有用户和所述待背书用户,基于每个用户的置信信息,接收其他用户对所述每个用户进行的背书;
基于对所述每个用户背书的其他用户的置信度更新所述每个用户的传播分;
基于对所述每个用户背书的其他用户的传播分更新所述每个用户的置信度。
在又一示出的实施例中,所述计算获得单元504:
基于所述每个用户和所述其他用户的置信信息,获得所述每个用户背书的其他用户与所述每个用户的相似度;
基于所述相似度和所述对所述每个用户背书的其他用户的传播分更新所述每个用户的置信度。
在又一示出的实施例中,所述已获得置信度的已有用户包括预设个数的初始化用户,所述计算获得单元504:
将所述预设个数的初始化用户的置信度设置为初始值;
迭代进行如下步骤,直至满足预设的收敛条件:
遍历网络中的所有的预设个数的初始化用户,基于每个初始化用户的置信信息,接收其他初始化用户对所述每个初始化用户的背书;
基于对所述每个初始化用户背书的其他初始化用户的置信度获得所述每个初始化用户的传播分;
基于对所述每个初始化用户背书的其他初始化用户的传播分更新所述每个初始化用户的置信度。
在又一示出的实施例中,所述所述计算获得单元504:
基于初始化用户的置信信息,获得对所述每个初始化用户背书的其他初始化用户与所述每个初始化用户的相似度;
基于所述相似度和对所述每个初始化用户背书的其他初始化用户的传播分更新所述每个初始化用户的置信度。
在又一示出的实施例中,所述收敛条件包括:
在相邻的两次迭代过程中,所获得的每个用户的置信度或传播分的差值不大于预设的阈值;
或迭代次数不小于预设的阈值。
相应地,如图6所示,本说明书还提供了一种基于区块链的用户置信度的获取装置60,所述区块链的分布式数据库中备份有多个已有用户的置信度和传播分,所述装置60包括:
获取单元602,从所述区块链的分布式数据库中获取待背书用户的置信信息;
从所述区块链的分布式数据库中获取第一级已有用户基于所述置信信息对所述待背书用户的背书数据,所述第一级已有用户是对所述待背书用户直接进行背书的用户;
从所述区块链的分布式数据库中获取所述第一级已有用户的传播分;
计算获得单元604,基于所述第一级已有用户的传播分获得所述待背书用户的置信度,其中,所述第一级已有用户的传播分是基于对所述第一级已有用户进行背书的第二级已有用户的置信度获得。
在又一示出的实施例中,所述的区块链的分布式数据库内还包括有所述已有用户的置信信息;所述计算获得单元:
获取所述第一级已有用户的置信信息;
基于所述第一级已有用户的置信信息和所述待背书用户的置信信息,获得所述第一级已有用户与所述待背书用户的相似度;
基于所述相似度和所述第一级已有用户的传播分获得所述待背书用户的置信度。
在又一示出的实施例中,所述计算获得单元:
基于所述第一级已有用户的置信度获得所述待背书用户的传播分,以在所述待背书用户对其他用户进行背书后、计算所述其他用户的置信度时使用。
在又一示出的实施例中,所述装置60还包括确定单元606,确定所述待背书用户是否对所述已有用户进行背书;
所述计算获得单元604迭代进行如下步骤,直至满足预设的收敛条件后,输出所述已有用户和所述待背书用户的置信度:
遍历所述已有用户和所述待背书用户,基于每个用户的置信信息,接收其他用户对所述每个用户进行的背书;
基于对所述每个用户背书的其他用户的置信度更新所述每个用户的传播分;
基于对所述每个用户背书的其他用户的传播分更新所述每个用户的置信度。
在又一示出的实施例中,所述的区块链的分布式数据库内还包括有所述已有用户的置信信息;
所述计算获得单元604:
获取对所述每个用户背书的其他用户的置信信息;
基于所述其他用户的置信信息,获得对所述每个用户背书的其他用户与所述每个用户的相似度;
基于所述相似度和所述对所述每个用户背书的其他用户的传播分更新所述每个用户的置信度。
在又一示出的实施例中,所述已获得置信度的已有用户包括预设个数的初始化用户,所述计算获得单元604:
将所述预设个数的初始化用户的置信度设置为初始值;
迭代进行如下步骤,直至满足预设的收敛条件:
遍历所有的预设个数的初始化用户,基于每个初始化用户的置信信息,接收其他初始化用户对所述每个初始化用户的背书;
基于对所述每个初始化用户背书的其他初始化用户的置信度获得所述每个初始化用户的传播分;
基于对所述每个初始化用户背书的其他初始化用户的传播分更新所述每个初始化用户的置信度。
在又一示出的实施例中,上述区块链的分布式数据库中还存储有上述初始化用户的置信信息;
所述计算获得单元604:
获取对所述每个初始化用户背书的其他初始化用户的置信信息;
基于所述其他初始化用户的置信信息,获得对所述每个初始化用户背书的其他初始化用户与所述每个初始化用户的相似度;
基于所述相似度和对所述每个初始化用户背书的其他初始化用户的传播分更新所述每个初始化用户的置信度。
在又一示出的实施例中,所述收敛条件包括:
在相邻的两次迭代过程中,所获得的每个用户的置信度或传播分的差值不大于预设的阈值;
或迭代次数不小于预设的阈值。
相应的,本说明书还提供了一种基于区块链的用户置信度的获取装置70,所述区块链的分布式数据库中备份有多个已有用户的置信度和传播分,如图7所示,所述装置70包括:
智能合约调用单元702,调用部署在所述区块链上的智能合约,执行所述智能合约声明的如上述基于区块链的获得用户置信度的方法所对应的程序,获取用户的置信度。
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,相关之处参见方法实施例的部分说明即可,在此不再赘述。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部单元或模块来实现本说明书方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
上述实施例阐明的装置、单元、模块,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
与上述方法实施例相对应,本说明书的实施例还提供了一种计算机设备,该计算机设备包括存储器和处理器。其中,存储器上存储有能够由处理器运行的计算机程序;处理器在运行存储的计算机程序时,执行本说明书实施例中获得网络中用户的置信度的方法的各个步骤。对获得网络中用户的置信度的方法的各个步骤的详细描述请参见之前的内容,不再重复。
与上述方法实施例相对应,本说明书的实施例还提供了一种计算机设备,该计算机设备包括存储器和处理器。其中,存储器上存储有能够由处理器运行的计算机程序;处理器在运行存储的计算机程序时,执行本说明书实施例中基于区块链的获得用户置信度的方法的各个步骤。对基于区块链的获得用户置信度的方法的各个步骤的详细描述请参见之前的内容,不再重复。
以上所述仅为本说明书的较佳实施例而已,并不用以限制本说明书,凡在本说明书的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书保护的范围之内。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。
计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本说明书的实施例可提供为方法、系统或计算机程序产品。因此,本说明书的实施例可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本说明书的实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。