可适配的处理组件的制作方法

文档序号:18888372发布日期:2019-10-15 21:18阅读:166来源:国知局
可适配的处理组件的制作方法

本发明实施例涉及机器学习,更具体地,涉及在各种应用环境中适配单独的机器学习组件。



背景技术:

机器学习是计算机科学领域,通过该领域,计算机处理系统可以在没有显式编程的情况下学习。机器学习被用于一系列计算任务,其中设计和编程显式算法是不可行的;示例应用包括但不限于网络安全、垃圾邮件过滤、光学字符识别(ocr)、搜索引擎、计算机视觉和自然语言处理(nlp)。机器学习组件或“学习者”的核心目标是从其经验中概括出来,在经历学习数据集之后准确地执行新的,看不见的示例/任务。可以提供被认为代表出现空间的训练样例,并且学习者建立关于该空间的一般模型,使其能够在新的情况下产生足够准确的预测。

某些计算机处理系统及其上执行的应用和任务包括许多组件,其中的一个或多个可以是学习者。在一些系统中,每个学习者必须彼此分开训练,并且与整个系统的训练分开。例如,现代大规模nlp应用由许多基于机器学习的单独组件组成,这些组件通常彼此分开训练,并且与使用它们的应用分开。当向应用引入新域和/或新类型的文本时,需要使用新的训练数据重新训练应用以保持新域中的准确性。该应用中的每个nlp组件必须单独训练或手动适配该域和/或类型。为新域获取此类nlp组件的培训数据非常昂贵,要求该域的人类专家提供输入。在大型应用中重新训练每个nlp组件变得非常昂贵,并且在某些情况下以应用准确性为代价而被忽略。



技术实现要素:

从第一方面来看,本发明提供了一种用利用多个机器学习组件的应用配置处理系统的方法,应用在训练数据集上被训练,所述方法包括:使用另一训练数据集在处理系统上执行应用;识别从与基础事实数据一致的其他训练数据集产生的应用的输出;以及使用所识别的应用的输出来适配多个组件以产生与基础事实数据一致的应用的输出。

从另一方面来看,本发明提供了用利用多个机器学习组件的应用配置处理系统的装置,应用在训练数据集上进行训练,所述装置包括:处理器,其被配置为:使用另一训练数据集在处理系统上执行应用;识别从与基础事实数据一致的其他训练数据集产生的应用的输出;以及使用所识别的应用的输出来适配多个组件以产生与基础事实数据一致的应用的输出。

从另一进一步的方面来看,本发明提供了一种用利用多个机器学习组件的应用配置处理系统的计算机程序产品,应用在训练数据集上被训练,计算机程序产品包括:计算机可读存储介质,其可由处理电路读取并存储用于由处理电路执行的指令,用于执行用于执行本发明步骤的方法。

从另一进一步的方面来看,本发明提供了一种存储在计算机可读介质上并且可加载到数字计算机的内部存储器中的计算机程序,包括软件代码部分,当所述程序在计算机上运行时用于执行本发明的步骤。

与单独重新训练每个组件相反,本发明的实施例通过使用来自应用本身的反馈来适配和训练应用的nlp组件来克服技术中的前述缺陷。

本发明可以是用于用利用多个机器学习组件的应用来配置处理系统的系统、方法和/或计算机程序产品,其中应用已经在训练数据集上被训练,使用另一训练数据集在处理系统上执行应用。从另一训练数据集产生的应用的输出被识别,其与基础事实数据一致被识别。这些组件适用于使用应用的已识别输出产生与基础事实数据一致的应用的输出。

可选地,可以从每个组件生成第一数量的候选输出。通过针对从该组件生成的第一多个候选输出中的每一个执行应用,针对每个组件训练组件模型。组件模型基于应用生成的结果进行调整。通过从每个组件生成第二数量的候选输出,利用针对多个组件中的每个组件的受训组件模型来执行应用。应用每个组件的受训组件模型,以从该组件生成的第二数量的候选输出中选择该组件的候选输出。使用针对每个组件的所选候选输出来执行应用。

可选地,生成第一数量的候选输出可以包括生成第一数量的候选输出作为主要候选输出的变体。

可选地,可以针对从每个组件生成的第一数量的候选输出确定特征,并且可以通过基于应用产生的结果对从该组件生成的每个第一数量的候选输出的特征进行加权来训练每个组件的组件模型,以便能够为应用选择候选输出。

可选地,可以通过使用从组件集生成的第一数量的候选输出的每一个的一个执行应用来为组件集训练组件模型。可以基于应用产生的结果针对组件集调整组件模型。用针对组件集的受训组件模型执行应用。

可选地,可以响应于应用的新域,基于来自应用的输出来训练组件模型。

可选地,训练组件模型包括针对第一数量的候选输出中的每一个测量应用的执行的准确度,以及基于准确度来调整相应的组件模型。对特征进行加权可以包括增加与候选输出相关联的特征的权重,从而产生高精度并且减少与产生低精度的候选输出相关联的权重。

前述内容是概要,因此必然包含细节的简化、概括和省略;该摘要仅是说明性的,并非旨在以任何方式进行限制。仅由本主题专利申请的权利要求限定的本发明的其他方面、发明特征和优点将从以下非限制性详细描述中变得显而易见。

附图说明

现在将仅通过示例的方式参考优选实施例描述本发明,如以下附图所示:

图1示出了可以体现本发明的示例环境。

图2a-2b是包括可适配组件的示例nlp应用的示意性框图,通过该其可以体现本发明。

图3是可以体现本发明的自然语言核心组件的图。

图4a-4b是本发明实施例中的组件适配模型训练和运行时(runtime)利用的示意性框图。

