会员体验
专利管家(专利管理)
工作空间(专利管理)
风险监控(情报监控)
数据分析(专利分析)
侵权分析(诉讼无效)
联系我们
交流群
官方交流:
QQ群: 891211   
微信请扫码    >>>
现在联系顾问~
首页 / 专利库 / 区块链处理实体 / 基于相似度值的实体编码方法、装置、设备及存储介质

基于相似度值的实体编码方法、装置、设备及存储介质

申请号 CN202010526992.7 申请日 2020-06-11 公开(公告)号 CN111444307B 公开(公告)日 2020-09-22
申请人 平安国际智慧城市科技股份有限公司; 发明人 崔德冠;
摘要 本发明涉及一种大数据技术领域,应用于智慧政务,揭露一种基于相似度值的实体编码方法、装置、设备及存储介质,其中方法包括:获取实体目录,并遍历实体目录,对实体目录执行去重处理,得到每个实体均具有唯一性的基础实体目录;对基础实体目录中的实体进行冲突检测,并判断实体冲突的类型,得到实体冲突类型,然后根据实体冲突类型,得到目标实体,并根据目标实体,对发生实体冲突对应的实体进行重新命名和编码。本发明还涉及区块链技术,结果数据存储于区块链中。本发明识别实体编码错误,以提高实体编码准确性。
权利要求

1.一种基于相似度值的实体编码方法,其特征在于,包括:

获取实体目录,其中,所述实体目录包含若干实体,所述实体包括实体名称和所述实体名称对应的实体编码;

遍历所述实体目录,并对所述实体目录中每个实体的唯一性进行检测,若存在不具备唯一性的实体,则执行去重处理,得到每个实体均具有唯一性的基础实体目录,其中,唯一性通过所述实体名称和所述实体编码的对应关系来确定;

对所述基础实体目录中的实体进行冲突检测,得到冲突检测结果,若所述冲突检测结果为存在实体冲突,则判断所述实体冲突的冲突类型,得到实体冲突类型,其中,所述实体冲突类型包括:所述实体名称没有对应的所述实体编码、一个所述实体名称对应多个所述实体编码、多个所述实体名称对应一个所述实体编码、所述实体编码没有对应所述实体名称;

根据所述实体冲突类型,得到目标实体,并根据所述目标实体,对发生所述实体冲突对应的实体进行重新命名和编码;

其中,根据所述实体冲突类型,得到目标实体,并根据所述目标实体,对发生所述实体冲突对应的实体进行重新命名和编码包括:若所述实体冲突类型为实体名称缺乏对应的实体编码,则将发生实体冲突的实体作为第一冲突实体,将没有发生实体冲突的实体作为第一基础实体;

统计所述第一冲突实体与每个所述第一基础实体的相似度值,得到第一相似度值集;

获取所述第一相似度集中数值最大的相似度值,作为目标相似度值,并判断所述目标相似度值是否高于预设阈值,若高于所述预设阈值,则判定所述目标相似度值所对应的两个实体为同一实体,并通过所述目标相似度值对应的第一基础实体对所述第一冲突实体进行编码。

2.根据权利要求1所述的基于相似度值的实体编码方法,其特征在于,在所述获取实体目录之前,所述方法还包括:获取待编码数据,对所述待编码数据进行预处理,得到结果数据;

通过正则匹配的方式,对所述结果数据进行正则匹配,并根据匹配成功的数据生成所述实体目录。

3.根据权利要求1所述的基于相似度值的实体编码方法,其特征在于,所述实体冲突类型为相同的实体名称对应不同的实体编码,所述方法还包括:将发生实体冲突的实体作为第二冲突实体,并将所述第二冲突实体进行两两组合,得到第二冲突实体组合;

统计每个第二冲突实体组合中两个实体的相似度值,得到第二相似度集;

判断所述第二相似度集中是否存在高于预设阈值的相似度值,若存在,则判定相似度值高于所述预设阈值所对应的第二冲突组合中的两个实体为同一实体,并按照预设的方式对所述第二冲突实体进行重新编码。

4.根据权利要求1所述的基于相似度值的实体编码方法,其特征在于,所述实体冲突类型为不同的实体名称对应相同的实体编码,所述方法还包括:将发生实体冲突的实体作为第三冲突实体,并将所述第三冲突实体进行两两组合,得到第三冲突实体组合;

统计每个所述第三冲突实体组合中的两个实体的相似度值,得到第三相似度集;

判断所述第三相似度集中是否存在低于预设阈值的相似度值,若存在,则判定相似度值低于所述预设阈值所对应的第三冲突实体组合中的两个实体为不同实体,并按照预设的方式对所述第三冲突实体进行重新编码。

5.根据权利要求1所述的基于相似度值的实体编码方法,其特征在于,所述实体冲突类型为所述实体编码没有对应的所述实体名称,所述方法还包括:将发生实体冲突的实体作为第四冲突实体,将没有发生实体冲突的实体作为第二基础实体;

统计所述第四冲突实体与每个所述第二基础实体的相似度值,得到第四相似度值集;

获取所述第四相似度集中数值最大的相似度值,作为对比相似度值,并判断所述对比相似度值是否高于预设阈值,若高于所述预设阈值,则判定所述对比相似度值所对应的两个实体为同一实体,并通过所述对比相似度值对应的实体名称对所述第四冲突实体进行命名。

6.根据权利要求1所述的基于相似度值的实体编码方法,其特征在于,

所述第一冲突实体与没有发生所述实体冲突的实体的相似度值为β,

