会员体验
专利管家(专利管理)
工作空间(专利管理)
风险监控(情报监控)
数据分析(专利分析)
侵权分析(诉讼无效)
联系我们
交流群
官方交流:
QQ群: 891211   
微信请扫码    >>>
现在联系顾问~
首页 / 专利库 / 人工智能 / 训练数据 / 训练数据更新

训练数据更新

阅读:221发布:2020-05-11

IPRDB可以提供训练数据更新专利检索,专利查询,专利分析的服务。并且包括第一组问题和第二组问题的训练数据由计算机读取到存储器中,每个问题与答案相关联。确定对于每个问题包括问题的答案的答案类别,其中每个答案类别具有与每个问题相关联的类别标签,并且每个问题相应地被分类到相应的答案类别中。分别生成第一训练数据和第二训练数据,其包括用于第一分类器和第二分类器的第一组问题和第二组问题以及对应的答案类别。第一组问题和第二组问题中的每个问题分别由第二分类器和第一分类器分类,其中分类生成对应的分类结果。基于分类结果更新第一训练数据或第二训练数据,以分别生成对应的所更新的第一训练数据或第二训练数据。,下面是训练数据更新专利的具体信息内容。

1.一种用于更新在自然语言分类器中使用的训练数据的计算机实现的方法,所述方法包括:将所述训练数据读取到存储器中,所述训练数据包括第一组问题和第二组问题,其中每个问题与答案相关联;

确定答案类别,所述答案类别对于第一组问题和第二组问题中的每个问题包括问题的答案,所述答案类别具有与每个问题相关联的类别标签,并且每个问题被分类到相应的答案类别中;

分别生成第一训练数据和第二训练数据,第一训练数据和第二训练数据包括用于第一分类器和第二分类器的第一组问题和第二组问题以及对应的答案类别;

由第二分类器对第一组问题中的每个问题进行分类,并且由第一分类器对第二组问题中的每个问题进行分类,每个问题被分类到对应的答案类别中,其中由第一分类器和第二分类器进行的分类各自生成相应的分类结果;

基于所述分类结果更新第一训练数据和第二训练数据中的一个或多个;以及分别生成用于第一分类器和第二分类器的所更新的第一训练数据和第二训练数据。

2.根据权利要求1所述的计算机实现的方法,所述方法还包括:

分别基于所更新的第一训练数据和第二训练数据来更新第一分类器和第二分类器之一。

3.根据权利要求2所述的计算机实现的方法,其中,迭代进行所述分类、更新第一训练数据和第二训练数据以及更新第一分类器和第二分类器之一中的每个,直到匹配度超过预定阈值,所述匹配度是对于包括答案的答案类别、关于在所述分类之前和之后的第一组问题和第二组问题之一中的每个问题而确定的。

4.根据权利要求2所述的计算机实现的方法,其中,迭代进行所述分类、更新第一训练数据和第二训练数据以及更新第一分类器和第二分类器之一中的每个,直到连续的匹配度之间的差不超过预定阈值,所述匹配度是对于包括答案的答案类别、关于在所述分类之前和之后的第一组问题和第二组问题之一中的每个问题而确定的。

5.根据权利要求2所述的计算机实现的方法,其中,迭代进行所述分类、更新第一训练数据和第二训练数据以及更新第一分类器和第二分类器之一个中的每个,直到匹配度的移动平均值超过预定阈值,所述匹配度是对于包括答案的答案类别、关于在所述分类之前和之后的第一组问题和第二组问题之一中的每个问题而确定的。

6.根据权利要求1所述的计算机实现的方法,其中,所述分类结果包括与分别由第一分类器和第二分类器关于对应的答案类别对每个问题进行的分类相对应的置信度值,并且其中,当置信度值超过预定阈值时,更新第一训练数据和第二训练数据中的一个或多个。

7.根据权利要求1所述的计算机实现的方法,其中,确定包括问题的答案的答案类别包括:确定包括问题的答案的每个答案类别的置信度值;以及

基于以下之一确定答案类别:具有最高相对置信度值的答案类别,以及具有超过预定阈值的对应置信度值的答案类别。

8.根据权利要求1所述的计算机实现的方法,其中,所述分类结果包括与分别由第一分类器和第二分类器关于对应的答案类别对每个问题进行的分类相对应的置信度值,并且其中,更新第一训练数据和第二训练数据中的一个或多个包括:在对应的置信度值超过预定阈值的情况下,将问题从一个答案类别重新分类到另一个答案类别中。

9.根据权利要求1所述的计算机实现的方法,所述方法还包括:

分别基于所更新的第一训练数据和第二训练数据之一来更新第一分类器和第二分类器中的一个或多个。

10.根据权利要求1所述的计算机实现的方法,所述方法还包括:

将一组问题划分成第一组问题和第二组问题;以及

将每个问题与答案相关联。

11.根据权利要求10所述的计算机实现的方法,其中,所述分类结果包括与分别由第一分类器和第二分类器关于对应的答案类别对每个问题进行的分类相对应的置信度值,并且其中,迭代进行将每个问题与答案相关联,直到出现关于对应的答案类别对问题进行的分类包括不超过预定阈值的最低相对置信度值。

12.根据权利要求10所述的计算机实现的方法,其中,所述分类结果包括与分别由第一分类器和第二分类器关于对应的答案类别对每个问题进行的分类相对应的置信度值,并且其中,将每个问题与答案相关联包括:使用搜索引擎和答案语料库中的一个或多个。

13.根据权利要求12所述的计算机实现的方法,其中,答案是具有最高相对置信度值的答案类别中的,并且其中,答案是使用所述搜索引擎和所述答案语料库中的一个或多个来识别的。

14.根据权利要求11所述的计算机实现的方法,其中,迭代进行将每个问题与答案相关联,直到出现关于对应的答案类别对问题进行的分类包括超过最低相对置信度值的相对置信度值。

15.一种用于更新在自然语言分类器中使用的训练数据的计算机系统,所述计算机系统包括:一个或多个计算机处理器、一个或多个计算机可读存储介质、以及存储在一个或多个计算机可读存储介质上以供所述一个或多个计算机处理器中的至少一个计算机处理器执行的程序指令,所述程序指令在由所述一个或多个计算机处理器中的所述至少一个计算机处理器执行时,使得所述计算机系统执行用于更新训练数据的方法,所述方法包括:将所述训练数据读取到存储器中,所述训练数据包括第一组问题和第二组问题,其中每个问题与答案相关联;

确定答案类别,所述答案类别对于第一组问题和第二组问题中的每个问题包括问题的答案,所述答案类别具有与每个问题相关联的类别标签,并且每个问题被分类到相应的答案类别中;

分别生成第一训练数据和第二训练数据,第一训练数据和第二训练数据包括用于第一分类器和第二分类器的第一组问题和第二组问题以及对应的答案类别;

由第二分类器对第一组问题中的每个问题进行分类,并且由第一分类器对第二组问题中的每个问题进行分类,每个问题被分类到对应的答案类别中,其中由第一分类器和第二分类器进行的分类各自生成相应的分类结果;

基于所述分类结果更新第一训练数据和第二训练数据中的一个或多个;以及分别生成用于第一分类器和第二分类器的所更新的第一训练数据和第二训练数据。

16.根据权利要求15所述的计算机系统,所述方法还包括:

分别基于所更新的第一训练数据和第二训练数据来更新第一分类器和第二分类器之一。

17.一种计算机程序产品,包括:

一个或多个计算机可读存储设备和存储在所述一个或多个计算机可读存储设备中的至少一个上以供计算机系统中的至少一个或多个计算机处理器执行的程序指令,所述程序指令在由所述一个或多个计算机处理器中的至少一个执行时,使得所述计算机系统执行用于更新训练数据的方法,所述方法包括:将所述训练数据读取到存储器中,所述训练数据包括第一组问题和第二组问题,其中每个问题与答案相关联;

确定答案类别,所述答案类别对于第一组问题和第二组问题中的每个问题包括问题的答案,所述答案类别具有与每个问题相关联的类别标签,并且每个问题被分类到相应的答案类别中;

分别生成第一训练数据和第二训练数据,第一训练数据和第二训练数据包括用于第一分类器和第二分类器的第一组问题和第二组问题以及对应的答案类别;

由第二分类器对第一组问题中的每个问题进行分类,并且由第一分类器对第二组问题中的每个问题进行分类,每个问题被分类到对应的答案类别中,其中由第一分类器和第二分类器进行的分类各自生成相应的分类结果;

基于所述分类结果更新第一训练数据和第二训练数据中的一个或多个;以及分别生成用于第一分类器和第二分类器的所更新的第一训练数据和第二训练数据。

18.根据权利要求17所述的计算机程序产品,所述方法还包括:

分别基于所更新的第一训练数据和第二训练数据来更新第一分类器和第二分类器之一。

说明书全文

训练数据更新

背景技术

