掌桥专利:专业的专利平台
掌桥专利
首页

一种命名实体识别方法、装置、电子设备及存储介质

文献发布时间:2023-06-19 12:10:19


一种命名实体识别方法、装置、电子设备及存储介质

技术领域

本申请涉及计算机应用技术领域,尤其涉及一种命名实体识别方法、装置、电子设备及机器可读存储介质,以及一种业务数据清洗方法。

背景技术

随着数据来源日益复杂,数据量越来越大,为了增强数据的合规性,以便充分挖掘和利用数据价值,需要通过数据治理平台对积累的海量业务数据进行数据清洗。上述数据治理平台进行数据清洗的过程,可以包括:从业务系统中获取业务数据,识别与业务数据对应的命名实体,基于与命名实体对应的清洗规则对业务数据进行数据清洗。

在实际应用中,识别与业务数据对应的命名实体时,主要依靠专业人员进行人工确认;例如,数据架构师可以与业务系统建设方进行沟通,来确认与该业务系统中的业务数据对应的命名实体;又例如,数据架构师可以根据自身的经验,分析与数据库中的字段值对应的命名实体。

由此可见,现有的命名实体识别方法需要消耗大量的人力和时间,不利于数据治理平台实现自动化的数据清洗。

发明内容

本申请提供一种命名实体识别方法,所述方法包括:

确定与业务数据关联的标准数据元;

分别计算所述标准数据元对应于每个预设的命名实体的预测分数;

从计算出的所述预测分数中,将与最高的预测分数对应的命名实体,确定为与所述标准数据元关联的命名实体。

可选的,所述分别计算所述标准数据元对应于每个预设的命名实体的预测分数,包括:

获取与所述标准数据元对应的若干枚举值;

分别基于与每个预设的命名实体对应的预设校验规则,对所述若干枚举值进行匹配;

对应于每个预设的命名实体,分别计算匹配的枚举值的数量占所述若干枚举值的总数量的比例,并确定与所述比例对应的规则分数;

基于所述标准数据元对应于每个预设的命名实体的所述规则分数,确定对应的预测分数。

可选的,所述获取与所述标准数据元对应的若干枚举值,包括:

检测所述标准数据元是否有对应的字典表;

如果有,则获取与所述标准数据元对应的字典表中的所有字典名,作为与所述标准数据元对应的若干枚举值;

如果没有,则获取与所述业务数据对应的代码分布中的所有字段值,作为与所述标准数据元对应的若干枚举值。

可选的,在基于所述标准数据元对应于每个预设的命名实体的所述规则分数,确定对应的预测分数之前,所述方法还包括:

分别计算所述标准数据元对应于每个预设的命名实体的语义相似度,并确定与所述语义相似度对应的语义分数;

所述基于所述标准数据元对应于每个预设的命名实体的所述规则分数,确定对应的预测分数,包括:

按照预设权重,计算所述标准数据元对应于每个预设的命名实体的所述规则分数和所述语义分数的加权之和;

将所述加权之和确定为所述标准数据元对应于每个预设的命名实体的所述预测分数。

可选的,所述分别计算所述标准数据元对应于每个预设的命名实体的语义相似度,并确定与所述语义相似度对应的语义分数,包括:

基于预训练的语言处理模型,分别生成与所述标准数据元以及每个预设的命名实体对应的词向量;

分别计算与所述标准数据元对应的词向量和与每个预设的命名实体对应的词向量之间的余弦相似度,并确定与所述余弦相似度对应的语义分数。

本申请还提供一种业务数据清洗方法,应用于数据治理平台;所述数据治理平台包括数据元管理系统、命名实体管理系统和数据清洗系统;其中,所述数据清洗系统与所述数据元管理系统对接;所述数据清洗系统与所述命名实体管理系统对接;所述方法包括:

所述数据清洗系统从对接的业务系统中,获取待执行数据清洗的业务数据;

所述数据元管理系统确定与所述业务数据关联的标准数据元;

所述命名实体管理系统分别计算所述标准数据元对应于每个预设的命名实体的预测分数,并从计算出的所述预测分数中,将与最高的预测分数对应的命名实体,确定为与所述标准数据元关联的命名实体;

所述数据清洗系统基于所述关联的命名实体,对所述业务数据执行数据清洗。

可选的,所述数据清洗系统基于所述关联的命名实体,对所述业务数据执行数据清洗,包括:

所述数据清洗系统确定预先配置的与所述关联的命名实体对应的用于执行数据清洗的清洗规则;

所述数据清洗系统基于确定的所述清洗规则,对所述业务数据执行数据清洗。

本申请还提供一种命名实体识别装置,所述装置包括:

数据元确定单元,用于确定与业务数据关联的标准数据元;

计算单元,用于分别计算所述标准数据元对应于每个预设的命名实体的预测分数;

命名实体确定单元,用于从计算出的所述预测分数中,将与最高的预测分数对应的命名实体,确定为与所述标准数据元关联的命名实体。