其中,β∈[0,1],K是指用于计算所述相似度值的K个特征因素,K>=1,ak是第k个特征因素的权重,ak>0且 sk为第k个因素的相似度值。

7.一种基于相似度值的实体编码装置,其特征在于,包括:

实体目标获取模块,用于获取实体目录,其中,所述实体目录包含若干实体,所述实体包括实体名称和所述实体名称对应的实体编码;

实体目录检测模块,用于遍历所述实体目录,并对所述实体目录中每个实体的唯一性进行检测,若存在不具备唯一性的实体,则执行去重处理,得到每个实体均具有唯一性的基础实体目录,其中,唯一性通过所述实体名称和所述实体编码的对应关系来确定;

实体冲突检测模块,用于对所述基础实体目录中的实体进行冲突检测,得到冲突检测结果,若所述冲突检测结果为存在实体冲突,则判断所述实体冲突的冲突类型,得到实体冲突类型,其中,所述实体冲突类型包括:所述实体名称没有对应的所述实体编码、一个所述实体名称对应多个所述实体编码、多个所述实体名称对应一个所述实体编码、所述实体编码没有对应所述实体名称;

实体冲突编码模块,用于根据所述实体冲突类型,得到目标实体,并根据所述目标实体,对发生所述实体冲突对应的实体进行重新命名和编码;

其中:所述实体冲突编码模块包括:

第一冲突实体确定单元,用于若所述实体冲突类型为实体名称缺乏对应的实体编码,则将发生实体冲突的实体作为第一冲突实体,将没有发生实体冲突的实体作为第一基础实体;

第一相似度值集统计单元,用于统计所述第一冲突实体与每个所述第一基础实体的相似度值,得到第一相似度值集;

第一冲突实体编码单元,用于获取所述第一相似度集中数值最大的相似度值,作为目标相似度值,并判断所述目标相似度值是否高于预设阈值,若高于所述预设阈值,则判定所述目标相似度值所对应的两个实体为同一实体,并通过所述目标相似度值对应的第一基础实体对所述第一冲突实体进行编码。

8.一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器执行所述计算机程序时实现如权利要求1至6中任一项所述的基于相似度值的实体编码方法。

9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至6中任一项所述的基于相似度值的实体编码方法。

说明书全文

基于相似度值的实体编码方法、装置、设备及存储介质

技术领域

[0001] 本申请涉及大数据技术领域,尤其涉及基于相似度值的实体编码方法、装置、设备及存储介质。

背景技术

[0002] 实体(Entity)是对现实对象的一种抽象与概括,实体可以是人、商品、企业、项目等。为实现对实体信息进行有效管理和应用,企业往往对实体赋予一个统一的编码(如对个人信息的管理,每个人都有唯一身份证号码进行识别)。在一些多个子部门协作的集团公司或者机构,由于其内部结构复杂,每个子部门(子机构)往往根据业务需要,采用其自己独立的编码方式,如此,使得这些集团公司或机构的实体与编码的关系一般有以下特点:(1)每个编码标识唯一一个实体;(2)不同实体可能有相同名称,但每个实体只有唯一一个编码;(3)即使是同一个实体,也可能有多个不同的名称;(4)不同的系统可能存在多套编码体系等。这导致实际对海量数据的实体信息进行管理过程中,会出现实体与编码出现冲突的情况,即每个实体不是对应唯一一个编码。
[0003] 为解决海量数据的实体信息管理过程中,会出现实体冲突的情况,即实体名称和实体编码缺乏唯一对应的关系,目前针对出现实体冲突的解决方式是,提取发生实体冲突的特征信息和位置信息,与预先设置的错误编码表进行特征信息和位置信息的匹配,从而获取发生实体冲突的实体名称和实体编码;但是对于海量数据而言,实体信息来自不同渠道,导致实体的特征信息和位置信息难于获取,从而导致实体编码的准确性降低。现亟需一种能够识别实体编码错误,提高实体编码准确性的方法。

发明内容

