自适应的自然语言接口的制作方法

文档序号:6419124阅读:179来源:国知局
专利名称:自适应的自然语言接口的制作方法
技术领域
本发明大致涉及一种使用于各种用途的自适应的自然语言接口。具体说来,本发明提供了一种接收命令、执行接收的命令并且自适应地同用户交互的方法,该方法通过使用一种自然语言接口(如自然语言语音接口)来实现。
使计算机与用户之间更友好一直以来是一个目标。越来越多的人包括非技术领域的人和小孩子,为各种目的使用计算机,如个人的、学校的或商务的目的。计算机系统也在处理更复杂的任务,从而导致了日益复杂的操作。甚至对于概念上简单的任务也要求用户执行多重复杂的步骤来完成。
此外,当一个用户在不同的应用程序或操作系统间转换时(如从MICROSOFT EXCHANGE转换到NETSCAPE),相同概念的任务要求操作者学习一系列新的步骤来完成相同的任务。例如一种概念简单的任务,如用户想查询是否收到了某个讯息,这个用户必须接受特定平台的滚动图形用户界面和特定软件供应商查看新邮件的方法的培训。显然,一个概念简单的任务也许要求用户执行多重复杂的步骤。
随着计算机用户和计算机系统的复杂性增加,人们对那些只需接受少量培训,甚至不需要培训就能使用的计算机系统和应用程序的需求也在增加。同时对于有效使用、操作和控制计算机并在计算机上运行应用软件的方法的需求也在增加。
自然或语音语言是人们沟通和表示命令的一种有效方法。例如声音识别方法和软件已经被开发至可被商业利用。虽然一些这方面的方法和软件允许用户说出某些命令让计算机执行,但是这些声音识别方法和软件仅仅以一种低水平的提取支持一系列特定的命令。用户必须学习该软件可接受的精确的语句和语法。换句话说,声音交流不能处理和解释高水平的、抽象的、自然的语言的命令。
因为自然语言是人们沟通和表达命令的一种有效和容易的方法,所以长期以来存在一种对于基于声音的命令系统和界面的需求,这种基于声音的命令系统和界面能够处理高水平的、抽象的命令并且能够对自然语言做出反应。
空军技术研究所、麻省理工学院媒体实验室、俄勒冈研究生院、微软和IBM是在语音输入领域从事研究的具有代表性的机构。(参见鲍尔“在一个交互界面上混合手迹与任务导向的语言处理的交互作用”,智能用户接口国际研讨会,1999.1.5-8,Redondo Beach,加拿大,101-104。)授予IBM公司的专利号为5,748,974的美国专利,描述了一个语音语言输入的例子,具体说来,是一种多模式的自然语言接口来执行交叉应用任务。这种多模式的自然语言接口能够以将来自用户的自然语言的用户输入(语音输入、键盘输入或手写输入),与从用户当前正在使用的应用程序中选择的信息相结合的方式解释用户的要求,从而进行一项在另一个需要处理的辅助程序中的任务。该信息从当前应用程序中通过一种通常的技术来选取。
已转让给本专利申请受让人、并且在此已被全部予以参考结合的、其申请号为08/919,138的美国共同未决专利申请描述了一种自然语言语音控制方法。这种自然语言语音控制方法能够从一种用自然语言表述的语句中产生一道命令来控制计算机操作。这种方法包括对代表用户语音的音频信号进行处理以产生数字文本的计算机数据(如ASCII文本)、用一个自然语言语法分析器处理数字文本的计算机数据,以产生一个经过语法分析的语句,这个语句包括一串词语,其中每个词语都与在这个经过语法分析的句子中的一部分语音发生联系、以及从这个经过语法分析的语句中产生命令。
本发明包含了一种接收命令和/或自适应地使用一种自然语言接口(如自然语言语音接口)输出结果和应答的方法。这种方法利用了一个基于代理器的体系结构,该体系结构包含一个前端自然语言代理器和一个或多个对应于每一类应用的应用任务代理器。
可以预期,此发明可应用于很多方面,诸如一道工序、一台仪器、一个系统、一台装置、一种方法、或者一种计算机可读介质(如计算机可读存储介质)、或者一种其程序指令在光缆或普通电缆上传递的计算机网络。以下对本发明的几个实施例进行说明。
在一项实施例中,该计算机系统的自然语言接口包含了一个自然语言代理器和至少一个应用代理器,所述自然语言代理器适用于接收和解释自然语言的用户输入且发出一个输出命令;所述应用代理器适用于接收并进而解释这个从自然语言代理器输出的命令并且输出一个可执行的指令给应用程序。这种自然语言代理器包含一个语法分析器、一个语义解释器、一个代理器通讯管理器,其中语法分析器适用于从自然语言的用户输入中产生一个经过语法分析的语句;其语义解释器适用于从这个经过语法分析的语句中产生输出命令;代理器通讯管理器适用于语义解释器间的通讯。每个应用代理器可以包括一个语义任务解释器和至少一个应用程序包装器,其中语义任务解释器适用于从自然语言代理器的输出命令中产生可执行指令,其每一应用程序包装器配置成与一个对应的应用程序相沟通。
另一项发明实施例说明的是一种计算机可读介质,在这种介质中存储了可以在计算机处理器中执行自然语言接口指令。这种自然语言接口指令通常包括接收自然语言的用户输入;从自然语言的用户输入中产生一个经过语法分析的计算机语句;把这个经过语法分析的语句映入语义操作并从语义操作中产生一个指令,这个指令可被一个应用程序执行。
还有一个实施例说明的是接收、解释和执行自然语言的用户输入的方法。这种方法通常包括接收自然语言的用户输入、从自然语言的用户输入中产生一个经过语法分析的语句、在语义上解释这个经过语法分析的语句并且从该经过语法分析语句中产生一个输出命令、输出命令给一个应用类代理器,语义上解释这个输出命令并从该输出命令中产生一个可执行的指令,然后输出该可执行指令给一个应用程序以其进行执行。
本发明是一个把一系列复杂的计算机操作提炼成一个概念上简单的任务的方法。这种自然语言接口从语法上分析用户的输入并从语义上把它映入一个知识概念结构。然后该系统决定哪个应用文件应该负责解释和执行那个命令概念。该系统利用任务应用程序包来把复杂的应用任务映射成特定软件供应商的可执行的任务。所以,本发明的自然语言接口系统允许用户通过抽象命令控制多重桌面应用。
本发明的系统减少了进入运算的障碍,并通过将一种语音系统与一种用自然的语音来处理更高层次的抽象命令的能力相结合的方式,极大地提高了工作效率。这个系统将一个语音语言接口和一个基于知识的语义解释相结合,以使那些语义等同的提炼可产生出相同的操作。语音语言的语法和语义的解释能够使使用和复杂的提炼变得容易,并且为用户提供了通过语音接触运算的途径。
这个系统和方法能够以采用主动和被动的关联性反馈技术得到的反馈信息适应于用户的不同偏好。此外,本发明可以包含一个基于自然语言的帮助系统,这个帮助系统存在于与用户合作提供帮助的自然语言代理器和每个应用类代理器之中。例如该系统可以提示用户在语义上纠正输入,帮助用户完成任务并提醒用户执行那些需要完成的任务。
本发明的系统可被利用并能与现存的软件应用程序和平台相兼容。这个系统使用了一组应用类代理器和程序包,这些程序包在应用类代理器与同类中不同的应用程序间提供接口。每个代理器与一类应用(如电子邮件)一起工作并能通过应用程序包装器与专门的应用程序进行通讯。所以,以这种模块化分布的代理器体系结构,本发明的系统和方法能扩展到多个应用中,并可升级应用于大型的网络计算机系统上。
以下将详细介绍本发明的这些特性和其它的优势及特性,并且附有图解来描述本发明的原理。
图解的简要说明

