文本串嵌入及认证的方法、设备和系统
文献发布时间:2023-06-19 10:58:46
技术领域
本文广泛地但非排他地涉及用于文本串嵌入及认证的方法、设备和系统。
背景技术
电子化了解您的客户(eKYC)是一种由企业执行的数字尽职调查处理,用于验证其客户的身份并评估对业务关系的非法意图的潜在风险。在eKYC处理中,企业必须进行认证以验证用户的个人信息。用户的个人信息包含文本串形式的数据,例如用户地址、用户姓名等。
现有技术使用基于文本距离度量的词比较技术,例如编辑距离,来进行文本串认证。然而,词比较技术不能捕获词和/或短语的语义含义,因此不能识别相同或相似文本串的各种表达之间的相似性。根据现有技术中的词比较技术,例如,文本串“璧山,区129,04-01,新加坡570129”被认为不同于另一文本串“璧山,Blk 129,04-01,SG”,尽管它们涉及相同的地址。因此,后续认证是不准确的。
词嵌入技术(例如word2vec)能够从词或短语中提取出语义含义。然而,在eKYC的环境下,文本串(例如,地址、姓名等)是通过OCR技术从身份(ID)卡的照片中捕获的或者由用户输入的,并不包含文本串中的词的上下文信息(例如,地址中的地址词、姓名中的词)。因此,当前的词嵌入技术不能产生令人满意的认证结果。
因此,需要提供能够为文本串生成准确的嵌入以提高eKYC处理中的认证准确性的方法、设备和系统。
发明内容
根据本文的第一实施例,提供了一种文本串嵌入的方法。该方法包括:访问存储的包括文本串和设备标识的历史数据,其中,每个所述设备标识与一个或多个所述文本串相关联;以及生成包括多个关键词和多个值的嵌入查找表,其中,生成所述嵌入查找表包括:将所述历史数据中的文本串拆分成多个词;利用所述多个词和所述设备标识通过以下生成图:将所述多个词中的每个词表示为第一类节点;将每个所述设备标识表示为第二类节点;以及对于每个所述第二类节点,通过将表示所述设备标识之一的所述第二类节点与所述第一类节点中的节点链接来构建边,所述第一类节点中的被链接的节点所表示的词包括在与所述设备标识之一相关联的一个或多个文本串中;使用所述生成的图来训练嵌入模型;以及基于所述经训练的嵌入模型构造所述嵌入查找表,其中,所述嵌入查找表的多个关键词中的每个关键词包括所述第一类节点和所述第二类节点中的一个,所述嵌入查找表的多个值中的每个值包括与所述第一类节点和所述第二类节点中的一个相对应的向量。
根据本文的第二实施例,提供了一种文本串认证的方法。该方法包括:从用户接收第一文本串;将所述第一文本串拆分成多个第一词;以及使用根据前述实施例中任一个实施例生成的嵌入查找表中的一个或多个值认证所述第一文本串,所述一个或多个值与所述嵌入查找表中对应于所述第一文本串的所述多个第一词中的每个词相关联。
根据本文的第三实施例,提供了一种文本串嵌入设备。该文本串嵌入设备包括:第一存储设备,用于存储包括文本串和设备标识的历史数据,其中,每个所述设备标识与一个或多个所述文本串相关联;耦接到所述第一存储设备的训练设备,用于生成包括多个关键词和多个值的嵌入查找表,所述训练设备被配置为:访问所述存储的历史数据;生成所述嵌入查找表,其中,生成所述嵌入查找表包括:将所述存储的历史数据中的文本串拆分成多个词;利用所述多个词和所述设备标识通过以下生成图:将所述多个词中的每个词表示为第一类节点;将每个所述设备标识表示为第二类节点;以及对于每个所述第二类节点,通过将表示所述设备标识之一的所述第二类节点与所述第一类节点中的节点链接来构建边,所述第一类节点中的被链接的节点所表示的词包括在与所述设备标识之一相关联的一个或多个文本串中;使用所生成的图训练嵌入模型;以及基于所述经训练的嵌入模型构造所述嵌入查找表,其中,所述嵌入查找表的多个关键词中的每个关键词包括所述第一类节点和所述第二类节点中的一个,所述嵌入查找表的多个值中的每个值包括与所述第一类节点和所述第二类节点中的一个相对应的向量;以及第二存储设备,用于存储所述嵌入查询表。
根据本说明书的第四实施例,提供了一种文本串认证装置,与根据前述实施例中任一个实施例的文本串嵌入设备耦接,所述文本串嵌入设备包括根据前述实施例中任一个实施例生成的嵌入查找表,其中,所述文本串认证设备被配置为:接收第一文本串;将所述第一文本串拆分成多个第一词;以及使用所述嵌入查找表中的一个或多个值认证所述第一文本串,所述一个或多个值与所述嵌入查找表中对应于所述第一文本串的所述多个第一词中的每个词的关键词相关联。
附图说明
实施例和实施方式仅以示例的方式提供,对于本领域的普通技术人员来说,根据以下书面描述并结合附图阅读,所述实施例和实施方式将得到更好地理解并易于显现,其中:
图1是根据实施例的用于文本串认证的系统的示意图。如该实施例中所描绘的,该系统包括文本串嵌入设备和耦接到文本串嵌入设备的文本串认证设备。
图2是根据实施例的计算设备的示意图。如本文中所描述的,计算设备可以被实现为文本串嵌入设备、文本串认证设备或用于文本串认证的系统中的其他组件。
图3是示出根据实施例的文本串嵌入方法中的步骤的流程图。
图4是示出根据实施例的文本串认证方法中的步骤的流程图。
图5示出根据实施例的包括文本串和设备标识的历史数据。在该实施例中,文本串为地址。如该实施例中所示,每个地址与设备标识之一相关联。该实施例中还示出,每个地址被拆分成多个地址词,并且多个地址词中的每个地址词与设备标识之一相关联。
图6示出利用如图5所示的地址的多个地址词和设备标识生成的图的实施例。
图7示出嵌入查找表的实施例。在该实施例中,基于使用如图6所示的图进行训练的嵌入模型来构造嵌入查找表。
图8示出计算机系统的框图,该计算机系统适用于执行本文中所描述的文本串嵌入方法或文本串认证方法的至少一些步骤。根据图1至7所示的实施例,该计算机系统还适合用作文本串嵌入设备、文本串认证设备或用于文本串认证的系统。
技术人员将理解,图中的元素是为了简洁和清楚而示出的,并且不一定按比例绘制。例如,图示、框图或流程图中的一些元素的尺寸可能相对于其他元素被夸大,以帮助提升对本实施例的理解。
具体实施方式
将仅通过示例的方式,参考附图来描述实施例。附图中相同的附图标记和符号表示相同的元素或等同物。
下面描述的一些部分是以计算机存储器内的算法和对数据的操作的函数或符号表示来明确或隐含地呈现的。这些算法描述和函数或符号表示是数据处理领域的技术人员用来最有效地向本领域其他技术人员传达其工作实质的手段。在这里,算法通常被认为是达到期望结果的自洽的步骤序列。这些步骤是需要对物理量(例如,能够被存储、传输、组合、比较和以其他方式操纵的电、磁或光信号)进行物理操纵的步骤。
除非另有明确说明,并且从以下内容显见,将理解的是,在整个说明书中,利用诸如“访问”、“生成”、“拆分”、“表示”、“构建”、“链接”、“训练”、“构造”、“计算”、“应用”、“预测”、“生成”、“执行”、“接收”、“拆分”、“提取”、“认证”等术语的讨论,指的是计算机系统或类似电子设备的动作和处理,它们将计算机系统内的表示为物理量的数据操纵和转换为计算机系统或其他信息存储、传输或显示设备内的类似地表示为物理量的其他数据。
本文还公开了用于执行所述方法的操作的装置。这样的装置可以被特殊构造以用于所需目的,或者可以包括计算机或由存储在计算机中的计算机程序选择性地激活或重新配置的其他设备。本文介绍的算法和显示与任何特定计算机或其他装置都没有内在联系。根据本文的教导,各种机器可以与程序一起使用。可替代地,用于执行所需方法步骤的更专业化的装置的构造可能是合适的。适合于执行本文描述的各种方法/处理的计算机的结构将通过下面的描述呈现。在本文中,术语“装置”和“设备”可互换使用。
此外,本文还隐含地公开了一种计算机程序,因为对于本领域技术人员而言显见的是,本文所描述的方法的各个步骤可以通过计算机代码来实现。该计算机程序不旨在限于任何特定的编程语言及其实施方式。将理解的是,各种编程语言及其代码可以用于实现本文所包含的本公开的教导。而且,该计算机程序不旨在限于任何特定的控制流程。计算机程序还有许多其他变体,可以使用不同的控制流,而不会脱离本文的范围。
此外,计算机程序的一个或多个步骤可以并行地而不是依次地执行。这样的计算机程序可以存储在任何计算机可读介质上。计算机可读介质可以包括诸如磁盘或光盘的存储设备、存储器芯片、或适合于与计算机接口的其他存储设备。计算机可读介质还可以包括诸如在互联网系统中例示的硬连线介质、或诸如在GSM移动电话系统中例示的无线介质。该计算机程序在这样的计算机上加载并执行时,有效地产生了实现本文所描述的任何方法的步骤的装置。
本文中,据观察,当使用同一设备向服务提供商的eKYC系统提供两个或更多地址时,这两个或更多地址很可能是相同的、相似的或相关的地址,因为设备的共享通常发生在共享相同或相关空间的用户群中,例如,居住在同一单元中的家庭成员,居住在同一公寓楼中或附近公寓楼中的邻居,共享教室或校区楼的同学等。通过这种方式,如果地址A和地址A'由同一设备提供,则地址A中的地址词可以用于为地址A'中的地址词提供语义含义和/或上下文信息,反之亦然。
鉴于以上所述,本文的实施例提供了利用用户设备的设备标识来与地址词相关联的方法、设备和系统,以使得语义含义和上下文信息可用于地址词以促进生成地址的准确嵌入以及提高eKYC处理中认证的准确性。
此外,本方法、设备和系统生成以设备标识和关联的地址词为节点以及以节点之间的链接为边的图。以这种方式,通过嵌入模型来学习包含在节点和边中的地址词的语义含义和上下文信息,以形成地址嵌入。地址嵌入可以用于如本文所描述的认证。本领域技术人员将理解,地址嵌入还可以用于类似地址搜索、地址比较等。
除地址外,本文的上述观察还适用于其他文本串,例如用户姓名等。
作为用户设备的设备标识的补充或替代,其他类型的用户个人信息,诸如用户电话号码、服务提供商处的用户账户等,也可以用以与地址词或其他文本串中的词相关联,以提供地址词或其他文本串中的词的上下文信息。
鉴于以上所述,本方法、设备和系统还可以生成以设备标识、用户的电话号码和/或用户的账户以及关联的地址词或其他文本串中的关联词为节点以及以节点之间的链接为边的图。以这种方式,通过嵌入模型来学习包含在节点和边中的文本串中的词(例如,地址词或其他文本串中的词)的语义含义和上下文信息,以形成文本串的嵌入。文本串的嵌入可以用于如本文所描述的文本串(例如,地址、姓名等)的认证或文本串的相似度量化。
图1示出了根据本文实施例的用于文本串认证的系统100的示意图。系统100可以是服务提供商的eKYC系统(图1中未示出)的一部分。本领域技术人员还可以理解,系统100可以被实现为eKYC系统而无需实质性修改。
如本实施例中所描述的,系统100包括文本串嵌入设备102和耦接到文本串嵌入设备102的文本串认证设备112。
如图1所示,嵌入设备102包括耦接到第一存储设备104的训练设备106。第一存储设备104存储包括诸如用户地址、用户姓名等的文本串的历史数据。所述历史数据还包括与文本串相关联的数据,诸如设备标识、用户的电话号码、服务提供商处的用户账户。在一些实施例中,设备标识可以由系统100在之前从用户设备接收地址时生成。以这种方式,历史数据中的每个地址与对应于提供该地址的设备的设备标识相关联。设备标识可以具有“设备1”、“设备2”等的格式。本领域技术人员将理解,设备标识可以具有其他格式。
基于用户设备的序列号,可以识别不同设备并为其分配不同的设备标识。同样,可以将在不同时间点提供多个地址的设备识别为同一设备,并为其分配同一设备标识。这样,由同一设备提供的一个或多个地址可以与历史数据中的同一设备标识相关联。
作为系统100的替代,设备标识可以由eKYC系统(图1中未示出)中的其他组件生成,并被发送到第一存储设备104以供存储。为了简单起见,在此不进一步详细讨论设备标识的生成。
在一些实施例中,当用户从用户设备向服务提供商提供地址时,随同地址还提供用户的姓名。该姓名链接到历史数据中的地址,并且还可以接受本文所描述的文本串嵌入。
在一些实施例中,作为对应于用户设备的设备标识的补充或替代,用户的电话号码和/或服务提供商处的用户账户也可以与地址和/或姓名相关联,以提供这些文本串中的词的上下文信息。
文本串嵌入设备102被配置为执行文本串嵌入方法。图3示出了文本串嵌入方法的实施例300。如图3所示,文本串嵌入设备102被配置为至少执行文本串嵌入方法300中的以下步骤。该方法的每个步骤可以依次执行,或在适用时以并行或任何次序执行。
方法300包括:步骤302,访问存储的包括文本串和设备标识的历史数据,其中,每个设备标识与一个或多个文本串相关联。在一些实施例中,文本串包括地址。在这些实施例中,每个设备标识与一个或多个地址相关联。
方法300还包括:步骤304,生成包括多个关键词和多个值的嵌入查找表。生成嵌入查找表的步骤304包括:步骤304a,将历史数据中的文本串拆分成多个词;步骤304b,利用多个词和设备标识生成图;步骤304c,使用生成的图来训练嵌入模型;步骤304d,基于经训练的嵌入模型,构造嵌入查找表,其中,嵌入查找表的多个关键词中的每个关键词包括第一类节点和第二类节点中的一个节点,嵌入查找表的多个值中的每个值包括与第一类节点和第二类节点中的该一个节点相对应的向量。
利用多个词和设备标识生成图的步骤304b包括:将多个词中的每个词表示为第一类节点;将每个设备标识表示为第二类节点;对于每个第二类节点,通过将表示设备标识之一的第二类节点与第一类节点中的节点链接来构建边,第一类节点中的被链接的节点所表示的词包括在与所述设备标识之一相关联的一个或多个文本串中。
在一些实施例中,文本串包括地址,多个词包括多个地址词。在这些实施例中,在步骤304a中,文本串嵌入设备102被配置为将历史数据中的地址拆分成多个地址词。在步骤304b中,文本串嵌入设备102被配置为利用多个地址词和设备标识通过以下生成图:将多个地址词中的每个地址词表示为第一类节点;将每个设备标识表示为第二类节点;对于每个第二类节点,通过将表示设备标识之一的第二类节点与第一类节点中的节点链接来构建边,第一类节点中的被链接的节点所表示的地址词包括在与设备标识之一相关联的一个或多个地址中。
在一些实施例中,文本串包括姓名,多个词包括多个姓名词。在这些实施例中,在步骤304a中,文本串嵌入设备102被配置为将历史数据中的姓名拆分成多个姓名词。在步骤304b中,文本串嵌入设备102被配置为将多个姓名词中的每个姓名词表示为第一类节点;将每个设备标识表示为第二类节点;对于每个第二类节点,通过将表示设备标识之一的第二类节点与第一类节点中的节点链接来构建边,第一类节点中的被链接的节点所表示的姓名词包括在与设备标识之一相关联的一个或多个姓名中。
在一些实施例中,文本串包括地址和姓名,多个词包括多个地址词和姓名词。在这些实施例中,在步骤304a中,文本串嵌入设备102被配置为将历史数据中的地址和姓名拆分成多个地址词和姓名词。在步骤304b中,文本串嵌入设备102被配置为利用多个地址词和姓名词以及设备标识通过以下生成图:将多个地址词和姓名词中的每个地址词或姓名词表示为第一类节点;将每个设备标识表示为第二类节点;对于每个第二类节点,通过将表示设备标识之一的第二类节点与第一类节点中的节点链接来构建边,第一类节点中的被链接的节点所表示的地址词包括在与设备标识之一相关联的一个或多个地址中,或者所表示的姓名词包括在与设备标识之一相关联的一个或多个姓名中。
在一些实施例中,作为设备标识的补充或替代,用户的电话号码和/或服务提供商处的用户账户还可以与文本串中的地址和/或姓名相关联,以提供文本串中的词的上下文信息。在这些实施例中,在步骤304b,文本串嵌入设备102被配置为利用多个地址词和姓名词以及设备标识通过以下生成图:将多个地址词和姓名词中的每个地址词或姓名词表示为第一类节点;将每个设备标识、用户的电话号码和/或用户账户表示为第二类节点;对于每个第二类节点,通过将表示设备标识、用户的电话号码和/或用户账户之一的第二类节点与第一类节点中的节点链接来构建边,第一类节点中的被链接的节点所表示的地址词包括在与设备标识、用户的电话号码和/或用户账户之一相关联的一个或多个地址中,或者所表示的姓名词包括在与设备标识、用户的电话号码和/或用户账户之一相关联的一个或多个姓名中。
下面参照图5至图7描述步骤302和304,图5至图7描述了文本串仅包括地址的实施例。即,文本串为地址的实施例。在一些其他实施例中,文本串还可以包括姓名等。
在步骤302的一些实施例中,文本串嵌入设备102中的训练设备106被配置为访问存储在文本串嵌入设备的第一存储设备104中的历史数据。
历史数据包括如上描述的文本串和设备标识。在图5中描述了存储在第一存储设备104中的历史数据500的实施例。在该实施例中,文本串仅包括地址。在该实施例中,历史数据500的示例性部分包括:地址#1“壁山区129新加坡570129”及其关联的设备标识“设备1”;地址#2“壁山区131 06-02新加坡570131”及其关联的设备标识“设备2”;地址#3“壁山Blk 129 SG”及其关联的设备标识“设备1”。
在如图5所示的历史数据中,每个设备标识与一个或多个地址相关联。例如,在历史数据的实施例500中,设备标识“设备2”与地址#2相关联,而设备标识“设备1”与地址#1和地址#3相关联。可以看出,地址#1和地址#3与由设备标识“设备1”表示的共享设备相关联。这样的信息,即与共享设备相关联的多个地址的信息,在本文中有利地用于构建上下文信息并为地址中的地址词提供语义含义。例如,由于地址#1和地址#3与同一设备相关联,因此地址“壁山区129新加坡570129”和地址“壁山Blk129SG”很有可能相同或相关,因为它们可以由居住在同一单元中的家庭成员、居住在同一公寓楼或附近公寓楼中的邻居、共享同一教室或校园楼的同学等提供。通过这种方式,一个地址的语义含义和上下文信息由与同一设备标识相关联的另一地址呈现。
在步骤304中,文本串嵌入设备102中的训练设备106被配置为基于历史数据中的地址和设备标识而生成用于文本串嵌入的文本串嵌入查找表。嵌入查找表包括多个关键词和多个值。生成嵌入查找表的步骤304包括如上面和下面描述的步骤304a、304b、304c和304d。
在步骤304a中,文本串嵌入设备102中的训练设备106被配置为将历史数据500中的地址拆分成多个地址词。
参照图5中的历史数据500的实施例,训练设备106将历史数据500中的地址#1、地址#2和地址#3拆分成多个地址词。所述地址词包括:词、词的缩写、数字等。例如,地址“壁山区129新加坡570129”被拆分成地址词:“壁山”、“区”、“129”、“新加坡”、“570129”;地址“壁山区131 06-02新加坡570131”被拆分成地址词:“壁山”、“区”、“131”、“06-02”、“新加坡”、“570131”;地址“壁山Blk 129SG”被拆分成地址词:“壁山”、“Blk”、“129”、“SG”。以这种方式,从地址分出多个地址词“壁山”、“区”、“129”、“新加坡”、“570129”、“131”、“06-02”、“Blk”、“129”、“SG”。在一些实施例中,为了简单起见,可以从多个地址词中删除相同地址词的重复条目。可以看出,地址词“新加坡”、“壁山”和“区”出现在多个地址中。也就是说,地址词“新加坡”包括在两个地址中(即,地址#1和地址#2);地址词“壁山”包括在所有的三个地址中(即,地址#1、地址#2和地址#3);地址词“区”包括在两个地址中(即,地址#1和地址#2)。
由于地址与历史数据500中的相应设备标识相关联,因此从地址分出的地址词也必然与相应设备标识相关联。例如,从地址“壁山区129新加坡570129”分出的每个地址词“壁山”、“区”、“129”、“新加坡”和“570129”与设备标识“设备1”相关联。同样,从地址“壁山区131 06-02新加坡570131”分出的每个地址词“壁山”、“区”、“131”、“06-02”、“新加坡”和“570131”与设备标识“设备2”相关联,而从地址“壁山Blk 129 SG”分出的每个地址词“壁山”、“Blk”、“129”和“SG”与设备标识“设备1”相关联。
对于包括在地址的多个地址(例如,地址#1和地址#2)中的地址词(例如,“新加坡”、“壁山”和“区”),因为多个地址与相应设备标识相关联(例如,“地址1”与“设备1”相关联,“地址2”与“设备2”相关联),因此这些地址词也必然分别与相应多个设备标识相关联。例如,每个地址词“新加坡”、“壁山”和“区”与两个设备标识“设备1”和“设备2”相关联。
如上所述,从地址#1分出的地址词“壁山”、“区”、“129”、“新加坡”和“570129”,和从与同一设备标识“设备1”相关联的地址3分出的地址词“壁山”、“Blk”、“129”和“SG”被视为具有相同或相关的语义含义和地理含义。如果这种关系得到学习,则可以有利地提供地址词的语义含义和上下文信息。本文将这样的关系与步骤304b中生成的图中的地址和设备标识一起保存,以实现整体和准确的文本串嵌入。
在步骤304b中,文本串嵌入设备102中的训练设备106被配置为利用地址的多个地址词(如在步骤304a中被拆分的)以及与所述多个地址词相关联的设备标识生成图。由于地址词和设备标识具有不同的属性,因此它们被捕获为图中不同类型的节点。
这种图600的实施例在图6中示出。参照图6,生成图600的步骤304b包括以下步骤:
首先,文本串嵌入装置102中的训练装置106将每个地址的多个地址词中的每个地址词表示为第一类节点。如图6所示,地址“壁山区129新加坡570129”中的每个地址词“壁山”、“区”、“129”、“新加坡”、“570129”被表示为第一类节点。同样,地址“壁山区131 06-02新加坡570131”中的每个地址词“壁山”、“区”、“131”、“06-02”、“新加坡”、“570131”被表示为第一类节点;地址“壁山Blk 129 SG”中的每个地址词“壁山”、“Blk”、“129”、“SG”也被表示为第一类节点。
如上所述,在一些实施例中,地址词可以在多个地址中多次出现。这样的地址词在图600中仅被捕获一次并且被表示为一个第一类节点。例如,包括在两个地址“壁山区129新加坡570129”和“壁山区131 06-02新加坡570131”中的地址词“新加坡”被表示为图600中的一个第一类节点。如图6所示,图600包括10个第一类节点,即,表示“新加坡”的节点602,表示“SG”的节点604,表示“壁山”的节点606,表示“Blk”的节点608,表示“区”的节点610,表示“129”的节点612,表示“570129”的节点614,表示“06-02”的节点616,表示“131”的节点618以及表示“570131”的节点620。
其次,文本串嵌入设备102中的训练设备106将每个设备标识表示为第二类节点。如图6所示,图600包括2个第二类节点,即,表示设备标识“设备1”的节点622,表示设备标识“设备2”的节点624。
如上所述,包括在多个地址中的每个地址词“新加坡”、“壁山”和“区”与相应的设备标识相关联。就这一点而言,在上述的10个第一类节点中,表示“新加坡”的节点602与两个第二类节点相关联,即,表示设备标识“设备1”的节点622,和表示设备标识“设备2”的节点624。类似地,表示“壁山”的节点606和表示“区”的节点610也均与表示设备标识“设备1”的节点622和表示设备标识“设备2”的节点624相关联。
第三,对于每个第二类节点,文本串嵌入设备102中的训练设备106通过将表示设备标识之一的第二类节点与第一类节点中的节点链接,第一类节点中的被链接的节点所表示的地址词包括在与设备标识之一相关联的一个或多个地址中。如图6所示,对于表示设备标识“设备1”的第二类节点622,训练设备106通过将第二类节点622与第一类节点602、604、606、608、610、612、614链接来构建边626、628、630、632、634、636、638,第一类节点602、604、606、608、610、612、614所表示的地址词“新加坡”、“SG”、“壁山”、“Blk”、“区”、“129”、“570129”包括在与由节点622表示的设备标识“设备1”相关联的一个或多个地址(即,即地址#1和地址#2)中。同样,对于表示设备标识“设备2”的第二类节点624,训练设备106通过将第二类节点624与第一类节点602、606、610、616、618、620链接来构建边640、642、646、648、650、652,第一类节点602、606、610、616、618、620所表示的地址词“新加坡”、“壁山”、“区”、“06-02”、“131”、“570131”包括在与由节点624表示的设备标识“设备2”相关联的一个或多个地址(即,地址#2)中。
以上述方式生成的图600包含由第一类节点表示的地址词、由第二类节点表示的设备标识、由边表示的设备标识与地址词之间的关系、以及由共享的设备标识链接的一个地址的地址词与另一个地址的地址词之间的关系。如上所述,由边表示的设备标识和地址词之间的关系以及由共享的设备标识链接的一个地址的地址词与另一个地址的地址词之间的关系有利于本文为地址词构建语义含义和上下文信息。
在步骤304c中,文本串嵌入设备102中的训练设备106使用所生成的图600训练嵌入模型。
在一些实施例中,使用所生成的图600训练嵌入模型的步骤304c包括以下子步骤。
首先,在子步骤a中,对于所生成的图600中的每个节点602、604、606、608、610、612、614、616、618、620、622、624,训练设备106可以基于节点的邻居的信息计算向量,其中,所述节点的邻居包括在预定数量的边内链接到该节点的一个或多个节点。边的预定数量可以基于对文本串认证或利用文本串嵌入的其他下游应用的准确度要求来确定。例如,边的预定数量可以是5。
在一些实施例中,设备标识可以包括相应设备的作为属性的地理信息。地理信息可以包括相应设备的GPS信息。这样的地理信息可以由系统100或eKYC系统中的其他组件捕获。在这些实施例中,节点的邻居的信息包括与节点的邻居中的一个或多个第二类节点622、624表示的一个或多个设备标识“设备1”、“设备2”对应的地理信息。
在一些实施例中,当训练设备106计算表示具有低于阈值的出现频率的地址词的第一类节点的向量时,训练设备106可以将该节点的向量计算为未知词的向量。例如,阈值可以是5%或是基于实际需要的预定值。对于未知词的向量的计算和训练,对于本领域技术人员而言是容易理解的。
随后,在子步骤b中,训练设备106可以在所生成的图600中的所有节点602、604、606、608、610、612、614、616、618、620、622、624上应用随机游走以生成节点序列。
此后,在子步骤c中,对于所生成的节点序列中的一个节点序列内的每个节点,训练设备106可以预测该节点序列中的节点的邻居,以形成预测的节点分布。
随后,在子步骤d中,训练设备106可以基于预测的节点分布和真实的节点分布来训练嵌入模型。真实的节点分布可从实际节点序列获得。
步骤304c的上述子步骤a、c和d可以针对所生成的图600中的所有节点602、604、606、608、610、612、614、616、618、620、622、624进行迭代以训练所生成的图600中所有地址词的嵌入模型。
在迭代处理的实施例中,训练设备106通过节点的邻居的信息更新每个节点的向量。随后,训练设备106预测节点序列中的节点的邻居。节点序列中的节点的邻居不同于图600中的节点的邻居。此后,训练设备106基于预测的节点分布和真实的节点分布来训练嵌入模型,以更新每个节点的向量。
在一些实施例中,步骤304c中生成的图600可以通过异构神经网络来训练,因为图600中的地址词和设备标识被视为两类节点。就这一点而言,嵌入模型可以是通用属性多元异构网络嵌入(GATNE)模型、分层注意网络(HAN)模型、或异构图神经网络(HetGNN)模型。本领域技术人员可以理解,其他图神经网络也可以用于训练本文的嵌入模型。
在步骤304d中,文本串嵌入设备102中的训练设备106基于经训练的嵌入模型来构造嵌入查找表。嵌入查找表的多个关键词中的每个关键词包括第一类节点和第二类节点中的一个节点。嵌入查找表的多个值中的每个值包括与第一类节点和第二类节点中的一个节点相对应的向量。如上所述,在步骤304c中训练与第一类节点和第二类节点中的一个节点相对应的向量。
嵌入查找表的实施例700在图7中示出。嵌入查找表700包括多个关键词和多个值。如图7所示,嵌入查找表700的多个关键词中的每个关键词包括表示地址词“新加坡”、“SG”、“壁山”、“Blk”、“区”、“129”、“131”、“570129”、“570131”、“06-02”的第一类节点和表示设备标识“设备1”、“设备2”的第二类节点中的一个节点。
如图7所示,嵌入查找表700的多个值中的每个值包括与第一类节点和第二类节点中的一个节点相对应的向量。在一些实施例中,如上所述,在步骤304c中训练向量。
嵌入查找表700还可以包括具有低出现频率的地址词的关键词。低出现频率可以是低于阈值的出现频率。基于实际需要,该阈值可以是5%或预定值。具有低出现频率的地址词的关键词可以被视为未知词的关键词。未知词的关键词具有对应向量,其值为例如“vector_UNK”。在步骤304c中,向量“vector_UNK”与其他向量一起被训练。基于不同场景下的实际需求,向量“vector_UNK”可以等于0或其他各种值。
与现有技术相比,在该方法的上述实施例中所生成的嵌入查找表提供了更准确的文本串嵌入。
如图1所示,可以将由训练设备106生成的嵌入查找表发送到第二存储设备108以供存储。第二存储设备108耦接到训练设备106和文本串认证设备112,用于认证下游应用中的新文本串(例如,新地址、新姓名等)。
在图1所示的实施例中,第一存储设备104和第二存储设备108包括在文本串嵌入设备102中。本领域技术人员可以理解,在其他一些实施例中,第一存储设备104和第二存储设备108可以是与文本串嵌入设备102耦接的外部硬件组件。此外,在一些替代实施例中,第一存储设备104和第二存储设备108可以由单个存储设备实现,或者被实现为文本串嵌入设备102中包括的硬件组件,或者被实现为与文本串嵌入设备102可通信的外部硬件组件。
如图1所示,系统100还可以包括用于接收新文本串的输入设备110。输入设备110耦接到第一存储设备104,用于存储新的文本串。输入设备110还耦接到文本串认证设备112。文本串认证设备112耦接到第二存储设备108,第二存储设备108存储嵌入查找表。
文本串认证设备112被配置为执行文本串认证方法。图4示出了文本串认证方法的实施例400。如图4所示,文本串认证设备112被配置为至少执行文本串认证方法400中的以下步骤。该方法的每个步骤可以顺序地执行;或在适用时以并行或任何次序执行。
方法400包括:步骤402,从用户接收第一文本串。
方法400还包括:步骤404,将第一文本串拆分成多个第一词。
方法400还包括:步骤406,使用如本文描述的所生成的嵌入查找表中的一个或多个值来认证第一文本串,该嵌入查找表中的一个或多个值与嵌入查找表中对应于第一文本串的多个第一词中的每个词的关键词相关联。
在一些实施例中,在步骤402中,文本串认证设备112被配置为接收从耦接到文本串认证设备112的输入设备110发送的第一文本串116。在实施例中,第一文本串116是第一地址116。第一地址116可以由用户提供。
在一些实施例中,在步骤404中,文本串认证设备112被配置为将第一地址116拆分成多个第一地址词。
在一些实施例中,在步骤406中,文本串认证设备112被配置为使用嵌入查找表700中的一个或多个值来认证第一地址116,该嵌入查找表中的一个或多个值与嵌入查找表700中对应于第一地址116的多个第一地址词中的每个地址词的关键词相关联。
在一些实施例中,认证第一地址116的步骤406还包括以下子步骤。步骤406的每个子步骤可以顺序地执行;或在适用时以并行或任何次序执行。
步骤406包括:子步骤406a,提取嵌入查找表中的一个或多个值,所述一个或多个值与嵌入查找表中对应于第一地址116的多个第一地址词中的每个地址词的关键词相关联,其中,第一地址116的多个第一地址词中的任意未知词被映射到未知词的关键词,所述未知词的关键词具有未知词向量作为值。
步骤406还包括:子步骤406b,通过对所提取的多个第一地址词的值进行求和计算或平均计算,生成第一地址116的向量。
在一些实施例中,认证第一地址116的步骤406还包括以下子步骤。步骤406的每个子步骤可以顺序地执行;或在适用时以并行或任何次序执行。
步骤406还包括:子步骤406c,从官方来源接收用户的第二文本串118。
步骤406还包括:子步骤406d,将第二文本串118拆分成多个第二词。
步骤406还包括:子步骤406e,提取嵌入查找表中的一个或多个值,所述一个或多个值与嵌入查找表中对应于第二文本串118的多个第二词中的每个词的关键词相关联,其中,第二文本串118的多个第二词中的任意未知词被映射到未知词的关键词,所述未知词的关键词具有未知词向量作为值。
步骤406还包括:子步骤406f,通过对所提取的多个第二词的值进行求和计算或平均计算来生成第二文本串118的向量。
在一些实施例中,第二文本串118是第二地址118。多个第二词是多个第二地址词。
在一些实施例中,认证第一地址116的步骤406还包括:子步骤406g,基于第一地址116的向量和第二地址118的向量之间的相似度来认证第一地址116。在一些实施例中,在步骤406g中,第一地址116的向量和第二地址118的向量之间的相似度可以基于余弦相似度计算。在一些示例中,如果相似度大于阈值,则第一地址116可以被认证为真实地址。根据实际需求,阈值可以为0.85或其他预定值。
在一些实施例中,子步骤406c中提及的官方来源包括政府数据库或由政府授权的第三方数据库,其提供用户的官方个人信息,包括身份证件(ID)号、姓名、地址等。从官方来源接收的第二地址可以基于在eKYC处理中提供给系统100的用户ID号获取。
以上段落描述了在文本串是地址的情况下步骤402、404和406的实施例。基于这些实施例,对于本领域技术人员而言可以理解的是,在文本串为姓名的情况下,步骤402、404、406是类似的。
通过在本文中实现的文本串嵌入,从用户提供的文本串(例如,地址)和来自官方来源的用户的官方文本串(例如,地址)之间的文本串认证可以实现更准确的结果。
此外,通过在本文中实现的文本串嵌入,可以将上述文本串认证方法修改为:基于本文中构造的文本串嵌入查找表,通过计算已知欺诈者的地址向量与可疑欺诈者的另一地址向量之间的相似度来识别潜在欺诈者的方法。本领域技术人员可以理解,文本串嵌入还可以用于下游应用,例如类似地址搜索、地址比较等。
如图1所示,系统100还可以包括耦接到文本串认证设备112的输出设备114。文本串认证的结果可以从文本串认证设备112发送到输出装置114以进行显示。替代地或附加地,可以将文本串认证的结果从文本串认证设备112发送到发送器,以发送到用户的设备。
图2示出了设备200的示意图。如本文中所描述的,设备200可以被实现为文本串嵌入设备102,文本串认证设备112或系统100中的用于文本串认证的其他组件。
设备200包括至少处理器202和存储器204。处理器202和存储器204是互连的。存储器204包括计算机程序代码(图2中未示出)。存储器204和计算机程序代码被配置为与处理器202一起使设备200执行如本文中所描述的用于文本串嵌入或文本串认证的步骤。
图8示出了适合用作文本串嵌入设备102、文本串认证设备112或用于文本串认证的系统100的计算机系统800的框图。以下对计算机系统/计算设备800的描述仅通过示例方式提供,而无意于进行限制。
如图8所示,示例性计算设备800包括用于执行软件例程的处理器804。尽管为了清楚起见示出了单个处理器,但是计算设备800也可以包括多处理器系统。处理器804连接到用于与计算设备800的其他组件通信的通信设施806。通信设施806可以包括例如通信总线、交叉条(cross-bar)或网络。
计算设备800还包括诸如随机存取存储器(RAM)之类的主存储器808和辅助存储器810。辅助存储器810可以包括例如硬盘驱动器812和/或可移动存储驱动器814,可移动存储驱动器814可以包括磁带驱动器、光盘驱动器等。可移动存储驱动器814以众所周知的方式从可移动存储单元818读取和/或写入可移动存储单元818。可移动存储单元818可以包括被可移动存储驱动器814读取和写入的磁带、光盘等。如相关领域技术人员将理解的,可移动存储单元818包括其中存储有计算机可执行程序代码指令和/或数据的计算机可读存储介质。
在替代实施方式中,辅助存储器810可以附加地或替代地包括用于允许将计算机程序或其他指令加载到计算设备800中的其他类似装置。这样的装置可以包括例如可移动存储单元822和接口820。可移动存储单元822和接口820的示例包括可移动存储芯片(例如,EPROM或PROM)和相关联的插槽,以及允许将软件和数据从可移动存储单元822传输到计算机系统800的其他可移动存储单元822和接口820。
计算设备800还包括至少一个通信接口824。通信接口824允许软件和数据经由通信路径826在计算设备800和外部设备之间传输。在各种实施例中,通信接口824允许数据在计算设备800和诸如公有数据或私有数据通信网络之类的数据通信网络之间传输。通信接口824可用于在不同的计算设备800之间交换数据,这些计算设备800形成互连的计算机网络的一部分。通信接口824的示例可以包括调制解调器、网络接口(诸如以太网卡)、通信端口、具有相关电路的天线等。通信接口824可以是有线的或可以是无线的。通过通信接口824传输的软件和数据采用信号的形式,其可以是能够被通信接口824接收的电信号、电磁信号、光信号或其他信号。这些信号经由通信路径826被提供给通信接口。
可选地,计算设备800还包括显示器接口802和音频接口832,显示器接口802执行用于将图像提供到关联的显示器830的操作,音频接口832执行用于经由关联的扬声器834播放音频内容的操作。
如本文中所使用的,术语“计算机程序产品”可以部分地指代可移动存储单元818、可移动存储单元822、安装在硬盘驱动器812中的硬盘或将软件经由通信路径826(无线链路或电缆)运载到通信接口824的载波。计算机可读存储介质是指将记录的指令和/或数据提供给计算设备800以供执行和/或处理的任何非暂态有形存储介质。这种存储介质的示例包括软盘、磁带、CD-ROM、DVD,Blu-ray
计算机程序(也称为计算机程序代码)存储在主存储器808和/或辅助存储器810中。计算机程序也可以经由通信接口824接收。此类计算机程序在被执行时使计算设备800能够执行本文所讨论的实施例的一个或多个特征。在各种实施例中,计算机程序在被执行时使处理器804能够执行上述实施例的特征。因此,这样的计算机程序代表计算机系统800的控制器。
软件可以存储在计算机程序产品中,并使用可移动存储驱动器814、硬盘驱动器812或接口820加载到计算设备800中。可替代地,计算机程序产品可经由通信路径826下载到计算机系统800。该软件在由处理器804执行时使计算设备800执行本文所描述的实施例的功能。
应当理解,图8的实施例仅以示例的方式给出。因此,在一些实施例中,计算设备800的一个或多个特征可以被省略。而且,在一些实施例中,计算设备800的一个或多个特征可以被组合在一起。此外,在一些实施例中,计算设备800的一个或多个特征可以被分成一个或多个组成部分。
本文所描述的技术产生一种或多种技术效果。特别地,本公开有利地利用与共享设备相关联的多个地址的信息来构建上下文信息并为地址中的地址词提供语义含义。利用该信息,与同一设备标识相关联的多个地址词和另外的多个地址词被认为具有相同或相关的语义和地理含义。除了地址之外,本文的上述观察还适用于其他文本串,例如用户姓名等。
作为用户设备的设备标识的补充或替代,其他类型的用户个人信息(例如,用户的电话号码、服务提供商处的用户账户等)也可以用于与地址词或其他文本串中的词相关联以为地址词或其他文本串中的词提供上下文信息。
本文将上述关系保留在图中以训练嵌入模型,从而实现整体和准确的文本串嵌入。然后,将这种文本串嵌入用于本文所描述的文本串认证中。本领域技术人员将理解,文本串嵌入还可以用于下游应用,例如类似地址搜索、地址比较等。与传统的文本比较或基于文本串和文本串认证的词嵌入相比,当前的设备、方法和系统提高了文本串嵌入准确率,进而提高了eKYC处理中的文本串认证准确率。
本领域技术人员将理解,可以对具体实施例中所示的本公开进行多种变化和/或修改,而不脱离宽泛描述的本文的范围。因此,本实施例在所有方面都应被认为是说明性的而非限制性的。
- 文本串嵌入及认证的方法、设备和系统
- 嵌入式设备准入认证方法及系统