语义匹配系统和方法与流程

文档序号:24552186发布日期:2021-04-06 12:04阅读:151来源:国知局
语义匹配系统和方法与流程

相关申请的交叉引用

本专利申请基于并要求于2018年7月26日提交的美国专利申请序列号16/045,902的优先权,所述申请的标题为分类器系统和方法,其全部内容通过引用结合于此,如同在此明确阐述其全部内容一样。

本专利申请总体上涉及电子信息匹配领域,更具体地说,涉及用于比较包含在不同数据集合中的至少两个异构数据记录以确定相似度的计算机实施的系统、方法和计算机程序产品。



背景技术:

数据的语义匹配是已知的。例如,在职业领域中,语义匹配主要基于基于关键词的方法,在所述方法中,数据被搜索用于字面上对应于一组给定关键词的单词。找到的关键词越多,则认为匹配越好。在一些情况下,使用特定的算法和/或高级单词向量,其在这里被认为是自然语言处理(“nlp”)相似性技术之一。例如,一个或多个算法纯粹在字符串和句子的层面上使用单词相似性,由此基本语义上下文、具体的文化特性和多语言差异即使没有完全被忽略,也在很大程度上被忽略。

此外,与具体的职业相匹配的某些职业标准(例如,一种或多种特定的技能、专业和/或经验)的重要性不是通过简单地比较文字字符串和句子的方法来考虑的。因此,也不考虑具体的职业、区域、文化和/或语言相关的差异,尽管这些标准对特定的标准的相关性有影响。以两个开放的空缺的工作候选人为例,他们的概况差异仅仅在于两个标准,即职业头衔(其可能非常相似)和技能。纯粹基于关键词的方法对于确定两个候选人中哪一个适合所述职位是无效的,因为需要关于他们各自技能与目标空缺的相关性的具体的信息。进一步,手动分类或单独的自优先排序是乏味和不切实际的,特别是对于在大型数据集合上寻找匹配,所述数据集合可以包括数据记录的采集,诸如职业数据记录。

此外,考虑到各种技术方面,在非常大的数据集合上的语义匹配提出了严峻的挑战。例如,向量运算在高维向量空间中执行,这需要准备数据,并且需要高效地执行许多计算,而现有系统可能没有以最佳方式解决这些问题,特别是在性能方面。因此,基于关键词的方法以及nlp相似性技术在比较文化多样性、多语言领域(诸如职业领域)中的异构数据记录时表现出显著的弱点,这是由于信息间隙降低了这些匹配结果的准确性,并且附加地,由于这些方法可能带来关于上下文正确性的概率错误。

正是基于这些和其它考虑,本文给出了公开内容。



技术实现要素:

在一个或多个实现中,本申请包括用于确定至少两个异构非结构化数据记录之间的相似性以及用于优化处理性能的系统和方法。此外,通过执行存储在非暂时性处理器可读介质上的代码而配置的至少一个处理器被配置成生成多个职业数据记录。所述至少一个处理器可以为职业数据记录中的每一个创建各自的向量来表示职业数据记录。所述至少一个处理器可以将向量中的每一个分片成多个组块,并且并行地对组块中的每一个执行语义匹配,以同时且基本上实时地将至少一个职业数据记录与至少一个其它职业数据记录进行比较。此外,所述至少一个处理器可以输出表示职业数据记录中的至少两个之间相似性的值。

在一个或多个实施方式中,向量中的每一个具有大小和方向。

在一个或多个实施方式中,所述至少一个处理器可以创建n维非正交单位向量空间。

在一个或多个实施方式中,通过计算对应于来自本体的概念的单位向量之间的点积来创建n维非正交单位向量空间。

在一个或多个实施方式中,每个向量都在高维非正交单位向量空间中。

在一个或多个实施方式中,所述至少一个处理器可以应用从本体提供的信息中导出的相关系数。

在一个或多个实现中,所述至少一个处理器可以加权向量表示的概念。

在一个或多个实施方式中,所述至少一个处理器可以存储与大于零或至少等于预定阈值的点积相关联的信息。

在一个或多个实施方式中,匹配步骤包括执行不对称比较。

在一个或多个实现中,不对称比较基于余弦相似性。

在一个或多个实施方式中,基于相似性的程度对输出进行排序。

这些和其它方面、特征和优点可以从本发明某些实施例的伴随描述和附图中理解。

附图说明

图1是绘示与本申请的一个示例实施方式相关的匹配过程的简单框图;

图2是绘示根据本文公开的一个示例实施方式的系统的示例拓扑和配置的高级图;

图3a是绘示多个数据存储结构的框图,所述数据存储结构包括三种方案,并且在本文示出和描述的一个或多个过程中可用的;

图3b绘示了根据本申请的一个示例实施方式的与创建职业数据记录的过程相关联的一系列步骤;

图3c是绘示根据一个或多个实施方式的用于向量匹配的例程的高级流程图,包括关于并行执行的例程;

图4是绘示表示本体的单位向量的示例的框图,从所述示例中确定点积;以及

图5是根据一个示例实施方式的示例性概念图的绘示,所述概念图包含概念节点的有向图,每个概念节点对应于各自的概念。

图6在2d向量空间中描述正交基,其中非正交基向量被表达。

具体实施方式

作为概述和介绍,本公开详细描述了用于将不同数据集合中包含的至少两个异构职业数据记录彼此进行比较直到非常大量的职业数据记录,并且生成表示其中包含的信息之间的相似程度的数值分数作为预定义标准集合的函数的系统和方法。如本文所使用的,术语“异质性”,特别是当与职业数据记录结合使用时,描述其标准(例如概念)在数量和类型上可能不同的数据记录。这种差异可能源于例如不同的语言、不同的职业描述或不同的技能。职业数据记录之间的比较是通过将每个职业数据记录表示为高维、非正交单位向量空间中的向量,并应用从本体提供的经验人类专业知识中导出的相关系数来执行的。