图1是本发明的系统和方法的概要图解,它包含了一个用于执行计算机应用的自适应的自然语言接口;图2是一个自然语言代理器的概要图解;图3显示了一个通过一个交互系统来点购比萨饼的传统对话管理器的简化模型;图4是一个应用类代理器的概要图解;图5是通过每个任务代理器把自然语言映入一组语义任务的图例;图6是一个个性评价网格的图例;图7是一个计算机系统的图例,该系统能被用来执行一项本发明实施例的软件并使用硬件实施例;
图8是图7的计算机系统的系统方框图。
本发明包含一个用于接收命令和/或用自然语言语音接口自适应地输出结果的系统和方法。该系统和方法是一个基于代理器的体系结构,该体系结构包含了一个前端自然语言代理器和一个对应于每一类应用的应用类任务代理器。本系统和方法可以自适应于每一个用户,包括用户的语音模式,用户发出的当前的或最近的命令以及用户的喜好。以下的描述能使任何本领域的技术人员作出和使用这项发明。具体实施例和应用的说明仅作为例子被提供,对于那些本领域的技术人员来说,可以很快地作出多种改进。在此定义的基本原理可以应用到没有离开本发明的精髓和范围的其它的实施例和应用中。所以,本发明涵盖了最大的范围,该范围包含了大量与本发明的原理和特性相符的替代物、改进物和等同物。为了清楚的目的,与本发明有关的在技术领域已知的相关技术材料的细节没有详细描述,以免给本发明造成不必要的混乱。
参照图1的概要图解,这里显示的是一个自适应的自然或语音的语言用户接口系统100,它能使用在执行计算机应用程序中。这个接口系统100通常包含一个声音或前端自然语言代理器102和一个或多个任务代理器104a-d。就象通常显示的那样,用户106传达一个输入的短语、命令或句子108给自然语言代理器102,该代理器处理这个输入的语句并且发送该输入的语句给一个适当的后端应用类任务代理器104a-d。显示在图1中的任务代理器104a-d的例子,是会议代理器104a、个人信息管理代理器104b、电子邮件代理器104c和声音训练代理器104d。每个任务代理器104a-d输出给自然语言代理器102,然后自然语言代理器102传递自然语言输出110给该用户106。
每个后端应用类任务代理器104a-d都与一类的一个或多个现存的计算机应用一起工作。这个接口系统能适应于现存的计算机应用,以便可以通过使用语音语言和其它的输入设备(如键盘和指示设备)使用户来操作计算机,从而为计算机应用提供全面的多模式接口。
虽然这种自然语言用户接口系统100通常被描述成一种语音自然语言的交互系统,但该系统100可以通过使用一个或多个可供选择的输入和/或输出机制来将其配置为接收和/或输出方式,而对于这种输入和/或输出的交互,使用的是自然语言。相匹配的可供选择的输入和/或输出方式有键盘、鼠标、触摸屏和/或屏幕显示器。
图2是一个自然语言代理器102的简图。这种自然语言代理器102与用户106通过语音语言交流。这种自然语言代理器102可优选成包括·自动语音识别系统102a;··自然语言语法分析器102b;··自然语言语义解释器102c;··代理器通讯管理器102d;··自适应的首选管理器102e;··对话管理器102f;··文本至语言的合成器102g。·自然语言代理器102执行自然语言输入的第一道解释。前端的自然语言代理器102接收输入的所有自然语言,并且决定哪个任务代理器104可以通过经过由前端自然语言代理器102解释的自然语言输入。然后,通过自然语言输入的任务代理器104可将诸如一个输出的应答返回给该前端自然语言代理器102。该前端自然语言代理器102接着将来自特定的任务代理器104的应答输出给用户106。如果这个自然语言代理器102认为最初的自然语言输入是不完整的、错误的或是不能被恰当解释的,它可以自己返回一个应答。
以下将更详细地说明该自然语言代理器102的每一个组成部分102a-g。
自动语音识别系统102a用于语音输入的自动语音识别系统目前可以方便的商业化应用。任何适当的下架的语音识别系统都可以被用作本发明的自然语言接口系统100中的自动语音识别系统102a。因此,语音识别的方法和系统的细节在此不做详细介绍。另外,纠错技术和线索字可以用来提高准确度并可进行对有效地识别语音输入的对话管理。
自然语言语法分析器102b对于自然语言语法处理过程通常有三种基本方法简单语法检查法、统计法和GB法(Government-and-Binding)。简单语法检查法用来做简单的、不复杂的语法检查。统计法检查用词模式和词共存,并且试图从语法上分析基于这种模式而出现的可能性的自然语言的句子。统计分析方法使用种种方法,如神经网络法和词汇分布法。这种统计分析方法受到错误率上限的限制并且它也很难处理各种各样的语言现象,如混乱、名词短语(NP)移动、疑问词和空项结合等。
GB方法在剑桥、MA、麻省理工学院出版社出版的《GB法原理的一些概念和推断》中被介绍(其整体在此处与本文结合作为参考)。这种基于GB的方法是使用基于通用语言的语言学原理的计算方法从语法上分析自然语言的更有力的方法。GB方法揭示了英语句子中隐含的语法结构,并能更好地帮助解析含糊的语法结构。通过使用一般原理和参数,GB方法允许一个可定制的和灵活的语法分析器适合于不同的环境和语言而几乎不加修正。
更好的地方是这种自然语言语法分析器102b利用GB法的原理和参数构架去从语法上分析自然语言计算机命令。如已结合在本文中的Hageman,L对GB法理论的介绍,描述了这一概念。用一般的原理和参数,GB方法可以相当容易地描述大量的语法和词汇,这比其它方法更具优势。用GB方法,计算机命令可被视作动词短语,这些动词短语是一个完整的英语句子的组成部分。这些句子有一个隐含的第二人称单数代词的主语,并且动词是主动的现在时态。
例如要想恢复前面进行的工作,用户106可以说“show me the firstmessage.(给我显示第一条讯息)”,这个要求会进入下面的结构进行语法上的分析(VP(Vbar(V(V_IP(V_IP show[present sg])(IP(NP(Nbar(N me[goal animate sg])))
(Ibar(NP[these inanimate sg](Det the)(Nbar(AP(Abar(A first)))(N message)))))))))这个语法分析使计算机把动词映射为一个计算机命令动作,此时名词短语(NP)作为宾语,形容词短语(AP)作为宾语的属性。
自然语言语义解释器102c这种自然语言语义解释器或解释引擎102c可优选为一个基于结构的命令的解释系统。这种自然语言语义解释器102c可以使用上下文感应的方法论解释语法分析。这种自然语言语义解释器102c使用一种知识库,该知识库使用每个应用程序都能处理的概念接口来扩充。这种自然语言语义解释器102c接受语音语言请求的语法分析,并把它映射为一个一般概念框架,该框架用来调用适当的应用程序方法。表1列出了概念接口的例子。
输入计算机的请求通过语义解释引擎102c,很好的把一个经过语法分析的语句转换成一个可变长度的以动词开头的结构中。这个过程将可变长度的名词短语作为自变量。这些名词短语依次拥有作形容词短语的自变量。开头的动词描述一个操作概念。在这个操作中用来描述宾语的名词短语作为主题概念来完成,描述宾语类型的形容词短语是概念的修饰语。
逆向语法生成机制这种语义解释引擎102c还可以包括一个逆向语法生成机制。这个逆向语法生成结机制可以应用于每个代理器中,如自然语言代理器和/或每个任务代理器。该逆向语法生成机制包括一个清单或每一个词的矢量以及在该清单中每一个词的相应的概率。例如对于词“I”、“eye”或“aye”,关联的矢量或清单包括“I”、“eye”或“aye”这些词和相应出现的概率“80%”,“15%”,“5%”。这些概率可以预先确定,也可根据每个用户对使用的词汇的选择或依赖用户使用词汇的子集或全集来调整。
一旦接收到这个语音语言要求的语法分析语句,语义解释引擎102c用每一个词的清单来确定语法分析语句的排列。例如在使用上述矢量和忽略所有其它词的清单时,如果一个输入的要求是“I want to gohome,”,则语法分析的排列可能包括“I want to go home” ,“Eye want to go home” ,“Aye want to go home” 。
语义解释引擎102c使用这个排列确定哪些词语最符合这个语法分析语句的语法。为了确定每个最适合的词,如果有着最高概率的词(如上文中举例的“I”)与给出的上下文相配,则这个词将被赋值并确定。如果这个词与给出的上下文不相配,而下一个有第二高概率的词与给出的上下文相配,则对此词赋值并确定,如此下去,直到找到一个相配的词被确定。当然,如果没有相配的词被确定,则自然语言代理器可以要求用户澄清或纠正其要求。
操作概念和主题概念的组合被用来决定哪个任务代理器来处理这项要求。如果这项要求针对一个专门的任务代理器,这个要求就被传递到那个专门的任务代理器那里。如果这个要求针对自然语言代理器102自己,则一个与此命令相联系的程序就被调用,此时主题和修饰语作为自变量。使用路由命令自变量比仅用动词能更好地澄清。
以上描述的解释方法具有允许自然语言代理器102询问用户以澄清请求的优点,例如如果最初的要求是不完整的,或换句话说,不能被自然语言代理器102正确解释。又如如果自变量与动词不匹配,则自然语言代理器102可以提出一个澄清的请求。
进一步讲,上述的解释方法有允许自然语言代理器恰当地解释自然语言的要求的优点,而这个用户输入的自然语言的要求不必符合专门的结构。例如在要求一张从波特兰到波士顿的飞机票时,用户可以说“I’dlike a ticket to Boston from Portland.”也可以说“I’d like a ticketfrom Portland to Boston.”。在应答里,自然语言代理器102可能要求澄清是到俄勒冈州的波特兰,还是到缅因州的波特兰。上述的解释方法具有不依赖某个关键词来恰当解释用户要求的优点。而且,这种解释技术既可以是基于上下文的,或者是上下文敏感的。
代理器通讯管理器102d经过代理器通讯管理器或模块102d,通过使用知识查询操作语言(KQML)或任何其它相匹配的语言,应用类任务代理器104可以相互通讯。应用类代理器104间的讯息内容可以用任何相匹配的格式编码,最好是知识交换格式(KIF)。当一个带有表述行为的词“achieve”的知识查询操作语言(KQML)的讯息被一个代理器104接收时,通过一个类似于以上描述的关于语义解释器102c的语义解释知识库,这个经过知识交换格式(KIF)编码的概念结构被代理器104进一步解释。在这个事件中,知识库仅包含关于如何映射应用专门的修饰语到应用任务参数上的信息。使用知识查询操作语言(KQML)和知识交换格式(KIF)允许不同代理器104轻易地互相交流。尤其,自然语言代理器102通过代理器通讯管理器102d将用户的要求发送给应用类代理器104,并且通过代理器通讯管理器102d,应用类代理器104发送要求返回到自然语言代理器102或一些其它的代理器。因此,一个电子邮件类代理器104c可以通过代理器通讯管理器102d,使用一个KQML/KIF的语句请求来自一个文件管理器类的代理器(未显示)的信息。
上述的方法具有模块化分布不同实体的优点,该优点是通过允许不同应用类代理器104有不同的子集词典和具体的任务语义解释知识库来实现的。它还允许类代理器104通过对局部语义解释表的轻易地修改来处理特定软件供应商的应用程序特征。以下将参照应用类代理器104对此进行更详细的描述。
任务的路由选择机理类似于银河Ⅱ(GalaxyⅡ),她集成了三个独立的语音控制系统,形成了一个大的语音控制的系统,在1998年11月30日至12月4日于澳大利亚的悉尼(p.931)召开的关于语音处理的第五次国际研讨会上,Seneff等人在《银河Ⅱ对话系统发展的参考结构》一文中曾对此作过一些讨论,其内容已完全结合在本文中。现在的银河Ⅱ(Galaxy Ⅱ)要求用户清楚地从一个域转换到另一个域。
自适应的优选管理器102e自适应的优选管理器102e与自然语言的每一个代理器102相联系,同时也与每个用户106相联系。自适应的优选管理器102e的任务是通过暗暗地监视用户的行为(如在背景里观察)和/或通过用户106以积极的和/或消极的参数选择所发出的指令来获悉什么默认条件是用户首选的。这些参数选择可以被运行类似的应用类代理器104的不同的用户106共享。
这个自适应的优选管理器102e使用了关联性反馈技术。关联性反馈技术广泛地应用于带有说明性参数选择的首选项最优化。一个执行基于参数选择操作的请求可以作为一个查询被模式化,这个查询能在一个文档集中找出文档。在这个广泛用于信息检索的技术里,一个文档对于一个查询的关联性通过这个文档有多少与查询术语相匹配来被估量。在这个首选项要求的领域里,一个行为的结果类似于一个文档,在这个文档里,首选项类似于一个查询。使用这种置换,排列操作要求的结果的信息检索技术可以按照用户的参数选择被适用。在语音请求中确定的准则也被分解为参数选择。为了首选项匹配,该信息检索公式通过小查询简化方程式来适用于首选项排列,见公式(1)similarity(Q,D)=Σi=1t(IDFi*Wij)(Σi=1t(IDFi)2*Σi=1t(Wij)2)1/2---(1)]]>t独立术语的总数;wiq=(.5+(.5qfreqiq/maxfreqq))x IDFiwij=dfreqijx IDFiqfreqiq术语i在要求q中的频率;dfreqij术语i在结果j中的频率;
maxfreqj任何术语在查询中的最大频率,maxfreqq;IDFi=log2(maxn/ni)+1N结果数ni在结果中术语i出现的总数;maxn任意术语在结果中的最大频率。
定性的排列可以给排列公式(2)和公式(3)增加一组权重来被量化,通过下面在IDFi的定义中阐明把应用的权重加给术语。
为了提高查询的精度和查全率,关联性反馈技术已经用在了信息检索的技术中。在关联性反馈中,查询术语通过被用户选择的检索术语再次加权。在用户不能详尽选择全部相关应答的情况下,该术语的权重的再加权可以被公式(4)和公式(5)执行。
最初的权重Wijk=(C+IDFi)*fik(4)反馈Wijk=(C+logpij(1-qij)/(1-pij)qij)fik(5)这里Wijk术语i在首选项j和结果k中的权重;IDFi术语i在全组结果中的IDF权重;pij术语i在该组首选项j的相关结果中的概率;qij用该组首选项j非相关结果给术语i赋值的概率;fik=K+(1-K)*freqik/maxfreqkfreqik术语i在结果k中的频率;maxfreqk任意术语在结果k中的最大频率。
如上面所看到的那样,执行一个带有多种参数的任务可以作为一个信息反馈查询被模式化。在这种情况中,查询术语的权重能作为用户的首选项权重被模式化。
帮助系统随着基于自然语言的系统从复杂的任务中提取语义概念,众多的帮助系统被隐含地编码在知识库中。代替询问“How can I send myspreadsheet to John(如何能把我的电子表格发送给John)”,用户要求自然语言代理器102“Send the spreadsheet to John.(发送电子表格给John)”。如果给了无效的参数,用户106将被提示纠正错误的参数。然而,自然语言接口系统100也能够通过产生一个需要帮助的请求如何运行的解释,来处理这个帮助请求。它还能显示一个用于完成任务的典型的用户请求范例。
对话管理器102f自然语言代理器102还包括了一个对话管理器102f。自然语言代理器102的对话管理器102f控制着用户106和自然语言接口系统100之间的交互作用。对话管理器102f是一个有限状态机器(FSM),类似于Cohen的文章(《多模式交互作用的效率一个案例研究》,第五届语音语言处理国际会议,1998,11月30日至12月4日,澳大利亚,悉尼,第253页)中描述的一个机器。这里全文参考。
对话管理器102f处理诸如接收用户的输入,获取任务的参数,要求澄清和询问对任务的确认等这样的任务。
处理自然语言命令的能力扩展了传统对话管理器的概念。传统对话管理器的功能类似于接收对话的有限状态机器(FSM)。例如,如图3所示,通过一个交互系统定购比萨需要用户确定比萨的类型,比如比萨的大小和表面物品。在用户必须选择的比萨大小(小号,中号或大号)和表面物品(奶酪,夏威夷物或胡椒)的地方,可以采取一个简化的模式,并确认定购。如果在选择表面物品时想改变比萨的大小选择,那么或者进行这种改变的能力必须写入FSM或者用户必须等到定货步骤结束。
相比而言,对于语音语言命令,这些对话步骤很多都是不必要的。通过一组选择,一些FSM被归纳为一组逻辑运算。在这种情况下,选择一个比萨是一个在一组“异”(XOR)运算上的(也就是小号,中号或大号)“与”(AND)运算(大小,表面物品和确认)。因此,在语音自然语言中,用户可以简单的说“我想定购一个大奶酪比萨”。
很明显,一个自然语言语句能完成所有的选择而且仅需进行一次确认。然而,在不同情况下会产生附加的对话问题。例如,用户可能会提出一个不完整的问题如“我要一个奶酪比萨”,或提出不正确的问题如“你能送veggie比萨吗”,或者给出一个需求信息如“你有什么类型的比萨?”,或者更改一个请求“我想要一个小一点的”,或者给出了一个脱离了对话语境的请求如“我想看我的电子邮件。”可以引入全局状态变量来允许对话管理器102f灵活地处理这类语音语言要求。全局状态变量能独特地识别用户106和自然语言代理器102之间的交互作用状态。自然语言代理器102的状态可以处于两类之一IDLE(空闲态)或DEFINED(定义态)。如果自然语言代理器102处于IDLE状态,自然语言代理器102就不能活跃的与用户106对话,也不能以缺省的全局逻辑性解释这种请求。如果自然语言代理器102处于DEFINED状态S1,对话的设计者可以选择确定一组它能接受的语义结构和操作。如果语义结构未被定义,则可以认为这个操作脱离了语境。
通过上面描述的结构,如果出现一个不完整的请求,用户106被提示需要更多的信息;如果作出不正确的请求,用户106将被给出一组供选择的选项;如果改变请求,可以改变命令;如果给出了一个超出脱离了对话语境的请求,用户106会被询问是否确实需要一个语境转换,并给出将丢失当前语境的警告。
文本至语音合成器102g自然语言代理器102可以让用户106选择所收到的信息是以屏幕上的文字显示或是用文本语音合成器102g作出的合成声音。文本语音合成器102g可以使用目前商业化的技术通过语音向用户106提供信息。文本语音合成器102g可以利用语调为用户106提供更自然的合成语音声音。此外,自然语言接口系统100可以使用化身(Avatars)作为输出。文字和语音信息可以结合能被这些应用和/或代理器显示的其它图形项来传递。
应用类代理器104如图4所示和上面描述的,自然语言代理器102的代理器通讯模块102d允许应用类代理器104和自然语言代理器102之间的通讯。每一个应用类代理器104可以用具有相似概念操作的一个单类应用程序112来较好地工作。例如,不同的电子邮件应用程序一般执行同样的概念操作,如发送和接收邮件,但是通过不同的步骤来进行这些操作。
每一个应用类代理器104应该包括一组应用程序包装器104A,一个语义或任务解释引擎104B,一个应用类通讯或对话管理器104C,一个自适应应用类优选管理器104D,和一个应用类帮助系统(未显示)。
应用类代理器104和各个不同类型的特定软件供应商应用程序112之间的通讯是通过一个应用程序包装器104A来实现的,应用程序包装器104A将概念操作解释成一组应用程序具体操作。任务应用程序包装器104A是应用类代理器104和不同的该类应用程序112间的接口。使用包装器104A,应用类代理器104和专门应用程序112之间的通讯允许结合现有的应用程序进入系统100的结构。例如,一个电子邮件代理器会有一个包装器与每一个电子邮件系统交互作用,如NETSCAPE和MICROSOFT EXCHANGE。
为了和现有的应用程序配合交接,包装器104A可以用特定平台的专用宏(macro)语言之一来书写,平台专用macro语言示例见表Ⅱ。
任务或语义解释引擎104B与上面所述的自然语言代理器102的语义解释引擎102c相似。任务解释引擎104B用作每一个代理器104的知识库。任务解释引擎104B接收语义结构表示作为输入。以结构的开头动词(操作请求)和名词短语(参数)为基础,任务解释引擎104B调用一个向任务应用包装器104A发送一组请求的例程。
应用类对话管理器104C与上面描述的自然语言代理器102的自然语言代理对话管理器102f相类似。应用类对话管理器104C管理用户106和应用类代理器104之间的交互作用,澄清不明确的请求,询问确认和获得不完整的参数。
应用类自适应优选管理器104D记录每一个任务的用户参数选择。这个选择用与上面描述的用于自然语言代理器自适应优选管理器102e的通用自然语言代理器的选择计算相似的方法来计算。
虽然自然语言接口系统100以这种自然语言能力期望用户能摆脱大多数对帮助的需要,但是,每一个应用类最好还是有一个帮助能力来增强本发明的自然语言接口系统100的最小培训性能。帮助系统可以在应用类解释引擎104B中被编码,其结果是用户的请求导致来自应用类代理器104的指令和解释。例如,象诸如“我如何作,”“你能让我看一下吗,”“可能的值是什么”这样的请求会导致从应用类代理器102产生具有如何执行这个任务的指令和解释这样的反应。
帮助系统可以提供各种类型的帮助信息。帮助系统可以提供代理器功能的描述,诸如应用程序的一般用法和代理器可以执行的任务。而自然语言接口系统100被设计成无限制输入,含糊的决定可能需要在语法上加以限制,而帮助系统可以向用户106提供不同任务的语法。因此,如果用户106不能让应用类代理器104来执行一个任务,用户106可以询问如何执行一个操作。帮助系统能用一个简单的自然语言语句作出响应。此外,帮助系统也能提供适宜的参数值和范围以及通常包括应用程序在内的典型的普通帮助信息,例如,如何使用专门的应用程序。
例子地址簿代理器系统100的操作将用一个地址簿代理器参考作为例子来简短的描述。地址簿代理器包括一个任务解释引擎,一个对话管理器和一个或多个任务包装器。地址簿的典型关键操作包括显示(显示一个地址的全部或部分),改变(改变一个地址的全部或部分),增加(增加一个新的地址),删除(删除一个现有地址),排序(按给定的类别进行地址排序),打开/关闭(打开或关闭一个地址簿),存贮(存储一个地址簿),拷贝/粘贴(从地址簿的一部分资料拷贝和粘贴到另一部分)。
这些操作可以利用语义结构知识库由地址簿代理器进行解释。构架可以插入自然语言代理器的路由表中。表Ⅲ所示为这种构架的一个例子。应用包装器与特定的地址簿应用程序相连接。这个程序将处理如上所述的任务。而且将与例如MICROSOFT EXCHANGE和NETSCAPE这样的地址簿模块相连接。
语义的映射图5用图说明了使用语义映射器144,在一大组语法修正自然语言短语、命令或句子140中,将用户的输入短语、命令和句子映射为一组语义任务或操作142。更好的是,为自然语言代理器102的自然语言语义解释器102c和/或每一个应用类代理器的语义解释引擎104B提供了一个语义映射器144。例如,对文字处理应用,电子邮件应用和电子表格应用可以提供不同的语义映射器144。表Ⅳ提供了对一类应用的任务代理器的说明列表和对应于每一个任务代理器的样品任务清单。
一类应用的每一个任务代理器最好提供给它一组自己的语义修正语句,语义操作和语义映射。因此,在假定在某类每个应用程序完成同样的或一般重叠的一组任务的情况下,对于相应类别的应用,每一个任务代理器作为通用用户接口服务。换句话说,在给定的一类应用中,有一个有限的和相对小的一组语义等同操作或任务142,它可以被这一类中的每一个应用程序执行。

