异常数据检测方法及装置、电子设备与流程

文档序号:27628139发布日期:2021-11-29 15:39阅读:114来源:国知局
异常数据检测方法及装置、电子设备与流程

1.本技术实施例涉及计算机技术领域,尤其涉及一种异常数据检测方法及装置、电子设备。


背景技术:

2.数据质量管理是数据治理系统的重要手段。在原始数据中存在各种形式的脏数据(dirty read),所述脏数据是指无实际业务意义、或者数据格式非法、或者存在不规范的编码、业务逻辑不清等异常情况的数据。如果不对脏数据进行处理,可能会对后续的数据应用造成较大的影响,甚至造成错误的决策。所述脏数据也可以称为异常数据。
3.解决脏数据问题的第一步,需要定位脏数据,即检测出数据中存在的异常数据;进一步才可以基于对脏数据的分析,对脏数据提出修复的建议。
4.在相关技术中,通常需要依靠人工的计算分析来实现对脏数据的检测,存在检测效果低的问题。
5.因此,需要提供一种高效的定位异常数据的方案。


技术实现要素:

6.为了解决异常数据的检测效率低的问题,本说明书实施例提供的一种异常数据检测方法及装置、电子设备。
7.根据本说明书实施例的第一方面,提供一种异常数据检测方法,所述方法包括:
8.计算待检测的数据表中数据列的可信权值,和所述数据列中各取值对的共现频率;其中,所述可信权值表示数据列中数据的可信程度,所述取值对包括相同数据行中不同数据列的两两取值组合;
9.将所述共现频率低于预设阈值的取值对确定为异常取值对;
10.以数据列为节点、异常取值对为连接关系、可信权值为节点权值,构建关系网络;
11.基于所述节点权值,计算所述关系网络中各节点的异常分;
12.将异常分大于阈值的节点对应的数据列确定为异常数据列;其中,所述异常数据列中的数据为异常数据。
13.根据本说明书实施例的第二方面,提供一种异常数据检测装置,所述装置包括:
14.第一计算模块,用于计算待检测的数据表中数据列的可信权值,和所述数据列中各取值对的共现频率;其中,所述可信权值表示数据列中数据的可信程度,所述取值对包括相同数据行中不同数据列的两两取值组合;
15.第一确定模块,用于将所述共现频率低于预设阈值的取值对确定为异常取值对;
16.网络构建模块,用于以数据列为节点、异常取值对为连接关系、可信权值为节点权值,构建关系网络;
17.第二计算模块,用于基于所述节点权值计算所述关系网络中各节点的异常分;
18.第二确定模块,用于将异常分大于阈值的节点对应的数据列确定为异常数据列;
其中,所述异常数据列中的数据为异常数据。
19.根据本说明书实施例的第三方面,提供一种电子设备,包括:
20.处理器;
21.用于存储处理器可执行指令的存储器;
22.其中,所述处理器被配置为上述任一项异常数据检测方法。
23.本说明书实施例提供了异常数据检测方案,可以提高异常数据的检测效率,快速且准确地从原始数据中检测出异常数据。具体利用异常数据在数据表中共现频率低的特点;以数据列为节点,以共现频率低的取值对为连接关系构建关系网络,进而利用数据列的可信权值定位关系网络中异常节点,从而确定异常节点对应的数据列为异常数据列,所述异常数据列中的数据为异常数据。
附图说明
24.图1是本说明书一实施例提供的异常数据检测方法的流程图;
25.图2是本说明书一实施例提供的关系网络的示意图;
26.图3是本说明书一实施例提供的全流程示意图;
27.图4是本说明书一实施例提供的异常数据检测装置的硬件结构图;
28.图5是本说明书一实施例提供的异常数据检测装置的模块示意图。
具体实施方式
29.这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本说明书相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本说明书的一些方面相一致的装置和方法的例子。
30.在本说明书使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书。在本说明书和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
31.应当理解,尽管在本说明书可能采用术语第一、第二等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在
……
时”或“当
……
时”或“响应于确定”。
32.本技术旨在提供一种异常数据检测方案,用于解决数据质量管理过程中检测脏数据效率较低的问题。利用异常数据在数据表中共现频率低的特点;以数据列为节点,以共现频率低的取值对为连接关系构建关系网络,进而利用数据列的可信权值定位关系网络中异常节点,从而确定异常节点对应的数据列为异常数据列,所述异常数据列中的数据为异常数据。如此可以提高异常数据的检测效率,快速且准确地从原始数据中检测出异常数据。
33.以下可以参考图1所示的一种异常数据检测方法为例加以介绍,所述方法可以包括以下步骤:
34.步骤110:计算待检测的数据表中数据列的可信权值,和所述数据列中各取值对的共现频率;其中,所述可信权值表示数据列中数据的可信程度,所述取值对包括相同数据行中不同数据列的两两取值组合。
35.本实施例可以应用于异常数据检测的处理端。所述处理端可以是包括服务器、服务器集群或由服务器集群构建的云平台。
36.本实施例可以用于检测数据表中的异常数据,利用数据表中异常取值对与数据表中正常取值对的共现频率低的特点,需要计算数据列中各取值对的共现频率。
37.在一示出的实施例中,计算所述数据列中各取值对的共现频率,可以包括:
38.获取数据表下,相同数据行中不同数据列的两两取值组合,得到所述数据列中各取值对;
39.计算所有取值对中,每种取值对的出现次数;
40.将每种取值对的出现次数除以所有取值对的总数,得到每种取值对的共现频率。
41.在一示出的实施例中,计算待检测的数据表中数据列的可信权值,可以包括:
42.计算待检测的数据表中数据列的数据分布;
43.在所述数据分布符合预设分布规律时,将所述预设分布规律对应的可信权值确定为所述数据列的可信权值。
44.在实际应用中,数据的可信度可以基于数据分布是否符合业务经验来确定。例如,假设根据历史业务的数据符合正态分布,那么当前数据列中数据的数据分别也应当符合正态分布。因此,如果计算得到待检测的数据表中数据列的数据分布符合正态分布,那么可以认为是可信的,进而可以为其设置较高的可信权值。
45.该示例中,通过计算当前数据列的数据分布,结合业务经验确定的预设分布规律,可以得到数据列的可信权值。
46.在一示出的实施例中,计算待检测的数据表中数据列的可信权值,可以包括:
47.计算待检测的数据表中数据列的取值类型;
48.将所述取值类型对应的可信权值确定为所述数据列的可信权值。
49.在实际应用中,一般针对存储有业务意义数据的数据列,其数据列的取值类型会设置为枚举型;因此针对枚举型的数据列可以结合一定的业务经验,以设置一个较高或较低的可信权值。
50.而针对无业务意义(例如序号)的数据列,其数据列的取值类型会设置为整形;因此针对整形的数据列可以设置一个较低的可信权值。
51.该示例中,不同取值类型可以对应不同的可信权值。从数据列的取值类型来确定可信权值。
52.在有的示例中,还可以根据数据列中数据的来源,确定数据列的可信权重。通常,数据表中数据来源于不同的数据源,而根据不同数据源的可信程度,可以确定对应数据列的可信权值。
53.例如,当数据源的可信程度较高时,则对应的数据列可以设置较高的可信权值;当数据源的可信程度较低时,则对应的数据列可以设置较低的可信权值。
54.需要说明的是,上述几种可信权值的计算方式可以单独配置使用,也可以组合后使用。
55.在一示例性的实施中,所述计算所述数据列中各取值对的共现频率,包括:
56.针对枚举型取值的数据列,计算数据列中各取值对的共现频率。
57.由于本实施例利用的是异常数据在数据表中共现频率低的特点,而在各种数据类型中,一般的枚举型取值的数据列才存在共现频率高的取值对;另外少量取值的数值型字段也可能存在共现频率高的取值对。而非枚举型的数据列中数据通常不存在共现频率高的取值对,通常无法适用本说明书实施方式。
58.步骤120:将所述共现频率低于预设阈值的取值对确定为异常取值对。
59.在计算出数据列中各取值对的共现频率之后,就可以利用数据表中异常取值对与数据表中正常取值对的共现频率低的特点,确定一个预设阈值。其中,所述预设阈值可以是人为定义的一个经验值。
60.在取值对的共现频率低于该预设阈值时,就可以确定该取值对为异常取值对;
61.在取值对的共现频率高于该预设阈值时,就可以确定该取值对为正常取值对。
62.步骤130:以数据列为节点、异常取值对为连接关系、可信权值为节点权值,构建关系网络。
63.请参考图2所示的关系网络的示意图,列1为数据表中数据列1,列2为数据表中数据列2,列3为数据表中数据列3,列4为数据表中数据列4;数据列1的可信权值为1,数据列2的可信权值为3,数据列3的可信权值为1,数据列4的可信权值为2;数据列1和数据列2之间存在异常取值对,数据列2与数据列3之间存在异常取值对,数据列2与数据列4之间存在异常取值对。
64.步骤140:基于所述节点权值,计算所述关系网络中各节点的异常分。
65.由于关系网络中的连线反映的是数据列之间的异常取值对,因此,通过具有关联的相邻节点之间的节点权值可以计算得出各节点的异常分。
66.在一示例性的实施例中,所述步骤140,可以包括:
67.针对每个节点,计算与之连接的邻接节点的节点权值之和;
68.将所述节点权值之和确定为节点的异常分。
69.继续参考图2所示的关系网络,针对列1,由于列1仅与列2相连,因此列1的异常分即为列2的节点权值,得到列1的异常分为3。
70.针对列2,由于列2与列1、3、4均相连,因此需要计算列1、3、4的节点权值之和(1+1+2=4),得到列2的异常分为4。
71.针对列3,由于列3仅与列2相连,因此列3的异常分即为列2的节点权值,得到列1的异常分为3。
72.针对列4,由于列4仅与列2相连,因此列4的异常分即为列2的节点权值,得到列1的异常分为3。
73.步骤150:将异常分大于阈值的节点对应的数据列确定为异常数据列;其中,所述异常数据列中的数据为异常数据。
74.在实现时,可以将异常分大于阈值的节点作为异常节点,以将异常节点对应的数据列确定为异常数据列。
75.一般的,对于异常分大于阈值的节点,可以按照异常分大小进行排序。由于异常分越大说明异常数据越多或者存在异常数据可能性越大,因此可以将异常分从大到小排序,
并将排序结果推送给异常处理方进行处理。
76.在一实施例中,可以是将异常分最大的节点对应的数据列确定为异常数据列。
77.继续参考图2,如前所述由于列2的异常分最高,因此可以将列2节点对应的数据列2确定为异常数据列。
78.本说明书实施例提供了异常数据检测方案,可以提高异常数据的检测效率,快速且准确地从原始数据中检测出异常数据。具体利用异常数据在数据表中共现频率低的特点;以数据列为节点,以共现频率低的取值对为连接关系构建关系网络,进而利用数据列的可信权值定位关系网络中异常节点,从而确定异常节点对应的数据列为异常数据列,所述异常数据列中的数据为异常数据。
79.本说明书除了提供异常数据检测的方案之外,还提供有异常数据的修正方案。同样利用异常数据在数据表中共现频率低的特点,将共现频率高的取值对作为参考取值对存储到参考词典,为异常取值对的修正提供参考依据。
80.以下介绍参考词典,在前述图1实施例的基础上,在上述步骤110之后,还可以包括:
81.将所述共现频率高于预设阈值,且可信权值大于可信阈值的取值对作为参考取值对存储到参考词典。
82.进一步的,在步骤150之后,还可以包括:
83.步骤160,基于所述参考词典,对所述异常数据列中的数据进行修正。
84.该示例中,对高频率出现的取值对,当其大于可信阈值时,则可以形成参考词典,用于异常取值对的参考修正。
85.在一示例性的实施例中:
86.确定异常数据列对应在所述关系网络中节点的邻接节点;
87.查询所述参考词典中,所述邻接节点对应数据列的取值对;
88.将所述参考词典中邻接节点对应数据列的取值对,作为修正数据覆盖所述异常数据列中的数据。
89.依然参考图2所示的关系网络,如前所述可以确定列2为异常数据列,而列1、3、4均为正常数据列;因此可以将列1、3、4在参考词典中的取值对作为参考数据,修正列2中的异常数据。
90.其中,由于参考数据存在多种,在修正时可以基于预设规则进行修正。例如,从中随机选择一种参考数据覆盖异常数据列中的异常数据。再例如,综合多种参考数据,先得到一个综合参考数据,然后将综合参考数据覆盖异常数据。
91.针对修正失败的异常数据,可以记录修正失败的异常数据,并给出异常建议,例如修正失败的原因比如缺少修正的参考数据;
92.针对修正成功的异常数据,将修正后的异常数据剔除后,继续修正下一个异常数据,直到没有可修正的异常数据列。具体地,包括:
93.在修正所述异常数据列中的数据之后,重新执行所述步骤110至步骤160,直至没有异常数据列。
94.综上所述,本说明书实施例利用异常数据在数据表中共现频率低的特点,设计了新的异常数据检测方案,快速且准确地从数据表中检测出异常数据。另外,结合共现频率高
的取值对形成的参考词典,为异常取值对的修正提供参考依据。整个过程可以实现自动化执行,答复提高异常检测效率和异常修正效率。
95.以下请参考图3所示的全流程的示意图为例加以说明。处理端首先需要计算待检测的数据表中数据列的可信权值,和计算所述数据列中各取值对的共现频率。然后,一方面可以将所述共现频率高于预设阈值,且可信权值大于可信阈值的取值对作为参考取值对存储到参考词典;另一方面可以将所述共现频率低于预设阈值的取值对确定为异常取值对。接着,以数据列为节点、异常取值对为连接关系、可信权值为节点权值,构建关系网络;基于节点权值,计算关系网络中各节点的异常分;将异常分大于阈值的节点对应的数据列确定为异常数据列。然后可以利用参考词典对异常数据列进行修正。
96.在修正了异常数据列之后,可以刷新异常值对并更新关系网络(即重新执行前述步骤);判断是否存在可修正的异常值对(即可以利用参考词典进行修正),如果是利用参考词典继续修正;如果没有可修正的异常值对,则退出异常数据检测。
97.与前述异常数据检测方法实施例相对应,本说明书还提供了异常数据检测装置的实施例。所述装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在设备的处理器将非易失性存储器中对应的计算机业务程序指令读取到内存中运行形成的。从硬件层面而言,如图4所示,为本说明书异常数据检测装置所在设备的一种硬件结构图,除了图4所示的处理器、网络接口、内存以及非易失性存储器之外,实施例中装置所在的设备通常根据异常数据检测实际功能,还可以包括其他硬件,对此不再赘述。
98.请参见图5,为本说明书一实施例提供的异常数据检测装置的模块图,所述装置对应了图1所示实施例,所述装置包括:
99.第一计算模块310,用于计算待检测的数据表中数据列的可信权值,和所述数据列中各取值对的共现频率;其中,所述可信权值表示数据列中数据的可信程度,所述取值对包括相同数据行中不同数据列的两两取值组合;
100.第一确定模块320,用于将所述共现频率低于预设阈值的取值对确定为异常取值对;
101.网络构建模块330,用于以数据列为节点、异常取值对为连接关系、可信权值为节点权值,构建关系网络;
102.第二计算模块340,用于基于所述节点权值计算所述关系网络中各节点的异常分;
103.第二确定模块350,用于将异常分最高的节点对应的数据列确定为异常数据列;其中,所述异常数据列中的数据为异常数据。
104.可选的,所述第一计算模块310包括:
105.第三计算模块,用于计算待检测的数据表中数据列的数据分布;
106.第三确定模块,用于在所述数据分布符合预设分布规律时,将所述预设分布规律对应的可信权值确定为所述数据列的可信权值。
107.可选的,所述第一计算模块310包括:
108.第三计算模块,用于计算待检测的数据表中数据列的取值类型;
109.第三确定模块,用于将所述取值类型对应的可信权值确定为所述数据列的可信权值。
110.可选的,所述第二计算模块340包括:
111.第三计算模块,用于针对每个节点,计算与之连接的邻接节点的节点权值之和;
112.第三确定模块,用于将所述节点权值之和确定为节点的异常分。
113.可选的,所述装置还包括:
114.存储模块,用于将所述共现频率高于预设阈值,且可信权值大于可信阈值的取值对作为参考取值对存储到参考词典。
115.可选的,所述装置还包括:
116.修正模块,用于基于所述参考词典对所述异常数据列中的数据进行修正。
117.可选的,所述装置还包括:
118.迭代控制模块,用于在所述修正模块之后,重新执行所述第一计算模块310至所述修正模块,直至没有异常数据列。
119.可选的,所述修正模块,包括:
120.第四确定模块,用于确定异常数据列对应在所述关系网络中节点的邻接节点;
121.查询模块,用于查询所述参考词典中,所述邻接节点对应数据列的取值对;
122.覆盖模块,用于将所述参考词典中邻接节点对应数据列的取值对,作为修正数据覆盖所述异常数据列中的数据。
123.可选的,所述第一计算模块310还用于针对枚举型取值的数据列,计算数据列中各取值对的共现频率。
124.可选的,所述第二确定模块350,还用于将异常分最大的节点对应的数据列确定为异常数据列。
125.上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
126.上述装置中各个模块的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
127.对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本说明书方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
128.以上图5描述了异常数据检测装置的内部功能模块和结构示意,其实质上的执行主体可以为一种电子设备,包括:
129.处理器;
130.用于存储处理器可执行指令的存储器;
131.其中,所述处理器被配置为执行前述任一实施例所述的异常数据检测方法。
132.在上述电子设备的实施例中,应理解,该处理器可以是中央处理单元(英文:
central processing unit,简称:cpu),还可以是其他通用处理器、数字信号处理器(英文:digital signal processor,简称:dsp)、专用集成电路(英文:application specific integrated circuit,简称:asic)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,而前述的存储器可以是只读存储器(英文:read

only memory,缩写:rom)、随机存取存储器(英文:random access memory,简称:ram)、快闪存储器、硬盘或者固态硬盘。结合本技术实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
133.本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于电子设备实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
134.本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本说明书的其它实施方案。本说明书旨在涵盖本说明书的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本说明书的一般性原理并包括本说明书未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本说明书的真正范围和精神由下面的权利要求指出。
135.应当理解的是,本说明书并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本说明书的范围仅由所附的权利要求来限制。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1