如本文所使用的,术语本体通常指包含大量职业概念及其之间的逻辑关系的复杂数据结构。关系可以是等级性质的(例如,父母-子女、祖父母-孙辈),或者它们可以表达不同类型和程度的相似性。

此后,针对职业数据记录向量之间的余弦测量程度,计算标准化分数的排序列表,典型地在0到1的范围内,作为输出。在一个或多个实施方式中,值1表示完美匹配。根据本申请,这种职业数据记录的示例包括开放的或空缺的工作职位、候选人的工作搜索、在公司工人的概况或其它职业信息单元。如上所述,在匹配过程中比较的数据记录可以包括一组标准或数据点,本文通常被称为“概念”。

在操作中,在匹配步骤之前,根据依赖于职业描述的特异性(oc)水平的可定制加权系统,对每个职业数据记录中向量地表示的概念进行加权。通过将索引的职业数据记录向量分片成数据组块,并行处理能够基本上实时地比较大量的职业数据记录。在本申请的一个或多个实施方式中,作为虚拟引擎运行的模块采集,本文通常被称为语义匹配引擎。

如本文所使用的,“匹配”可以指采用两个图状结构并在这些图的节点之间产生语义上彼此对应的映射的运算符。可以计算语义关系来确定等价性,并来分析模式的含义(概念,而非标签)元素和结构。本申请的本体,从中获得相关系数以便执行语义匹配,并且包括语义关系的大粒度和多样化。例如,本文通常被称为“相同但不同”的一类关系可以表示几个不同程度的类似性。这样地能够覆盖频谱比仅等同、重叠或不连续更广。此外,在本申请的本体中,还考虑了比较的方向、比较的观点。

本申请的语义匹配引擎在职业数据分析领域特别有效,包括职业、行业、语言、国家和文化具体的多样性领域。本申请的语义匹配引擎是对诸如在自然语言处理中使用的已知相似性技术的显著改进,所述相似性技术不能桥接知道特定职业背景和可以从职业数据点之间的相互关系中获得的信息差距。本申请,包括语义匹配引擎,运行以考虑这些相应的数据并执行改进的数据分析。

在一个或多个实施方式中,语义上下文被确定为从本体导出的相关系数的函数。基于本体,可以表示在主题领域或领域中的一组概念和类别,以及它们之间的各自关系,可以确定对包含在术语之间的术语关系中的信息的访问。除了职业术语和句子之外,这使得各种术语能够在本体中表示为描述具体职业、技能、专业化、教育、经验等的概念。

而且,在语义学的背景下,与职业相关的信息,诸如建筑师,与其它技能相关,诸如过程管理、项目的时间和成本规划、质量保证和一般管理。本文认识到的是,与这种语义相关联的信息以及与各种文化背景相关联的细微差别信息不能简单地通过基于关键词的匹配或nlp相似性来检索。

源自本体的相关系数可以进一步基于主题专家的经验,这可以提高相似性比较的准确性。与基于关键词的匹配或仅使用nlp相似性技术的方法不同,根据本文的教导生成的基于本体的相关系数不具有与语义误解相关联的缺点(例如偏差误差),因此构成语义匹配的附加值。

而且,并且根据相应职业与优先职业标准有关,本申请的语义匹配引擎可以包括复杂的加权系统,包括加权属于职业数据记录的概念。根据分配给职业数据记录的职业类别,权重可以不同地应用于不同类型的概念。相应地,当仅将对具体的技能、专业、经验、教育和其它对于所述具体的职业而言真正重要的标准的加权标准给定更高的权重时,应考虑不同的职业。作为示例,对于牙医来说,长时间直立在相同位置的能力可能是至关重要的,与收银员相比,收银员可能完全不相关。这种加权分布的区域变化可以通过定制定制加权表来覆盖。

职业数据集合,诸如与求职者和工作提供者相关的数据集合,通常是非结构化或半结构化的复杂数据集合,并且不是具体的与相应分类相关联的特定标准化分类系统。鉴于给定的标准化分类系统,对职业数据中的每一个集合进行语义上的解释和分析,为了从分类系统中识别出最匹配给定职业数据集合的一个或多个已定义的标准化“概念”的目的。另外,示例性系统和方法进一步被配置成将未分类数据集合转换成标准化职业数据的结构化记录,其中职业描述根据一个或多个规定的分类系统来表达。另外,可以通过利用从分析中推断的附加的标准化职业数据智能地注释数据来扩充或增强职业数据集合。

相应地,可以理解的是,通过本文描述的用于分类和标准化的具体的技术解决方案,本公开的实施例将非结构化和非标准化的信息集合翻译成更有意义的信息集合,所述信息集合由于其不一致和未分类的性质而不适合使用现有的数据处理和分析系统进行分析,所述信息集合根据许多定义的分类系统中的任何一个进行结构化和定义。因此,本公开的实施例被具体配置成生成新的和增强的职业数据集合,所述职业数据集合更适合于进一步的数据分析处理,诸如基准、匹配或统计分析;生成的数据能够从中得出更深刻和更有意义的见解。本公开的实施例可以类似地用于分析和(例如,“分类”)根据一个特定分类系统已经标准化的职业数据并将其翻译成不同的分类系统,以有助于进一步处理。

本申请进一步考虑了语言差异,包括根据需要在本体中生成不同的、语言具体的标签和不同的概念。附加地,可以根据每个职业数据记录定义技能、语言、教育和经验的个人熟练程度。更进一步,本申请处理高维向量空间(例如,大约10k维)上的向量操作。在一个或多个实施方式中,预先计算已知向量,从而避免不必要的计算,并且只有相关值被存储在存储器中,并且在实际语义匹配期间应用并行处理。