可选的,所述计算单元,具体用于:

获取与所述标准数据元对应的若干枚举值;

分别基于与每个预设的命名实体对应的预设校验规则,对所述若干枚举值进行匹配;

对应于每个预设的命名实体,分别计算匹配的枚举值的数量占所述若干枚举值的总数量的比例,并确定与所述比例对应的规则分数;

基于所述标准数据元对应于每个预设的命名实体的所述规则分数,确定对应的预测分数。

可选的,所述计算单元,具体用于:

检测所述标准数据元是否有对应的字典表;

如果有,则获取与所述标准数据元对应的字典表中的所有字典名,作为与所述标准数据元对应的若干枚举值;

如果没有,则获取与所述业务数据对应的代码分布中的所有字段值,作为与所述标准数据元对应的若干枚举值。

可选的,所述计算单元,还用于:

分别计算所述标准数据元对应于每个预设的命名实体的语义相似度,并确定与所述语义相似度对应的语义分数;

所述计算单元,具体用于:

按照预设权重,计算所述标准数据元对应于每个预设的命名实体的所述规则分数和所述语义分数的加权之和;

将所述加权之和确定为所述标准数据元对应于每个预设的命名实体的所述预测分数。

可选的,所述计算单元,具体还用于:

基于预训练的语言处理模型,分别生成与所述标准数据元以及每个预设的命名实体对应的词向量;

分别计算与所述标准数据元对应的词向量和与每个预设的命名实体对应的词向量之间的余弦相似度,并确定与所述余弦相似度对应的语义分数。

本申请还提供一种电子设备,包括通信接口、处理器、存储器和总线,所述通信接口、所述处理器和所述存储器之间通过总线相互连接;

所述存储器中存储机器可读指令,所述处理器通过调用所述机器可读指令,执行上述命名实体识别方法或业务数据清洗方法。

本申请还提供一种机器可读存储介质,所述机器可读存储介质存储有机器可读指令,所述机器可读指令在被处理器调用和执行时,实现上述命名实体识别方法或业务数据清洗方法。

通过以上实施例,一方面,通过确定与业务数据关联的标准数据元,可以自动地对业务数据实现统一命名,为针对标准数据元进行命名实体识别做准备;另一方面,通过分别计算标准数据元对应于每个预设的命名实体的预测分数,并将与最高的预测分数对应的命名实体,确定为与所述标准数据元关联的命名实体,可以自动地对标准数据元实现命名实体识别,从而实现了自动识别与业务数据对应的命名实体,能够节约人工成本和时间成本,还有利于提高数据治理平台对业务数据执行数据清洗的效率。

附图说明

图1是一示例性的实施例示出的一种命名实体识别方法的流程图;

图2是一示例性的实施例示出的一种数据治理平台的架构示意图;

图3是一示例性的实施例示出的一种业务数据清洗方法的流程图;

图4是一示例性的实施例示出的一种命名实体识别装置所在电子设备的硬件结构图;

图5是一示例性的实施例示出的一种命名实体识别装置的框图。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。

需要说明的是:在其他实施例中并不一定按照本说明书示出和描述的顺序来执行相应方法的步骤。在一些其他实施例中,其方法所包括的步骤可以比本说明书所描述的更多或更少。此外,本说明书中所描述的单个步骤,在其他实施例中可能被分解为多个步骤进行描述;而本说明书中所描述的多个步骤,在其他实施例中也可能被合并为单个步骤进行描述。

目前,对业务数据进行命名实体识别,主要依靠专业人员进行人工确认;一方面,需要消耗大量的人力和时间,不利于降低数据清洗的成本,也不利于高效地实现数据清洗;另一方面,对于数据治理平台而言,无法对获取到的业务数据实现完全自动化的数据清洗,仍然需要部分环节的人工介入。

有鉴于此,本说明书旨在提出一种先将业务数据与标准数据元进行关联,再将标准数据元与预设的命名实体进行关联,从而确定与业务数据对应的命名实体的技术方案。

在实现时,确定与业务数据关联的标准数据元;进一步地,分别计算上述标准数据元对应于每个预设的命名实体的预测分数;进一步地,从计算出的上述预测分数中,将与最高的预测分数对应的命名实体,确定为与上述标准数据元关联的命名实体。

由此可见,在本说明书中的技术方案中,一方面,通过确定与业务数据关联的标准数据元,可以自动地对业务数据实现统一命名,进而为确定与标准数据元对应的命名实体做准备;另一方面,通过分别计算标准数据元对应于每个预设的命名实体的预测分数,并将与最高的预测分数对应的命名实体,确定为与上述标准数据元关联的命名实体,可以自动地对标准数据元实现命名实体识别,从而实现了自动识别与业务数据对应的命名实体,无需通过人工的方式逐个进行命名实体识别,能够节约人工成本和时间成本。

下面通过具体实施例,并结合具体的应用场景对本申请进行描述。

请参见图1,图1是一示例性的实施例示出的一种命名实体识别方法的流程图,上述方法执行以下步骤:

