为一个自然语言理解系统用来自动注解训练数据的一个系统的制作方法

文档序号:6452591阅读:237来源:国知局
专利名称:为一个自然语言理解系统用来自动注解训练数据的一个系统的制作方法
技术领域
本发明涉及自然语言理解。具体而言,本发明涉及为训练一个自然语言理解系统注解训练数据。
为了训练常规的自然语言理解系统,需要大量被注解的训练数据。没有足够的训练数据,系统不能充分地被训练且性能受到损害。
然而,为了产生被注解的训练数据,常规的系统依赖手工注解。这遭受许多主要缺点。手工注解可能是昂贵的,耗时的,单调的,和易于产生错误的。另外,甚至改正注解也可能是困难的。如果注解几乎正确,发现错误是相当困难的。
在一个实施例中,当用户与系统交互作用时,只有对建议注解的合法的可供选择被用户显示以用来选择。
在另一个实施例中,自然语言理解系统计算一个与建议注解联合的置信标准。置信标准可能被使用来在系统最小确信的建议注解中标记数据。这引起了用户对系统最小确信数据的注意。
在另一个实施例中,为了增加与系统建议注解相关的速度和正确度,客户可能限制由自然语言理解系统所建议的注解类型到那些可能的预定子集。例如,用户可能选择语言上的种类或被系统用来使用的解释类型。在限制在由系统建议的可能注解中,可提高系统的速度和正确度。
在另一个实施例中,自然语言理解系统接收一系列的注解。在那时,系统检查注解来确定系统是否已经与注解不一致地被训练。这可能被用来检测不一致的任何类型,甚至被不同注解者(人或机器)使用的不同注解风格。系统可能为用户标记,以在减少用户错误或在注解数据中注解的不一致。
在另一个实施例中,系统根据置信标准以上升的(或下降的)次序排列建议的注解。这为用户识别系统最小确信的训练数据和为被用户处理的数据分等级。
系统也能通过任何初步设计类型分类建议注解。这允许用户同时处理(例如,改正或检验)一个给定类型的所有建议注解。这允许较快的注解,并鼓励更一致的和更正确的注解工作。
本系统也能使用多种不同的用来产生建议注解的技术。这种技术可能被并行使用,并且基于正在被使用的所有不同技术的结果使用一个选择算法来选择用来显示到客户的建议注解。不同的技术具有不同的力量,而结合技术能经常产生比任何单独语言理解方法更好的结果。
相似的,本发明能显示给用户正在被使用的还没有接收到足够训练数据的自然语言理解模型的不同部分。这允许用户识别仍充分地被需要来训练模型的不同类型数据。
图3举例说明本发明的全部操作的一个流程图。
图4是依照本发明的一个实施例,用来训练自然语言理解系统的一个系统的更为详细的方框图。
图5举例说明本发明的操作的一个更为详细的流程图。
图6和7举例说明被本发明使用的一个用户界面的实施例的屏幕镜头。。
图8是依照本发明的一个实施例,举例说明在被建议的注解中添加或删除节点的本发明操作的一个流程图。
图9是依照本发明的一个实施例,举例说明在建议注解数据中多种自然语言理解技术使用的一个流程图。