更具体地说,匹配过程可以分成两个主要阶段:数据预计算阶段(准备)和匹配阶段。在准备阶段期间,可以在高维向量空间中计算职业数据记录向量。通过尽可能早地正规化职业数据记录向量,可以避免不必要的点积计算。进一步,不保存零值(其可能是由不相交的概念造成的),在匹配期间就不会执行不必要的比较。另外,通过使用预定义的过滤标准过滤职业数据记录数据集合,预先排除不适当的职业数据记录。预先计算在实际匹配期间节省了时间,但是为了确保在职业数据记录的实际比较期间的最佳性能,预先计算的数据被分片成组块,然后所述组块被并行处理以基本上实时地计算余弦相似性度量。

如本文所使用的,职业数据记录(“odr”)描述了一个密切相关的职业数据单元,并且可以包括职业概念列表和一些附加属性,诸如职业数据记录类型。职业数据记录可以从描述新职位空缺的信息、候选人的求职信息、与简历、工作者档案或任何其它类型的职业信息相关的信息中手动或自动创建。信息可以映射到概念,然后形成职业数据记录。

参考附图,其中相似的附图标记指代相似的元件,图1是展示了与本申请的示例实施方式相关的匹配过程的简单框图。如图1所示,示出了两个主要阶段(准备阶段102和匹配阶段104)。这两个阶段可以异步执行,从而初始准备阶段发生在匹配阶段之前。

在准备期间,可以创建n维非正交单位向量空间,诸如通过计算对应于来自本体的概念的所有单位向量之间的点积。导致零值和/或低于某个自定义阈值的所有点积优选地不被存储。计算点积的单个因素可能是未知的,然而点积本身是已知的,至少因为它们对应于来自本体的给定相关系数。此后,例如,基于预定义的过滤标准列表,从数据集合中过滤掉不相关的odr的。这种过滤标准的示例可以包括定位、行业和合同类型。

可以包括非正交向量空间中单位向量的线性组合的odr向量可以通过使用定制权重表为odr向量中的每一个分量(例如概念)分配权重来生成。表上的权重可以基于odr到职业类别(oc)的分类。如本文所使用的,职业类别通常指用于描述职业的特异性的水平。例如,是否属于描述职业头衔的概念,范围从1-非常具体的。(例如,一位python程序员)到5-非常模糊/宽泛(例如,顾问)。oc将职业划分为特异性的水平,诸如从1到非常具体的(例如,“嵌入式c/c++开发人员”)到5–非常模糊(例如“顾问”或“项目经理”)。在本申请的一个或多个实施方式中,对于odr的每个概念,向量分量乘以一个或多个分配的权重。另外,当将odr的作为向量表示时,可以包括用户先前设置的技能、语言、教育和经验的个人熟练水平的信息。在非正交向量空间中表达odr向量的过程,其包括过滤不相关的odr的先前向量并给所述odr向量的概念分配权重,本文通常被称为索引。

继续参考图1,在准备阶段102完成之后,可以执行匹配104。利用经验的相关系数预先计算并从本体(例如单位向量的点积)隐含的odr向量是余弦类似的计算的一种适配形式,本文通常被称为软余弦度量,在将两个数据集合相对于彼此比较的同时执行。所述两个数据集合包括含有单个odr第一数据集合和含有n个odr的(其中n=1…许多)的第二数据集合。这导致余弦相似性度量的列表,典型地在0和1范围之间。对结果列表进行排序,在列表顶部示出最佳度量(例如最佳匹配)。

现在参考图2,示出了图示根据本申请的示例实施方式的拓扑和高级架构(系统200)的框图。示例性计算机系统在图2中被示为框图,其呈现了示出根据本发明一个实施例的用于分类职业数据的系统的配置的高级图。在这种布置中,系统200包括应用/系统服务器205。还示出了与系统服务器205通信的远程计算设备,包括第三方计算系统204和用户个人计算设备206。系统服务器和一个或多个其它远程计算设备还可以与一个或多个数据存储设备通信,诸如数据库服务器280和远程数据源208。

系统服务器205旨在表示各种形式的数字计算设备和/或数据处理装置,诸如服务器、刀片服务器、大型机和其它适当的计算机和/或能够与远程计算设备、数据存储设备和计算网络通信的网络化或基于云的计算系统,包括接收、发送和存储电子信息,以及处理信息,如本文进一步描述的。数据库服务器280和第三方系统204也旨在代表相似的计算设备来实施各自的功能。

如图所示,用户设备206使得用户能够通过网络与诸如系统服务器205和数据库服务器280的远程计算设备交互。用户设备206可以是能够与服务器通信并直接从用户接收输入的任何设备,例如个人计算机、平板计算设备、个人数字助理(pda)、手机或其它类型的计算设备,如本领域技术人员将理解的。

数据库服务器280可以含有和/或维持在系统200的各种操作中利用的各种数据项和元素。数据库服务器180存储的信息可以包括但不限于与一个或多个本体281(包括(多个)概念图)、odr存储库282、odr索引283、过滤能力284和匹配结果285相关的信息。数据库服务器280还可以存储或另外维持一个或多个规则集合,包括语义解释规则和分类规则,在服务器205处的处理器210可以应用这些规则来评估输入到系统中的数据,并根据一个或多个给定的分类系统对这些数据进行分类,如本文进一步描述的。还应当注意的是,尽管数据库服务器280被描述为配置在系统服务器205的外部,但是在某些实施方式中,数据库服务器280和/或存储在其中的任何数据元素可以以本领域普通技术人员已知的方式本地位于系统服务器205或其它远程计算设备上。