步骤102:确定与业务数据关联的标准数据元;

步骤104:分别计算上述标准数据元对应于每个预设的命名实体的预测分数;

步骤106:从计算出的上述预测分数中,将与最高的预测分数对应的命名实体,确定为与上述标准数据元关联的命名实体。

在本说明书中,上述业务数据,可以包括任何业务类型的业务数据。

例如,上述业务数据可以包括用户身份数据;其中,上述用户身份数据具体可以包括用户的姓名、性别、身份证号、手机号码、固定电话号码、电子邮箱、健康状况等信息。

在本说明书中,上述标准数据元,也可以被称为数据元或数据元素(DataElement),是用一组属性描述其定义、标识、表示和允许值的数据单元;在一定语境下,通常用于构建一个语义正确、独立且无歧义的特定概念语义的信息单元。

在实际应用中,上述标准数据元可以包括用户预先设置的标准数据元,也可以包括通过预设的算法从与业务数据对应的字段名中筛选出的字段名。

例如,用户可以根据需求,预先设置若干标准数据元;也可以将有标记的业务数据分为训练集和验证集,计算上述训练集中的字段名与上述验证集中的字段名之间的相似度,并统计上述相似度超过某一预设阈值的字段名,将统计结果中出现次数最多的字段名作为标准数据元。

在本说明书中,上述命名实体,是指以名称为标识的实体;上述命名实体可以包括但不限于人名、地名、数字、日期、机构名称等等。

在实际应用中,用户可以根据需求,预先设置若干命名实体;基于上述命名实体的命名,就可以直观地理解与上述命名实体对应的业务数据的含义。

例如,用户根据实际需求,预先设置了14种命名实体,包括:统一社会信用代码、组织机构代码、身份证号码、手机号码、固定号码、电子邮箱、经度、纬度、电话号码、IPV4、IPV6、MAC地址、IP地址、以及其他。

在本说明书中,可以获取待执行数据清洗的业务数据。

在实际应用中,由于不同的数据源可能是由不同的业务系统建设方维护的,因此,对于从不同的数据源获取的、并且与相同的命名实体对应的业务数据而言,可能会采用不同的字段名进行描述。

例如,可以分别从用于维护客服人员信息、救援人员信息等业务数据的若干业务系统中,获取待执行数据清洗的业务数据;其中,在不同数据源所维护的数据表中,可以分别采用“客服人员手机号”、“客服人员联系方式”、“救援人员电话号码”、“手机号码”等字段名,对命名实体“手机号码”对应的业务数据进行描述。

在本说明书中,在获取待执行数据清洗的业务数据之后,可以确定与上述业务数据关联的标准数据元。

在实际应用中,可以通过数据对标操作,确定与上述业务数据关联的标准数据元;其中,上述数据对标操作,具体可以包括:对业务数据与每个预设的标准数据元进行语义相似度匹配,还可以对业务数据表中的枚举值数量、中文枚举值、数字枚举值与字典表中的枚举值数量、中文枚举值、数字枚举值分别进行相似度比较,并根据上述相似度比较的结果,确定与业务数据关联的标准数据元。

例如,获取到的业务数据为“客服人员手机号”,通过将该业务数据与每个预设的标准数据元进行语义相似度匹配,确定与业务数据“客服人员手机号”关联的标准数据元为“手机号码”。

又例如,获取到的业务数据为“客服人员联系方式”,通过对该业务数据的数字枚举值与每个预设的标准数据元对应的数字枚举值进行匹配,可以确定与业务数据“客服人员联系方式”关联的标准数据元为“手机号码”。

又例如,获取到的业务数据为“身体情况”,通过对该业务数据的中文枚举值与每个预设的标准数据元对应的中文枚举值进行匹配,可以确定与业务数据“身体情况”关联的标准数据元为“健康状况代码”。

在本说明书中,可以分别计算上述标准数据元对应于每个预设的命名实体的预测分数。

在实际应用中,由于上述标准数据元通常是按照一定的规则定义的,或者可以较好地体现业务数据的字段名的语义;因此,可以根据与每个预设的命名实体对应的校验规则、或者每个预设的命名实体的命名语义,来分别计算上述标准数据元对应于每个预设的命名实体的预测分数。

例如,可以分别计算标准数据元“健康状况代码”对应于上述14个命名实体的预测分数,分别为:预测分数1、预测分数2、……、预测分数14。

在示出的一种实施方式中,上述分别计算上述标准数据元对应于每个预设的命名实体的预测分数的过程,具体可以包括:获取与上述标准数据元对应的若干枚举值;分别基于与每个预设的命名实体对应的预设校验规则,对上述若干枚举值进行匹配;对应于每个预设的命名实体,分别计算匹配的枚举值的数量占上述若干枚举值的总数量的比例,并确定与上述比例对应的规则分数;基于上述标准数据元对应于每个预设的命名实体的上述规则分数,确定对应的预测分数。

