分级语言模型的制作方法

文档序号:6354488阅读:134来源:国知局
专利名称:分级语言模型的制作方法
技术领域
本发明涉及语音识别以及基于对话的系统的领域,更具体地说涉及利用语言模型将语音转化为文本。
背景技术
语音识别是利用计算机将由麦克风接收到的声信号转换成一组文本文字、数字或符号的过程。然后可以将这些识别出来的文字用在各种计算机软件应用程序中,以便进行例如文档准备、数据录入、以及提示与控制等。语音识别技术的发展为提高用户工作效率提供了一种重要的途径。
语音识别系统可以对声信号进行建模和分类以形成声音模型,这些模型是被称为音素的基本语言单元的表达。一旦接收到该声信号,该语音识别系统分析这些语音信号,在该声信号内识别出一系列语音模型,并且对于给定系列的声音模型得出可能的候选单词列表。
随后,语音识别系统可以利用语言模型作为指导对这些可能的候选单词进行上下文分析。具体地说,语言模型可以表示对将单词组合以形成句子所采用的方式的限制。语言模型通常是一种统计模型,该模型能够表示一个单词紧挨着另一个单词或词组出现的可能性。语言模型可以被规定为一个有限状态网络,其中明确地列出了在每个单词后面允许跟随的单词,或是可采用一种对上下文敏感的语法以更加复杂的方式来实现。其它示例性的语言模型可以包括但不限于n-字母组(n-gram)模型和最大熵语言模型,这些模型在本领域都是已知的。语言模型的一个通常示例是n-字母组模型。具体地说,双字母组(bigram)和三字母组(trigram)模型都是在本领域内通常所采用的n-字母组模型的例子。
传统的语言模型可以通过对文本的训练语料库进行分析而得出。训练语料库包含有反映了人类说话的一般方式的文本。可以对该训练语料库进行处理以确定由用来将语音转变成文本(也被称为语音译码)的语音识别系统所使用的统计语言模型。应该理解的是,这些方法在本领域是公知的。例如,关于对语言模型和构建语言模型的方法的更全面说明,可以参见Frederick Jelinek(MIT Press 1997年出版)的《语音识别中的统计学方法(Statistical Methods for SpeechRecognition)》。当前在本领域中,语音识别系统可以使用语言模型的组合来将用户话语(spoken utterance)转换成文本。每个语言模型可以用来确定最后所得到的文本串。可以在统计学上对由每个语言模型所得到的文本串进行加权来确定一个最精确或最有可能的结果。例如,语音识别系统可以结合包含在该系统内的一般或普通语言模型以及从由用户口授的最初几个口述会话(dectation session)或文档中得出的用户专用语言模型。随着用户口授新的文档或开始新的口述会话,一些语音识别系统可以不断增强现有的语言模型。因此,在许多传统语音识别系统中,其语言模型是能够持续地更新的。
遗憾的是,随着语言模型在不断地扩充,主题特定的用户口述的重要性将会降低。尤其是,随着语言模型中的数据量的不断增长,新添加的语音会话的作用会降低。同样,新近的用户会话越多,不管是不是主题特定的,也会在不断增大的语言模型中降低其重要性。这种情况主要针对统计语言模型出现,其中,由于持续扩展的数据集来,可以用来增强该语言模型的一个特定会话或文档的统计重要性降低。这种统计效果在该用户的语言模式随着用户更加熟悉并且习惯与语音识别或基于对话的系统交互作用而变化的情况下是显著的。值得注意的是,由单个会话或文档得到的对语言模型的增强将不容易改变基于语音统计的系统的特性所述单个会话或文档只能产生有限的数据,尤其考虑到与语音模型相对应的整个数据集而言。因此,该语言模型将不能精确反映用户变化的口述风格。
同样的问题会存在于基于对话的系统如用于用户能够口头响应一个或多个系统提示的自然语言理解系统环境中。尽管这些系统可以包含一个或多个用以处理用户响应的语言模型,但是可以采用不充分的数据来建立适应于特定提示的语言模型。结果是这种语言模型变得太特殊化以至于不能精确处理接收到的语音。具体地说,这种语言模型缺乏从语言模型中进行提炼以处理更一般的用户响应的能力。