[0004] 本申请实施例的目的在于提出一种基于相似度值的实体编码方法,能够识别实体编码错误,以提高实体编码准确性。
[0005] 为了解决上述技术问题,本申请实施例提供一种基于相似度值的实体编码方法,包括:
[0006] 获取实体目录,其中,所述实体目录包含若干实体,所述实体包括实体名称和所述实体名称对应的实体编码;
[0007] 遍历所述实体目录,并对所述实体目录中每个实体的唯一性进行检测,若存在不具备唯一性的实体,则执行去重处理,得到每个实体均具有唯一性的基础实体目录,其中,唯一性通过所述实体名称和所述实体编码的对应关系来确定;
[0008] 对所述基础实体目录中的实体进行冲突检测,得到冲突检测结果,若所述冲突检测结果为存在实体冲突,则判断所述实体冲突的冲突类型,得到实体冲突类型;
[0009] 根据所述实体冲突类型,得到目标实体,并根据所述目标实体,对发生所述实体冲突对应的实体进行重新命名和编码。
[0010] 进一步的,在所述获取实体目录之前,所述方法还包括:
[0011] 获取待编码数据,对所述待编码数据进行预处理,得到结果数据;
[0012] 通过正则匹配的方式,对所述结果数据进行正则匹配,并根据匹配成功的数据生成所述实体目录。
[0013] 进一步的,所述根据所述实体冲突类型,得到目标实体,并根据所述目标实体,对发生所述实体冲突对应的实体进行重新命名和编码包括:
[0014] 若所述实体冲突类型为实体名称缺乏对应的实体编码,则将发生实体冲突的实体作为第一冲突实体,将没有发生实体冲突的实体作为第一基础实体;
[0015] 统计所述第一冲突实体与每个所述第一基础实体的相似度值,得到第一相似度值集;
[0016] 获取所述第一相似度集中数值最大的相似度值,作为目标相似度值,并判断所述目标相似度值是否高于预设阈值,若高于所述预设阈值,则判定所述目标相似度值所对应的两个实体为同一实体,并通过所述目标相似度值对应的第一基础实体对所述第一冲突实体进行编码。
[0017] 进一步的,所述根据所述实体冲突类型,得到目标实体,并根据所述目标实体,对发生所述实体冲突对应的实体进行重新命名和编码还包括:
[0018] 若所述实体冲突类型为相同的实体名称对应不同的实体编码,则将发生实体冲突的实体作为第二冲突实体,并将所述第二冲突实体进行两两组合,得到第二冲突实体组合;
[0019] 统计每个第二冲突实体组合中两个实体的相似度值,得到第二相似度集;
[0020] 判断所述第二相似度集中是否存在高于预设阈值的相似度值,若存在,则判定相似度值高于所述预设阈值所对应的第二冲突组合中的两个实体为同一实体,并按照预设的方式对所述第二冲突实体进行重新编码。
[0021] 进一步的,所述根据所述实体冲突类型,得到目标实体,并根据所述目标实体,对发生所述实体冲突对应的实体进行重新命名和编码还包括:
[0022] 若所述实体冲突类型为不同的实体名称对应相同的实体编码,则将发生实体冲突的实体作为第三冲突实体,并将所述第三冲突实体进行两两组合,得到第三冲突实体组合;
[0023] 统计每个所述第三冲突实体组合中的两个实体的相似度值,得到第三相似度集;
[0024] 判断所述第三相似度集中是否存在低于预设阈值的相似度值,若存在,则判定相似度值低于所述预设阈值所对应的第三冲突实体组合中的两个实体为不同实体,并按照预设的方式对所述第三冲突实体进行重新编码。
[0025] 进一步的,所述根据所述实体冲突类型,得到目标实体,并根据所述目标实体,对发生所述实体冲突对应的实体进行重新命名和编码还包括:
[0026] 若所述实体冲突类型为所述实体编码没有对应的所述实体名称,则将发生实体冲突的实体作为第四冲突实体,将没有发生实体冲突的实体作为第二基础实体;
[0027] 统计所述第四冲突实体与每个所述第二基础实体的相似度值,得到第四相似度值集;
[0028] 获取所述第四相似度集中数值最大的相似度值,作为对比相似度值,并判断所述对比相似度值是否高于预设阈值,若高于所述预设阈值,则判定所述对比相似度值所对应的两个实体为同一实体,并通过所述对比相似度值对应的实体名称对所述第四冲突实体进行命名。
[0029] 进一步的,所述第一冲突实体与没有发生所述实体冲突的实体的相似度值为β,,其中, β∈[0,1],K是指用于计算所述相似度值的K个特征因素,K>=1,ak是第k个特征因素的权重,ak>0且  =1,sk为第k个因素的相似度值。
[0030] 为解决上述技术问题,本发明采用的一个技术方案是:提供一种基于相似度值的实体编码装置,包括:
[0031] 实体目标获取模块,用于获取实体目录,其中,所述实体目录包含若干实体,所述实体包括实体名称和所述实体名称对应的实体编码;
[0032] 实体目录检测模块,用于遍历所述实体目录,并对所述实体目录中每个实体的唯一性进行检测,若存在不具备唯一性的实体,则执行去重处理,得到每个实体均具有唯一性的基础实体目录,其中,唯一性通过所述实体名称和所述实体编码的对应关系来确定;
[0033] 实体冲突检测模块,用于对所述基础实体目录中的实体进行冲突检测,得到冲突检测结果,若所述冲突检测结果为存在实体冲突,则判断所述实体冲突的冲突类型,得到实体冲突类型;
[0034] 实体冲突编码模块,用于根据所述实体冲突类型,得到目标实体,并根据所述目标实体,对发生所述实体冲突对应的实体进行重新命名和编码。
[0035] 为解决上述技术问题,本发明采用的一个技术方案是:提供一种计算机设备,包括,一个或多个处理器;存储器,用于存储一个或多个程序,使得一个或多个处理器实现上述任意一项所述的基于相似度值的实体编码方案。
[0036] 为解决上述技术问题,本发明采用的一个技术方案是:一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意一项所述的基于相似度值的实体编码方案。
[0037] 以上方案中的一种基于相似度值的实体编码方法,通过对获取的实体目录进行唯一性检测,并进行去重处理,得到基础实体目录,再对基础实体目录进行冲突检测,判断冲突检测的冲突类型,根据不同的冲突类型,得到目标实体,根据目标实体,对发生实体冲突对应的实体进行重新命名和编码,从而解决基础实体目录发生的冲突,有利于提高海量数据的实体目录解决实体冲突的效率,提高实体编码的准确性。

附图说明

[0038] 为了更清楚地说明本申请中的方案,下面将对本申请实施例描述中所需要使用的附图作一个简单介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0039] 图1是本申请实施例提供的基于相似度值的实体编码方法的应用环境示意图;
[0040] 图2根据本申请实施例提供的基于相似度值的实体编码方法的一实现流程图;
[0041] 图3是本申请实施例提供的基于相似度值的实体编码方法中步骤S1之前的一实现流程图;
[0042] 图4是本申请实施例提供的基于相似度值的实体编码方法中步骤S4的一实现流程图;
[0043] 图5是本申请实施例提供的基于相似度值的实体编码方法中步骤S4的另一实现流程图;
[0044] 图6是本申请实施例提供的基于相似度值的实体编码方法中步骤S4的又一实现流程图;
[0045] 图7是本申请实施例提供的基于相似度值的实体编码方法中步骤S4的还一实现流程图;
[0046] 图8是本申请实施例提供的基于相似度值的实体编码装置示意图;
[0047] 图9是本申请实施例提供的计算机设备的示意图。