[0001] 本发明一般涉及自然语言理解,尤其涉及在自然语言分类器(NLC)中使用的训练数据。
[0002] NLC通过向软件应用提供在语义上和上下文上理解和解释自然语言的能力,使得应用能够使用理解和解释来执行各种任务,从而在各种领域中找到效用。NLC在处理所接收的文本(包括自然语言的单词或字符)时使用机器学习(ML)算法,以确定并返回所接收的文本可能最所属的匹配类别或种类。NLC在训练期间从“示例数据”学习,以在使用期间响应于“新数据”正确地返回信息。
[0003] NLC可用于提供客户支持。例如,NLC可以用于将从客户或用户接收的问题预测性地路由到适当的客户支持人员或部门以便回答。通过将语音到文本功能并入到使用NLC的软件应用中,有声的问题也可以被预测性地路由。此外,NLC可以用于将问题与答案或主题进行匹配,用于按照严重性对问题进行分类,等等。已经开发了各种NLC以用在各种软件应用、服务和产品中,例如用在 的WatsonTM公司、 的 和 的中。
[0004] 建立NLC以供使用的处理通常包括:准备训练数据,这可能需要识别类别标签,收集代表性文本,并将类别与文本进行匹配;训练NLC,这可能需要通过应用编程接口(API)将所准备的训练数据上传到NLC,以便由NLC的ML算法进行处理;查询或测试所训练的NLC,这可能需要通过API向所训练的NLC发送文本,并作为回报而接收包括所发送的文本可能最属于的匹配类别或种类的结果;评估该结果;基于所评估的结果来更新初始准备的训练数据;以及根据需要,使用所更新的训练数据来重新训练NLC。
[0005] 一种有效地应用对诸如文本形式的自然语言的表达实例的理解或解释来执行任务的方法包括:确定表达实例的语义和意图,然后基于该确定将表达实例分类到一个或多个类别中。所执行的任务可以包括例如自动文本摘要、情感分析、主题提取、关系提取等。
[0006] 在使用期间,NLC可以接收文本以确定所接收的文本最属于一个或多个类别中的哪个。文本可以表示问题或查询,并且类别可以表示对应答案的组或类型。在示例中,类别可以由与一组或一类问题相对应的一组或一类答案形成。在该示例中,NLC可以基于所接收问题的特性来确定一组或多组答案中的哪组答案最可能包括关于所接收问题的相关答案。NLC可以根据基于在训练期间上传到NLC的所准备的训练数据而开发和生成的模型来操作。
训练数据可以由诸如文本语料库等语料库形成。语料库可以由文本、特征向量、数字集等形成。在该示例中,语料库的文本可以包括相关答案组以及单独的问题,每个问题包括一个或多个指派(designation),所述一个或多个指派尝试指定每个单独的问题可能最属于哪个相关答案组。
[0007] 通过适当地训练NLC以用于目标业务领域,可以提供例如形成虚拟客户服务代理的自动化系统,该虚拟客户服务代理被配置成在目标业务领域中执行任务,诸如通过回答问题来提供客户支持等。所提供的客户支持的质量等可以取决于在NLC的训练中使用的训练数据的质量和解释精度。
[0008] 准备训练数据以建立用于目标业务领域的NLC的处理可以包括关于目标业务领域识别合适的类别标签并且收集样本文本。在准备训练数据时,目标业务领域的主题专家可以考虑或构想要关于各种类别进行分类的各种样本文本。各种样本文本和类别可以包括例如与预期的最终用户、目标受众等相关的那些样本文本和类别。
[0009] 美国专利9342588、9390378和8234179中的每个描述了开发和完善在训练NLC时使用的训练数据的各种方法,并且通过引用合并于此。Hassan H、Malik等人的非专利文献“用于文本分类的自动训练数据清理”(2011年IEEE第11届数据挖掘研讨会国际会议ICDMW'11论文集,第442-449页,2011年12月11日)描述了另一种训练数据开发和完善方法,并且也通过引用合并于此,以及可以在http://www.cs.columbia.edu/~hhm2104/papers/atdc.pdf获得。

发明内容

[0010] 本发明的各方面涉及用于更新训练数据的方法、系统和计算机程序产品。
[0011] 根据本发明的一方面,提供了一种用于更新在自然语言分类器中使用的训练数据的计算机实现的方法。该方法可以包括将训练数据读取到存储器中,所述训练数据包括第一组问题和第二组问题,其中每个问题与答案相关联。确定答案类别,所述答案类别对于第一组问题和第二组问题中的每个问题包括问题的答案,所述答案类具有与每个问题相关联的类别标签,并且每个问题被分类到相应的答案类别中。分别生成第一训练数据和第二训练数据,第一训练数据和第二训练数据包括用于第一分类器和第二分类器的第一组问题和第二组问题以及对应的答案类别。第一组问题和第二组问题中的每个问题分别被第二分类器和第一分类器分类,其中所述分类生成对应的分类结果。基于所述分类结果更新第一训练数据或第二训练数据,以分别生成对应的所更新的第一训练数据或第二训练数据。
[0012] 优选地,本发明提供了一种计算机实现的方法,还包括:分别基于所更新的第一训练数据和第二训练数据来更新第一分类器和第二分类器之一。
[0013] 优选地,本发明提供了一种计算机实现的方法,其中,迭代进行所述分类、更新第一训练数据和第二训练数据以及更新第一分类器和第二分类器之一中的每个,直到匹配度超过预定阈值,所述匹配度是对于包括答案的答案类别、关于在所述分类之前和之后的第一组问题和第二组问题之一中的每个问题而确定的。
[0014] 优选地,本发明提供了一种计算机实现的方法,其中,迭代进行所述分类、更新第一训练数据和第二训练数据以及更新第一分类器和第二分类器之一中的每个,直到连续的匹配度之间的差不超过预定阈值,所述匹配度是对于包括答案的答案类别、关于在所述分类之前和之后的第一组问题和第二组问题之一中的每个问题而确定的。
[0015] 优选地,本发明提供了一种计算机实现的方法,其中,迭代进行所述分类、更新第一训练数据和第二训练数据以及更新第一分类器和第二分类器之一个中的每个,直到匹配度的移动平均值超过预定阈值,所述匹配度是对于包括答案的答案类别、关于在所述分类之前和之后的第一组问题和第二组问题之一中的每个问题而确定的。
[0016] 优选地,本发明提供了一种计算机实现的方法,其中,所述分类结果包括与分别由第一分类器和第二分类器关于对应的答案类别对每个问题进行的分类相对应的置信度值,并且其中,当置信度值超过预定阈值时,更新第一训练数据和第二训练数据中的一个或多个。
[0017] 优选地,本发明提供了一种计算机实现的方法,其中,确定包括问题的答案的答案类别包括:确定包括问题的答案的每个答案类别的置信度值;以及基于以下之一确定答案类别:具有最高相对置信度值的答案类别,以及具有超过预定阈值的对应置信度值的答案类别。
[0018] 优选地,本发明提供了一种计算机实现的方法,其中,所述分类结果包括与分别由第一分类器和第二分类器关于对应的答案类别对每个问题进行的分类相对应的置信度值,并且其中,更新第一训练数据和第二训练数据中的一个或多个包括:在对应的置信度值超过预定阈值的情况下,将问题从一个答案类别重新分类到另一个答案类别中。
[0019] 优选地,本发明提供了一种计算机实现的方法,所述方法还包括:分别基于所更新的第一训练数据和第二训练数据之一来更新第一分类器和第二分类器中的一个或多个。
[0020] 优选地,本发明提供了一种如权利要求1的计算机实现的方法,所述方法还包括:将一组问题划分成第一组问题和第二组问题;以及将每个问题与答案相关联。
[0021] 优选地,本发明提供了一种计算机实现的方法,其中,所述分类结果包括与分别由第一分类器和第二分类器关于对应的答案类别对每个问题进行的分类相对应的置信度值,并且其中,迭代进行将每个问题与答案相关联,直到出现关于对应的答案类别对问题进行的分类包括不超过预定阈值的最低相对置信度值。
[0022] 优选地,本发明提供了一种计算机实现的方法,其中,所述分类结果包括与分别由第一分类器和第二分类器关于对应的答案类别对每个问题进行的分类相对应的置信度值,并且其中,将每个问题与答案相关联包括:使用搜索引擎和答案语料库中的一个或多个。
[0023] 优选地,本发明提供了一种计算机实现的方法,其中,答案是具有最高相对置信度值的答案类别中的,并且其中,答案是使用所述搜索引擎和所述答案语料库中的一个或多个来识别的。
[0024] 优选地,本发明提供了一种计算机实现的方法,其中,迭代进行将每个问题与答案相关联,直到出现关于对应的答案类别对问题进行的分类包括超过最低相对置信度值的相对置信度值。
[0025] 根据本发明的一方面,提供了一种计算机系统。计算机系统可以包括一个或多个计算机处理器、一个或多个计算机可读存储介质、以及存储在一个或多个计算机可读存储介质上以供一个或多个计算机处理器中的至少一个执行的程序指令。可以执行程序指令以执行所公开的方法。
[0026] 根据本发明的一方面,提供了一种计算机程序产品。计算机程序产品可以包括一个或多个计算机可读存储设备和存储在一个或多个计算机可读存储设备中的至少一个上以供计算机系统中的至少一个或多个计算机处理器执行的程序指令。程序指令可以由计算机系统中的至少一个或多个计算机处理器执行以执行所公开的方法。

附图说明

[0027] 本公开将参考以下附图在以下优选实施例的描述中提供细节。附图不一定是按比例的。附图仅仅是示意性表示,而不是旨在描绘本发明的特定参数。附图仅旨在描述本发明的典型实施例。在附图中,相同的标号表示相同的元件:
[0028] 图1是描绘根据本发明实施例的计算机系统的框图。
[0029] 图2A、图2B、图2C和图2D各自是描绘根据本发明实施例的用于提供训练数据更新的操作步骤的功能框图。
[0030] 图3是描绘根据本发明实施例的用于更新分类器的操作步骤的功能框图。
[0031] 图4是描绘根据本发明实施例的用于迭代地更新训练数据的操作步骤的功能框图。
[0032] 图5是描绘根据本发明实施例的用于迭代更新训练数据和迭代更新分类器的操作步骤的功能框图。
[0033] 图6A和图6B是描绘根据本发明实施例的用于更新训练数据的处理的流程图。
[0034] 图7是描绘根据本发明实施例的与图6A和图6B的处理有关的系统硬件的整体功能框图。
[0035] 图8A和图8B描绘根据本发明实施例的更新训练数据的工作示例的各方面。
[0036] 图9A和图9B描绘根据本发明实施例的更新训练数据的工作示例的各方面。
[0037] 图10描绘根据本发明实施例的云计算环境。
[0038] 图11描绘根据本发明实施例的抽象模型层。

具体实施方式

[0039] 已经出于说明的目的呈现和公开了本发明的实施例的描述,并且该描述不是旨在是穷举的或限于所公开的实施例。在不偏离所描述的实施例的范围和精神的情况下,许多修改和变化对于本领域的普通技术人员将是明显的。选择在本文中使用的术语是为了最好地解释实施例的原理、实际应用或相对于传统技术的技术改进,或者使本领域的其他普通技术人员能够理解和实践在本文中公开的实施例。
[0040] 如本领域技术人员将理解的,本发明的实施例可以被实现为方法、系统或计算机程序产品。因此,本发明的实施例可以采取完全基于硬件的实施例的形式、完全基于软件的实施例的形式(包括例如固件、驻留软件和微代码等),或者可以采取组合基于软件的方面和基于硬件的方面的实施例的形式,其在本文中可以被统称为“电路”、“模块”或“系统”。
[0041] 如本文中所用的,表述“一/一个”应理解为“至少一个”。表述“包括/包含一/一个”应当理解为“包括/包含至少一个”。表述“包括/包含”应理解为“至少包括/包含”。表达“/”应当理解为“和/或”。
[0042] 为了更清楚地定义本文中所用的术语,下文中提供了术语的示例性定义,其应如本发明所属领域或技术领域的技术人员所知的那样进行广泛解释。
[0043] 如本文中所使用的,术语“训练数据”或“训练数据集”是指输入到诸如自然语言分类器之类的分类器的一组数据和信息。训练数据可以包括文档或文本,其代表已经被映射或标记以指定文档或文本可能与哪个类别相关、对应或以其他方式属于哪个类别的问题、语句(statement)、话语、表达、情感、感叹(exclamation)、命令、概念、构思等。训练数据可以采取例如电子文件或记录的形式。
[0044] 如本文中所使用的,术语“标记”是指将文档或文本与训练数据的类别相关联的处理。
[0045] 如本文中所使用的,术语“类别”是指一个或多个文档或文本与之相关联的离散种类。离散种类可以是或定义为答案、主题、分类法(taxonomy)、领域等的类别、组或类型。
[0046] 如本文中所使用的,术语“训练”是指分类器基于上传到分类器的训练数据开发和生成操作模型的处理。
[0047] 如本文中所使用的,术语“分类器”是指接受未标记文档作为输入并且返回离散类别作为输出的软件组件。分类器可以是自然语言分类器。在关于未标记文档或文本的使用之前,使用包括标记文档或文本的训练数据来训练分类器。在训练之后,分类器可用来根据训练数据对未标记文档或文本进行分类。
[0048] 分类的操作需要理解文本或句子,并且需要大量的劳动相关的资源。此外,由目标业务领域的主题专家进行的分类的质量取决于主题专家在标记每个文档时可用的时间、领域知识量以及经验水平。另外,由于由目标业务领域中的主题专家进行的操作的差异,例如由于执行由主题专家进行的分类的一天中的时间,可能发生分类的波动。因此,使用分类器的分类性能在很大程度上受分类操作的准确性和精度影响。
[0049] 图1是描绘根据本发明实施例的计算机系统的框图。
[0050] 系统(101)可以是例如台式计算机、膝上型计算机、笔记本计算机、平板计算机、上网本计算机、服务器计算机、通用或专用计算机等。服务器计算机可以采取例如机架安装型服务器、刀片型服务器或大型机服务器的形式,并且可以实现例如用于创建和运行一个或多个虚拟机的管理程序。系统(101)可以包括通过总线(104)互连的一个或多个CPU(102)和主存储器(103)。一个或多个CPU(102)可以基于例如32位或64位体系结构。一个或多个CPU(102)可以是例如 的 系列;Intel公司的Core iTM系列、Core 2TM系列、AtomTM系列、XeonTM系列、PentiumTM系列或CeleronTM系列;先进微电子器件(Advanced Micro Devices)公司的PhenomTM系列、AthlonTM系列、TurionTM系列或SempronTM系列。
[0051] 系统(101)可以包括操作系统,诸如提供 Mac 或 处理环境的操作系统。各种软件应用(例如 应用、 虚拟机(VM)、
即时(JIT)编译器(例如 )、其它类型的程序)和任何类型的数据可以存储在
盘(108)中,以便通过主存储器加载和使用。
[0052] 显示器(106)可以是例如液晶显示器(LCD)。显示器(106)可以例如通过显示控制器(105)互连到总线(104)。显示器(106)可以用来显示例如由系统(101)通过例如通信线路(115)经由网络从一个或多个其它计算机接收的信息。诸如盘(108)之类的存储器盘可以采取例如硬盘或SSD的形式。驱动器(109)可以采用例如CD驱动器、DVD驱动器或蓝光盘(BD)驱动器的形式,并且可以通过SATA或IDE控制器(107)互连到总线(104)。各种输入设备(例如键盘(111)或鼠标(112))可以例如通过键盘-鼠标控制器(110)或USB总线(未示出)互连到总线(104)。
[0053] 驱动器(109)可用来将程序(例如根据本发明实施例的计算机程序)安装到系统(101)上。该程序可以是例如从CD-ROM、DVD-ROM或BD可读取和/或可加载到盘(108)、或直接可读取和/或可加载到主存储器(103)的。
[0054] 通信接口(114)可以实现例如 协议。通信接口(114)可以例如通过通信控制器(113)互连到总线(104),以将系统(101)物理地连接到通信线路(115)。通信接口(114)可以提供包括TCP/IP通信协议的网络接口层,以用于实现系统(101)中的通信功能。
通信线路(115)可以是例如有线LAN环境或基于诸如 802.11a/b/g/n之类的无线LAN连接标准的无线LAN环境。
[0055] 在本发明的实施例中,分类器用来生成训练数据。分类器通常可以按惯例来使用,例如,在使用训练数据训练分类器之后。
[0056] 图2A、图2B、图2C和图2各自是描绘根据本发明实施例的用于提供训练数据更新的操作步骤的功能框图。
[0057] 参考图2A,第一代训练数据集可以包括第一训练数据和第二训练数据。在本发明的实施例中,第一代训练数据集可以包括例如形成问题集以及对应候选答案组的文档或文本,或者由所述文档或文本形成。在该实施例中,该问题集可以包括例如形成诸如可以被输入到搜索引擎的搜索查询或问题的文本。在该实施例中,问题可以包括可关于相关候选答案的类别或组而定义的类别标签并且与该类别标签相关联。类别标签可以指定问题所属的相关候选答案的类别或组。相关候选答案组可以包括与共同主题、领域等相关的答案。在该实施例中,可以使用问题集中的问题的所识别的特征作为用于将该问题关联到对应相关候选答案组的基础。在实施例中,第一代训练数据集可以例如被初始地准备并且输入到系统(101)以供分类器进行处理。在该实施例中,第一代训练数据集可以例如由目标业务领域的主题专家来准备。在各种实施例中,第一代训练数据集可以以其他方式包括形成语句、话语、表达、情感、感叹、命令、概念等的相关集合的文档或文本,或者由所述文档或文本形成。
[0058] 在示例中,第一代训练数据集包括候选答案组,每个候选答案组由相应类别标签来定义。在该示例中,第一代训练数据集包括问题集,该问题集包括5至10个问题,每个问题关于相关候选答案组中的组被标记。在训练数据被用来训练包括具有小量或少量问题的问题集的分类器的情况下,过度训练或过度拟合可能作为关于分类器的结果而发生,从而导致分类器在使用期间产生各种输出误差(诸如以解释误差或匹配误差的形式)。在训练数据包括具有大量或多量问题的问题集的情况下,在训练期间对计算资源的需求可能很高。
[0059] 参考图2A,问题集可以包括二十个问题:问题_001到问题_020(211)。该问题集可以存储在例如存储装置(291)中,并且通过主存储器(103)或盘(108)来实现。在本发明的实施例中,每个候选答案组可以基于或以其他方式从对应语料库(例如语料库(292))中提取。在该实施例中,语料库(292)可以是例如包括候选答案的集合的答案语料库。一个或多个候选答案可以对应于问题集中的问题。语料库(292)可以是例如FAQ或手册。如图2A中所示,八个候选答案类别(214)可以各自由类别标签来定义,分别用答案_α、答案_β、答案_γ、答案_δ、答案_ε、答案_ζ、答案_η和答案_θ来表示。语料库(292)可以存储在例如存储装置(292)中,并且通过主存储器(103)或盘(108)来实现。可以由系统(101)来收集问题集和候选答案组。
[0060] 在步骤271,系统(101)可以将问题集划分为互斥的两组或更多组问题。例如,可以基于与每个问题相关联的标识符或唯一索引来划分问题集。另外,例如,可以基于每个问题的所识别的特征来划分问题集。可以选择问题集的划分方式作为设计选择的问题。如图2A中所示,两个组可以包括组_1(221)和组_2(231)。组_1(221)可以包括问题_001到问题_010(212)中的每个。组_2(231)可以包括问题_011到问题_020(213)中的每个。
[0061] 在步骤272,系统(101)可通过语料库(292)识别与组_1(221)中的每个问题相对应的候选答案。例如,可以通过实现搜索引擎(未示出)来识别候选答案。
[0062] 在步骤273,系统(101)可输出与组_1(221)中的每个问题相对应的一个或多个所识别的候选答案。该输出可以包括每个所识别的候选答案的置信度,所述置信度是根据所识别的候选答案和对应问题之间的相应关系来确定的。基于所识别的候选答案的相对置信度,所识别的候选答案可以与组_1(221)中的问题相关联。系统(101)可以基于例如具有超过预定阈值的置信度的所识别的候选答案来确定组_1(221)中的问题属于哪个相关候选答案类别或组,以便对问题进行分类。因此,与问题所属的答案相关联的标识符可以作为类别标签被附加到该问题。
[0063] 如图2A中所示,问题_001可被分类到类别_α(251)中,并与诸如答案_α之类的对应类别标签相关联。问题_002到问题_010可以被类似地分类并且与对应类别标签相关联。答案与一个或多个对应问题之间的关系或关联的数量n可以按照正整数来定义。在示例中,与1个问题具有关联的答案可以由n=1来定义。在该示例中,与2个问题具有关联的另一答案可以由n=2来定义。因此,系统(101)可以生成第一训练数据,例如训练数据_1(222),如图
2A中所示。
[0064] 在示例中,训练数据_1(222)包括问题_001到问题_010,如图2A中所示。问题_001和问题_002被分类到类别_α(251)中,并且通常与类别标签答案_α相关联。问题_003被分类到类别_ε(254)中,并且与类别标签答案_ε相关联。问题_004和问题_006被分类到类别_β(252)中,并且通常与类别标签问题_β相关联。问题_005和问题_007被分类到类别_δ(253)中,并且通常与类别标签答案_δ相关联。问题_008、问题_009和问题_010被分类到类别_ζ(255)中,并且通常与类别标签答案_ζ相关联。在该示例中,问题_001到问题_010都没有被分类到类别_γ、类别_η或类别_θ中,如图2A中所示。因此,训练数据_1(222)可以不包括这样的类别。
[0065] 以与步骤272类似的方式,在步骤282,系统(101)可通过语料库(292)识别与组_2(231)中的每个问题相对应的候选答案。
[0066] 以与步骤273类似的方式,在步骤283,系统(101)可输出与组_2(231)中的每个问题相对应的一个或多个所识别的候选答案。该输出可以类似地包括每个所识别的候选答案的置信度。基于所识别的候选答案的相对置信度,所识别的候选答案可以与组_2(231)中的问题相关联。系统(101)可以类似地确定组_2(231)中的问题属于哪个相关候选答案类别或组,以便对该问题进行分类。因此,与问题所属的答案相关联的标识符可以类似地作为类别标签被附加到问题。这样,系统(101)可以生成第二训练数据,例如训练数据_2(232),如图2A中所示。
[0067] 在该示例中,训练数据_2(232)包括问题_011到问题_020,如图2A中所示。问题_011和问题_014被分类到类别_α(251)中,并且通常与类别标签答案_α相关联。问题_012被分类到类别_β(262)中,并且与类别标签答案_β相关联。问题_013和问题_017被分类到类别_ε(264)中,并且通常与类别标签答案_ε相关联。问题_015、问题_016和问题_019被分类到类别_η(265)中,并且通常与类别标签答案_η相关联。问题_018和问题_020被分类到类别_γ(263)中,并且通常与类别标签答案_γ相关联。在该示例中,问题_011到问题_020都没有被分类到类别_δ、类别_ζ或类别_θ中,如图2A中所示。因此,训练数据_2(232)可以不包括这样的类别。
[0068] 在本发明的实施例中,训练数据_1(222)和训练数据_2(232)可以例如用来训练两个不同的分类器。在该实施例中,步骤272和273可以相对于步骤282和283同时执行,或者不同时执行。
[0069] 参考图2B,可以基于第一训练数据和第二训练数据生成第一分类器和第二分类器。
[0070] 在步骤274,系统(101)可以基于训练数据_1(222)训练并生成第一分类器,例如分类器_A(223)。类似地,在步骤284,系统(101)可以基于训练数据_2(232)训练并生成第二分类器,例如分类器_B(233)。在本发明的实施例中,步骤274可以相对于步骤284同时执行,或者不同时执行。
[0071] 参考图2C和图2D,可以更新第一训练数据和第二训练数据中的每个。
[0072] 在步骤275,系统(101)可以通过分类器_B(233)对训练数据_1(222)中的问题_001到问题_010(212)中的每个进行分类。例如,在预定阈值被设定为50%,并且将问题_002关于具有85%置信度的类别_β、具有10%置信度的类别_α以及具有5%置信度的类别_θ进行分类的情况下,系统(101)可以将问题_002分类到类别_β中。注意,这与通过分类器_A(223)将问题_002分类到类别_α中形成对比。在本发明的实施例中,在将问题关于具有低于预定阈值的置信度的一个或多个类别中的每个类别进行分类的情况下,将问题与具有最高相对置信度的类别相关联,但是不将问题分类到类别中。
[0073] 在步骤276,系统(101)可以使用通过分类器_B(233)产生的分类结果来更新训练数据_1(222)。例如,更新可以包括将问题_002从类别_α(251)重新分类(298)到类别_β(252)中。因此,更新可以另外包括改变问题_002的初始类别。更新可以另外包括任何其它类型的修改操作,这可以作为设计选择的问题来选择。在本发明的实施例中,可以生成对第一训练数据的更新,例如以训练数据_1'(224)的形式。训练数据_1'(224)可以是训练数据_1(222)的更新版本。
[0074] 以与步骤275类似的方式,在步骤285,系统(101)可以通过分类器_A(223)对训练数据_2(232)中的问题_011到问题_020(213)中的每个进行分类。例如,在预定阈值被设定为50%,并且将问题_011关于具有75%置信度的类别_β、具有15%置信度的类别_α以及具有10%置信度的类别_η进行分类的情况下,系统(101)可以将问题_011分类到类别_β中。注意,这与通过分类器_B(233)将问题_011分类到类别_α中形成对比。在将问题关于具有低于预定阈值的置信度的一个或多个类别中的每个类别进行分类的情况下,将问题与具有最高相对置信度的类别相关联,但是不将问题分类到类别中。
[0075] 以与步骤276类似的方式,在步骤286,系统(101)可以使用通过分类器_A(223)产生的分类结果来更新训练数据_2(232)。例如,更新可以包括例如将问题_011从类别_α(261)重新分类(299)到类别_β(262)中。然后,系统(101)可以生成训练数据_2'(234)。训练数据_2'(234)可以是训练数据_2(232)的更新版本。
[0076] 图3是描绘根据本发明实施例的用于更新分类器的操作步骤的功能框图。参考图3,可以例如基于所更新的第一训练数据和第二训练数据来更新第一分类器和第二分类器。
[0077] 在步骤311,系统(101)可以使用训练数据_1'(224)更新分类器_A(223)以生成所更新的分类器_A'(333)。类似地,在步骤321,系统(101)可以使用训练数据_2'(234)更新分类器_B'(343)以生成所更新的分类器_B'(343)。
[0078] 图4是描绘根据本发明实施例的用于迭代地更新训练数据的操作步骤的功能框图。
[0079] 在本发明的实施例中,在由第一分类器(例如分类器_A(223))分类的第一训练数据(例如训练数据_1'(224))的问题相对于由第二分类器(例如分类器_B(233))分类的第一训练数据的问题之间的匹配度等于或大于预定阈值的情况下,训练数据的迭代或重复的更新可能受到影响。例如,可以基于类别_α(251)中的一个或多个问题相对于类别_α(256)中的那些问题之间的比较来确定匹配度。如参考图2D所述,可以将问题_002从类别_α(251)重新分类到类别_β(257)中。因此,类别_α(251)在重新分类之前包括问题_001和问题_002,并且在重新分类之后仅包括问题_001。这样,重新分类之前的类别_α(251)中的问题相对于重新分类之后的类别_α(256)中的问题之间的匹配度可以被确定为50%。
[0080] 继续参考图4,在步骤475,系统(101)可以通过分类器_B'(343)对训练数据_1'(224)中的问题_001到问题_010(212)中的每个进行分类。在步骤476,系统(101)可以使用通过分类器_B'(343)获得的分类结果来更新训练Data_1'(224),以生成训练数据_1"(426)。训练数据_1"(426)可以是训练数据_1'(224)的更新版本。
[0081] 在本发明的实施例中,在由第二分类器(例如分类器_B(233))分类的第二训练数据(例如训练数据2'(234))的问题相对于由第一分类器(例如分类器_A(223))分类的第二训练数据的问题之间的匹配度等于或大于预定阈值的情况下,训练数据的迭代更新也可能受到影响。例如,可以基于类别_α(261)中的一个或多个问题相对于类别_α(266)中的那些问题之间的比较来确定匹配度。如参考图2D所述,可以将问题_011从类别_α(261)重新分类到类别_β(267)中。因此,类别_α(251)在重新分类之前包括问题_011和问题_014,并且在重新分类之后仅包括问题_014。这样,重新分类之前的类别_α(261)中的问题相对于重新分类之后的类别_α(266)中的问题之间的匹配度可以被确定为50%。
[0082] 继续参考图4,在步骤485,系统(101)可以通过分类器_A'(333)对训练数据_2'(234)中的问题_011到问题_020(213)中的每个进行分类。在步骤486,系统(101)可以使用通过分类器_A'(333)获得的分类结果来更新训练数据_2'(234),以生成训练数据_2"(436)。训练数据_2"(436)可以是训练数据_2'(234)的更新版本。
[0083] 图5是描绘根据本发明实施例的用于迭代地更新训练数据和迭代地更新分类器的操作步骤的功能框图。如图5中所示,可以分别应用对第一训练数据的迭代更新561、476和577以及对第二训练数据的迭代更新686、486和597。此外,可以分别应用对第一分类器的迭代更新274、311和576以及对第二分类器的迭代更新284、321、596。
[0084] 在本发明的实施例中,可以应用对训练数据的迭代更新,直到重新分类之前的类别中的问题相对于重新分类之后的对应类别中的问题之间的匹配度变得等于或大于预定阈值。在该实施例中,可以以类似的方式应用对分类器的迭代更新。
[0085] 在本发明的另一个实施例中,可以应用对训练的迭代更新,直到重新分类之前的类别中的问题相对于重新分类之后的对应类别中的问题之间的连续匹配度变得低于预定阈值。在该实施例中,可以使用对应的所更新的分类器。在该实施例中,可以以类似的方式应用对分类器的迭代更新。
[0086] 在本发明的另一个实施例中,可以应用对训练的迭代更新,直到重新分类之前的类别中的问题相对于重新分类之后的对应类别中的问题之间的目前或当前匹配度的连续移动平均值变得等于或大于紧接在前的匹配度的连续移动平均值,超过或低于预定阈值。在该实施例中,可以使用对应的所更新的分类器。在该实施例中,可以以类似的方式应用对分类器的迭代更新。
[0087] 图6A和图6B是描绘根据本发明实施例的用于更新训练数据的处理的流程图。系统(例如系统(101))可以执行如参考图6A和图6B中的每个所描述的每个步骤。该系统可以通过单个计算机或通过多个计算机来实现。
[0088] 参考图6A,在步骤601,系统可以开始用于更新训练数据的处理。
[0089] 在步骤602,系统可以将多个问题划分成第一组和第二组。在本发明的另一实施例中,目标业务领域的主题专家可以手动地将多个问题划分为第一组和第二组。在本发明的又一实施例中,系统可以首先将多个问题划分为第一初步组和第二初步组,并且目标业务领域的主题专家可以随后手动调整初步组以生成第一组和第二组。
[0090] 在步骤603,系统可以将候选答案组中的答案与第一组中的各问题中的问题相关联。在本发明的另一实施例中,目标业务领域中的主题专家可以手动地将候选答案组中的答案与第一组中的各问题中的问题相关联。在本发明的又一实施例中,系统可以首先将候选答案组中的答案与第一组中的各问题中的问题相关联,并且目标业务领域中的主题专家可以随后根据需要调整关联。
[0091] 在步骤604,系统可以基于与每个问题相关联的答案来确定第一组中的每个问题所属的类别,以将对应的类别标签与每个问题相关联,并且相应地对每个问题进行分类。然后,系统可以相应地生成第一训练数据集。
[0092] 在步骤605,系统可以基于第一训练数据集生成第一分类器。
[0093] 在步骤606,系统可以通过如以下参考步骤615所生成和描述的第二分类器对第一训练数据中的每个问题重新分类。在步骤607,系统可以基于通过第二分类器生成的重新分类结果来更新第一训练数据,以生成所更新的第一训练数据。在步骤608,系统可以使用所更新的第一训练数据来更新第一分类器。
[0094] 在步骤609,系统可以确定是否重复分别与分类、训练数据的更新和分类器的更新相关的步骤606、607和608之一。在本发明的实施例中,如前所述,可以应用分类、训练数据的更新或分类器的更新,直到匹配度变得等于或大于预定阈值。
[0095] 在本发明的实施例中,可以使用例如公式(I)至(IV)来确定匹配度。函数φ(q,c)可以通过公式(I)来表示:
[0096]
[0097] 其中,q表示问题,c表示类别。当问题q属于类别c时,函数返回1,并且在所有其它情况下返回0。
[0098] 在该实施例中,使用第一分类器A分类到类别cj中的问题q与使用第二分类器B对问题q进行重新分类的结果之间的匹配度可以分别通过公式(II)和(III)来表示:
[0099]
[0100]
[0101] 其中,φA(q,c)表示使用第一分类器A的函数;φB(q,c)表示使用第二分类器B的函数;i表示与问题相关联的标识符;而j表示与类别相关联的标识符。
[0102] 如前所述,通过根据公式(I)至(III)对于每个类别计算值,并且确定每个值是否等于或大于预定阈值,可以确定关于继续迭代的确定。预定阈值可以例如由目标业务领域中的主题专家来定义。预定阈值可以被设置为例如0.8,如公式(IV)中所示:
[0103]
[0104] 在本发明的另一个实施例中,训练数据的更新和分类器的更新可以继续,直到由所更新的分类器之一进行的重新分类之前和之后的类别中的问题之间的当前和紧接的匹配度之间的差变得低于预定阈值。例如,可以通过公式(V)来计算相对于该差的预定阈值:
[0105]
[0106] 其中,n表示当前迭代;而n-1表示刚刚在当前迭代之前的迭代。预定阈值可以例如由目标业务领域中的主题专家来定义。
[0107] 在本发明的又一实施例中,训练数据的更新和分类器的更新可以继续,直到判断或确定相对于由所更新的分类器之一进行的重新分类之前和之后的类别中的问题的当前和后续匹配度的移动平均值变得等于或大于预定阈值。例如,移动平均值可以分别通过公式(VI)和(VII)来计算:
[0108]
[0109]
[0110] 其中,k表示相对于当前迭代的k个先前或过去的更新。预定阈值可以例如由目标业务领域中的主题专家来定义。在判断或确定是肯定或真的情况下,系统进行到步骤610,然后进行到步骤606。
[0111] 在步骤610,系统可将候选答案组中的另一答案与具有较低置信度的第一组中的各问题中的问题相关联。系统随后进行到步骤606,以便重复步骤606、607、608和609。
[0112] 类似于步骤603,在步骤613,系统可以将候选答案组中的答案与第二组中的各问题中的问题相关联。目标业务领域的主题专家可以手动地将候选答案组中的答案与第一组中的各问题中的问题相关联。另外,系统可以首先将候选答案组中的答案与第二组中的各问题中的问题相关联,并且目标业务领域中的主题专家可以随后根据需要调整关联。
[0113] 与步骤604类似,在步骤614,系统可以基于与每个问题相关联的答案来确定第二组中的每个问题所属的类别,以将对应的类别标签与每个问题相关联,并且相应地对每个问题进行分类。然后,系统可以相应地生成第二训练数据集。
[0114] 类似于步骤605,在步骤615,系统可以基于第二训练数据集生成第二分类器。
[0115] 与步骤606类似,在步骤616,系统可以通过如以上参考步骤605所生成和描述的第一分类器对第二训练数据中的每个问题进行重新分类。与步骤607类似,在步骤617,系统可以基于通过第一分类器生成的重新分类结果来更新第二训练数据,以生成所更新的第二训练数据。与步骤608类似,在步骤618,系统可以使用所更新的第二训练数据来更新第二分类器。
[0116] 与步骤609类似,在步骤619,系统可以确定是否重复分别与分类、训练数据的更新和第二分类器的更新相关的步骤616、617和618之一。如前所述,可以应用分类、第二训练数据的更新或分类器的更新,直到匹配程度变得等于或大于预定阈值。可以通过调整如前所述的公式(I)至(IV)而产生公式(I')至(IV')以相应地应用于第二训练数据和第二分类器来确定匹配程度。因此,公式(I')可以通过以下来表示:
[0117]
[0118] 其中,q表示问题,而c表示类别。
[0119] 在本发明的实施例中,使用第二分类器B分类到类别cj中的问题q与使用第二分类器B对问题q进行重新分类的结果之间的匹配度可以分别通过公式(II')和(III')来表示:
[0120]
[0121]
[0122] 其中,φB(q,c)表示使用第二分类器B的函数;φA(q,c)表示使用第一分类器A的函数;i表示与问题相关联的标识符;而j表示与类别相关联的标识符
[0123] 如前所述,通过根据公式(I')、(II')和(III')对于每个类别计算值,并且确定每个值是否变得等于或大于预定阈值,可以确定关于继续迭代的确定。预定阈值可以例如由目标业务领域中的主题专家来定义。预定阈值可以被设定为例如0.8,如公式(IV')中所示:
[0124]
[0125] 在本发明的另一实施例中,训练数据的更新和分类器的更新可以继续,直到由所更新的分类器之一进行的重新分类之前和之后的类别中的问题之间的当前和紧接的匹配度之间的差变得低于预定阈值。例如,可以通过公式(V')来计算相对于该差的预定阈值:
[0126]
[0127] 其中,n表示当前迭代;而n-1表示刚刚在当前迭代之前的迭代。预定阈值可以例如由目标业务领域中的主题专家来定义。
[0128] 在本发明的又一实施例中,训练数据的更新和分类器的更新可以继续,直到判断或确定相对于由所更新的分类器之一进行的重新分类之前和之后的类别中的问题的当前和后续匹配度的移动平均值变得等于或大于预定阈值。例如,移动平均值可以通过公式(VI')和(VII')来计算:
[0129]
[0130]
[0131] 其中,k表示相对于当前迭代的k个先前或过去的更新。预定阈值可以例如由目标业务领域中的主题专家来定义。在判断或确定是肯定或真的情况下,系统进行到步骤620,然后进行到步骤616。
[0132] 在步骤610,系统可将候选答案组中的另一答案与具有较低置信度的第一组中的各问题中的问题相关联。系统随后进行到步骤606,以便重复步骤616、617、618和619。
[0133] 参考图6B,在步骤621,系统可以终止用于更新训练数据的处理。
[0134] 根据步骤602,将问题集划分成两组:第一组和第二组。系统随后可以对于第一组进行到步骤603到610,并且对于第二组进行到步骤613到620。在使用单个初始训练数据集来生成分类器的情况下,可能导致过度训练的发生,从而导致分类器产生各种输出误差,包括例如偏置误差。有利地,本发明的实施例防止在将问题集划分成两个互斥组时发生过度训练,如步骤606和616中那样。
[0135] 图7是描绘根据本发明实施例的与图6A和图6B的处理有关的系统硬件的整体功能框图。系统(701)对应于如参考图1所述的系统(101)。系统701可以包括问题划分部711、关联部712、训练数据生成部714、分类器生成部715、分类部716和训练数据更新部717。系统701可以包括读取部713以代替问题划分部711和关联部712。系统(701)还可以包括分类器更新部(718)和判断部(719)。
[0136] 问题划分部(711)从存储装置(291)读取多个问题,并且随后将多个问题划分为第一组和第二组。问题划分部(711)可以执行如前所述的步骤602。
[0137] 关联部(712)将候选答案组中的答案与第一组和第二组中的各问题中的每个问题相关联。该答案可以相对于候选答案组中的其他答案具有最高相对置信度。关联部(712)可以执行如前所述的步骤603和613。
[0138] 读取部(713)将第一组和第二组中的每个读取到存储器中,第一组和第二组中的每个具有多个问题并且每个问题与答案相关联,而不是将多个问题划分为第一组和第二组并且与答案相关联。读取部(713)使得能够将训练数据读取到存储器中,训练数据包括第一组问题和第二组问题,其中每个问题与答案相关联。
[0139] 训练数据生成部(714)使用与第一组中的每个问题相关联的答案来确定每个问题所属的类别,并且随后生成训练数据_1(222)作为第一训练数据,如前所述。训练数据_1(222)中的问题被分类到所决定的类别中。每个所决定的类别与一个或多个问题相关联。通过识别具有高于预定阈值的置信度的类别来确定第一组中的每个问题所属的类别,并且在未识别出类别的情况下,将与答案相关联的标识符作为类别标签附加到该问题所属的类别。训练数据生成部(714)还使用与第二组中的每个问题相关联的答案来确定每个问题所属的类别,并且随后生成训练数据_2(232)作为第二训练数据,如前所述。然后,对第二训练数据(232)中的问题进行分类和关联,并且以与第一组类似的方式来确定第二组中的每个问题所属的类别。训练数据生成部(714)可以执行如前所述的步骤604和614。训练数据生成部(714)使得能够确定答案类别,所述答案类别对于第一组问题和第二组问题中的每个问题包括问题的答案,所述答案类别具有与每个问题相关联的类别标签,并且每个问题被分类到相应的答案类别中。
[0140] 分类器生成部715基于第一训练数据222生成分类器_A(223)作为第一分类器。分类器生成部715还基于第二训练数据232生成分类器_B(233)作为第二分类器。分类器生成部(715)可以执行如前所述的步骤605和615。分类器生成部(715)使得能够生成第一训练数据和第二训练数据,所述第一训练数据和第二训练数据包括分别用于第一分类器和第二分类器的第一组问题和第二组问题以及对应的答案类别。
[0141] 分类部(716)使用第二分类器(233)对第一训练数据中的每个问题进行分类。分类部(716)进一步使用第一分类器(223)对第二训练数据中的每个问题进行分类。分类部(716)可以执行如前所述的步骤606和616。分类部(716)使得能够通过第二分类器对第一组问题中的每个问题进行分类,并且使得能够通过第一分类器对第二组问题中的每个问题进行分类,每个问题被分类到对应的答案类别中,其中通过第一分类器和第二分类器进行的分类各自生成相应的分类结果。
[0142] 训练数据更新部(717)使用通过第二分类器(233)获得的分类结果来更新第一训练数据(222),并且随后生成训练数据_1'(224)作为所更新的第一训练数据。如前所述,当由第二分类器(233)返回的类别的置信度等于或大于预定阈值时,可以应用对第一训练数据(222)的更新。训练数据更新部(717)以类似的方式使用通过第一分类器(223)获得的分类结果来更新第二训练数据(232),并且随后生成训练数据_2'(234)作为所更新的第二训练数据。如前所述,当由第一分类器(223)返回的类别的置信度等于或大于预定阈值时,可以应用对第二训练数据(232)的更新。训练数据更新部(717)可以执行如前所述的步骤607和617。训练数据更新部(717)使得能够基于分类结果更新第一训练数据和第二训练数据中的一个或多个,并且使得能够生成所更新的第一训练数据和第二训练数据以分别用于第一分类器和第二分类器。
[0143] 分类器更新部718使用所更新的第一训练数据224来更新第一分类器223,并且随后生成分类器_A'(333)作为所更新的第一分类器。分类器更新部(718)还使用所更新的第二训练数据(234)来更新第二分类器(233),并且随后生成分类器_B'(343)作为所更新的第二分类器。分类器更新部(718)可以执行如前所述的步骤608和618。分类器更新部(718)使得能够分别基于所更新的第一训练数据和第二训练数据来更新第一分类器和第二分类器之一。
[0144] 判断部(719)判断或确定在问题所属的与使用所更新的分类器(333、343)中的每个进行分类之前的类别相关联的一个或多个问题和与分类或重新分类之后的类别相关联的一个或多个问题之间的匹配度是否变得等于或大于预定阈值。另外,判断部(719)判断或确定在“在问题所属的与使用所更新的分类器(333、343)中的每个进行分类之前的类别相关联的一个或多个问题和与分类之后的类别相关联的一个或多个问题之间的当前匹配度”与紧接在前的匹配度之间的差是否变得低于预定阈值。另外,判断部(719)判断或确定在问题所属的与使用所更新的分类器(333、343)中的每个进行分类之前的类别相关联的一个或多个问题和与分类之后的类别相关联的一个或多个问题之间的当前匹配度的移动平均值是否变得等于或大于预定阈值。判断部(719)可以执行如前所述的步骤609和619。
[0145] 在迭代处理的步骤中,关联部(712)将候选答案组中的另一答案与具有较低置信度的问题相关联,其中,通过使用第二分类器对作为第一训练数据的训练数据1(222)中的每个问题进行分类而获得的置信度低于预定阈值。该另一答案可以是在答案当中具有次最高置信度的答案。关联部(712)还将候选答案组中的另一答案与具有较低置信度的问题相关联,其中,通过使用第一分类器对作为第二训练数据的训练数据2(232)中的每个问题进行分类而获得的置信度低于预定阈值。该另一答案是答案当中具有次最高置信度的答案。
[0146] 图8A和图8B描绘根据本发明实施例的更新训练数据的工作示例的各方面。描绘了分类器的置信度的阈值0.6和0.8之间的收敛状态的比较。
[0147] 在示例中,所使用的搜索引擎可以是 Bluemix检索&排名(Retrieve&Rank,R&R)。在该示例中,所使用的分类器可以是 Bluemix自然语言分类器(NLC)。在该示例中,所使用的问题集可以被包括作为诸如在 Bluemix自然语言分类器(NLC)的教程上提供的训练数据的一部分。在该示例中,所使用的候选答案集可以是诸如可以在FAQ中预先准备的问题答案对中的答案。
[0148] 处理可以包括以下步骤:
[0149] 在重复分类处理中,采用分类置信度的值大于分类器的置信度的阈值的问题的分类结果。对于置信度的值小于或等于阈值的每个问题,搜索引擎再次处理该问题,并且采用第二位置的结果。
[0150] 通过检查每个组的重复分类之后的一致率来测量训练数据的收敛状态。
[0151] 在分类器的置信度的阈值变化为0.6和0.8的情况下测量收敛状态。
[0152] 参考图8A,图形(801)示出在分类器的置信度的阈值=0.6的情况下的结果。图形(801)示出在第六次迭代之后没有观察到匹配度的比率的增加。图形(802)示出在分类器的置信度的阈值=0.8的情况下的结果。图形(802)示出在每次迭代时观察到匹配度的比率的增加。
[0153] 参考图8B,描绘了通过图8A中描述的工作示例获得的训练数据的分布,其中分类器的置信度的阈值是0.6。如图8B中所示,可以实现将问题聚类到类别。然而,存在如下趋势:问题主要局限于与每个特定答案相关联的文档ID(对应于类别标签)。与文档ID 6、12和18相对应的答案可能被搜索处理查找到,从而查找到这些答案作为对于许多问题的第二位置的搜索结果。如果分类器的分类结果的置信度低,则由搜索引擎处理该问题。如在图形(811、812、813和814)中所见,多次导致低置信度值的问题最终被收集到与文档ID 6、12和
18相关联的类别中。
[0154] 图9A和图9B描绘根据本发明实施例的更新训练数据的工作示例的各方面。相对于图8A和图8B的处理,图9A和图9B中使用的处理包括以下修改:
[0155] 在一个组中的问题的重复分类中,如果问题没有被其他组的分类器分类到这一个组中的该问题所属的类别中并且置信度两次或更多次小于或等于阈值,则排除该问题,并且将该问题从当前类别移动到“其他类别”,或移动到具有与同答案相关联的标识符共同的标识符的类别之外。
[0156] 假设可以通过将其它类别添加到分类器来提取没有被分类到任何类别中的问题。
[0157] 参考图9A,图形(901)示出在分类器的置信度的阈值=0.6的情况下的结果。图形(901)示出在迭代之前和之后没有观察到匹配度的比率的显著差异。图形(902)示出在分类器的置信度的阈值=0.8的情况下的结果。图形(902)示出训练数据的迭代处理快速收敛。在第九次迭代时匹配度的比率超过95%。
[0158] 参考图9B,描述了通过图9A中描述的另一个工作示例获得的训练数据的分布,其中分类器的置信度的阈值是0.6。如图9B中所示,图形911、912、913和914中的每个指示局限化被显著地避免。
[0159] 根据所获得的结果,如由图8A、图8B、图9A和图9B中的示例所述,确认了以下内容:
[0160] 搜索引擎(问题和答案之间的匹配度)和分类器(问题之间的匹配度)的互补利用可以实现问题的自动聚类。
[0161] 可能存在这样的趋势:匹配度可以通过重复迭代来变得更好,并且匹配度最终可以收敛到恒定值。另一方面,已经发现,问题的聚类结果取决于在创建初始聚类时执行的搜索处理的准确性。
[0162] 根据通过图8A、图8B、图9A和图9B中描述的示例获得的结果,以下方案在实现本方法的实施例时是有效的:
[0163] 当分类置信度值低并且再次执行搜索处理时,在如何利用搜索处理的结果方面存在许多自由度。
[0164] 在重复分类处理中,将两次或更多次没有被分类到其自身的类别中并且分类的置信度小于或等于阈值的问题移动到“其它类别”,从而改善分类结果。
[0165] 有利地,可以应用根据本公开的重复分类处理,以通过使得能够有针对性地改进用来训练自然语言理解模型的训练数据的精度,有效地减少在使用期间的自然语言理解模型中的解释误差。例如,由于由本发明实施例提供的问题(和答案)的自动聚类效果,可以由主题专家系统地应用重复分类处理,以减轻对语义上准确的训练数据进行汇编的任务。此外,根据本公开的重复分类处理使得模型能够更好地利用在训练时使用的训练数据。为此,通过解决高效地和有效地使用训练数据来精确地和准确地训练自然语言理解模型的自然语言处理中心问题,本发明的实施例具有改进认知计算(尤其是自然语言处理)技术领域的能力。
[0166] 本发明可以是任何可能的技术细节集成水平的系统、方法和/或计算机程序产品。计算机程序产品可以包括其上具有计算机可读程序指令的计算机可读存储介质(或多个介质),所述计算机可读程序指令用于使处理器执行本发明的各方面。
[0167] 计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质可以是例如但不限于电子存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或前述各项的任何合适组合。计算机可读存储介质的更具体示例的非穷举列表包括以下:便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、诸如上面记录有指令的打孔卡或凹槽中的凸起结构之类的机械编码装置、以及前述各项的任何合适组合。如本文中所使用的计算机可读存储介质不应被解释为暂态信号本身,诸如无线电波或其他自由传播的电磁波、通过波导或其他传输介质传播的电磁波(例如,通过光纤线缆传递的光脉冲)、或通过电线传输的电信号。
[0168] 本文中描述的计算机可读程序指令可以从计算机可读存储介质下载到相应的计算/处理设备,或者经由网络(例如因特网、局域网、广域网和/或无线网络)下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光传输光纤、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或网络接口从网络接收计算机可读程序指令,并转发计算机可读程序指令以存储在相应计算/处理设备内的计算机可读存储介质中。
[0169] 用于执行本发明的操作的计算机可读程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设定数据、集成电路的配置数据,或者以一种或多种编程语言(包括面向对象的编程语言(例如Smalltalk、C++等)和过程编程语言(例如“C”编程语言或类似的编程语言))的任意组合编写的源代码或目标代码。计算机可读程序指令可以完全在用户的计算机上执行,部分地在用户的计算机上执行,作为独立的软件包执行,部分地在用户的计算机上并且部分地在远程计算机上执行,或者完全在远程计算机或服务器上执行。在后一种情况下,远程计算机可以通过任何类型的网络(包括局域网(LAN)或广域网(WAN))连接到用户的计算机,或者可以连接到外部计算机(例如,通过使用因特网服务提供商的因特网)。在一些实施例中,为了执行本发明的各方面,包括例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA)的电子电路可以通过利用计算机可读程序指令的状态信息来执行计算机可读程序指令以使电子电路个性化。
[0170] 在本文中参考根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图来描述本发明的各方面。将理解,流程图和/或框图的每个框以及流程图和/或框图中的框的组合可以由计算机可读程序指令来实现。
[0171] 这些计算机可读程序指令可以被提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器以产生机器,使得经由计算机或其他可编程数据处理装置的处理器执行的指令创建用于实现流程图和/或框图的一个或多个框中指定的功能/动作的装置。这些计算机可读程序指令还可以存储在计算机可读存储介质中,其可以引导计算机、可编程数据处理装置和/或其他设备以特定方式工作,使得其中存储有指令的计算机可读存储介质包括制品,该制品包括实现流程图和/或框图的一个或多个框中指定的功能/动作的各方面的指令。
[0172] 计算机可读程序指令也可以被加载到计算机、其他可编程数据处理装置或其他设备上,以使得在计算机、其他可编程装置或其他设备上执行一系列操作步骤,以产生计算机实现的处理,使得在计算机、其他可编程装置或其他设备上执行的指令实现流程图和/或框图的一个或多个框中指定的功能/动作。
[0173] 附图中的流程图和框图示出根据本发明的各种实施例的系统、方法和计算机程序产品的可能实现方式的架构、功能和操作。在这点上,流程图或框图中的每个框可以表示指令的一部分、段或模块,其包括用于实现所指定的逻辑功能的一个或多个可执行指令。在一些替选实施方案中,框中所注明的功能可不按附图中所注明的次序进行。例如,连续示出的两个框实际上可以基本上同时执行,或者这些框有时可以以相反的顺序执行,这取决于所涉及的功能。还将注意,框图和/或流程图中的每个框以及框图和/或流程图中的框的组合可以由专用的基于硬件的系统来实现,该专用的基于硬件的系统执行指定功能或动作、或执行专用硬件和计算机指令的组合。
[0174] 首先应当理解,尽管本公开包括关于云计算的详细描述,但其中记载的技术方案的实现却不限于云计算环境,而是能够结合现在已知或以后开发的任何其它类型的计算环境而实现。
[0175] 云计算是一种服务交付模式,用于对共享的可配置计算资源池进行方便、按需的网络访问。可配置计算资源是能够以最小的管理成本或与服务提供者进行最少的交互就能快速部署和释放的资源,例如可以是网络、网络带宽、服务器、处理、内存、存储、应用、虚拟机和服务。这种云模式可以包括至少五个特征、至少三个服务模型和至少四个部署模型。
[0176] 特征包括:
[0177] 按需自助式服务:云的消费者在无需与服务提供者进行人为交互的情况下能够单方面自动地按需部署诸如服务器时间和网络存储等的计算能力。
[0178] 广泛的网络接入:计算能力可以通过标准机制在网络上获取,这种标准机制促进了通过不同种类的瘦客户机平台或厚客户机平台(例如移动电话、膝上型电脑、个人数字助理PDA)对云的使用。
[0179] 资源池:提供者的计算资源被归入资源池并通过多租户(multi-tenant)模式服务于多重消费者,其中按需将不同的实体资源和虚拟资源动态地分配和再分配。一般情况下,消费者不能控制或甚至并不知晓所提供的资源的确切位置,但可以在较高抽象程度上指定位置(例如国家、州或数据中心),因此具有位置无关性。
[0180] 迅速弹性:能够迅速、有弹性地(有时是自动地)部署计算能力,以实现快速扩展,并且能迅速释放来快速缩小。在消费者看来,用于部署的可用计算能力往往显得是无限的,并能在任意时候都能获取任意数量的计算能力。
[0181] 可测量的服务:云系统通过利用适于服务类型(例如存储、处理、带宽和活跃用户帐号)的某种抽象程度的计量能力,自动地控制和优化资源效用。可以监测、控制和报告资源使用情况,为服务提供者和消费者双方提供透明度。
[0182] 服务模型如下:
[0183] 软件即服务(SaaS):向消费者提供的能力是使用提供者在云基础架构上运行的应用。可以通过诸如网络浏览器的瘦客户机接口(例如基于网络的电子邮件)从各种客户机设备访问应用。除了有限的特定于用户的应用配置设置外,消费者既不管理也不控制包括网络、服务器、操作系统、存储、乃至单个应用能力等的底层云基础架构。
[0184] 平台即服务(PaaS):向消费者提供的能力是在云基础架构上部署消费者创建或获得的应用,这些应用利用提供者支持的程序设计语言和工具创建。消费者既不管理也不控制包括网络、服务器、操作系统或存储的底层云基础架构,但对其部署的应用具有控制权,对应用托管环境配置可能也具有控制权。
[0185] 基础架构即服务(IaaS):向消费者提供的能力是消费者能够在其中部署并运行包括操作系统和应用的任意软件的处理、存储、网络和其他基础计算资源。消费者既不管理也不控制底层的云基础架构,但是对操作系统、存储和其部署的应用具有控制权,对选择的网络组件(例如主机防火墙)可能具有有限的控制权。
[0186] 部署模型如下:
[0187] 私有云:云基础架构单独为某个组织运行。云基础架构可以由该组织或第三方管理并且可以存在于该组织内部或外部。
[0188] 共同体云:云基础架构被若干组织共享并支持有共同利害关系(例如任务使命、安全要求、政策和合规考虑)的特定共同体。共同体云可以由共同体内的多个组织或第三方管理并且可以存在于该共同体内部或外部。
[0189] 公共云:云基础架构向公众或大型产业群提供并由出售云服务的组织拥有。
[0190] 混合云:云基础架构由两个或更多部署模型的云(私有云、共同体云或公共云)组成,这些云依然是独特的实体,但是通过使数据和应用能够移植的标准化技术或私有技术(例如用于云之间的负载平衡的云突发流量分担技术)绑定在一起。
[0191] 云计算环境是面向服务的,特点集中在无状态性、低耦合性、模块性和语意的互操作性。云计算的核心是包含互连节点网络的基础架构。
[0192] 现在参考图10,其中显示了示例性的云计算环境50。如图所示,云计算环境50包括云计算消费者使用的本地计算设备可以与其相通信的一个或者多个云计算节点10,本地计算设备例如可以是个人数字助理(PDA)或移动电话54A,台式电脑54B、笔记本电脑54C和/或汽车计算机系统54N。云计算节点10之间可以相互通信。可以在包括但不限于如上所述的私有云、共同体云、公共云或混合云或者它们的组合的一个或者多个网络中将云计算节点10进行物理或虚拟分组(图中未显示)。这样,云的消费者无需在本地计算设备上维护资源就能请求云计算环境50提供的基础架构即服务(IaaS)、平台即服务(PaaS)和/或软件即服务(SaaS)。应当理解,图10显示的各类计算设备54A-N仅仅是示意性的,云计算节点10以及云计算环境50可以与任意类型网络上和/或网络可寻址连接的任意类型的计算设备(例如使用网络浏览器)通信。
[0193] 现在参考图11,其中显示了云计算环境50(图10)提供的一组功能抽象层。首先应当理解,图11所示的组件、层以及功能都仅仅是示意性的,本发明的实施例不限于此。如图11所示,提供下列层和对应功能:
[0194] 硬件和软件层60包括硬件和软件组件。硬件组件的例子包括:主机61;基于RISC(精简指令集计算机)体系结构的服务器62;服务器63;刀片服务器64;存储设备65;网络和网络组件66。在某些实施例中,软件组件包括:网络应用服务器软件67以及数据库软件68。
[0195] 虚拟层70提供一个抽象层,该层可以提供下列虚拟实体的例子:虚拟服务器71、虚拟存储72、虚拟网络73(包括虚拟私有网络)、虚拟应用和操作系统74,以及虚拟客户端75。
[0196] 在一个示例中,管理层80可以提供下述功能:资源供应功能81:提供用于在云计算环境中执行任务的计算资源和其它资源的动态获取;计量和定价功能82:在云计算环境内对资源的使用进行成本跟踪,并为此提供帐单和发票。在一个例子中,该资源可以包括应用软件许可。安全功能:为云的消费者和任务提供身份认证,为数据和其它资源提供保护。用户门户功能83:为消费者和系统管理员提供对云计算环境的访问。服务水平管理功能84:提供云计算资源的分配和管理,以满足必需的服务水平。服务水平协议(SLA)计划和履行功能85:为根据SLA预测的对云计算资源未来需求提供预先安排和供应。
[0197] 工作负载层90提供云计算环境可能实现的功能的示例。在该层中,可提供的工作负载或功能的示例包括:地图绘制与导航91;软件开发及生命周期管理92;虚拟教室的教学提供93;数据分析处理94;交易处理95;以及更新训练数据96。
高效检索全球专利

IPRDB是专利检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,专利查询、专利分析

电话:13651749426

侵权分析

IPRDB的侵权分析产品是IPRDB结合多位一线专利维权律师和专利侵权分析师的智慧,开发出来的一款特色产品,也是市面上唯一一款帮助企业研发人员、科研工作者、专利律师、专利分析师快速定位侵权分析的产品,极大的减少了用户重复工作量,提升工作效率,降低无效或侵权分析的准入门槛。

立即试用