发明内容
在这里所披露的发明涉及一种构造出分级语境模型并且利用那些语境模型来将语音转变成文本的方法。本发明的方法可以用在语音识别系统和基于对话的自然语言理解系统中。具体地说,本发明可以根据不同的用户语音会话、文档、文档的一部分或者用户话语形式的用户响应等构造出多个的语境模型。可以采用已知的距离尺度来以自下而上的方式将这些语境模型组织为或归类为成相关的对。可以将这些相关的语言模型对连续地合并在一起直到构建出一种树状结构。语境模型的树状结构或者语境模型的分级结构可以从单个根节点向外扩展。可以采用本领域已知的技术例如删除插值法(deletedinterpolation)或回退法(back-off approach)利用所提供的(held-out)文本语料库来对语境模型的分级结构进行插值(interpolate)。要注意的是,本发明不受这里提到的特定平滑技术的限制。可以采用本领域已知的其它适当的平滑技术。
在确定出语境模型的分级结构并且将它平滑之后,可以采用所得到的语境模型的分级结构来对所接收到的用户话语进行处理。可以在该语境模型的分级结构内确定出一个或多个语境模型与一个或多个所接收到的用户话语相对应。可以将所确定的语境模型用来处理随后接收到的用户话语。
本发明的一个方面在于一种利用语境模型的分级结构来语音转换成为文本的方法。这种语境模型的分级结构可以在统计学上被平滑成一个语言模型。该方法可以包括(a)利用多个语境模型来处理文本,其中多个语境模型中的每一个可以与多个语境模型的分级结构中的节点相对应。可以采用串行或并行的方式来进行对文本的处理。该方法还包括(b)确定出与所接收的文本相关的至少一个语境模型;并且(c)用所确定出的至少一个语境模型来处理随后的用户话语。
这一系列语境模型中至少有一个可以对应于一篇文档或文档的一部分或一小节,至少一个由基于对话的系统在特定会话状态下接收到的响应,或者至少一个基于对话的系统在特定事务中在特定位置时接收到的用户响应。还有,这一系列语境模型中至少有一个可以对应于基于对话的系统的某条提示的语法,基于对话的系统的特定的已知提示,或者是一条接收到的电子邮件消息。
本发明的另一个实施方案涉及一种构建语境模型的分级结构的方法。在该情况下,该方法包括(a)利用距离尺度来测量多个语境模型中的每一个之间的距离。要注意的是,多个语境模型中的至少有一个可以对应于文档的一部分或者基于对话的系统内的用户响应。该方法还包括(b)确定出多个语境模型中的在距离上比多个语境模型中的其它模型更近的两个。还可以包括(c)将所确定出的语境模型合并成一个母语境模型。合并步骤(c)还包括在所确定的两个语境模型之间进行插值(interpolating),其中插值会导致所确定的语境模型的组合。或者,合并步骤(c)可以包括利用与所确定的语境模型相关的数据构建一个母语境模型。该方法还可以包括步骤(d),其中可以重复进行步骤(a)、(b)和(c)直到能够构造出多个语境模型的分级结构。在那个情况中,该分级结构可以包含一个根节点。还有,可以对所述多个语境模型的分级结构进行统计平滑,从而形成一个语言模型。可以采用本领域已知的技术例如删除插值法、回退法或另一种合适的平滑技术利用所提供的文本语料库来对语境模型的分级结构进行插值。
所述语境模型系列,或初始语境模型可以从语音会话(speechcession),文档模板,文档以及文档的片断如段落,或者是可以划分成一个或多个部分的文档的一部分,如文章的一节等构造出来。对于基于对话的系统如自然语言理解系统,初始语境模型可以从一个或多个对所有或部分各种各样的系统提示的用户响应构造。