图5是可以体现本发明的从属组件的组件适配训练和运行时利用的框图。

图6a-6b是可以体现本发明的组件训练和运行时操作过程的流程图。

具体实施方式

为了提供对用于不同域、类型或应用的自然语言处理(nlp)组件的训练,本发明的实施例提供了使用在应用的训练期间获得的信息来训练组件的技术,而不是分别培训每个单独的组件。这里使用的术语“应用”指的是在处理器指令(软件)的控制下处理硬件,处理器指令通常响应于用户输入而执行一个或多个任务。该定义旨在与计算机相关领域中术语的常见用法保持一致。本发明的实施例提供了装置,通过该装置可以重新训练利用机器学习的应用的组件,例如nlp应用,以适应新的话语领域和/或用于其他机器学习应用。应当理解,本发明是机器学习本身的改进,根据定义,其是“计算机相关技术”。这里描述的改进允许自然语言的计算机性能和之前未由计算机实现的机器学习系统执行的其他机器学习功能。

作为网络基础设施10,图1中示出了本发明实施例的示例环境。如图所示,该环境包括一个或多个服务器系统12a-12j,在此代表性地称为服务器系统12,以及一个或多个客户端或终端用户系统14a-14k,在此代表性地称为客户端系统14。服务器系统12和客户端系统14可以彼此远离并且可以通过网络13进行通信。使用一种或多种信令技术并且可能根据一种或多种标准化通信协议,例如,因特网协议(ip)、传输控制协议(tcp)、用户数据报协议(udp)等,网络13可以通过任何数量的合适的通信介质来实现,例如,金属导体、光学的光纤、空气等。网络13可以由合适的硬件组件支持以实现广域网(wan)、局域网(lan)、互联网、内联网等。或者,服务器系统12和客户端系统14可以通过直接或视线技术(例如无线电链路、无光纤光链路等)彼此进行足够的本地通信。在某些实现中,服务器系统12的服务和功能和客户端系统14的服务和功能可以由单个设备(例如工作站)中的公共电路和共享计算资源来执行。

服务器系统12和客户端系统14可以由优选地配备有显示器或监视器、基座(例如,包括至少一个处理器(未示出)、一个或多个存储器(未示出))、内部或外部网络接口或通信设备,例如调制解调器、网卡等(未示出)、可选输入设备,例如键盘、鼠标或其他输入设备、以及任何商业上可获得的开源和定制软件,例如操作系统、服务器/通信软件、浏览器/界面软件等的任何传统或其他计算机系统来实现。

可以构造或以其他方式配置一个或多个客户端系统14和/或一个或多个服务器系统12以实现信息技术基础设施(iti)20。iti20表示统一框架,通过该框架收集、存储、检索和管理企业数据。iti20除其他外,可以实现nlp平台22。nlp平台22表示支持nlp应用的机器框架,例如上面指出的那些。

nlp平台22可以根据建立的信息模型26收集和处理代表性地在非结构化文本15处示出的非结构化输入文本,使得处理后的数据可以被集成到iti20的信息方案中。如本文所使用的“信息模型”表示在iti20中实现的每个话语领域的语言概念,以及这些概念、约束、规则和操作之间的关系,通过该关系,文本内容被解释为导出其基础语义。信息模型26可以包含多个本体,其中如本文所使用的“本体”是语言实体的规范,通过该规范在话语域中的代理之间传达意义。本体论包括但不限于话语领域的词典编纂学、形态学、语法和句法规则、特殊文本模式等。本体可以包括本地和/或一般本体,其可以指定通用语言和企业内部语言实体,以及域特定本体,其指定高度专业化的话语域的语言实体,例如具有特殊词汇和/或形态的那些,例如,在医疗保健、法律、金融、科学研究等领域中。本发明不限于在信息技术基础设施20中实现本体的特定技术。在阅读本公开之后,具有计算语言学技能的人将认识(recognize)到在不脱离本发明的预期范围的情况下可以在特定信息集成应用中实现本体的不同技术。

如图1所示,iti20可以实现数据库(db)24,其中存储诸如信息对象100的结构化信息。这里描述的各种模型,例如信息模型、领域模型、排名模型等,也可以存储在db24中。本发明不限于db24的具体实现;在阅读本公开后,具有信息技术技能的人将认识到可以结合本发明使用的许多结构化信息存储技术而不脱离其预期范围。

信息对象100是示例数据结构,利用该示例数据结构,本发明的某些实施例通过各种自然语言处理操作携带关于某个对象或实体的计算机可读信息。应理解,同时图1中示出了单个信息对象100,db24可以包括数十亿个信息对象100,每个信息对象100具有不同的大小并包含各种信息数据。

其中,信息对象100可以表示由信息对象100表示的对象的存储状态。属性110可以包括代表性地在变量112处示出的各个变量,以及和分配给这些变量的相应值,在图1中有代表性地表示为值114。本发明不限于以计算机可读形式表示对象的特定方式;信息对象100只是一个例子。而且,应该理解,值114不限于数值或文本值的表示。例如,值114可以包含指向其他信息对象100的指针、链接或引用(例如,包含对构成句子的单词信息对象的引用的句子信息对象)。本发明不限于可以在信息对象100中表示的特定属性集。

元数据120表示关于所表示的对象的各种其他信息。例如,元数据120可以包含关于属性110的计算机可读信息,例如,所表示的状态对人类意味着什么,分配给各个变量的值对人类意味着什么等。元数据120还可以包含与数据处理本身有关的计算机可读信息,包括运行时和训练信息。如自然语言处理和数据库技术领域的技术人员将理解的,其他信息也可以在元数据120中表示。