服务器205可以布置有能够操作系统200的各种硬件和软件组件,包括硬件处理器210、存储器220、存储器和通信接口250。处理器210用于执行可以加载到和从存储器220中的软件指令。取决于系统的特定部署,处理器210可以包含一个或多个处理器,多处理器核或一些其它类型的硬件处理器。

优选地,存储器220和/或存储器可由处理器210访问,从而处理器210能够接收和执行存储在存储器220上和/或存储器上的指令。存储器220可以是例如随机存取存储器(ram)或任何其它合适的易失性或非易失性计算机可读存储介质。此外,存储器220可以是固定的或可移动的。取决于特定的实施方式,存储器可以采取各种形式。例如,存储器可以含有一个或多个组件或设备,诸如硬盘驱动器、闪存、可重写光盘、可重写磁带或上述的一些组合。存储器还可以是固定的、可移动的或远程的,诸如基于云的数据存储系统。

一个或多个软件模块被编码在存储器和/或存储器220中。软件模块可以包含一个或多个软件程序或应用程序,其具有由处理器210执行的计算机程序代码或指令集合。软件模块可以与本文一个或多个实施方式的物理硬件方面的操作和配置紧密集成。

用于实现本文公开的系统和方法的操作方面的这种计算机程序代码或指令可以用一个或多个编程语言的任何组合来编写。程序代码可以完全在服务器205上执行,部分在服务器205上执行,作为独立软件包,部分在系统服务器205上执行,部分在远程计算机/设备(例如,数据库服务器280)上执行,或者完全在远程计算设备上执行。在后一种情况下,远程设备可以通过任何类型的网络连接到系统服务器205,包括局域网(lan)或广域网(wan),或者可以连接到外部计算系统(例如,通过使用互联网服务提供商的互联网)。

还可以说的是,软件模块的程序代码和一个或多个非暂时性计算机可读存储设备(诸如存储器220和/或存储器)形成了计算机程序产品,如本领域普通技术人员所知,所述计算机程序产品可以根据本公开内容制造和/或分发。应当理解的是,在一些说明性实施例中,一个或多个软件模块可以经由通信接口250从另一设备或系统(例如,远程数据存储器)通过网络下载到存储器,以在系统200内使用。此外,应当注意的是,与本系统和方法的操作相关的其它信息和/或数据还可以存储在存储器中。

通信接口250还可操作地连接到处理器210,并且可以是能够在服务器205和外部设备、机器和/或元件之间进行通信的任何接口。优选地,通信接口250包括但不限于调制解调器、网络接口卡(nic)、集成网络接口、射频发射器/接收器(例如,蓝牙、蜂窝、nfc)、卫星通信发射器/接收器、红外端口、usb连接和/或用于将系统服务器105连接到其它计算设备和/或通信网络(诸如专用网络和互联网)的任何其它这种接口。这种连接可以包括有线连接或无线连接(例如,使用ieee802.11标准),尽管应该理解的是,通信接口250实际上可以是能够与服务器205通信的任何接口。

尽管系统200是参考单个设备(诸如服务器205)来描述的,但是应该理解的是,所述系统被配置成与任何数量的本地和远程计算设备交互,向这种设备提供数据并从这种设备接收信息。应当理解的是,图2中描绘的任何远程计算设备可以彼此直接通信或与服务器205直接通信,彼此间接通信或与服务器205间接通信,和/或可以通过诸如因特网、lan或wan的计算机网络与彼此或系统服务器205通信协调。

现在转到图3a,示出了数据表302,其分别包括三个方案302a、302b和30c,并且可以被配置为数据结构(例如,数据库中的表),并且可以在本文示出和描述的一个或多个过程中使用。如本文所描述,使用两个主要过程:一个用于创建odr以及一个用于匹配。方案302a可以包括与非正交单位向量空间相关联的记录,方案302b可以包括与odr索引相关联的记录,并且方案302c包括与odr过滤器相关联的记录。进一步支持附加的两个数据结构,包括odr存储库和含有匹配结果的数据结构,所述匹配结果将在下面更详细地描述。

数据结构302a(非正交单位向量基)可以包括图(不对称)中任何两个概念之间的点积。如本文所使用的,术语不对称(或不对称)指的是匹配分数取决于特定的比较方向而不同,以及在它们之间具有不同相关系数的概念,诸如取决于关系的方向。可以支持两种变体,包括当空缺搜索时和当人员搜索时。向量空间可以通过陈述在本体中发现的概念的每一个可能组合之间的所有相关性来定义。反过来,相关性可以由知识图中任何两个概念之间的点积来定义,诸如下文更详细示出和描述的。一旦向量空间被建立,odr可以依据单位向量空间被特定为非正交单位向量的线性组合。在图4中示出了表示本体的单位向量的示例,从所述单位向量确定点积。

应当理解的是,点积不一定是可交换互换的,至少因为至少有两种不同的视点。例如,考虑两个专业人员:程序员和python程序员。这两者之间的相关性(例如,相似性)可以如下计算,例如,取决于比较的方向:

python程序员->程序员=0.8

程序员->python程序员=0.6

继续这个示例,虽然python程序员可能与普通程序员非常相似,但是普通程序员可能不太精通python,因此与python程序员不太相似。取决于比较的方向,这个识别工业特性的示例展示了为什么两个具体的odr的比较会导致不同的匹配分数。例如,匹配分数对于向候选人提供空缺的公司可能不同,如方案302a中通过变体解决的趋向公司空缺的候选人,即使变体不限于方案302a下所列的那些。

尽管诸如上所述存在变体,但是可以设想在一个方向上执行具体的匹配。通常,方向是从单个odr(在一个数据集合)到大量其它odr的(在另一数据集合)。然而,应当理解的是,除了典型的一对多比较之外,本申请也支持多对多比较。