在实际应用中,用户可以根据每个命名实体的特征,为每个命名实体预先设置对应的校验规则。

例如,对于命名实体“手机号码”而言,长度为11位数字,并且每位数字可以用于运营商、归属地等不同的含义;对于命名实体“身份证号码”而言,长度为18位数字,并且每位数字可以用于代表所在省份、所在城市、所在区县、出生日期、性别、校验码等不同的含义。

在实际应用中,与上述标准数据元对应的若干枚举值,可以包括与上述标准数据元对应的业务数据对应的代码分布中的若干字段值,也可以包括与上述标准数据元对应的字典表中的若干字典名。

例如,可以获取与标准数据元“健康状况代码”对应的枚举值,为健康、良好、残疾;进一步地,可以分别基于与上述14个命名实体对应的预设校验规则,对与标准数据元“健康状况”对应的枚举值进行匹配,并且分别计算与上述14个命名实体对应的校验规则匹配的枚举值的数量占上述枚举值的总数量的比例,为:比例1、比例2、……、比例14;进一步地,根据上述比例,可以确定标准数据元“健康状况代码”分别对应于上述14个命名实体的规则分数,为:规则分数1、规则分数2、……、规则分数14;进一步地,基于上述规则分数,可以确定对应的预测分数,为:预测分数1、预测分数2、……、预测分数14。

需要说明的是,关于确定与上述比例对应的规则分数、以及确定与上述规则分数对应的预测分数的具体实现方式,本说明书不做限定;在实际应用中,可以直接将计算出的上述比例作为对应的规则分数,也可以按照预先设置的函数关系,将上述比例作为该函数的自变量,将规则分数作为该函数的因变量,通过计算得出与上述比例对应的规则分数。类似地,可以直接将上述规则分数作为对应的预测分数,也可以按照预先设置的函数关系,将上述规则分数作为该函数的自变量,将预测分数作为该函数的因变量,通过计算得出与上述规则分数对应的预测分数。

在示出的一种实施方式中,上述获取与上述标准数据元对应的若干枚举值的过程,具体可以包括:检测上述标准数据元是否有对应的字典表;如果有,则获取与上述标准数据元对应的字典表中的所有字典名,作为与上述标准数据元对应的若干枚举值。

在实际应用中,如果上述标准数据元有对应的字典表,则可以根据上述字典表的字典表标识,获取与上述标准数据元对应的字典表,并将与上述标准数据元对应的字典表与上述标准数据元所在的标准数据元表进行合并;可以理解为,在上述标准数据元表中增加一列“枚举值”,与上述标准数据元对应的“枚举值”可以包含与上述标准数据元对应的字典表中的所有字典名。其中,上述标准数据元表,请参见表1所示例;上述字典表,请参见表2所示例。

表1

表2

例如,如果标准数据元“健康状况代码”所在的标准数据元表如表1所示,其中,与标准数据元“健康状况代码”对应的值域约束类型为“字典表”,可以确定标准数据元“健康状况代码”有对应的字典表,进一步地,与标准数据元“健康状况代码”对应的值域约束值为“字典表ID1”,可以确定该字典表的字典表标识为“字典表ID1”,并且可以根据字典表标识“字典表ID1”,获取到如表2所示的字典表;进一步地,可以将如表1所示的标准数据元表与如表2所示的字典表进行合并,得到如表3所示的标准数据元表。

表3

在示出的另一种实施方式中,上述获取与上述标准数据元对应的若干枚举值的过程,具体可以包括:检测上述标准数据元是否有对应的字典表;如果没有,则获取与上述业务数据对应的代码分布中的所有字段值,作为与上述标准数据元对应的若干枚举值。

在实际应用中,如果与上述业务数据关联的上述标准数据元没有对应的字典表,则可以根据上述业务数据所在的数据探查表,将上述数据探查表中与上述业务数据对应的代码分布与上述标准数据元所在的标准数据元表进行合并;可以理解为,在上述标准数据元表中增加一列“枚举值”,与上述标准数据元对应的“枚举值”可以包含上述数据探查表中与上述业务数据对应的代码分布中的所有字段值。其中,上述标准数据元表,请参见表4所示例;上述数据探查表,请参见表5所示例。

表4

表5

例如,如果标准数据元“健康状况代码”所在的标准数据元表如表4所示,其中,与标准数据元“健康状况代码”对应的值域约束类型并非字典表,可以确定标准数据元“健康状况代码”没有对应的字典表;进一步地,可以获取业务数据“身体状况”和业务数据“健康情况”所在的如表5所示的数据探查表;进一步地,可以将如表5所示的数据探查表与如表4所示的标准数据元表进行合并,得到如表6所示的标准数据元表。

表6

在示出的一种实施方式中,在基于上述标准数据元对应于每个预设的命名实体的上述规则分数,确定对应的预测分数之前,还可以包括:分别计算上述标准数据元对应于每个预设的命名实体的语义相似度,并确定与上述语义相似度对应的语义分数。