可以通过表示特定于域的知识的域模型28来训练nlp应用。这种特定领域的知识可以包括例如背景数据、规则、公式、变换、常数等,通过这些知识,应用的每个处理阶段从该阶段的输入信息对象100产生该阶段的输出信息对象100。例如,在医疗保健领域中,域模型28实现了通过其从所收集的数据(例如,病史、实验室结果、医师的注释等)导出某些医学诊断的方法。基于域模型28定义的应用的处理功能,nlp平台22的各种处理阶段或组件可以将新属性110插入到信息对象100中,例如响应于计算数学公式、处理文本等,根据域模型28,可以将值114分配给变量112,包括数字、文本、图像、视频、超链接等。

图2a和2b中,这里统称为图2,是在nlp平台22下执行或以其他方式由nlp平台22支持的示例性问答(qa)系统200的示意性框图。qa系统200可以被构造或以其他方式被配置成使用自然语言处理、认知处理、机器学习和机器推理技术生成对用户所选择的问题(查询线)的答案(结论)。图2a描绘了qa系统200的运行时配置,以及图2b描绘了qa系统200的训练配置。

nlp处理平台22可以向nlp核心300提供实例化和/或应用支持(例如,应用编程接口),nlp核心300可以在nlp应用的不同组件中使用,例如qa系统200。在某些实施例中,nlp核心300和/或其组件可适用于新的话语领域和/或nlp平台22下的新应用,而无需单独训练nlp核心300的组件。下面参考图3详细讨论示例nlp核300。

如图2a所示,可以在运行时将寻求答案的问题205引入qa系统200,例如通过nlp应用的用户界面。问题205可以是动态用户构造的数据库查询和/或可以是先前建立的查询线,其被设计以生成标准和/或通常的输出产品(答案)。

问题分析阶段210可以确定问题205的性质,并且可以采用识别需要特殊处理的问题类型或问题部分的问题分类技术。问题分析阶段210还可以识别问题中的单词或名词短语,其指定问题答案的信息类型,在此称为词汇答案类型(lat)。随后可以通过关于候选答案是否被视为lat的实例的置信度指标(confidencemetric)来对候选答案进行评分。

主要搜索阶段220执行文本语料库280的搜索以获得与问题205有关的信息。文本语料库280可以包含与目标域相关的信息,例如描述或以其他方式指示在特定问题空间(例如,医疗保健,金融等)中出现的问题种类的信息。主要搜索阶段220可以基于问题分析阶段210的结果对文本语料库280进行搜索以找到尽可能多的潜在回答承载内容。主要搜索阶段220可以实现各种搜索技术,包括使用多个具有不同基础方法的文本搜索引擎、文档搜索以及通道搜索、知识库搜索、针对单个问题生成多个搜索查询等。

候选生成阶段230使用由主搜索阶段220生成的结果来产生对问题205的候选答案。候选生成阶段230可以采用适合于所检索的搜索结果的种类的技术。例如,在来自“面向标题”资源的文档搜索结果的情况下,可以提取标题作为候选答案。系统可以基于子串分析或链接分析(如果基础源包含超链接)从相同标题生成多个候选答案变体。段落搜索结果需要对段落文本进行更详细的分析,以确定候选答案。例如,命名实体检测可用于从段落中提取候选答案。一些来源,例如三重存储和反向字典查找,直接产生候选答案作为其搜索结果。

在证据检索阶段240中,候选答案经历严格的评估过程,该过程涉及收集每个候选答案的附加支持证据并应用各种深度评分分析来评估支持证据。证据是支持或驳斥候选答案的信息。例如,如果候选答案在结构、上下文和语义上与收集作为证据的其他使用示例相似,则对于答案正确性的置信度更高。如果没有(或很少)与候选答案匹配的使用示例,则候选的置信度将会较低。

本发明的实施例可以在各种源上实现各种证据收集技术,代表性地在证据语料库290处示出。示例技术在主搜索阶段220中执行段落搜索,其中候选答案被添加为从问题派生的搜索查询中的必需术语。这将在原始问题术语的上下文中检索包含候选答案的段落。支持证据也可能来自其他来源,如三重存储(triplestores)。检索到的支持证据可能会受到深度(精确定位)证据评分操作,这些操作在支持证据的背景下评估候选答案。

答案评分和排名阶段250执行评分算法,其基于由证据检索阶段240检索的证据来确定候选答案是正确的确定程度。qa系统200可以支持许多不同的评分技术,其考虑证据的不同维度并产生对应于证据如何支持对于给定问题的候选答案的程度的分数。基于来自不同类型的来源的证据,这种评分技术可以从形式概率到计数,再到分类特征。评分技术可以考虑诸如段落的谓词-论证结构与问题、通道源可靠性、地理空间位置、时间关系、分类学分类、候选人已知参与的词汇和语义关系、候选人与问题术语、受欢迎程度(或默默无闻)、别名等的相关性。

考虑一个问题,“谁在1974年9月8日被总统赦免”,其被正确回答,“尼克松”,这是生成的候选答案之一。用作证据的检索段落中的一个可以是“1974年9月8日福特赦免尼克松”。举例来说,段落计分器可以计算问题和段落之间常见的反向文档频率(idf)加权术语的数量。另一个段落计分器可以测量问题和段落之间最长的类似子序列的长度。第三种类型的段落评分测量问题和段落的逻辑形式的一致性。逻辑形式是文本的图形抽象,其中节点是文本中的术语,边缘表示语法关系,深层语义关系或两者。在上面的例子中,逻辑形式对齐将nixon识别为段落中的赦免对象,并且问题是要求赦免的对象。根据这一证据,逻辑形式对齐使“尼克松”得分很高。相比之下,像“福特”这样的候选答案将获得与“nixon”几乎相同的分数,用于术语匹配和与此段落的段落对齐,但是会得到较低的逻辑形式对齐分数。