关于非正交单位向量空间的创建,含有单位向量空间信息的数据结构(例如,表)含有从本体中的概念隐含的信息,但不一定是odr本身。在这个方面,含有单位向量空间信息的结构因此独立于odr索引和odr过滤器。在一个或多个实施方式中,非正交单位向量空间数据结构在周期性和/或规则的基础上被重新计算,诸如在本体中创建新概念时。在一个或多个实施方式中,例如,尽管概念之间的许多点积等于0,但是概念之间等于0的点积不存储在数据结构302a中。

现在参考图3b,描述了创建odr的过程,所述过程可以被认为是用于匹配的过程和先决条件。在创建和索引odr时,填充数据结构302b和302c(图3a)。在图3b的简单框图中展示了与创建odr的过程相关联的步骤330。

在本申请的各种实施中,可以通过接收来自用户的输入(例如,手动输入)来创建odr(步骤332),或者可以基本上自动创建(例如,机器输入)。要指定的字段可以与职业主题相关联,诸如职业、技能、合同类型等。此后,发生odr的索引过程(步骤334),其中预定义字段可以与本体匹配。对于任何尚不存在的文本,新的概念都是在后者中自动创建的。另外,对于在这个odr中使用的过滤器,在数据方案302c中相应地创建过滤器条目。继续参考图3b所示出的索引odr334的示例过程,odr字段与本体匹配。此后,在本体中为尚不存在的文本创建新概念。而且,在数据方案302c中创建新的odr过滤器条目。

在索引期间,odr存储库中的odr的中的每一个可以表示为向量,其分量是由数据结构302a定义的向量空间中的单位向量。另外,odr中的每一个向量分量可以乘以基于加权系统的权重,所述加权系统基于与odr相关联的职业类别,诸如下面较大详细描述的。例如,odr的职业描述概念是属于oc1给定到“高等数学的数学教师”,还是属于oc5用于“项目经理”,当加权odr的概念时起着至关重要的作用。换句话说,取决于职业类别,可以以不同的方式分布给odr内给定相应概念的权重,例如,考虑到某项技能、专业、用户体验等的重要性。进一步,权重的分配可以考虑某项多个技能对于具体的职业的重要性。下面的表1包括在索引odr的过程期间可以使用的示例性权重。例如,表1中提供了职业类别值、职业权重、功能权重、专业化权重、技能权重和语言权重,以及相应的文本描述。

表1

当odr被索引时,数据结构302b和302c基本上自动填充。在一个或多个实施中,可以使用作用于1000odrs的批次的sql数据库查询来填充数据结构。执行两个查询,诸如一个用于索引结构(302b),和一个用于过滤器结构(302c)。在一个或多个实施中,所述odr索引表取决于表示向量空间的相应数据结构(数据结构302a),并且odr索引也在周期性和/或规则的基础上被刷新。这还意味着,如果数据结构302a中发生一个或多个数据改变,诸如由于新概念或一个或多个概念的改变而发生的改变,则以基于本体的最新状态执行重新索引。在一个或多个匹配过程中,可以动态创建odr,以与一个或多个(潜在的所有)其它odr的进行比较并进行索引。在一个或多个实施中,向量不保存在odr索引表中,也不保存在odr过滤器中。相反,数据仅在执行匹配时临时使用。

现在参考odr过滤器,数据结构302c作为存在于odr存储库中的已创建odr的过滤器标准的存储运行。示例过滤器类型可以包括定位、行业、合同类型(例如,全职、兼职、合同等)、标签、具体的概念的排除、关键词或非关键词、odr类型和出版日期。当创建odr时,其应用的过滤器可以基本上自动地存储在odr过滤器表(例如,数据结构302c)中。

现在转到图3c,示出了高级流程图,其展示了根据一个或多个实施的用于向量匹配的例程350,包括具有关于根据系统100的并行执行。除了图3c示出的高级流程之外,本文还描述了与向量匹配相关联的一个或多个算法相关联的特定的细节,包括余弦相似性、匹配/搜索、归一化和余弦相似性常数移位。

在图3c所描绘的过程的开始,创建新的数据集合,或者使用预先存在的数据集合,所述数据集合含有所使用的所有odr的(典型地大量的),对于所述数据集合将比较单个odr(步骤352)。相应数据集合的每个odr被表示为非正交单位向量空间的向量,其中被索引的odr向量被存储在odr索引中,并且过滤器在odr过滤器中(步骤354)。例如,可以启动第二个数据集合,其中从一个现有的odr或通过在查询时创建一个新的临时odr来动态创建仅一个要与所有其它odr进行比较的odr。此后,在步骤356,创建(索引)单个odr向量,同时创建odr向量,而不将其存储在odr索引中。同样,用于过滤单个向量的自定义向量分量是在不将其存储在odr过滤器中的情况下创建的。此后,当计算单个odr向量和每隔一个odr向量之间的余弦相似性时,odr索引向量数据被划分成分片以能够并行处理(步骤358)。用于余弦相似度计算的示例应用公式由下面的公式5定义。在计算余弦度量之后,所述结果被插入匹配结果表中(步骤360)。归一化函数基于所有odr向量的大小,此后应用(步骤362),并且所述结果被输出到排序得分结果列表(步骤364)。分数结果列表中的值理想地在0和1之间的范围内。如本文所使用的,术语“大小”通常可以指基于给定的职业类别应用于职业数据记录中具体的职业概念的权重。另外,本文使用的术语“职业概念”通常从本体导出,并表示表示职业信息的数据点。职业概念可以包括不同的属性(例如,不同语言的标签),并且在表示职业描述的概念的情况下,可以包括相关联的职业类别。因此,职业概念可以表示具体技能、软技能、专业化、职业头衔、经验、行业、语言、工资范围、工作条件或任何其它职业信息。概念及其关系存储在本体中。在一个或多个实施中,概念被格式化以包括唯一的id。