具体实施方式

[0048] 除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同;本文中在申请的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本申请;本申请的说明书和权利要求书及上述附图说明中的术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。本申请的说明书和权利要求书或上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。
[0049] 在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
[0050] 为了使本技术领域的人员更好地理解本申请方案,下面将结合附图,对本申请实施例中的技术方案进行清楚、完整地描述。
[0051] 下面结合附图和实施方式对本发明进行详细说明。
[0052] 请参阅图1,系统架构100可以包括终端设备101、102、103,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
[0053] 用户可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。终端设备101、102、103上可以安装有各种通讯客户端应用,例如网页浏览器应用、搜索类应用、即时通信工具等。
[0054] 终端设备101、102、103可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
[0055] 服务器105可以是提供各种服务的服务器,例如对终端设备101、102、103上显示的页面提供支持的后台服务器。
[0056] 需要说明的是,本申请实施例所提供的一种基于相似度值的实体编码方法一般由服务器执行,相应地,一种基于相似度值的实体编码装置一般设置于服务器中。
[0057] 应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
[0058] 请参阅图2,图2示出了基于相似度值的实体编码方法的一种具体实施方式。
[0059] 需注意的是,若有实质上相同的结果,本发明的方法并不以图2所示的流程顺序为限,该方法包括如下步骤:
[0060] S1:获取实体目录,其中,实体目录包含若干实体,实体包括实体名称和实体名称对应的实体编码。
[0061] 具体的,将一个实体名称和实体名称所对应的实体编码作为一个实体;在实体目录中,由一个个的实体名称和实体编码的实体组成,每一个实体名称和对应的实体编码都是对应同一个实体。
[0062] 其中,实体(Entity)是对现实对象的一种抽象与概括,实体可以是人、商品、企业、项目等。
[0063] S2:遍历实体目录,并对实体目录中每个实体的唯一性进行检测,若存在不具备唯一性的实体,则执行去重处理,得到每个实体均具有唯一性的基础实体目录,其中,唯一性通过实体名称和实体编码的对应关系来确定。
[0064] 具体的,由于实体目录的构建来自不同的部门、系统或者行业数据,故同一个实体可能存在不同的部门、系统或者行业数据中,所以在构建实体目录的过程中,同一个实体可能存在重复编码,导致存在至少两项实体名称与实体编码均相同的实体。所以为了实现同一个实体在实体目录中只记录一个,将重复的实体,只保留一个,得到基础实体目录。
[0065] 其中,基础实体目录记录着不同的实体,每个不同实体都只存在一个,每个实体都有对应的实体名称和实体编码构成。
[0066] 其中,去重处理是指实体目录存在两个或者两个以上的实体具有相同的实体名称和实体编码时,删除重复的实体,只保留一个。
[0067] 其中,唯一性是指实体目录中,每个实体都只存在一个,若存在两个实体,实体名称相同,并且实体编码也相同,则这两个实体为重复实体,不具备唯一性。
[0068] S3:对基础实体目录中的实体进行冲突检测,得到冲突检测结果,若冲突检测结果为存在实体冲突,则判断实体冲突的冲突类型,得到实体冲突类型。
[0069] 具体的,由于实体目录的构建来自不同的部门、系统或者行业数据,并且构建实体目录的数据较大,可能会出现实体名称与编码冲突的实体。故对基础实体目录进行冲突检测,冲突检测是否存在实体名称与编码冲突的实体,实体冲突是指每个实体名称和每个实体编码缺乏唯一的对应关系。通过对基础实体目录的检测,检测基础实体目录是否出现了实体冲突,并且能够锁定是哪些项目出现了冲突,并判断实体冲突发生何种冲突,有利于后续对应冲突的项目的处理。
[0070] 其中,实体冲突的类型包括:实体名称没有对应的实体编码、一个实体名称对应多个实体编码、多个实体名称对应一个实体编码、实体编码没有对应实体名称。通过判断冲突实体是存在何种的冲突,采用不同的处理手段,用以解决存在实体冲突。
[0071] 其中,冲突检测是指通过预设的指令遍历基础实体目录,检测基础实体目录中的实体名称和实体编码是否存在唯一对应关系,从而判断实体目录中是否存在实体冲突。
[0072] S4:根据实体冲突类型,得到目标实体,并根据目标实体,对发生实体冲突对应的实体进行重新命名和编码。
[0073] 其中,目标实体为与发生实体冲突对应的实体相同的实体。该目标实体具有实体名称和实体编码。
[0074] 在本方案中,通过对获取的实体目录进行唯一性检测,并进行去重处理,得到基础实体目录,再对基础实体目录进行冲突检测,判断冲突检测的冲突类型,根据不同的冲突类型,得到目标实体,根据目标实体,对发生实体冲突对应的实体进行重新命名和编码,从而解决基础实体目录发生的冲突,有利于提高海量数据的实体目录解决实体冲突的效率,提高实体编码的准确性。
[0075] 请参阅图3,图3示出了步骤S1之前的一种具体实施方式,包括:
[0076] S01:获取待编码数据,对待编码数据进行预处理,得到结果数据。
[0077] 具体的,获取待编码数据,通过对跨部门、跨系统、行业数据等等的集成,实现对待编码数据的获取,并将待编码数据存储到数据库中,如果待编码数据为海量大数据,则存储到HDFS分布式文件系统中。并对待编码数据进行预处理,得到结果数据。
[0078] 其中,预处理包括对待编码数据进行数据清理等,使得待编码数据保持一致性。
[0079] 其中,待编码数据为需要进行实体命名和实体编码的数据,从而生成实体目录。例如部门、跨系统、行业等等项目的数据,每一个项目都对应一个实体,这些项目有些具有项目名称和项目编码;有些只有项目名称,而没有项目编码;有些只有项目编码,而没有项目名称;项目名称对应本发明的实体名称,项目编码对应本发明的实体编码。待编码数据需要整理后,生成实体目录。
[0080] 需要强调的是,为进一步保证上述结果数据的私密和安全性,上述结果数据还可以存储于一区块链的节点中。
[0081] S02:通过正则匹配的方式,对结果数据进行正则匹配,并根据匹配成功的数据生成实体目录。
[0082] 具体的,对结果数据,通过正则匹配的方式,构建实体目录,实现对数据的统一,使得每个实体都有唯一的实体名称和实体编码。
[0083] 其中,正则匹配是将实体的实体名称和实体编码一一对应,对于没有实体名称或者没有实体编码的实体,按照预先的命名规则或者预先的编码规则进行补充,使所有的实体的实体名称和实体编码都一一对应。然后根据实体的实体名称和实体编码都一一对应,生成实体目标。
[0084] 例如:数据格式处理:统一将英文格式括号改为中文格式括号;连接符处理:如“”,“-”,“—”,“_”等;特殊字符:如“#”、空格、tab键、换行符等;编码规则:使用相同的编码~规则,使得编码的具有唯一性。
[0085] 本实施例中,通过获取待编码数据,对待编码数据进行预处理,得到结果数据,结果数据存储于区块链中,并通过正则匹配的方式,对结果数据进行正则匹配,并根据匹配成功的数据生成实体目录,实现构建实体目标,便于后续识别实体目录中存在的实体冲突,提高提高实体编码的准确性。
[0086] 请参阅图4,图4示出了步骤S4一具体实现方式,包括:
[0087] S411:若实体冲突类型为实体名称缺乏对应的实体编码,则将发生实体冲突的实体作为第一冲突实体,将没有发生实体冲突的实体作为第一基础实体。
[0088] 具体的,判断出实体冲突的类型为实体名称没有对应的实体编码的冲突,即在基础实体目录中的实体,实体名称对应的实体编码为空,没有实体编码,并将该实体作为第一冲突实体,将没有发生实体冲突的实体作为第一基础实体。
[0089] S412:统计第一冲突实体与每个第一基础实体的相似度值,得到第一相似度值集。
[0090] 具体的,将该实体对应的第一冲突实体与第一基础实体进行相似度值的计算,得到第一冲突实体与第一基础实体的相似度值,将其集合在一个集合中,得到第一相似度值集。
[0091] 其中,第一相似度值集为第一冲突实体与第一基础实体的相似度值的集合。
[0092] 其中,相似度值的计算包括但不限于:闵可夫斯基距离(Minkowski Distance)、曼哈顿距离(Manhattan Distance)、欧氏距离(Euclidean Distance)、余弦相似度、汉明距离等。
[0093] 需要注意的是,这些距离计算相似度的量纲不统一,需将具体相似度结果映射到[0,1]区间,使得相似度值越大,说明两个实体之间的越可能是同一个实体。
[0094] S413:获取第一相似度集中数值最大的相似度值,作为目标相似度值,并判断目标相似度值是否高于预设阈值,若高于预设阈值,则判定目标相似度值所对应的两个实体为同一实体,并通过目标相似度值对应的第一基础实体对第一冲突实体进行编码。
[0095] 具体的,第一冲突实体与第一基础实体的相似度值越高,说明第一冲突实体越接近第一基础实体为同一个实体。所以只要和对比第一相似度集中最高相似度值对应的实体进行比较,判断第一冲突实体和最高相似度值对应的第一基础实体是否同一实体即可。所以通过判断相似度集中最高的相似度值是否高于所设阈值,若高于阈值,这判定第一冲突实体和最高相似度值对应的第一基础实体为同一实体,并通过目标相似度值对应的实体对第一冲突实体进行编码。
[0096] 其中,预设阈值根据实际情况设定,优选的预设阈值为0.85。因为两个实体的相似度值高于0.85以上,两者已经高度相似,故将优选预设阈值为0.85。
[0097] 进一步的,若第一相似度集中最高相似度值低于高于所设阈值,则第一相似度集中最高相似度值所对应的两个实体不为同一实体,则按照构建实体目录的规则对第一冲突实体进行重新编码,重新编码不与现有实体编码重复,且重新编码的格式与现有编码格式一致。
[0098] 本实施例中,若实体冲突类型为实体名称缺乏对应的实体编码,则将发生实体冲突的实体作为第一冲突实体,将没有发生实体冲突的实体作为第一基础实体,统计第一冲突实体与每个第一基础实体的相似度值,得到第一相似度值集,获取第一相似度集中数值最大的相似度值,作为目标相似度值,并判断目标相似度值是否高于预设阈值,若高于预设阈值,则判定目标相似度值所对应的两个实体为同一实体,并通过目标相似度值对应的第一基础实体对第一冲突实体进行编码,有利于识别实体目录中的编码错误,提高实体编码的准确性。
[0099] 请参阅图5,图5示出了步骤S4另一具体实现方式,包括:
[0100] S421:若实体冲突类型为相同的实体名称对应不同的实体编码,则将发生实体冲突的实体作为第二冲突实体,并将第二冲突实体进行两两组合,得到第二冲突实体组合。
[0101] 具体的,判断出相同的实体名称有对应不同的实体编码,这种情况需要判断相同的实体名称对应的实体是否为同一实体。因为相同的实体名称也有可能拥有不同的实体编码,例如,相同姓名的公民拥有不同的身份证号一样。通过统计相同的实体名称对应实体两两间的相似度值来判断两者是否为同一实体。
[0102] S422:统计每个第二冲突实体组合中两个实体的相似度值,得到第二相似度集。
[0103] 具体的,通过判断第二冲突实体组合中两个实体的相似度值,进而判断两个实体是否为同一实体。
[0104] S423:判断第二相似度集中是否存在高于预设阈值的相似度值,若存在,则判定相似度值高于预设阈值所对应的第二冲突组合中的两个实体为同一实体,并按照预设的方式对第二冲突实体进行重新编码。
[0105] 其中,预设的方式为保留最旧或最新的方式统一保留最旧或最新的编码。
[0106] 进一步的,第二相似度集中没有存在高于所设阈值的相似度值,则相同的实体名称对应的实体为不同的实体,则不需要重新编码。
[0107] 例如,存在三个相同的实体名称均为A,其对应的实体编码为001、002和003,则统计实体编码为001和002,001和003,002和003所对应的实体的相似度值,其相似度值均为0.95,大于预设阈值的0.85,则判断三个相同的实体名称A两两均为同一实体,即三个相同的实体名称A为同一实体,按照保留最旧(或最新)的方式统一保留最旧(或最新)的编码。
[0108] 本实施例中,若实体冲突类型为相同的实体名称对应不同的实体编码,则将发生实体冲突的实体作为第二冲突实体,并将第二冲突实体进行两两组合,得到第二冲突实体组合,并统计每个第二冲突实体组合中两个实体的相似度值,得到第二相似度集,判断第二相似度集中是否存在高于预设阈值的相似度值,若存在,则判定相似度值高于预设阈值所对应的第二冲突组合中的两个实体为同一实体,并按照预设的方式对第二冲突实体进行重新编码,有利于识别实体目录中的编码错误,提高实体编码的准确性。
[0109] 请参阅图6,图6示出了步骤S4又一具体实现方式,包括:
[0110] S431:若实体冲突类型为不同的实体名称对应相同的实体编码,则将发生实体冲突的实体作为第三冲突实体,并将第三冲突实体进行两两组合,得到第三冲突实体组合。
[0111] 具体的,若判断出实体冲突的类型为不同的实体名称对应相同的实体编码,这种情况需要判断不同的实体名称对应的实体是否为同一实体,因为不同的实体名称也有可能拥有相同的实体编码。例如,某位公民,其拥有唯一的身份证号码,但是该公民对应的姓名可能有现用名、曾用名等等姓名,这样就可能导致不同的实体名称对应相同的实体编码。也有可能为编码出错,导致出现不同的实体名称对应相同的实体编码。故需要判断不同的实体名称对应相同的实体编码,所对应的实体是否为同一实体。
[0112] S432:统计每个第三冲突实体组合中的两个实体的相似度值,得到第三相似度集。
[0113] 具体的,通过判断第三冲突实体组合中两个实体的相似度值,进而判断两个实体是否为同一实体。
[0114] S433:判断第三相似度集中是否存在低于预设阈值的相似度值,若存在,则判定相似度值低于预设阈值所对应的第三冲突实体组合中的两个实体为不同实体,并按照预设的方式对第三冲突实体进行重新编码。
[0115] 其中,预设的方式为保留最旧或最新的方式统一保留最旧或最新的编码。
[0116] 进一步的,第三相似度集中没有存在低于所设阈值的每个相似度值,则不同的实体名称对应的实体为不同的实体,则不需要重新编码。
[0117] 例如,存在三个相同的实体编码均为001,其对应的实体名称为A、B和C,则统计实体名称为A和B、A和C,B和C所对应的实体的相似度值,其相似度值均为0.95,大于预设阈值的0.85,则判断三个相同的实体编码001两两均为同一实体,即三个相同的实体编码001为同一实体,按照保留最旧(或最新)的方式统一保留最旧(或最新)的编码。
[0118] 本实施例中,若实体冲突类型为不同的实体名称对应相同的实体编码,则将发生实体冲突的实体作为第三冲突实体,并将第三冲突实体进行两两组合,得到第三冲突实体组合,并统计每个第三冲突实体组合中的两个实体的相似度值,得到第三相似度集,判断第三相似度集中是否存在低于所设阈值的相似度值,若存在,则判定相似度值低于所设阈值所对应的第三冲突实体组合中的两个实体为不同实体,并按照预设的方式对第三冲突实体进行重新编码有利于识别实体目录中的编码错误,提高实体编码的准确性。
[0119] 请参阅图7,图7示出了步骤S4还一具体实现方式,包括:
[0120] S441:若实体冲突类型为实体编码没有对应的实体名称,则将发生实体冲突的实体作为第四冲突实体,将没有发生实体冲突的实体作为第二基础实体。
[0121] 具体的,若实体冲突的类型为实体编码没有对应的实体名称,则该基础实体目录必然存在错误,需要对该基础实体目录进行修改。因为该实体目录的设定是,每个实体都有实体名称和实体编码,不存在只有实体编码的情况,若有该情况,说明基础实体目录存在错误。
[0122] S442:统计第四冲突实体与每个第二基础实体的相似度值,得到第四相似度值集。
[0123] 具体的,通过得到第四相似度值集,查找与第四冲突实体相同的实体。
[0124] S443:获取第四相似度集中数值最大的相似度值,作为对比相似度值,并判断对比相似度值是否高于预设阈值,若高于预设阈值,则判定对比相似度值所对应的两个实体为同一实体,并通过对比相似度值对应的实体名称对第四冲突实体进行命名。
[0125] 具体的,通过计算实体相似度值的方式,判断是否存在和第四冲突实体相同的实体,若找到相同的实体,则通过相同的实体的实体名称第四冲突实体进行命名。
[0126] 进一步的,若对比相似度值低于预设阈值,则判定对比相似度值所对应的两个实体为不同实体,则通过服务器重新生成一个新的实体名称,对应到没有实体名称的实体上。
[0127] 本实施例中,若实体冲突类型为实体编码没有对应的实体名称,则将发生实体冲突的实体作为第四冲突实体,将没有发生实体冲突的实体作为第二基础实体,并统计第四冲突实体与每个第二基础实体的相似度值,得到第四相似度值集,获取第四相似度集中数值最大的相似度值,作为对比相似度值,并判断对比相似度值是否高于预设阈值,若高于预设阈值,则判定对比相似度值所对应的两个实体为同一实体,并通过对比相似度值对应的实体名称对第四冲突实体进行命名,有利于识别实体目录中的冲突,提高实体编码的准确性。
[0128] 进一步的,该基于相似度值的实体编码方法还包括:
[0129] 第一冲突实体与没 有发 生实体冲突的实体的相似度值为β,则,其中, β∈[0,1],K是指用于计算相似度值的K个特征因素,K>=1,ak
是第k个特征因素的权重,ak>0且  =1,sk为第k个因素的相似度值。
[0130] 进一步的,亦可以通过上述相似度值的计算方法,得到第二相似度值集、第三相似度值集和第四相似度值集。
[0131] 本实施例中,通过上述上述相似度值的计算方法,通过冲突实体与其他实体的相似度值,有利于识别出相同的实体,以解决实体冲突,提高实体编码的准确性。
[0132] 进一步的,该基于相似度值的实体编码方法还包括:
[0133] 构建新的实体目录,将发生实体冲突处理后的数据与没有发生实体冲突的数据存储到新的实体目录中。
[0134] 具体的,若检测实体目录发生实体冲突,在新的实体目录中进行实体名称和实体编码的修正。在新的实体目录中将冲突的数据进行修正之后,并在相应的字段中标识出来,便于对历史数据溯源。
[0135] 新的实体目录的具体字段包括但不仅限于以下内容:原名称、原编码、新名称、新编码、名称是否改变、编码是否改变。每一种冲突类型的处理结果都应该输出到新的实体目录表中。新的实体目录如表一所示:
[0136]编号 原名称 原编码 新名称 新编码 名称是否改变 编码是否改变
1 A 1001 A 1001 0 0
2 B 1002 B 1002 0 0
3 C   A 1001 1 1
4 D   D 1003 0 1
[0137] 表一
[0138] 本实施例中,通过构建新的实体目录,将发生实体冲突处理后的数据与没有发生实体冲突的数据存储到新的实体目录中,便于对历史数据溯源,提高实体编码的准确性。
[0139] 本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,该计算机程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,前述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)等非易失性存储介质,或随机存储记忆体(Random Access Memory,RAM)等。
[0140] 请参考图8,作为对上述图2所示方法的实现,本申请提供了一种基于相似度值的实体编码装置的一个实施例,该装置实施例与图2所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。
[0141] 如图8所示,本实施例的基于相似度值的实体编码装置包括:实体目标获取模块51、实体目录检测模块52、实体冲突检测模块53及实体冲突编码模块54,其中:
[0142] 实体目标获取模块51,用于获取实体目录,其中,实体目录包含若干实体,实体包括实体名称和实体名称对应的实体编码;
[0143] 实体目录检测模块52,用于遍历实体目录,并对实体目录中每个实体的唯一性进行检测,若存在不具备唯一性的实体,则执行去重处理,得到每个实体均具有唯一性的基础实体目录,其中,唯一性通过实体名称和实体编码的对应关系来确定;
[0144] 实体冲突检测模块53,用于对基础实体目录中的实体进行冲突检测,得到冲突检测结果,若冲突检测结果为存在实体冲突,则判断实体冲突的冲突类型,得到实体冲突类型;
[0145] 实体冲突编码模块54,用于根据实体冲突类型,得到目标实体名称和编码,并根据目标实体名称和编码,对发生实体冲突对应的实体进行重新命名和编码。
[0146] 进一步的,实体目标获取模块51之前还包括:
[0147] 结果数据获取模块,用于获取待编码数据,对待编码数据进行预处理,得到结果数据;
[0148] 实体目录生成模块,用于通过正则匹配的方式,对结果数据进行正则匹配,并根据匹配成功的数据生成实体目录。
[0149] 进一步的,实体冲突编码模块54包括:
[0150] 第一冲突实体确定单元,用于若实体冲突类型为实体名称缺乏对应的实体编码,则将发生实体冲突的实体作为第一冲突实体,将没有发生实体冲突的实体作为第一基础实体;
[0151] 第一相似度值集统计单元,用于统计第一冲突实体与每个第一基础实体的相似度值,得到第一相似度值集;
[0152] 第一冲突实体编码单元,用于获取第一相似度集中数值最大的相似度值,作为目标相似度值,并判断目标相似度值是否高于预设阈值,若高于预设阈值,则判定目标相似度值所对应的两个实体为同一实体,并通过目标相似度值对应的第一基础实体对第一冲突实体进行编码。
[0153] 进一步的,实体冲突编码模块54还包括:
[0154] 第二冲突实体组合单元,用于若实体冲突类型为相同的实体名称对应不同的实体编码,则将发生实体冲突的实体作为第二冲突实体,并将第二冲突实体进行两两组合,得到第二冲突实体组合;
[0155] 第二相似度集统计单元,用于统计每个第二冲突实体组合中两个实体的相似度值,得到第二相似度集;
[0156] 第二冲突实体编码单元,用于判断第二相似度集中是否存在高于预设阈值的相似度值,若存在,则判定相似度值高于预设阈值所对应的第二冲突组合中的两个实体为同一实体,并按照预设的方式对第二冲突实体进行重新编码。
[0157] 进一步的,实体冲突编码模块54还包括:
[0158] 第三冲突实体组合单元,用于若实体冲突类型为不同的实体名称对应相同的实体编码,则将发生实体冲突的实体作为第三冲突实体,并将第三冲突实体进行两两组合,得到第三冲突实体组合;
[0159] 第三相似度集统计单元,用于统计每个第三冲突实体组合中的两个实体的相似度值,得到第三相似度集;
[0160] 第三冲突实体编码单元,用于判断第三相似度集中是否存在低于预设阈值的相似度值,若存在,则判定相似度值低于预设阈值所对应的第三冲突实体组合中的两个实体为不同实体,并按照预设的方式对第三冲突实体进行重新编码。
[0161] 进一步的,实体冲突编码模块54还包括:
[0162] 第四冲突实体确定单元,用于若实体冲突类型为实体编码没有对应的实体名称,则将发生实体冲突的实体作为第四冲突实体,将没有发生实体冲突的实体作为第二基础实体;
[0163] 第四相似度值集统计单元,用于统计第四冲突实体与每个第二基础实体的相似度值,得到第四相似度值集;
[0164] 第四冲突实体命名单元,用于获取第四相似度集中数值最大的相似度值,作为对比相似度值,并判断对比相似度值是否高于预设阈值,若高于预设阈值,则判定对比相似度值所对应的两个实体为同一实体,并通过对比相似度值对应的实体名称对第四冲突实体进行命名。
[0165] 进一步的,该基于相似度值的实体编码装置还包括:
[0166] 相似度值计算模块,用于第一冲突实体与没有发生实体冲突的实体的相似度值为β,则 ,K是指用于计算相似度值的K个特征因素,K>=1,ak是第k个特征因素的权重,ak>0且  =1,sk为第k个因素的相似度。
[0167] 为解决上述技术问题,本申请实施例还提供计算机设备。具体请参阅图9,图9为本实施例计算机设备基本结构框图。
[0168] 计算机设备6包括通过系统总线相互通信连接存储器61、处理器62、网络接口63。需要指出的是,图中仅示出了具有三种组件存储器61、处理器62、网络接口63的计算机设备
6,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。
其中,本技术领域技术人员可以理解,这里的计算机设备是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程门阵列(Field-Programmable Gate Array,FPGA)、数字处理器 (Digital Signal Processor,DSP)、嵌入式设备等。
[0169] 计算机设备可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。计算机设备可以与用户通过键盘、鼠标、遥控器、触摸板或声控设备等方式进行人机交互。
[0170] 存储器61至少包括一种类型的可读存储介质,可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,存储器61可以是计算机设备6的内部存储单元,例如该计算机设备6的硬盘或内存。在另一些实施例中,存储器61也可以是计算机设备6的外部存储设备,例如该计算机设备6上配备的插接式硬盘,智能存储卡(Smart Media Card, SMC),安全数字(Secure Digital, SD)卡,闪存卡(Flash Card)等。当然,存储器61还可以既包括计算机设备6的内部存储单元也包括其外部存储设备。本实施例中,存储器61通常用于存储安装于计算机设备6的操作系统和各类应用软件,例如基于相似度值的实体编码方法的程序代码等。此外,存储器61还可以用于暂时地存储已经输出或者将要输出的各类数据。
[0171] 处理器62在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器62通常用于控制计算机设备6的总体操作。本实施例中,处理器62用于运行存储器61中存储的程序代码或者处理数据,例如运行一种基于相似度值的实体编码方法的程序代码。
[0172] 网络接口63可包括无线网络接口或有线网络接口,该网络接口63通常用于在计算机设备6与其他电子设备之间建立通信连接。
[0173] 本申请还提供了另一种实施方式,即提供一种计算机可读存储介质,计算机可读存储介质存储有服务器维护程序,服务器维护程序可被至少一个处理器执行,以使至少一个处理器执行如上述的一种基于相似度值的实体编码方法的步骤。
[0174] 通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本申请各个实施例的方法。
[0175] 本发明所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
[0176] 显然,以上所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例,附图中给出了本申请的较佳实施例,但并不限制本申请的专利范围。本申请可以以许多不同的形式来实现,相反地,提供这些实施例的目的是使对本申请的公开内容的理解更加透彻全面。尽管参照前述实施例对本申请进行了详细的说明,对于本领域的技术人员来而言,其依然可以对前述各具体实施方式所记载的技术方案进行修改,或者对其中部分技术特征进行等效替换。凡是利用本申请说明书及附图内容所做的等效结构,直接或间接运用在其他相关的技术领域,均同理在本申请专利保护范围之内。