其他类型的记分器使用三重存储中的知识,诸如类型分类法中的包含和不相交的简单推理,以及地理空间和时间推理。地理空间推理可用于检测空间关系的存在或不存在,例如方向性、边界和地质之间的遏制。例如,如果一个问题要求一个亚洲城市,那么空间遏制提供的证据表明北京是一个合适的候选人,而悉尼则不是。类似地,与实体相关联的地理坐标信息可用于计算相对方向性(例如,加利福尼亚是蒙大拿州的sw;gw桥是林肯隧道的n,等等)。

时间推理可用于检测证据中的日期与候选答案相关的日期之间的不一致。例如,为问题而生成的两个最有可能的候选答案,“谁在1594年担任安达卢西亚的税务员”,是“梭罗”和“塞万提斯”。在这种情况下,时间推理被用来排除梭罗因为他出生于1817年,在1594年没有活着;而塞万提斯,是正确答案,他出生于1547年,于1616年去世。

答案评分和排名阶段250可以基于潜在的数十万得分来评估数百个候选答案,以识别给定证据的单个最佳支持候选答案。可以估计对特定候选答案的置信度,即特定答案正确的可能性。由于尽管表面形式非常不同,问题的多个候选答案可能是等同的,但是答案合并可以通过答案评分和排名阶段250来应用,以避免利用候选之间的相对差异的排名技术中的冲突。如果没有这样的答案合并,排名算法可能会比较代表相同答案的多个表面形式,以试图区分它们。然而,证据中通常不同地支持不同的表面形式,并且导致完全不同但可能互补的分数。本发明的实施例应用匹配、归一化和共参考分辨率算法的集合,通过该算法识别等效和相关假设(例如,abrahamlincoln和honestabe)。

如图2所示,qa系统200包括排名模型270,根据该排名模型270对候选答案进行排名并基于其合并得分来估计置信度。本发明的实施例实现机器学习技术,该机器学习技术在具有已知答案的训练问题集上操作,以基于得分训练排名模型270。

训练排名模型270可以通过机器学习技术来实现,该机器学习技术涉及在具有已知答案的训练问题集203上运行系统。该训练问题集203和各个已知答案可以用作基础事实数据209。如图2b所示,可以在训练模式下向qa系统200提供训练问题203。训练问题203可以由qa系统200以与参考图2a中所示的运行时模式描述的方式基本相同的方式处理。然而,答案评分阶段250′放弃候选答案排名并在其输出处提供评分答案207′。得分答案207′被提供给qa训练阶段260,qa训练阶段260应用机器学习技术以基于答案得分和基础事实数据209构建排名模型270。本发明不限于qa训练阶段260所使用的特定机器学习技术。在阅读本公开后,具有机器学习技能的人可以认识到可以结合本发明使用的各种技术而不脱离其预期范围。

图3是可以在本发明的实施例中使用的示例nlp核心300的框图。如图中所示,nlp核心300可以是nlp核心组件集310:标记器(tokenizer)组件310a;词性(pos)标注器(tagger)组件310b;句法解析器组件310c;命名实体识别器(ner)组件310d;关系检测器组件310e和共参考分解器组件310f。本发明不限于图3中所示的特定nlp核心组件310。它们是nlp平台22可能支持的常用nlp过程的适当示例,用于各种nlp应用。另外,nlp核心组件310可以通过公知的算法和技术来实现,包括开源、商业和专有软件包。

示例性标记器组件310a识别和描述(例如通过适当构造的信息对象100)包含在输入文本305中的标记(例如,单词,非单词等)。取决于qa系统200的应用组件,其中利用特定的nlp核心300,可以从问题205(用于问题分析阶段210)、文本语料库280(用于主要搜索阶段220)或证据语料库290(用于证据检索阶段240)获得输入文本305用于由nlp核心300进一步处理。

如图3所示,词性(pos)标注器组件310b可以读取某些已知语言的文本(输入标记)并且可以将词性(partsofspeech)分配给每个单词(和其他标记),例如名词、动词、形容词、副词、名词复数等。

句法解析器组件310c可以分析语音部分以识别语法结构,例如短语、句子等。句法解析器组件330可以确定,例如,哪些单词组合在一起(作为短语)以及哪些单词是动词的主语或宾语。概率解析器使用从先前解析的句子获得的语言知识来尝试产生最可能的新句子分析。

命名实体识别器(ner)组件310d识别命名(例如,人、位置、组织等),数字(例如,金钱、数字、序数、百分比等)和时间(例如,日期、时间、持续时间、设置等)实体。可以使用在各种语料库上训练的序列标注器来识别命名实体。

关系提取器组件310e找到两个实体之间的关系(例如,诸如修饰符和动词主语/对象之类的句法关系,诸如参与者之类的事件帧关系等)大多数问题包含关系,无论它们是句法主语-动词-对象谓词或实体之间的语义关系。

共指解决器组件(coreferenceresolvercomponent)310f找到引用文本中的相同实体的所有表达。例如,共指关系分解器组件310f可以被配置为在句子“杰克爱他的狗”中识别单词“杰克”和“他的”,指的是同一个人。解决共指(coreferences)的技术通常首先查找与引用表达式兼容的文本中提到的最近的前面的对象。然而,其他共指关系解析技术也可以与本发明结合使用。