如上所述,本体表示一个或多个职业分类系统内的概念层次,并且重要的是,概念和概念图之间的相互关系是本体中概念之间的相互关系的示例性逻辑表示。图4展示了表示本体的单位向量的示例,从所述单位向量确定点积。知识图402展示了概念(例如,节点)c0-c5之间的关系。相关因子404识别概念和概念的两个非正交单位向量之间的相应点积。例如,在图4中的概念c0和c1中,点积是0.8。

图5是包含概念节点的有向图的示例性概念图的简化图示,每个概念节点对应于各自的概念。更具体地,图5展示了刚好在计算余弦相似性之前两个odr的之间的共同或相似概念(502a、502b、502c和502d)的相关值。回到前面关于python程序员的示例,与一般程序员502a相比,502b是python程序员,与设计关系数据库502d相比,502c表示与编写sql语句相关联的技能。在计算之前,这些共同的概念和各自的相关系数可以被识别为预先计算的相关系数表的函数。在这点上,概念之间的关系已经可以被表示出来,因此消除了在匹配过程期间遍历知识图的需要。源自302a的所识别的公共概念的相关系数可以在执行时(例如,在ram中)使用哈希图(或其它合适的函数)临时存储用于计算。

语义匹配过程的输出是余弦相似性得分列表,首先按最高结果排序。所述结果包含一个自定义阈值,仅列出客户端系统上高于所述阈值的结果。得到的余弦度量以百分比值的形式返回,所述百分比值是从归一化结果中获得的,其中100%表示完美匹配。如前所述,有多种参数可以被调整以使匹配过程适合本地职业市场的条件,诸如过滤标准和通过为包括职业在内的各种概念类型定义不同的权重。

本申请提供语义匹配过程的输出,所述输出可以包括余弦相似性得分的列表。列表可以以各种合适的方式排序,诸如首先按最高结果。这些结果包括自定义阈值,只提供客户端系统上高于自定义阈值的列表结果。得到的余弦度量以百分比值的形式返回,所述百分比值是从归一化结果中获得的,其中100%的值表示完美匹配。如本文所述,多个参数可被调整以使匹配过程适合本地职业市场的条件,诸如过滤标准并通过为各种概念类型(诸如职业)定义不同的权重。

现在利用包括向量匹配算法、匹配和搜索算法以及与余弦相似性常数移位有关的算法的示例实施方式进一步更具体地描述本申请。参考对象,诸如职业概念,描述了使用本申请的其它特征。一些对象可能相当复杂,诸如复杂的向量和/或相关概念的综合采集。

参考示例供应商匹配算法,在一个或多个实施方式中,通过将对象表达为向量并通过向量之间的余弦测量向量之间的接近度来执行匹配。本文通常称之为“余弦相似度”或“软余弦度量”为说明的目的,使用公共线性代数来描述供应商匹配算法,并且相应地,普通技术人员中的一个将认识到供应商匹配算法可以是通用的。当对象被表达为向量时,匹配向量等同于匹配对象。当这样的对象可以表达为向量时,实际上任何类型的实体都可以使用诸如这里示出的和描述的算法来匹配。

现在参考一个示例供应商匹配算法,两个给定向量表示个具有大小和方向并具有点积的实体:

其中是向量的大小或长度,和θab是方向之间的角度。点积属性示例,诸如:

向量被称为正交、独立或垂直。向量大小可以使用点积来计算:

向量大小、方向和θab可以可视化到三维,但是相同的属性可以扩展到更高的维。

从以上两个方程中,之间的余弦相似性是:

在以上方程式中,表示方向上的单位(长度)向量。对于普通技术人员来说,显而易见的是,点积是用于计算余弦相似性的基本运算。在非单位向量的情况下,可以采用3次点积运算,而在单位向量的情况下,余弦相似性可以是点积本身。考虑到点积可能是相当昂贵的运算,通过尽快归一化所有向量,可以获得显著的实际节省;这也简化了方程式。

给定覆盖感兴趣的全向量空间的完整向量基,其由k个不一定正交的单位向量、组成,那么向量可表达(不一定唯一)为:

相应地,计算点积的实用公式是:

其中ai,aj是实数,可能不是直接已知的,而是它们的点积,是已知的,它们是在[-1.0,+1.0]范围内的实数。

对于单位向量,结合方程式3和4:

参考向量匹配算法,根据本申请的示例实施方式,给定两组单位向量:

使用(方程式5)计算所有三元组

m=1..m,按降序排序的列表中优选地,最好的结果将在列表的开头找到,其中最好的可能结果

如果存在的话,则将指示完美匹配。在许多实际情况下,集合a由单一的向量组成,而集合b非常大。

对于普通技术人员来说,显而易见的是,更熟悉和直观的向量基是那些选择最小数量的正交单位向量来覆盖给定维度的向量空间的向量基:即,对应于x和y轴的两个维向量和对应于x、y和z轴的三个维向量。本文通常称之为正交基。当两个向量在正交基中表达时,给定上面的(1)和(2),方程式(4)简化为在正交基中更熟悉的点积公式:

即使在这样的线性向量空间是非常高维的情况下,也具有正交基,其中非正交基向量将被表达。图6在2d向量空间中描述了这个。

在图6中示出的向量是:

其中是正交基:正x轴和y轴方向上的单位向量。

继续这个示例,向量可以通过解决线性系统依据来表达:

i.e.

在上面的表达式中,仅知道上面两个方程式加上的值,可以使用方程式(4)来计算。方程式4b可以用于计算但实际上可以分配范围为[-1.0,+1.0]的实值,诸如下面结合匹配/搜索算法描述的。

这个可以使用方程式4b进行验证,如下所示:

通过将每个单独的对象表达为向量,上述向量匹配算法可应用于匹配和搜索对象。在上面方程式5中,表示两个不同的对象。每个对象向量可以被定义为对应于概念图中的k个概念的k个非正交单位基向量的线性组合,本文参考图5示出和描述。在方程式5中,表示概念图中的两个不同概念,ai表示方向上的对象的单位向量的ith分量,并且相似地,bj表示方向上的对象的单位向量的jth分量。以下描述关于分离的部分:基向量和对象向量

首先,参考基向量,a非正交单位向量基是一组k个单位向量,概念图中每个概念对应一个:尽管可能是未知的,但所有都是已知的。这些点积几乎专有的可以从概念图中定义的关系中计算出来。例如,直接的父->子关系具有较高的值,接近最大值1.0,而较远的祖父母->孙辈关系具有较低的值。这些根据经验确定的规则提供了良好的质量结果,并且不覆盖点积的交换性质,即,

除了依赖于概念图中阐述的关系的公式外,的其它值也可以手动添加。尽管有任何特定的计算方法,的所有明确地计算值的采集,以及所有缺失组合的隐式值为零,但是提供了计算方程式(5)并且因此执行矢量匹配算法的基。在一个或多个实施方式中,的大多数隐式为零。相应地,非零值被存储为三元组

以下示例(示例2)连接两个概念考虑了本申请的应用:程序员和python程序员其中优选地存储三元组(358,121,0.8)和(121,358,0.6)。

在一个或多个实施方式中,对象向量集合包括一组n个向量,在系统中每个对象对应一个:关于相应对象的信息与概念图中的相应概念相匹配:其中下标n和k分别指特定对象和概念。在一个或多个实施方式中,可以乘以权重,wnk,并被添加到对象向量。权重可以是规则的组合,包括考虑到给定信息的相对重要性,包括由于由用户指定的。相应地,对象向量可以定义如下:

而且,如本文所述,对象向量可以作为对象单位向量被早期归一化、存储和进一步处理:

在本申请的实施方式中,绝大多数wnk等于零;因此,在一个或多个实施方式中,在归一化之后,只有非零分量作为三元组被存储到数据结构(例如,数据库中的表)中。未存储的组件具有隐含值为零。

以下示例(示例3)关于本申请的应用,所述应用与在法国巴黎的python程序员的工作提供相关联权重可以包括应用值为3.0的权重和权重值为2.0的法语国家但也可以考虑程序员他可能不知道权重值为0.5的python的程序员。

得到的方程式可以是:

可以保存的组件,诸如数据表中的行,普通技术人员可以理解的是,根据方程式式2和4,取决于python程序员和程序员之间的相关性,如先前的示例中描述的,即,随着点积的改变,行(或其它数据存储)被重新计算。在一个或多个实施方式中,一个相应的数据库表可以被配置成存储直接输入的关于对象的信息,而不一定是通过概念图隐含的信息,所述概念图可以存储在单独的数据源(数据表)中。而且,在一个或多个实施方式中,根据本申请的向量匹配算法可以被应用于在计算点积时组合两者信息源,诸如使用方程式(5)。

现在转到关于余弦相似常数偏移的讨论,低开销过滤被添加到本文示出和描述的向量匹配算法中。更具体地,给定正交于两者的单位向量和实数,d,下面的方程式(6)是可应用的:

参考前面描述的向量匹配算法,小集合m=1…m和非常大的集合n=1..n,相应地,可以创建两个新集其中d是实数>1,以及是过滤函数,如果通过某个条件,则所述过滤函数求的值为1,否则为-1。此后,可以应用方程式6,并且a'和b'的向量匹配算法可以产生三元组m=1..m,排序列表。丢弃所有负结果,并从剩余结果中减去d,以在相同的排序下产生较小的列表而不改变余弦相似性。实际上,从a获得集合a'不会导致性能问题,因为集合很小,包括单个向量。当集合b可能非常大时,这种技术的结果是提供有效的过滤和匹配操作。例如,通过在匹配/搜索过程期间执行具有多个表的联合查询以为每个不同的对象单元向量(由n来表示)动态地添加一个单个行(n,f,f(bn)=±1),来实施从b获得集合b'。进一步,f是与概念图中的全部i=1..k个概念相对应的完全独立的基向量的常数。

虽然余弦相似性提供了良好和公平的匹配结果,但是在某些情况下,本申请的特征的现实世界使用没有得到很好的表示。这对于提供诸如技能,语言,教育等重要信息的用户可能发生。例如,在搜索具体的工作职位的期间,返回的搜索结果会增加,尽管对于每个工作的计算分数会低于用户仅定向的给定一个工作的分数。然而,对于寻找潜在候选人来填补有空的职位的工作提供者来说,可能会出现一个缺点。那些具有丰富数据集合的候选人(其可以说更适合特定职位)的得分可能低于那些只有几个概念但是更紧密地匹配各自工作描述的候选人。反过来,这可能会产生意想不到的效果,惩罚那些在个人档案中过于描述性的人,尽管可能会被指示尽可能描述性。

相应地,在余弦相似性匹配过程旁边,本申请的一个或多个实施方式可以应用以下归一化因子来校正缺点,诸如如上所述:

其中,是搜索向量,并且是表示用于任何一对搜索结果在归一化之前各自的工作提供的向量。可以使用非归一化向量的大小,例如在使用期间可以缓存这些向量。

继续归一化过程,余弦相似性方程式(例如,方程式3)并用分别替换可以应用分数调整因子,诸如在以下示例中:

如果我们使用搜索向量进行搜索,并显示匹配提供向量的得分,方程式可以表示如下:

其中,可以存储在例如数据表中,从当各自提供被索引时。而且,在提供向量正在被搜索并且用于匹配的搜索向量s的分数可以如下改变的情况下:

其中,可以在执行匹配查询并在查询中使用之前进行计算。

本文描述的用于匹配的示例性系统和方法可以应用于任何数量的实际场景。使用情况可以扩展到开放的空缺和工作搜索之间的比较之外,并且可以包括开放的空缺之间的比较、候选人之间的比较(例如,在公司内寻找继任者,或者评估继续教育计划)、以比较简历、工作者个人档案之间的比较、用于基准测试、差距分析等等。

在一个展示示例使用情况中,一个政府劳工官员需要的匹配系统来挖掘数据,并使她的国家的失业工作者的个人档案相互匹配。劳工官员进一步需要将他们与开放的空缺相匹配,从而找出他们拥有的技能与公司工作空缺要求之间的差距。本文描述的系统和方法使她能够将人与职位匹配,以及识别潜在的教育和培训需求。

在另一说明性的使用情况中,本文示出和描述的匹配系统和方法可以由公司使用,所述公司将他们自己的广告中的工作要求与其竞争对手的广告中的工作要求相匹配,因为他们想要将他们的技能集合与他们各自行业中的所述职业的基准进行比较。例如,所述公司试图识别每种职业的五种最重要的技能,并与相应部门的其它公司的五种最期望的技能进行比较。本文的教导提供了支持这种比较分析的工具。

在另一说明性的使用情况中,求职者使用本文的教导来将他们的技能与相同职业的其它求职者相匹配。这支持开展一项比较研究,以识别求职者应该在哪里提高技能集合和经验,并且然后改善他们的个人档案和就业机会。

在又另一说明性的使用情况中,一所大学应用本文的教导,使课程内提供的技能和科目与当前劳工力行业中的工作要求相匹配。这使得能够进行比较分析,包括识别未来的课程改变,以便更好地让学生为行业需要更好准备。

在仍然另一说明性使用情况中,为一家公司的公司战略移动更趋于多元化和包容性的公司工作的招聘人员使用本文中的教导将她公司的职位空缺的具体的要求与全球许多潜在的候选人进行比较。这扩展了以前可用于履行的达到和功能。

在更大的规模上,用于匹配的示例性系统和方法可以在不同类型的职业数据上执行,说,根据两个不同系统定义的两组职业数据集合,以便将不同的系统数据集合转换成共同的范例(例如,共同的概念集合),从而能够在匹配系统上跨越执行附加的基准测试、比较分析和其它这样的操作。

在这一点上,应该注意到的是,尽管前面的描述大部分针对用于分类职业数据和示例性实际使用情况的示例性系统和方法,但是本文公开的系统和方法可以相似地部署和/或实施在远远超出参考场景的场景、情形和设置中。

应当理解的是,附图中类似的数字在几幅附图中表示类似的元件,并且并非所有实施例或布置都需要参考附图描述和展出的所有组件和/或步骤。还应当理解的是,本文公开的系统和方法的实施例和/或布置可以作为软件算法、应用程序、程序、模块或驻留在硬件、固件和/或计算机可用介质(包括软件模块和浏览器插件)上的代码来合并,所述计算机可用介质可以在计算机系统或计算设备的处理器中执行,以配置处理器和/或其它元件来执行下面描述的功能和/或操作。应当理解的是,根据至少一个实施例,当执行本发明的方法时,一个或多个计算机程序或应用不需要驻留在单个计算机或处理器上,但是可以以模块化的方式分布在大量的不同的计算机或处理器中,以实施本文公开的系统和方法的各个方面。

因此,本系统和方法的说明性实施例和布置提供了用于评估处方行为记录中的风险程度的计算机实施的方法、计算机系统和计算机程序产品。图中的流程图和框图展示了根据各种实施例和布置的系统、方法和计算机程序产品的可能实施的架构、功能和操作。在这点上,流程图或框图中的每个块可以表示模块、片段或代码部分,其包含用于实施多个指定逻辑功能的一个或多个可执行指令。还应当注意的是,在一些替代实施方式中,框中标注的功能可能以不同于图中标注的顺序出现。例如,根据所涉及的功能,连续示出的两个块实际上可以基本上同时执行,或者这些块有时可以以相反的顺序执行。还将注意到的是,框图和/或流程图说明的每个块以及框图和/或流程图说明中的块的组合可以由执行指定功能或动作的基于专用硬件的系统或者专用硬件和计算机指令的组合来实施。

本文使用的术语仅用于描述特定实施例的目的,并不旨在限制本发明。如本文所使用的,单数形式“一”、“一”和“所述”意在也包括复数形式,除非上下文另有清晰地指示。进一步应当理解的是,当在本说明书中使用时,术语“包含”和/或“包含”指定所陈述特征、整数、步骤、操作、元件和/或组件的出席,但不排除一个或多个其它特征、整数、步骤、操作、元件、组件和/或其群组的出席或附加。

应该注意的是,序数术语的使用,诸如“第一”、“第二”、“第三”等。在权利要求中,修改权利要求元素本身并不意味着一个权利要求元素相对于另一个权利要求元素的任何优先级、优先级或顺序,或者执行方法动作的时间顺序,而是仅用作标签来区分具有特定名称的一个权利要求元素和具有相同名称的另一个元素(但是为了使用顺序术语),以区分权利要求元素。

还有,本文使用的措辞和术语是出于描述的目的,不应被视为限制本文使用的“包括”、“包含”或“具有”、“含有”、“涉及”及其变体意味着包含其后列出的项目及其等同物以及附加项目。

上面描述的主题仅作为说明性提供,不应被解释为限制。可以对本文描述的主题进行各种修改和改变,而不遵循图示和描述的示例性实施例和应用,并且不脱离在下面的权利要求中阐述的本发明的真实精神和范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1