在实际应用中,可以通过计算余弦相似度、欧氏距离、曼哈顿距离等方法,来分别计算上述标准数据元对应于每个预设的命名实体的语义相似度。

例如,在确定预测分数之前,除了分别计算标准数据元“手机号码”与上述14个预设的命名实体的规则分数之外,还可以分别计算标准数据元“手机号码”与上述14个预设的命名实体的语义相似度,为语义相似度1、语义相似度2、……、语义相似度14;再确定与计算出的语义相似度对应的语义分数,分别为:语义分数1、语义分数2、……、语义分数14。

需要说明的是,在以上示出的实施方式中,关于确定与语义相似度对应的语义分数的具体实现方式、以及计算规则分数和语义分数的先后顺序,本说明书不做限定;在实际应用中,可以直接将计算出的语义相似度作为对应的语义分数,也可以按照预先设置的函数关系,将上述语义相似度作为该函数的自变量,将语义分数作为该函数的因变量,通过计算得出与上述语义相似度对应的语义分数。

在示出的一种实施方式中,上述分别计算上述标准数据元对应于每个预设的命名实体的语义相似度,并确定与上述语义相似度对应的语义分数的过程,具体可以包括:基于预训练的语言处理模型,分别生成与上述标准数据元以及每个预设的命名实体对应的词向量;分别计算与上述标准数据元对应的词向量和与每个预设的命名实体对应的词向量之间的余弦相似度,并确定与上述余弦相似度对应的语义分数。

在实际应用中,上述语言处理模型,可以包括用于生成与词语对应词向量的语言处理模型,如Bert模型等等。

在实际应用中,通过计算两个向量之间的余弦相似度,可以体现出二者在方向上的绝对差异,即使研究对象的特征维度很高,余弦相似度依然可以保持在二者相同时为1,在二者正交时为0,在二者完全不同时为-1;相较于计算二者之间的欧式距离的实现方式,基于二者之间的余弦相似度计算语义相似度,不会受到特征维度的影响,可以得到更加能体现语义特征的计算结果,进而得到的预测分数更加能体现标准数据元与每个预设的命名实体之间的匹配程度,提高命名实体自动识别的准确率。关于计算两个向量之间的余弦相似度的具体实现方式,请参见相关技术,在此不再赘述。

例如,基于预训练完成的Bert模型,可以生成与标准数据元“身份证号码”对应的词向量vector_a,以及可以生成与上述14个预设的命名实体对应的词向量组成的矩阵matrix_b;进一步地,可以分别计算上述词向量vector_a与上述矩阵matrix_b中每个行向量之间的余弦相似度,计算出的各余弦相似度可以构成一个14维的行向量;进一步地,可以确定与上述计算出的余弦相似度对应的语义分数。

需要说明的是,在以上示出的实施方式中,关于确定与余弦相似度对应的语义分数的具体实现方式,本说明书不做限定;在实际应用中,可以直接将计算出的余弦相似度作为对应的语义分数,也可以按照预先设置的函数关系,将上述余弦相似度作为该函数的自变量,将语义分数作为该函数的因变量,通过计算得出与上述余弦相似度对应的语义分数。

另外,需要说明的是,当计算出的上述标准数据元对应于每个预设的命名实体的语义分数为一个行向量时,上述计算出的上述标准数据元对应于每个预设的命名实体的规则分数,应该为一个维数相同的行向量,以便于后续可以将与规则分数对应的行向量和与语义分数对应的行向量,按照预设权重计算二者的加权之和,作为对应的预测分数。

在示出的一种实施方式中,在分别计算上述标准数据元对应于每个预设的命名实体的规则分数和语义分数之后,上述基于上述标准数据元对应于每个预设的命名实体的上述规则分数,确定对应的预测分数的过程,具体可以包括:按照预设权重,计算上述标准数据元对应于每个预设的命名实体的上述规则分数和上述语义分数的加权之和;将上述加权之和确定为上述标准数据元对应于每个预设的命名实体的上述预测分数。

在实际应用中,对于不同类型的命名实体,规则分数和语义分数对于命名实体识别结果的重要性可能不同;因此,用户可以根据需求,预先配置上述规则分数和语义分数在预测分数中的权重,并将上述规则分数和上述语义分数的加权之和,确定为对应的预测分数。

例如,对于标准数据元“健康情况代码”而言,由于其与预设的命名实体之间的语义相似度都不高,也就是说,无法根据标准数据元“健康情况代码”分别对应与每个预设的命名实体之间的语义相似度,明显地识别出标准数据元“健康情况代码”与最终关联的命名实体“其他”之间的语义相似度;因此,需要为规则分数配置较高的权重。在分别计算标准数据元“健康情况代码”对应于每个预设的命名实体的规则分数和语义分数之后,可以按照预设权重,计算标准数据元“健康情况代码”对应于每个预设的命名实体的规则分数和语义分数的加权之和,并且可以将计算出的加权之和确定为标准数据元“健康情况代码”对应于每个预设的命名实体的上述预测分数。