如图3所示,每个nlp核心组件310生成或以其他方式产生候选输出,在此代表性地称为候选输出320。例如,标记器组件310a可以产生候选标记320a,pos标注器组件310b可以产生候选词性320b,句法解析器组件310c可以产生候选语法结构320c,命名实体识别器组件310d可以产生候选命名实体320d,关系检测器组件310e可以产生候选关系320e,而共指解决器组件310f可以产生候选等效实体370f。每个候选输出320可以在信息对象100中表示为例如在适用时属性110中的带注释或以其他方式标记的文本,以及作为元数据120。替代地,如图3所示,每个候选输出320可以由一个或多个特征330表征,其可以存储在相应信息对象100的元数据120中。如本文所使用的,“特征”是表示某个实体的计算机可读信息项。在某些实施例中,每个候选输出320可以由组织成特征向量的多个这样的特征来表征。当如此实施时,可以通过分析相应的特征向量来评估每个候选输出320的构成。出于描述的目的,特征330在本文中也将被称为特征向量330,但是本发明不限于向量表示。

特征向量330是关于哪些机器学习技术可以进行的信息性和区分性数据。当使应用适配新域时,应该仔细选择或设计特征向量330以捕获新域的语义,因此,作为训练的结果,与新域相关的候选答案将优选(例如通过加权技术)在其他域中的那些。这些特征向量330和/或与新域相关的特征生成函数可以被构造或以其他方式配置为域模型28的一部分。

如图3所示,由任何nlp核心组件310针对单个输入产生的候选输出320的数量可以与由其他nlp核心组件310产生的候选输出320的数量无关。由单个nlp核心组件310生成或以其他方式产生的候选输出320的数目可以是用户可配置的参数。

当来自一个nlp核心组件310的候选输出320对应于qa系统200的输出处的正确答案207时,qa系统200的后续阶段中的nlp核心300的所有候选输出320也必须是正确的。可以优先考虑这些候选输出320,例如通过适当的加权。当候选输出320产生不正确答案207时,则该输出320在qa系统200的另一个阶段中产生一些不正确的候选输出320。因此,可以通过向其应用合适的权重来避免违规的原始候选输出320。

本发明的实施例训练、配置和利用nlp核心300的组件310以产生候选输出320,其更可能导致对问题的正确答案并且减少不太可能导致正确答案的候选输出320的数量。这种培训通常通过域主题专家和信息工程师的手工技术来实现。有利地,本发明的实施例使用来自应用的输出(例如,qa系统200)的反馈来实现这种训练。

图4a和4b中,这里统称为图4,是本发明的示例性实施例中的qa系统200的示意性框图,其中图4a描绘了训练模式,而图4b描绘了运行时模式。在图4a的训练模式中,使用来自qa系统200自身的输出的反馈来训练qa系统200的每个阶段的每个nlp核心组件310。如果nlp核心组件310的候选输出320导致由qa系统200产生正确答案,则候选输出320和/或其代表性特征可以接收优先处理,例如通过较高权重。在某些实施例中,允许每个nlp核心组件310的候选输出320通过qa系统200传播,并且可以链接到来自qa系统200的答案,以确定基于那些候选者为训练问题205产生什么答案207。可以根据qa训练阶段260实施的每个qa训练过程来评估候选答案。除了训练排名模型270之外,qa训练阶段260可以向适配阶段450提供信息,该适配阶段450更新正在受训的nlp核心组件310的适配模型420。

适配阶段450表示应用输出(例如,代表性地称为应答集430的应答集430a-430c)及其与基础事实数据209的关系用于训练各个nlp核心组件310的机制。可以有利地构造或以其他方式配置自适配阶段450,以产生、修改和维护自适配模型420,nlp核心组件310利用该自适配模型420在新域或应用中操作。例如,自适配模型420可以包含权重向量422,当通过使用权重向量422的加权函数将其应用于候选输出320或其特征向量时,最有可能在最终应用输出处产生正确答案的候选输出320优先于在应用输出处不太可能产生正确答案的候选输出320。

如图4a所示,来自新域的训练问题203可以被提供给qa分析阶段210,并且解析树集410a-410c,在本文中代表性地称为解析树410,由qa分析阶段210的句法解析器组件310c产生。在所示的示例中,解析树410是句法解析器310c的候选输出,并且表示语法链接的文本项,例如,短语、句子等。每个解析树410可以由对应的候选特征向量415a-415c表示,在此代表性地称为特征向量415。在本发明的实施例中,每个候选特征向量415可以通过根据nlp应用的输出(例如,qa系统200)配置的合适的函数或加权技术来变换。在一些实施例中,可以通过权重向量422来实现变换,当应用于候选特征向量415时,例如通过点积,产生分数,该分数指示特定候选解析树410(以及对应的特征向量415)如何通过与基础事实数据209的比较确定的在应用的输出处产生正确答案。

可以通过qa系统200的剩余处理操作正常地传送每个候选输出410以产生相应的答案集430。在本发明的某些实施例中,每个候选解析树410可以单独地并且与其他候选解析树410分开地传播通过qa系统200以仅产生对应的答案集430。当如此体现时,相应答案集430中的答案与基础事实数据209进行比较和排序,例如通过qa训练阶段260。基于这样的分析,qa训练阶段260可以向适配阶段450提供关于是否根据具有一定置信度的基础事实数据209回答问题的指示。因此,自适配阶段450可确定合适的加权方案,例如,加权向量422和/或加权函数,其例如增加导致正确答案的候选特征向量415的得分,并减小导致错误答案的候选特征向量415的得分。

在本发明的某些实施例中,适配阶段450使用特征向量415的二进制类别标签(正确/不正确)来实现逻辑回归技术。逻辑回归可用于对给定特征向量将在qa系统200的输出处产生正确答案的概率建模。可以在建模统计上使用梯度下降技术以确定权重向量422,其在给定特征向量415的情况下产生应用输出(正确答案)的最佳预测器。这样的权重向量422可以被存储或以其他方式成为适配模型420的一部分。