例如,对于文字处理类的应用,用户可以输入“给约翰.史密斯写一封信,”“请开始为约翰.史密斯起草一封信,”或“你能为我的朋友约翰.史密斯写一封信吗?”在一大组语法结构修正语句140中,上面每一个句子都是语法上正确的句子。这些用户的命令都是语义上等同的。在每一个情况下,语义映射器144映射用户的输入为小组的语义操作142内的特定操作。在这个例子中,语义映射器144将每一个用户输入映射为同样的操作为约翰.史密斯起草一封信,而且同样的任务被执行。因此,不管具体的用户输入是什么,语义映射器144都能在一个给定的类应用中执行同样的任务。
该类中的每个应用可以用不同的方法来完成相同的语义任务。对应于上例中任何一种用户输入,虽然特殊的文字处理器应用可以使用与其它文字处理器应用不同的方法,但是,文字处理器应用均为约翰.史密斯编写或起草一封信。通过为每类应用使用一套核心的语义相同任务142,本发明允许用户独立于具体的应用程序而完成相同的语义任务。
虽然一个单任务代理器能较好地提供给每类应用,但是每个任务代理器的任务引擎都包括一个针对每个应用的专用处理执行模块。例如,文字处理任务代理器可以包括对应于MICROSOFT WORD的执行模块,也包括对应于WORD PERFECT的另一个执行模块。专用处理执行模块为特定的应用程序解释语义操作。
语义映射器144能还原惯用语和输出一个映射语义操作。输入句通常按WH-问句、请求句、命令句、不定式、从句、语义映射句和语境依存句来分类。表5列出了输入句的示例。无论输入句如何分类,每个输入句都可被映射为一个语义操作。更好地是,每个映射语义操作是动词短语的形式,或是隐含非短语的祈使句。“显示我的邮件信息”即是隐含非短语“你”的祈使动词短语的一个例子。