在附图中显示出当前优选的实施方案,但是要理解的是,本发明并不限于所示的这些具体的布置方案,在这些附图中图1为其上可以采用本发明的示例性计算机系统的示意图;图2为用于语音识别的一示例性结构的示意图;图3A和3B为可以构成一语音识别引擎的典型部件的示意图;图4为语境模型的一示例性分级结构的方框图;图5为本发明的一示例性方法的流程图;并且图6为本发明的一示例性方法实例的流程图。
具体实施例方式
在这里所披露的本发明涉及一种构造语境模型的分级结构并且利用这些语境模型来将语音转换成文本的方法。该实施例的方法可以用在语音识别系统和基于对话的自然语言理解系统中。具体地说,本发明可以从不同的用户语言会话、文档、部分文档、用户话语形式的响应来构造出多个语境模型。可以采用已知的距离尺度以自下而上的方式将这些语境模型组织成或归为相关的对。值得注意的是,将语境模型组成相关的对可以在运行过程中自动动态地实现。可以将语境模型的相关对合并以形成一母语境模型。可以重复进行这个过程直到形成语境模型类似树状结构的分级结构。该分级结构可以具有单个根节点,其它节点从它延伸出去。要注意的是,语境模型分级结构的每个节点可以对应于一个语境模型。应该知道的是,这里所使用的术语“语境模型”可以指的是一种从由单个文档、一部分文档或在自然语言理解(NLU)系统的情况中从一个或多个用户话语或响应获得的训练数据中构建出的语言模型。
可以采用本领域公知的技术例如删除插值法或回退法利用所提供的文本语料库对所得到的语境模型分级结构进行插值。值得注意的是,本发明并不局限于在这里所披露的特定的平滑技术。而是可以采用本领域公知的其它合适的平滑技术。
在确定了语境模型的分级结构之后,可以采用所得到的语境模型分级结构来处理所接收的用户的话语。具体地说,可以识别出在该语境模型分级结构中对应于或最精确地反映一个或多个所接收到的话语的特定的语境模型。例如,该实施方案可以用语境模型分级结构来处理所接收到的用户话语并且识别出产生具有最高置信度的结果文本的语境模型。该实施方案能够在以下假设前提下操作,即随后的用户话语其主题与前面所接收到的用来识别相应的语境模型的用户话语的主题相似。因此,可以采用所识别出的语境模型来处理随后的用户话语以提高语音识别系统性能。
要注意的是,所得到的语境模型分级结构和所得到的经平滑的语言模型能够允许处理更一般化的后续用户话语。这一点在应用于“欠训练(under-trained)”的语言模型会对系统性能造成负面影响的NLU系统时尤为有利。具体地说,经平滑的语境模型分级结构能够向根节点移动,从而使这些语境模型变得更加一般化但仍然对语境敏感,或者朝着叶节点移动,这样这些语境模型变得更加具体但是仍然保持对语境敏感。
图1描绘了用于本实施方案的典型计算机系统100。该系统可以包括一计算机105,它包含有一中央处理器(CPU)110、一个或多个存储装置115以及相关电路。存储装置115可以由一电子随机存取存储器和一大容量数据存储介质构成。该系统还可以包括一个通过适当的接口电路125与计算机系统操作连接的麦克风120以及一个与之操作连接的可选用户接口显示单元130例如视频数据终端。CPU可以由本领域普通技术所公知的任意合适的微处理器或是其它电子处理单元构成。该系统还可以配置扬声器135和140以及接口装置如鼠标145和键盘150,但是这些对于在这里所述的发明而言都不是必要的。在这里所述的对于该计算机系统的各种硬件需求通常能够通过任何一台市售的高速计算机来满足。
图2为计算机系统100中的语音识别系统的一个典型结构的示意图。如图2所示,在计算机系统100中的存储器115内可以设有一个操作系统200和一个语音识别引擎210。还可以包含一个语音文本处理应用软件220和一个声音导航应用软件230。但是,本发明并不限于此,语音识别引擎210可以和任意其它有语音能力的应用软件程序一起使用。在图2中,语音识别引擎210,语音文本处理应用软件220和声音导航应用软件230显示为相互分开的程序。但是要注意的是,本发明并不限于此,这些不同的应用软件可以实施作为单个更复杂的应用软件。例如,语音识别引擎210可以和语音文本处理应用软件220或者其它有语音能力的(voice enabled)应用软件结合在一起。还有,如果没有其他语音控制应用软件要和语音文本处理软件220和语音识别引擎210配合使用,本系统可以被更改为在没有声音导航应用软件230的状态下操作。声音导航应用软件230主要帮助协调语音识别引擎210的操作。
上述部件可以在计算机系统100中以集中式实现。或者,上述的组件也可以分布式实现,其中不同的元件可以分散在几个互联的计算机系统上。无论哪种情况下,这些部件能够以硬件,软件或者软件和硬件的组合来实现。任何一种适用于执行这里描述的方法的计算机系统或其他设备都是合适的。在这里所披露的系统可以由程序员利用市售的用于所采用的特定操作系统的开发工具来实施。
计算机程序装置或者计算机程序在本文中是指用任何语言、代码或者符号表示的一组提示的任意表达式,这些提示用来使得系统具有信息处理能力以直接或在以下步骤任一个或两者之后执行特定的功能a)转换成另一种语言、代码或符号;b)以不同材料形式进行复制。
在实际应用中,在计算机100内可以利用计算机音频电路来对用麦克风120接收到的表示语音的音频信号进行处理以便能够以数字形式为操作系统100所用。或者,音频信号可以通过一个计算机通讯网络从另一个计算机系统以模拟或数字格式接收,或者从另一个转换设备如电话中接收到。由计算机系统100接收到的音频信号一般通过操作系统100提供给语音识别引擎210以便进行语音识别。如在普通语音识别系统中一样,可以通过由语音识别引擎210来对音频信号进行处理以识别出由用户说出的进入到麦克风120中的单词。图3A为可以构成语音识别引擎210的典型部件的方框图。如图3所示,语音识别引擎210接收来自操作系统的数字语音信号。然后在“表达”模块310处通过以通常为每隔10-20毫秒的固定比率采样的方法将该系统转换成一个有用的数据集。表达模块产生出音频信号的新的表达,该表达在随后的声音识别处理阶段中可被用来确定刚刚所分析的部分波形与特定语音事件对应的可能性。该过程意图强调从操作系统中接收的语音信号的感性上重要的独立于说话者的特征。在建模/分类模块320中,算法进一步对语音信号进行处理以使独立于说话者的声音模型适应当前说话者的模型。最后,在搜索模块330中,搜索算法用来将搜索引擎引导至与该语音信号相对应的最可能的单词上。在搜索模块330中的搜索过程是在声音模型340、词汇模型350和语言模型360的帮助下进行的。
当一个单词和其它单词一起顺序使用时,语言模型360可以用来帮助限制与语音信号对应的可能单词的数目。该语言模型可以被定义为一种有限状态网络,其中明确地列出了在每个单词后面允许跟随的单词,或者可以利用语境敏感的语法而以更复杂的方式来实现。其它示例性的语言模型还包括但不限于n-字母组模型和最大熵语言模型等,它们在本领域都是公知的。在任何情况下,最好经常用与在特定用户中可能遇到的语言模式相关的信息来更新语言模型的内容。搜索过程将具有最高置信度的候选单词确定作为文本输出。
置信度反映了一个特定的候选单词准确反映相应用户话语的可能性。置信度可以是一个从声音模型、词汇模型和语言模型得到的数值。例如,置信度可以考虑特定候选单词表示采用声音模型所确定的用户话语的可能性,此外还考虑特定候选单词可能位于利用语言模型所确定的另一个单词或词组后面的可能性。
可以将经识别得到的文本提供给语言模型会话管理器(LMSM,Language Model Session Manager)380。根据所得到的文本准确地反映所接收到的用户话语的可能性,LMSM380可以确定出用于处理随后接收到的用户话语的更适当的语境模型。更具体地说,LMSM380能够识别哪个语境模型可以被用来处理文本,其中所得到的这个文本反映出所接收到的用户话语的可能性最高。因此,LMSM380可以选择适当的语境模型用于处理随后接收到的语音。如图所示,LMSM380可以提供一条到语音识别系统的反馈路径。
LMSM380还能够识别文档的节。例如,LMSM根据光标在文档内的位置来确定文档的节。LMSM380能够被编写成具有一个或多个模板,其中这些模板可以包含不同文档部分的标识,例如文档的引言,背景或者其它可定义的文档节。这些节可以是用户定义的节并且可以是主题特定的。例如,这些节可以是文档的子部分,可以是也可以不是主题特定的文本,包括真假判断章节(true or falsesection),一个短的回答节,或者是一个多选择的节等。要注意的是,传统的字处理程序也能够提供对文档的分节处理。
LMSM380还可以被编写成能够决定什么时候可以提示语言模型生成器(LMB)390构造一个新的语境模型并且重建该语境模型分级结构。LMB390可以动态地构造一个新的初始语境模型并且重建该语境模型分级结构。例如,如果初始的语境模型是从文档构造出的,则LMSM380能够确定一篇文档或文档的一部分何时完成,从而可以构造一个新的语境模型并且重建语境模型分级结构。更具体地说,一旦用户关闭一份文档或者以其它方式通知语音识别系统该用户已经完成一份文档或者文档的一部分的口述,则LMSM380能够指示LMB390开始重建语境模型分级结构。LMSM380可以被编写成具有多个如在普通子处理程序中所使用的一样的模板和文档节,从而只要完成上述的任何一项就可以导致语境模型分级结构的重建。例如,LMSM380可以对应一个文档节动态地构造一个语境模型并且在文本编辑程序的光标离开文档的那个节时重建语境模型分级结构。同样,如果语境模型是从文章的部分如段落来构造的,那么段落的结束如一个硬回车提示就可以通知LMSM380提示LMB390在包含在最新段落中的文本的基础上构造一个新的语境模型。然后LMB390可以重建语境模型分级结构。如上所述,初始语境模型可以从文档模板、文档、文档的节或者文档的部分来构造。
图3B为与图3A的方框图类似的方框图,显示出构成语音识别引擎210的典型部件。但是图3B可以包括一个NLU系统。要注意的是,NLU系统可以使得计算机能够理解人类书写或口述的语言并且从中提取信息。在需要理解人类语言时,这些系统可以以辅助多种其它计算机应用软件的方式运行。NLU系统能够提取包含在文本内的相关信息,然后将该信息提供给其它应用软件程序。
NLU系统可以和LMSM380通讯以向LMSM380提供与用户话语相关的信息作为对基于对话的系统的响应。这种信息可以包括用户从事的具体业务类型、用户在这些业务中所处的位置,具体的基于对话的系统的提示以及该提示的语法等。例如,NLU系统395在金融系统中的提款业务情景下向LMSM提供用户话语对询问帐户名称的提示作出响应的信息。而且,NLU系统可以通知LMSM所期望的响应是一数字、具有特定语法或涉及特定主题的文本句子,或是一个是或否形式的提示。
例如,可以从与给定对话的状态相关的用户响应、给定业务的主题、用户在特定业务内的位置、对特定已知对话提示的用户响应、或者用户正在响应的对话提示的语法来构造出初始语境模型。给定对话的状态通常指的是上述参数中的每一个。
给定业务的主题可以是指用户正在请求的动作或提示。例如,在一个金融管理系统中,业务可以包括提款、转帐、储蓄等。在一个旅游系统的情景下,业务可以包括预定机票、租车等。业务可以是对应用特定的并基于NLU系统为其提供的界面的系统。因此,语境模型可以根据基于对话的系统中的每个可识别的主题来构建。
在业务内的位置可以提供有关用户响应的语境信息。具体地说,任何给定的业务可以需要一个或多个用户专用(user specified)的参数。因此,除了所启动的业务的特定类型之外,基于所接收到的参数,语音识别系统可以只是基于关于用户位置的信息在不知道用户所响应的确切的基于对话的系统的提示的情况下构造出一个语境模型。
语境模型能够从用户对特定已知的基于对话系统的提示所作的响应构建。另外,语境模型可以从用户对具有特定语法的问题作出的响应构建。例如,用户对“是”或“否”系统提示的响应可以被组织起来构造一个语言模型。同样,用户对“谁”,“什么”,“哪里”,“何时”,“为什么”,或“如何”等问题的响应,以及用户对多重选择或者列表形式的提示的响应都可以被组织起来。
统计平滑可以缓解与“欠训练”或者使用少量训练数据相关的问题。此外,分级结构使得语音识别系统能够用不断一般化的保持语境敏感性的模型处理用户话语。因此,如果用户响应和以前所收集的数据不一致时,可以采用更加一般化的语境模型来处理该用户响应。
因此,LMB390能够动态地构造语境模型,如初始语境模型。其中每一个语境模型可以通过对一个或多个用户响应进行分组来构造出。LMB390还可以响应于接收到的响应对话提示而给出的用户话语动态地重建语境模型分级结构。图3B的系统与图3A的系统还有一个不同之处在于,NLU系统395可以产生对话提示,该提示可以用录音机播放或者采用文本到语音技术播放。
图4描绘了图3的示例性语境模型分级结构360。语言模型360被描绘成具有从根节点下面延伸出的多个节点A,B,C,D,E和F的树状结构。每个节点对应于一个语境模型。也被称为端节点的叶节点对C和D以及叶子节点对E和F可以采用已知的距离尺度被识别为相关的语境模型对。例如,这种尺度可以包括但不局限于Kullback-Liebler距离,相对熵,辨别力或者散度等。总之,最底层的语境模型可以采用已知的尺度分组成对。被称为自下而上分组(bottom upclustering)的这个过程可以一直持续到确定出根节点为止。
在本发明的另一个实施方案中,语境模型可以通过从中导出语境模型的口述会话的主题来进行分组。例如,语音识别系统可以利用单词搜索算法和自然语言技术来根据预定的主题将每个独立的语境模型(节点)进行分类。对该语境模型作相应的标记,从而不仅相关的语境模型可以成对,而且语音识别系统可以只是对分类在特定主题下的相关语境模型进行分组。或者,用户还可以定义一个具体的主题分类。在这种情况下,用户可以输入一系列的关键字,语音识别系统可以利用这些关键字对这些语境模型进行分类。语音识别系统还允许用户忽略语境模型的分类。
可以将这些分组的语境模型对合并成一个母语境模型。例如,节点A可以是由其子叶节点C和D合并得出的母节点。同样,节点B可以是由其子叶节点E和F得出的母节点。可以采用多种方法来实现将2个子节点合并以形成一个母节点。其中一种方法可以是一种插值法(interpolation method)。例如,可以采用每个子节点语境模型来处理潜在的候选单词,随后,对两个可能的合成词组进行比较,其中选出最有可能性的结果。要注意的是,可以将与每个语境模型结果相关联的概率与一个加权系数相乘。这时,例如应用在叶节点C上的系数和应用在叶节点D上的系数其总和可为1。另一种将两个子节点合并以形成一个母节点的方法可以包括利用构建语境模型的已知方法采用与每个子节点相关的数据来构建一个新的语境模型。因此,用于在节点处构建母语境模型的数据可以是母节点的两个子节点的复合数据。
不管采用何种具体的方法来合并两个节点,在语境模型分级结构的每一层上,成对节点的分组以及将这些节点合并成一母节点将一直持续到到达一个根节点为止。母节点A和B可以包括它们的子节点的公共特征。同样,根节点可以包含其子节点的所有即与子节点A和B对应的语境模型的公共特征。因此,语境模型分级结构提供语境模型的一个分类,每个语境模型结合了其中所含的取决于用户的说话风格的混合体。要注意的是,在采用复合数据来构建母语境模型的情况中,所得到的语境模型分级结构可以被称为单分级语言模型。因此,最下面的语境模型是最具体的模式。如果一个具体的语境模型不能产生令人满意的置信度的话,则该模型树可以上升至一个更一般化的语境模型。
图5为一流程图500,显示出采用图1的计算机系统和图2的语音识别引擎所执行的创建语境模型分级结构的一个示例性方法。该方法在该语音识别系统已经积累了多个语境模型例如与叶节点C、D、E和F相关的语境模型即所要形成的语境模型分级结构的底层的状态中开始。这些语境模型即初始语境模型可以根据用途而有所不同。例如,对于一般性的会话,语音识别系统可以针对与特定用户对应的每个预先口述会话,文档,文档的一部分或文档的节创建一个新的语境模型。
作为说明,语音识别系统可以为专利申请产生一个语境模型。还有,语音识别系统还可以为专利申请的每个部分产生一个语境模型。例如,各种专利申请的权利要求可以包含类似的特征,专利申请的其它部分例如摘要、详细说明以及发明概述也是一样。因此,可以对文档例如专利申请文档的每个部分构建出一个语境模型。另一个实施方案可以包括构建用于子部分子的语境模型。例如,可以为独立权利要求构造一个语境模型,而为从属权利要求构建另一个语境模型。要注意的是,文档的任何可识别部分都可以用来构造一个对应的语境模型。传统的字处理软件能够将文档划分为一个或多个节。这些子部分,例如,也可以被用于产生用于文档的每个可识别子部分的语境模型。
对于用在会话系统中的语境模型而言,每个初始语境模型可以对应于一组句子,这些句子都是对会话系统输出的每条提示的响应。在任何情况下,初始语境模型或是该分级结构的最底层可以用作在这些语境模型之间进行插值或者随后构建新的母语境模型的基础,这些操作都可以构成最终的语境模型分级结构。
该语音识别系统可以包含一用户可调参数,用于指示语音识别系统存储对应于特定用户的最后n个口述会话,文档或者响应的语境模型。或者,该语音识别系统能够存储与语境模型的特定主题分类相对应的最近n个语境模型。例如,可以存储最近n个与业务有关的语境模型,可以存储最近n个个人信件的语境模型等。另外,这个参数可以基于每个用户规定,也可以基于每个主题分类规定。因此,除了用于每个主题分类的n的独特数值之外,用户A可以确定n的整体数值。除了用于每个主题分类的n的不同数值之外,用户B也可以确定n的整体数值。而且,用户B设定的n的数值可以与用户A设置的n的数值完全无关。从而使得该系统按需要加以推广。
图5所示的方法500可以在每一个用户的基础上进行。另外,如果图1所示的计算机系统具有足够的处理能力,则可在每个新用户的口述会话、文档或用户响应开始后执行该方法500。因此,可以不断对与具体用户对应的语境模型分级结构进行更新。或者,该方法500可以由语音识别系统定期地自动进行或者响应于用户请求以一种离线的方式进行。
在任何情况下,在步骤510中,语音识别系统可以利用距离尺度来确定每个语境模型与对应于特定用户的每个其它语境模型紧密相关的程度。如前所述,语音识别系统可以将Kullback-Liebler距离以及每个语境模型的主题分类用于进行相关度或距离确定。在步骤510结束以后,该方法将继续进行步骤520。
在步骤520中,语音识别系统能够识别具有最小距离的语境模型对。步骤520结束后,方法将进行到步骤530,该步骤中可以将这些语境模型合并。如前所述,可以通过插值法或者通过采用每个子语境模型的数据来将这些语境模型合并以构建出一新的母语境模型。如果在每个合并的母节点处正在重建这些语境模型,那么根节点就可以对应于使用一个单一的语言模型。在这种情况下,可以采用在该语境模型的初始推导中维持或从中排除的数据来对分级语境模型的这些节点进行平滑。然后可以将被排除的数据用于对所得到的分级语境模型进行统计平滑。因此,该语境模型可以插入从叶节点到根节点的所有语境模型。不管怎样,在步骤530结束后,该方法将继续进行到步骤540。
在步骤540中,语音识别系统能够确定是否已经确定出一个单根节点。更具体地说,该语音识别系统可以确定出该语境模型分级结构是否终止在一单节点处。如果是这样,方法可以结束。但是如果不是,则该方法将返回步骤510重新循环。应该注意的是,方法500可以按照需要重复循环,其中方法的每次迭代都会以朝着单根节点前进的上升方式建立语境模型分级结构的另一层。
图6为一流程图600,描绘了利用图4所示的语境模型分级结构将语音转换成文本的一个示例性方法。具体地说,该语音识别系统能够选择一个合适的语境模型以根据所接收到的用户话语处理随后的用户话语。如果计算机系统具有足够的处理能力从而系统可以实时地将语音转化成文本而没有不合理的延迟,则可以对由语音识别系统接收到的每个用户话语或者句子进行语境模型确定。例如,在所接收到的用户话语中每一次出现可检测到的停顿之后,该语音识别系统可以进行方法600。
或者,该确定步骤可以在口述会话开始时进行,或者在整个语音会话过程中定期进行,或者响应于用户提示来进行该确定步骤。例如,该语音识别系统可以在用户已经口述了预定的时间之后或者响应于置信度低于预定阈值的情况自动地进行确定步骤。在用户请求的情况下,当用户更换到一个不同的口述风格或主题例如从商业变到个人通信时,用户可以请求进行确定步骤。
方法600可以从步骤610开始,在该步骤中语音识别系统接收到一个文本输入。这个文本输入可以来自一语音识别系统,或可以是在现有文档中内的文本。要注意的是,这个文本也可以是一个接收到的电子邮件消息。在步骤610结束后,方法可继续进行到步骤620。在步骤620中,语音识别系统可以采用语境模型分级结构来处理所接收到的文本。例如,可以用包含在语境模型分级结构中的每一个语境模型来对该文本进行处理。可以将形成具有最高置信度的文本的语境模型确认为正确的或最合适的语境模型,以便用于将随后用户话语转换成文本。该处理可以以串行或并行方式进行。
例如,在基于对话的系统中,尽管响应于特定的对话提示预期用户会作出“是”或“否”的响应,但是用户也可以作出以下响应“是的,但是我喜欢X”。在这种情况下,用户已经作出了响应并提供了附加的信息。因此,尽管一个基于对话的系统可以包含对应于用户对该提示作出的响应的语境模型,用户的响应可能会更接近于另一个系统提示的预期响应。值得注意的是,预期的响应并不局限于“是”或者“否”的回答。尽管如此,可以用该语境模型分级结构来处理从该语音识别系统得出的文本。可以识别出形成具有最高置信度的文本的语境模型。要注意的是,因为用户响应与NLU系统所期望的用户响应类型不同,所以所确定的语境模型和通常与处理用户已经作出响应的特定对话提示产生的用户响应相关的语境模型不同。所识别出的语境模型还可以与该语音识别系统用来将用户话语转换成文本的语境模型不同。
在本发明的另一个实施方案中,可以识别出对应于一个可识别的文档节的语境模型。例如,如果一个用户正在口述一篇文档并且语音识别系统确定出该用户的光标位于该文档的特定节内,则该语音识别系统能够识别出对应于那个文档节的语境模型。所识别出的语境模型至少在开始可以用来在用户的光标位于相应的文档节内时处理随后接收到的用户话语。还有,用户可以用其他方法例如通过语音或点击设备命令向语音识别系统指定文档节。要注意的是,同样可以采用其它确定语境模型的方法。例如,在置信度不令人满意的基础上,该语音识别系统可以中止使用所识别出的语境模型而采用另一个语境模型。
应该理解的是,该语音识别系统能够识别出生成置信度高于预定最小阈值的文本的一个或者多个语境模型。在这种情况下,语音识别系统可以使用每个确定出的语境模型,其中可以利用概率系数对使用每个模式得到的结果进行加权。例如,该系数可以直接与所得到的文本的置信度相关。或者,该语音识别系统可以在识别得到的语境模型之间进行外推。还有,可以选择形成具有最高置信度的文本的语境模型。在步骤620结束后,方法将继续进行到步骤630。
在步骤630中,可以使用所确定的语境模型来在语音识别系统中处理随后的用户话语。该语音识别系统能够基于以下假定进行在语境模型确定步骤后的特定时间内出现的随后用户话语很可能具有类似的语法和词汇或者涉及与用来作出该确定步骤的文本类似的主题。因此,除了基于主题选择语境模型之外,对于一种口述系统,该方法可以根据在NLU系统中的对话状态来从语境模型分级结构中选择一语境模型。
本发明的另一个实施方案可以包括根据所接收到的电子邮件消息来选择一个语境模型。例如,可以对所接收到的电子邮件消息进行处理以确定出与该电子邮件对应的适当的语境模型。所确定的这个语境模型可以用于将随后的用户话语转变成文本。要注意的是,该语境模型可以用来在该用户回复所接收到的电子邮件消息的口述会话期间转换用户话语。因此,可以对所接收到的电子邮件进行处理以确定出与所接收到的电子邮件主题对应的语境模型。这个语境模型可以用于处理用户对该电子邮件的口头响应。另外,该语音识别系统能够处理所接收到的电子邮件消息中的不同部分,包括该消息的主题。在本发明的另一个实施方案中,在确定适当的语境模型时可以将主题赋予额外的权重。在步骤630结束后,方法将继续进行到步骤640。
在步骤640中,如果片段已经结束,则该方法继续进行到步骤650。如果没有完成,方法将继续到步骤610以采集更多的文本。要注意的是,该片段可以与用来构建用作语境模型分级结构的基础的初始语境模型的文本单元相对应。例如,该片段可以对应于一份文档,一个段落,一个句子,文档的一部分,或者用户对给定对话提示的响应。一旦已经收集了预定数量的文本,该片段就结束了。或者,用户可以通知语音识别系统所要转换成文本的用户话语的开始和结束。无论如何,可以收集用于构造初始语境模型的文本数量,从而完成一个片段。
如果片段已经完成,在步骤650中,方法可以动态地构造一个新的对应于所完成的片段的语境模型。另外,该方法可以执行方法500以动态地重建语境模型分级结构。在步骤650结束后,可以重复该方法。
权利要求
1.一种利用语境模型分级结构来将语音转换成文本的方法,其中所述语境模型分级结构被统计平滑成语言模型,所述方法包括(a)用多个语境模型来处理文本,其中所述多个语境模型中的每一个对应于所述多个语境模型的分级结构中的节点;(b)识别出与所述文本相对应的至少一个所述语境模型;并且(c)用所述识别出的至少一个语境模型来处理随后的用户话语。
2.如权利要求1所述的方法,其中所述步骤(a)串行或并行进行。
3.如权利要求1或2所述的方法,其中所述多个语境模型中的至少一个与以下中的一个或多个对应(i)一份文档或文档的一部分;(ii)在基于对话的系统中在特定对话状态下接收到的至少一个用户响应;(iii)在基于对话的系统中在特定业务内的特定位置接收到的至少一个用户响应;(iv)基于对话的系统中的提示的语法;(v)特定的已知的基于对话系统的提示;或者(vi)所接收的电子邮件消息。
4.一种生成语境模型分级结构的方法,所述方法包括(a)利用距离尺度测量多个语境模型中的每一个之间的距离,其中所述多个语境模型中的至少一个对应于基于对话的系统内的文档的一部分或用户响应;(b)识别出所述多个语境模型中的两个,所述被识别出的语境模型在距离上比所述多个语境模型中的其它语境模型更加接近;(c)将所述被识别出的语境模型合并成一母语境模型;(d)重复所述步骤(a)、(b)和(c)直到生成所述多个语境模型的分级结构,所述分级结构具有一根节点;并且(e)对所述多个语境模型的所述分级结构进行统计平滑,从而产生一语言模型。
5.如权利要求4所述的方法,所述合并步骤(c)还包括在所述被识别出的语境模型之间进行插值,所述插值形成所述被识别出的语境模型的组合。
6.如权利要求4所述的方法,所述合并步骤(c)还包括采用与所述被识别出的语境模型对应的数据构建一母语境模型。
7.一种可机读存储器,具有存储在其上的计算机程序,该程序具有可以由机器执行用来使得该机器进行以下步骤的多个代码部分(a)用多个语境模型来处理文本,其中所述多个语境模型中的每一个对应于所述多个语境模型的分级结构中的节点;(b)识别出与所述文本相关的至少一个所述语境模型;并且(c)用所述被识别出的至少一个语境模型来处理随后的用户话语。
8.一种可机读存储器,具有存储在其上的计算机程序,该程序具有可以由机器执行用来使得该机器进行以下步骤的多个代码部分(a)利用距离尺度测量多个语境模型中的每一个之间的距离,其中所述多个语境模型中的至少一个对应于基于对话的系统内的文档的一部分或用户响应;(b)识别出所述多个语境模型中的两个,所述被识别出的语境模型在距离上比所述多个语境模型中的其它语境模型更加接近;(c)将所述被识别出的语境模型合并成一母语境模型;(d)重复所述步骤(a)、(b)和(c)直到生成所述多个语境模型的分级结构,所述分级结构具有一根节点;并且(e)对所述多个语境模型的所述分级结构进行统计平滑,从而产生一语言模型。
9.如权利要求8所述的可机读存储器,所述合并步骤(c)还包括在所述被识别出的语境模型之间进行插值,所述插值形成所述被识别出的语境模型的组合。
10.如权利要求8所述的可机读存储器,所述合并步骤(c)还包括采用与所述被识别出的语境模型对应的数据构建一母语境模型。
全文摘要
在这里所披露的本发明涉及一种采用语境模型的分级结构来将语音转换成文本的方法。可以将该语境模型分级结构统计平滑成语言模型。该方法可以包括用多个语境模型来处理文本。多个语境模型中的每一个可以与所述多个语境模型的分级结构中的节点对应。本发明的方法还可包括识别出与该文本相关的至少一个语境模型并且用所识别出的至少一个语境模型来处理随后的用户话语。
文档编号G06F17/28GK1535460SQ02805640
公开日2004年10月6日 申请日期2002年2月28日 优先权日2001年3月1日
发明者马克·E·爱普斯坦, 马克 E 爱普斯坦 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1