在运行时,如图4b所示,每个nlp核心组件310可以被构造或以其他方式配置成根据适配模型420为每个输入项产生候选输出集410。即,语法分析器310c的输出由适配的特征向量415′表示,而不是图4a中所示的相应特征向量415。在某些实施例中,这通过权重向量422对特征向量415进行加权以产生相应的适配特征向量415′来实现。在某些实施例中,为每个输出410计算得分417,并且可以将具有最高得分417的候选输出410的适配特征向量415′提供给qa系统200的剩余处理。

根据一些标准,一个或多个nlp核心组件310的候选输出320可以是相关的。例如,句法解析器310c可以被配置为在其输出处产生前n个排序的分析树作为其候选输出。在本发明的某些实施例中,使一个或多个nlp核心组件310的候选输出320成为彼此的变体。在其他实施例中,建立特定于域的规则,其突变或扰乱输入数据以生成候选输出320。可以建立语言规则,其说:“如果介词短语附加到该输入分析树中的名词,则分离介词短语并将其连接到最近的′祖先′名词短语,如果可用。“当适用于候选输入解析树时,此规则生成一个新的候选解析树,其可以补充语法分析器组件310c的候选输出集中的原始分析树。可以类似地构造和应用其他nlp核心组件310的规则。例如,可以为ner组件310d建立规则,由此通过增加/减小跨度大小或通过改变实体名称标签来改变或扰乱现有实体名称,例如,可以建立规则,为ner组件310d生成的每个personner跨度产生company候选ner跨度。

本发明不限于实现本文描述的适配的特定机制。例如,在某些实施例中,nlp核心组件310可以构造或以其他方式配置有内部适配和/或机器学习机制。在其他实施例中,nlp核心组件310可以是商品组件,其通过跨应用输出和nlp核心组件覆盖在应用上的机器学习适配层来实现适配。在阅读本公开后,具有适配系统技能的人员将认识到可以通过其实现本文描述的适配的许多不同配置。

在前述示例中,每个nlp核心组件310独立于其他nlp核心组件310进行训练。然而,在某些实现中,一个nlp核心组件310的输出取决于另一个nlp核心组件310的输出。本发明的某些实施例实现了可以考虑这种依赖性的技术。

图5是通过本发明的实施例训练和利用从属nlp核心组件310的概念框图。在所示的示例中,假设ner组件310d的输出取决于由句法解析器组件310c生成或以其他方式产生的输出。另外,假设ner组件310d(或任何其他nlp核心组件310)可以被配置为针对在其输入处提供的每个特征向量产生可选数量的候选输出320。如图5所示,示例ner组件310d被配置为从每一个(1)输入产生三(3)个候选输出320,其是句法解析器组件320c的输出。句法解析器组件310c可以从问题205产生三(3)个分析树510a-510c,在此代表性地称为分析树510。由于对于每个解析树510(或其特征向量表示),ner组件310d产生三(3)个认识的实体名称520(或其特征向量表示),ner组件310d产生总共九(9)个候选认识的实体名称520a-520i。在某些实施例中,可以例如在相应信息对象100的元数据120中识别从相同分析树510分支的认识的实体名称520。因此,每个候选认识的实体名称520的原始分析树510可以被识别。

在某些实施例中,为了训练的目的,通过qa系统200的剩余处理阶段,九(9)个实体名称520被传送(代替通过qa系统200的处理阶段独立地传送解析树和实体名称)。)使得能够实现多个组件的集体适配。ner310d的候选实体名称520可以与来自应用的输出相关联,指示在qa系统200的输出处是否从该特定候选实体名称520产生了正确答案。在图5中,认识的实体名称520上的加号(+)表示正确的答案结果,以及认识的实体名称520上的减号(-)表示不正确的答案结果。如图5所示,解析树510a经由ner组件310d产生两(2)个认识的实体名称520a和520b,其导致在qa系统200的输出处生成正确答案,并且导致生成不正确答案的一(1)个实体名称520c。解析树510c经由ner组件310d产生一(1)个实体名称520g,其导致正确答案,以及导致错误答案的两个(2)实体名称520h和520i。

基于图5中所示的结果,被标记为产生正确答案的解析树510a可被认为比解析树510c更准确,解析树510c产生更少的正确答案。因此,对于由语法分析器310c生成而不是直接训练案例,解析树510a和/或其特征可以更优选地在句法解析器310c的输出处被加权,并且解析树510c可以被较不优选地加权。在语法分析树510b中没有认识的实体名称520d-520f具有起源(parentage),导致正确的答案。因此,解析树510b可以被加权得非常低。这种加权可以分别反映在用于句法解析器组件310c和ner组件310d的组件适配模型420c和420d中。

在图5中,针对给定问题205产生多个解析树510,并且对于每个解析树510,产生多个实体名称输出520。当由应用(例如,qa系统200)处理时,每个候选输出320(例如,每个解析树510和每个实体名称520)最终导致qa系统200作为整体的不同输出答案。因此,代替通过系统从问题205到答案207的单个路径,本发明的实施例创建许多(在所示示例中为九(9))到答案的路径。在整个系统中许多不同组件的通用情况下,可以创建数百(或数千)个到不同答案的这种路径。但是,从图5中可以观察到,解析树510的一些子集最终导致qa系统200产生正确的答案,即图5中标有加号(+)的路径,以及解析树510的另一子集最终导致qa系统200产生错误的答案,即标记有减号(-)的路径。与加号(+)相关联的所有候选输出310可以用作机器学习目的的正例,并且与减号(-)相关联的所有候选可以用作反例。