又例如,对于标准数据元“中国经度”而言,如果与命名实体“经度”、“纬度”对应的预设校验规则中,仅仅规定了枚举值中数字的取值范围,则标准数据元“中国经度”对应于上述命名实体“经度”、命名实体“纬度”的规则分数可能会都比较高,需要结合语义分数来进一步地区分;因此,需要为语义分数分配较高的权重。

又例如,在分别计算标准数据元对应于每个预设的命名实体的规则分数的过程中,如果将与上述业务数据对应的代码分布中的字段值作为与上述标准数据元对应的若干枚举值,由于上述代码分布中的字段值可能并不像与标准数据元对应的字典表中的字典值一样,遵循关联的命名实体对应的预设校验规则,因此,规则得分无法很好地体现上述标准数据元与每个命名实体之间的匹配程度,需要降低规则分数在预测分数中的权重。

需要说明的是,在以上示出的实施方式中,通过将标准数据元对应于每个预设的命名实体的规则分数和语义分数的加权之和,作为上述标准数据元对应于每个预设的命名实体的预测分数,得到的预测分数可以更充分地体现上述标准数据元与每个命名实体之间的匹配程度,从而可以提高对命名实体识别的准确率,有利于提高数据治理平台对业务数据执行数据清洗的效率。

在本说明书中,在分别计算上述标准数据元对应于每个预设的命名实体的预测分数之后,可以从上述预测分数中,将与最高的预测分数对应的命名实体,确定为与上述标准数据元关联的命名实体。

在实际应用中,上述预测分数越高,说明上述标准数据元与对应的命名实体的校验规则或者命名语义的相似程度越高;因此,可以将与超过某一阈值的预测分数对应的命名实体,作为可关联的命名实体推荐给用户,由用户进一步地选择与上述标准数据元关联的命名实体;也可以直接将与最高的预测分数对应的命名实体,确定为与上述标准数据元关联的命名实体。

例如,在分别计算出标准数据元“手机号码”、标准数据元“健康状况代码”对应于上述14个命名实体的预测分数之后,根据计算出的预测分数,与最高的预测分数对应的命名实体分别为“手机号码”、“其他”;可以确定与标准数据元“手机号码”关联的命名实体为“手机号码”,以及与标准数据元“健康状况代码”关联的命名实体为“其他”。

需要说明的是,在以上示出的实施方式中,由于计算出的预测分数可以体现标准数据元与每个预设的命名实体之间的相似程度,因此,即使将与超过某一阈值的预测分数对应的命名实体,作为可关联的命名实体推荐给用户,相较于完全通过人工判断与业务数据或标准数据元关联的命名实体的方式,可以降低对用户专业水平的要求,无需由专业的数据架构师根据经验判断,普通用户也可以基于计算出的预测分数,快速、简单地确定关联的命名实体。

另外,需要说明的是,在以上示出的实施方式中,由于业务数据与标准数据元之间存在一对一或多对一的对应关系,以及标准数据元与命名实体之间存在一对一或多对一的对应关系;因此,可以先确定与业务数据关联的标准数据元,再确定与上述关联的标准数据元关联的命名实体,从而间接地确定了与上述业务数据关联的命名实体;相较于直接为业务数据推荐可关联的命名实体的实现方式,可以降低自动识别与业务数据对应的命名实体的难度。

通过以上技术方案可知,一方面,由于获取到的业务数据来自于不同的数据源,与业务数据对应的字段名并不统一或者无法准确地体现字段值的含义,因此,通过确定与业务数据关联的标准数据元,可以自动地对业务数据实现统一命名,进而为确定与标准数据元对应的命名实体做准备;另一方面,通过分别计算标准数据元对应于每个预设的命名实体的预测分数,并将与最高的预测分数对应的命名实体,确定为与上述标准数据元关联的命名实体,可以实现自动识别与标准数据元对应的命名实体,进而间接实现了自动识别与业务数据对应的命名实体,能够节约人工成本和时间成本。

请参见图2,图2是一示例性的实施例示出的一种数据治理平台的架构示意图。

在本说明书中,上述数据治理平台,可以包括数据元管理系统、命名实体管理系统和数据清洗系统;其中,上述数据治理平台,是指用于对获取的业务数据进行ETL(数据抽取、转换、装载)数据处理的机器或机器集群。

例如,上述数据治理平台,具体可以包括部署在私网或公网中的ETL集群。

在本说明书中,上述数据元管理系统,可以用于维护及管理与业务数据对应的一个或多个标准数据元。

在实际应用中,由于不同的数据源可能并未采用统一的格式规范来存储和管理业务数据,在数据表中也可能存在一些无效的业务数据;因此,上述数据元管理系统还可以对获取到的业务数据进行预处理。

例如,将业务数据中字母类型的字符统一转换为大写字母,将数值类型统一转换为浮点型数据或整型数据,去除中文字符前后的空格等等。