此外,对于各种输入句,由用户106提供的语音输入句108可以包含一个或多个可能发生的几种错误。这些错误包括不可识别的词、错误语法、不能处理的动词和宾语、不能处理的动词/宾语属性和/或专门任务错误。自然语言代理器102可以较好地处理和访问一些错误,适当的任务代理器104可以较好地处理和访问另一些错误。例如,自然语言代理器102能较好地处理和访问与不可识别的词、错误语法和不能处理的动词有关的错误。自然语言代理器102或任务代理器104可以处理和访问与不能处理的宾语有关的错误。此外,任务代理器104能较好地处理和访问与不能处理的动词/宾语属性和专门任务错误有关的错误。
正如上面讨论的,目前发明的接口100是一个自适应的自然语言接口100。通过首次识别个性类型、个性特征或用户的特点以及利用反应用户的标志符号,自然语言代理器102的输出能较好地适应于用户的个性。图6表示一个个性评估栅格的例子,这里用户可以是四个类别之一分析的、驱动的、友好的和表达的,类别根据相关的确定性和反应性水平来确定。根据一些如用户音色、音调、速度和用户使用的实际词语等因素,自然语言代理器可以确定四类中的哪一类最好地表示了用户的特征。当然,自然语言代理器可以使用任何其它因素、个性评估方法和/或个性特征型式。
自然语言代理器102是自适应的,在通过向用户传递输出适应用户或使用简化的激励反应向用户请求附加信息时,它使用用户106的决定。因此,这个决定可以影响音色、音调、速度和/或用户使用的实际语言来响应用户。例如,在向用户传递输出或向用户请求附加信息时,自然语言代理器可以是有感情的,例如通过改变使用词、传递词的速度、词的音色和/或音调来表达确定性和/或反应性的相同水平。此外,和用户看见的与专门的图形界面一样好的形式可以由用户及目前使用和/或基于用户个性确定的应用程序来确定。
虽然前面的自适应自然或语音语言用户接口系统100是根据自然语言语音输入来描述的,但是,接口系统也能识别和解释自然语言非语音命令,如文本。自然语言接口能较好地以计算机处理器可执行的计算机代码命令形式组合在计算机程序产品中和存储在计算机可读介质中。
图7是一个计算机系统的图例,该系统能用来执行一项本发明实施例的软件并且使用硬件实施例。图7所示的计算机系统201,包括显示器203、屏幕205、机箱207、键盘209、鼠标211。鼠标211能有一个或多个键与GUI互相作用。机箱207装有光驱和/或软驱213,系统存贮器和一硬盘(见图8),硬盘能用来保存和恢复包含计算机代码的软件程序,这些计算机代码执行该发明的功能和发明使用的数据等。虽然光驱和软驱215是典型的计算机可读存贮介质,但是也可以使用其它的计算机可读存贮介质,包括磁带、闪存、系统存贮器、RAM、其它类型的ROM和硬盘驱动器。此外,包含在载波中(如在包括互联网在内的网络中)的数据信号也可以是计算机可读存贮介质。
图8表示执行该发明的软件实施例和使用硬件实施例的计算机系统201的系统方框图。在图7中,计算机系统201包括显示器203、键盘209和鼠标211。计算机系统201也可以包括子系统,如中央处理器251、系统存贮器253、固定存贮器255(如硬盘)、可移动存贮器257(如光驱)、显示适配器259、声卡261、传感器263(扬声器、麦克风及其它设备)和网络接口265。适宜使用该发明的其它计算机系统可增加或减少的子系统。例如,另一个计算机系统能包括多个处理器251(即多处理器系统)或一个高速缓存。
计算机系统201的总线结构用箭头267表示。然而,这些箭头是任何连接子系统的内连型式的说明。例如,局部总线能用来连接中央处理器到系统存贮器和显示适配器。图8中的计算机系统201只是适合使用该发明的计算机系统的一个例子。也可以使用有不同子系统配置的其它计算机结构。
当在这里描述和说明包含该发明的较好的实施例时,应注意到,这仅是说明,在不偏离本发明的精髓和范围内,可以作出许多修改。因此,这项发明只是根据下述的权利要求书来确定定义。
权利要求
1.一种用于解释自然语言用户输入的计算机系统的自然语言接口,该自然语言接口包括自然语言代理器,适用于接收和解释自然语言用户输入并输出一条输出命令;至少一个应用代理器,适用于接收和进而解释自然语言代理器的输出命令和输出对一个应用程序的一条执行命令,该自然语言代理器包括语法分析器,适用于从自然语言的用户输入中产生一个语法分析句子;语义解释器,适用于从语法分析句子中产生输出命令;代理器通信管理器,适用于提供语义解释器和至少一个应用代理器间的通信。至少一个应用代理器,每一个都包括语义任务解释器,适用于从自然语言代理器的输出命令中产生可执行命令;至少一个应用程序包装器,配置每个包装器与一个对应的应用程序通信。
2.权利要求1的自然语言接口,其自然语言代理器的语义解释器包括一个语义映射器,适用于将语法分析语句映射为语义操作以作为输出命令。
3.权利要求1的自然语言接口,其自然语言代理器还包括一个语音识别系统,适用于接收和识别自然语言用户语音输入和产生自然语言用户请求。
4.权利要求1的自然语言接口,其自然语言代理器还包括一个对话管理器,适用于向用户提供反馈,以表明自然语言代理器理解自然语言用户输入,并适用于在必要时用自然语言与用户相互配合,以辨明自然语言用户输入。
5.权利要求4的自然语言接口,其自然语言代理器还包括一个文字至语音合成器,适用于以语音向用户提供语音反馈。
6.根据权利要求1的自然语言接口,其自然语言代理器还包括一个自适应优选管理器,适用于产生由用户选定的缺省条件,缺省条件对每一个用户是特定的,并且/或者对多用户是公有的。
7.权利要求1的自然语言接口,其每个应用代理器的语义任务解释器还包括一个语义映射器,将输出命令映射为一个语义操作,并以作为执行命令。
8.权利要求1的自然语言接口,其每一个至少一个应用代理器还包括一个对话管理器,适用于向用户提供自然语言反馈,以表明应用代理器理解了自然语言用户输入,并适用于必要时用自然语言与用户相互配合,以辨明自然语言用户输入。
9.权利要求1的自然语言接口,其每一个至少一个应用代理器还包括一个自适应优选管理器,适用于产生因特定应用而由用户选定的缺省条件,缺省条件对每一个用户是特定的,并且/或者对多用户是公有的。
10.权利要求1的自然语言接口,包括每类应用程序的至少一个应用代理器中的其中之一,每类应用程序从下列程序组中选择电子邮件、传真、信函、文件、操作系统、地址、游戏、航空模拟器、机动车模拟器、舰艇模拟器、运动会模拟器、战争游戏和战略模拟器、角色扮演模拟器、动作模拟器、个人信息管理器、打印机、日历、终端、旅行、百科全书、图象观察器、C++、Basic、图形用户界面、简报、图表、会议、日程、电话、声音邮件、文字处理器、电子表格、网、网络、数学、辅助号码簿、互联网零售、通用家庭设施代理、K-12教育、普通教育、基于工作任务的培训、互联网事件查找、互联网产品信息查找、基于互联网的会议日程、硬件管理器。
11.一种计算机可读介质,在该介质中存储了可在计算机处理器中执行的指令,该指令包括接收自然语言用户输入;从自然语言用户输入中产生一个经过语法分析的句子,将这个经过语法分析的句子映射为一个语义操作;从语义操作中产生一条由一个应用程序执行的指令。
12.权利要求11的计算机可读介质,其中所述接收自然语言用户输入包括接收自然语言语音输入。
13.权利要求11的计算机可读介质,其中所述指令还包括向用户提供反馈,以表明处理器理解了自然语言用户输入;必要时用自然语言与用户相互配合,以辨明自然语言用户输入。
14.权利要求13中的计算机可读介质,其中所述向用户提供反馈包括向用户提供语音反馈。
15.权利要求11中的计算机可读介质,其中存储的指令还包括产生一套由应用程序产生的执行指令的缺省条件,缺省条件对每一个用户是特定的,并且/或者对多用户是公有的。
16.权利要求11中的计算机可读介质,在应用上,是从下列程序组中选择一个或多个应用之一电子邮件、传真、信函、文件、操作系统、地址、游戏、航空模拟器、机动车模拟器、舰艇模拟器、运动会模拟器、战争游戏和战略模拟器、角色扮演模拟器、动作模拟器、个人信息管理器、打印机、日历、终端、旅行、百科全书、图象观察器、C++、Basic、图形用户界面、简报、图表、会议、日程、电话、声音邮件、文字处理器、电子表格、网、网络、数学、辅助号码簿、互联网零售、通用家庭设施代理、K-12教育、普通教育、基于工作任务的培训、互联网事件查找、互联网产品信息查找、基于互联网的会议日程、硬件管理器。
17.权利要求11中的计算机可读介质,其中所述计算机可读介质是从下列设备组中选择光盘、压缩盘、软盘、磁带、闪存、系统存贮器、硬盘、包含在载波中的数据信号。
18.接收、解释和执行自然语言用户输入的方法包括接收自然语言用户输入;从自然语言用户输入中产生一个经过语法分析的语句,语义上解释这个经过分析的句子并从中产生一条输出命令,输出这个输出命令到一个应用类代理器,语义上解释这个输出命令和从中产生一条可执行指令,输出可执行指令到一个应用程序,由应用程序执行。
19.权利要求18中的接收、解释和执行自然语言用户输入的方法,其中所述接收自然语言用户输入包括接收自然语言语音输入。
20.权利要求18中的接收、解释和执行自然语言用户输入的方法,还包括向用户提供反馈,以表明处理器理解了自然语言用户输入;必要时用自然语言与用户相互配合,以辨明自然语言用户输入。
21.权利要求20中的接收、解释和执行自然语言用户输入的方法,其中所述向用户提供反馈包括向用户提供语音反馈。
22.权利要求18中的接收、解释和执行自然语言用户输入的方法,还包括产生一套由应用程序产生的执行命令的缺省条件,缺省条件对每一个用户是特定的,并且/或者对多用户是公有的。
23.权利要求18中的接收、解释和执行自然语言用户输入的方法,其中所述解释经过语法分析语句并产生输出命令包括将经过语法分析的语句映射为一个语义操作,并以此作为输出命令。
24.权利要求18中的接收、解释和执行自然语言用户输入的方法,其中所述解释输出命令和产生可执行指令包括将输出命令映射为一个语义操作,并以此作为可执行指令。
25.权利要求18中的接收、解释和执行自然语言用户输入的方法,在应用上,是从下列程序组中选择一个或多个应用之一电子邮件、传真、信函、文件、操作系统、地址、游戏、航空模拟器、机动车模拟器、舰艇模拟器、运动会模拟器、战争游戏和战略模拟器、角色扮演模拟器、动作模拟器、个人信息管理器、打印机、日历、终端、旅行、百科全书、图象观察器、C++、Basic、图形用户界面、简报、图表、会议、日程、电话、声音邮件、文字处理器、电子表格、网、网络、数学、辅助号码簿、互联网零售、通用家庭设施代理、K-12教育、普通教育、基于工作任务的培训、互联网事件查找、互联网产品信息查找、基于互联网的会议日程、硬件管理器。
全文摘要
本发明公开了一种为计算机系统提供自然语言接口的系统和方法,该系统和方法能解释自然语言的用户输入并用自然语言输出响应。系统(102)包括一个自然语言代理器和至少一个应用代理器,自然语言代理器适用于接收和解释自然语言的用户输入且发出一个输出指令;应用代理器适用于接收并进而解释来自自然语言代理器的输出指令,并向一个应用发出一个执行命令。自然语言代理器包含一个语法分析器(102b),适用于从自然语言的用户输入中产生一个经过语法分析的语句,一个语意解释器(102c),它适用于从这个经过语法分析的语句中产生一个输出指令,还有代理信息管理器(102d),适用于提供语意解释器之间的讯息传递。每个应用代理器可以包含一个语意任务解释器和至少一个应用程序包装器。
文档编号G06F17/27GK1313972SQ99810028
公开日2001年9月19日 申请日期1999年8月20日 优先权日1998年8月24日
发明者瑞驰玛特·哈脱诺, 吉珊·可汉, 帝谋帝斯·特加迪, 哈森·阿拉姆, 盖克·威优 申请人:Bcl计算机有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1