CN112639845B - 确定个人信息查找结果可信度的机器学习系统和方法 - Google Patents
确定个人信息查找结果可信度的机器学习系统和方法 Download PDFInfo
- Publication number
- CN112639845B CN112639845B CN201980053132.1A CN201980053132A CN112639845B CN 112639845 B CN112639845 B CN 112639845B CN 201980053132 A CN201980053132 A CN 201980053132A CN 112639845 B CN112639845 B CN 112639845B
- Authority
- CN
- China
- Prior art keywords
- personal information
- count
- scan
- attribute
- calculating
- 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
Links
- 238000010801 machine learning Methods 0.000 title claims abstract description 67
- 238000000034 method Methods 0.000 title claims description 86
- 238000004422 calculation algorithm Methods 0.000 claims description 29
- 238000004364 calculation method Methods 0.000 claims description 10
- 238000007637 random forest analysis Methods 0.000 claims description 10
- 238000003860 storage Methods 0.000 claims description 10
- 238000007477 logistic regression Methods 0.000 claims description 8
- 230000036541 health Effects 0.000 claims description 4
- 230000000694 effects Effects 0.000 abstract description 11
- 230000008569 process Effects 0.000 description 37
- 230000000875 corresponding effect Effects 0.000 description 32
- 230000008520 organization Effects 0.000 description 30
- 238000012549 training Methods 0.000 description 27
- 230000006870 function Effects 0.000 description 22
- 238000007726 management method Methods 0.000 description 21
- 238000012545 processing Methods 0.000 description 13
- 238000004590 computer program Methods 0.000 description 11
- 239000008186 active pharmaceutical agent Substances 0.000 description 10
- 230000035945 sensitivity Effects 0.000 description 9
- 238000013507 mapping Methods 0.000 description 8
- 230000015654 memory Effects 0.000 description 6
- 238000012544 monitoring process Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 238000007781 pre-processing Methods 0.000 description 5
- 230000002776 aggregation Effects 0.000 description 4
- 238000004220 aggregation Methods 0.000 description 4
- 230000033228 biological regulation Effects 0.000 description 4
- 238000012552 review Methods 0.000 description 4
- 238000013515 script Methods 0.000 description 4
- 238000003066 decision tree Methods 0.000 description 3
- 238000011156 evaluation Methods 0.000 description 3
- 238000001914 filtration Methods 0.000 description 3
- 230000000670 limiting effect Effects 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 238000013508 migration Methods 0.000 description 3
- 230000005012 migration Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000005457 optimization Methods 0.000 description 3
- 238000012502 risk assessment Methods 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 238000012706 support-vector machine Methods 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 2
- 230000006399 behavior Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000007423 decrease Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 238000010606 normalization Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000036961 partial effect Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 102100035606 Beta-casein Human genes 0.000 description 1
- 241000219357 Cactaceae Species 0.000 description 1
- 241000288113 Gallirallus australis Species 0.000 description 1
- 101000947120 Homo sapiens Beta-casein Proteins 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 230000002730 additional effect Effects 0.000 description 1
- 230000002411 adverse Effects 0.000 description 1
- 230000004931 aggregating effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 239000000969 carrier Substances 0.000 description 1
- 238000007635 classification algorithm Methods 0.000 description 1
- 238000004140 cleaning Methods 0.000 description 1
- 230000001010 compromised effect Effects 0.000 description 1
- 238000011109 contamination Methods 0.000 description 1
- 235000014510 cooky Nutrition 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 238000013479 data entry Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000001815 facial effect Effects 0.000 description 1
- 230000037406 food intake Effects 0.000 description 1
- 230000002068 genetic effect Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000011835 investigation Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000000116 mitigating effect Effects 0.000 description 1
- YHVACWACSOJLSJ-UHFFFAOYSA-N n-methyl-n-(1-oxo-1-phenylpropan-2-yl)nitrous amide Chemical compound O=NN(C)C(C)C(=O)C1=CC=CC=C1 YHVACWACSOJLSJ-UHFFFAOYSA-N 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 238000007619 statistical method Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 230000026676 system process Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
- 238000012800 visualization Methods 0.000 description 1
- 230000003442 weekly effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/18—Complex mathematical operations for evaluating statistical data, e.g. average values, frequency distributions, probability functions, regression analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/217—Validation; Performance evaluation; Active pattern learning techniques
- G06F18/2178—Validation; Performance evaluation; Active pattern learning techniques based on feedback of a supervisor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/22—Matching criteria, e.g. proximity measures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting 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/6245—Protecting personal data, e.g. for financial or medical purposes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/02—Knowledge representation; Symbolic representation
- G06N5/022—Knowledge engineering; Knowledge acquisition
- G06N5/025—Extracting rules from data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N7/00—Computing arrangements based on specific mathematical models
- G06N7/01—Probabilistic graphical models, e.g. probabilistic networks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Mathematical Physics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Medical Informatics (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Health & Medical Sciences (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioethics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Databases & Information Systems (AREA)
- Business, Economics & Management (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Analysis (AREA)
- Computational Mathematics (AREA)
- Operations Research (AREA)
- Computational Linguistics (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Human Resources & Organizations (AREA)
- Strategic Management (AREA)
- Entrepreneurship & Innovation (AREA)
- Probability & Statistics with Applications (AREA)
- Algebra (AREA)
- General Business, Economics & Management (AREA)
- Tourism & Hospitality (AREA)
- Quality & Reliability (AREA)
- Economics (AREA)
- Marketing (AREA)
Abstract
本发明公开了多种隐私管理平台,可扫描任意数量的数据源,以使用户对所存储的个人信息、与存储此类信息相关的风险和/或与此类信息相关的使用活动保持可见性。这些平台可以将个人信息查找结果关联到特定的数据主体,并且可以使用机器学习模型将查找结果分类为对应于特定个人信息属性,以提供跨多个数据源的有索引清单。
Description
相关申请的交叉引用
本申请主张2018年8月13日提交的题为“确定个人信息查找结果可信度的机器学习系统和方法”的第62/718,349号美国临时专利申请的优先权,其全部内容被援引加入本申请中。
背景技术
概括地说,本发明涉及数据发现(discovery,也可译为查找或开示)和保护。具体地说,本发明涉及用于对存储在任意数量的数据源中的个人信息进行查找和分类的系统和方法。
在数字经济中,维持客户的肯定和信任需要确保他们的个人身份信息不会遭受到丢失、窃取和滥用的威胁。信息技术和互联网的广泛应用,导致不法分子更加容易通过破坏互联网安全、网络安全和网络浏览器安全来窃取此类个人信息,从而使得收集和转售个人信息成为一个有利可图的市场。这些个人信息还可能被犯罪分子用来非法跟踪或窃取一个人的身份信息,或用来帮助策划犯罪行为。
如今,大多数机构在数据保护时面临的主要挑战是了解个人身份信息位于机构数据中心的什么位置。虽然有许多保护遗留数据(legacy data)和预防数据丢失(“DLP”)的解决方案试图解决这个问题,但这类应用程序通常采用基于正则表达式(regularexpressions)的分类算法。然而,这些解决方案尚未优化到能够搜索给定机构客户的具体个人信息,无法确定数据主体的身份,也无法找到相关联的或有上下文的个人信息。
因此,市场需要能够对遍布在机构的各种数据系统中存储的敏感数据进行识别和分类的数据保护和客户隐私管理系统。如果此类系统能够提供有条理的个人信息清单(以属性为索引),以便于管理数据风险和客户隐私,那将是非常有益的。
发明内容
根据上述目标及其它目的,本发明描述了示例性的隐私管理平台。所述平台可具体化/实现为系统、计算机实现的方法、装置和/或软件应用。所述平台可提供用于监控和分析隐私信息的隐私和数据保护客户端应用程序。例如,平台可被配置为能够扫描某个机构的各种系统和应用程序,以使用户对可以存储在此类数据源中的任何个人信息、与存储此类信息相关的任何相关风险和/或与此类信息相关的任何使用活动实现可见性。
隐私管理平台的实施例可基于所存储的和/或学习到的规则横跨任意数量的本地系统和/或云端系统搜索个人信息。一旦查找到潜在的个人信息,平台便可过滤出假阳性(false-positive,误以为真)的个人信息查找结果(findings,亦可称为“发现结果”),并通过在关联处理过程(correlation process,或相关过程)中创建个人信息记录,将真阳性(true-positive,确实为真)的信息查找结果与特定的数据主体进行关联(correlate,也叫相关)。因此,平台可提供此类个人信息的清单(inventory),以使机构用于进行隐私影响因素评估。
在某些实施例中,平台可以将样本扫描技术和机器学习分类器结合起来使用,以提供统计有效的位置调查,同时还能显著减少搜索时间和系统的运行压力,这里所述统计有效的位置调查反映特定类型或属性的个人信息存储在扫描数据源中的什么位置。在一个这样的实施例中,系统使用机器学习模型将已知包含个人信息属性值的一个或多个身份数据源中的字段(即,列)与扫描数据源中的字段进行比较。更具体而言,机器学习模型可以分析与字段-字段比较结果(一个或多个身份数据源中的每个属性字段与扫描数据源中的每个扫描字段的比较)相关联的各种特征,以便确定身份数据源中的给定属性字段是否包含了与扫描数据源中的给定扫描字段相同类型的个人信息。
在一个实施例中,机器学习模型可以确定每个属性字段-扫描字段比较结果的信任度(confidence level,亦可称为“可信度”、“置信度”),并基于信任度将扫描字段分类为与属性字段的属性相关联。如本发明所讨论的,信任度可以基于与以下一项或多项相关联的数值、元数据和/或摘录统计信息的各种相关特征来确定信任度:给定的扫描字段,与扫描字段相关联的个人信息查找结果,以及身份数据源的至少一个属性字段。通常,当机器学习模型针对属性字段和扫描字段确定的信任度大于或等于最小信任阈值时,隐私管理平台可用于将身份数据源的特定属性字段所对应的个人信息属性与根据给定扫描字段创建的个人信息记录相关联。
示例性的隐私平台提供客户端应用程序,以使得用户能够查询和分析所查找到的个人信息,从而确定隐私风险和/或如何使用个人信息才能满足各种法规和/或客户同意的合规要求。此类应用程序可以帮助机构基于各种因素了解和比较数据风险,所述因素包括但不限于数据敏感度、驻留时间、安全性和/或访问权限。例如,所述平台可包括:提供静态和/或动态风险测评的数据风险评分功能;来自国家标准与技术研究院(“NIST”)等团体的模块化风险模型;企业可定制性;和/或缓解和分配工作流程的操作建议。
在有些实施例中,所述平台可具有自然语言查询能力,并且在附加的情况下或在替代的情况下提供一份报告(例如,可以与审计员和法定代表人共享的报告)。因此,平台可用于:接收查询,例如查询个人信息属性的特定值;确定一个扫描数据源以及该扫描数据源内的哪个字段中存在属性相关联的个人信息(例如,基于与扫描数据源关联的先前创建、扫描和分类的个人信息记录);搜索该扫描数据源的字段,以便快速定位/查找到所请求的个人信息。
在一个实施例中,提供了一种由计算机实现的查找和分类存储在一个或多个数据源中的个人信息的方法。所述方法包括:计算机接收身份数据源,所述身份数据源包括与第一属性值相关联的第一属性字段和与第二属性值相关联的第二属性字段;计算机接收扫描数据源,所述扫描数据源包括与第一扫描值相关联的第一扫描字段。所述方法还包括:计算机确定多个个人信息查找结果,包括通过将第一属性值与第一扫描值进行比较确定的第一组个人信息查找结果和通过将第二属性值与第一扫描值进行比较确定的第二组个人信息查找结果。在某些实施例中,可以根据多个个人信息查找结果的部分或全部创建多个个人信息记录,多个个人信息记录包括第一组个人信息记录及第二组个人信息记录,第一组个人信息记录是根据第一组个人信息查找结果的一部分或全部创建的,第二组个人信息记录是根据所述第二组个人信息查找结果的一部分或全部创建的。所述方法还包括:计算机计算第一扫描字段和第一属性字段的第一信任度,所述计算基于多个因素:第一扫描值的计数、第一组个人信息查找结果的计数、第一组个人信息记录的计数,以及第一组个人信息记录和第二组个人信息记录的计数之和;计算机计算第一扫描字段和第二属性字段的第二信任度,所述计算基于多个因素:第一扫描值的计数、第二组个人信息查找结果的计数、第二组个人信息记录的计数,以及第一组个人信息记录和第二组个人信息记录的计数之和;在确定第一信任度大于或等于最小信任阈值并且第二信任度小于最小信任阈值时,计算机在报告中将第一属性字段而不是第二属性字段,与第一扫描字段相关联;向用户设备提供所述报告。
在某些情形下,扫描数据源还包括与第二扫描值相关联的第二扫描字段。在附加的情况下或在替代的情况下,多个个人信息查找结果还包括:通过将第一属性值与第二扫描值进行比较而确定的第三组个人信息查找结果;以及通过将第二属性值与第二扫描值进行比较而确定的第四组个人信息查找结果。在一些情形下,多个个人信息记录还包括根据第三组个人信息查找结果的一部分或全部创建的第三组个人信息记录和根据第四组个人信息查找结果的一部分或全部创建的第四组个人信息记录。在这种情形下,所述方法还包括:计算机计算第二扫描字段和第一属性字段的第三信任度,所述计算基于多个因素:第二扫描值的计数,第三组个人信息查找结果的计数,第三组个人信息记录的计数,以及第三组个人信息记录和第四组个人信息记录的计数之和;计算机计算第二扫描字段和第二属性字段的第四信任度,所述计算基于多个因素:第二扫描值的计数、第四组个人信息查找结果的计数、第四组个人信息记录的计数、第三组个人信息记录和第四组个人信息记录的计数之和;确定第四信任度大于或等于最小信任阈值并且第三信任度小于最小信任阈值,在报告中将第二属性字段而不是第一属性字段,与第二扫描字段相关联。
下面结合附图具体描述本发明主题的一个或多个实施例的细节。通过说明书、附图和权利要求书,本发明的其他特征、方面和优势将变得显而易见。
附图说明
图1显示了为身份图创建初始数据主体简档(profile)的示例性方法。
图2显示了在主要数据库和辅助数据源中搜索个人信息以扩展数据主体简档的示例性方法。
图3显示了将个人信息查找结果与数据主体简档进行关联的示例性方法。
图4显示了使用机器学习模型根据个人信息属性对扫描数据源中的字段进行分类的示例性样本扫描方法。
图5A-5B分别显示了示例性身份数据源502和示例性扫描数据源503。
图6显示了用来对扫描数据源中的字段进行分类的机器学习模型的示例性输出。
图7显示了示例性扫描结果的热图屏幕。
图8显示了用来训练机器学习模型以对扫描数据源中的字段进行分类的示例性方法。
图9显示了根据元数据进行标记和组织的示例性训练数据。
图10显示了描绘随机森林和逻辑回归机器学习模型的性能度量图。
图11显示了根据一个实施例的示例性信任阈值调节屏幕。
图12显示了根据一个实施例的示例性个人信息扫描结果审阅和修改屏幕。
图13显示了示例性系统。
图14显示了示例性数据流图。
具体实施方式
本发明公开了各种系统、计算机实现的方法、装置和软件应用,以允许各机构查找、分析、监控和/或保护客户数据并管理客户隐私。本发明所描述的实施例可用于扫描一个机构的各种系统和应用程序,以便对存储在此类数据源中的任何敏感客户数据、与存储此类数据相关联的风险和/或与此类信息相关的任何使用活动实现可见性。
所述实施例可以解决传统数据安全系统未解决的诸多问题,包括但不限于:帮助机构判断哪些数据构成“个人信息”;提供一份有条理的清单,其中包含与整个机构系统中个人信息位置有关的信息(例如,按属性和/或数据主体编制索引);允许机构确定数据主体的居住地,从而了解其需要遵守什么样的法规;允许机构确定在发生违规或侵犯隐私时哪些客户受到了影响;和/或提供功能以允许机构遵循客户请求而删除个人信息。
示例性实施例可被配置为:判断哪些数据构成个人信息;判断监控哪些数据主体的个人信息;查找存储在任意数量的数据源(例如,本地和/或远程系统和应用程序)中的个人信息;分析和处理所查找到的个人信息,以创建按属性进行索引的个人信息清单;和/或实现隐私和数据安全风险的监控和可视化。
本发明所使用的术语“个人信息(PI)”是指,可单独使用或与其他信息一起使用以识别、联系或定位单个人和/或在相关背景中识别个体的任何信息或数据。此类信息包括可用于区分或追踪个人身份的任何信息。个人信息类型或“属性”的具体、非限制性示例包括但不限于:姓名、家庭住址、工作地址、电子邮件地址、国家身份证号、社会保险号、护照号、驾照号、年龄、性别、种族、就读学校名称、工作单位名称、年级/等级、收入、职务、犯罪记录、网络浏览记录(cookie)、车辆车牌号、面部图像或特征、指纹、笔迹、IP地址、信用卡号码、数字身份、登录名、网名、昵称、用户句柄、电话号码、出生日期、出生地和/或其他遗传信息。
由于现代的重新识别算法具有多用途和强大功能,即使没有现成定义的个人信息,也并不意味着剩余的数据就不能识别出个体。虽然某个或某些属性本身可能就具有独特识别的功能,但任何属性都可以与其他属性结合起来具有识别功能。因此,个人信息包括与个人建立链接或可链接的任何其他信息,例如医疗信息、个人健康信息(“PHI”)、教育信息、财务信息、支付卡行业(“PCI”)数据、雇佣信息和/或其他所谓的“准识别符”或“伪识别符”。个人信息包括在欧洲定义为“个人数据”的信息,或在美国定义为“个人可识别信息”、“PII”或“敏感个人信息”(及其他变体)。
参见图1,显示了为身份图创建初始数据主体简档的示例性方法。在可选的第一步骤101中,系统接收一个或多个数据主体(data subject)的初始个人信息,以用于创建一个或多个数据主体简档(profile)。此类个人信息(以及由此产生的简档)可对应于用户、客户、雇员或其个人信息由机构存储的任何其他人(在本发明中统称为“数据主体”)。此外,初始个人信息可用作系统的学习集,以学习/了解个人信息在特定环境中是什么样子。初始个人信息可由用户手动输入到系统中(例如,通过客户端应用程序)和/或包括在上传到系统的文件中。
在一个实施例中,系统接收和/或确定一个或多个个人信息规则102。这些规则提供了系统对存储在各种数据源中的个人信息进行查找所需的逻辑。个人信息规则包括定义规则,其可以映射到唯一标识符ID、显示名、与特定个人信息属性(例如,社会安全号码或电话号码)相关联的居住国属性和/或这些属性的组合。个人信息规则还包括一个或多个邻近处规则,用于管理在已经查找到的任何个人信息属性的附近位置内的搜索。例如,如果个人信息属性(例如邮政编码)看起来距离社会保障号码比较接近(例如,在同一数据库行中或在一定数量的字符内),则系统可将该邻近处查找结果与给定社会保障号码的数据主体进行关联。
在某些实施例中,系统可预先配置有多个个人信息规则。例如,系统中可以部署与一个或多个机构指定的个人信息定义相对应的个人信息属性规则,例如由NIST特别出版物800-122(美国)和/或通用数据保护条例GDPR(欧盟)给出的定义,两者都通过援引加入方式整体并入本发明。在附加的情况下或在替代的情况下,所述系统允许用户手动创建和/或更新个人信息规则。
如下面详细讨论的,系统可被配置为自动更新现有的个人信息规则和/或确定新的规则。示范性的系统可实施机器学习或类似技术,以便迭代地和/或连续地创建和更新此类规则。
在步骤103中,将系统定向到身份数据源(identity data sources),我们知道身份数据源保存有数据主体的个人信息。示例性的身份数据源包括但不限于结构化数据库、用户目录(例如,轻量级目录访问协议LDAP目录)、客户关系管理(CRM)系统、人力资源系统、电子商务系统和/或其它。
系统确定和/或接收与一个或多个身份数据源相关联的数据源信息,例如数据源的名称、位置、类型和/或访问信息。在其它实施例中,系统可从用户接收数据源信息。例如,用户可将身份数据源信息手动输入到客户端应用程序中,和/或可以上传包含此类信息的文件。在另一个实施例中,系统可被配置为自动发现一个或多个身份数据源以及任何相应的数据源信息。系统可使用诸如NMAP、CACTI、NAGIOS、ICINGA等开源工具来执行数据源发现和/或监控。
在步骤104中,系统可连接到一个或多个身份数据源,然后基于所存储的个人信息规则对其中包含的个人信息进行搜索。当在身份数据源中查找到潜在的个人信息时,系统可创建该信息的个人信息查找结果列表,包括每个查找结果的数值和/或与之相关联的元数据,例如相关属性、在哪个数据源中查找到了该个人信息、该个人信息在数据源中的位置(例如,集合、表、字段、行等)和/或查找该个人信息的日期。
一旦系统搜索了身份数据源并创建了个人信息查找结果文件,系统就可以尝试将每个查找结果相关(correlate)到一个数据主体105。相关处理过程可以利用开源工具,例如OPENDLP、WEKA、ORGANE、RAPIDMINER等。下面结合图3详细讨论示例性的相关处理过程。
在步骤106中,如果确定有些数据主体的个人信息包含在身份数据源中,则系统为这些数据主体创建初始身份图数据主体简档。通常,系统可为每个数据主体创建一份独特的简档。系统可以通过创建个人信息记录,将任何相关的个人信息(以及任何相应的元数据)与相关的数据主体简档进行关联。在本发明中可将数据主体简档统称为“身份图”,该身份图可由系统存储和动态更新。
在一个实施例中,出于隐私原因,与身份图中的数据主体相关联的个人信息记录可存储指向个人信息属性的指针(例如,用于进行搜索的安全散列/哈希),而不是个人信息本身。因此,系统不会从能够查找到个人信息的原始位置那里提取个人信息。
有了身份图,公司就可以识别所存储的个人信息属于哪个独特的数据主体。这一点很重要,原因有很多,包括:确定对用户信息的访问权限;根据数据主体的居住地了解用户和数据的居住地/存放地;通过在发生违规时识别受影响的数据主体来遏制违规行为;和/或通过将个人信息与数据主体进行关联和验证来减少误报(假阳性)。
在步骤107中,针对添加到数据主体简档中的每个个人信息属性,系统为之计算属性识别能力得分。该得分反映了单个个人信息属性和/或属性组合的独特性(或者说唯一性),可以确定这些属性和组合可用于识别特定数据主体的强度或可靠度。系统存储这些属性识别能力得分,并将其与相应的个人信息记录相关联。
参见图2,显示了为身份图创建和更新数据主体简档的示例性方法。一旦系统配置了初始数据主体简档(例如,如上面结合图1所述),系统可通过对各种主要和/或辅助数据源(例如数据库、文件共享和数据保护解决方案)进行个人信息搜索来更新此类简档。因此,身份图可被构造成具有一个清单(inventory),该清单包括由机构横跨各种系统和应用存储的所有个人信息的个人信息记录,其中每个记录可包括诸如但不限于以下信息:一个或多个存储的属性、每个属性的位置、应用程序清单、用户存储清单和/或所有个人信息属性和应用程序元数据(标记/标签)。
在第一步骤201中,系统接收和/或确定与一个或多个主要和/或辅助数据源相对应的数据源信息,以便系统可以在这些数据源中查找、收集和/或确定个人信息的位置。示例性的主要数据源可包括,例如,结构化数据库(例如,SQL)、非结构化文件共享、半结构化大数据和NoSQL存储库(例如,Apache Hadoop、RDB和MongoDB)、LDAP存储库、CRM系统(例如,SALESFORCE)、协作工具、云存储系统、文本文件和/或其他内部或外部应用程序。示例性的辅助数据源可以包括例如DLP、数据保护和/或数据治理解决方案(例如,SYMANTEC、MCAFEE、VARONIS、IMPERVA和IBM GUARDIUM)和/或日志源,例如但不限于安全信息和事件管理(“SIEM”)解决方案(例如,SPLUNK、HP ARCSIGHT、IBM QRADAR等)的日志源。
系统可被配置为自动查找/发现主要数据源和/或辅助数据源,以及与此类数据源相对应的任何数据源信息。在附加的情况下或在替代的情况下,系统可接收用户通过手动输入或文件上传的数据源信息。
在步骤202中,系统判断是否未在某些已经发现的主要或辅助数据源中搜索个人信息和/或判断自上次个人信息搜索以来是否已经更新了此类数据源。如果不存在这样的数据源,则处理流程结束210。否则,处理流程继续,系统在主要数据源或辅助数据源中搜索个人信息203。
通常,系统可在主要数据源和辅助数据源中搜索先前已经与数据主体简档相关联的个人信息属性(即,由用户添加到系统中和/或在身份数据源中找到的个人信息属性)。系统还可以基于个人信息规则在主要数据源和辅助数据源中搜索附加的个人信息。
在步骤204中,如果在搜索203期间未找到个人信息,则数据处理可返回到步骤202,以判断是否有任何附加的主要数据源或辅助数据源可供搜索。
否则,当查找到个人信息属性时,可以搜索这些属性(即,“原始属性”)的邻近处(proximity)205,以便识别与原始属性位置接近的任何附加个人信息属性(即“邻近属性”)。这种邻近处搜索可以基于一个或多个存储的个人信息邻近处规则和/或个人信息规则。并且,邻近处搜索可用于查找任意数量的数据主体的邻近属性,无论它们当前是否存在于系统中(即,它们不必是原始身份源的一部分)。
如上所述,当在数据源中查找到潜在的个人信息时,系统可将查找结果连同任何相关元数据一起添加到个人信息查找结果文件中。因此,个人信息查找结果文件可以包括任意数量的个人信息查找结果以及与这些查找结果相关联的元数据。
在步骤206中,系统尝试将查找结果文件中的每个个人信息查找结果关联到一个数据主体。如下面结合图3详细讨论的,针对与数据主体成功关联的每个个人信息查找结果,系统可为之创建个人信息记录。在附加的情况下或在替代的情况下,在创建个人信息记录之前,系统可过滤掉某些查找结果(例如,误报、与多个数据主体相关联的查找结果、属性识别能力得分低的查找结果等)。
在一个实施例中,系统可利用关联结果(例如,个人信息记录)来创建、更新、删除和/或替换身份图内的数据主体简档中存储的信息207。例如,如果某一条个人信息记录对应于现有的数据主体,则可以将该记录添加到该数据主体的简档中。再例如,如果有一条个人信息记录与新的数据主体(即,未包括在身份数据源中的数据主体)相关,则可为该数据主体创建新的简档,并且可将该个人信息记录添加到该新的简档中。
在步骤208中,针对与所创建的个人信息记录相关联的一个或多个个人信息属性,系统可以为之确定属性识别能力得分。如上所述,系统可以存储属性识别能力得分,并将其与相应的个人信息记录相关联。
在步骤209中,系统可以更新个人信息规则,包括个人信息规则和/或邻近处规则。在确定属性或属性组合的识别能力得分之后,可以再次迭代地使用高度可识别的属性或属性组合来递归地发起新的搜索。这样,系统可以发现与相同身份相关联的其他数据集(即,身份图中的节点)。
再例如,可以更新规则,以便搜索与在上述步骤中查找到的任何新数据主体相关联的个人信息。又例如,如果邻近处搜索205的结果是查找到了邻近属性,则邻近属性的位置信息可用于更新一个或多个个人信息邻近处规则,以便随后的搜索可利用该附加信息。通常,位置信息包括但不限于邻近属性的绝对位置和/或邻近属性相对于原始属性的相对位置。在附加的情况下或在替代的情况下,与邻近属性的类型相关的信息可用于更新一个或多个属性定义规则,以便随后的搜索可查找该类型的个人信息。
在一个实施例中,系统可采用机器学习技术来迭代地更新个人信息规则。可以采用以下一种或多种机器学习算法:聚类、逻辑回归、决策树学习、贝叶斯网络、随机森林、支持向量机(“SVM”)、人工神经网络和任何其他机器学习算法。
应当理解的是,各种机器学习算法可为不同类型的数据(结构化或非结构化的数据、文本、文档、地理位置、图像等)提供不同的结果。此外,不同机构存储的数据的类型和/或数量可能大不相同。因此,优选的是,连续地比较不同机器学习算法对单个机构内和/或跨多个机构的各种数据源获得的结果,以确定方差/偏差。为此,系统可测试训练数据并验证多个算法,以针对特定数据集和/或机构选择最有效的算法。
针对每个机构,可分别训练一个或多个上述算法,这里的每个机构使用所述平台,通过使用机构专用的训练数据来构建包括个人信息属性规则的一个或多个机构专用的个人信息分类机制。然后,基于特定机构的要求或偏好,采用有效的个人信息分类机制。
机器学习也可用于对在邻近处搜索期间查找到的任何邻近属性进行分类。此种分类基于近似属性是否独特关联到与原始属性相关联的数据主体(即,基于邻近属性的识别能力得分)。
在一个实施例中,系统采用半监督(semi-supervised)主动学习方法。例如,系统使用以下信息作为训练数据来训练机器学习算法以识别个人信息(例如,创建和/或更新个人信息规则):位于原始属性附近的第一邻近属性(例如,数据库中的行的集合或文本文件中的段落);原始属性;和/或与原始属性相关联的数据主体相关的任何其他信息。然后,训练的算法可用于确定位于原始属性邻近范围内的每个附加近似属性是否应关联到与原始属性相关的数据主体。
在任何情形下,一旦在步骤209中更新了个人信息规则,则系统可返回步骤202,以判断是否未在某个或某些已连接的主要数据源或辅助数据源中搜索个人信息,和/或自上次个人信息搜索以来是否更新了此类数据源。如果不存在这样的数据源,则处理流程结束210。否则,处理流程继续在下一个主要数据源或辅助数据源中搜索个人信息203。
参见图3,显示了将在数据源中查找到的潜在个人信息(即,个人信息查找结果)与数据主体简档进行关联的示例性方法。在步骤301中,系统接收要进行关联的一个或多个个人信息查找结果。此种查找结果可以通过初始数据源、主要数据源和/或辅助数据源的样本搜索(参见下面的图4)或完全搜索来确定。
在某些实施例中,与数据源的扫描相关联的所有个人信息查找结果可以存储在个人信息查找结果文件或集合中。每个查找结果包括与所查找到的潜在个人信息相关联的元数据,包括一个或多个以下项:属性类型、数值(出于隐私原因可以散列/哈希处理)、扫描ID、与存储个人信息的数据源相对应的数据源信息(例如,名称、类型、位置、访问凭证等)和/或与数据源中存储个人信息的位置相对应的位置信息(例如,集合、表、字段、行等)。
在步骤302中,系统选择要进行关联的多个可用个人信息查找结果。关联可以批量处理,系统可以选择所有可用的查找结果,也可以基于用户配置的或系统确定的变量来选择此类查找结果的一个子集。
在步骤303中,有些个人信息查找结果相关联的数值致使其不应被分类为个人信息,系统将其过滤出来。在一个实施例中,如果数据源中的给定字段(即,列)本身仅包含少量不同的值,但有的查找结果相关联的数值却多次出现在其中,则系统可将其过滤出来。
例如,当出现以下情形时,系统过滤出与在数据源字段中找到的给定值相关的查找结果:(1)该字段中的不同值的数目除以在该字段中找到的个人信息查找结果的总数,大于预定的、可配置的最大值(例如,0.001);和/或(2)该字段中的数值的出现次数除以在该字段中找到的个人信息查找结果的总数,大于预定的、可配置的最大值(例如,0.1)。
再例如,当出现以下情形时,系统过滤出与在数据源字段中找到的给定值相关联的查找结果:(1)该字段中给定值的出现的标准偏差(“stdDevPop”)大于该字段中所有不同值的平均出现次数;(2)该字段中任何一个不同值的最大出现次数除以stdDevPop,大于预定的可配置最大值(例如,10);和/或(3)该字段中给定值的出现次数大于该字段中所有不同值的平均出现次数加上两倍的stdDevPop。
应当理解的是,上述过滤技术仅仅是示例性的,系统可以采用任意数量的过滤处理来确保不为那些误以为真的(或假阳性的)查找结果创建个人信息记录。
在步骤304中,系统尝试将剩余的每个个人信息查找结果(即,在步骤303中未被过滤掉的查找结果)与身份图中的数据主体进行关联。在一个实施例中,系统通过例如将查找结果的值与存储在身份图中的每个个人信息值(即,与存储的每个数据主体简档相关联的每个值)进行比较,来确定给定查找结果的值所映射到的每个数据主体简档以及此类匹配的总数。因此,应当理解的是,当查找结果相关联的值匹配数据主体简档相关联的属性值时,可以说个人信息查找结果与数据主体简档建立了“关联(correlate,或叫相关)”。
在一个实施例中,系统在步骤304中可以丢弃不能映射到任何数据主体属性的任何个人信息查找结果。
在步骤305中,系统可以对在步骤304中与数据主体建立关联的个人信息查找结果执行附加的过滤。例如,如果查找结果与多个数据主体简档相关联和/或仅映射到不满足特定属性识别能力标准的数据主体属性,则系统对其进行过滤。
在一个实施例中,系统可以基于查找结果的相关联属性的属性识别能力得分来过滤出个人信息查找结果。通常,属性识别能力得分反映了单个个人信息属性和/或属性组合的唯一性(或者说独特性)。例如,可通过计算给定属性关联的值所关联的数据主体的平均数目,来确定该属性的得分。例如,如果一个属性所包括的值平均关联于单个数据主体,则为其指派最高可能属性识别能力得分1。再例如,如果一个属性所包括的值平均关联于两个数据主体,则为其指派属性识别能力得分0.5。
因此,如果个人信息查找结果仅关联于具有“低”属性识别能力得分的属性,系统将其过滤出来。例如,如果查找结果仅关联于属性识别能力得分小于最小识别能力阈值(例如,约0.5)的属性,系统可将过滤出来。该阈值可由用户手动输入和/或可由系统自动确定。
另外,系统可以过滤出与超过预定最大数量的数据主体简档相关联的查找结果。在一个实施例中,可以由用户手动将数据主体的预定最大数量输入到系统中。在另一个实施例中,系统可通过以下方式自动过滤出此类查找结果:(1)选择具有最低有效属性识别能力得分的属性(即,高于属性识别能力阈值的得分);(2)计算所选属性的不同值相关联的数据主体的平均数加上该平均值的标准差之和。
在可选的步骤306中,系统可尝试经由替代性的关联处理,将在步骤305中过滤出的每个个人信息查找结果与数据主体简档进行关联。
在一个实施例中,系统可以获取所存储的个人信息记录,这些记录先前是根据给定查找结果相关联的数据源并且在发现该查找结果位置附近(例如,在RDB中的同一表行内或在MongoDB中的同一文档内)创建的。系统还可以识别与在邻近区域中查找到的任何个人信息相关联的所有数据主体简档。
然后,系统可以通过将给定的查找结果值与以下的值进行比较,尝试将给定的查找结果与数据主体进行关联:(1)所获取的个人信息记录中包含的每个值;(2)与所识别的每个数据主体相关联的每个值。在步骤306中,系统可以丢弃不能映射到任何数据主体简档的任何个人信息查找结果。
在可选的步骤307中,系统采用富集关联(enrichment correlation)处理。在一个实施例中,仅当个人信息查找结果与结构化数据源相关联时,才执行富集关联处理。此外,仅当(1)数据源中的近邻数(例如RDB中的记录,MongoDB中的文档)和(2)数据源中的近邻总数之比(“比值”)大于预定的最小值(例如,0.99)时,才执行富集关联处理。在一个实施例中,最小值可以等于1-富集_身份_数值范围。
首先,系统可以确定数据源中与以下字段相对应的最佳字段(即,列):(1)个人信息记录最多;(2)数据主体和个人信息查找结果之间的比例最高。最佳字段可从数据源中的所有字段中选择,其中:(1)对应的个人信息记录数大于列中记录总数的一半;(2)与每个对应的个人信息查找结果匹配的数据主体的平均数小于1+富集_身份_数值范围;(3)与每个相应邻近处匹配的数据主体的平均数目小于1+富集_身份_数值范围。
然后,系统识别数据源中相应个人信息记录的数量少于记录总数一半的每个字段(“富集字段”)。在识别富集字段后,系统可创建每个富集字段中存储的每个值所对应的富集结果。
在一个实施例中,系统可组合任何富集查找结果以及与相同区别值和字段相关联的个人信息查找结果。系统还可基于独特性或识别能力过滤出富集结果。例如,系统可以过滤出满足以下条件的富集结果:(1)相应富集字段中不同值的数目和(2)富集字段中记录的总数之间的比例小于最小值(例如,属性识别能力阈值)。
在步骤308中,针对与数据主体相关联的每个剩余个人信息查找结果和/或富集查找结果,系统为其创建个人信息记录。剩余的个人信息查找结果包括:(1)在步骤304中与数据主体相关且在步骤305中未过滤掉的查找结果;(2)在步骤306中与数据主体相关的查找结果。应当理解的是,每个个人信息记录包括存储在相应的个人信息查找结果中的任何数据和/或在上述一个或多个步骤中由系统确定的任何信息或元数据。
在一个实施例中,系统通过将富集查找结果与字段名等于最佳字段的邻近处的个人信息记录相结合,并根据匹配的个人信息记录确定数据主体细节,来为每个剩余富集查找结果创建个人信息记录。
在步骤309中,系统判断是否存在任何附加个人信息查找结果尚未为其创建个人信息记录(或尚未过滤出去的)。如果存在一个或多个这样的查找结果,则处理流程可返回步骤302以选择附加的查找结果。否则,处理流程结束310。
应当理解的是,在一些实施例中,系统可以跳过处理步骤303-307中的任何一个或全部。例如,系统可以只为在步骤302中选择的每个个人信息查找结果创建个人信息记录307。当个人信息查找结果与身份数据源相关联时,优选采用这种方法。
参见图4,显示了示例性的样本扫描方法。在某些实施例中,系统可以采用一个或多个采样方法来扫描一个或多个数据源中存在的数据的可配置子集(或样本)。这种样本扫描技术可以实现对个人信息存储位置的统计有效调查,同时显著减少搜索时间和对系统的压力。
扫描数据源以获取个人信息可能是一项耗时冗长的操作,因为典型的搜索包含以下步骤:扫描给定数据源(例如,表、集合和/或文件)中的所有数据,将数据抓取到扫描器中,然后判断数据是否构成个人信息(例如,通过用个人信息索引检查数据)。此外,如果在所搜索的数据源中有密集的个人信息(例如,每个数据库行中有多个个人信息字段),给定的搜索可以发现大量的个人信息查找结果。这种情况可能会对扫描处理的速度产生不利影响,因为每个个人信息查找结果都需要抓取和关联,即便搜索的最终结果只是创建少量新的个人信息记录。
虽然有些场景需要对所有数据源进行全面搜索,以确定属于系统中每个数据主体的所有个人信息的完整描述,但其实并不总是需要这样做。通常,示例性的样本扫描技术可以搜索横跨机构的一个或多个数据源中存储的数据的子集。此类技术旨在最大限度地提高定位/查找个人信息的概率,同时保持合理的小样本量,以减少需要抓取和处理的数据量以及执行搜索所需的总时间。
如图4所示,在第一步骤401中,对于要执行样本扫描的数据源(即,扫描数据源),系统接收与其相对应的数据源信息。如上所述,数据源信息可从用户接收和/或由系统经由查找/发现过程自动确定。
在步骤402中,系统连接到扫描数据源,以便获取包含在其中的任意数量的行中的数据。在一个实施例中,要获取的行数是预定的(例如,1,000,000)。在另一个实施例中,系统可基于数据库中的总行数来计算该行数。在某些情形下,系统可以随机选择行。
在可选的步骤403中,系统选择所获取行的一个子集来进行搜索。在一个实施例中,该子集包括所获取行总数的约1%到约25%(例如,所获取行总数的约1%、2%、3%、4%、5%、6%、7%、8%、9%、10%、11%、12%、13%、14%、15%、16%、17%、18%、19%、20%、21%、22%、23%、24%或约25%)。在一个实施例中,选择所获取行的一个子集可包含随机选择。在另一个实施例中,通过在每个选定行之后跳过预定的、算定的或可变数量的行,直到选择所需数量的获取行为止,由此来选择该子集。在附加的情况下或在替代的情况下,包括跳过和/或限位标志的任何数量的查询可用于确定在数据源的所获取记录内选择哪些记录。应当理解的是,步骤403是可选的;在一些实施例中,系统可以充分利用在步骤402选择的所有行。
在步骤404中,系统搜索所选行,并创建个人信息查找结果,如上文结合图2所述。在步骤405中,系统随后对个人信息查找结果执行关联处理,以确定个人信息是否存在于扫描的数据源中。如上文结合图3所讨论的,通过关联处理过程过滤掉那些误以为真的(或假阳性的)查找结果,其结果就是,为每个确实为真的(或真阳性的)查找结果创建个人信息记录,所述每个确实为真的(或真阳性的)查找结果与存储在系统中的已知属性值匹配。
在步骤406中,已知一个身份数据源包括数据主体的个人信息,系统接收与该身份数据源对应的数据源信息,并连接到该身份数据源以接收其中包含的数据。与扫描数据源信息一样,身份数据源信息可以从用户接收和/或可以由系统经由查找/发现过程自动确定。
在步骤407中,系统采用机器学习模型来确定信任度,所述信任度指示身份数据源中的每个字段(“属性字段”)与扫描数据源中的每个字段(“扫描字段”)的对应程度。如下面详细讨论的,所确定的每个信任度通常与给定属性字段映射、匹配或以其他方式对应于给定扫描字段的紧密程度有关。因此,所确定的信任度基于启发式计算,启发式计算考虑与一个或多个个人信息查找结果的识别能力、相关性、不同值和/或不同分类有关的若干特征。信任度在从最小值(指示低准确度)到最大值(指示高准确度)的范围内取值,使得其可以表示关于属性字段和扫描字段之间匹配的确定程度。
为了便于讨论图4所示的分类处理过程,现在参考5A-5B所示的示例性身份数据源502和示例性扫描数据源503进行描述。如图所示,身份数据源502包括一个或多个表,其具有任意数量的属性字段(即,列540、550、560和570),其中每个属性字段与字段名、个人信息属性和多个值(即,行)相关联。例如,属性字段540与“用户ID”的字段名、用户ID属性和包含用户ID值(例如,值541)的多个行相关联。再例如,属性字段550与“全名”的字段名、姓名属性和包含姓名值(例如,值551)的多个行相关联。
应当理解的是,身份数据源502的单个行内的多个值通常将与单个实体进行关联。例如,值541、551、561和571均与单个实体(即,与“约翰·史密斯”的姓名属性值551相关联的数据主体)进行关联。因此,身份数据源502可以针对多个实体中的每一个实体存储多个个人信息属性值。
类似地,扫描数据源503包括一个或多个表,其具有任意数量的扫描字段(即,列510、520和530),其中每个字段与字段名和一个或多个值(即,行)相关联。例如,扫描字段510与“用户”的字段名和多个值(例如,值541)相关联。再例如,扫描字段520与字段名“Promo(促销/推广)”和多个值(例如,值521)相关联。并且,与身份数据源的表502一样,扫描数据源的表503的给定行内的所有值通常将与一个特定实体相关联。
应当理解的是,尽管系统“知道”身份数据源502中的每个属性字段包含与一个特定个人信息属性相关联的值,但是扫描数据源503中的每个扫描字段中包含的值的性质却是未知的。因此,系统可以使用机器学习模型来分析与属性字段和扫描字段相关的各种特征,以便预测给定的属性字段和给定的扫描字段是否都包含与同一个人信息属性相关的值(例如,用户ID、姓名、语言、社会保险号、电话号码等)。
通常,机器学习模型所采用的特征涉及以下一个或多个:包含在扫描数据源的选定行中的值、与扫描数据源中的字段相关联的元数据、包含在身份数据源中的值、与身份数据源中的字段相关联的元数据、与根据扫描数据源和身份数据源确定的个人信息查找结果相关联的信息,和/或与根据这些查找结果创建的个人信息记录相关联的信息。下面详细讨论示例性的特征。
在一个实施例中,机器学习模型可利用与字段值计数有关的一个或多个特征。字段值计数可以定义为当前扫描字段中的数值的总数(即,行总数)。例如,扫描数据源503中的扫描字段510包含9行,因此与字段值计数9相关联。再例如,扫描字段520也与字段值计数9相关联,因为它总共包含9个值。
在另一个实施例中,机器学习模型采用与字段查找结果计数相关的一个或多个特征。字段查找结果计数可以定义为当前扫描字段中当前属性字段的个人信息查找结果的数目。例如,属性字段540和扫描字段510的字段查找结果计数为7,因为这些字段包括以下查找结果:值541和542匹配值512,值543匹配值513,值544匹配值514,值545匹配值515,值546匹配值516,值547匹配值517,值548匹配值518。再例如,属性字段550和扫描字段510的字段查找结果计数等于4,因为这些字段包括:值556和值511之间的查找结果、值556和值516之间的查找结果、值557和值511之间的查找结果、值557和值516之间的查找结果。
应当理解的是,当属性字段中的值与扫描字段中的值匹配时,可以确定出查找结果。系统可以利用各种标准来确定这种匹配。例如,系统可以要求属性字段值与扫描字段值完全匹配。再例如,系统可以要求属性字段值仅匹配扫描字段值的一个子串。
在一个实施例中,系统执行任意数量的处理步骤以对数值进行清洁处理、规范化和/或标准化,然后确定数值是否匹配。例如,在确定数值是否匹配之前,系统可以从数值中删除非字母数字字符(例如空格、句点、破折号、括号等)。再例如,系统可以修改文本格式(例如,将文本转换为大写或小写、转换下标或上标等)、舍入数和/或将数值进行单位转换。
在其他实施例中,系统利用自然语言处理和/或各种字符串相似性算法来确定属性字段值和扫描字段值之间的匹配。在这种情形下,例如,当针对属性字段值和扫描字段值计算的相似性分值大于或等于最小阈值时,系统可以确定出匹配。
在一个实施例中,机器学习模型采用与字段独特查找结果计数有关的一个或多个特征。字段独特查找结果计数可以定义为与当前扫描字段中当前属性字段的个人信息查找结果相关联的独特数值的数目。例如,属性字段570和扫描字段520的字段独特查找结果计数为2,因为扫描字段仅包含两个独特的数值(例如,值521和值522)。再例如,属性字段570和扫描字段530的字段独特查找结果计数等于3。
在另一个实施例中,模型可采用与属性记录计数有关的一个或多个特征。属性记录计数可以定义为:根据针对当前属性字段和当前扫描字段确定的个人信息查找结果所创建的个人信息记录的数目。如上所述,系统针对在关联处理过程中未过滤掉的查找结果创建个人信息记录。
以属性字段540和扫描字段510为例,系统可以创建7个个人信息查找结果,如上所述。假设与属性字段540相关联的用户ID属性具有高度识别能力(即,其属性所关联的属性识别能力得分大于或等于最小值识别能力),很可能每个查找结果都会通过关联处理过程,于是,为值541-548创建个人信息记录。因此,在这种情形下,属性记录计数将等于8。
再以属性字段550和扫描字段510为例。如上所述,这些字段的字段查找结果计数等于3。然而,值556、557和511中的每一个都反映了数据输入错误或其他噪音干扰信息,因此,针对这些值的所有3个查找结果通常将在关联处理期间被过滤掉。所以,系统不会为这些查找结果创建个人信息记录,在这种情形下,属性记录计数将等于0。
在一个实施例中,机器学习模型采用与不同ID计数有关的一个或多个特征。不同ID计数可以定义为:根据针对当前属性字段和扫描源字段独特值的个人信息查找结果而创建的个人信息记录的数目。应当理解的是,不同ID计数类似于字段独特查找结果计数,只是前者对个人信息记录进行计数,而后者对个人信息查找结果进行计数。
以属性字段540和扫描字段510为例,属性字段540中的值541和542都匹配扫描字段510中的值512,并且属性字段中的各个值543-548匹配扫描字段中的一个值(分别为513-518)。假设为所有这些查找结果都创建了个人信息记录,不同ID的数量将等于7,因为值541和542是相同的,所以只计数一次。
在又一个实施例中,机器学习模型采用与字段记录计数有关的一个或多个特征。字段记录计数可以定义为:根据针对所有身份数据源中的所有属性字段和当前扫描字段确定的个人信息查找结果而创建的个人信息记录的数目。
例如,可以针对身份数据源502的所有属性字段(例如540、550、560、570)和扫描数据源503的一个扫描字段(例如510)确定字段记录计数。在这种情形下,为以下匹配创建记录:属性字段540中的值541匹配扫描字段510中的值512;属性字段540中的值542匹配扫描字段中的值512;属性字段540中的值543匹配扫描字段中的值513;属性字段540中的值544匹配扫描字段中的值514;属性字段540中的值545匹配扫描字段中的值515;属性字段540中的值546匹配扫描字段中的值516;属性字段540中的值547匹配扫描字段中的值517;属性字段540中的值548匹配扫描字段中的值518。尽管属性字段550中的值556和557以及属性字段570中的值579各自匹配扫描字段510中的值511和516,但是不会为这些匹配而创建记录,因为它们不是高度可识别的,并且也不接近高度可识别的属性。因此,身份数据源502的所有属性字段(540、550、560、570)和扫描数据源503的扫描字段510的字段记录计数等于8。
应当注意的是,这个特征/功能可以用于计算属性记录计数和字段记录计数之间的比率(下面再讨论)。所述比率越高,就表示一个特定属性字段对应于一个特定扫描字段的确定程度越高,因此,该属性字段相关联的属性可以与扫描字段相关联。另一方面,较低的值可能指示属性字段并不对应于源字段;事实上,身份数据源中的不同属性字段可能更匹配扫描字段。
在另一个实施例中,机器学习模型可采用与最大属性记录表计数(“MARTC”)相关的一个或多个特征。MARTC可以定义为根据为扫描数据源表中的所有扫描字段和一个属性字段确定的个人信息查找结果创建的个人信息记录的数量。
例如,可以为身份数据源502的属性字段540和扫描数据源503的所有扫描字段(例如510、520、530)确定字段记录计数。在这种情形下:属性字段540中的值541和542匹配扫描字段510中的值512;属性字段540中的每一个值543-548匹配扫描字段510中的一个值(513-518)。属性字段540中没有哪一个值匹配扫描字段520或530中的值。因此,属性字段540和所有扫描字段(510、520、530)的MARTC等于8。
在一个实施例中,机器学习模型可以采用与每个扫描源的属性比率有关的一个或多个特征。所述特征可以通过将属性记录计数除以MARTC来计算。例如,属性字段540和扫描字段510的每个扫描源的属性比率是:8/8=1。
应当理解的是,每个扫描源特征的属性比率的值越高,表示特定属性字段对应于特定扫描字段的确定度就越高,因此,与属性字段相关联的属性也可以与扫描字段相关联。另一方面,较低的值可能指示属性字段并不对应于源字段;事实上,身份数据源中的不同属性字段可能更匹配扫描字段。
在某些实施例中,机器学习模型采用与确定匹配(sure matches)计数、完全匹配(full matches)计数和/或确定和完全匹配(sure and full matches)计数相关的各种特征。通常,当属性字段与高度可识别的属性相关联时,属性字段中的值与扫描字段中的值之间的匹配可称之为“确定匹配(sure matches)”。如上所述,当字段中的值分别与两个或两个以下的独特数据主体简档相关联时,属性字段可被视为具有高度识别能力。换言之,与至少0.5的属性识别能力得分相关联的属性字段将被认为具有高度识别能力,扫描字段中可与此类属性字段值匹配的值将被认为是确定匹配。
例如,假设身份数据源502中的属性字段540具有至少0.5的识别能力得分。在这种情形下,属性字段540中的值(例如,值543)与扫描字段中的值(例如,扫描字段510中的值513)的每次匹配将被视为确定匹配(假设如上所述满足其他标准)。再例如,假设属性字段550的识别能力得分小于0.5,则属性字段中的值与任何扫描字段中的值的任何匹配将不被视为确定匹配。
“完全匹配(full matches)”表示属性字段值与扫描字段值完全匹配的场景。例如,属性字段540中的值543与扫描字段510中的值513完全匹配,于是将被计为完全匹配。再例如,属性字段550中的值556和557仅部分地匹配扫描字段510中的值516,就不会被计为完全匹配。
“确定和完全匹配(sure and full matches)”是指属性字段值与扫描字段值既是确定匹配又是完全匹配的情况。在上述示例中,扫描字段510中的值513与属性字段540中的值543是确定匹配和完全匹配;因此,它被计为确定匹配、完全匹配、确定和完全匹配。然而,虽然属性字段570中的值579与扫描字段520中的值522完全匹配,但这不是确定匹配,因为属性字段570被认为不具有高度识别能力;因此,它不被算作确定和完全匹配。
最后,机器学习模型可以采用与名称相似性相关的一个或多个特征。通常,名称相似性是指特定属性字段的名称和特定扫描字段的名称之间的相似度。尽管系统可采用任意数目的算法来确定名称相似性,但一个优选算法是编辑距离算法(“LD”),其涉及将扫描字段名称转换为属性字段名称(反之亦然)所需的删除、插入和/或替换的数目。例如,属性字段540(即字符串“用户ID”)和扫描字段510(即字符串“用户”)的LD约为0.7。再例如,属性字段570和扫描字段520的LD是1,因为这两个字段都与字段名“Promo(促销)”相关联。
下面的表1显示了根据重要性排序的预测特征列表,机器学习模型可以使用这些特征来确定属性字段和扫描字段的信任度。应当理解的是,所列出的特征是示例性的,隐私管理平台使用的各种机器学习模型可以采用附加的或替代的特征。
表1:机器学习特征排名
应当理解的是,系统可通过一个或多个机器学习算法来确定信任度。示例性的算法包括但不限于:随机森林、聚类、逻辑回归、决策树学习、贝叶斯网络、支持向量机、人工神经网络等。针对每个机构,可分别训练这些算法中的一个或多个,这里的每个机构使用所述平台,通过使用机构专用训练数据来构建包括个人信息属性规则的一个或多个机构专用个人信息分类机制。
还应当还理解的是,各种机器学习算法可为不同类型的数据(例如,结构化或非结构化的数据、文本、文档、地理位置、图像等)提供不同的结果。此外,存储数据的类型和/或数量在机构之间可能存在很大的差异。因此,优选的是,在单个机构内和/或跨多个机构连续地比较不同机器学习算法在各种数据源上获得的结果,以确定方差。为此,系统可测试训练数据并验证多个算法,以针对特定的数据集和/或机构选择最有效的算法。
如图4所示,在步骤408中,系统确定机器学习模型计算出的每个信任度是否大于或等于最小信任阈值。每当信任度大于阈值时,系统就可以将这个确定了该信任度的属性字段的个人信息属性与相应的扫描字段相关联。
在步骤409中,系统存储、发送和/或显示扫描结果,包括与扫描数据源中的一个或多个位置对应的位置信息,其中在这些位置处的个人信息已根据属性(例如,字段和/或这些字段中的行)进行确认和/或分类。在一个实施例中,扫描结果可以包括元数据,例如但不限于:与被扫描的表相对应的扫描数据源信息、扫描的行数、扫描的特定行、检测到的查找结果的数目、根据这些查找结果创建的个人信息记录数、字段-字段的信任度、扫描字段属性分类和/或其他信息。
扫描结果可用于任意数量的潜在使用例(use cases),因为这样的结果为快速分析目标系统中的个人信息用例(instances)提供了基础。例如,扫描结果为正在进行数据中心迁移的机构提供很强的价值(和快速的周转时间),此时不需要关联数据主体。再例如,初始样本扫描可用于确定数据源中存储个人信息的一个或多个位置(例如,表/集合和/或此类对象中的特定列)。
在一个实施例中,样本扫描结果可用于仅对数据源和/或数据源内被确定为保存个人信息的位置进行完全扫描。例如,如果接收到的搜索或查询要获取与属性关联的请求个人信息(即包括获取请求),系统确定哪些个人信息记录与属性相关联,并搜索与这些记录相对应的扫描数据源字段,以便快速定位/查找所请求的个人信息。在数据源包含大量的表、但其中只有少数的表包含个人信息的情形下,此举可以显著减少搜索时间。采用样本扫描,系统以“适时(just-in-time)”方式运行完全扫描(例如,当一个或多个用户请求从系统中删除其数据时)。
在另一个实施例中,系统经由一个或多个客户端应用程序或应用程序编程接口(“API”)向用户发送或显示部分或全部扫描结果。例如,系统可以显示每个个人信息查找结果、与所述查找结果相关联的元数据、为各种字段确定的信任度和/或标签或其他指示符,以指示系统是否已经根据个人信息属性对每个字段进行了分类。在一个条目被分类为个人信息的情形下,系统还显示针对与该条目相关联的一个或多个数据主体创建的个人信息记录。
通常,上述公开的实施例可以确定任意数量的扫描字段的信任度。在一个实施例中,系统可以计算所有身份数据源表中的所有属性字段和扫描数据源中的所有扫描字段的信任度。例如,系统确定第一属性字段(例如,属性字段540)和第一扫描字段(例如,扫描字段510)的第一信任度;然后,系统确定第二属性字段(例如,属性字段550)和第一扫描字段的第二信任度;然后,系统确定第三属性字段(例如,属性字段560)和第一扫描字段的第三信任度;然后,系统确定第四属性字段(例如,属性字段570)和第一扫描字段的第四信任度。当身份数据源有多个表(未显示)时,上述过程可继续计算第一扫描字段和附加身份数据源表中的每个属性字段的附加信任度。然后,可以针对扫描数据源表503中的每个附加扫描字段(例如,扫描字段520,然后是扫描字段530)重复上述过程。
在替代性的实施例中,系统可仅计算特定扫描字段的信任度,直到确定出大于最小阈值的信任度为止。例如,系统确定第一属性字段(例如,属性字段540)和第一扫描字段(例如,扫描字段510)的第一信任度;系统确定出第一信任度大于或等于最小阈值;然后,系统接下来计算第一属性字段和第二扫描字段(例如,扫描字段520)的第二信任度,而不是计算第二属性字段(例如,属性字段550)和第一扫描字段的第二信任度。然后,针对扫描数据源中的每个附加扫描字段(例如,扫描字段530)重复上述过程。当有附加的身份数据源可用时,可以对附加身份数据源中包含的属性字段和每个扫描字段(510、520、530)重复整个过程。
应当理解的是,样本扫描技术可用于搜索结构化的数据源,包括身份数据源、主要数据源和/或辅助数据源。还应当理解的是,样本扫描技术也可用于搜索任何非结构化的数据源。由于非结构化的数据源充满可变性,所以样本扫描技术可根据上述方法,采用从文件样本组中扫描整体文件和/或对所有文件的一个子集进行采样的混合方式。
参见图6,所示的示例性表600描述用于将属性字段与数据源字段进行匹配的预测结果。如图所示,输出表600包括以下标签:身份源字段名称605、扫描源字段名称610、字段查找结果计数615、字段独特查找结果计数620、名称相似性625、信任度630、分类或预测635。
如上所述,机器学习模型采用许多特征来比较扫描数据源中的字段与一个或多个身份数据源中的字段,以确定信任度630。在所示的实施例中,显示了字段查找结果计数615和字段独特查找结果计数620,以强度指示扫描数据源字段是否包含个人信息。例如,如果字段独特查找结果计数620接近查找结果数目615,则扫描源字段可能包括个人信息。
另一方面,名称相似性625可以弱度指示扫描的源字段是否包括与身份数据源中的给定字段相对应的个人信息。例如,即使在扫描源字段名称610与身份源字段名称605相似或相同的情形下,存储在扫描源字段中的数据也不一定保存有意义的个人信息。例如,如第640行中所示,其中身份源字段名称605与扫描的源字段名称几乎相同,但是模型确定的信任度仅为0.0389。
图6还显示,机器学习模型可以分类和标记635每一个扫描源字段,基于为该字段确定的信任度630。例如,系统可以通过在相应的预测列635中包含“1”,以此指示扫描源字段包含个人信息(具体而言,就是与给定属性字段相同类型的个人信息)。同时,该系统可以通过在该列中包含“0”,以此指示没有个人信息的分类。如下面所解释的,这种分类基于信任度是否大于或等于预定最小阈值而确定。
参见图7,在一个实施例中,扫描结果以热图报告(heat map report)700的形式呈现,热图报告700可由系统的一个或多个用户访问(例如,经由客户端应用程序)。如图所示,热图可以显示扫描数据源中发现的个人信息查找结果705的数目,以及为这些查找结果确定的属性(例如,邮政编码711、国家712和全名713)。热图还可以显示用于导出数据的选项721,例如导出到CSV文件。
通常,热图700允许用户从顶层(top level)数据源(例如,数据中心端点和/或云存储系统)向下钻取(drill down),直到列级(column level)的视图。这在很多用例中都有优势,包括云迁移,其中服务器数据敏感度的评估非常重要,以及开发者环境,其中应监控数据存储和微服务是否存在潜在的个人信息污染。
参见图8,显示了描绘个人信息分类机器学习模型的训练和使用的示例性流程图800。如上所述,系统可以采用机器学习模型来计算信任度,以便根据个人信息属性对扫描数据源字段进行分类。
在模型能够准确地确定信任度之前,必须对其进行配置和训练。在一个实施例中,用户可以将各种模型信息输入到系统中,由此配置给定的机器学习模型。示例性的模型信息可包括但不限于:要进行预测的目标变量或结果的定义,与模型所要采用的训练数据相关的变换或激活函数信息,和/或初始参数/权重。
通常,机器学习模型的“学习”或“训练”是指,通过改变或修改模型参数来提高模型的整体预测性能。确定要在模型中使用的特定参数w,就是从数据中学习映射(mapping)的更广义问题的一个例子。假定训练数据集D包含N对输入和相应输出观测结果的示例(即,D={(x1,y1)...,(xN,yN)}),目标是学习映射,所述映射近似于(或拟合出)训练集上的映射,重要的是,该映射还可以很好地推广和/或外推到未知(unseen,或看不见的)测试数据,其中所述未知测试数据是从与训练数据集D中的成对相同的概率分布中提取的。
为了学习这种映射,我们定义了一个误差函数来度量映射的正效用(在目标函数的情形下)或负效用(在损耗函数的情形下),当期望输出为y时,该映射根据输入x提供输出y’。当误差函数为损耗函数时,给定训练数据集上的误差针对映射可定义为损耗之和(即,经验损失)。
许多误差函数可用于训练本发明所公开的机器学习模型,包括具有防止对训练数据过度拟合(overfitting)的正则化项的函数、从概率模型的可能性或后验概率导出的函数、基于大数据集进行子采样的函数或对相关损耗函数的近似(所谓的“替代用的损耗函数”)。通常,可以计算整个训练数据的误差,或者通过对训练数据的小型子样本(或小批量)进行近似误差计算。
训练通常基于某示例数据D,通过使用优化算法来优化误差函数E。例如,可以通过如下步骤最小化误差函数:从一些初始参数值w开始,然后取E(w,D)关于参数w的偏导数,并在这些导数所给出的方向上调整w(例如,根据最速下降优化算法)。应当理解的是,可以使用任意数量的优化算法来训练本发明所公开的机器学习模型,包括例如使用随机梯度、可变自适应步长、二阶导数、其近似和/或其组合。
如图8所示,系统连接到一个或多个数据源,以便摄取和存储其中包含的输入数据810。在一个实施例中,系统可以运行排定/预定的查询或处理,以从数据源提取输入数据。在其他实施例中,系统可以为获得授权的用户提供端点,以使其上传输入数据来进行处理。
在步骤815中,系统根据集中化数据模式处理所摄取的输入数据,以创建初始数据记录。在一个实施例中,系统确定与输入数据及其相关联事务有关的各种元数据(例如,获得授权的用户、摄取时间、数据源信息、行计数和/或其他)。然后,系统将这种元数据与相应的初始数据记录进行关联。
在步骤820中,系统执行各种预处理步骤,以将初始数据记录清理、验证和/或规范化为预处理的数据记录。为使所创建的预处理数据记录包括标准格式或模式的数据表,需要这样的预处理。尽管机器学习技术能够很好地处理数据不完整和/或不准确等常见问题,但是系统可以采用预处理、清理和/或正则化来确保创建高质量的预测特征。如本发明所使用的,术语“表”最广泛的含义是指,将数据分组成易于解释或呈现的格式。此类格式包括但不限于通过执行计算机程序指令或软件应用程序而提供的数据、表格、电子表单等。
在预处理期间,系统对初始数据记录执行任意数量的数据操作,以从中创建预处理的数据记录。一些示例性的操作包括:连接(为在两个或多个数据库表之间建立连接而执行的操作,从而在表之间创建关系),过滤器(一种程序或代码段,用于检查每个输入或输出请求是否符合某些限定条件,然后相应地处理或转发)、聚合(一种收集信息并以摘录形式表示的过程,用于统计分析)、缓存(即,存储结果,以供后续使用)、计数、重命名、搜索、排序和/或其他表操作。例如,这种预处理可以确保与预处理的数据记录相关联的所有信息包括标准化的命名约定、文件系统布局和配置变量。
在一个实施例中,系统基于个人信息规则从输入数据中识别个人信息查找结果。系统还识别与此类查找结果相关联的元数据,例如但不限于属性类型、字段名称(例如,个人信息所在的数据库中的列的名称)、字段值(出于隐私原因可散列/哈希处理)、扫描ID、与存储个人信息的数据源相对应的数据源信息(例如,名称、类型、位置、访问凭证等)和/或与数据源中存储个人信息的位置相对应的位置信息(例如,表、列、行、集合等)。一旦在初始数据记录中识别出这样的信息,系统就可以将这些信息聚合、编码和排序到一个查找结果文件中。
在步骤825中,根据预处理的信息创建各种预测特征。这些特征可提供给机器学习模型,以确定这些特征的预测值(即,特征权重)、信任度和基于信任度的分类。
通常,这些实施例所用的每个特征将包括与在步骤820中生成的处理信息的一个或多个特定方面有关的单个值。每个特征均可通过相对于关联值执行的一个或多个处理步骤来创建,例如:对数缩放计数变量、分桶变量、装箱变量和/或确定值(例如,计数、最大值、最小值、平均值、中位数、模式、标准差等)。
在某些实施例中,特征可以通过以下步骤来创建:(1)对预处理的信息进行任意数量的组合、聚合、变换、归一化和/或插补;(2)计算所得数据的一个或多个摘录统计。示例性的摘录统计可包括但不限于:计数、平均值、中值、模态值和/或标准差。
还可以通过计算数值比率、数值聚合比率和/或数值聚合标准化比率来创建特征。此外,可以创建与此类信息的比较有关的各种特征。本发明描述的机器学习模型可用于确定实现高预测性能的信息的重要比率和组合。
应当理解的是,特征可以各种方式进行标准化或转换,这取决于所采用的建模技术(例如,使模型更稳定)。例如,逻辑回归模型对极值比较敏感,它有助于将信息属性聚合到桶中,并将多个属性分别作为特征并入。然而,随机森林模型是基于分区的,因此对极值不太敏感。
在一个实施例中,模型可以采用上面讨论的部分或所有特征。因此,在步骤830中,可以生成与这些特征的部分或全部相关的训练数据,并将其用于训练机器学习模型。
图9显示了示例性标记训练数据900,其用于在多个受监督的用例(例如,至少4000个用例)上训练机器学习模型。如图所示,训练数据900的每一行可以包括:与身份数据源中的属性字段相对应的属性字段名901;与信任度扫描数据源中确定了信任度的扫描字段相对应的扫描字段名902;标签950,其指示是否应将扫描字段分类为包含与属性字段的属性相关联的个人信息。
训练数据900还包括机器学习模型使用的特征相关联的值,例如但不限于:字段值计数905、字段查找结果计数910、字段独特查找结果计数915、属性记录计数920、字段记录计数925、最大属性记录表计数930、确定匹配计数935、完全匹配计数940,和/或确定和完全匹配的计数945。应当理解的是,在附加的情况下或在替代的情况下,训练数据可以包括与本发明讨论的任何预测特征相关的值。
在任何情形下,可在步骤835中提供训练数据900给机器学习模型,使得其可分析其中包含的信息以确定信任度并根据个人信息属性对扫描字段进行分类。然后,系统可以在步骤835中执行任意数量的附加动作。例如,在步骤835中,系统随后可以向用户显示预测结果和相应的信任度。
在某些实施例中,系统采用有监督的主动学习过程来训练机器学习模型,以对个人信息进行分类(例如,以便创建和/或更新个人信息规则)。如图所示,用户通过根据用户数据的特定属性调整/定制算法来训练和重新训练模型,以便产生更准确的预测结果。例如,当在步骤835中显示与训练数据相关的预测结果时,用户可以审阅这些结果并提供反馈840(例如,拒绝一个或多个结果)。然后向机器学习模型提供用户反馈,如此使得训练过程不断重复,直到用户表示他们对预测结果满意为止和/或直到满足预定的停止准则为止。
一旦训练完成,所述模型就可以被翻译(例如,翻译成Java或JavaScript)并纳入隐私管理平台中,这样就可以使用它基于输入信息对个人信息查找结果进行分类。也就是说,如所需要或所期望的那样,经过训练的机器学习模型可用于确定新输入数据的信任度845。在一些实施例中,模型可导出到文件(二进制或文本)中并由模块(例如,Java或JavaScript模块)加载。加载后的模型可用于生成预测结果。
因此,可以重新摄取和预处理新的可用信息,然后为ML模型计算特征,以基于在训练数据上生成的相对特征权重来计算修正的信任度。在一个实施例中,当有新数据可用时(例如,每天、每周或每月),ML模型定期重新计算各信任度。此外,系统可以将这种信任度与对应于分类扫描字段中存储的个人信息记录相关联。
在一个实施例中,还可以基于由模型确定的信任度和分类来计算性能度量。可以理解的是,一个有效的、强大的模型应该期望在额外的数据集上的性能度量,类似于根据最初训练模型所用的数据的保持(hold-out)子样本计算出的性能度量。
为了在实践中采用机器学习系统,必须选择一个信任阈值,仅当确定的信任度高于该阈值时,系统才指示信任度扫描字段对应于属性字段。应当理解的是,随着阈值的增加,假阳性(误以为真)的数量将减少,但是假阴性(误以为假)的数量将增加。相反,随着阈值的降低,假阳性(误以为真)的数量增加,但是假阴性(误以为假)的数量减少。因此,评估给定模型的最佳阈值,需要在假阳性(误以为真)和假阴性(误以为假)的结果之间做出适当的权衡/折中考虑。
在当前这些实施例的相关背景中,通常情况下,对假阴性(误以为假)的惩罚较大,对假阳性(误以为真)的惩罚较小。例如,如果未能将信息识别为个人信息(即,误以为假),可能会导致机构被罚款和/或失去客户信心,而如果错误地将信息识别为个人信息(即,误以为真),则可能会导致机构不必要地监控和保护该信息。尽管对误以为假的惩罚比对误以为真的惩罚更大,但是可以理解的是,监控和保护数据可能是代价高昂的;因此必须取得平衡。
可以计算许多度量来评估本文所公开模型的性能,包括敏感度(即,召见或真阳性率)和精确度(即,真阴性率)。如下面的公式1所示,敏感度对应于接收机工作特性(“ROC”)曲线的Y轴,其中每个点对应于做出预测的阈值。敏感度提供了针对某个预测阈值时将信息正确识别为个人信息属性的百分比。应当理解的是,较高的召见(recall,或曰排查)对应于较低的预测阈值,其反过来反映了避免假阴性更甚于假阳性的偏好。
如下方的公式2所示,精确度对应于ROC曲线的X轴,其衡量在给定阈值下正确识别的实际阴性的比例。
在对具有广泛变化的特征的数据源字段中的个人信息进行分类时,本文所公开的机器学习模型可以实现非常高的性能水平。例如,模型可被配置为实现从约0.8到约0.98的敏感度和/或精确度。在某些实施例中,模型可被配置为实现至少约0.8、至少约0.85、至少约0.9或至少约0.95的敏感度和/或精确度。
参见图10,所示的性能度量图1000描绘了采用随机森林算法和逻辑回归算法的机器学习模型。如图所示,随机森林机器学习模型实现了约97%的敏感度1001和约89%的精确度1011,而逻辑回归模型实现了约82%的敏感度1002和约68%的精确度1012。因此,就分类而言,随机森林模型优于逻辑回归模型。
在不受特定理论约束的情形下,我们认为随机森林机器学习模型优于其他机器学习模型,因为它具有更好的处理特征之间复杂关系的能力(例如,只有在字段记录计数/字段查找结果计数较高时,名称相似性才是重要的)。此外,我们认为随机森林算法优于其他分类器,并具有更好的泛化能力,因为它允许聚合多个决策树的结果,每个决策树仅使用一个数据子集进行训练,该数据子集包含一部分数据特征的横截面。
参见图11,显示了示例性的信任度阈值调整屏幕1100。该屏幕1100允许用户调整机器学习模型进行分类所用的信任阈值。
如图所示,用户可以调整杆(bar,或译为栏/条)1110,杆1110的取值范围从最小信任阈值(例如,0)1111到最大信任阈值(例如,1)1112。在所示的实施例中,屏幕1100还可以通知用户,低信任度阈值1115的取值范围在0到0.25之间,中信任度阈值1120的取值范围在0.25到0.65之间,高信任度阈值1125的取值范围在0.65到1.0之间。
通过调整信任阈值,可以改变精确度等级和召见等级。也就是说,增加信任阈值将导致较高的召见和较低的精确度,而降低信任阈值将导致较低的召见和较高的精确度。在任何情形下,在选择期望的信任阈值后,用户随后可以选择重置选项1130以恢复到默认设置,选择取消选项1135以退出屏幕,或者选择更新选项1140以更新信任阈值。
参见图12,显示了示例性扫描结果审阅和修改屏幕1200。如图所示,该屏幕1200显示的表1201包括扫描处理所得的结果,以及为各种扫描字段确定的信任度1210。
在一个实施例中,用户可以选择一行或多行结果,并修改每行的信任度1210。例如,这些结果可显示基础数据1220的信任度与相应元数据1210的信任度之间的差异(例如,一个高,一个低)。
在这种情形下,用户可以通过更新信任度模板或弹出窗口1215,由此修改与元数据1210相关的信任度。该特征1215可以提供一个选项(例如,下拉菜单),以允许用户选择更新的信任度1217。在选择更新的信任度1217后,系统可以存储该选择,然后根据调整后的信任度1217自动重新训练机器学习模型以预测结果。因此,模型可以学习到,应将用户指定的经调整的信任度1217分配给具有类似外观(看起来相似)的观察结果。
参见图13,显示了示例性系统。如图所示,该系统可包括可从公共云端部署或在机构的数据中心内部部署的微服务架构。此架构允许将系统部署为简单的单服务器方案,或部署为多层混合云环境,多层混合云环境包含一个或多个本地应用程序和/或云应用程序。
核心系统组件可以设计成微服务,这些微服务可以封装在容器(例如,DOCKER容器)中,以增加可伸缩性并实现灵活的部署。当组件被分离出来并且可以在各自独立的环境中运行时,可以通过添加更多相关微服务的用例来扩展系统。容器影像文件(containerimages)可以从容器中心进行管理、版本控制和下载,或者从压缩文件中加载,以防机构的环境不允许中心访问。通常,每个组件都可以通过REST API(或异步作业的消息)进行通信,并且大多数服务可能是无状态的。应当理解的是,多个微服务可以共享同一容器。
尽管系统可以使用容器服务,但核心交付物仍然可以用普通代码(例如JavaScript、Java等)来维持。因此,如果希望或需要的话,这些组件可以打包在不同的虚拟机影像文件中,甚至可以由安装程序进行安装。
如图所示,系统可以包括任意数量的模块,包括但不限于:管理服务器模块1310,其可以部署在云端或本地;主模块1330,其通常部署在本地。在一个实施例中,主模块1330包括多个组件,例如共享数据库组件1340、编排器组件1331、相关器(correlator,或称之为关联器)组件1333、风险分析和规则评估组件1332、数据源查找/发现组件1334和多个扫描器工作者组件1350(例如,身份扫描器1351,Hadoop云计算扫描器1352、文件共享扫描器1353和/或第三方系统扫描器1354)。
共享数据库组件1340可以在多个数据库表(1341-1347)中存储信息,例如:数据主体表1341、个人信息记录表1342、数据源表1343、规则表1344、事件表1345、应用程序表1346和/或活动表1347。如图所示,各种组件和/或微服务可以访问共享数据库组件1340,以存储和/或获取信息。
在某些实施例中,可以采用数据源查找组件1334。查找组件可用于搜索可用数据源(例如,使用网络查找/发现)。与所找到的数据源相关联的数据源信息可以存储在共享数据库1340中(例如,在数据源表1343中)。
如图所示,系统包括多个分布式的本地扫描器工作者组件1350,其用于从各种数据源1360(例如身份数据源1361、主要数据源1362、辅助数据源1363和/或第三方数据源1374)扫描和获取个人信息查找结果。每一个扫描器1350可以基于存储在共享数据库1340中(例如,在规则表1344中)的一个或多个个人信息规则来搜索数据源中的个人信息。此外,每一个扫描器1350可以将获取到的个人信息存储在共享数据库1340中(例如,在个人信息数据库表1342中)。如上所述,示例性的个人信息查找结果可以包括属性类型、属性值和/或链接、位置信息和/或扫描器ID。扫描结果还可以包括元数据,例如但不限于个人信息属性、数据主体的数量等,以允许规划工作负荷(例如,对于特定属性获取部分或全部结果)。
在一个实施例中,身份扫描器1351可以连接到客户的身份数据源1361中的一个或多个,以便确定系统应当为哪些数据主体维护其身份图简档。如上所述,这样的身份系统1361可以包括一个或多个结构化的数据库(例如,SQL)、轻型目录访问协议LDAP或其他目录系统和/或诸如客户关系管理系统之类的应用程序。
身份扫描器1351可以连接到身份系统,获取相关个人信息,并将结果存储在共享数据库组件1340中。在某些实施例中,身份扫描器可开放API以实现:开始扫描、检查扫描器状态和/或获取扫描结果。
主要数据源扫描器(例如,Hadoop扫描器1352)连接到机构的主要数据源(例如,Hadoop系统1362),以查找个人信息,如上所述。在某些实施例中,主要数据源扫描器可开放API以实现:开始扫描、检查状态和/或获取与个人信息相关的结果。此扫描器可以提交作业,以便根据输入文件中的数值运行扫描。并且这样的扫描器可以经由API将结果存储在共享数据库1340中(例如,在个人信息表1342中)。
辅助数据源扫描器(例如,文件共享扫描器1353)连接到机构的辅助数据源(例如,文件共享系统1363),以查找个人信息,如上所述。在某些实施例中,辅助数据源扫描器可开放API以实现:开始扫描、检查状态和/或获取与个人信息相关的结果。此扫描器可提交作业,以便根据输入文件中的数值运行扫描。并且这样的扫描器可以经由API将结果存储在共享数据库1340中(例如,在个人信息表1342中)。
在某些实施例中,系统可以集成第三方系统和应用程序1374,例如数据保护系统。第三方扫描器1354可用于获取可利用的个人信息查找结果和/或个人信息记录。在附加的情况下或在替代的情况下,系统可开放API给第三方系统和应用程序1305,以查询所存储的数据和/或元数据。
通常,系统可以被配置成扫描多种类型的多个数据源(例如Hadoop服务器1、Hadoop服务器2、文件共享1、文件共享2等等)。在一个实施例中,每种类型的数据源可由专用于扫描该类型的数据源的扫描器1350进行扫描。在其它实施例中,单个扫描器可用于扫描多种类型的数据源。
每一个扫描器1350可以利用目标数据源的原生(native)搜索能力和/或可以作为数据源的一部分运行。例如,Hadoop扫描器1351可以运行MapR作业,而SQL扫描器(未显示)可以运行多个查询(例如,每个表中的每列对应一个查询,等等)。
可伸缩性可以通过添加给定扫描器的更多试例(instances)来实现,其中每个扫描器可以拾取一个扫描作业并与其他扫描器并行运行。每个扫描器试例可以检查共享数据库,以查看是否有正在进行中的作业(“扫描任务”)供其执行。并且,当存在扫描任务时,可以自动触发适当的扫描器来执行扫描。
对于有些扫描器,可能需要通过将工作拆分为单独的不同扫描来实现并行性。例如,每个个人信息属性可以被划分为不同的扫描(例如,第一次扫描可以搜索社会保险号,第二次扫描可以搜索全名)。再例如,扫描可以通过字母拆分来区隔(例如,第一次扫描可以搜索以字母a-f开头的全名,第二次扫描可以搜索以字母g-z开头的全名)。对于某些扫描器(例如,Hadoop扫描器1351),可以利用系统原本的并行性。
在一个实施例中,系统可以包括编排器组件1331,其用于调用和协调不同的处理程序和/或微服务。例如,编排器组件可以与扫描器组件1350、相关器1333、风险和规则组件1332、数据源1360、共享数据库组件1340和/或管理服务器组件1312交互。通常,编排器组件1331接收与数据主体的个人信息相关的信息,并为扫描器1350准备信息(例如,经由输入文件)。它还可以触发扫描器,并在完成时获取结果,并将结果与其他元数据一起传输到共享数据库组件。
编排器组件1331负责以下一个或多个功能:给扫描器1350提供配置数据(经由用户输入);调度扫描、刷新等;执行关联/相关逻辑,以匹配个人信息查找结果和实际身份(例如,基于个人信息规则);对清单执行静态风险分析并更新相关风险分数;对清单执行规则评估并生成违规行为;和/或运行业务信息处理(例如仪表盘所需的摘录、聚合等)。在某些实施例中,编排器1331可以生成元数据摘录和/或将其上载到管理服务器组件1312。编排器组件1331还可以运行更多处理,例如风险计算和合规判断。
示例性的编排器工作流程可包括以下步骤:(1)运行对身份源的扫描;(2)完成时进行检查;(3)通过从相关器组件1333中获取要扫描的属性值列表并创建具有这些值的输入文件,来为给定扫描器启动做好准备;(4)使用输入文件运行给定扫描器1350;(5)确定扫描器已完成扫描;(6)调用相关器组件根据扫描结果创建个人信息记录。取决于任何扫描器的特定要求和/或约束条件,结果可以直接写入共享数据库1340,以使得编排器组件可以在扫描完成时直接读取结果。
相关器组件1333可用于定义个人信息,并将任何个人信息查找结果与相应的数据主体相关联。相关器组件1333负责以下的一个或多个功能:(1)确定、获取和/或更新个人信息规则(例如,存储在共享数据库1340的规则表1344中的那些);(2)基于个人信息规则提供可搜索值的列表,以用作扫描器1350的输入;(3)当从一个或多个扫描器接收到个人信息查找结果时,搜索匹配的数据主体;(4)当查找到匹配时,创建个人信息记录,包括数据主体名称、独特数据主体ID、属性名称、数据源和/或数据链接,并将其存储在共享数据库1340(例如,个人信息表1342和/或数据主体表1341)中。
应当理解的是,个人信息查找结果以及从身份扫描器接收的个人信息属性可能包括敏感值。如果可能的话,系统可以只存储这些属性的散列/哈希值。如果不可能做到那样的话,为进行关联而保留的所有临时数据可在完成后立即擦除,而系统中的所有其他位置只需要保留/使用指向数据的指针,而非实际值。
在某些实施例中,系统还包括风险和规则组件1332,其提供与数据源1360有关的活动信息,包括但不限于所使用或访问的应用程序、账户和/或个人信息记录。这些活动数据可通过SIEM、数字资产管理(“DAM”)和/或云访问安全代理(“CASB”)产品确定。并且,这些数据可以存储在共享数据库中(例如,在活动表1347中)。
风险和规则组件1332可还用于计算每个个人信息记录的风险得分。如上所述,在附加的情况下或在替代的情况下可以计算以下一项或多项的风险:用户、数据主体、个人信息属性、系统和/或整个机构。这样的计算可以基于静态参数,例如个人信息属性和权重,和/或动态参数,例如使用频率和访问类型(例如,读/写等)。
风险和规则组件还可基于预定的、学习到的和/或用户创建的合规性法规/规则(例如,来自德国的用户必须将其数据存储在德国)来审阅个人信息记录。此组件可用于报告违反规则的行为和/或在某些情形下允许此类违反规则的行为。
仍然参见图13,系统还包括云管理服务器模块1310。该模块包括许多组件,包括管理数据库组件1320、管理服务器1312和客户端应用组件1311。
管理数据库组件1320可以在多个数据库表(1321-1324)中存储信息,例如元数据摘录表1321、租户信息表1322、用户表1323和/或任务表1324。如图所示,各种组件和/或微服务可以访问管理数据库组件1320,以存储和/或获取信息。
系统还包括客户端应用程序1311,用于以图形格式向任意数量的用户显示信息。客户端应用程序1311可以包括基于web的多租户应用程序(例如,使用AngularJS),其运行在客户端设备1301的web浏览器上。如上所述,客户端应用程序可以实现通过远程管理不同租户的本地元素来管理和保护个人信息。客户端应用程序1311可以包括打包在容器中的软件服务化(SaaS)分布式应用程序,其被远程托管以允许将简单的移植(simple porting)作为本地私有云应用程序来交付。
在某些实施例中,用户可以访问客户端应用程序以执行客户注册活动。例如,客户端应用程序可以允许用户:下载和注册本地元素;设置和管理个人信息查找任务;执行软件更新,以便对元素提供自助服务;监控系统健康状况;和/或访问平台的任何上述仪表盘和功能。
尽管上面图中没有显示,但在某些实施例中,可以使用分析和配置组件来为客户端应用程序的一个或多个用户界面屏幕所使用的API提供后端支持。该组件可以通过添加活动(例如由主模块轮询的活动),向主模块1330发送指令。
参见图14,显示了示例性的数据流图。如图所示,在一个实施例中,在客户端设备1401上运行的客户端应用程序1411(例如,经由浏览器或类似浏览器的应用程序)可以通过一组REST API 1404与管理服务器1412通信。在该实施例中,所有图形用户界面(“GUI”)命令可以通过调度器队列1402进行调度,并且可以由系统组件轮询,以仅依赖来自本地组件的呼出。这样就不需要在防火墙上打开任何端口。
扫描器1450产生的关于扫描和/或系统健康的所有统计数据和元数据可以存储在服务器一侧的元数据摘录缓存数据库1421上,以实现快速响应的用户体验。在一个实施例中,只有元数据摘录可以上传到管理服务器1412,这样一来,个人信息就不会到达服务器。因此,这样的元数据摘录可以仅存储在云中。
本发明中描述的技术主题和功能操作的实施例可以在以下一个或多个载体中实现:数字电子电路;具体体现的计算机软件或固件;计算机硬件,包括本发明中公开的结构及其结构等效物;它们的组合。这些实施例可以实现为计算机程序指令的一个或多个模块,编码在有形的、非暂时性程序载体上,用于由数据处理设备(即,一个或多个计算机程序)执行或控制其操作。在附加的情况下或在替代的情况下,程序指令可编码在人工生成的传播信号(例如,机器生成的电信号、光信号或电磁信号)上,所述信号被生成以编码信息从而传输到适当的接收器设备,以便由数据处理设备执行。计算机存储介质可以是以下一个或多个:机器可读存储设备、机器可读存储基板、随机或串行存取存储器设备及其组合。
本发明所使用的术语“数据处理设备”包括用于处理数据的各种设备、装置和机器,包括但不限于可编程处理器、计算机和/或多个处理器或计算机。示例性的装置可以包括专用逻辑电路,例如现场可编程门阵列(“FPGA”)和/或专用集成电路(“ASIC”)。除了硬件之外,示例性的装置可以包括为计算机程序创建执行环境的代码(例如,构成处理器固件、协议栈、数据库管理系统、操作系统及其组合中的一个或多个的代码)。
术语“计算机程序”在本发明中也可以被称为或描述为“程序”、“软件”、“软件应用程序”、“模块”、“软件模块”、“脚本”或简单地称为“代码”。计算机程序可以用任何形式的编程语言编写,包括编译或解释语言,其可以任何形式部署,包括作为独立程序或作为模块、组件、子例程或其他适合在计算环境中使用的单元。这种软件可以对应于文件系统中的文件。程序可以存储在文件中保存其他程序或数据的部分。例如,程序可存储在标记语言文档中的一个或多个脚本;存储在专用于所述程序的单个文件中的脚本;或存储在多个协调文件(例如,存储一个或多个模块、子程序或部分代码的文件)中的脚本。计算机程序可以被部署和/或执行在一台计算机上或位于一个站点或分布在多个站点并通过通信网络互连的多台计算机上。
本发明中描述的处理过程和逻辑流程可以由一个或多个可编程计算机执行,通过对输入数据进行操作并生成输出来执行一个或多个计算机程序以执行功能。处理过程和逻辑流程还可以由专用逻辑电路(例如但不限于FPGA和/或ASIC)执行,设备也可以实现为专用逻辑电路。
用于执行一个或多个计算机程序的计算机包括但不限于通用微处理器、专用微处理器和/或任何其他类型的中央处理单元(“CPU”)。通常,CPU将从只读存储器(“ROM”)和/或随机存取存储器(“RAM”)接收指令和数据。计算机的基本元件是一个用于执行或执行指令的CPU和一个或多个用于存储指令和数据的存储器。通常,计算机还将包括用于存储数据的一个或多个大容量存储设备(例如,磁光盘、磁光盘和/或光盘),或操作地耦合以从一个或多个大容量存储设备接收数据或将数据传输到一个或多个大容量存储设备或两者。然而,计算机不需要这样的设备。此外,计算机可以嵌入另一个设备中,例如但不限于移动电话、个人数字助理(“PDA”)、移动音频或视频播放器、游戏控制台、全球定位系统(“GPS”)接收器或便携式存储设备(例如,通用串行总线USB闪存驱动器)。
用于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储器装置。例如,计算机可读介质可以包括以下一个或多个:半导体存储器装置,例如可擦除可编程只读存储器(“EPROM”)、电可擦除可编程只读存储器(“EEPROM”)和/或闪存装置;磁盘,例如内部硬盘或可移动磁盘;磁光盘;和/或CD-ROM和DVD-ROM光盘。处理器和存储器可由专用逻辑电路补充或并入专用逻辑电路中。
为了提供与用户的交互,实施例可以在具有任何类型的显示设备的计算机上实现,显示设备用于向用户显示信息。示范性的显示装置包括但不限于一个或多个:投影仪、阴极射线管(“CRT”)监控器、液晶显示器(“LCD”)、发光二极管(“LED”)监控器和/或有机发光二极管(“OLED”)监控器。计算机还可以包括一个或多个输入设备,用户可以通过这些设备向计算机提供输入。输入设备可以包括一个或多个:键盘、指针设备(例如,鼠标或轨迹球)。来自用户的输入可以任何形式接收,包括声学、语音或触觉输入。此外,可经由任何形式的感官反馈(例如,视觉反馈、听觉反馈或触觉反馈)向用户提供反馈。计算机可以通过向用户使用的设备发送文档和从用户使用的设备接收文档来与用户交互(例如,响应于从网页浏览器接收的请求,向用户的客户端设备上的网页浏览器发送网页)。
本发明中描述的发明主题的实施例可以在包括以下一个或多个组件的计算系统中实现:后端组件(例如,数据服务器);中间件组件(例如,应用服务器);前端组件(例如,具有图形用户界面GUI和/或网页浏览器的客户端计算机,用户可通过其与本发明中描述的发明主题的实现方案进行交互)和/或其组合。系统的组件可以通过数字数据通信的任何形式或媒介互连,例如但不限于通信网络。通信网络的非限制性示例包括局域网(“LAN”)和广域网(“WAN”),例如,因特网。
计算系统可以包括客户端和/或服务器。客户机和服务器可以彼此远程并且通过通信网络进行交互。客户机和服务器的关系是由于在各自的计算机上运行的计算机程序以及彼此具有客户机-服务器关系而产生的。
在本发明中,结合附图和权利要求描述了各种实施例。为透彻理解各种实施例,描述了许多具体细节。然而,在某些情况下,为了讨论简单起见,没有描述众所周知的或常规的细节。有些图形不一定是按比例缩放的,有些特征可能会被放大或缩小,以显示特定组件的细节。因此,本发明所公开的具体结构和功能细节不应被解释为限制性的,而仅仅是作为权利要求的依据,并且据此教导本领域技术人员多样化地使用这些实施例。
本发明描述的实施例和附图是举例说明性的,不应被解释为限制权利要求的保护范围。本发明主题的范围不受特定示例的限制,因为这些示例旨在解释说明实施例的多个方面。任何等同示例都应落入权利要求的保护范围内。实际上,除了本发明所示出和描述的实施例之外,本领域技术人员可以容易地对公开实施例进行各种修改,并且这些修改也将落入权利要求的保护范围内。
虽然本发明包含许多具体的实施细节,但这些细节不应被解释为限制发明的范围或要求保护的内容,而应被解释为对特定发明的特定实施例的特定特征的描述。本发明结合不同实施例描述的某些特征也可以在单个实施例中组合实现。反过来,结合单个实施例描述的各种特征也可以在多个实施例中单独地或以任何合适的子组合方式来实现。此外,尽管上述特征可以被描述为在某些组合中起作用,甚至最初也是这样主张保护的,但是在某些情况下,可以从所请求的组合中省略该组合的一个或多个特征,并且所请求的组合可以指向子组合或子组合的变体。
类似地,虽然在附图中以特定顺序描述了很多操作,但这不应理解为必须以所示的特定顺序或次序执行此类操作,或者必须执行所有所示操作才能获得期望的结果。在某些情况下,多任务处理和并行处理可能是有利的。此外,上述实施例中的各种系统模块和组件的分离不应理解为在所有实施例中都需要这样的分离,并且应当理解的是,本发明所描述的程序组件和系统通常可以集成在单个软件产品中,或者打包成多个软件产品。
所有参考文献,包括本发明所引用的专利、专利申请和出版物,以援引加入的方式完整地并入本发明中,就如同每一个单独的出版物或专利或专利申请都被明确和单独地通过援引加入将其整体并入本发明。
Claims (21)
1.一种由计算机实现的在数据源中对个人信息进行查找和分类的方法,所述方法包括:
计算机接收身份数据源,所述身份数据源包括:
与第一属性值相关联的第一属性字段;
与第二属性值相关联的第二属性字段;
所述计算机接收扫描数据源,所述扫描数据源包括与第一扫描值相关联的第一扫描字段;
所述计算机确定多个个人信息查找结果,包括:
通过将所述第一属性值与所述第一扫描值进行比较而确定的第一组个人信息查找结果;
通过将所述第二属性值与所述第一扫描值进行比较而确定的第二组个人信息查找结果;
所述计算机根据所述多个个人信息查找结果的部分或全部创建多个个人信息记录,所述多个个人信息记录包括:
第一组个人信息记录,根据所述第一组个人信息查找结果的部分或全部创建;
第二组个人信息记录,根据所述第二组个人信息查找结果的部分或全部创建;
所述计算机计算所述第一扫描字段和所述第一属性字段的第一信任度,所述计算基于所述第一组个人信息查找结果的计数和如下一个或多个因素:所述第一扫描值的计数、所述第一组个人信息记录的计数,以及所述第一组个人信息记录和所述第二组个人信息记录的计数之和;
所述计算机计算所述第一扫描字段和所述第二属性字段的第二信任度,所述计算基于所述第二组个人信息查找结果的计数和如下一个或多个因素:所述第一扫描值的计数、所述第二组个人信息记录的计数,以及所述第一组个人信息记录与所述第二组个人信息记录的计数之和;
在确定所述第一信任度大于或等于最小信任阈值并且所述第二信任度小于所述最小信任阈值时,所述计算机在报告中将所述第一属性字段而非所述第二属性字段,与所述第一扫描字段相关联;
向用户设备提供所述报告。
2.根据权利要求1所述的由计算机实现的方法,其中:
所述扫描数据源还包括与第二扫描值相关联的第二扫描字段;
所述多个个人信息查找结果还包括:
通过将所述第一属性值与所述第二扫描值进行比较而确定的第三组个人信息查找结果;
通过将所述第二属性值与所述第二扫描值进行比较而确定的第四组个人信息查找结果;
所述多个个人信息记录还包括:
第三组个人信息记录,根据所述第三组个人信息查找结果的部分或全部创建;
第四组个人信息记录,根据所述第四组个人信息查找结果的部分或全部创建;
所述方法还包括:
所述计算机计算所述第二扫描字段和所述第一属性字段的第三信任度,所述计算基于如下多个因素:所述第二扫描值的计数、所述第三组个人信息查找结果的计数、所述第三组个人信息记录的计数,以及所述第三组个人信息记录和所述第四组个人信息记录的计数之和;
所述计算机计算所述第二扫描字段和所述第二属性字段的第四信任度,所述计算基于如下多个因素:所述第二扫描值的计数、所述第四组个人信息查找结果的计数、所述第四组个人信息记录的计数,以及所述第三组个人信息记录和第四组个人信息记录的计数之和;
在确定所述第四信任度大于或等于所述最小信任阈值并且所述第三信任度小于所述最小信任阈值时,在所述报告中将所述第二属性字段而非所述第一属性字段,与所述第二扫描字段相关联。
3.根据权利要求2所述的由计算机实现的方法,其中:
计算所述第一信任度还基于所述第一组个人信息记录和所述第三组个人信息记录的计数之和;
计算所述第二信任度还基于所述第二组个人信息记录和所述第四组个人信息记录的计数之和;
计算所述第三信任度还基于所述第一组个人信息记录和所述第三组个人信息记录的计数之和;
计算所述第四信任度还基于所述第二组个人信息记录和所述第四组个人信息记录的计数之和。
4.根据权利要求3所述的由计算机实现的方法,其中:
计算所述第一信任度具体基于与独特的第一属性值相关联的第一组个人信息查找结果的计数;
计算所述第二信任度具体基于与独特的第二属性值相关联的第二组个人信息查找结果的计数;
计算所述第三信任度具体基于与独特的第一属性值相关联的第三组个人信息查找结果的计数;
计算所述第四信任度具体基于与独特的第二属性值相关联的第四组个人信息查找结果的计数。
5.根据权利要求4所述的由计算机实现的方法,其中:
计算所述第一信任度具体基于与独特的第一属性值相关联的第一组个人信息记录的计数;
计算所述第二信任度具体基于与独特的第二属性值相关联的第二组个人信息记录的计数;
计算所述第三信任度具体基于与独特的第一属性值相关联的第三组个人信息记录的计数;
计算所述第四信任度具体基于与独特的第二属性值相关联的第四组个人信息记录的计数。
6.根据权利要求5所述的由计算机实现的方法,其中:
计算所述第一信任度还基于与所述第一属性字段相关的确定匹配的第一计数;
计算所述第二信任度还基于与所述第二属性字段相关的确定匹配的第二计数;
计算所述第三信任度还基于与所述第一属性字段相关的确定匹配的第一计数;
计算所述第四信任度还基于与所述第二属性字段相关的确定匹配的第二计数。
7.根据权利要求6所述的由计算机实现的方法,其中:
计算所述第一信任度还基于与所述第一属性字段相关的完全匹配的第一计数;
计算所述第二信任度还基于与所述第二属性字段相关的完全匹配的第二计数;
计算所述第三信任度还基于所述完全匹配的第一计数;
计算所述第四信任度还基于所述完全匹配的第二计数。
8.根据权利要求7所述的由计算机实现的方法,还包括:
计算所述第一信任度还基于与所述第一属性字段相关的确定和完全匹配的第一计数;
计算所述第二信任度还基于与所述第二属性字段相关的确定和完全匹配的第二计数;
计算所述第三信任度还基于所述确定和完全匹配的第一计数;
计算所述第四信任度还基于所述确定和完全匹配的第二计数。
9.根据权利要求8所述的由计算机实现的方法,其中:
计算所述第一信任度还基于第一名称相似值,所述第一名称相似值是针对与所述第一属性字段相关联的名称和与所述第一扫描字段相关联的名称所确定的;
计算所述第二信任度还基于第二名称相似值,所述第二名称相似值是针对与所述第二属性字段相关联的名称和与所述第一扫描字段相关联的名称所确定的。
10.根据权利要求9所述的由计算机实现的方法,其中使用编辑距离算法来确定所述第一名称相似值和所述第二名称相似值。
11.根据权利要求1所述的由计算机实现的方法,其中所述报告还包括与所述扫描数据源相关联的扫描数据源信息,所述扫描数据源信息包括:所述扫描数据源中的行的总数,用于确定所述多个个人信息查找结果的行的子集,针对所述行的子集确定的个人信息查找结果的总数,以及针对个人信息查找结果的总数创建的个人信息记录的总数。
12.根据权利要求1所述的由计算机实现的方法,其中所述第一属性字段和所述第二属性字段各自与从以下信息群中选取的个人信息属性相关联:姓名、社会保险号码、电话号码、地址、电子邮件地址、许可证号码、护照号码、信用卡号码、用户名、出生日期、个人健康信息、教育信息及其组合。
13.根据权利要求1所述的由计算机实现的方法,其中使用随机森林或逻辑回归机器学习模型来计算所述第一信任度和第二信任度。
14.一种系统,包括一台或多台计算机和一个或多个指令存储设备,当所述一台或多台计算机执行指令时,所述指令使所述一台或多台计算机执行如下操作,包括:
接收身份数据源,所述身份数据源包括:
与第一属性值相关联的第一属性字段;
与第二属性值相关联的第二属性字段;
接收扫描数据源,所述扫描数据源包括与第一扫描值相关联的第一扫描字段;
确定多个个人信息查找结果,包括:
通过将所述第一属性值与所述第一扫描值进行比较而确定的第一组个人信息查找结果;
通过将所述第二属性值与所述第一扫描值进行比较而确定的第二组个人信息查找结果;
根据所述多个个人信息查找结果中的部分或全部创建多个个人信息记录,所述多个个人信息记录包括:
第一组个人信息记录,根据第一组个人信息查找结果的部分或全部创建;
第二组个人信息记录,根据第二组个人信息查找结果的部分或全部创建;
计算所述第一扫描字段和所述第一属性字段的第一信任度,所述计算基于所述第一组个人信息查找结果的计数和以下一个或多个因素:所述第一扫描值的计数、所述第一组个人信息记录的计数,以及所述第一组个人信息记录与所述第二组个人信息记录的计数之和;
计算所述第一扫描字段和所述第二属性字段的第二信任度,所述计算基于所述第二组个人信息查找结果的计数和以下一个或多个因素:所述第一扫描值的计数、所述第二组个人信息记录的计数,以及所述第一组个人信息记录与所述第二组个人信息记录的计数之和;
在确定所述第一信任度大于或等于最小信任阈值并且所述第二信任度小于所述最小信任阈值时,在报告中将所述第一属性字段而非所述第二属性字段,与所述第一扫描字段相关联;
向用户设备提供所述报告。
15.根据权利要求14所述的系统,其中:
所述扫描数据源还包括与第二扫描值相关联的第二扫描字段;
所述多个个人信息查找结果还包括:
通过将所述第一属性值与所述第二扫描值进行比较而确定的第三组个人信息查找结果;
通过将所述第二属性值与所述第二扫描值进行比较而确定的第四组个人信息查找结果;
所述多个个人信息记录还包括:
第三组个人信息记录,根据第三组个人信息查找结果的部分或全部创建;
第四组个人信息记录,根据第四组个人信息查找结果的部分或全部创建;
所述操作还包括:
计算所述第二扫描字段和所述第一属性字段的第三信任度,所述计算基于以下多个因素:所述第二扫描值的计数、所述第三组个人信息查找结果的计数、所述第三组个人信息记录的计数,以及所述第三组个人信息记录和所述第四组个人信息记录的计数之和;
计算所述第二扫描字段和所述第二属性字段的第四信任度,所述计算基于以下多个因素:所述第二扫描值的计数、所述第四组个人信息查找结果的计数、所述第四组个人信息记录的计数,以及所述第三组个人信息记录与所述第四组个人信息记录的计数之和;
在确定所述第四信任度大于或等于所述最小信任阈值并且所述第三信任度小于所述最小信任阈值时,在所述报告中将所述第二属性字段而非第一属性字段,与所述第二扫描字段相关联。
16.根据权利要求15所述的系统,其中:
计算所述第一信任度还基于所述第一组个人信息记录和所述第三组个人信息记录的计数之和;
计算所述第二信任度还基于所述第二组个人信息记录和所述第四组个人信息记录的计数之和;
计算所述第三信任度还基于所述第一组个人信息记录和所述第三组个人信息记录的计数之和;
计算所述第四信任度还基于所述第二组个人信息记录和所述第四组个人信息记录的计数之和。
17.根据权利要求16所述的系统,其中:
计算所述第一信任度具体基于与独特的第一属性值相关联的第一组个人信息查找结果的计数;
计算所述第二信任度具体基于与独特的第二属性值相关联的第二组个人信息查找结果的计数;
计算所述第三信任度具体基于与独特的第一属性值相关联的第三组个人信息查找结果的计数;
计算所述第四信任度具体基于与独特的第二属性值相关联的第四组个人信息查找结果的计数。
18.根据权利要求17所述的系统,其中:
计算所述第一信任度具体基于与独特的第一属性值相关联的第一组个人信息记录的计数;
计算所述第二信任度具体基于与独特的第二属性值相关联的第二组个人信息记录的计数;
计算所述第三信任度具体基于与独特的第一属性值相关联的第三组个人信息记录的计数;
计算所述第四信任度具体基于与独特的第二属性值相关联的第四组个人信息记录的计数。
19.根据权利要求18所述的系统,其中:
计算所述第一信任度还基于:与所述第一属性字段相关的确定匹配的第一计数、与所述第一属性字段相关的完全匹配的第一计数,以及与所述第一属性字段相关的确定和完全匹配的第一计数;
计算所述第二信任度还基于:与所述第二属性字段相关的确定匹配的第二计数、与所述第二属性字段相关的完全匹配的第二计数,以及与所述第二属性字段相关的确定和完全匹配的第二计数;
计算所述第三信任度还基于所述确定匹配的第一计数、所述完全匹配的第一计数,以及所述确定和完全匹配的第一计数;
计算所述第四信任度还基于所述确定匹配的第二计数、所述完全匹配的第二计数,以及所述确定和完全匹配的第二计数。
20.根据权利要求19所述的系统,其中:
计算所述第一信任度还基于第一名称相似值,所述第一名称相似值是针对与所述第一属性字段相关联的名称和与所述第一扫描字段相关联的名称所确定的;
计算所述第二信任度还基于第二名称相似值,所述第二名称相似值是针对与所述第二属性字段相关联的名称和与所述第一扫描字段相关联的名称所确定的;
计算所述第三信任度还基于第三名称相似值,所述第三名称相似值是针对与所述第一属性字段相关联的名称和与所述第二扫描字段相关联的名称所确定的;
计算所述第四信任度还基于第四名称相似值,所述第四名称相似值是针对与所述第二属性字段相关联的名称和与所述第二扫描字段相关联的名称所确定的。
21.一种计算机可读存储设备,其中存储有指令,当计算机执行指令时,计算机执行如权利要求1至13中任一项的操作。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201862718349P | 2018-08-13 | 2018-08-13 | |
US62/718,349 | 2018-08-13 | ||
PCT/US2019/046352 WO2020036959A1 (en) | 2018-08-13 | 2019-08-13 | Machine learning system and methods for determining confidence levels of personal information findings |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112639845A CN112639845A (zh) | 2021-04-09 |
CN112639845B true CN112639845B (zh) | 2023-04-04 |
Family
ID=69406176
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980053132.1A Active CN112639845B (zh) | 2018-08-13 | 2019-08-13 | 确定个人信息查找结果可信度的机器学习系统和方法 |
Country Status (8)
Country | Link |
---|---|
US (2) | US11531931B2 (zh) |
EP (1) | EP3837615A4 (zh) |
JP (1) | JP7183388B2 (zh) |
KR (1) | KR102454026B1 (zh) |
CN (1) | CN112639845B (zh) |
BR (1) | BR112021002704A2 (zh) |
CA (1) | CA3108525C (zh) |
WO (1) | WO2020036959A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US12118107B2 (en) * | 2021-05-27 | 2024-10-15 | Intuit Inc. | Detecting sensitive information in records using context and decoys |
Families Citing this family (123)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20220164840A1 (en) | 2016-04-01 | 2022-05-26 | OneTrust, LLC | Data processing systems and methods for integrating privacy information management systems with data loss prevention tools or other tools for privacy design |
US11244367B2 (en) | 2016-04-01 | 2022-02-08 | OneTrust, LLC | Data processing systems and methods for integrating privacy information management systems with data loss prevention tools or other tools for privacy design |
US11392720B2 (en) | 2016-06-10 | 2022-07-19 | OneTrust, LLC | Data processing systems for verification of consent and notice processing and related methods |
US11222139B2 (en) | 2016-06-10 | 2022-01-11 | OneTrust, LLC | Data processing systems and methods for automatic discovery and assessment of mobile software development kits |
US11354434B2 (en) | 2016-06-10 | 2022-06-07 | OneTrust, LLC | Data processing systems for verification of consent and notice processing and related methods |
US11210420B2 (en) | 2016-06-10 | 2021-12-28 | OneTrust, LLC | Data subject access request processing systems and related methods |
US10909488B2 (en) | 2016-06-10 | 2021-02-02 | OneTrust, LLC | Data processing systems for assessing readiness for responding to privacy-related incidents |
US11636171B2 (en) | 2016-06-10 | 2023-04-25 | OneTrust, LLC | Data processing user interface monitoring systems and related methods |
US11403377B2 (en) | 2016-06-10 | 2022-08-02 | OneTrust, LLC | Privacy management systems and methods |
US11410106B2 (en) | 2016-06-10 | 2022-08-09 | OneTrust, LLC | Privacy management systems and methods |
US10878127B2 (en) | 2016-06-10 | 2020-12-29 | OneTrust, LLC | Data subject access request processing systems and related methods |
US11134086B2 (en) | 2016-06-10 | 2021-09-28 | OneTrust, LLC | Consent conversion optimization systems and related methods |
US11222142B2 (en) | 2016-06-10 | 2022-01-11 | OneTrust, LLC | Data processing systems for validating authorization for personal data collection, storage, and processing |
US11343284B2 (en) | 2016-06-10 | 2022-05-24 | OneTrust, LLC | Data processing systems and methods for performing privacy assessments and monitoring of new versions of computer code for privacy compliance |
US11586700B2 (en) | 2016-06-10 | 2023-02-21 | OneTrust, LLC | Data processing systems and methods for automatically blocking the use of tracking tools |
US10740487B2 (en) | 2016-06-10 | 2020-08-11 | OneTrust, LLC | Data processing systems and methods for populating and maintaining a centralized database of personal data |
US11188862B2 (en) | 2016-06-10 | 2021-11-30 | OneTrust, LLC | Privacy management systems and methods |
US11475136B2 (en) | 2016-06-10 | 2022-10-18 | OneTrust, LLC | Data processing systems for data transfer risk identification and related methods |
US10949565B2 (en) | 2016-06-10 | 2021-03-16 | OneTrust, LLC | Data processing systems for generating and populating a data inventory |
US10284604B2 (en) | 2016-06-10 | 2019-05-07 | OneTrust, LLC | Data processing and scanning systems for generating and populating a data inventory |
US11354435B2 (en) | 2016-06-10 | 2022-06-07 | OneTrust, LLC | Data processing systems for data testing to confirm data deletion and related methods |
US11188615B2 (en) | 2016-06-10 | 2021-11-30 | OneTrust, LLC | Data processing consent capture systems and related methods |
US11481710B2 (en) | 2016-06-10 | 2022-10-25 | OneTrust, LLC | Privacy management systems and methods |
US10606916B2 (en) | 2016-06-10 | 2020-03-31 | OneTrust, LLC | Data processing user interface monitoring systems and related methods |
US10282559B2 (en) | 2016-06-10 | 2019-05-07 | OneTrust, LLC | Data processing systems for identifying, assessing, and remediating data processing risks using data modeling techniques |
US11418492B2 (en) | 2016-06-10 | 2022-08-16 | OneTrust, LLC | Data processing systems and methods for using a data model to select a target data asset in a data migration |
US11295316B2 (en) | 2016-06-10 | 2022-04-05 | OneTrust, LLC | Data processing systems for identity validation for consumer rights requests and related methods |
US11301796B2 (en) | 2016-06-10 | 2022-04-12 | OneTrust, LLC | Data processing systems and methods for customizing privacy training |
US11277448B2 (en) | 2016-06-10 | 2022-03-15 | OneTrust, LLC | Data processing systems for data-transfer risk identification, cross-border visualization generation, and related methods |
US11366909B2 (en) | 2016-06-10 | 2022-06-21 | OneTrust, LLC | Data processing and scanning systems for assessing vendor risk |
US11238390B2 (en) | 2016-06-10 | 2022-02-01 | OneTrust, LLC | Privacy management systems and methods |
US11675929B2 (en) | 2016-06-10 | 2023-06-13 | OneTrust, LLC | Data processing consent sharing systems and related methods |
US11544667B2 (en) | 2016-06-10 | 2023-01-03 | OneTrust, LLC | Data processing systems for generating and populating a data inventory |
US10678945B2 (en) | 2016-06-10 | 2020-06-09 | OneTrust, LLC | Consent receipt management systems and related methods |
US11461500B2 (en) | 2016-06-10 | 2022-10-04 | OneTrust, LLC | Data processing systems for cookie compliance testing with website scanning and related methods |
US11727141B2 (en) | 2016-06-10 | 2023-08-15 | OneTrust, LLC | Data processing systems and methods for synching privacy-related user consent across multiple computing devices |
US10846433B2 (en) | 2016-06-10 | 2020-11-24 | OneTrust, LLC | Data processing consent management systems and related methods |
US11200341B2 (en) | 2016-06-10 | 2021-12-14 | OneTrust, LLC | Consent receipt management systems and related methods |
US11416589B2 (en) | 2016-06-10 | 2022-08-16 | OneTrust, LLC | Data processing and scanning systems for assessing vendor risk |
US11438386B2 (en) | 2016-06-10 | 2022-09-06 | OneTrust, LLC | Data processing systems for data-transfer risk identification, cross-border visualization generation, and related methods |
US11366786B2 (en) | 2016-06-10 | 2022-06-21 | OneTrust, LLC | Data processing systems for processing data subject access requests |
US10318761B2 (en) | 2016-06-10 | 2019-06-11 | OneTrust, LLC | Data processing systems and methods for auditing data request compliance |
US10997318B2 (en) | 2016-06-10 | 2021-05-04 | OneTrust, LLC | Data processing systems for generating and populating a data inventory for processing data access requests |
US11294939B2 (en) | 2016-06-10 | 2022-04-05 | OneTrust, LLC | Data processing systems and methods for automatically detecting and documenting privacy-related aspects of computer software |
US11328092B2 (en) | 2016-06-10 | 2022-05-10 | OneTrust, LLC | Data processing systems for processing and managing data subject access in a distributed environment |
US11227247B2 (en) | 2016-06-10 | 2022-01-18 | OneTrust, LLC | Data processing systems and methods for bundled privacy policies |
US12052289B2 (en) | 2016-06-10 | 2024-07-30 | OneTrust, LLC | Data processing systems for data-transfer risk identification, cross-border visualization generation, and related methods |
US12118121B2 (en) | 2016-06-10 | 2024-10-15 | OneTrust, LLC | Data subject access request processing systems and related methods |
US10909265B2 (en) | 2016-06-10 | 2021-02-02 | OneTrust, LLC | Application privacy scanning systems and related methods |
US12045266B2 (en) | 2016-06-10 | 2024-07-23 | OneTrust, LLC | Data processing systems for generating and populating a data inventory |
US11562097B2 (en) | 2016-06-10 | 2023-01-24 | OneTrust, LLC | Data processing systems for central consent repository and related methods |
US10685140B2 (en) | 2016-06-10 | 2020-06-16 | OneTrust, LLC | Consent receipt management systems and related methods |
US10592648B2 (en) | 2016-06-10 | 2020-03-17 | OneTrust, LLC | Consent receipt management systems and related methods |
US11651104B2 (en) | 2016-06-10 | 2023-05-16 | OneTrust, LLC | Consent receipt management systems and related methods |
US11651106B2 (en) | 2016-06-10 | 2023-05-16 | OneTrust, LLC | Data processing systems for fulfilling data subject access requests and related methods |
US10467432B2 (en) | 2016-06-10 | 2019-11-05 | OneTrust, LLC | Data processing systems for use in automatically generating, populating, and submitting data subject access requests |
US11520928B2 (en) | 2016-06-10 | 2022-12-06 | OneTrust, LLC | Data processing systems for generating personal data receipts and related methods |
US11416590B2 (en) | 2016-06-10 | 2022-08-16 | OneTrust, LLC | Data processing and scanning systems for assessing vendor risk |
US11416798B2 (en) | 2016-06-10 | 2022-08-16 | OneTrust, LLC | Data processing systems and methods for providing training in a vendor procurement process |
US11416109B2 (en) | 2016-06-10 | 2022-08-16 | OneTrust, LLC | Automated data processing systems and methods for automatically processing data subject access requests using a chatbot |
US11341447B2 (en) | 2016-06-10 | 2022-05-24 | OneTrust, LLC | Privacy management systems and methods |
US11625502B2 (en) | 2016-06-10 | 2023-04-11 | OneTrust, LLC | Data processing systems for identifying and modifying processes that are subject to data subject access requests |
US11222309B2 (en) | 2016-06-10 | 2022-01-11 | OneTrust, LLC | Data processing systems for generating and populating a data inventory |
US11228620B2 (en) | 2016-06-10 | 2022-01-18 | OneTrust, LLC | Data processing systems for data-transfer risk identification, cross-border visualization generation, and related methods |
US11336697B2 (en) | 2016-06-10 | 2022-05-17 | OneTrust, LLC | Data processing systems for data-transfer risk identification, cross-border visualization generation, and related methods |
US10510031B2 (en) | 2016-06-10 | 2019-12-17 | OneTrust, LLC | Data processing systems for identifying, assessing, and remediating data processing risks using data modeling techniques |
US11238176B1 (en) * | 2016-06-17 | 2022-02-01 | BigID Inc. | System and methods for privacy management |
US10013577B1 (en) | 2017-06-16 | 2018-07-03 | OneTrust, LLC | Data processing systems for identifying whether cookies contain personally identifying information |
KR102454026B1 (ko) * | 2018-08-13 | 2022-10-12 | 빅아이디 인크. | 개인 정보 조사 결과의 신뢰도 레벨을 결정하기 위한 머신 러닝 시스템 및 방법 |
US11544409B2 (en) * | 2018-09-07 | 2023-01-03 | OneTrust, LLC | Data processing systems and methods for automatically protecting sensitive data within privacy management systems |
US10803202B2 (en) | 2018-09-07 | 2020-10-13 | OneTrust, LLC | Data processing systems for orphaned data identification and deletion and related methods |
US11222132B2 (en) | 2018-10-05 | 2022-01-11 | Optum, Inc. | Methods, apparatuses, and systems for data rights tracking |
US10681056B1 (en) | 2018-11-27 | 2020-06-09 | Sailpoint Technologies, Inc. | System and method for outlier and anomaly detection in identity management artificial intelligence systems using cluster based analysis of network identity graphs |
US10341430B1 (en) | 2018-11-27 | 2019-07-02 | Sailpoint Technologies, Inc. | System and method for peer group detection, visualization and analysis in identity management artificial intelligence systems using cluster based analysis of network identity graphs |
US10997635B2 (en) * | 2018-11-29 | 2021-05-04 | Walmart Apollo, Llc | Method and apparatus for advertisement information error detection and correction |
KR20200067765A (ko) * | 2018-12-04 | 2020-06-12 | 키포인트 테크놀로지스 인디아 프라이비트 리미티드 | 하이퍼-콘텍스추얼 콘텐츠를 실시간으로 서빙하기 위한 시스템 및 방법 |
US10523682B1 (en) | 2019-02-26 | 2019-12-31 | Sailpoint Technologies, Inc. | System and method for intelligent agents for decision support in network identity graph based identity management artificial intelligence systems |
US10554665B1 (en) | 2019-02-28 | 2020-02-04 | Sailpoint Technologies, Inc. | System and method for role mining in identity management artificial intelligence systems using cluster based analysis of network identity graphs |
US11805136B2 (en) * | 2019-03-18 | 2023-10-31 | Hewlett Packard Enterprise Development Lp | Scanning container images and objects associated with building the container images |
US11106756B2 (en) * | 2019-06-14 | 2021-08-31 | International Business Machines Corporation | Enhanced browser tab management |
US11941135B2 (en) * | 2019-08-23 | 2024-03-26 | International Business Machines Corporation | Automated sensitive data classification in computerized databases |
US11386144B2 (en) * | 2019-09-09 | 2022-07-12 | Adobe Inc. | Identifying digital attributes from multiple attribute groups within target digital images utilizing a deep cognitive attribution neural network |
US11681817B2 (en) * | 2019-09-25 | 2023-06-20 | Jpmorgan Chase Bank, N.A. | System and method for implementing attribute classification for PII data |
EP3798891B1 (en) * | 2019-09-27 | 2023-11-01 | Tata Consultancy Services Limited | Systems and methods for detecting personally identifiable information |
US11455574B2 (en) * | 2019-11-21 | 2022-09-27 | International Business Machines Corporation | Dynamically predict optimal parallel apply algorithms |
US10997608B1 (en) * | 2019-12-12 | 2021-05-04 | Sift Science, Inc. | Systems and methods for insult rate testing and reconfiguring an automated decisioning workflow computer for improving a machine learning-based digital fraud and digital abuse mitigation platform |
EP4107925A4 (en) * | 2020-02-17 | 2023-06-07 | Bigid Inc. | MACHINE LEARNING SYSTEMS AND METHODS FOR PREDICTING PERSONAL INFORMATION USING FILE METADATA |
US11809593B2 (en) * | 2020-02-20 | 2023-11-07 | Spirion, LLC | Sensitive data compliance manager |
US11461677B2 (en) * | 2020-03-10 | 2022-10-04 | Sailpoint Technologies, Inc. | Systems and methods for data correlation and artifact matching in identity management artificial intelligence systems |
WO2021188738A1 (en) * | 2020-03-17 | 2021-09-23 | Optum, Inc. | Predicted data use obligation match using data differentiators |
US11977632B2 (en) * | 2020-04-23 | 2024-05-07 | Booz Allen Hamilton Inc. | Evaluating automatic malware classifiers in the absence of reference labels |
US11664998B2 (en) * | 2020-05-27 | 2023-05-30 | International Business Machines Corporation | Intelligent hashing of sensitive information |
US10862928B1 (en) | 2020-06-12 | 2020-12-08 | Sailpoint Technologies, Inc. | System and method for role validation in identity management artificial intelligence systems using analysis of network identity graphs |
WO2022011142A1 (en) | 2020-07-08 | 2022-01-13 | OneTrust, LLC | Systems and methods for targeted data discovery |
EP4189569A1 (en) | 2020-07-28 | 2023-06-07 | OneTrust LLC | Systems and methods for automatically blocking the use of tracking tools |
US12039273B2 (en) * | 2020-07-30 | 2024-07-16 | International Business Machines Corporation | Feature vector generation for probabalistic matching |
WO2022032072A1 (en) * | 2020-08-06 | 2022-02-10 | OneTrust, LLC | Data processing systems and methods for automatically redacting unstructured data from a data subject access request |
WO2022060860A1 (en) | 2020-09-15 | 2022-03-24 | OneTrust, LLC | Data processing systems and methods for detecting tools for the automatic blocking of consent requests |
US10938828B1 (en) | 2020-09-17 | 2021-03-02 | Sailpoint Technologies, Inc. | System and method for predictive platforms in identity management artificial intelligence systems using analysis of network identity graphs |
US11526624B2 (en) | 2020-09-21 | 2022-12-13 | OneTrust, LLC | Data processing systems and methods for automatically detecting target data transfers and target data processing |
EP4241173A1 (en) | 2020-11-06 | 2023-09-13 | OneTrust LLC | Systems and methods for identifying data processing activities based on data discovery results |
US20220147654A1 (en) * | 2020-11-11 | 2022-05-12 | Twillio Inc. | Data anonymization |
US11196775B1 (en) | 2020-11-23 | 2021-12-07 | Sailpoint Technologies, Inc. | System and method for predictive modeling for entitlement diffusion and role evolution in identity management artificial intelligence systems using network identity graphs |
US11687528B2 (en) | 2021-01-25 | 2023-06-27 | OneTrust, LLC | Systems and methods for discovery, classification, and indexing of data in a native computing system |
CN112905862A (zh) * | 2021-02-04 | 2021-06-04 | 深圳市永达电子信息股份有限公司 | 一种基于表函数的数据处理方法、装置以及计算机存储介质 |
US11442906B2 (en) | 2021-02-04 | 2022-09-13 | OneTrust, LLC | Managing custom attributes for domain objects defined within microservices |
US20240111899A1 (en) | 2021-02-08 | 2024-04-04 | OneTrust, LLC | Data processing systems and methods for anonymizing data samples in classification analysis |
US20240098109A1 (en) | 2021-02-10 | 2024-03-21 | OneTrust, LLC | Systems and methods for mitigating risks of third-party computing system functionality integration into a first-party computing system |
US11775348B2 (en) | 2021-02-17 | 2023-10-03 | OneTrust, LLC | Managing custom workflows for domain objects defined within microservices |
WO2022178219A1 (en) | 2021-02-18 | 2022-08-25 | OneTrust, LLC | Selective redaction of media content |
US11295241B1 (en) | 2021-02-19 | 2022-04-05 | Sailpoint Technologies, Inc. | System and method for incremental training of machine learning models in artificial intelligence systems, including incremental training using analysis of network identity graphs |
EP4305539A1 (en) | 2021-03-08 | 2024-01-17 | OneTrust, LLC | Data transfer discovery and analysis systems and related methods |
US11308186B1 (en) | 2021-03-19 | 2022-04-19 | Sailpoint Technologies, Inc. | Systems and methods for data correlation and artifact matching in identity management artificial intelligence systems |
US11562078B2 (en) | 2021-04-16 | 2023-01-24 | OneTrust, LLC | Assessing and managing computational risk involved with integrating third party computing functionality within a computing system |
US11640369B2 (en) | 2021-05-05 | 2023-05-02 | Servicenow, Inc. | Cross-platform communication for facilitation of data sharing |
US11227055B1 (en) | 2021-07-30 | 2022-01-18 | Sailpoint Technologies, Inc. | System and method for automated access request recommendations |
CN113836126B (zh) * | 2021-09-22 | 2024-01-30 | 上海妙一生物科技有限公司 | 一种数据清洗方法、装置、设备及存储介质 |
US20230105207A1 (en) * | 2021-10-06 | 2023-04-06 | Bank Of America Corporation | System and methods for intelligent entity-wide data protection |
US11948164B2 (en) | 2021-11-12 | 2024-04-02 | Walmart Apollo, Llc | Automatically measuring quality scores for connected components using machine learning models |
US12026123B2 (en) | 2022-01-13 | 2024-07-02 | Cyera, Ltd. | System and method for data discovery in cloud environments |
US11620142B1 (en) | 2022-06-03 | 2023-04-04 | OneTrust, LLC | Generating and customizing user interfaces for demonstrating functions of interactive user environments |
US11741252B1 (en) * | 2022-07-07 | 2023-08-29 | Sas Institute, Inc. | Parallel and incremental processing techniques for data protection |
US20240086570A1 (en) * | 2022-09-12 | 2024-03-14 | Relyance Inc. | Technologies for use of observability data for data privacy, data protection, and data governance |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104603813A (zh) * | 2012-06-11 | 2015-05-06 | 英特托拉斯技术公司 | 数据收集和分析的系统和方法 |
US9501744B1 (en) * | 2012-06-11 | 2016-11-22 | Dell Software Inc. | System and method for classifying data |
CN106599713A (zh) * | 2016-11-11 | 2017-04-26 | 中国电子科技网络信息安全有限公司 | 一种基于大数据的数据库脱敏系统及方法 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040181526A1 (en) * | 2003-03-11 | 2004-09-16 | Lockheed Martin Corporation | Robust system for interactively learning a record similarity measurement |
JP2006221560A (ja) * | 2005-02-14 | 2006-08-24 | Nomura Research Institute Ltd | データ置換装置、データ置換方法およびデータ置換プログラム |
US20120036138A1 (en) * | 2009-03-31 | 2012-02-09 | Nec Corporation | Method and apparatus for design space exploration in high level synthesis |
US8768943B2 (en) | 2010-09-01 | 2014-07-01 | International Business Machines Corporation | Multi-source consumer behavior tracking system |
AU2013214801B2 (en) * | 2012-02-02 | 2018-06-21 | Visa International Service Association | Multi-source, multi-dimensional, cross-entity, multimedia database platform apparatuses, methods and systems |
US9489376B2 (en) | 2013-01-02 | 2016-11-08 | International Business Machines Corporation | Identifying confidential data in a data item by comparing the data item to similar data items from alternative sources |
US9212996B2 (en) | 2013-08-05 | 2015-12-15 | Tellspec, Inc. | Analyzing and correlating spectra, identifying samples and their ingredients, and displaying related personalized information |
JP5420099B1 (ja) * | 2013-08-20 | 2014-02-19 | 株式会社野村総合研究所 | 個人情報検出装置およびコンピュータプログラム |
US10142378B2 (en) * | 2014-01-30 | 2018-11-27 | Symantec Corporation | Virtual identity of a user based on disparate identity services |
SG11201607875WA (en) | 2014-03-31 | 2016-11-29 | Hitachi Int Electric Inc | Personal safety verification system and similarity search method for data encrypted for confidentiality |
CN104125290A (zh) * | 2014-08-05 | 2014-10-29 | 奥盈琦信信息技术(上海)有限公司 | 实现个人大数据收集、管理和授权的系统及方法 |
US11238176B1 (en) * | 2016-06-17 | 2022-02-01 | BigID Inc. | System and methods for privacy management |
KR102454026B1 (ko) * | 2018-08-13 | 2022-10-12 | 빅아이디 인크. | 개인 정보 조사 결과의 신뢰도 레벨을 결정하기 위한 머신 러닝 시스템 및 방법 |
-
2019
- 2019-08-13 KR KR1020217006881A patent/KR102454026B1/ko active IP Right Grant
- 2019-08-13 BR BR112021002704-1A patent/BR112021002704A2/pt not_active Application Discontinuation
- 2019-08-13 CN CN201980053132.1A patent/CN112639845B/zh active Active
- 2019-08-13 JP JP2021506576A patent/JP7183388B2/ja active Active
- 2019-08-13 EP EP19850039.9A patent/EP3837615A4/en active Pending
- 2019-08-13 CA CA3108525A patent/CA3108525C/en active Active
- 2019-08-13 WO PCT/US2019/046352 patent/WO2020036959A1/en unknown
- 2019-08-13 US US16/539,552 patent/US11531931B2/en active Active
-
2021
- 2021-01-25 US US17/157,441 patent/US11113633B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104603813A (zh) * | 2012-06-11 | 2015-05-06 | 英特托拉斯技术公司 | 数据收集和分析的系统和方法 |
US9501744B1 (en) * | 2012-06-11 | 2016-11-22 | Dell Software Inc. | System and method for classifying data |
CN106599713A (zh) * | 2016-11-11 | 2017-04-26 | 中国电子科技网络信息安全有限公司 | 一种基于大数据的数据库脱敏系统及方法 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US12118107B2 (en) * | 2021-05-27 | 2024-10-15 | Intuit Inc. | Detecting sensitive information in records using context and decoys |
Also Published As
Publication number | Publication date |
---|---|
JP7183388B2 (ja) | 2022-12-05 |
US11113633B2 (en) | 2021-09-07 |
EP3837615A1 (en) | 2021-06-23 |
US11531931B2 (en) | 2022-12-20 |
CA3108525A1 (en) | 2020-02-20 |
KR20220066221A (ko) | 2022-05-24 |
JP2021534483A (ja) | 2021-12-09 |
CN112639845A (zh) | 2021-04-09 |
BR112021002704A2 (pt) | 2021-05-11 |
EP3837615A4 (en) | 2022-05-18 |
US20200050966A1 (en) | 2020-02-13 |
WO2020036959A1 (en) | 2020-02-20 |
CA3108525C (en) | 2023-01-17 |
KR102454026B1 (ko) | 2022-10-12 |
US20210142220A1 (en) | 2021-05-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112639845B (zh) | 确定个人信息查找结果可信度的机器学习系统和方法 | |
US11295034B2 (en) | System and methods for privacy management | |
US11475143B2 (en) | Sensitive data classification | |
US20210150204A1 (en) | Dynamic Document Clustering and Keyword Extraction | |
CN107357902B (zh) | 一种基于关联规则的数据表分类系统与方法 | |
US20140379667A1 (en) | Data quality assessment | |
US20140143250A1 (en) | Centralized Tracking of User Interest Information from Distributed Information Sources | |
WO2021248131A1 (en) | Machine learning systems for remote role evaluation and methods for using same | |
US11100252B1 (en) | Machine learning systems and methods for predicting personal information using file metadata | |
US11250065B2 (en) | Predicting and recommending relevant datasets in complex environments | |
US20210383229A1 (en) | Machine learning systems for location classification and methods for using same | |
US20210089547A1 (en) | Data discovery solution for data curation | |
EP4091106B1 (en) | Systems and methods for protecting against exposure to content violating a content policy | |
US20190079994A1 (en) | Automatic feature profiling and anomaly detection | |
US11809593B2 (en) | Sensitive data compliance manager | |
US20230281635A1 (en) | Systems and methods for predictive analysis of electronic transaction representment data using machine learning | |
WO2021133471A1 (en) | Skill determination framework for individuals and groups | |
US20190079957A1 (en) | Centralized feature management, monitoring and onboarding | |
CN112346938B (zh) | 操作审计方法、装置及服务器和计算机可读存储介质 | |
US20220035862A1 (en) | Context enriched data for machine learning model | |
WO2022129605A1 (en) | Method of processing data from a data source, apparatus and computer program | |
Olorunnimbe | Intelligent Adaptation of Ensemble Size in Data Streams Using Online Bagging |
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 |