又例如,如果检测到在获取到业务数据的数据表中,出现大量重复的字段描述,可以去除重复的字段描述;如:检测到业务数据的字段名之前都有“救援人员”的前缀,可以将其去除。

需要说明的是,在以上示出的实施方式中,关于对业务数据进行预处理、以及数据对标操作的实现方式,仅仅是示例性的描述,并不对本说明书做限制;在实际应用中,本领域技术人员可以根据需求,采用上述实施方式中的任一或组合,本说明书不做限制;关于上述对业务数据进行预处理、数据对标操作的具体实现过程,请参见相关技术,在此不再赘述。

在本说明书中,上述命名实体管理系统,可以用于管理及维护与标准数据元对应的命名实体。

在本说明书中,上述数据清洗系统可以与业务系统、上述数据元管理系统、上述命名实体管理系统分别对接;上述数据清洗系统可以用于对业务数据执行数据清洗。

在实际应用中,上述数据清洗系统中可以包括用户为标准数据元或命名实体预先配置的清洗规则,并且可以基于对应的清洗规则,对上述标准数据元或命名实体对应的业务数据执行数据清洗。

例如,上述数据清洗系统,具体可以包括基于Hadoop及MapReduce架构搭建的Hadoop集群。

在本说明书中,上述业务系统,可以包括与若干数据源分别对应的、可以提供上述业务数据的若干业务子系统。

例如,以上述业务数据为用户身份数据为例,上述业务系统可以包括持有上述用户身份数据的电子政务系统、市民卡系统等业务系统。

请参见图3,图3是一示例性的实施例示出的一种业务数据清洗方法的流程图,上述业务数据清洗方法应用于上述数据治理平台;上述数据治理平台包括数据元管理系统、命名实体管理系统和数据清洗系统;其中,上述数据清洗系统与上述数据元管理系统对接;上述数据清洗系统与上述命名实体管理系统对接;上述业务数据清洗方法执行以下步骤:

步骤302:数据清洗系统从对接的业务系统中,获取待执行数据清洗的业务数据;

步骤304:数据元管理系统确定与上述业务数据关联的标准数据元;

步骤306:命名实体管理系统分别计算上述标准数据元对应于每个预设的命名实体的预测分数,并从计算出的上述预测分数中,将与最高的预测分数对应的命名实体,确定为与上述标准数据元关联的命名实体;

步骤308:上述数据清洗系统基于上述关联的命名实体,对上述业务数据执行数据清洗。

在本说明书中,上述数据清洗系统执行步骤302、上述数据元管理系统执行步骤304、以及上述命名实体管理系统执行上述步骤306的具体实现方式,与上述步骤202-步骤206相似,在此不再赘述。

在本说明书中,上述数据清洗系统可以基于与上述标准数据元关联的命名实体,对上述业务数据执行数据清洗。

在实际应用中,本领域技术人员可以为不同的命名实体预先配置基于正则表达式构建的清洗规则;其中,上述清洗规则可以包括真伪性校验规则、合法性校验规则中任一或组合;上述真伪性校验规则用于校验业务数据的属性与关联的标准数据元定义的属性是否一致;上述合法性校验规则用于校验业务数据的属性的取值是否合法。

例如,在确定与业务数据“客服人员手机号”、“客服人员联系方式”关联的标准数据元为“手机号码”,与标准数据元“手机号码”关联的命名实体为“手机号码”之后,可以基于与命名实体“手机号码”对应的清洗规则,对业务数据“客服人员手机号”、“客服人员联系方式”执行数据清洗。

需要说明的是,在以上示出的实施方式中,真伪性校验规则以及合法性校验规则仅仅是示例性的描述,并不对本说明书做限制;在实际应用中,本领域技术人员可以根据需求,灵活地基于正则表达式构建清洗规则,如缺失值校验规则、重复值校验规则、异常值校验规则等。关于对业务数据执行数据清洗的具体实现方式,请参见相关技术,在此不再赘述。

在示出的一种实施方式中,上述数据清洗系统基于上述关联的命名实体,对上述业务数据执行数据清洗的过程,具体可以包括:上述数据清洗系统确定预先配置的与上述关联的命名实体对应的用于执行数据清洗的清洗规则;上述数据清洗系统基于确定的上述清洗规则,对上述业务数据执行数据清洗。

在实际应用中,上述数据清洗系统可以维护清洗规则映射表,用于维护命名实体与预先配置的与命名实体对应的清洗规则之间的对应关系;其中,上述清洗规则映射表的表结构请参见表7所示例。

表7

例如,数据元管理系统确定与业务数据“客服人员联系方式”对应的标准数据元为“手机号码”,命名实体管理系统确定与标准数据元“手机号码”对应的命名实体为“手机号码”之后,数据清洗系统可以确定与命名实体“手机号码”对应的清洗规则为清洗规则1;进一步地,数据清洗系统可以基于上述预先配置好的清洗规则1,对业务数据“客服人员联系方式”执行数据清洗。