图1举例说明一个可能实现发明在其上的适当的计算系统环境100的一个例子。计算系统环境100只是一个适当的计算系统环境的一个例子,不作关于发明的使用或功能范围的任何限制。计算系统环境100不需要被解释为具有关于在典型的操作环境100中举例说明的部件的任一或组合的任何从属或需求。
发明和许多其它通用或特殊用途计算系统环境或设置一起运作。可能适合于发明使用的著名的计算系统,这些环境和/或设置的例子包括(但不局限于)个人计算机,服务器计算机,手持或膝上型设备,多处理器系统,基于微处理器的系统,机顶盒,可编程的消费者电子产品,网络PC,微电脑,大型机计算机,包括以上系统或设备的任何,和相似的分布式计算环境。
发明可能在计算机可执行指令的一般上下文中被描述,例如,被一个计算机执行的程序代码。通常,程序模块包括执行特殊任务或实现特殊抽象数据类型的例行程序,程序,对象,部件,数据结构等。也可将本发明用于分布式计算环境中,其中,任务被通过一个通讯网络连接的远程处理设备执行。在一个分布式计算环境中,程序模块可能位于包括存储器存储设备的局域的和远端的计算机存储介质。
关于图1,用来实现发明的一个典型系统包括一个表现为计算机110形式的通用计算设备。计算机110的部件可包括(但不局限于)一个处理单元120,一个系统存储器130,和一个连接不同系统部件包括系统存储器到处理单元120的系统总线121。系统总线121可能是几种总线结构类型中的任何一种包括一个存储器总线或存储器控制器,一个周边总线,和使用多种总线结构中的任一的一个局域总线。作为例子(不加局限性),这种结构包括工业标准结构(ISA)总线,微通道结构(MCA)总线,扩展工业标准结构(EISA)总线,视频电子标准协会(VESA)局域总线,和周边部件互连(PCI)总线,也即是Mezzanine总线。
计算机110一般包括多种计算机可读介质。计算机可读介质能够是任何能被计算机110访问的可用介质并且包括易失的或非易失的介质,可移动和不可移动介质。作为例子(不加局限性),计算机可读介质可能包含计算机存储介质和通讯介质。为了诸如计算机可读指令,数据结构,程序模块或其它数据的信息存储,计算机存储介质包括在任何方法或技术中实现的易失的或非易失的,可移动和不可移动介质。计算机存储介质包括但不局限于,RAM,ROM,EEPROM,闪存或其它存储器技术,CD-ROM,数字化通用光盘(DVD)或其它光学磁盘存储器,盒式磁带,磁带,磁盘存储器或其它磁存储设备,或任何其它能被使用来存储想得到的信息和可能被计算机100所访问的介质。通讯介质代表性地包含计算机可读指令,数据结构,程序模块或在一个已调制的数据信号中的其它数据,例如一个载波WAV或其它传输机制并且包括任何信息传递介质。术语“已调制的数据信号”指具有一个或多个它的特征集或在信号中编码信息的在这种方法中改变的一个信号。作为例子,和不局限性,通讯介质包括有线介质(例如一个有线网络或直接有线连接)和无线介质(例如听觉的,FR,红外线的和其它无线介质)。上述任意的组合也应该包括在计算机可读介质的范围中。
系统存储器130包括以易失的和/或非易失的存储器,例如只读存储器(ROM)131和随机访问存储器(RAM)132。一个基础输入/输出系统133(BIOS),包括有助于计算机110中的元件之间转移信息的基础例程,例如在启动中,被典型的存储在ROM131。RAM132一般包括数据和/或程序模块,它们能被立即访问和/或通过处理单元120当前正在被操作。作为例子(并不加局限性),图1举例说明操作系统134,应用程序135,其它程序模块136,和程序数据137。
计算机110可能也包括其它可移动的/不可移动的易失的/非易失的计算机存储介质。只作为例子,图1举例说明一个读取或写到不可移动的,非易失的磁性介质的硬盘驱动器141,一个读取或写到一个可移动的,非易失的磁盘152的磁盘驱动器151,和一个读取或写到一个可移动的,非易失的光盘156(例如一个CDROM)或其它光介质的光盘驱动器155。其它可能被用在典型的操作环境中的可移动的/不可移动的易失的/非易失的计算机存储介质包括(但不限于)盒式磁带,闪存卡,数字化通用光盘,数字化录像磁带,固态RAM,固态ROM等等。硬盘驱动器141一般通过一个不可移动的存储器接口例如接口140连接到系统总线121,并且磁盘驱动器151和光盘驱动器155一般通过一个可移动的存储器接口(例如接口150)连接到系统总线121。
上面讨论的和在图1中举例说明的驱动器和它们相连的计算机存储介质,提供对于计算机可读指令,数据结构,程序模块,和其它关于计算机110的数据的存储。在图1中,例如,硬盘驱动器141被举例说明来存储操作系统144,应用程序145,其它程序模块146,和程序数据147。值得注意的是这些部件可能相同或异于操作系统134,应用程序135,其它程序模块136,和程序数据137。操作系统144,应用程序145,其它程序模块146,和程序数据147在这里被给定不同的数目来举例说明那个,最小的,它们是不同的副本。
一个用户可能通过输入设备例如一个键盘162,一个麦克风163,和一个指示设备161,例如一个鼠标, 轨道球或触摸垫来输入命令和信息到计算机110。其他输入设备(未显示)可能包括一个操纵杆,游戏垫,圆盘式卫星电视天线,扫描仪等等。这些和其它输入设备通过一个连接到系统总线上的用户输入接口160被经常连接到处理单元120,但可能被其它接口和总线结构连接,例如一个并行口,游戏口或一个通用串行总线架构(USB)。一个监视器191或其他类型的显示设备也通过一个接口,例如一个视频接口190被连接到系统总线121。除监视器之外,计算机也可能包括其它外围的输出设备(例如扬声器197和打印机196),可能通过一个输出外围接口190被连接。
使用逻辑连接到一个或多个远端计算机(例如一个远端计算机180),计算机110可能在一个网络环境中运作。远端计算机180可能是一台个人计算机,一台手持设备,一台服务器,一个路由器,一台网络PC,一个对等式设备或其它普通的网络节点,且一般包括上述的相对于计算机110的许多或所有的元素。在图1中描述的逻辑连接包括一个局域网(LAN)171和一个广域网(WAN)173,但可能也包括其它网络。这种网络环境在办公室,企业范围计算机网络,企业内部互联网和因特网中是普遍的。
当被使用在一个LAN网络环境中时,计算机110通过一个网络接口或适配器170被连接到LAN171。当被使用在一个WAN网络环境中时,计算机110一般包括一个调制解调器172和用来在WAN173(例如因特网)上建立通讯的其它方法。调制解调器172,可能是内部的或外部的,可能通过用户输入接口160被连接到系统总线121,或其它正确的机制。在一个网络环境中,相对于计算机110或在其中的部分描述的程序模块,可能被存储在远端存储器存储设备。作为例子(不加局限性),图1举例说明当居于远端计算机180上的时候的远端应用程序185。也希望所示网络连接是可典型性的,并能够使用在计算机之间建立一个通讯连接的其它方法。
须注意,本发明可能在一个计算机系统(例如关于图1所描述的系统)上实现。然而,本发明可能在一个服务器,一个用来消息处理的计算机上或一个分布式系统上实现,其中,本发明的不同部分在分布式计算系统的不同部分上实现。
图2是依照本发明的一个实施例,举例说明一个用来训练一个自然语言理解(NLU)系统的一个系统300的一个方框图。系统300包括一个被用来训练的一个自然语言理解系统302。系统300包括一个被用来训练的一个自然语言理解系统302。系统300也包括学习部件304和改正或检验接口306。图3举例说明在图2所示的系统300的全部操作的一个流程图。
NLU系统302是根据任何已知的自然语言处理技术接收一个自然语言输入和处理以获得和输出一个关于自然语言输入意义的显示的一个说明性的自然语言理解系统。NLU系统302也示出包括必须用被注解的训练数据训练的模型。
依照本发明的一个实施例,学习部件304是一个随意地接收被注解的训练数据和训练在自然语言理解(NLU)系统302中使用的模型的训练部件。学习部件304可能是任何已知的用来使用在NLU系统302中的模型的修改或训练的学习部件,而本发明没有被限制在任何特定的学习部件304。
在任何情况下,学习部件304首先随意地接收初始的被注解的训练数据306。这在图3中被方框308显示。初始的被注解的训练数据306,如果它被使用,包括已经被用户注解的初始数据,或在NLU系统302中使用的另一个具有领域和模型知识的实体。学习部件304因而产生(或训练)NLU系统302的模型。训练基于初始被注解训练数据的NLU系统是可选择的并且在图3中被方框310举例说明。
NLU系统302从而被初始化并且能为它所接收的未被注解数据产生建议注解,尽管初始化步骤不是必需的。在任何情况下,NLU系统302仍没有被较好的训练,和许多它的注解将可能是不正确的。
NLU系统302在那时接收未被注解(或部分被注解)的训练数据312,为用户期望的为更好训练NLU系统302建立注解。将值得注意的是本发明也可能被用来为部分被注解数据产生注解,或为全部的,但不正确的被注解的数据。自此以后,术语“未被注解”将被用来包括所有的这些用来期望一个更深注解的数据。在图3中方框314显示在NLU系统302上接收未被注解的训练数据312。
NLU系统302在那时为未被注解的训练数据312产生建议的注解316。这在图3中被方框318显示。建议的注解316被提供到用户改正或检验接口用来向用户表达。用户可能在那时确认被建议的注解316或改变它们。这将在应用中在后面进一步的被详细描述,和在图3中被方框320显示。
一旦用户已经改正或检验了被建议的注解316来获取改正的或被检验的注解322,提供改正的或被检验的注解322到学习部件304。学习部件304在那时训练或修改基于改正的或被检验的注解322的在NLU系统302中使用的模型。在图3中被方框324显示。
在这种方法中,NLU系统302已经参与了在训练它本身中用来使用的被注解训练数据322的产生。当基于在训练过程中较早的未被注解的训练数据312建立的被建议的注解316可能不正确,已经发现对用户改正一个不正确的注解比从头开始为未被注解的训练数据建立一个注解要容易得多。因而,本发明增加了用产生的被注解训练数据的轻松度。
同样,当继续该过程且NLU系统302更好地被训练时,被建议注解316在一个较高比例时间内是正确的,或至少变得更正确。因而,系统为训练它本身在建立正确的被建议注解中开始获得大的效率。
图4是依照本发明的一个实施例的训练系统300的更为详细的方框图。图4更为详细地举例说明了NLU系统302,并且也更为详细的举例说明与系统300相应的数据结构。
特别地,图4显示NLU系统302包括语言理解部件350和当然可能是被一个特殊的自然语言理解技术使用的任何其它模型的语言模型352。语言理解部件350说明性的包括一个或更多的已知语言理解算法,用来解析输入数据和产生一个输出解析或表示输入数据的意思和意图的注解。部件350说明性的访问一个或多个在执行它的处理中的模型352。语言模型352作为例子被举例说明,尽管其它统计的或基于文法的模型,或其它模型(例如语言模型或语义模型)也可能被使用。
图4还显示语言理解部件350的输出说明性的包括训练注解选项353和注解置信标准354。训练注解选项353说明性的包括多个为每个输入到部件350的训练句子或训练短语(或其它输入单元)由部件350产生的不同注解假定。注解置信标准354说明性的包括一个表示作为在相连的训练数据注解选项353中部件350所具有的置信水平。在一个实施例中,语言理解部件350是一个产生置信标准354作为必然的结果的已知部件。置信标准354被与训练注解选项353的每部分相连。
图4也显示一个语言模型覆盖标准产生部件356。部件356被说明性的编程来确定模型352的部分是否已经充分地被训练。在此实现过程中,部件356可能说明性的识别已经连接到模型352的每个不同部分的训练数据量来确定模型352的任何部分是否还没有被训练数据充分地覆盖。部件356输出被一个用户用来访问的模型覆盖标准358。因而,如果模型352的部分还没有被用充分数量的训练数据训练,用户可能收集附加的一个给定类型的训练数据来较好的训练模型352的那些部分。
图5更为详细的举例说明系统操作的一个流程图。图6举例说明被本发明使用的一个用户界面306的一个实施例,并将与图5一起讨论。用户界面306有第一方框364,第二方框366和第三方框368。方框364是表示语言模型352(作为上面所描述的可能是模型的任何其它方式)的一个解析树。解析树具有多个节点368,370,372,374,376和378。在图6中举例说明的典型的实施例中,这些节点中的每个对应于被语言模型352所认识的一个命令。
在图6中举例说明的例子中,正在使用的自然语言理解系统是一个促进航线预定的检查和安排的系统。因此,节点368-378都代表被NLU302所认识的命令(并且因而是被语言模型352特别模型化的)。因而,所示的命令是那些例如“解释代码”,“机场清单”,“显示容量”等。每个节点有一个或多个从包含进一步依赖于定义命令节点的属性的子节点。属性是说明性的,被填满来完全识别已经被NLU系统302所认识或理解的命令节点的槽。槽也可能依次具有它们自己被填满的槽。
方框366显示多个不同的训练短语(在训练数据312中),被用来训练在方框364中被解析树代表的模型。用户可能简单的选择这些短语中的一个(例如用一个鼠标指针在它上面点击),而系统350相对于在方框364中举例说明的语言理解部件350和语言模型352应用训练短语。系统产生的被建议的解析(或注解)316被显示在方框368中。域380显示被用户选择的训练短语但也允许用户键入一个没有在方框366的列表中发现的训练短语。
在操作(如在图5中举例说明的)中,系统300首先显示语言模型(例如,模型覆盖标准358)的训练数据覆盖到用户。在图5中被方框360显示。在产生模型覆盖标准中,在方框364中举例说明的语言模型中一组规则,例如,可能有许多已经用来处理很少的训练数据的部分或文法规则。在那种情况中,如果训练数据的数量没有达到一个预先选择的或动态选择的极限值,系统将说明性的加亮或给代码涂颜色(或另外在视觉上对比在方框364中的语言模型表现的部分来显示已经被为模型的每个部分收集和处理的训练数据的数量)当然,可视的对比可能简单的显示数据量已经足够的或不足的,或它能被分成附加水平来提供一个更为有细密纹理的显示作为被使用来训练模型的每部分的训练数据的特定量。这种可视的对比也可能基于模型的性能。
如果已经处理了足够的训练数据且模型352的所有部分被充分地训练,则训练过程完成。这由方框362显示。然而,如果在方框362上,确定的是需要附加的训练数据,在那时附加的未被注解的训练数据312被输入到NLU系统302。这在图5中被方框363显示。附加的训练数据312将说明性的包括多个训练句子或短语或其它语言单元。
当用户增加如在方框363中举例说明的训练数据312时,多个训练短语或训练句子或其它单元可能被应用到NLU系统302。NLU系统302在那时为所有的流入到它的作为训练数据312的未被注解的例子产生注解建议。这由方框390显示。当然,对于每个未被注解的训练例子,NLU系统302可能产生多个连同关联的注解置信标准354一起的训练注解选项353(在图4中显示)。如果是那种情况,NLU系统302选择训练选项353中的一个作为被显示到用户的被建议的注解316。这被说明性的使用置信标准354来完成。
在任何情况中,一旦为了每个未被注解的训练例子的注解建议已经在方框390上被建立,系统准备对于用户的交互作用来或者检验或者改正建议的注解316。在其中被建议的注解316被显示到用户的特殊方法依靠能够被用户选择的如被方框392显示的处理策略。如果用户选择手动模式,处理简单地转移到方框394。在那个情况中,再查阅图6,用户简单地选择在方框366中的训练例子中的一个和系统为在方框368中的那个训练例子显示被建议的注解316。
系统也可能(在一个实施例中)加亮在具有最低置信标准354的方框368中被显示的注解部分。这在图5中由方框396显示。在一个细微不正确的和百分之百正确的注解之间发现差异可能是困难的。加亮被建议注解的低置信部分导致用户对NLU系统302最小确信的部分的注意,因而增加了用户将发现不正确注解的可能性。
如果,在方框392上,用户希望将注解时间减到最少和改进注解的一致性,用户通过一个正确的到NLU302的输入来选择这个,和NLU系统302在方框366中输出被当前选择的类似例子聚合的训练数据例子。这被方框398显示。换句话说,值得相信的是对一个用户来说收集或检验被建议注解和作出更一致的注解选择是较容易的,如果用户正在同时改正所有相同类型的被建议注解。因而,在图6举例说明的例子中,如果训练数据包括用来在“显示航班”命令(被节点378表示)上训练模型的600训练例子,用户可能希望相继地处理(或者改正或者检验)这些例子中的每个,而不是处理用其它训练例子点缀着的一些“显示航班”例子。在那种情况中,系统302将“显示航班”训练句子聚合在一起和在方框366中一起显示它们。当然,有许多不同技术可能被使用来聚合相似的训练数据,例如聚合相似的注解,和用相似的词聚合注解,来命名一些。因此,当用户点击从一个例子到下一个,用户正在处理相似的训练数据。一旦训练句子已经在这种方式中被聚合和显示,处理关于方框394继续,其中,用户为在方框368中显示的那个例子选择训练例子和解析,或注解中的一个。
如果在方框392中,用户希望通过用户改正或检验的每个例子的训练利益取最大值,用户通过一个正确的到NLU系统302的输入来选择这个选项。在那个情况下,NLU系统302呈现基于在上升次序排序中的注解置信标准354来分类的训练句子和被建议的注解316。这提供系统在列表顶部上的最小可信的例子句子。因此,当用户选择和检验或改正这些例子中的每个,系统正在学习超过当它处理一个具有一个高程度的可信度的例子时的情况。当然,被建议注解和训练句子可能也在任何其它次序中被排列,例如通过降低置信标准值。呈现在图5中被方框400显示的被置信标准排列的训练例子。
不管用户选择三个处理策略中的哪个,用户最终用一个显示呈现显示在图6中陈列的信息,或相似的信息。因此,用户必须从方框366和解析树(或注释)中选择训练例子中的一个,因为那个例子在块368中被说明性地呈现,伴随它的最低置信部分被说明性地加亮或不知何故地被显示到用户,基于注解置信标准354。这在图5中被方框396显示。
然后,用户确定注解是否如方框402所显示的正确。如果不是,用户通过简单的点击那个片断选择在解析中不正确的注解片断或在方框368中显示的注解,或者通过指针加亮它。选择不正确的注解片断在图5中被方框404显示。
在图6中显示的例子中,可见的是用户已经加亮了在被建议注解中的顶部节点(“解释代码”节点)。一旦片断已经被选择,或被加亮,系统302显示,例如在一个顺着向下移动的方框410中,所有对于注解的加亮片断有用的合法注解选择(从训练数据注解选项353中)。这些注解选项353可能在顺着向下移动的方框410中在基于在注解置信标准354上的置信次序被显示,或也在任何其它期望的次序中。这在图5中被方框412显示。
通过“合法注解选择”是意谓那些不能违反被系统302正在使用的模型或模型352的约束。例如,为了处理一个英语语言输入,模型或模型352很可能具有约束,显示每个句子必须有一个动词,或那每一个介词短语必须用一个介词开始。这种约束也可能是语义的。例如,约束可能允许一个城市在“机场清单”命令中但不在“显示容量”命令中。更多约束的任何其它也可能被使用。当用户已经选择了在方框368中是不正确的注解的一个部分时,系统302对于训练数据的那个片断不产生所有可能的解析或注解。代替的是,系统302只产生和显示对于训练数据的那个片断的那些部分或注解,这将导致全部训练句子的一个合法的解析。如果一个特殊的注解不能导致一个合法的全部的解析(一个不违反正在被使用的模型的约束的),在那时系统302不显示那个可能的解析或注解作为在顺着向下移动的方框410中的用户的一个选项。
一旦可供选择的被显示在顺着向下移动的方框410中,用户通过简单的加亮它和在它上单击来选择正确的一个。这在图5中被方框414显示。在那时处理回复到确定注解现在是正确的的方框402。
改正的或检验的注解322在那时被存储和呈现到学习部件304。这在图5中被方框416显示。学习部件304是说明性的修改基于一个最近加入片断的训练数据(例如改正的或检验的注解322)的模型的一个已知学习算法。更新的语言模型参数被在图4中的方框420举例说明,而产生那些参数的过程在图5中的方框422显示。
系统302也能为在先前的被注解训练数据中的不一致作检查。例如,当NLU系统302学习时,它可能学习到先前的或当前的被注解的训练数据是被不正确注解的。基本上,系统是否正确的检查预测了用户为过去的训练例子选择的注解。预测错误可能建议训练设置不一致。
确定是否为这些不一致作出检查是用户可选择的和被方框424所显示的。如果学习部件304为不一致作出检查,系统302再一次被控制来输出为已经被用户注解的训练数据的被建议注解。学习部件304比较存储的注解数据(被用户检验的或改正的注解并且被存储)和自动产生的注解。然后,学习部件304寻找在二个注解中的不一致(如被方框430所显示的)。如果没有不一致,那么这指被用户改正的或检验的注解不被系统认为有错和处理简单的回复到方框390,其中,注解建议被产生,为被用户选择的下一个未被注解的例子。
然而,如果在方框430上发现了不一致,这意味着系统302已经在一个充分的训练数据量上被训练,训练数据将产生一个与那个以前被用户检验的或改正的注解不一致的注解,系统具有一个相当高水平置信用户输入是不正确的。因而,处理再一次回复到方框396,其中,用户那被改正的或检验的注解再一次被显示到在方框368中的用户上,再一次用被加亮的低置信部分指引用户注意系统302已经认为可能有错误的注解部分。这为用户提供了另一个机来检查注解,以确定它是正确的如被方框402举例说明的。
当注解已经最终被检验或改正时,用户可能简单的单击在UI306上的”学习这个解析”按钮(或另一个相似的激励者)和语言模型被学习部件304更新。
也须注意,另一个特征被本发明所预期。即使只要在改正中合法的注解被产生和显示到用户,这可能需要一个相当大数量的时间。因而,本发明提供一个机制,通过用户可能限制输入例子的自然语言分析到可能分析的特定子集。这种限制可能,例如,正在限制分析到一个单个语言种类或到模型的一定部分。在图6中举例说明的例子中,如果用户正在处理”显示能力”命令,例如,用户可能在选择一个下一个训练句子之前简单的加亮模型的那个部分。这在图5中被方框460和462显示。因而,在NLU系统302正在产生被建议的注解的步骤中,它将它的分析和建议只限制到在模型中归入所选节点的那些注解。换句话说,NLU系统302将只试图映象输入的训练句子到在加亮的命令节点下的节点。这能够显著的减少处理时间量和提高在产生被建议注解中的准确性。
图7和8是依照本发明的另外的实施例,举例说明另一个特征。如上述图6所示,一旦用户选择在方框366中的一个训练句子,那个训练句子或短语被应用相对于在NLU系统302中(或它已经被应用)的语言模型(或其它模型)和系统302,产生在方框368中被显示的一个被建议注解。如果那个被建议注解是不正确的,用户可能加亮注解的不正确部分,而系统将显示所有的合法的可供选择。然而,可能发生在方框368中被显示的注解建议的一部分可能是不正确的,不是只因为一个节点被贴错标签,但代之的是因为一个节点不见和必须被添加,或因为现在有太多的节点和一个节点必须被删除或两个必须被合并。
如果一个节点必须被删除,用户简单的加亮它和在那时从顺着向下移动的方框410中选择删除。然而,如果必须作出对节点结构附加的变化,用户可能在顺着向下移动的方框410中选择“增加子节点”选项。在那种情况中,用户被用与在图7中所示的相似的一个显示来呈现。
图7具有第一域500和第二域502。第一域500显示训练句子或训练短语的一个部分,和加亮不再被在方框368中呈现的注解建议所覆盖的训练短语的部分,但应该是。将希望,完全的注解不需要覆盖在一个训练句子中的每个单词。例如,在一个命令之前的词“请”可能没有被注解。发明的本特征简单的应用于没有被注解覆盖的部分,但对于一个完全的注解来说可能是必要的。
在图7种显示的例子中,被显示的训练句子的部分是“西雅图到波士顿”。图7还举例说明术语“西雅图”被在方框368中当前显示的注解所覆盖因为“西雅图”在灰字体中出现。在粗字体中出现的术语“到波士顿”显示它们仍没有被在方框368中当前显示的解析(或注解)所覆盖。
方框502举例说明关于术语“到波士顿”的有效的所有合法的注解选项。用户能简单的通过加亮它和激励“OK”按钮来选择那些中的一个。然而,用户也可能加亮在方框500中二者任一的或全部的词(“到波士顿”),和系统302产生关于被加亮词的所有可能的合法注解选项,和显示在方框502中的那些选项。因而如果用户选择”到”,方框502将列出关于”到”的所有可能的合法的注解。如果用户选择“波士顿”,方框502列出关于“波士顿”的所有合法的注解。如果用户选择“到波士顿”,方框502列出关于“到波士顿”的所有合法的注解。在这种方式中,用户可能将在方框500(当前没有被建议的注解覆盖)中显示的训练句子的部分分成任何期望数目的节点,通过简单的加亮训练句子的许多部分,和选择在方框502中显示的合法注解选项中正确的一个。
特别如图8中所示,假设系统300已经在方框368中为一个被选择的训练句子显示了一个建议的解析或注解。这由方框504显示。假设在那时用户已经删除了一个不正确的子节点(如被方框506所显示)。用户在那时在顺着向下移动的方框410中选择“增加子节点”选项如被方框508所显示。这产生一个相似于在图7中显示那个的显示,其中,系统显示还没有被解析(自从被建议注解伙或解析的一些已经被用户删除)覆盖的训练数据的部分。这被方框510显示。
接着,系统被方框512所示的为未覆盖训练数据的一个被选择部分显示合法的可供选择。如果用户选择可供选择中的一个,则在方框368中显示的注解根据用户的选择而被改正。这由方框514和516显示,和它被确定当前注解是否完成。如果没有,处理返回到方框510。如果是的话,然而,处理关于这个训练句子被完成。这由方框518显示。
如果,在方框514用户没有从域502中选择可供选择的一个,则确定用户是否从域500中已经选择(或加亮)了未覆盖训练数据的一个部分。如果没有,系统简单的等待用户或者选择在域500中显示的未覆盖数据的一部分或者从域502中选择一个正确的解析。这被方框520显示。然而,如果用户已经加亮了在域500中的未覆盖训练数据的一部分,在那时处理回到方框512和系统为一个被选择的未覆盖训练数据显示合法的可供选择所以用户能选择正确的注解。
另外依照本发明的另一个实施例,为产生关于句子(或任何其它自然语言单元例如一个词,词组,短语或句子或句子组)的注解的多个不同的技术是已知的。例如,统计的和基于文法的分类系统对于从自然语言输入中产生注解都是已知的。依照本发明的一个实施例,多个不同技术被使用来产生为相同训练句子(或其它自然语言单元)的注解。系统302因而包括,在语言理解部件350中,多个为产生被建议注解的不同算法。当然,系统302也说明性的包括与那些不同算法联合的相应模型。图9是举例说明依照本发明的一个实施例这些技术和不同的算法和模型可能怎么被使用。
用户首先显示到系统302(通过一个用户界面激励者或其它输入技术)哪个注解产生技术用户希望使用(所有,一些,或只有一个)。这被方框600显示。技术可能被选择通过测试每个相对于人力注解句子的性能,或任何其它确定哪个是最有效的方法。系统300在那时训练与在用来初始化系统的初始被注解训练数据上的那些技术中的每个相联合的模型。这被方框602显示。被训练的模型在那时被使用来在一个如上所描述的那个相似的方式中为未被注解训练数据建议注解,同时使用多个不同的技术产生那个注解的差异。这被方框604显示。
不同技术的结果在那时被结合在一起来选择一个被建议的注解显示到用户。这由方框606显示。更多的联合算法可能被使用来精选正确的注解。例如,一个投票算法可能被使用来选择大多数注解产生技术赞同的被建议注解。当然,其它相似的或甚至更巧妙的联合算法可能被使用来从注解产生技术产生的那些中精选一个被建议的注解。
一旦特殊的注解已经被选择,作为被建议的注解,它通过用户界面被显示,这被方框608显示。
因而可见的是本发明的许多不同的实施例可能被用于为了促进及时、有效和不昂贵的训练数据的注解,以训练一个自然语言理解系统。简单的使用NLU系统本身来产生注解建议彻底地减少需要注解训练数据的时间和人工量。即使系统将在初始时经常产生错误,改正一个被建议的注解比从零开始建立一个注解的困难要小得多。
通过在改正中只呈现合法的可供选择,系统促进更有效的注解编辑。相似的,使用置信标准来集中用户的注意到被建议注解的部分,为了系统具有较低的置信度来减少注解错误和减少检验一个正确的注解建议所需的时间量。
此外,通过提供一个允许一个用户限制自然语言理解方法到模型子集的用户界面也提高性能。如果用户正在注解一群属于一个单独语言种类的数据,用户可能限制自然语言分析到那个种类和加速处理,并且提高注解建议的精确性。
本发明也可能帮助发现用户注解错误,通过应用语言理解算法到被注解的训练数据(被用户确认的或改正的)和加亮系统不同意注解的场合,或简单的显示用低置信标准加亮的注解。这系统也可能被设置来在低置信数据上分训练的优先次序。在一个实施例中,那个训练数据被呈现到用户来首先处理。
在另一个实施例中,相似的训练数据使用自动产生的注解建议或其它任何用来特征语言相似性的技术被分组在一起。这使得用户注解训练数据变得较为容易,因为用户正在同时注解相似的训练例子。这也允许用户用较少的错误更一致的注解。同样,当可能的训练例子被成群时,在训练数据中的模式可能较容易的被识别。
本发明也提供用来为更正确的结果联合多个自然语言理解算法(或注解建议产生技术)。这些技术可能被并行的使用来提高提供给用户的注解支持的质量。
另外,由于获得覆盖语言模型(或其它正在使用的模型)的所有部分的训练数据一般是重要的,本发明的一个实施例显示语言模型的一个表现,和加亮或在视觉上对比基于已经在训练那些部分中使用的训练数据量的模型的部分。这可能通过显示模型的哪个部分需要最多的训练数据,在训练数据收集努力中引导用户。
尽管关于特殊的实施例,本发明已经被描述,本领域的普通技术人员将认识到将在不脱离发明的精神和范围的情况下,可能在形式和细节中做出变化。
权利要求
1.产生被注解训练数据来训练具有一个或多个模型的一个自然语言理解(NLU)系统的一个方法,其特征在于,包括用NLU系统为每个未被注解的训练数据的单元产生一个建议的注解;为用户检验或改正显示建议的注解以获取一个用户确认的注解;和用用户确认的注解训练NLU系统。
2.如权利要求1所述的方法,其特征在于,还包括在NLU系统中初始化一个或多个模型。
3.如权利要求1所述的方法,其特征在于,为用户检验或改正而显示被建议的注解包括接收被建议的注解的一个指示用户识别部分的一个用户输入;和显示对于用户识别部分的多个选择性的被建议的注解。
4.如权利要求3所述的方法,其特征在于,一个或多个模型强加模型的约束,其中显示许多被建议的注解,包括为用户鉴别部分,显示一个选择性的被建议的注解,仅如果对于与模型约束相一致的单元,选择性的被建议的注解将导致一个全面的注解。
5.如权利要求4所述的方法,其特征在于,被建议的注解包括父节点和子节点,其中显示许多选择性的被建议注解包括当促使删除一个子节点时,显示一个用户可实际删除节点的输入。
6.如权利要求5所述的方法,其特征在于,显示许多选择性的被建议的注解包括显示没有被建议的注解所覆盖的单元一部分;和对于没有被覆盖的部分,显示选择性的被建议的注解。
7.如权利要求6所述的方法,其特征在于,用户能选择没有被覆盖部分的一个片断,其中显示选择性的被建议的注解包括为所选择的片断显示选择性的被建议的注解。
8.如权利要求7所述的方法,其特征在于,为所选择的片断显示选择性的被建议的注解,包括仅当被建议的注解与模型约束相一致,显示该被建议的注解。
9.如权利要求1所述的方法,其特征在于,还包括显示用来训练一个或多个模型的多个不同部分的一个训练数据量的一个指示。
10.如权利要求9所述的方法,其特征在于,显示一个训练数据量的一个指示,包括显示一个或多个模型的一个表现;和在视觉上对比一个或多个已经用一个训练数据极限量训练的模型的部分。
11.如权利要求10所述的方法,其特征在于,基于为一个或多个模型的一个或多个性能标准,训练数据极限量是动态的。
12.如权利要求1所述的方法,其特征在于,显示关于检验或改正的被建议的注解包括产生为被建议的注解的一个置信标准;和在视觉上基于置信标准对比被显示的被建议注解的一个部分。
13.如权利要求12所述的方法,其特征在于,在视觉上对比包括在视觉上对比具有在一个极限值之下的一个关联置信标准的被显示的注解部分。
14.如权利要求1所述的方法,其特征在于,包括在产生被建议的注解前,接收一个限制用户指示;和基于限制用户指示,限制用来产生被建议注解的自然语言理解处理。
15.如权利要求14所述的方法,其特征在于,限制自然语言理解处理包括限制自然语言理解处理到只使用一个或多个模型的用户识别部分。
16.如权利要求1所述的方法,其特征在于,还包括识别在用户确认注解和先前注解的不一致。
17.如权利要求16所述的方法,其特征在于,还包括如果一个不一致被识别,显示在视觉上对比用户确认注解的不一致部分的用户确认注解。
18.如权利要求1所述的方法,其特征在于,显示被建议的注解包括为每个被建议的注解产生一个置信标准;和基于置信标准,在一个次序中显示被建议的注解。
19.如权利要求1所述的方法,其特征在于,显示被建议的注解包括基于注解类型分类排序被建议的注解。
20.如权利要求19所述的方法,其特征在于,显示被建议的注解包括显示与另一个紧密相邻的相似类型的注解。
21.如权利要求19所述的方法,其特征在于,显示被建议的注解包括提供一个用户可激励的输入,当被激励时,允许用户继续改正或检验相似类型的注解。
22.如权利要求1所述的方法,其特征在于,用NLU系统产生被建议的注解包括使用多个不同的NLU子系统为每个单元产生多个被建议的注解。
23.如权利要求22所述的方法,其特征在于,产生被建议的注解还包括为被显示的每个单元选择被建议注解的一个。
24.一个用户界面,用来训练具有一个或多个模型的一个自然语言理解(NLU)系统,其特征在于,用户界面包括显示一个或多个模型的一个模型显示代表的第一部分;显示未被注解训练输入的第二部分;和为未被注解训练输入的被选中的一个显示的被建议注解的第三部分。
25.如权利要求24的用户界面,其特征在于,还包括一个第四部分,响应于识别被显示的被建议注解的一个部分的用户输入,显示为被识别的部分的可选择的被建议注解。
26.为训练具有至少一个模型的一个自然语言理解(NLU)系统产生被注解训练数据的一个方法,其特征在于,包括为未被注解的训练数据的一个单元产生一个被建议的注解;为多个被建议注解的不同部分计算一个置信量度;和通过在视觉上对比具有下降在一个极限水平之下相应的置信量度的部分来显示被建议的注解。
27.为训练一个自然语言理解(NLU)系统产生被注解训练数据的一个方法,其特征在于,包括用NLU系统,为未被注解的训练数据的多个单元的每个产生一个被建议的注解,每个被建议的注解具有一个类型;基于类型在一个次序中显示被建议的注解,用为被建议注解的用户改正或检验的用户可激励输入来获得一个用户确认的注解。
28.为训练使用多个不同的自然语言理解技术的一个自然语言理解(NLU)系统产生被注解训练数据的一个方法,其特征在于,包括用每个自然语言训练技术,为未被注解训练数据的一个单元产生一个被建议的注解,来获得多个被建议注解;选择多个被建议注解的一个;和显示被选择的被建议的注解,用为被建议注解的用户改正或检验的用户可激励输入来获得一个用户确认的注解。
全文摘要
本发明使用一个自然语言理解系统,普遍用于训练以助于训练那个自然语言理解系统来注解训练数据。未被注解的训练数据被提供到系统和系统建议注解来训练数据。用户被提供一个机会来确认或改正被建议的注解,而系统用被改正或被检验的注解进行训练。
文档编号G06F17/27GK1457041SQ0312349
公开日2003年11月19日 申请日期2003年5月9日 优先权日2002年5月10日
发明者A·阿赛罗, 王野翊, 王啟文 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1