CN116868194A - 对用于生成训练数据的数据的安全存储和处理 - Google Patents
对用于生成训练数据的数据的安全存储和处理 Download PDFInfo
- Publication number
- CN116868194A CN116868194A CN202280013228.7A CN202280013228A CN116868194A CN 116868194 A CN116868194 A CN 116868194A CN 202280013228 A CN202280013228 A CN 202280013228A CN 116868194 A CN116868194 A CN 116868194A
- Authority
- CN
- China
- Prior art keywords
- entity
- record
- candidate
- data
- attribute values
- 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.)
- Pending
Links
- 238000012549 training Methods 0.000 title claims abstract description 154
- 238000012545 processing Methods 0.000 title abstract description 10
- 238000010801 machine learning Methods 0.000 claims abstract description 78
- 238000000034 method Methods 0.000 claims abstract description 64
- 230000002085 persistent effect Effects 0.000 claims abstract description 22
- 230000001131 transforming effect Effects 0.000 claims 2
- 238000011524 similarity measure Methods 0.000 claims 1
- 230000008569 process Effects 0.000 description 20
- 238000005070 sampling Methods 0.000 description 19
- 238000004891 communication Methods 0.000 description 16
- 230000008520 organization Effects 0.000 description 11
- 238000011156 evaluation Methods 0.000 description 10
- 230000005540 biological transmission Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 7
- 238000013459 approach Methods 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 5
- 230000004044 response Effects 0.000 description 5
- 239000007787 solid Substances 0.000 description 4
- 238000011143 downstream manufacturing Methods 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 238000013179 statistical model Methods 0.000 description 3
- 239000008186 active pharmaceutical agent Substances 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000012706 support-vector machine Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 241000700605 Viruses Species 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000012417 linear regression Methods 0.000 description 1
- 238000007477 logistic regression Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 238000007637 random forest analysis Methods 0.000 description 1
- 230000026676 system process Effects 0.000 description 1
Classifications
-
- 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
- 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
- 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/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
- G06F18/2148—Generating training patterns; Bootstrap methods, e.g. bagging or boosting characterised by the process organisation or structure, e.g. boosting cascade
-
- 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
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
- G06N20/10—Machine learning using kernel methods, e.g. support vector machines [SVM]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
- G06N20/20—Ensemble learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/01—Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Medical Informatics (AREA)
- Mathematical Physics (AREA)
- Computing Systems (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Databases & Information Systems (AREA)
- Computational Linguistics (AREA)
- Storage Device Security (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
提供了用于安全地存储和处理用于训练数据生成的数据的技术。在一种技术中,从第一持久存储装置中取回多个经加密的记录。针对每个经加密的记录,在存储器中解密该记录以生成包括多个属性值的解密记录。然后,基于所述属性值和机器学习模型的多个特征的定义,来生成多个特征值,并且将其连同标签存储在训练实例中,所述标签随后被存储在第二持久存储装置中。使用一种或多种机器学习技术,基于包括被存储在所述第二持久存储装置中的所述训练实例的训练数据来训练所述机器学习模型。
Description
技术领域
本公开涉及机器学习,并且更具体涉及对用于生成被用于训练一个或多个模型的训练数据的数据的安全存储和处理。
背景技术
机器学习是研究和构建能够从数据中学习并且对数据进行预测的算法。这样的算法通过从输入中建立模型来进行操作,以便做出数据驱动的预测或决策。因此,使用机器学习技术来生成基于与特定数量的实体相关联的属性值的历史来训练的统计模型。统计模型是基于多个属性(或因子)来训练的。在机器学习的术语中,这样的属性被称为“特征”。为了生成和训练统计模型,指定特征集合,并且识别训练数据集合。
通常,用于训练模型的训练数据越多,所述模型在一个或多个效用维度上就越有用,诸如精度、查全率和准确性。然而,在许多上下文中,由于人为考虑和成本的原因,训练数据的量是有限的。例如,一些训练数据需要人们手动地标记训练数据中的每个实例,这会是时间密集和易于出错的过程。作为另一示例,一些训练数据源被加密,使得其不可用于生成训练数据。意外地以解密形式公开这样的数据是不可接受的,并且因此,在训练模型中不能利用经加密的数据。同样地,经加密的数据可以更多地表示针对其进行预测的数据类型。因此,由于训练数据的量和变化不足,许多机器学习模型在准确性方面受到影响。
在本节中所描述的方案是可以采用的方案,但是不一定是以前设想或采用的方法。因此,除非另有说明,否则不应当假定在本节中所描述的任何方法仅仅由于其包含在本节中而具有现有技术的资格。
附图说明
在附图中:
图1是描绘了在实施例中用于以安全方式生成训练数据的示例性系统的框图;
图2是描绘了在实施例中用于基于经解密的数据来训练机器学习模型的示例性过程200的高级流程图;
图3是描绘了在实施例中用于执行实体匹配的示例性过程的流程图;
图4是描绘了在实施例中用于安全地生成训练数据的示例性过程的流程图;
图5是图示了可以在其上实现本发明的实施例的计算机系统的框图。
具体实施方式
在下文的描述中,出于解释的目的,阐述了许多具体细节,以便提供对本发明的透彻理解。然而,将显而易见的是,本发明可以在没有这些具体细节的情况下实施。在其他实例中,以框图形式示出了公知的结构和设备,以便避免不必要地模糊本发明。
总体概述
提供了一种用于安全地存储和处理用于生成训练实例的数据的系统和方法。在一种技术中,存储和分析经加密的记录以确定针对每个经加密的记录的目标实体标识符。针对每个经加密的记录,所述记录的内容在存储器中被解密和处理。而在存储器中,基于经解密的数据和机器学习模型的对应特征的定义来生成特征值集合。尽管是基于经解密的数据生成的,但是所述特征值集合中没有一个实际上包括任何经解密的数据。所述特征值集合被存储在训练实例/样本中,并且被添加到被存储在持久存储装置中的训练数据集合中。以这种方式,即使训练数据集合被未授权的个体访问,也不能够确定来自对应经加密的记录的任何数据。所述训练数据集合最终被用于进一步训练所述模型。
因此,实施例维护机器学习系统中数据的安全性和所得到的机器学习模型的准确性。尽管可能无法防止对训练数据的未经授权的访问,但是这样的访问将不会泄露关于对应实体(无论是个体还是组织)的任何经解密的数据。以这种方式,第三方客户端系统能够信任其数据的经解密的版本将不会被暴露给未经授权的用户。另外,所述机器学习系统可以访问比先前可用的多得多的数据。所述机器学习系统以安全的方式处理该数据以生成训练数据,然后将所述训练数据用于训练机器学习模型。由于额外训练数据的量和训练数据的性质,机器学习模型的准确性大大提高。
系统概述
图1是描绘了在实施例中用于以安全方式生成训练数据的示例性系统100的框图。系统100包括客户端系统112-116、网络120和服务器系统130。服务器系统130包括离线采样组件140、解密组件150、训练数据组件160、训练组件170和模型评估组件180。组件140-180中的每个组件以软件、硬件或者软件与硬件的组合来实现。组件140-180的功能可以在单个程序中或者跨多个程序来实现,以便遵守基于组件的软件工程。
组件140-180可以在同一计算设备上或者在多个计算设备上实现。例如,组件140-180中的每个组件可以在不同的计算设备上实现,这些计算设备通过计算机网络(诸如局域网(LAN)、广域网(WAN)或互联网)彼此通信地耦合。类似地,客户端系统112-116通过网络120通信地耦合到服务器系统130。尽管仅描绘了三个客户端系统112-116,但是系统100可以包括通过网络120通信地耦合到服务器系统130的许多客户段系统。
实体解析
在其中可能出现实施例的一个示例性上下文是实体解析。因此,在实施例中,服务器系统130执行实体解析,其涉及从给定关于“未知”实体的一个或多个属性值集合的已知实体集合中识别实体。服务器系统130将关于已知实体集合的信息存储在实体数据库146中。在实体数据库146中的每个记录包括:(1)相对于被存储在实体数据库146中的其他实体标识符独有的实体标识符,以及(2)一个或多个属性值,诸如实体名称、实体的(一个或多个)地理位置、行业、实体的雇员人数(如果实体是雇主)、实体的公共收入信息(例如,每年、每季)、实体的公共费用信息(例如,每年、每季)、实体的负责人的姓名、针对这些负责人的联系信息、实体提供的产品/服务以及实体的当前雇员。
从相对于服务器系统130的第三方(例如,客户端系统112)接收关于初始“未知”实体的数据。所述数据可以是记录的形式,诸如客户关系管理(CRM)记录。实体解析可以涉及:(1)通过给定未知实体(即,服务器系统130初始“未知”)的一个或多个属性值(来自第三方)的一个或多个(例如,手工策划的)规则,从实体数据库146识别多个候选实体;(2)针对每个识别出的候选实体,使用(a)包括特征值集合(基于一个或多个属性值)的输入和(b)来自实体数据库146的关于候选实体的实体数据来调用机器学习模型;以及(3)选择由机器学习模型产生的分数最高的候选实体。可以将一个或多个候选实体呈现给与提供关于未知实体的数据的第三方有关联的用户。
在实施例中,由服务器系统130提供的实体解析服务维护实体匹配的记录。如果用户相信所呈现的候选实体中的一个候选实体与未知实体匹配,则用户可以提供选择该候选实体的名称或者其他标识符的输入。服务器系统130记录指示初始未知实体与候选实体相匹配的选择。所述记录可以包括候选实体的实体标识符和初始未知实体的一个或多个属性值的集合。服务器系统130也可以记录初始未知实体不匹配其名称被呈现给用户的任何其他候选实体。因此,所述记录可以包括每个其他候选实体的实体标识符和初始未知实体的一个或多个属性值的集合。
在一些实施例中,如果用户确定由实体解析服务产生的所提议的匹配不正确,则用户仅提供关于所提议的匹配的反馈。响应于指示在候选实体与未知实体之间的不正确关联的用户输入,服务器系统130可以呈现一个或多个替代候选实体的列表,用户从所述列表中选择一个候选实体。这被称为“用户覆盖”,或者被简称为“覆盖”。覆盖的记录包括所选择的候选实体的实体标识符和独有地标识所述记录的记录标识符。所述记录可以被存储在反馈数据源144中。
用于执行实体解析的原因是允许第三方发现关于实体的额外信息,所述额外信息在服务器系统130处维护或托管。例如,第三方可能仅具有组织名称并且希望发现具有相同组织名称的组织的负责人的身份。然而,多个组织可以共享相同(或者非常相似)的名称(例如,ABC Corp.与ABC Inc.),但是(a)不同行业的一部分和/或(b)基于不同的地理位置。因此,可能难以仅基于组织名称来解析实体。
实体解析可以是由服务器系统130提供的在线产品或服务的一部分。这样的在线服务的示例是实体导航服务,其允许客户端设备(即,相对于服务器系统130远程的)的用户从由服务器系统130维护的实体数据库中搜索实体,浏览关于每个搜索到的实体的信息,并且也与搜索到的实体的附属实体建立“连接”。例如,搜索到的实体可以是特定公司,而特定公司的附属实体可以是特定公司的负责人和/或雇员。
一旦发现附属实体,客户端设备的用户就可以提供用户输入,所述用户输入使得连接请求被传输到附属实体的账户。如果附属实体接受所述连接请求,则服务器系统130更新指示用户和附属实体是连接网络中的连接的连接数据。作为在两个连接实体之间的连接的结果,服务器系统130允许一个连接的实体的信息(例如,消息、帖子、病毒动作)与另一连接的实体共享(或者能由另一连接实体查看)。所述连接和共享能力可以通过与实体导航服务分离但是与实体导航服务集成的实体连接服务(也由服务器系统130提供)来实现。
所述实体导航服务和所述实体连接服务的效用至少部分地取决于实体解析服务的准确性和质量。如果所述实体解析服务在给定未知实体的一个或多个属性值的集合的情况下未能识别高质量的候选实体而执行不良,则用户不太可能使用实体导航服务,并且因此不太可能通过实体连接服务来创建与附属实体的连接。因此,在本文中的实施例涉及用于生成额外训练实例以提高实体解析服务的准确性的技术步骤。
过程概述
图2是描绘了在实施例中用于基于经解密的数据训练机器学习模型的示例性过程200的高级流程图。过程200可以由服务器系统130的不同组件来执行。
在框210处,服务器系统130从客户端系统(诸如客户端系统112)接收数据。所述数据初始可能处于未加密的状态。如果在未加密的状态下被接收,则所述数据尚未被存储在持久存储装置中。
在框220处,服务器系统130加密所述数据以生成经加密的数据,并且将所述经加密的数据存储在持久存储装置中。
在框230处,服务器系统130从持久存储装置中取回经加密的数据并且解密存储器或易失性存储装置中的所述数据。当构建以有序方式处理经解密的数据以实现期望目标(诸如重新训练机器学习模型)的数据管线时,可以执行框230。
在框240处,服务器系统130基于经解密的数据来生成包括多个训练实例的训练数据。框240可以涉及基于与训练实例相关联的特征值是表示肯定实例还是否定实例,来为训练数据中的每个训练实例生成标签。在本文中更详细地提供了关于可以如何执行框240的细节。例如,所述训练数据可以被用于训练实体解析模型,所述实体解析模型基于所述候选实体的一个或多个属性值以及源(或未知)实体(其是被反映在经解密的记录中的实体)的一个或多个属性值来为候选实体生成分数。
在框250处,服务器系统130基于所述训练数据来训练机器学习模型。框250可以包括(a)在所述机器学习模型已经基于其他训练数据被训练时的机器学习模型的重新训练,或者(b)在机器学习模型的权重或系数被随机地初始化时的机器学习模型的初始训练。
下文的描述提供了关于进程200和执行其组件的更多细节。
离线采样组件
为了基于包含安全信息的第三方源而自动地生成训练数据,客户端系统112-116将其相应的数据发送(或者以其他方式使其可用)到服务器系统130,服务器系统130将所述数据(处于经加密的状态)存储在加密数据源142中。稍后,离线采样组件140从加密数据源142取回经加密的数据记录。加密数据源142是对离线采样组件140或服务器系统130本地或者相对于服务器系统130远程的持久或非易失性存储装置。加密数据源142的示例包括数据库(例如,关系数据库或密钥值存储)和文件系统。被存储在加密数据源142中的数据可以源自客户端系统112-116中的一个客户端系统,并且当该数据被存储在该客户端系统本地的数据存储装置中时,所述数据可能不被加密。因此,所述数据可以在被传输到服务器系统130之前或者刚刚传输到服务器系统130之后被加密,以用于随后存储在加密数据源142中。因此,在后一场景中,可以在服务器系统130的易失性存储器中执行所述加密。
在加密数据源142中的数据利用加密密钥来加密,以确保对所述数据的任何未经授权的访问不会泄露在所述数据中所指示的实体的身份。因此,所述数据可以被加密以保护用户隐私和/或满足法律义务。被加密的所述数据可以是任何类型的数据,诸如被存储在客户关系管理(CRM)数据库中的账户数据。因此,在CRM数据库中的每个记录可以对应于账户或实体,诸如个体或组织。组织的示例包括公司、学术机构、政府机构和慈善机构。实体的类型规定了被加密的信息的类型。例如,如果所述实体是个体,那么所述实体的可能属性包括名字、姓氏、雇主名称、就业状况、地理居住地、邮寄地址、电子邮件地址、电话号码、职位、职务、行业、就读的学术机构、获得的学位、获得的认可和技能。如果所述实体是组织,那么所述实体的可能属性包括组织名称、(一个或多个)办公室的地理位置、行业、雇员人数、收入信息(例如,每年、每季)、费用信息(例如,每年、每季)、组织负责人的姓名、针对这些负责人的联系信息、组织可能感兴趣的产品/服务以及组织中的当前联系人。
在加密数据源142中的所述数据(相对于常规训练数据)对预测所依据的数据类型更具代表性。换言之,许多时候,预测(诸如实体解析)基于有限的数据,诸如实体名称和所述实体所在国家的名称。类似地,也可以限制在加密数据源142中的数据。相比之下,常规上训练机器学习模型所依据的数据(“训练数据”)并不表示进行预测所依据的数据。例如,在所述训练数据中的每个训练实例可以包含基于对应实体的六个或更多个属性值的数据。不仅在关于每个实体的已知信息量方面,加密数据源142中的数据可以比常规训练数据更具有代表性,而且在特定属性的组合方面,前者可以比常规训练数据更具有代表性。例如,实体名称和地理位置可以是在加密数据源142中找到的公共属性对,而常规训练数据可能没有许多反映该属性对的实例。
在要求远程数据保持加密并且远程数据构成潜在训练数据的较大源的系统中,可以解密相对少量的数据,诸如来自本地源(例如,来自实体数据库146)的数据,因为实现在本文中的实施例的实体或方完全拥有该数据。
在实施例中,在加密数据源142中的每个记录对应于实体,并且包括相对于加密数据源142中的其他记录独有地标识所述记录的记录标识符。这样的记录标识符可能已经由对应记录所源自的客户端系统分配。在相关实施例中,每个记录包括相对于在实体数据库146中所反映的其他实体来独有地标识实体的实体标识符。服务器系统130由不同于其信息由服务器系统130存储和管理的实体的一方来操作。这样的一方的示例是LinkedIn,其提供了一种在线连接服务,其允许个体和组织使用各种在线产品和服务来创建其自己的简档、创建彼此的连接并且相互共享信息。这样的在线服务的示例包括在本文中所描述的实体导航服务和实体解析服务。在涉及实体解析的实施例中,离线采样组件140也从反馈数据源144取回反馈数据。反馈数据源144的示例也包括数据库和文件系统。反馈数据是响应于指示一个或多个建议(候选)实体与对应于加密数据源142中的特定记录的特定实体不匹配的用户输入而生成的数据。
图3是描绘了在实施例中用于执行实体匹配的示例性过程300的流程图。过程300由服务器系统130来执行,并且可以在实体解析的上下文中实现。
在框310处,服务器系统130从客户端系统接收客户端实体记录,所述客户端实体记录包括与实体有关的一个或多个属性值的集合。响应于附属于客户端系统112的用户提供指示客户端系统112将一个或多个客户端实体记录传输到服务器系统130的输入,可以执行框310。
在框320处,服务器系统130基于一个或多个属性值的集合来执行实体数据库146的搜索。框320可以涉及识别实体数据库146中包括一个或多个属性值或者其部分的所有服务器实体记录。如果服务器系统130确定属性值与特定属性(例如,实体名称)有关,则所述搜索可以限于实体数据库146中的每个服务器实体记录中的对应字段。替代地,服务器系统130利用已经基于服务器实体记录的一个或多个字段名称生成的索引,以便避免扫描实体数据库146中的所有服务器实体记录。
在框330处,服务器系统130基于实体数据库146的搜索来识别一个或多个服务器实体记录的集合。该服务器实体记录的集合可以小于至少部分匹配的所有服务器实体记录。例如,框330可以涉及识别与高于特定匹配阈值的匹配分数相关联的服务器实体记录。(可以使用一个或多个启发式规则来生成匹配分数,所述启发式规则将一个或多个属性值的集合与被存储在服务器实体记录中的属性值进行比较。替代地,可以通过特征基于属性值集合的机器学习模型来生成匹配分数。)在一个或多个服务器实体记录的集合中反映的所述一个或多个实体被称为候选实体。
在框340处,服务器系统130使得关于所述候选实体的信息被呈现在附属于客户端系统112的计算设备(未示出)的屏幕上。关于候选实体的所述信息可以包括与所述候选实体相关联的名称、标识、行业和地理位置。所述候选实体在计算设备上被呈现为可能匹配从客户端系统112接收的客户端实体记录中所指示的特定实体。所述候选实体可以响应于机器学习模型190生成一个或多个分数而呈现,针对可能匹配所述特定实体的每个可能匹配实体的一个分数。针对每个分数,来自所述客户端实体记录的信息(亦即,一个或多个属性值)与关于可能匹配实体的信息一起输入到机器学习模型190中。在实施例中,针对可能匹配实体的分数越高,所述可能匹配实体匹配特定实体的可能性就越大,并且结果被选择为候选实体。
在框350处,用户提供确认候选实体是否匹配的输入。用户采用计算设备来传输所述输入。例如,用户界面显示候选实体集合,并且包括允许用户选择所述候选实体中的一个候选实体的用户界面元素。
在框360处,服务器系统130基于所述输入来生成匹配结果记录。例如,如果计算设备的用户提供确认所述候选实体匹配特定实体的输入,则生成肯定匹配结果记录。同样地,来自实体数据库146的关于特定实体的实体信息可以对客户端系统112可用,使得被存储在客户端系统112中的客户端实体记录被自动地修改以包括尚未被存储在客户端实体记录中的实体信息的部分。例如,如果所述客户端实体记录不包括特定实体的地理位置信息,并且来自实体数据库146的对应服务器实体记录包括地理位置信息,则将这样的地理位置信息被传输到客户端系统112,客户端系统112利用地理位置信息来更新客户端实体记录。
如果计算设备的用户提供指示候选实体与特定实体不匹配的输入,则生成否定匹配结果记录。匹配结果记录包括被存储在客户端系统112中的候选实体的实体标识符和客户端实体记录的记录标识符。肯定匹配结果记录指示候选实体与特定实体相匹配,而否定匹配结果记录指示候选实体与特定实体不匹配。
在框370处,服务器系统130将匹配结果记录(无论是肯定的还是否定的)存储在反馈数据源144中。所述匹配结果记录可以随后被用于基于先前经加密的数据来生成训练实例。
在一个或多个客户端系统112-116的用户不提供(或者不能够提供)确认候选实体匹配在(一个或多个)客户端系统中的客户端实体记录中所指示的对应实体的肯定反馈的实施例中,在反馈数据源144中的反馈数据中的所有记录包含否定匹配结果,并且没有记录仅包含肯定匹配结果。
在实施例中,匹配结果记录包括至少两个实体标识符,一个是不匹配的候选实体,而另一个是匹配的候选实体。服务器系统130可以自动地识别匹配实体(并且呈现关于其的信息)作为多个选项或建议之一,并且操作计算设备的用户选择该匹配实体(例如,通过选择包含或者邻近于关于匹配实体的信息的图形元素)。替代地,用户可以手动地指定用于搜索的一个或多个搜索标准,并且在服务器系统130基于搜索标准执行电子搜索并且使得在计算设备上呈现搜索结果集合(每个对应于不同的实体)之后,用户选择对应于实体的搜索结果之一。如果向用户呈现三个或更多个选项、建议或搜索结果(每个对应于不同的实体),并且用户选择了其中之一,则存在多个否定匹配或者不匹配的多个实体。因此,匹配结果记录可以包括多个实体标识符,每个实体标识符对应于不匹配的实体。
在实施例中,反馈数据源144不包括来自客户端系统(诸如客户端系统112)的任何信息,除了匹配实体或不匹配实体的记录标识符。对于每个匹配结果记录,离线采样组件140使用匹配结果记录中的记录标识符来识别加密数据源142中的对应记录。
使用URL来识别目标实体
在一些场景中,在反馈数据源144中的反馈数据量可能相对较小。例如,在反馈数据源144中所反映的实体的数量可以小于在加密数据源142中所反映的实体的数量的10%。(取决于实现方式并且假设没有重复,在任一数据源中所反映的实体的数量可能等同于在该数据源中的记录的数量。)因此,可能需要生成肯定训练实例的额外方法,以便为模型190生成足够的训练数据。一种这样的方式是通过在加密数据源142中的记录中的URL。
在实施例中,在加密数据源142中的一个或多个记录包括统一资源定位符(URL)。URL充当独有地识别目标实体的标识符,所述目标实体是与来自加密数据源142的记录相关联(并且在其中指示)的实体。如果来自加密数据源142的记录中的URL(无论是加密的还是解密的)匹配与已知实体相关联的URL,则通过例如将记录与该已知/目标实体的实体标识符相关联,来将该记录与肯定匹配相关联。URL的示例部分包括https://www.以及其变体,诸如“http://www.”、“http://”、“https://”和“www.”。在匹配之前,可以过滤URL以排除聚合器URL,所述聚合器URL是来自允许实体(例如,公司)在域上托管其各自的网页的聚合器域(例如,Yahoo!、Facebook和LinkedIN)的URL。
针对加密数据源142中的每个记录(或者针对在反馈数据源144中未指示的每个这样的记录),离线采样组件140识别记录中对应于URL的数据项。例如,每个记录包括二十个数据字段,每个字段对应于目标实体的不同属性。(在所述数据字段的一些数据字段中的值可能为空,指示针对该数据字段没有数据。例如,实体的地理位置可能未知。)第九数据字段可能是目标实体的URL。如果该数据字段不为空,则离线采样组件140读取该URL。如果URL被加密,那么离线采样组件140可以解密URL,并且然后识别离线采样组件140(或者服务器系统130)可以访问的已知URL。替代地,如果离线采样组件140(或者服务器系统13的另一组件)访问被用于加密URL的相同加密密钥(例如,或者散列函数),则离线采样组件140可以将经加密的URL与已知经加密的URL进行比较。在该后一场景中,离线采样组件140(或者另一组件)加密已知实体的URL并且将那些经加密的URL与对应的已知实体相关联地存储。
如果来自记录的URL被解密,那么离线采样组件140可以对URL执行一个或多个规范化操作。例如,在URL中的所有字符都被转换为小写,并且移除以下字符串:“http://”、“https://”和“”
www.。
为了加快搜索匹配URL的处理,离线采样组件140可以利用先前为与已知实体相关联的URL生成的索引。以这种方式,可以避免对可能数百万条记录(每个记录包含不同实体的一个或多个URL)的简单扫描。
离线采样组件:继续
为了基于来自加密数据源142的记录来生成训练实例,离线采样组件140将数据对传输到解密组件150。每个数据对包括(1)来自加密数据源142的经加密的记录以及(2)一个或多个实体标识符的列表。实体标识符可以源于来自反馈数据源144的覆盖记录,或者可以根据URL搜索匹配进行确定。在列表中的所述实体标识符之一是在经加密的记录中指示的目标实体的实体标识符。在所述列表中的其他实体标识符是由客户端系统的用户识别为与经加密的记录中所指示的目标实体不匹配的其他实体。例如,实体标识符的列表可以包括与目标实体不同并且因此不匹配目标实体的实体的多个实体标识符。
例如,数据对包括源自客户端系统的关于特定公司的经加密的数据。然而,所述经加密的数据可以仅包括两个或三个属性值,诸如公司名称和行业名称。所述数据对也包括使用(a)与对应的经加密的记录相关联的URL或者(b)反馈数据而识别出的实体标识符。所述实体标识符稍后可以被用于从实体数据库146取回一个或多个属性值,这些值最终(连同经加密的数据的经解密的版本)被用于生成针对机器学习模型的一个或多个特征值,如在本文中更详细描述的。
数据对到解密组件150的传输可以以一种或多种方式来执行。例如,可以通过解密组件150的API或者通过事件处理系统来进行这样的传输。在后一示例中,服务器系统130实现事件处理系统,其示例是Apache Kafka。在该实施例中,离线采样组件140为每个数据对生成事件。生成所述事件以包括特定主题或标签。离线采样组件140通过例如将所述事件发送到事件队列而将所述事件发布到事件处理系统。解密组件150的事件侦听器“侦听”(或者订阅)来自事件队列的具有特定主题或标签的事件。
解密组件
针对解密组件150接收到的每个数据对,解密组件150对经加密的数据进行解密以生成经解密(或者未加密)的数据。例如,如果事件包括经加密的记录,则解密组件150使用解密密钥来解密该记录以产生多个经解密的数据项。解密组件150也将经解密的数据项与来自所述数据对的实体标识符(被称为“目标实体标识符”)相关联。解密组件150处理易失性存储器中的数据,并且不将任何经解密的数据项存储在持久或非易失性存储装置中。
在实施例中,解密组件150生成数据对象,所述数据对象包括经解密的数据项(每个对应于不同的实体属性)、目标实体标识符、根据反馈数据记录而确定的任何不匹配实体的零个或多个实体标识符以及可选地经加密的记录的记录标识符。记录ID可以在一个或多个下游过程中使用,诸如报告。所述经解密的数据项的顺序可以指示哪个实体属性对应于每个数据项。解密组件150将所述数据对象传输到训练数据组件160。这样的传输可以通过任何方式,诸如对训练数据组件160的API的请求,只要所述请求不被存储在非易失性存储装置中。
训练数据组件
训练数据组件160接收由解密组件150生成的数据对象,并且生成解析事件,在本文中更详细地描述。解析事件可以被用于生成训练实例以进一步训练机器学习模型190和/或评估机器学习模型190。为了生成解析事件,可以执行多个步骤,诸如特征值生成和候选生成。
训练数据组件:特征值生成
特征值生成涉及识别目标实体的属性值(即,来自数据对象),识别每个属性值的属性,识别机器学习模型190的每个特征的定义,以及基于一个或多个属性值和特征的定义为其每个特征计算特征值。
所述特征中的一些特征可以基于将来自所述数据对象的(目标实体的)属性值与已知实体的属性值进行比较。已知实体的属性值可以源自由服务器系统130托管和维护的实体简档数据库(未描绘)。“已知实体”是已知实体标识符的实体。所述实体标识符被用于识别实体简档数据库中对应于所述实体的记录或行。所述实体标识符由解密组件150包括在所述数据对象中。在本文中更详细描述的候选生成的上下文中,“已知实体”包括候选实体,并且为其取回实体标识符。
特征的定义的示例是数据对象中的属性值(诸如特定名称)是否与已知实体的对应属性值相匹配。特性定义的另一示例是将需要对来自数据对象的字符串进行大量更改,以便经更改的字符串与已知实体的对应字符串相匹配。特征定义的另一示例是在数据对象中指示的地理位置和与已知实体相关联的地理位置之间的地理相似性。例如,美国部分匹配纽约,美国和法国部分匹配欧洲,而日本不匹配墨西哥。特征定义的另一示例是目标实体的行业(即,在数据对象中所指示的)是否匹配特定的预定义行业。因此,一些特征定义可以基于将目标实体的属性与已知实体的对应属性相匹配,而其他特征定义可能不基于将目标实体的属性与已知实体进行比较。
给定以上示例性特征定义,特征值的示例包括布尔值(例如,真或假或者1或0)、反映在两个属性值(例如,字符串或整数值)之间的文本相似性的数值分数,以及反映在两个实体之间的另一种类型的相似性的数值分数。以这种方式,没有一个特征值揭示目标实体的身份,诸如目标实体的名称、目标实体的标志、目标实体的大小或者目标实体的位置。这样的特征值集合被认为是安全的。对特征值的任何未经授权的访问都将不会泄露目标实体的身份或者目标实体的任何属性。因此,所述特征值集合可以被持久地存储在非易失性存储装置中。
训练数据组件:候选生成
候选生成指代生成候选实体的列表,其中的每个候选实体被认为类似于“目标实体”,或者与数据对象相关联并且由来自解密组件150的数据对象中所包括的实体标识符标识的实体。候选生成在评估机器学习模型190和生成否定训练实例中是有用的。在另一实施例中,跳过候选生成,在这种情况下,训练数据组件160针对每个数据对象生成肯定训练实例,并且为一个或多个数据对象生成有限数量的否定训练实例。例如,数据对象可以包括不匹配实体的一个或多个实体标识符,可为其生成一个或多个否定训练实例。在另一实施例中,在给定数据对象的情况下不生成否定训练实例。
在训练数据组件160识别候选实体的实施例中,在给定目标实体的情况下识别候选实体涉及比较至少一个实体属性的相应属性值,诸如名称。在可能实体与目标实体之间相匹配的属性越多,该可能实体的临时匹配分数就越高,并且该可能实体将被选择为候选实体的可能性就越大。
候选生成可以是已经由服务器系统130的运行时、生产级组件实现的过程。这样的组件被称为实体解析组件,并且可以在一个或多个上下文中使用。例如,对于客户端系统,在给定目标实体的一个或多个属性值的情况下识别匹配实体时,调用所述候选生成过程以识别所有可能实体的相对小的子集的“粗略”匹配。这样的粗略匹配可以涉及调用一个或多个启发式规则,所述启发式规则涉及将目标实体的属性值与可能实体的属性值进行比较。小子集是候选实体。针对每个候选实体,例如从实体简档数据库中取回候选实体的属性值集合。然后,基于针对模型190的每个特征的定义、候选实体的属性值集合以及来自数据对象的属性值集合来生成特征值集合。一旦为候选实体生成特征值集合,通过输入特征值集合来调用机器学习模型190,并且结果输出反映候选实体与数据对象的目标实体相匹配或相同的可能性的分数(或者“匹配分数”)。机器学习模型190被调用的次数等于候选实体的数量。可以选择相对于其他候选实体具有最高分数的候选实体作为针对目标实体的匹配实体(假设该最高分数大于特定阈值)。因此,该方案允许相对快速地识别匹配实体,其避免针对实体简档数据库中所指示的每个可能实体调用模型190。当可能实体的数量以百万或者甚至数十亿计时,候选生成特别有用。为被呈现给服务器系统130的每个目标实体对数百万或数十亿的可能实体进行评分将消耗大量的计算机资源,并且根据用户期望来识别潜在匹配候选的时间将是不可接受的。
候选实体集合可以以一种或多种方式来识别,诸如实现从数据对象获取一个或多个第一属性值作为输入并且涉及将第一属性值与其他实体的一个或多个对应属性值进行比较的规则。其他实体的属性值可以被存储在训练数据组件160可访问的实体简档数据库中。如果所述比较指示对应的属性值对中的至少一个相同(或者在特定阈值以上相似),则将对应的实体视为候选实体。例如,目标实体的名称是“Cloudy,Inc.”,其提供云管理服务,而其简档被存储在实体简档数据库中的实体的名称也是“Cloudy”。然而,后一实体是制造和销售纸杯蛋糕的小型企业。即使各自实体的其他属性可能非常不同(诸如行业、地理、大小),但是由于各自实体的名称至少部分地匹配,所以后一实体被认为是相对于目标实体的候选实体。
快速识别候选实体的一种方法是利用一个或多个索引。例如,索引可能是基于实体属性(诸如实体名称)构造的。然后,给定目标实体的名称,遍历所述索引以识别包含与目标实体的名称相似的名称的一个或多个索引条目,诸如与目标实体名称的至少前四个字符相匹配的名称。在一个实现方式中,阈值N被设置为要取回的候选的数量,诸如5、10或20。如果取回超过该阈值的更多候选,则可以使用轻量进程(被称为第一遍排序器(FPR))来选取前N个候选。
如果调用候选生成,则基于来自数据对象的目标实体的属性值和候选实体的属性值,使用机器学习模型190对每个候选实体进行评分。从存储已知实体的简档的数据存储(诸如由服务器系统130维护的实体简档数据库)中取回候选实体的属性值。如果在候选实体生成过程期间为目标实体识别了二十个候选实体,则可以为目标实体生成二十个集合的特征值。
如果所述目标实体是所识别的候选实体之一,那么这指示所述目标实体将在涉及实体解析的“现场”(或生产)场景中被识别,并且因此,将使用机器学习模型190进行评分。当使用模型评估组件180评估模型190时,这样的信息是有用的。
训练数据组件:解析事件生成
在生成一个或多个集合的特征值和/或识别候选实体的集合之后,训练数据组件160生成解析事件。解析事件由(a)训练组件170用于生成训练实例以进一步训练机器学习模型190和/或(b)由模型评估组件180用于评估机器学习模型190。
如果解析事件注定用于生成一个或多个训练实例,则所述解析事件至少包括足以用于生成肯定训练实例的信息:指示肯定标签的数据和基于来自经解密的记录的目标实体的属性值生成的特征值集合。相同或不同的解析事件也可以包括足以用于生成否定训练实例的信息,所述否定训练实例可以在使用反馈数据记录来识别与原始经加密的记录的目标实体不匹配的实体时生成。这样的充足的信息包括指示否定标记的数据和基于目标实体的属性值和不匹配实体的属性值生成的特征值集合。类似地,相同或不同的解析事件也可以包括足以为用于通过候选实体生成过程识别的每个不匹配候选实体生成否定训练实例的信息。这样的充足的信息包括指示否定标记的数据和基于目标实体的属性值和不匹配候选实体的属性值生成的特征值集合。
如果解析事件注定用于评估机器学习模型190,则所述解析事件包括来自数据对象的目标实体标识符、候选实体标识符的列表以及针对每个候选实体产生的模型分数。所述解析事件也可以包括识别机器学习模型190的版本的版本标识符,机器学习模型190可以存在多个版本。所述解析事件也可以包括匹配指示符,所述匹配指示符指示所述目标实体是否在候选生成过程中被识别。因此,所述匹配指示符可以是布尔值或者0或1。替代地,稍后可以由模型评估组件180通过确定目标实体标识符是否存在于候选实体标识符的列表中来执行匹配确定。
重要的是,解析事件不包括任何目标实体识别信息或者来自对应经解密的记录的任何信息。
在实施例中,解析事件包括足以用于生成一个或多个训练实例和用于评估机器学习模型190的信息。因此,接收这样的解析事件的下游进程仅访问所述解析事件中下游进程执行其操作所需的那些部分。例如,模型评估组件180可以忽略特征值集合,而训练组件170可以忽略候选实体的任何分数。
训练数据组件160使得所述解析事件被存储在非易失性存储装置中。例如,训练数据组件160将所述解析事件存储在具有特定主题的事件队列中,允许下游事件侦听器取回所述解析事件并且基于其执行一个或多个操作。作为另一示例,训练数据组件160将所述解析事件与事件编号和/或时间戳一起存储在事件数据库中,训练组件170可以访问所述事件数据库。
训练组件
训练组件170识别由训练数据组件160生成的解析事件。这样的识别可以涉及访问存储解析事件的事件数据库,并且利用在训练组件170处理的最近事件编号之后的事件编号来识别解析事件。替代地,训练组件170通过事件处理系统订阅特定主题的事件。因此,当训练组件170从事件处理系统接收到解析事件时,训练组件170的功能被激活。
训练组件170基于解析事件来生成一个或多个训练实例。如果在解析事件中仅有单个特征值集合,则训练组件170仅生成单个训练实例,并且其是肯定训练实例。如果在解析事件中存在额外的特征值集合,则训练组件170为每个额外的特征值集合生成否定训练实例。
生成训练实例涉及以训练组件170(或者另一组件)为训练模型而实现的机器学习过程所期望的特定顺序和特定格式存储特征值集合。训练实例生成也涉及向训练实例添加肯定或否定标签。
训练组件170将所述训练实例添加到训练数据集合中。最初,所述训练数据集合可以是空的。替代地,所述训练数据集合包括先前被用于训练机器学习模型190的当前版本的训练数据。所述训练数据集合可以限于从加密数据源142生成的训练数据。另外地或替代地,所述训练数据集合可以被限于在特定时间段(诸如最近28天)中生成的训练数据。因此,可以将时间戳与每个训练实例相关联地存储,并且该时间戳用于识别这样的训练数据。替代地,所述训练数据集合可以被限于基于在特定时间段内生成的数据而生成的训练数据。例如,所述训练数据集合仅限于基于在过去两周内创建的反馈数据记录而生成的训练数据。
机器学习
实施例并不限于用于生成或训练机器学习模型190的任何特定机器学习技术。示例性机器学习技术包括:线性回归、逻辑回归、随机森林、朴素贝叶斯和支持向量机(SVM)。机器学习模型与基于规则的模型相比的优势包括:机器学习模型输出概率的能力(相对于可能无法转换成概率的数字),机器学习模型捕获特征之间非线性相关性的能力,以及在确定针对不同特征的权重时减少偏差。
机器学习模型190可以取决于输入特征和训练数据来输出不同类型的数据或值。例如,每个训练实例包括标签和多个特征值,其每个对应于不同的特征。
最初,考虑用于训练的特征的数量可能很大,诸如数百个。在训练机器学习模型并且验证所述模型之后,可以确定所述特征的子集对最终输出几乎没有相关性或影响。换言之,这样的特征的预测能力很低。因此,针对这样的特征的机器学习系数或权重可以相对较小,诸如0.01或-0.001。相反,具有显著预测能力的特征的权重可以具有0.2或者更高的绝对值。训练组件170可以识别并且从训练数据集合中移除具有很小预测能力的特征。移除这样的特征可以加快训练机器学习模型190未来版本和计算输出分数的过程。
模型评估组件
模型评估组件180基于一个或多个解析事件来评估机器学习模型190。如果解析事件注定用于模型评估组件180,那么所述解析事件包括多个分数,每个候选实体一个分数,其中的一个候选实体可以是目标实体。在一些情况下,针对所述目标实体的分数不存在,这意味着所述候选生成过程没有将所述目标实体识别为候选实体。使用所述分数,模型评估组件180确定所述目标实体的分数是否高于所述候选实体的分数。如果是,则调用机器学习模型190的实体解析模型是准确的,至少相对于该解析事件是准确的。如果否,或者如果目标实体不在候选实体中,那么调用机器学习模型190的实体解析模型至少就该解析事件而言是不准确的。跨多个解析事件,基于所述分数以及缺乏针对目标实体的分数,可以生成一个或多个准确性度量。度量的示例包括精度和召回率。
示例性过程
图4是描绘了在实施例中用于安全地生成训练数据的示例性过程400的流程图。过程400可以由服务器系统130的不同组件来实现。
在框410处,从持久存储装置(诸如加密数据源142)取回多个经加密的记录。所述经加密的记录的原始源可以相对于服务器系统130是远程的,诸如来自客户端系统112。因此,在框410之前,所述经加密的记录可能已经从客户端系统传输到服务器系统130并且被存储在持久存储装置中。
在框420处,选择经加密的记录。在其中存在针对经加密的记录的反馈数据的实施例中,框420也涉及从存储装置中取回所述反馈数据并且将反馈记录与经加密的记录相匹配。所述反馈记录包括识别在所述经加密的记录中的记录的记录标识符。所述反馈记录包括针对由经加密的记录指示的目标实体的实体标识符,以及可选地,与所述目标实体不同并且先前被识别为不匹配所述目标实体的实体的一个或多个实体标识符。
在框430处,对所选择的经加密的记录进行解密以生成经解密的记录。所述经解密的记录包括一个或多个经解密的数据项,诸如目标实体的一个或多个属性值。框430在易失性存储器(其与持久存储装置分离)中执行,并且可以由解密组件150来执行。所述经解密的记录的内容不被存储在持久存储装置中,仅被存储在易失性存储器中,诸如随机存取存储器(RAM)。
在框440处,基于经解密的记录的内容和机器学习模型的多个特征的定义,来生成特征值集合。所述特征值中的一些特征值可以是布尔值,而其他特征值可以是相似性度量,诸如来自所述经解密的记录的数据项与对应于所述目标实体的已知实体的数据项(例如,来自实体数据库146)之间的相似性度量。框440在存储器中执行,并且可以由训练数据组件160来执行。
在其中执行候选实体生成的实施例中,框440可以涉及使用不匹配实体的实体标识符(与经加密的记录相关联)来识别多个候选实体,并且为每个识别出的候选实体生成特征值集合。
在框450处,生成一个或多个训练实例并且将其存储在持久存储装置中。框450可由训练组件170来执行。每个训练实例包括在框440中生成的特征值集合。每个训练实例也包括标签,所述标签指示经加密的记录的目标实体是否匹配已知实体,诸如识别出的候选实体之一。所述标签可以来自(a)与经加密的记录相关联的反馈数据记录或者(b)经加密的记录自身。例如,如果所述反馈数据记录指示否定匹配,则所述标签可能为指示不匹配的“0”。如果反馈数据源144仅包含肯定匹配,并且基于反馈数据源144生成训练实例,则标签总是肯定的,诸如“1”。
在框460处,确定是否存在要选择的任何经加密的记录。如果是,则过程400返回到框420。否则,过程400进行到框470。
在框470处,实现一种或多种机器学习技术以基于所生成的训练实例来训练机器学习模型。框470可以由训练组件470来执行。机器学习的模型可以是已经具有一些机器学习系数的模型,这些系数是通过基于其他训练实例(诸如手动标记的训练实例)的训练而学习的。替代地,首先利用随机系数初始化在框470处训练的模型的系数,并且基于在框450中所生成的训练实例来学习所述系数。
在执行候选实体生成的实施例中,替代框450或者除了框450之外,过程400涉及使用机器学习模型的版本来基于为候选实体生成的特征值集合为每个候选实体生成分数。分数、候选实体的列表以及(其来自经解密的记录的属性值被用于识别候选实体的对应目标实体的)实体标识符被存储在模型评估记录或解析事件中,所述记录或解析事件最终被用于评估所述机器学习模型的版本的准确性。
硬件概述
根据一个实施例,本文描述的技术由一个或多个专用计算设备实现。专用计算设备可以是硬连线的以执行技术,或者可以包括数字电子设备,例如一个或多个专用集成电路(ASIC)或现场可编程门阵列(FPGA),其被持续地编程以执行技术,或者可以包括一个或多个通用硬件处理器,其被编程以根据固件、存储器、其他存储设备或组合中的程序指令执行技术。这样的专用计算设备还可以将定制的硬连线逻辑、ASIC或FPGA与定制的编程相结合来实现这些技术。专用计算设备可以是台式计算机系统、便携式计算机系统、手持设备、网络设备或并入了硬连线和/或程序逻辑以实现所述技术的任何其他设备。
例如,图5是示出可以在其上实现本发明的实施例的计算机系统500的框图。计算机系统500包括用于通信信息的总线502或者其他通信机制,以及与总线502耦合用于处理信息的硬件处理器504。硬件处理器504可以是例如通用微处理器。
计算机系统500还包括主存储器506,例如随机存取存储器(RAM)或者其他动态存储设备,其耦合到总线502用于存储要由处理器504执行的信息和指令。主存储器506还可用于在执行将由处理器504执行的指令期间存储临时变量或者其他中间信息。当这样的指令存储在处理器504可访问的非暂时性存储介质中时,将计算机系统500呈现为被定制为执行指令中指定的操作的专用机器。
计算机系统500还包括与总线502耦合的只读存储器(ROM)508或者其他静态存储设备,用于存储用于处理器504的静态信息和指令。存储设备510(例如,磁盘、光盘或固态驱动器)被提供并耦合到总线502,用于存储信息和指令。
计算机系统500可以经由总线502耦合到显示器512(例如阴极射线管(CRT)),用于向计算机用户显示信息。包括字母数字和其他键的输入设备514耦合到总线502,用于将信息和命令选择通信给处理器504。另一类型的用户输入设备是光标控件516,例如鼠标、轨迹球或光标方向键,用于将方向信息和命令选择通信给处理器504并用于控制显示器512上的光标移动。该输入设备通常在两个轴(第一轴(例如,x)和第二轴(例如,y))上具有两个自由度,这允许设备指定平面中的位置。
计算机系统500可以使用定制的硬连线逻辑、一个或多个ASIC或FPGA、固件和/或程序逻辑来实现本文所述的技术,其与计算机系统结合以导致或编程计算机系统500成为专用机器。根据一个实施例,计算机系统500响应于处理器504执行包含在主存储器506中的一个或多个指令的一个或多个序列来执行本文的技术。这样的指令可以从诸如存储设备510的另一存储介质读入主存储器506。主存储器506中包含的指令序列的执行使得处理器504执行本文描述的过程步骤。在替代实施例中,可以使用硬连线电路来代替软件指令或与软件指令结合使用。
在本文中所使用的术语“存储介质”指代存储数据和/或指令的任何非暂时性介质,这些数据和/或指令导致机器以特定方式操作。这种存储介质可以包括非易失性介质和/或易失性介质。非易失性介质包括例如光盘、磁盘或固态驱动器,例如存储设备510。易失性介质包括动态存储器,例如主存储器506。常见形式的存储介质包括例如,软盘、软盘、硬盘、固态驱动器、磁带或任何其他磁性数据存储介质、CD-ROM、任何其他光学数据存储介质、任何具有孔图案的物理介质、RAM、PROM和EPROM、FLASH-EPROM、NVRAM、任何其他存储器芯片或磁带盒。
存储介质不同于传输介质,但是可以与传输介质结合使用。传输介质参与在存储介质之间的信息转移。例如,传输介质包括同轴电缆、铜线和光纤,包含包括总线502的电线。传输介质也可以采取声波或光波的形式,例如在无线电波和红外数据通信中生成的声波或光波。
各种形式的介质可用于将一个或多个指令的一个或多个序列传送到处理器504以供执行。例如,指令最初可能被携带在远程计算机的磁盘或固态驱动器上。远程计算机可以将指令加载到其动态存储器中,并且使用调制解调器通过电话线发送指令。计算机系统500本地的调制解调器可以接收电话线上的数据,并且使用红外发射机将数据转换为红外信号。红外检测器可以接收红外信号中携带的数据,并且适当的电路可以将数据放置在总线502上。总线502将数据传送到主存储器506,处理器504从中取回并执行指令。主存储器506接收的指令可选地在处理器504执行之前或之后存储在存储设备510上。
计算机系统500还包括耦合到总线502的通信接口518。通信接口518提供到连接到局域网522的网络链路520的双向数据通信耦合。例如,通信接口518可以是综合业务数字网(ISDN)卡、电缆调制解调器、卫星调制解调器或提供到对应类型的电话线的数据通信连接的调制解调器。作为另一示例,通信接口518可以是局域网(LAN)卡,以提供到兼容LAN的数据通信连接。还可以实现无线链路。在任何这样的实现方式中,通信接口518发送和接收携带表示各种类型信息的数字数据流的电、电磁或光信号。
网络链路520通常提供通过一个或多个网络到其他数据设备的数据通信。例如,网络链路520可以通过局域网522提供到主机计算机524或到由互联网服务提供商(ISP)526操作的数据设备的连接。ISP 526又通过现在通常称为“互联网”528的全球分组数据通信网络提供数据通信服务。局域网522和互联网528都使用携带数字数据流的电、电磁或光信号。通过各种网络的信号以及在网络链路520上并通过通信接口518(其将数字数据传送到计算机系统500和从计算机系统500传送数字数据)的信号是传输介质的示例性形式。
计算机系统500可以通过网络、网络链路520和通信接口518发送消息和接收数据,包括程序代码。在互联网示例中,服务器530可以通过互联网528、ISP 526、局域网522和通信接口518传输应用程序的请求代码。
接收到的代码可以在接收到时由处理器504执行,和/或存储在存储设备510或者其他非易失性存储设备中以供以后执行。
在前述说明书中,已经参考许多具体细节描述了本发明的实施例,这些具体细节可能因实现方式而异。因此,说明书和附图被视为说明性的而不是限制性的。本发明范围的独有和排他性指示符以及申请人希望成为本发明范围的事物是由本申请发出的权利要求集的字面和等效范围,这些权利要求以特定形式发出,包括任何随后的更正。
Claims (20)
1.一种方法,包括:
从第一持久存储装置中取回多个经加密的记录;
针对所述多个经加密的记录中的每个经加密的记录:
在存储器中解密所述每个经加密的记录以生成包括多个属性值的经解密的记录;
基于所述多个属性值和机器学习模型的多个特征的定义来生成多个特征值;
在训练实例中,在第二持久存储装置中存储所述多个特征值和与所述多个特征值相关联的标签;
使用一种或多种机器学习技术,基于包括被存储在所述第二持久存储装置中的所述训练实例的训练数据来训练所述机器学习模型;
其中,所述方法由一个或多个计算设备来执行。
2.根据权利要求1所述的方法,其中,所述多个属性值包括第一多个属性值,所述方法还包括识别包括第二多个属性值的记录,其中,生成所述多个特征值包括:
针对所述第一多个属性值中的第一属性值,执行在所述第一属性值与所述第二多个属性值中的第二属性值之间的比较;
基于所述比较来生成所述多个特征值中的第一特征值。
3.根据权利要求2所述的方法,其中,所述比较的结果是指示在所述第一属性值与所述第二属性值之间的相似性度量的相似性分数。
4.根据权利要求2所述的方法,其中,所述比较的结果是布尔值。
5.根据权利要求1所述的方法,还包括:
存储基于用户输入而生成的反馈数据,所述用户输入指示:(1)第一实体与在所述多个经加密的记录中的经加密的记录中所指示的特定实体不匹配,以及(2)第二实体与所述特定实体相匹配;
其中,所述反馈数据包括所述第二实体的实体标识符;
基于所述反馈数据,与所述经解密的记录相关联地存储所述第二实体的所述实体标识符。
6.根据权利要求5所述的方法,还包括:
基于所述实体标识符,来取回所述第二实体的第二多个属性值;
其中,生成所述多个特征值也基于所述第二多个属性值。
7.根据权利要求1所述的方法,还包括:
针对来自所述第一持久存储装置的特定经加密的记录,识别与所述特定经加密的记录相关联的统一资源定位符(URL);
使用所述URL来识别实体简档数据库中的记录并且识别与所述记录相关联的实体标识符;
将所述实体标识符与所述特定经加密的记录相关联。
8.根据权利要求1所述的方法,其中,在所述训练实例中存储所述多个特征值和所述标签包括:
生成包括所述多个特征值和所述标签的解析事件;
将所述解析事件传输到事件发布系统;
由所述事件发布系统的订户接收所述解析事件;
基于训练数据格式来变换所述解析事件的内容,以生成经变换的内容;
将所述经变换的内容包括在所述训练实例中。
9.根据权利要求1所述的方法,还包括:
针对特定经加密的记录,基于所述经解密的记录的至少一部分,来识别多个候选实体;
针对所述多个候选实体中的每个候选实体:
识别所述每个候选实体的属性值集合;
基于所述经解密的记录、所述属性值集合以及所述机器学习模型的版本的所述多个特征的所述定义,来生成特征值集合;
使用所述机器学习模型的所述版本,基于所述特征值集合来生成针对所述每个候选实体的分数;
将所述每个候选实体的所述分数和标识符存储在解析事件中;
其中,所述解析事件包括多个分数,针对所述多个候选实体中的每个候选实体有一个分数;
基于所述多个分数来确定所述机器学习模型的所述版本的准确性的度量。
10.根据权利要求9所述的方法,其中:
所述解析事件也包括与所述多个属性值相关联的目标实体的实体标识符;
所述方法还包括确定所述实体标识符与所述多个候选实体中的任意候选实体的标识符不匹配;
所述准确性的度量也基于所述确定。
11.根据权利要求1所述的方法,还包括:
基于所述经解密的记录的至少一部分,来识别一个或多个候选实体;
针对所述一个或多个候选实体中的每个候选实体:
识别所述每个候选实体的属性值集合;
基于所述经解密的记录、所述属性值集合以及所述机器学习模型的版本的所述多个特征的所述定义,来生成特征值集合;
在第二训练实例中存储所述特征值集合和否定标签,所述否定标签指示所述每个候选实体不匹配与所述经解密的记录相关联的实体。
12.一种或多种存储指令的存储介质,所述指令当由一个或多个处理器执行时,使得:
从第一持久存储装置中取回多个经加密的记录;
针对所述多个经加密的记录中的每个经加密的记录:
在存储器中解密所述每个经加密的记录以生成包括多个属性值的经解密的记录;
基于所述多个属性值和机器学习模型的多个特征的定义,来生成多个特征值;
在训练实例中,在第二持久存储装置中存储所述多个特征值和与所述多个特征值相关联的标签;
使用一种或多种机器学习技术,基于包括被存储在所述第二持久存储装置中的所述训练实例的训练数据来训练所述机器学习模型。
13.根据权利要求12所述的一种或多种存储介质,其中,所述多个属性值包括第一多个属性值,还包括识别包括第二多个属性值的记录,其中,生成所述多个特征值包括:
针对所述第一多个属性值中的第一属性值,执行在所述第一属性值与所述第二多个属性值中的第二属性值之间的比较;
基于所述比较来生成所述多个特征值中的第一特征值。
14.根据权利要求12所述的一种或多种存储介质,还包括:
存储基于用户输入而生成的反馈数据,所述用户输入指示:(1)第一实体与在所述多个经加密的记录中的经加密的记录中所指示的特定实体不匹配,以及(2)第二实体与所述特定实体相匹配;
其中,所述反馈数据包括所述第二实体的实体标识符;
基于所述反馈数据,与所述经解密的记录相关联地存储所述第二实体的所述实体标识符。
15.根据权利要求14所述的一种或多种存储介质,还包括:
基于所述实体标识符,来取回所述第二实体的第二多个属性值;
其中,生成所述多个特征值也基于所述第二多个属性值。
16.根据权利要求12所述的一种或多种存储介质,还包括:
针对来自所述第一持久存储装置的特定经加密的记录,识别与所述特定经加密的记录相关联的统一资源定位符(URL);
使用所述URL来识别实体简档数据库中的记录并且识别与所述记录相关联的实体标识符;
将所述实体标识符与所述特定经加密的记录相关联。
17.根据权利要求12所述的一种或多种存储介质,其中,在所述训练实例中存储所述多个特征值和所述标签包括:
生成包括所述多个特征值和所述标签的解析事件;
将所述解析事件传输到事件发布系统;
由所述事件发布系统的订户接收所述解析事件;
基于训练数据格式来变换所述解析事件的内容,以生成经变换的内容;
将所述经变换的内容包括在所述训练实例中。
18.根据权利要求12所述的一种或多种存储介质,还包括:
针对特定经加密的记录,基于所述经解密的记录的至少一部分,来识别多个候选实体;
针对所述多个候选实体中的每个候选实体:
识别所述每个候选实体的属性值集合;
基于所述经解密的记录、所述属性值集合以及所述机器学习模型的版本的所述多个特征的所述定义,来生成特征值集合;
使用所述机器学习模型的所述版本,基于所述特征值集合来生成针对所述每个候选实体的分数;
将所述每个候选实体的所述分数和标识符存储在解析事件中;
其中,所述解析事件包括多个分数,针对所述多个候选实体中的每个候选实体有一个分数;
基于所述多个分数来确定所述机器学习模型的所述版本的准确性的度量。
19.根据权利要求18所述的一种或多种存储介质,其中:
所述解析事件也包括与所述多个属性值相关联的目标实体的实体标识符;
所述方法还包括确定所述实体标识符与所述多个候选实体中的任意候选实体的标识符不匹配;
所述准确性的度量也基于所述确定。
20.根据权利要求12所述的一种或多种存储介质,还包括:
基于所述经解密的记录的至少一部分,来识别一个或多个候选实体;
针对所述一个或多个候选实体中的每个候选实体:
识别所述每个候选实体的属性值集合;
基于所述经解密的记录、所述属性值集合以及所述机器学习模型的版本的所述多个特征的所述定义,来生成特征值集合;
在第二训练实例中存储所述特征值集合和否定标签,所述否定标签指示所述每个候选实体不匹配与所述经解密的记录相关联的实体。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/169,161 | 2021-02-05 | ||
US17/169,161 US20220253540A1 (en) | 2021-02-05 | 2021-02-05 | Secure storage and processing of data for generating training data |
PCT/US2022/012695 WO2022169584A1 (en) | 2021-02-05 | 2022-01-18 | Secure storage and processing of data for generating training data |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116868194A true CN116868194A (zh) | 2023-10-10 |
Family
ID=80445844
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202280013228.7A Pending CN116868194A (zh) | 2021-02-05 | 2022-01-18 | 对用于生成训练数据的数据的安全存储和处理 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20220253540A1 (zh) |
EP (1) | EP4288887A1 (zh) |
CN (1) | CN116868194A (zh) |
WO (1) | WO2022169584A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11792167B2 (en) | 2021-03-31 | 2023-10-17 | Microsoft Technology Licensing, Llc | Flexible data security and machine learning system for merging third-party data |
US11601260B1 (en) * | 2021-10-29 | 2023-03-07 | Uti Limited Partnership | Encryption/decryption using key encapsulation/decapsulation |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11100420B2 (en) * | 2014-06-30 | 2021-08-24 | Amazon Technologies, Inc. | Input processing for machine learning |
US20190012609A1 (en) * | 2017-07-06 | 2019-01-10 | BeeEye IT Technologies LTD | Machine learning using sensitive data |
WO2020257783A1 (en) * | 2019-06-21 | 2020-12-24 | nference, inc. | Systems and methods for computing with private healthcare data |
-
2021
- 2021-02-05 US US17/169,161 patent/US20220253540A1/en active Pending
-
2022
- 2022-01-18 WO PCT/US2022/012695 patent/WO2022169584A1/en active Application Filing
- 2022-01-18 CN CN202280013228.7A patent/CN116868194A/zh active Pending
- 2022-01-18 EP EP22703491.5A patent/EP4288887A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
EP4288887A1 (en) | 2023-12-13 |
US20220253540A1 (en) | 2022-08-11 |
WO2022169584A1 (en) | 2022-08-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11416634B2 (en) | Consent receipt management systems and related methods | |
US11361057B2 (en) | Consent receipt management systems and related methods | |
US11409908B2 (en) | Data processing systems and methods for populating and maintaining a centralized database of personal data | |
US11062051B2 (en) | Consent receipt management systems and related methods | |
US10776518B2 (en) | Consent receipt management systems and related methods | |
US10572686B2 (en) | Consent receipt management systems and related methods | |
US20200410117A1 (en) | Consent receipt management systems and related methods | |
US11301589B2 (en) | Consent receipt management systems and related methods | |
US10440062B2 (en) | Consent receipt management systems and related methods | |
US10437412B2 (en) | Consent receipt management systems and related methods | |
US10949170B2 (en) | Data processing systems for integration of consumer feedback with data subject access requests and related methods | |
US10346637B2 (en) | Data processing systems for the identification and deletion of personal data in computer systems | |
US20190096020A1 (en) | Consent receipt management systems and related methods | |
US20180349641A1 (en) | Data processing systems for integration of consumer feedback with data subject access requests and related methods | |
CN116868194A (zh) | 对用于生成训练数据的数据的安全存储和处理 | |
US20190332803A1 (en) | Data processing systems for the identification and deletion of personal data in computer systems | |
US20200210771A1 (en) | Machine learning framework with model performance tracking and maintenance | |
US20220207484A1 (en) | Training data generation techniques to capture entity-to-entity affinities | |
US11792167B2 (en) | Flexible data security and machine learning system for merging third-party data | |
US20230027615A1 (en) | Modeling techniques to classify data sets containing personal identifiable information comprising numerical identifiers | |
US11651104B2 (en) | Consent receipt management systems and related methods | |
JP2024018444A (ja) | 契約管理プログラム、情報処理装置、情報処理システム、情報処理方法 |
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 |