需要说明的是,在以上示出的实施方式中,通过命名实体作为中间桥梁,与标准数据元和清洗规则分别关联,可以实现标准数据元与清洗规则的解耦(相关技术中,技术人员直接为标准数据元配置用于执行数据清洗的正则表达式);因此,针对复杂的需要基于正则表达式构建的清洗规则,可以由专业的技术人员进行开发和预先配置,而普通用户无需手工配置和维护与标准数据元对应的清洗规则,仅需选择与标准数据元关联的命名实体,或者由命名实体管理单元自动确定与标准数据元关联的命名实体,就可以由数据清洗系统进一步地确定与关联的命名实体对应的清洗规则,并自动基于对应的清洗规则执行数据清洗,从而提升数据治理平台自动对业务数据执行数据清洗的效率。

通过以上技术方案可知,一方面,通过数据元管理系统确定与数据清洗系统获取到的业务数据关联的标准数据元,可以自动地对业务数据实现统一命名,进而为命名实体管理系统对标准数据元进行命名实体识别做准备;另一方面,通过命名实体管理系统分别计算标准数据元对应于每个预设的命名实体的预测分数,并将与最高的预测分数对应的命名实体,确定为与上述标准数据元关联的命名实体,可以实现自动识别与标准数据元对应的命名实体,进而实现了自动识别与业务数据对应的命名实体。

另一方面,数据清洗系统基于关联的命名实体,对获取到的业务数据执行数据清洗,可以实现业务数据或标准数据元与清洗规则的解耦,无需用户针对海量的业务数据或标准数据元分别构建清洗规则,只需要针对数量少得多的命名实体分别配置对应的清洗规则,从而提高数据治理平台对业务数据执行数据清洗的效率。

与上述命名实体识别方法的实施例对应的,本说明书还提供了一种命名实体识别装置的实施例。

本说明书的命名实体识别装置的实施例可以应用在电子设备上。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在电子设备的处理器,将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,请参见图4,图4是一示例性的实施例示出的一种命名实体识别装置所在电子设备的硬件结构图,除了图4所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的电子设备通常根据该电子设备的实际功能,还可以包括其他硬件,对此不再赘述。

请参见图5,图5是一示例性的实施例示出的一种命名实体识别装置的框图。该命名实体识别装置可以应用于图4所示的电子设备;上述命名实体识别装置可以包括:

数据元确定单元502,用于确定与业务数据关联的标准数据元;

计算单元504,用于分别计算上述标准数据元对应于每个预设的命名实体的预测分数;

命名实体确定单元506,用于从计算出的上述预测分数中,将与最高的预测分数对应的命名实体,确定为与上述标准数据元关联的命名实体。

在本实施例中,上述计算单元504,具体用于:

获取与上述标准数据元对应的若干枚举值;

分别基于与每个预设的命名实体对应的预设校验规则,对上述若干枚举值进行匹配;

对应于每个预设的命名实体,分别计算匹配的枚举值的数量占上述若干枚举值的总数量的比例,并确定与上述比例对应的规则分数;

基于上述标准数据元对应于每个预设的命名实体的上述规则分数,确定对应的预测分数。

在本实施例中,上述计算单元504,具体用于:

检测上述标准数据元是否有对应的字典表;

如果有,则获取与上述标准数据元对应的字典表中的所有字典名,作为与上述标准数据元对应的若干枚举值;

如果没有,则获取与上述业务数据对应的代码分布中的所有字段值,作为与上述标准数据元对应的若干枚举值。

在本实施例中,上述计算单元504,还用于:

分别计算上述标准数据元对应于每个预设的命名实体的语义相似度,并确定与上述语义相似度对应的语义分数;

上述计算单元504,具体用于:

按照预设权重,计算上述标准数据元对应于每个预设的命名实体的上述规则分数和上述语义分数的加权之和;

将上述加权之和确定为上述标准数据元对应于每个预设的命名实体的上述预测分数。

在本实施例中,上述计算单元504,具体还用于:

基于预训练的语言处理模型,分别生成与上述标准数据元以及每个预设的命名实体对应的词向量;

分别计算与上述标准数据元对应的词向量和与每个预设的命名实体对应的词向量之间的余弦相似度,并确定与上述余弦相似度对应的语义分数。

上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。

对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例只是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本说明书方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。

在一个典型的配置中,计算机包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。

内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。

计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带、磁盘存储、量子存储器、基于石墨烯的存储介质或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。

还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。

上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。

在本说明书一个或多个实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书一个或多个实施例。在本说明书一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。

应当理解,尽管在本说明书一个或多个实施例可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书一个或多个实施例范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。

以上所述仅为本说明书一个或多个实施例的较佳实施例而已,并不用以限制本说明书一个或多个实施例,凡在本说明书一个或多个实施例的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书一个或多个实施例保护的范围之内。

相关技术
  • 一种命名实体识别方法、装置、电子设备和存储介质
  • 一种命名实体识别方法、装置、电子设备及存储介质
技术分类

06120113194883