在上面的乘法场景中,即来自句法解析器组件310c的三(3)个结果x来自ner组件310d的三(3)个结果,候选输出的数量可以非常快速地增长。在许多实际应用中,每个nlp核心组件310产生的结果的数量通常远大于三(3)。当本发明被推广到许多nlp核心组件310的堆栈时,每个nlp核心组件310为来自上游nlp核心组件310的每个输入产生候选输出集320,很容易认识到,通过qa系统200的答案路径的数量可以变成非常非常大量的路径。然而,如果仅那些许多路径的子集与阈值成功可能性相关联,则移除具有低分数的那些路径,同时可能不提高本发明的适配技术的效率,可以显著地提高适配速度。为了减少评估大量路径的负担,可以部署波束搜索修剪或类似技术。在某些实施例中,这种波束搜索修剪将来自堆栈中的每个nlp核心组件310的候选输出320的总数限制为特定数量n(例如,3)。在某些实施例中,在使用评分函数(例如点积)对它们进行排名之后,多个候选输出320的前n(例如,3)个。另一个修剪实现确定某个输入(解析树)是否不产生产生正确答案的一定数量的从属候选输出(认识的实体名称)。

图6a-6b分别是训练过程600和运行时过程650的流程图,通过它们可以体现本发明。如图6a中所示,示例性训练过程600可以在操作605中由第一nlp核心组件生成多个候选输出。在某些实施例中,每个nlp核心组件被构造或以其他方式配置为生成作为主要输出的小变体的多个候选输出。这可以通过新创建的规则或通过重新配置现有nlp组件来完成。

在操作610中,可以为每个候选输出定义特征,例如特征向量。在操作615,将第一候选输出提供给应用以进行处理,并且在操作620中,确定针对该候选输出的应用输出是否与基础事实数据匹配。如果是,则应用标签,指示相应的候选输出产生正确的答案。否则,如果应用输出与在操作620中确定的基础事实数据不匹配,则应用标签,指示相应的输出产生不正确的答案。在操作635中,确定是否所有候选输出都已通过应用传播,并且如果否,则示例过程600转换回操作615,由此通过应用传播下一候选输出。如果所有候选输出已经通过应用传播,如在操作635所确定的,则过程600转换到操作640,通过该操作,为组件适配模型确定权重向量,通过该权重模型,由该组件生成的特征或特征集导致基础事实,优选地,对不会导致基本事实的特征和特征集进行加权。如上所述,这种加权确定可以通过使用梯度下降的逻辑回归来实现。在操作645中,确定是否已经评估了来自所有nlp核心组件的候选输出。如果是,则训练过程600可以终止;否则,训练过程600可以转换回操作605,由下一个nlp核心组件生成候选输出。

如图6b所示,在操作655的运行时,运行时过程650可以在第一nlp核心组件处生成与应用输入(问题)相关的多个候选输出。在操作中,产生对应于每个候选输出的特征。在操作665中,在训练期间确定的权重向量从组件适配模型应用于特征向量。在操作670,从适配特征向量计算得分,并且在操作675,最高得分候选输出通过应用传播以生成其输出。

客户端系统14使用户能够向服务器系统12提交文档(例如,训练问题207、问题205、基础事实数据209等)。服务器系统包括nlp平台22,用于将非结构化信息处理成结构化信息和否则,使用其可适配组件(例如,nlp核心组件310)来支持nlp应用的执行。数据库系统(例如db24)可以存储用于分析的各种信息(例如,信息对象、基础事实数据、证据、模型等)。数据库系统可以由任何传统或其他数据库或存储单元实现,可以是服务器系统12和客户端系统14的本地或远程,并且可以经由任何适当的通信介质(例如,局域网(lan),宽的区域网络(wan)、互联网、硬线、无线链路,内联网等)通信。客户端系统可以呈现图形用户(例如,gui等)或其他界面(例如,命令行提示,菜单屏幕等)以从用户请求关于分析和用户查询线的信息,并且可以提供包括分析结果(例如,文本分析、答案等)的报告。

nlp平台22可以包括一个或多个模块或单元,以执行上述本发明实施例的各种功能。各种组件(例如,问题分析组件210,主要搜索组件220、候选生成组件230、证据检索组件240、答案评分和排名组件250、qa训练组件260、适配组件450、nlp核心组件310等)可以通过任何数量的软件和/或硬件模块或单元的任何组合来实现,并且可以驻留在服务器和/或客户端系统的存储器内以供处理器执行。

应当理解,上面描述的和附图中示出的实施例仅表示实现可适配nlp组件的训练和利用的许多方式中的一些。

本发明实施例的环境可包括以任何期望的方式布置的任何数量的计算机或其他处理系统(例如,客户端或最终用户系统,服务器系统等)和数据库或其他存储库,其中存在本发明的实施例可以应用于任何期望类型的计算环境(例如,云计算、客户端-服务器、网络计算、大型机、独立系统等)。本发明实施例采用的计算机或其他处理系统可以由任何数量的任何个人或其他类型的计算机或处理系统(例如,台式机、膝上型计算机、pda、移动设备等)实现,并且可以包括任何商业可用的操作系统以及商用和定制软件的任何组合(例如,浏览器软件、通信软件、服务器软件、nlp处理模块等)。这些系统可以包括任何类型的监视器和输入设备(例如,键盘、鼠标、语音识别等)以输入和/或查看信息。

应当理解,本发明实施例的软件(例如,nlp平台、nlp应用、nlp应用组件、nlp应用培训组件,适配组件等)可以以任何期望的计算机语言实现,并且可以由计算机领域的普通技术人员基于说明书中包含的功能描述和附图中所示的流程图来开发。此外,本文对执行各种功能的软件的任何引用通常是指在软件控制下执行那些功能的计算机系统或处理器。或者,本发明实施例的计算机系统可以由任何类型的硬件和/或其他处理电路实现。

