CN111738358B - 一种数据识别方法、装置、设备和可读介质 - Google Patents

一种数据识别方法、装置、设备和可读介质 Download PDF

Info

Publication number
CN111738358B
CN111738358B CN202010722262.4A CN202010722262A CN111738358B CN 111738358 B CN111738358 B CN 111738358B CN 202010722262 A CN202010722262 A CN 202010722262A CN 111738358 B CN111738358 B CN 111738358B
Authority
CN
China
Prior art keywords
data
state transition
sample
data set
character
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202010722262.4A
Other languages
English (en)
Other versions
CN111738358A (zh
Inventor
刘佳伟
王德胜
章鹏
张谦
贾茜
刘洋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alipay Hangzhou Information Technology Co Ltd
Original Assignee
Alipay Hangzhou Information Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Alipay Hangzhou Information Technology Co Ltd filed Critical Alipay Hangzhou Information Technology Co Ltd
Priority to CN202010722262.4A priority Critical patent/CN111738358B/zh
Publication of CN111738358A publication Critical patent/CN111738358A/zh
Application granted granted Critical
Publication of CN111738358B publication Critical patent/CN111738358B/zh
Priority to US17/362,022 priority patent/US11314897B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • G06F21/6254Protecting personal data, e.g. for financial or medical purposes by anonymising data, e.g. decorrelating personal data from the owner's identification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • G06F18/2155Generating training patterns; Bootstrap methods, e.g. bagging or boosting characterised by the incorporation of unlabelled data, e.g. multiple instance learning [MIL], semi-supervised techniques using expectation-maximisation [EM] or naïve labelling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/16Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/22Matching criteria, e.g. proximity measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/02Comparing digital values
    • G06F7/023Comparing digital values adaptive, e.g. self learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/76Arrangements for rearranging, permuting or selecting data according to predetermined rules, independently of the content of the data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/01Probabilistic graphical models, e.g. probabilistic networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Analysis (AREA)
  • Computational Mathematics (AREA)
  • Software Systems (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Algebra (AREA)
  • Computing Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Biology (AREA)
  • Medical Informatics (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Probability & Statistics with Applications (AREA)
  • Image Analysis (AREA)
  • User Interface Of Digital Computer (AREA)
  • Machine Translation (AREA)

Abstract

本说明书实施例公开了一种数据识别方法、装置、设备和计算机可读介质。方案包括:获取第一数据集,所述第一数据集中的数据样本为待识别字段的至少部分数据;获取基于第二数据集中的数据样本统计得到的状态转移矩阵集合,所述第二数据集中数据样本的数据类型是已知的;基于所述状态转移矩阵集合,确定所述第一数据集中各数据样本对应的样本状态转移概率;确定所述第一数据集中所述样本状态转移概率大于第一阈值的数据样本的数量相对所述第一数据集中数据样本的总数量的比例;若所述比例大于第二阈值,则将所述待识别字段对应的数据确定为与所述第二数据集中的数据样本具有相同的数据类型。

Description

一种数据识别方法、装置、设备和可读介质
技术领域
本申请涉及计算机技术领域,尤其涉及一种数据识别方法、装置、设备和计算机可读介质。
背景技术
现有技术中,当想要识别出目标类型的数据时,通常可以采用与该目标类型对应的内置规则来进行识别,内置规则可以是特定的正则表达式或预先训练的多分类模型。然而,由于这些预先准备或训练的内置规则无法覆盖全部的数据类型,而当用户想要识别的目标数据类型并不具有对应的预设内置规则时,就无法实现对目标数据的识别。
由此,需要提供一种能够适应用户需求的、适用范围广的数据识别方法。
发明内容
本说明书实施例提供一种数据识别的方法、装置、设备和计算机可读介质,以提供一种能够适应用户需求的、适用范围广的数据识别方案。
为解决上述技术问题,本说明书实施例是这样实现的:
本说明书实施例提供的一种数据识别方法,包括:获取第一数据集,所述第一数据集中的数据样本为待识别字段的至少部分数据;获取基于第二数据集中的数据样本统计得到的状态转移矩阵集合;所述第二数据集中数据样本的数据类型是已知的;所述状态转移矩阵集合中包含多个状态转移矩阵,其中,一个状态转移矩阵用于表示,所述第二数据集中的数据样本中的一个字符位置处的第一字符取值,相对所述一个字符位置的下一字符位置处的第二字符取值的各种状态转移情况的概率;基于所述状态转移矩阵集合,确定所述第一数据集中各数据样本对应的样本状态转移概率;所述样本状态转移概率表示对应的所述数据样本的数据类型与所述第二数据集中数据样本的数据类型的相似程度;确定所述第一数据集中所述样本状态转移概率大于第一阈值的数据样本的数量相对所述第一数据集中数据样本的总数量的比例;若所述比例大于第二阈值,则将所述待识别字段对应的数据确定为与所述第二数据集中的数据样本具有相同的数据类型。
本说明书实施例提供的一种数据识别装置,包括:第一数据集获取模块,用于获取第一数据集,所述第一数据集中的数据样本为待识别字段的至少部分数据;状态转移矩阵集合获取模块,用于获取基于第二数据集中的数据样本统计得到的状态转移矩阵集合;所述第二数据集中数据样本的数据类型是已知的;所述状态转移矩阵集合中包含多个状态转移矩阵,其中,一个状态转移矩阵用于表示,所述第二数据集中的数据样本中的一个字符位置处的第一字符取值,相对所述一个字符位置的下一字符位置处的第二字符取值的各种状态转移情况的概率;样本状态转移概率确定模块,用于基于所述状态转移矩阵集合,确定所述第一数据集中各数据样本对应的样本状态转移概率;所述样本状态转移概率表示对应的所述数据样本的数据类型与所述第二数据集中数据样本的数据类型的相似程度;第一确定模块,用于确定所述第一数据集中所述样本状态转移概率大于第一阈值的数据样本的数量相对所述第一数据集中数据样本的总数量的比例;第二确定模块,用于若所述比例大于第二阈值,则将所述待识别字段对应的数据确定为与所述第二数据集中的数据样本具有相同的数据类型。
本说明书实施例提供的一种数据识别设备,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够:
获取第一数据集,所述第一数据集中的数据样本为待识别字段的至少部分数据;
获取基于第二数据集中的数据样本统计得到的状态转移矩阵集合;所述第二数据集中数据样本的数据类型是已知的;所述状态转移矩阵集合中包含多个状态转移矩阵,其中,一个状态转移矩阵用于表示,所述第二数据集中的数据样本中的一个字符位置处的第一字符取值,相对所述一个字符位置的下一字符位置处的第二字符取值的各种状态转移情况的概率;
基于所述状态转移矩阵集合,确定所述第一数据集中各数据样本对应的样本状态转移概率;所述样本状态转移概率表示对应的所述数据样本的数据类型与所述第二数据集中数据样本的数据类型的相似程度;
确定所述第一数据集中所述样本状态转移概率大于第一阈值的数据样本的数量相对所述第一数据集中数据样本的总数量的比例;
若所述比例大于第二阈值,则将所述待识别字段对应的数据确定为与所述第二数据集中的数据样本具有相同的数据类型。
本说明书实施例提供的一种计算机可读介质,其上存储有计算机可读指令,所述计算机可读指令可被处理器执行以实现一种数据识别方法。
本说明书的至少一个实施例实现了:通过获取已知数据类型的第二数据集的状态转移矩阵集合,基于该状态转移矩阵集合,计算待识别字段对应的第一数据集中各数据样本的样本状态转移概率,从而,若样本状态转移概率满足第一阈值的数据样本的数量相对所述第一数据集的比例达到第二阈值,则将所述第一数据集中的数据样本确定为所述已知数据类型,将所述第一数据集中数据样本所属字段对应的数据均确定为所述已知数据类型。该方案中,由于基于已知数据类型的数据的统计信息来识别待识别数据的数据类型,无需预先进行数据打标,无需提前撰写识别规则或训练相关模型,适用范围广,并且方案耗费的人力资源和计算机资源均较少。
附图说明
为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本说明书实施例提供的一种数据识别方法的流程示意图;
图2为本说明书实施例提供的一种数据识别方法的原理示意图;
图3为本说明书实施例提供的对应于图1的一种数据识别装置的结构示意图;
图4为本说明书实施例提供的对应于图1的一种数据识别设备的结构示意图。
具体实施方式
目前,当进行目标数据的数据类型识别时,用户可以采用相应的预设正则表达式或者提前训练的多分类模型来进行识别。本申请的实施例中,用户指的是想要对目标数据进行识别的人员。
正则表达式(Regular Expression),又称正则表示式、正则表示法、规则表达式、常规表示法,其基于约定的语法规则,构建单个字符串来描述、匹配一系列符合某个句法规则的字符串。例如,对于手机号可以用正则表达式“^1[3-9][0-9]{9}$”来表示,匹配该正则表达式的数据可以被识别为手机号。目前,规则开发人员可以为常见的数据类型撰写相应的规则,并将预设的规则内置供用户使用,但是由于内置的规则无法覆盖全部的数据类型,适用范围非常受限:当用户想要识别的数据类型没有相应的预设规则时,用户需求就无法实现;并且,内置规则的撰写需要专业人士参与,人力资源消耗大。
基于多分类模型(Multi-classification)来识别目标数据的数据类型的方法,是有监督学习(Supervised Learning)方法的一种。需要预先收集已知数据类型的数据作为训练数据,并对各已知数据类型的数据进行打标,然后通过机器学习或深度学习算法来训练多分类模型;之后,对于需要检测的数据,通过该多分类模型进行识别,输出后验概率最大的类别作为待识别数据的数据类型。该基于训练多分类模型的数据类型识别方法,需要预先标注数据,比较耗费人力成本;并且,多分类模型的训练需要耗费较多GPU或CPU资源;再者,由于模型需要花费较长时间来预先训练,使得,当用户想要识别的数据类型没有相应的预先训练的模型时,用户需求就无法实现。
由于耗费资源多,适用范围受限等原因,上述现有的对目标数据的数据类型进行识别的方案均为被动识别方案。被动识别可以是指,由开发人员提供用于识别某一种或多种类型的数据的规则或模型,当用户想要从数据库中识别出某类型的数据时,可以直接使用预先配置的规则或模型。显然,当用户在使用被动识别服务时,只能够识别已有的规则或模型覆盖的数据类型,而对于已有的规则或模型无法覆盖的数据类型,则无法识别,用户需求无法满足。
在本申请的实施例中,提供了一种数据识别方案,更具体地,提供了一种适用范围广的数据类型识别方案。不仅适用于被动识别,还可以适用于主动识别。主动识别可以是指,在没有预先训练和提供用于识别某类型的数据的识别模型(例如,正则规则、多分类模型、预言模型等)的情况下,用户实现对数据的识别。进行数据主动识别的主要流程可以包括:由用户主动指定数据库中某些数据为已知类型的数据,然后如本申请实施例所述的算法或模型可以依据指定的数据学习出一定模式,进而从数据库中筛选出与该指定的数据模式相近或相同的数据。
本申请的实施例提供的数据识别方法,属于无监督学习(UnsupervisedLearning)方法,无需事先标记训练样本,基于统计的方法来自动对输入的数据进行分类或分群,方案的复杂度低,对人力资源和计算资源的依赖较低,效率高,可以应用于主动识别和被动识别,应用场景和适用范围广。
为使本说明书一个或多个实施例的目的、技术方案和优点更加清楚,下面将结合本说明书具体实施例及相应的附图对本说明书一个或多个实施例的技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本说明书的一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本说明书一个或多个实施例保护的范围。
应当理解,尽管在本说明书中采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。
以下结合附图,详细说明本说明书各实施例提供的技术方案。
图1为本说明书实施例提供的一种数据识别方法的流程示意图。从程序角度而言,流程的执行主体可以为搭载于应用服务器或应用终端的程序。
如图1所示,该流程可以包括以下步骤:
步骤102:获取第一数据集,所述第一数据集中的数据样本为待识别字段的至少部分数据。
其中,所述第一数据集可以是待识别的数据的集合,所述待识别字段可以是所述待识别的数据所属的字段。
在本申请的实施例中,可以通过识别数据库中某字段的至少部分数据的数据类型,来识别该字段的数据类型,由此,该字段的所有数据均认为属于该数据类型。基于待识别字段的至少部分数据而非直接使用全部数据来识别待识别字段,节约了计算资源,提高了识别效率。
可选地,可以获取待识别字段的不小于预定数量的数据,作为所述第一数据集;也可以获取待识别字段的不小于预定比例的数据,作为所述第一数据集;也可以获取待识别字段的不小于预定数量且不小于预定比例的数据,作为所述第一数据集。在前述可选的方案中,将实际被识别的样本量设置为满足不小于预定数量和/或预定比例,可以进一步提升基于这些样本得到的对待识别字段的数据类型判断结果的准确性。
步骤104:获取基于第二数据集中的数据样本统计得到的状态转移矩阵集合;所述第二数据集中数据样本的数据类型是已知的;所述状态转移矩阵集合中包含多个状态转移矩阵,其中,一个状态转移矩阵用于表示,所述第二数据集中的数据样本中的一个字符位置处的第一字符取值,相对所述一个字符位置的下一字符位置处的第二字符取值的各种状态转移情况的概率。
在本申请中,可以基于样本的统计信息来对数据进行识别。具体地,可以基于已知数据类型的数据,通过计算数据样本中字符与字符之间的依赖关系的统计信息,来确定待识别的数据是否为所述已知数据类型的数据。
在本申请的实施例中,一个状态转移矩阵集合可以是基于一个第二数据集中的所有数据样本统计得到的。一个状态转移矩阵集合中可以包含多个状态转移矩阵。
状态,可以是指数据样本中的字符值。状态转移,可以是指数据样本中从一个字符位置处的字符值到另一字符位置处的字符值的变化情况,其中,所述另一字符位置可以是所述一个字符位置的下一字符位置(或称,后一字符位置)。状态转移矩阵中的值,可以用于表示从一个字符位置处各数据样本对应的字符值到另一字符位置处的各数据样本对应的字符值的变化情况的统计信息。
在本申请的实施例中,一个第二数据集中的所有数据样本的样本长度可以相等,即,一个第二数据集中的各数据样本中包含的字符数量相等。由此,第二数据集对应的状态转移矩阵集合中的一个状态转移矩阵,可以对应于所述第二数据集中的数据样本的一个字符位置。具体地,一个状态转移矩阵可以对应于,数据样本的一个字符位置处的字符取值相对另一字符位置处的字符取值的各种状态转移情况的概率。
步骤106:基于所述状态转移矩阵集合,确定所述第一数据集中各数据样本对应的样本状态转移概率;所述样本状态转移概率表示对应的所述数据样本的数据类型与所述第二数据集中数据样本的数据类型的相似程度。
在本申请的实施例中,将基于已知数据类型的第二数据集统计得到各个字符位置对应的各种状态转移情况的概率,作为该已知数据类型的任意数据的各个字符位置对应的各种状态转移情况的概率。对于第一数据集中的任意数据样本,可以基于该数据样本的各个字符位置对应的实际状态转移情况,来确定该数据样本的各个字符位置对应的状态转移概率值,进而得到该数据样本的样本状态转移概率。实际上,由于各种状态转移情况的概率是基于第二数据集统计得到的,那么,根据所述得到的各种状态转移情况的概率来计算得到的待识别数据样本对应的样本状态转移概率,可以用于表示该待识别数据样本与第二数据集中的数据样本的数据类型的相似程度。
步骤108:确定所述第一数据集中所述样本状态转移概率大于第一阈值的数据样本的数量相对所述第一数据集中数据样本的总数量的比例。
步骤108具体可以包括:对于第一数据集中的每个数据样本,确定其对应的样本状态转移概率是否大于第一阈值,若是,将所述数据样本确定为预识别数据样本;统计被确定为预识别数据样本的数量,作为第一数量;计算所述第一数量与所述第一数据集中数据样本的总数量的比值。
步骤110:若所述比例大于第二阈值,则将所述待识别字段对应的数据确定为与所述第二数据集中的数据样本具有相同的数据类型。
步骤110具体可以包括:判断所述第一数量与所述第一数据集中数据样本的总数量的比值,是否大于第二阈值,若是,则将第一数据集中的数据样本确定为所述已知数据类型的数据,进而,将所述待识别字段确定为所述已知数据类型的字段;若否,则确定所述第一数据集中的数据样本不是所述已知数据类型的数据,所述待识别字段不是所述已知数据类型的字段。
应当理解,本说明书一个或多个实施例所述的方法其中部分步骤的顺序可以根据实际需要相互交换,或者其中的部分步骤也可以省略或删除。
图1中的方法,通过基于已知数据类型的第二数据集统计得到状态转移矩阵集合,然后基于该状态转移矩阵集合中的字符状态转移概率值,计算待识别字段对应的第一数据集中各数据样本的样本状态转移概率,从而,若样本状态转移概率满足第一阈值的数据样本的数量相对所述第一数据集的比例达到第二阈值,则将所述第一数据集中的数据样本确定为所述已知数据类型,将所述第一数据集中数据样本所属字段对应的数据均确定为所述已知数据类型。该方案中,由于基于已知数据类型的数据样本的统计信息来识别待识别数据样本的数据类型,无需预先进行数据打标,无需提前撰写识别规则或训练相关模型,适用范围广,并且方案耗费的人力资源和计算机资源均较少。
基于图1的方法,本说明书实施例还提供了该方法的一些具体实施方案,下面进行说明。
在本申请的实施例中,基于数据样本的字符转移情况的统计信息来达到识别数据类型的目的,既可以预先提取数据统计量信息,然后依据被动识别的流程加以利用,也可以嵌套在主动识别的流程中,适用范围广,可以适用于对用户自选类型数据的识别。
具体地,所述获取基于第二数据集中的数据样本统计得到的状态转移矩阵集合(步骤104)之前,还可以包括:基于所述第二数据集中的数据样本,确定各字符位置对应的状态转移矩阵,得到所述状态转移矩阵集合。
本申请实施例的方案可以应用于用户主动识别的场景。从用户的角度,可以指定一些已知类型的数据作为第二数据集。从程序的角度,可以获取用户指定的第二数据集并确定所述第二数据集的统计量信息,并执行步骤102至步骤110,以确定出数据库中的与该选定数据集的数据类型相同的数据和字段。
在上述用户主动识别场景中,获取第二数据集并计算第二数据集的统计量信息的步骤,与步骤102至步骤110可以在同一设备上顺序地执行,更具体地,可以在用户进行数据识别的过程中顺序地执行。
传统的数据识别方案中,基于正则规则的识别方法需要预先撰写针对特定类型数据的规则,基于多分类模型的识别方法需要提前标注大量数据样本并提前训练模型,这些方案只能应用于被动识别的场景,而本申请的实施例的方案,属于无监督方案,即便没有预先撰写的正则规则或预先训练的多分类模型,也可以基于用户选定的已知类型的数据,来方便地通过统计量信息来识别出相似模型的数据。
本申请的实施例的方案可以应用于被动识别场景。在实际应用中,可以直接为用户提供基于某类型的数据计算得到的统计量信息,使得,用户可以利用该提供的统计量信息,来确定出具有与所述某类型类似的数据。从用户的角度,可以选择获取特定类型的数据的统计量信息。从程序的角度,可以执行步骤102至步骤110,来确定出数据库中的与特定类型的数据的类型相同的数据和字段。
在上述用户被动识别场景中,一些类型的数据量统计信息是提前计算好提供给用户的,由此,与后续步骤102至步骤110可以在不同设备上且在不同时间阶段执行。
无论应用于用户主动识别场景或用户被动识别场景,由于基于统计量信息来进行数据识别,计算量小,节约大量的计算资源,并且耗时短,效率高,使得数据识别过程可以做到准实时。
在本申请至少一个实施例中,所述基于所述第二数据集中的数据样本,确定各字符位置对应的状态转移矩阵之前,还可以包括:获取给定数据集,所述给定数据集中数据样本的数据类型是已知的;从所述给定数据集中确定至少一个第二数据集,同一第二数据集中的数据样本具有相同的长度。
本申请的实施例可以基于假设:同种数据类型的数据在长度分布上是相同或相似的。由此,可以在第一数据集与第二数据集的数据样本的长度相同的情况下,再继续判断所述第一数据集与所述第二数据集是否为同类型数据。
由此,所述获取基于第二数据集中的数据样本统计得到的状态转移矩阵集合,具体可以包括:根据所述第一数据集中数据样本的长度,获取相应的状态转移矩阵集合;其中,所述相应的状态转移矩阵集合对应的第二数据集中的数据样本的长度与所述第一数据集中数据样本的长度相同。
可选地,从另一角度来讲,所述基于所述状态转移矩阵集合,确定所述第一数据集中各数据样本对应的样本状态转移概率(步骤106)之前,还可以包括:确定所述第一数据集中数据样本的样本长度与所述第二数据集中数据样本的样本长度相同。
在上述实施例中,由于在基于状态转移统计信息进行数据识别之前,考虑样本长度情况,使得方案具有高度的容错性,即便在数据集中出现噪声样本的情况下,该数据识别方案也能保持足够的鲁棒性。
在本申请至少一个实施例中,所述基于所述状态转移矩阵集合,确定所述第一数据集中各数据样本对应的样本状态转移概率(步骤106),具体可以包括:对于所述第一数据集中的数据样本,基于所述状态转移矩阵集合,获取所述数据样本中各字符位置对应的字符状态转移概率;基于所述数据样本中各字符位置对应的字符状态转移概率,计算所述数据样本对应的样本状态转移概率。在实际应用中,对于所述第一数据集中的每个数据样本,均执行:基于所述状态转移矩阵集合,获取该数据样本中各字符位置对应的字符状态转移概率;基于该数据样本中各字符位置对应的字符状态转移概率,计算该数据样本对应的样本状态转移概率。
可选地,所述基于所述状态转移矩阵集合,获取所述数据样本中各字符位置对应的字符状态转移概率,具体可以包括:确定所述数据样本的第一字符位置处的第一字符取值;确定所述第一字符位置的下一字符位置处的第二字符取值;从所述状态转移矩阵集合中,确定与所述第一字符位置对应的第一状态转移矩阵;根据所述第一字符取值与所述第二字符取值,从所述第一状态转移矩阵中获取与所述第一字符位置对应的第一状态转移概率。
可选地,所述计算所述数据样本对应的样本状态转移概率,具体可以包括:计算所述数据样本中各字符位置对应的字符状态转移概率的乘积,作为所述数据样本对应的样本状态转移概率。
在本申请至少一个实施例中,所述确定所述第一数据集中所述样本状态转移概率大于第一阈值的数据样本的数量相对所述第一数据集中数据样本的总数量的比例之前,还可以包括确定第一阈值,具体地:基于所述状态转移矩阵集合,确定所述第二数据集中各数据样本对应的状态出现概率;将所述第二数据集中各数据样本对应的状态出现概率的预设分位值,作为第一阈值。可选的,可以将所述第二数据集中各数据样本对应的状态出现概率的95分位值,作为第一阈值。
在该实施例中,第一阈值被用于判断待识别的数据样本是否为与所述第二数据集中的数据样本同类型的数据。可选地,该第一阈值可以基于人工经验确定。优选地,在实际操作过程中,可以选取训练集样本概率的95分位值作为第一阈值,阈值的设定更加准确、高效。
在可选的实施例中,该第一阈值的确定方法可以包括:根据所述状态转移矩阵集合,计算所述第二数据集中每个数据样本对应的样本状态转移概率;对计算得到的各数据样本对应的样本状态转移概率进行排序;将排序结果中预定分位值对应的概率值,作为所述第一阈值,例如,将排序结果中95分位值对应的概率值,作为所述第一阈值。
以数据样本“13912345678”为例,该数据样本的样本状态转移概率的计算过程为:先确定各相邻位置间数值的实际状态转移概率,即,确定数字1到3、数字3到9、数字9到1、……、数字7到8的转移概率为依次为p 1p 2p 3……,p 10,则该数据样本的样本状态转移概率可以为
Figure DEST_PATH_IMAGE001
。假设第二数据集中具有100条类似的数据样本,则可以计算出该100条数据样本的样本状态转移概率分别为P1至P100,那么,将95分位值对应的概率值确定为第一阈值的过程为:按照值从大到小的顺序对P1至P100进行排序,取前95%的数据样本中的最后一个数据样本的样本状态转移概率(本例中,为排序后第95个数据样本的样本状态转移概率)即为95分位值(记为P(95%)),作为所述第一阈值。这样,后续对于第一数据集中的第一数据样本,若其样本状态转移概率的计算结果大于该第一阈值P(95%),则可以确定该第一数据样本的数据类型与该第二数据集中数据样本的数据类型是相同的。
在可选的实施例中,所述第二阈值可以是人工设定的,例如,可以设定为15%。
在本申请至少一个实施例中,所述第二数据集中数据样本可以为隐私数据,由此,所述将所述待识别字段对应的数据确定为与所述第二数据集中的数据样本具有相同的数据类型,具体可以包括:将所述待识别字段对应的数据确定为隐私数据。更具体地,可以将所述待识别字段对应的数据确定为与所述第二数据集中的隐私数据同类型的隐私数据。
在一些实施例中,所述将所述待识别字段对应的数据确定为隐私数据之后,还可以包括:对所述待识别字段对应的数据进行脱敏处理。可选地,可以根据识别结果,对识别出的隐私字段添加用于标识隐私数据的标签;随后,当带标签字段对应的数据被访问时,可以对被访问数据进行脱敏处理。
在本申请的实施例中,隐私数据的具体类型不被具体地限定,只要是用户想要识别和保护的数据均可称为隐私数据,或称为,敏感数据。例如,隐私数据可以包括用来定位或者识别个人的个人特征信息(例如,电话号码、地址、信用卡号等)、敏感信息(例如,个人健康情况、财务信息、公司重要文件等)等,也可以包括家庭隐私数据(例如,家庭年收入情况等)、法人隐私数据等。
隐私数据可以包括个人基本信息、个人身份信息、个人生物识别信息、网络身份标识信息、个人健康生理信息、个人教育工作信息、个人财产信息、个人通信信息、联系人信息、个人上网记录、个人常用设备信息、个人位置信息等。
其中,个人基本信息类隐私数据可以包括个人姓名、生日、性别、民族、国籍、家庭关系、住址、个人电话号码、电子邮箱等具体隐私类型。个人身份信息类隐私数据可以包括身份证、军官证、护照、驾驶证、工作证、出入证、社保卡、居住证等具体隐私类型。个人生物识别信息类隐私数据可以包括个人基因、指纹、声纹、眼纹、掌纹、耳廓、虹膜、面部特征等具体隐私类型。网络身份标识信息类隐私数据可以包括系统账号、IP地址、邮箱地址及与前述有关的密码、口令、口令保护答案、个人数字证书等具体隐私类型。个人健康生理信息类隐私数据可以包括个人因生病医治等产生的相关记录,如病症、住院志、医嘱单、检验报告、手术及麻醉记录、护理记录、用药记录、药物食物过敏信息、生育信息、以往病史、诊治情况、家族病史、现病史、传染病史等,以及与个人身体健康状况相关的其他信息;以及,体重、身高、肺活量等具体隐私类型。个人教育工作信息类隐私数据可以包括个人职业、职位、工作单位、学历、学位、教育经历、工作经历、培训记录、成绩单等具体隐私类型。个人财产信息类隐私数据可以包括银行账号、鉴别信息(口令)、存款信息(包括资金数量、支付收款记录等)、房产信息、信贷记录、征信信息、交易和消费记录、流水记录等,以及虚拟货币、虚拟交易、游戏类兑换码等虚拟财产信息等具体隐私类型。个人通信信息类隐私数据可以包括通信记录和内容、短信、彩信、电子邮件,以及描述个人通信的数据(通常称为元数据)等具体隐私类型。联系人信息类隐私数据可以包括通讯录、好友列表、群列表、电子邮件地址列表等具体隐私类型。个人上网记录类隐私数据可以指通过日志储存的操作记录,可以包括网站浏览记录、软件使用记录、点击记录等具体隐私类型。个人常用设备信息类隐私数据可以指用于描述个人常用设备基本情况的信息,可以包括硬件序列号、设备MAC地址、软件列表、唯一设备识别码(如IMEI/android ID/IDFA/OPENUDID/GUID、SIM卡IMSI信息等)等具体隐私类型。个人位置信息类隐私数据可以包括行踪轨迹、精准定位信息、住宿信息、经纬度等具体隐私类型。此外,隐私数据还可以包括婚史、宗教信仰、性取向、未公开的违法犯罪记录等具体隐私类型。
以上罗列的信息仅是作为本申请的实施例可识别的隐私数据的示例,并不限于上述示例。
本申请实施例的方案中,通过提取数据集的字符之间的转移概率矩阵,然后通过得到的转移概率矩阵去估计测试样本的概率值,最后通过卡阈值的方式来判断测试样本是否属于要识别的数据类型。
在实际应用中,本申请的实施例可以基于马尔科夫假设:
Figure 460293DEST_PATH_IMAGE002
(公式1)
在马尔科夫假设中,当前状态的概率只与当前状态的前一状态相关。在公式1中,
Figure DEST_PATH_IMAGE003
可以表示,在X 1X n分别为状态x 1x n的情况下,X n+1为状态x的概率;公式
Figure 718711DEST_PATH_IMAGE004
可以表示,在X n为状态x n的情况下,X n+1为状态x的概率。
在公式1中,X 1X n可以表示各个时刻,x 1x n可以表示各个时刻对应的状态。在本申请的实施例中,X 1X n可以表示各个字符位置,x 1x n可以表示各个字符位置对应的字符。
传统的满足细致平稳条件的马尔科夫链,要求任何时刻状态转移矩阵都是相同的。不同于传统的马尔科夫链,在本申请的实施例中,认为不同位置之间状态转移的概率是不一样的。例如,对于身份证类型的数据,第7到第8位的状态转移情况中,状态“1”到状态“9”和状态“2”到状态“0”的转移概率要远远大于其他状态之间的转移概率。由此,在本申请的实施例中,对于数据样本的任一位置,都要计算相应的状态转移矩阵。由于考虑到不同位置的细节变化,因此,本申请方案能够更好地利用马尔科夫假设来进行数据识别。
基于上述设定,对于给定状态序列
Figure DEST_PATH_IMAGE005
,其出现的概率可以定义为:
Figure 826345DEST_PATH_IMAGE006
(公式2)
其中,
Figure DEST_PATH_IMAGE007
可以表示从
Figure 300183DEST_PATH_IMAGE008
状态到
Figure DEST_PATH_IMAGE009
的状态转移概率。该状态转移概率可以利用极大似然估计来求解:
Figure 193183DEST_PATH_IMAGE010
(公式3)
对于某样本空间,可以基于极大似然估计来求解该样本空间中各种状态转移情况的概率。在公式3中,S可以表示样本空间对应的字符列表,
Figure DEST_PATH_IMAGE011
可以表示从指定状态s i到任一状态s j的状态转移情况的数量,
Figure 343542DEST_PATH_IMAGE012
可以表示从指定状态s i到所有状态的状态转移情况的统计数量,
Figure DEST_PATH_IMAGE013
可以表示从指定状态s i到另一指定状态s i+1的状态转移情况的数量。
图2为本说明书实施例中一种数据识别方法的一种具体实现方式的原理示意图。如图2所示,在本申请的至少一个实施例中,方案可以包括训练阶段和检测阶段。
在训练阶段:步骤202,可以获取用户给定的训练数据样本。
步骤204,可以通过统计量提取器提取出该训练数据样本特有的统计量信息。
具体地,可以预先给定状态集合,即,给定字符列表,后续基于该字符列表进行概率统计。对于用户给定的训练数据样本
Figure 954783DEST_PATH_IMAGE014
,可以按长度进行分类,长度相等的样本归为一类。然后,可以对类别
Figure DEST_PATH_IMAGE015
(其中,
Figure 500821DEST_PATH_IMAGE016
表示该类别中数据样本的长度)进行统计,针对任意位置
Figure DEST_PATH_IMAGE017
,可以依照公式(3)计算属于该位置的状态转移矩阵,最终得到状态转移矩阵集合
Figure 232016DEST_PATH_IMAGE018
步骤206,可选地,可以将提取的统计量信息存储到统计量存储库。在本申请的实施例的训练阶段中,获取的用户给定的训练数据样本可以是隐私数据样本。如图2所示,在一些实施例中,规则存储库中存储的规则_1至规则_n,可以对应于基于不同类型的隐私数据类型得到的统计量信息。
要说明的是,本申请的实施例提供的是无监督的数据识别方案,不需要人工标注样本,此处的训练阶段不同于现有技术中基于标注的样本对例如多分类模型进行训练的过程。在本申请的实施例中,训练阶段耗费的时间较短、耗费的计算资源少,可以与后续的检测阶段在相同或不同的设备上执行。
在检测阶段:步骤208,可以遍历数据库中的每个字段或者用户指定范围内的每个字段,从测试字段下抽样出一定量的数据样本。
步骤210,从统计量数据库中提取出已保存的状态转移矩阵集合,基于状态转移矩阵集合中的数据,估计测试样本的概率,可选地,可以使用上述公式(2)来计算;若测试样本的概率大于第一阈值,则将该测试样本识别为与用户给定的训练数据同类型的数据;若被识别为与用户给定的训练数据同类型的数据在总测试样本中的占比达到第二阈值,则将该测试字段确定为与用户给定的训练数据同类型的字段,即,认为该字段对应的所有数据均为与用户给定的训练数据同类型的数据。在可选的实施例中,用户给定的数据为隐私数据,则步骤210识别出的数据为隐私数据,识别出的字段为隐私字段。
在实际应用的过程中,隐私数据的保护可以大致分为两个部分,首先需要识别出数据库中的隐私数据字段,然后针对识别出的隐私数据字段,利用各种手段进行加密,从而有效地防止隐私数据泄露。
如图2中所示,隐私数据的保护方案还可以包括步骤212:对识别出的隐私数据进行数据脱敏处理。
在可选的实施例中,所述预设的数据脱敏方法可以包括:掩盖所述隐私数据中的至少部分字符;或,采用所述隐私数据的哈希值替换所述隐私数据;或,保持数据长度不变,替换所述隐私数据的至少部分字符;不限于此。可选地,不同类型的隐私数据可以采用不同的脱敏方法进行脱敏处理。
基于同样的思路,本说明书实施例还提供了上述方法对应的装置。图3为本说明书实施例提供的对应于图1的一种数据识别装置的结构示意图。如图3所示,该装置可以包括:
第一数据集获取模块302,用于获取第一数据集,所述第一数据集中的数据样本为待识别字段的至少部分数据;
状态转移矩阵集合获取模块304,用于获取基于第二数据集中的数据样本统计得到的状态转移矩阵集合;所述第二数据集中数据样本的数据类型是已知的;所述状态转移矩阵集合中包含多个状态转移矩阵,其中,一个状态转移矩阵用于表示,所述第二数据集中的数据样本中的一个字符位置处的第一字符取值,相对所述一个字符位置的下一字符位置处的第二字符取值的各种状态转移情况的概率;
样本状态转移概率确定模块306,用于基于所述状态转移矩阵集合,确定所述第一数据集中各数据样本对应的样本状态转移概率;所述样本状态转移概率表示对应的所述数据样本的数据类型与所述第二数据集中数据样本的数据类型的相似程度;
第一确定模块308,用于确定所述第一数据集中所述样本状态转移概率大于第一阈值的数据样本的数量相对所述第一数据集中数据样本的总数量的比例;
第二确定模块310,用于若所述比例大于第二阈值,则将所述待识别字段对应的数据确定为与所述第二数据集中的数据样本具有相同的数据类型。
基于图3的装置,本说明书实施例还提供了该方法的一些具体实施方案,下面进行说明。
在本申请至少一个实施例中,所述装置还可以包括:状态转移矩阵集合生成模块,用于基于所述第二数据集中的数据样本,确定各字符位置对应的状态转移矩阵,得到状态转移矩阵集合。
可选地,还可以包括第二数据集确定模块,用于:在所述基于所述第二数据集中的数据样本,确定各字符位置对应的状态转移矩阵之前,获取给定数据集;所述给定数据集中数据样本的数据类型是已知的;从所述给定数据集中确定至少一个第二数据集;同一第二数据集中的数据样本具有相同的长度。
相应地,所述状态转移矩阵集合获取模块304,具体可以用于:根据所述第一数据集中数据样本的长度,获取相应的状态转移矩阵集合;其中,所述相应的状态转移矩阵集合对应的第二数据集中的数据样本的长度与所述第一数据集中数据样本的长度相同。
在本申请至少一个实施例中,所述装置还可以包括:长度对比模块,用于:在所述基于所述状态转移矩阵集合,确定所述第一数据集中各数据样本对应的样本状态转移概率之前,确定所述第一数据集中数据样本的样本长度与所述第二数据集中数据样本的样本长度相同。
在本申请至少一个实施例中,所述样本状态转移概率确定模块306,具体可以包括:字符状态转移概率获取单元,用于对于所述第一数据集中的数据样本,基于所述状态转移矩阵集合,获取所述数据样本中各字符位置对应的字符状态转移概率;样本状态转移概率计算单元,用于基于所述数据样本中各字符位置对应的字符状态转移概率,计算所述数据样本对应的样本状态转移概率。
可选地,所述字符状态转移概率获取单元,具体可以用于:确定所述数据样本的第一字符位置处的第一字符取值;确定所述第一字符位置的下一字符位置处的第二字符取值;从所述状态转移矩阵集合中,确定与所述第一字符位置对应的第一状态转移矩阵;根据所述第一字符取值与所述第二字符取值,从所述第一状态转移矩阵中获取与所述第一字符位置对应的第一状态转移概率。
可选地,所述样本状态转移概率计算单元,具体可以用于:计算所述数据样本中各字符位置对应的字符状态转移概率的乘积,作为所述数据样本对应的样本状态转移概率。
在本申请至少一个实施例中,所述装置还可以包括第一阈值确定模块,用于:基于所述状态转移矩阵集合,确定所述第二数据集中各数据样本对应的状态出现概率;将所述第二数据集中各数据样本对应的状态出现概率的预设分位值,作为第一阈值。
在本申请至少一个实施例中,所述第二数据集中数据样本为隐私数据,相应地,所述第二确定模块310具体用于:将所述待识别字段对应的数据确定为隐私数据。
在本申请至少一个实施例中,所述装置还可以包括脱敏模块,用于:在所述将所述待识别字段对应的数据确定为隐私数据之后,对所述待识别字段对应的数据进行脱敏处理。
可以理解,上述的各模块是指计算机程序或者程序段,用于执行某一项或多项特定的功能。此外,上述各模块的区分并不代表实际的程序代码也必须是分开的。
基于同样的思路,本说明书实施例还提供了上述方法对应的设备。
图4为本说明书实施例提供的对应于图1的一种数据识别设备的结构示意图。如图4所示,设备400可以包括:
至少一个处理器410;以及,
与所述至少一个处理器通信连接的存储器430;其中,
所述存储器430存储有可被所述至少一个处理器410执行的指令420,所述指令被所述至少一个处理器410执行,以使所述至少一个处理器410能够:
获取第一数据集,所述第一数据集中的数据样本为待识别字段的至少部分数据;
获取基于第二数据集中的数据样本统计得到的状态转移矩阵集合;所述第二数据集中数据样本的数据类型是已知的;所述状态转移矩阵集合中包含多个状态转移矩阵,其中,一个状态转移矩阵用于表示,所述第二数据集中的数据样本中的一个字符位置处的第一字符取值,相对所述一个字符位置的下一字符位置处的第二字符取值的各种状态转移情况的概率;
基于所述状态转移矩阵集合,确定所述第一数据集中各数据样本对应的样本状态转移概率;所述样本状态转移概率表示对应的所述数据样本的数据类型与所述第二数据集中数据样本的数据类型的相似程度;
确定所述第一数据集中所述样本状态转移概率大于第一阈值的数据样本的数量相对所述第一数据集中数据样本的总数量的比例;
若所述比例大于第二阈值,则将所述待识别字段对应的数据确定为与所述第二数据集中的数据样本具有相同的数据类型。
基于同样的思路,本说明书实施例还提供了上述方法对应的计算机可读介质。计算机可读介质上存储有计算机可读指令,所述计算机可读指令可被处理器执行以实现以下方法:
获取第一数据集,所述第一数据集中的数据样本为待识别字段的至少部分数据;
获取基于第二数据集中的数据样本统计得到的状态转移矩阵集合;所述第二数据集中数据样本的数据类型是已知的;所述状态转移矩阵集合中包含多个状态转移矩阵,其中,一个状态转移矩阵用于表示,所述第二数据集中的数据样本中的一个字符位置处的第一字符取值,相对所述一个字符位置的下一字符位置处的第二字符取值的各种状态转移情况的概率;
基于所述状态转移矩阵集合,确定所述第一数据集中各数据样本对应的样本状态转移概率;所述样本状态转移概率表示对应的所述数据样本的数据类型与所述第二数据集中数据样本的数据类型的相似程度;
确定所述第一数据集中所述样本状态转移概率大于第一阈值的数据样本的数量相对所述第一数据集中数据样本的总数量的比例;
若所述比例大于第二阈值,则将所述待识别字段对应的数据确定为与所述第二数据集中的数据样本具有相同的数据类型。
上述对本说明书特定实施例进行了描述,在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。
本说明书实施例提供的装置、设备与方法是对应的,因此,装置、设备也具有与对应方法类似的有益技术效果,由于上面已经对方法的有益技术效果进行了详细说明,因此,这里不再赘述对应装置、设备的有益技术效果。
在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(Programmable Logic Device, PLD)(例如现场可编程门阵列(Field Programmable GateArray,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字符系统“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware Description Language,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware DescriptionLanguage)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(RubyHardware Description Language)等,目前最普遍使用的是VHDL(Very-High-SpeedIntegrated Circuit Hardware Description Language)与Verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:ARC 625D、Atmel AT91SAM、Microchip PIC18F26K20 以及Silicone Labs C8051F320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字符助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字符多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带式磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

Claims (22)

1.一种数据识别方法,包括:
获取第一数据集,所述第一数据集中的数据样本为待识别字段的至少部分数据;
获取基于第二数据集中的数据样本统计得到的状态转移矩阵集合;所述第二数据集中数据样本的数据类型是已知的;所述状态转移矩阵集合中包含多个状态转移矩阵,其中,一个状态转移矩阵用于表示,所述第二数据集中的数据样本中的一个字符位置处的第一字符取值,相对所述一个字符位置的下一字符位置处的第二字符取值的各种状态转移情况的概率;
基于所述状态转移矩阵集合,确定所述第一数据集中各数据样本对应的样本状态转移概率;所述样本状态转移概率表示对应的所述数据样本的数据类型与所述第二数据集中数据样本的数据类型的相似程度;
确定所述第一数据集中所述样本状态转移概率大于第一阈值的数据样本的数量相对所述第一数据集中数据样本的总数量的比例;
若所述比例大于第二阈值,则将所述待识别字段对应的数据确定为与所述第二数据集中的数据样本具有相同的数据类型;
其中,所述确定所述第一数据集中各数据样本对应的样本状态转移概率,具体包括:对于所述第一数据集中的数据样本,基于所述状态转移矩阵集合中的各状态转移矩阵,获取所述数据样本中各字符位置对应的字符状态转移概率;基于所述数据样本中各字符位置对应的字符状态转移概率,计算所述数据样本对应的样本状态转移概率。
2.如权利要求1所述的方法,所述获取基于第二数据集中的数据样本统计得到的状态转移矩阵集合之前,还包括:
基于所述第二数据集中的数据样本,确定各字符位置对应的状态转移矩阵,得到状态转移矩阵集合。
3.如权利要求2所述的方法,所述基于所述第二数据集中的数据样本,确定各字符位置对应的状态转移矩阵之前,还包括:
获取给定数据集;所述给定数据集中数据样本的数据类型是已知的;
从所述给定数据集中确定至少一个第二数据集;同一第二数据集中的数据样本具有相同的长度。
4.如权利要求3所述的方法,所述获取基于第二数据集中的数据样本统计得到的状态转移矩阵集合,具体包括:
根据所述第一数据集中数据样本的长度,获取相应的状态转移矩阵集合;其中,所述相应的状态转移矩阵集合对应的第二数据集中的数据样本的长度与所述第一数据集中数据样本的长度相同。
5.如权利要求1所述的方法,所述基于所述状态转移矩阵集合,确定所述第一数据集中各数据样本对应的样本状态转移概率之前,还包括:
确定所述第一数据集中数据样本的样本长度与所述第二数据集中数据样本的样本长度相同。
6.如权利要求1所述的方法,所述基于所述状态转移矩阵集合,获取所述数据样本中各字符位置对应的字符状态转移概率,具体包括:
确定所述数据样本的第一字符位置处的第一字符取值;
确定所述第一字符位置的下一字符位置处的第二字符取值;
从所述状态转移矩阵集合中,确定与所述第一字符位置对应的第一状态转移矩阵;
根据所述第一字符取值与所述第二字符取值,从所述第一状态转移矩阵中获取与所述第一字符位置对应的第一状态转移概率。
7.如权利要求1所述的方法,所述基于所述数据样本中各字符位置对应的字符状态转移概率,计算所述数据样本对应的样本状态转移概率,具体包括:
计算所述数据样本中各字符位置对应的字符状态转移概率的乘积,作为所述数据样本对应的样本状态转移概率。
8.如权利要求1所述的方法,所述确定所述第一数据集中所述样本状态转移概率大于第一阈值的数据样本的数量相对所述第一数据集中数据样本的总数量的比例之前,还包括:
基于所述状态转移矩阵集合,确定所述第二数据集中各数据样本对应的状态出现概率;
将所述第二数据集中各数据样本对应的状态出现概率的预设分位值,作为第一阈值。
9.如权利要求1所述的方法,所述第二数据集中数据样本为隐私数据,所述将所述待识别字段对应的数据确定为与所述第二数据集中的数据样本具有相同的数据类型,具体包括:将所述待识别字段对应的数据确定为隐私数据。
10.如权利要求9所述的方法,所述将所述待识别字段对应的数据确定为隐私数据之后,还包括:
对所述待识别字段对应的数据进行脱敏处理。
11.一种数据识别装置,包括:
第一数据集获取模块,用于获取第一数据集,所述第一数据集中的数据样本为待识别字段的至少部分数据;
状态转移矩阵集合获取模块,用于获取基于第二数据集中的数据样本统计得到的状态转移矩阵集合;所述第二数据集中数据样本的数据类型是已知的;所述状态转移矩阵集合中包含多个状态转移矩阵,其中,一个状态转移矩阵用于表示,所述第二数据集中的数据样本中的一个字符位置处的第一字符取值,相对所述一个字符位置的下一字符位置处的第二字符取值的各种状态转移情况的概率;
样本状态转移概率确定模块,用于基于所述状态转移矩阵集合,确定所述第一数据集中各数据样本对应的样本状态转移概率;所述样本状态转移概率表示对应的所述数据样本的数据类型与所述第二数据集中数据样本的数据类型的相似程度;
第一确定模块,用于确定所述第一数据集中所述样本状态转移概率大于第一阈值的数据样本的数量相对所述第一数据集中数据样本的总数量的比例;
第二确定模块,用于若所述比例大于第二阈值,则将所述待识别字段对应的数据确定为与所述第二数据集中的数据样本具有相同的数据类型;
所述样本状态转移概率确定模块,具体包括:
字符状态转移概率获取单元,用于对于所述第一数据集中的数据样本,基于所述状态转移矩阵集合中的各状态转移矩阵,获取所述数据样本中各字符位置对应的字符状态转移概率;样本状态转移概率计算单元,用于基于所述数据样本中各字符位置对应的字符状态转移概率,计算所述数据样本对应的样本状态转移概率。
12.如权利要求11所述的装置,还包括状态转移矩阵集合生成模块,用于:基于所述第二数据集中的数据样本,确定各字符位置对应的状态转移矩阵,得到状态转移矩阵集合。
13.如权利要求12所述的装置,还包括第二数据集确定模块,用于:
获取给定数据集;所述给定数据集中数据样本的数据类型是已知的;
从所述给定数据集中确定至少一个第二数据集;同一第二数据集中的数据样本具有相同的长度。
14.如权利要求13所述的装置,所述状态转移矩阵集合获取模块,具体用于:
根据所述第一数据集中数据样本的长度,获取相应的状态转移矩阵集合;其中,所述相应的状态转移矩阵集合对应的第二数据集中的数据样本的长度与所述第一数据集中数据样本的长度相同。
15.如权利要求11所述的装置,还包括长度对比模块,用于:确定所述第一数据集中数据样本的样本长度与所述第二数据集中数据样本的样本长度相同。
16.如权利要求11所述的装置,所述字符状态转移概率获取单元,具体用于:
确定所述数据样本的第一字符位置处的第一字符取值;
确定所述第一字符位置的下一字符位置处的第二字符取值;
从所述状态转移矩阵集合中,确定与所述第一字符位置对应的第一状态转移矩阵;
根据所述第一字符取值与所述第二字符取值,从所述第一状态转移矩阵中获取与所述第一字符位置对应的第一状态转移概率。
17.如权利要求11所述的装置,所述样本状态转移概率计算单元,具体用于:
计算所述数据样本中各字符位置对应的字符状态转移概率的乘积,作为所述数据样本对应的样本状态转移概率。
18.如权利要求11所述的装置,还包括第一阈值确定模块,用于:
基于所述状态转移矩阵集合,确定所述第二数据集中各数据样本对应的状态出现概率;
将所述第二数据集中各数据样本对应的状态出现概率的预设分位值,作为第一阈值。
19.如权利要求11所述的装置,所述第二数据集中数据样本为隐私数据,所述第二确定模块具体用于:将所述待识别字段对应的数据确定为隐私数据。
20.如权利要求19所述的装置,还包括脱敏模块,用于:
对所述待识别字段对应的数据进行脱敏处理。
21.一种数据识别设备,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够:
获取第一数据集,所述第一数据集中的数据样本为待识别字段的至少部分数据;
获取基于第二数据集中的数据样本统计得到的状态转移矩阵集合;所述第二数据集中数据样本的数据类型是已知的;所述状态转移矩阵集合中包含多个状态转移矩阵,其中,一个状态转移矩阵用于表示,所述第二数据集中的数据样本中的一个字符位置处的第一字符取值,相对所述一个字符位置的下一字符位置处的第二字符取值的各种状态转移情况的概率;
基于所述状态转移矩阵集合,确定所述第一数据集中各数据样本对应的样本状态转移概率;所述样本状态转移概率表示对应的所述数据样本的数据类型与所述第二数据集中数据样本的数据类型的相似程度;
确定所述第一数据集中所述样本状态转移概率大于第一阈值的数据样本的数量相对所述第一数据集中数据样本的总数量的比例;
若所述比例大于第二阈值,则将所述待识别字段对应的数据确定为与所述第二数据集中的数据样本具有相同的数据类型;
其中,所述确定所述第一数据集中各数据样本对应的样本状态转移概率,具体包括:对于所述第一数据集中的数据样本,基于所述状态转移矩阵集合中的各状态转移矩阵,获取所述数据样本中各字符位置对应的字符状态转移概率;基于所述数据样本中各字符位置对应的字符状态转移概率,计算所述数据样本对应的样本状态转移概率。
22.一种计算机可读介质,其上存储有计算机可读指令,所述计算机可读指令可被处理器执行以实现权利要求1至10中任一项所述的数据识别方法。
CN202010722262.4A 2020-07-24 2020-07-24 一种数据识别方法、装置、设备和可读介质 Active CN111738358B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202010722262.4A CN111738358B (zh) 2020-07-24 2020-07-24 一种数据识别方法、装置、设备和可读介质
US17/362,022 US11314897B2 (en) 2020-07-24 2021-06-29 Data identification method, apparatus, device, and readable medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010722262.4A CN111738358B (zh) 2020-07-24 2020-07-24 一种数据识别方法、装置、设备和可读介质

Publications (2)

Publication Number Publication Date
CN111738358A CN111738358A (zh) 2020-10-02
CN111738358B true CN111738358B (zh) 2020-12-08

Family

ID=72657619

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010722262.4A Active CN111738358B (zh) 2020-07-24 2020-07-24 一种数据识别方法、装置、设备和可读介质

Country Status (2)

Country Link
US (1) US11314897B2 (zh)
CN (1) CN111738358B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115310514A (zh) * 2022-07-05 2022-11-08 上海淇毓信息科技有限公司 海量数据中识别目标类型数据的方法及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102077580A (zh) * 2009-04-30 2011-05-25 索尼公司 显示控制设备、显示控制方法以及程序
CN107526967A (zh) * 2017-07-05 2017-12-29 阿里巴巴集团控股有限公司 一种风险地址识别方法、装置以及电子设备
CN110852442A (zh) * 2019-10-29 2020-02-28 支付宝(杭州)信息技术有限公司 一种行为辨识及模型训练的方法和装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107688803B (zh) * 2016-08-05 2020-04-03 腾讯科技(深圳)有限公司 字符识别中识别结果的校验方法和装置
CN111382246B (zh) * 2018-12-29 2023-03-14 深圳市优必选科技有限公司 文本的匹配方法、匹配装置、终端及计算机可读存储介质
CN111368980B (zh) * 2020-03-06 2023-11-07 京东科技控股股份有限公司 状态检测方法、装置、设备及存储介质

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102077580A (zh) * 2009-04-30 2011-05-25 索尼公司 显示控制设备、显示控制方法以及程序
CN107526967A (zh) * 2017-07-05 2017-12-29 阿里巴巴集团控股有限公司 一种风险地址识别方法、装置以及电子设备
CN110852442A (zh) * 2019-10-29 2020-02-28 支付宝(杭州)信息技术有限公司 一种行为辨识及模型训练的方法和装置

Also Published As

Publication number Publication date
US11314897B2 (en) 2022-04-26
US20220027514A1 (en) 2022-01-27
CN111738358A (zh) 2020-10-02

Similar Documents

Publication Publication Date Title
US10169315B1 (en) Removing personal information from text using a neural network
CN111783126B (zh) 一种隐私数据识别方法、装置、设备和可读介质
US10692019B2 (en) Failure feedback system for enhancing machine learning accuracy by synthetic data generation
CN111709052A (zh) 一种隐私数据识别和处理方法、装置、设备和可读介质
CN108550065B (zh) 评论数据处理方法、装置及设备
CN110674188A (zh) 一种特征提取方法、装置及设备
CN112418059B (zh) 一种情绪识别的方法、装置、计算机设备及存储介质
CN112132238A (zh) 一种识别隐私数据的方法、装置、设备和可读介质
CN112990294B (zh) 行为判别模型的训练方法、装置、电子设备及存储介质
US20220114198A1 (en) System and method for entity disambiguation for customer relationship management
CN111738358B (zh) 一种数据识别方法、装置、设备和可读介质
CN114706985A (zh) 文本分类方法、装置、电子设备及存储介质
WO2021174923A1 (zh) 概念词序列生成方法、装置、计算机设备及存储介质
US20230394236A1 (en) Extracting content from freeform text samples into custom fields in a software application
CN113626576A (zh) 远程监督中关系特征抽取方法、装置、终端及存储介质
CN116502261A (zh) 保留数据特性的数据脱敏方法及装置
US10509809B1 (en) Constructing ground truth when classifying data
CN113610080B (zh) 基于跨模态感知的敏感图像识别方法、装置、设备及介质
US20220382891A1 (en) Detecting sensitive information in records using context and decoys
CN114219544A (zh) 消费倾向分析方法、装置、设备及存储介质
CN113780318A (zh) 用于生成提示信息的方法、装置、服务器和介质
US11620361B2 (en) Proactive privacy content hosting
CN111311076B (zh) 一种账户风险管理方法、装置、设备及介质
CN113868438B (zh) 信息可信度的校准方法、装置、计算机设备及存储介质
CN111967518B (zh) 应用标注方法、应用标注装置及终端设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40038359

Country of ref document: HK