计算机或其他处理系统的各种功能可以以任何方式分布在任何数量的软件和/或硬件模块或单元,处理或计算机系统和/或电路中,其中可以处置计算机或处理系统。彼此本地或远程地通过任何合适的通信介质(例如,lan、wan、内联网、因特网、硬连线、调制解调器连接、无线等)进行通信。例如,本发明实施例的功能可以以各种方式分布在各种最终用户/客户端和服务器系统和/或任何其他中间处理设备中。可以以实现本文描述的功能的任何方式修改上面描述的和流程图中示出的软件和/或算法。另外,流程图或描述中的功能可以以实现期望操作的任何顺序执行。

本发明实施例的软件(例如,nlp平台、nlp应用、nlp应用组件、nlp应用培训组件、适配组件等)可以在固定或便携式程序产品装置或设备的非暂时性计算机可用介质(例如,磁性或固定或便携式程序产品装置或设备的光学介质,磁光介质,软盘,cd-rom,dvd,存储器设备等)上获得,以与独立系统或通过网络或其他通信介质连接的系统一起使用。

通信网络可以由任何数量的任何类型的通信网络(例如,lan、wan、因特网、内联网、vpn等)实现。本发明实施例的计算机或其他处理系统可以包括任何传统或其他通信设备,以通过任何传统或其他协议在网络上通信。计算机或其他处理系统可以利用任何类型的连接(例如,有线、无线等)来访问网络。本地通信媒体可以由任何合适的通信媒体(例如,局域网(lan)、硬件、无线链路、内联网等)实现。

数据库系统可以使用任意数量的任何常规或其他数据库,数据存储或存储结构(例如,文件、数据库、数据结构、数据或其他存储库等)来存储信息(例如,信息对象、答案、证据,模型等)。数据库系统可以由任何数量的任何常规或其他数据库、数据存储或存储结构(例如,文件、数据库、数据结构、数据或其他存储库等)来实现,以存储信息(例如,信息对象、答案、证据、模型等)。数据库系统可以包括在服务器和/或客户端系统内或耦合到服务器和/或客户端系统。数据库系统和/或存储结构可以远离计算机或其他处理系统或在计算机或其他处理系统本地,并且可以存储任何期望的数据(例如,信息对象、结论、证据、模型等)。

本发明实施例可以采用任何类型的任何数量的用户界面(例如,图形用户界面(gui)、命令行、提示等)来获得或提供信息(例如,训练问题207、问题205、基础事实数据209等),其中界面可包括以任何方式排列的任何信息。界面可以包括任何数量的任何类型的输入或致动机构(例如,按钮、图标、字段、框、链接等),其设置在任何位置以输入/显示信息并通过任何合适的输入设备(例如,鼠标、键盘等)启动期望的动作。界面屏幕可以包括任何合适的致动器(例如,链接、标签等),以便以任何方式在屏幕之间导航。

报告可以包括以任何方式布置的任何信息,并且可以基于规则或其他标准(例如,约束、用户简档等)来配置以向用户提供期望的信息(例如,文本分析、答案等)。

本发明实施例不限于上述特定任务或算法,而是可以用于其他领域,例如财务、法律分析等。

本文使用的术语仅用于描述特定实施方案的目的,并不意图限制本发明。如这里所使用的,单数形式“一”,“一个”和“该”旨在也包括复数形式,除非上下文另有明确说明。将进一步理解,当在本说明书中使用时,术语“包括”、“包含”、“具有”、“带有”等等,指定所述特征、整数、步骤、操作、元素和/或组件的存在,但不排除一个或多个其他特征、整数、步骤、操作、元素、组件和/或组的出现或添加。

以下权利要求中的所有装置或步骤加功能元件的对应结构、材料、动作和等同物旨在包括用于结合具体要求保护的其他要求保护的元件执行功能的任何结构、材料或动作。已经出于说明和描述的目的给出了对本发明的描述,但是并不旨在穷举或将本发明限于所公开的形式。在不脱离本发明的范围的情况下,许多修改和变化对于本领域普通技术人员来说是显而易见的。选择和描述实施例是为了最好地解释本发明的原理和实际应用,并且使本领域普通技术人员能够理解本发明的各种实施例,其具有适合于预期的特定用途的各种修改。

已经出于说明的目的给出了对本发明的各种实施例的描述,但是并不旨在穷举或限制于所公开的实施例。在不脱离所描述的实施例的范围的情况下,许多修改和变化对于本领域普通技术人员来说是显而易见的。选择这里使用的术语是为了最好地解释实施例的原理,实际应用或对市场中发现的技术的技术改进,或者使本领域其他技术人员能够理解本文公开的实施例。

在任何可能的技术细节结合层面,本发明可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本发明的各个方面的计算机可读程序指令。

计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是-但不限于-电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、静态随机存取存储器(sram)、便携式压缩盘只读存储器(cd-rom)、数字多功能盘(dvd)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。

这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。

用于执行本发明操作的计算机程序指令可以是汇编指令、指令集架构(isa)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、集成电路配置数据或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言一诸如smalltalk、c++等,以及过程式编程语言一诸如“c”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络一包括局域网(lan)或广域网(wan)一连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(fpga)或可编程逻辑阵列(pla),该电子电路可以执行计算机可读程序指令,从而实现本发明的各个方面。

这里参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本发明的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。

这些计算机可读程序指令可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其他可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。

也可以把计算机可读程序指令加载到计算机、其他可编程数据处理装置、或其他设备上,使得在计算机、其他可编程数据处理装置或其他设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其他可编程数据处理装置、或其他设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。

附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

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