当前位置:网站首页>专利 >正文

用于对话系统的语音输入接口的制作方法

专利名称:用于对话系统的语音输入接口的制作方法
技术领域
本发明涉及操作具有语音输入接口的对话系统的方法。它还涉及用于制造语音输入接口的方法和系统、对应的语音输入接口以及具有这类语音输入接口的对话系统。
语音控制的对话系统具有广阔的商业应用范围。它们被用于所有类型的语音入口,例如电话银行、语音控制的自动售货机、车辆或家庭对话系统中的免提系统的语音控制。另外,在自动翻译和听写系统中也有可能使用这个技术。
在语音对话系统的开发和制造中存在一个很普遍的问题,即可靠地识别对话系统用户的语音输入,对其进行有效率的处理题并将其转换成用户所希望的系统内部反应。取决于系统的大小以及将被控制的对话的复杂程度,这里有许多相互连接的子问题语音识别通常分解为检测有效语句的语法子步骤,和用其系统相关的意义来反映该有效语句的语义子步骤。语音识别通常用对话系统的专家语音处理接口来进行,其例如经由麦克风来记录用户的语句,将其转换成数字语音信号,然后执行语音识别。
通过语音识别对数字语音信号的处理主要由软件元件来执行。因此,语音识别结果通常是数据和/或程序指令的形式的语义。这些程序指令或数据最终被执行或者被使用,从而产生用户所期望的对话系统反应。例如,这个反应可能包括电子或机械的动作(例如语音控制的自动取款机的钞票交付),或者纯粹与程序有关并由此对于用户来说很清楚的数据处理(例如改变帐户余额)。因此,语音表示意义的实际实现,即″语义″程序指令的性能通过逻辑上与语音输入接口分离的应用程序来执行,例如控制程序。对话系统自身通常由对话管理器基于预先指定的确定性的对话说明来控制。
取决于用户和对话系统之间的对话所处的阶段,对话系统在特定时刻处于(由对话说明指定的)被定义的状态,并且取决于来自于用户的有效指令,对话系统转换成相应改变的状态。对于每个状态改变,语音输入接口必须执行单独的语音识别,因为在每个状态转换期间,其它的语句被识别并且必须用正确的语义来明白地反映。因此,例如在一个状态中期待只通过″是″来确认,而在另一种情况中,专用信息(例如帐号)必须从复杂的语句中提取。实际上,在每个状态转换期间,若干同义的语句用相同的语义含义来反映,例如指令″暂停″、″停止″、″结束″以及″关闭″具有相同的指示,即方法的终止。
用于处理理解并进一步处理语音表示的复杂问题的方法是不同的。原则上,每个状态改变的每个有效语句有可能都包括原型语音信号,而具体的表示必须用随机或频谱方法与原型语音信号比较音节或单词。对语音表示的适当反应可以通过把术语编程为特殊语句的直接识别结果来完成。在某些情况下可能有必要传输详细信息的复杂对话中,这个严格的方法导致必须首先给出语句的所有允许的同义变形,以便按需将其与用户语句相比较,其次,通过专门的例行程序来处理更多的用户专用信息。这使得这个解决方案不灵活并且让对话系统操作员很难扩展和适配。
另一个策略采用更动态的语法方法,其对语音识别使用形式语法形式的语言学语法模型。形式语法具有包括置换规则、终结字、非终结字和开始字的代数结构。这些置换规则根据哪些非终结字可以结构上地被传递(导出)到包括非终结和终结字在内的字链中,来规定规则。所有包括唯一的终结字并且通过使用置换规则从开始字中产生的句子表示形式语法指定语言的有效句子。
在语法方法中,在对话系统的每次状态改变中,所允许的句子结构由形式语法的置换规则属类地规定,并且终结字指定语言的词汇,其中所有的句子都作为用户的有效语句被接受。从而,具体的语音表示通过检查是否置换规则和词汇的使用可以从对应形式语法的开始字中导出而被校验。短语也是可能的,其中,只有接近置换规则给出的句子结构的有意义的字才被检查。
除了句子的这个语法校验之外,语音识别必须向每个句子分派其语义,即可以被转换成系统反应的含义。语义包括程序指令和/或对话系统的应用程序可以应用的数据。为了向对应的语法单元分配可执行的程序指令,链接语义与属性形式的相关终结/非终结字的语法被频繁地使用。对于所谓的合成属性,对于非终结字来说,属性值从上一个终结字的属性中被计算出来。对于所谓的继承属性,从上级的非终结来计算属性信息也可以被使用。在此,语音表示的语义被含蓄地产生为句子从开始字派生的属性或属性序列。因此,至少形式上直接用语义来叙述语法是可能的。
US 6,434,529 B1公开了使用面向对象的程序技术并借助于形式语法来识别有效语音语句的系统。形式语法及其检查在这个系统中借助于解释语言被实现。因为对于语义转换来说,用解释(编译)应用程序或其方法把句子元件识别为句法上正确的例示的面向对象的类别被执行,在将由解释器来执行的语法分析和向可执行的机器语言应用程序的语义转换之间提供了一个接口。
这个接口被实现如下在语法或其置换规则的规范中,语义属性以脚本语言程序段的形式被分配给终结字或非终结字。在根据置换规则的应用序列来导出(分析)语音语句的语法的时候,这些语义脚本段被转换成表示语法结构术语中说出句子的分级数据结构。然后,分级数据结构通过进一步分析被转换成表格并最终构成对应语句的语义的完全的、可线性地执行的程序语言表示,包括在应用程序中用于对象实例化或方法执行的脚本语言指令。因为对应的对象被直接放置在应用程序中并且凭此来执行对应的方法,所以这个表示现在可以由分析器/解释器来分析。
这个技术的缺点是甚至从它的说明中也显得比较明显。解释语言(有时是专有的)用于语法分析以及翻译程序语言用于应用程序,要求语音输入接口和应用程序之间有复杂而且麻烦的接口,其表示两个完全不同的编程技术。
如果没有更多的方法,用户也不可能扩展或改变语法语音规范和语义脚本,因为他首先必须学习专门的脚本语言。另外在特定环境下,语义的扩展或改变也必须在应用中通过对应语义程序段的适配而被实现并且被解释(编译)。因此,这个技术不能在对话系统运行期间改变或适配语言。因为把语法转换成语义的时候(即对话系统运行时间)使用了分析器或解释器,另外对不同的系统元件的额外维护构成了增加的维修费。
本发明的目的是让对话系统的语音输入接口的操作和架设成为可能,因此将被识别的语音可以由简单、迅速并特别容易变更的形式语法规范来定义,并且语音语句可以有效地用语义来反映。
这个目的通过用于操作具有语音输入接口和与语音输入接口合作的应用的对话系统来实现,其中,语音输入接口检测用户的音频语音信号,把这些音频语音信号直接转换成二进制数据形式的识别结果,并且把这个结果呈现给应用程序以用于执行。在此,二进制数据意味着无须进一步转换或解释就能被应用程序直接使用/执行的数据和/或程序指令(或其引用或指针),其中,可直接执行的数据由语音输入接口的机器语言部件程序产生。这特别地意指这种情况,即一个或多个机器语言编程模块被产生了识别结果并被给予应用程序以用于直接执行。其次,该目的通过用于制造具有与语音输入接口合作的应用程序的对话系统的语音输入接口的方法来实现,该方法包括下列步骤通过形式语法来规范有效的语音输入信号,其中,语音输入信号的有效词汇被称为语法的终结字,提供表示有效的音频语音信号并包括一种数据结构的二进制数据,该数据结构在系统运行时间可直接由应用程序所用并且由语音输入接口的程序部分或应用程序直接可执行的程序模块产生,和/或提供产生二进制数据的程序部分;把二进制数据和/或程序部分分配给单独的终结字或非终结字或其组合,以便用适当的语义来反映有效的音频语音信号;把程序部分和/或程序模块翻译成机器语言,因此在操作对话系统的时候,被翻译的程序部分产生应用程序直接可用的数据结构,或者被翻译的程序模块可以直接被应用程序执行,其中,数据结构/程序模块构成语音语句的语义。
根据本发明,被转换成声频信号的用户语音语句然后由对话系统的语音输入接口直接变换成二进制数据,其表示语音输入的语义转换并由此表示识别结果。这个识别结果可以直接被与语音输入接口合作的应用程序使用。例如通过语音输入接口被写入翻译程序语言并且识别结果的程序模块也由翻译程序语言来实现,这些二进制数据特别可能包括一个或多个可以直接由应用程序执行的机器语言程序模块的事实被实现,其中可应用程序不同的语言。优选地,这些程序模块被写入其中实现了语音识别逻辑的相同语言。然而,它们也可以用工作在与语音输入接口相同的平台上的语言来写入和编译。取决于所使用的翻译程序语言,作为直接执行的识别结果,这可能把可执行程序模块或这些模块的引用或指针给予应用程序。
使用面向对象的程序语言是特别有利的,因为首先,这可以用对象或对象方法的形式给出应用的程序模块,以用于直接执行,其次,应用程序将直接使用的数据结构可以被表示为面向对象的程序设计语言的对象。
本发明提供了许多优点。通过实现语音输入接口的语音识别,特别是语义合成,作为可直接由处理器执行的机器程序(与只能经由解释器执行的脚本程序相对比),可以直接产生可以直接被机器语言应用程序使用的识别结果。这在把语音语句转换成对话系统的充足反应的过程中发挥了最大可能的效率。特别地,在机器语言表示中,这使得从形式语法由脚本语言分析器获得的语义属性或脚本程序段的复杂的和技术上麻烦的叙述变得多余。在服务供应商架设或规范语音输入接口中或在它适配新事实(例如专门提供自动贩卖机)的过程中,更多的优点起因于能够使用诸如C、C++,C#或Java之类的常规程序设计语言,来代替语音输入接口厂商的专有脚本语言。这类语言至少为宽广的用户范围十分普遍地已知,通常不用经由对应的输入接口做出很大的努力,将被系统或相关语义程序模块所理解的语音语句的语法就可以容易地被适配或扩展。因此,为了重新配置或更新对话系统而学习专有语言不再是必需的。对于厂商来说,翻译程序语言的使用也带来了更简单的优点并由此使得系统的软件维护更加廉价,因为传统的标准编译程序可以被使用并且不再需要维护或进一步开发具体的脚本语言和对应的分析器和解释器。
在最简单的情况下,把语音语句转换成语义程序模块可以通过直接并且清楚地把可能的语音语句分配给对应的程序模块来进行。然而,通过把语音识别有秩序地分离成语法分析步骤和语义合成步骤,更加灵活的、可扩展的并且有效率的语音识别被获得。通过借助于形式语法来定义将被语音输入接口理解的语言,语法分析、即语音语句的检查为了有效性而被形式化并且与语义转换分离。语言的有效词汇从语法的终结字中出现,而句子结构经由置换规则和非终结字而被确定。因为语法分析和语义合成都由一个或多个机器程序来执行,所以语音语句的识别结果直接以二进制数据的形式产生,尤其以可以直接被应用程序使用/执行的程序模块的形式产生。例如,程序模块可以由处理器线性地处理并且通过属性语法把语义机器语言程序段分配给每个终结和非终结字的时候,穿越有效语音语句的派生树而被导出。另一个例子将是二进制数据结构,其描述时间并且从它的成分中被合成为时间语法的属性。
多数情况下,语法在试运转对话系统之前被完全地定义并且在操作期间保持不变。然而优选地,语法可能在操作对话系统期间进行动态的改变,因为将被对话系统理解的语言的语法和语义以动态链接库的形式被提供给应用程序。这在频繁改变语音单元或改变语义的情况下是一个很大的优点,例如在专门提供或改变信息的时候。
特别优选地,语音识别用面向对象的翻译程序语言来实现。这提供了一个有效率的实现,即由用户容易地把形式语言通用的标准置换规则,例如终端规则、链式规则和替换规则,变更为面向对象的语法类别。这些语法类别的共同性质和功能、尤其是通用分析方法可以例如从一个或多个非具体的基本类别来继承。类似地,可以通过继承用虚拟方法传递到语法类别,其在有必要时被在实现诸如特殊分析方法之类的具体功能的时候被覆写和再载入。利用在相关分类定义中提供的对应构造器,具体语言的语法可以由通用语法类别的实例化来指定。在此通过定义终结和非终结字,具体的置换规则可以被产生为程序语言对象。然后,这些语法对象中的每个语法都具有单独评估或分析方法,其检查对应的规则是否可用于被检测到的短语。置换规则的适当使用并由此全部语音信号的有效性检查或对应短语的检测,由语音识别的语法分析步骤来控制。
通过一贯地执行本发明的系统化概念,在优选实施例中,语法分析和语义分析之间的有秩序的分离被保持,而它们应用的暂时分离为了增加效率和缩短响应时间的目的而被至少部分地除去。当在从将被识别的语音信号的开始字派生期间使用属性语法时,可应用的置换规则的对应的语义二进制数据(属性)被直接产生。因此,例如在规则<从“quarter to”(″差一刻到″)<1到12的数字>>中,一旦数字被已知为规则结果<从1到12的数字>,对应的时间数据结构就可以在值″11:45″的情况下被产生。然而,在进一步使用适当的置换规则的时候,如果语义程序模块的性能所必需的参数被已知,则这个程序模块可以直接由语音输入接口来执行。因此,语义最初并没有完全从语音信号中被提取,而是甚至在语法检查期间被转换而且被准并行地执行。代替于参考可执行程序段和对应的参数,语音输入接口在适合由应用程序来计算的情况下直接向应用程序提供结果。通过执行对语音识别的语法检查、语义程序模块和作为机器语言程序的应用程序,这个特别有利的实施例是可能的,因为对话系统的程序单元因此可以经由适当的接口有效率地通信和交换数据。
在语音输入接口的面向对象的结构中,语义程序模块可以通过使用属性语法而被实现为程序语言对象或对象的方法。本发明支持这个语义侧的附加系统化,因为语法类别而非标准值可以被如此例示(例如已知的终结和非终结字的单项或列表),它们返回通过覆写相关语法类别的虚拟方法而被定义的″语义″对象。因此,在应用对应的置换规则的时候(即分析语音信号的时候),在分析期间从返回值计算出来的语义对象被返回。
上述根据本发明的用于产生语音输入接口的方法提供了简单、迅速并且低故障地制造或架构语音处理接口的可能性。为了指定将被识别的语言,首先,通过由终结字来确定语言的有效词汇并且由置换规则或非终结字来确定语音语句的有效结构,形式语法被属类地定义。在指明这个语法级之后,语义级通过提供被写入翻译程序语言的程序模块而被指定,其机器语言翻译在对话系统的运行时间中可以被适当地结合,以便用语音语句的对应语义来反映语法结构;此外,二进制数据和/或在运行时间中适当地结合二进制数据和/或程序模块的程序部分可以被指定。语法和语义级之间清楚地定义了分配,因此每个终结和非终结字都被分配了描述其语义的程序模块。因为语义程序模块用翻译程序语言(例如C、C++等等)来实现,所以它们必须在定义之后用对应的编译程序来解释,因此它们可以被给出,以用于在操作对话系统时直接执行。
这个方法具有几个优点。首先,它允许设计或配置用于特殊应用的语音输入接口的服务供应商借助于已知的翻译程序语言用很简单的方式指定语法和语义。因此,他不需要学习有时厂商的很复杂的专有(脚本)语言。另外由于翻译程序的检查和机器程序的操作安全性,翻译程序语言的使用更不容易出错,并且可以更稳定并且更快速地被执行以用于终端用户。
在规范语义之后,被翻译的语义程序模块可以例如作为动态或静态库被呈现给终端用户的对话系统。在动态链接库的情况下,对话系统的应用程序不需要在提供被变更的语义程序模块之后被重译,因为它可以经由参照来联系执行中的程序模块。这具有下列优点,即语义可以在对话系统的操作期间被改变,例如,如果供货或订货,则对话系统必须尽可能无中断地定期更新,以频繁改变供应。
在指定语法及其分配语义的这个方法的有利实施例中,面向对象的程序语言被使用。将被识别的语音语句的形式语法可以被指定为语法类别的实例,其实现通用的标准置换规则并且从一个或多个语法基本类别中继承它们的公共性质和功能。例如,基本类别提供通用的分析程序方法,其在语法规范上必须适合于在语法类别级用终结和非终结字来实际例示的置换规则。对于有效率的语法规范来说,提供已经定义许多可能的语法并且在需要时可以被用于参照的语法类别级别和/或语法类别库是明智的。
类似地,基本类别可以提供虚拟方法,其在使用属性语法时可以被产生对应的语义对象的方法覆写。在这种情况下,在操作对话系统的过程中,语义转换通过应用程序来执行而不用暂时与语法检查分离,语义在语法分析期间被直接执行。
在用于产生具有根据上述方法开发的语音接口的对话系统的本发明方法中,用相同的,可能是面向对象的翻译程序语言或者用可以用相同的面向对象的平台反映的翻译程序语言,来写程序输入接口和应用程序是有利的。从而必要地,用对应的语义来反映语音语句的语法的形式语法和对应的程序模块用这个语言实现。
为了制造根据所述方法的这类语音输入接口,包括用于形式语法规范和适当语义的语法规范和语义定义工具的系统被提供给开发商或服务供应商。通过借助于上述方法来利用语法规范工具,形式语法可以借助于识别有效语音信号而被指定。语义定义工具支持开发商准备或编程语义程序模块并且将它们清楚地分配给语法的单独的终结或非终结字。被翻译成机器语言的程序模块可以直接被应用程序执行。在产生可以直接被应用程序使用的数据结构的情况下,这些由用机器语言给出的语音输入接口的部件程序来产生。
在特别有利的实施例中,语法开发商已经接入作为语法规范和/或语义定义工具前端的图形开发接口,这些工具具有语法编辑器并且在其中可以应用程序语义编辑器。当语音输入接口的语音识别被写入面向对象的翻译程序语言时,语法编辑器提供扩展的类别浏览器,其允许简单地选择基本类别并且通过图形方法(例如通过″拖放″)来继承它们的功能。通过终结和非终结字和/或分析方法以及可用于定义语义对象的方法的标准置换规则可以经由专门的图形接口来执行,图形接口直接关联这类数据与对应的语法类别并且通过编程自动将它转换,即产生对应的源代码。为了更好地区别基本类别、导出类别、它们的方法以及语义转换,足够的图形符号被使用。
为了编程有时候复杂的语义程序模块而提供了包括类别浏览器、编辑器、编译程序、调试程序以及测试环境的开发环境,它允许集成的开发并且在某些情况下把对应的程序段编译成语法类别或者产生独立的动态或静态库。
本发明将参考附图中所示的实施例来进一步地描述,然而本发明并不被限制于这些实施例。


图1是对话系统的对话;图2是形式语法的规范;图3是根据本发明的具有语音输入接口的对话系统实施例的结构简图;图4a是语法类别的定义;图4b是语法类别实例的语法对象的定义图5是语法对象的语义执行;图6是语法的图形结构。
形式上,对话系统可以被描述为无休止的自动机器。它的确定性特性可以借助于完全地描述所有的系统状态和导致状态改变、转换的事件的状态/转换图来描述。图1示例地示出了简单的对话系统1的状态/转换图。这个系统可以假定两个不同的状态S1和S2,并且具有分别由对话步骤D1、D2、D3和D4启动的四个转换T1、T2、T3和T4,其中,转换T1反映状态S1本身,而T2、T3和T4引起状态改变。状态S1是对话系统的初始或开始状态,它在每个与用户的对话的结尾被恢复。在这个状态中,系统产生例如邀请用户做出语句的开始表示″我能为你做什么?″。现在,用户有两个语音表示的选择,分别为″什么时间了?″,(对话步骤1)和″天气预报如何?″(对话步骤2)。在对话步骤1中,系统回答正确时间,然后完成对应的转换T1,回到起始状态S1然后再次发出开始表示。在对话步骤D2中,通过用″明天或下周?″这个问题做出响应,系统让用户更准确地指出他的请求,然后经由转换T2转换为新的状态S2。在状态S2中,用户可以只用D3″明天″或D4″下周″来回答系统的问题;他不能选择询问时间。系统在对话步骤D3和D4中用天气预报来回答用户的说明,然后经由对应的转换T3和T4回到开始状态S1。
为了能够执行单独的对话步骤并且充分地回答用户的语句,首先有必要正确地识别用户的语音语句,然后把这个转换成用户所希望的反应,即理解该语句。自然地由于方便用户和接受的原因,所希望的是对话系统在特殊状态中能够处理几个同意义的用户语句。例如图1中描述的对话系统在转换T1上将不仅仅理解具体的对话步骤D1,而且还能够正确地回答诸如″什么时间了?″或″多晚了?″之类的同义询问。另外,在一个状态中的现实系统经常提供大量可能的开始许多不同的转换的对话步骤。除了把所有可能的对话步骤都存储在系统中,以与相应的用户询问和对应的系统反应做出比较的平常和通常不可行解决方案之外,在此情况下通过形式语法GR来指定可能的用户语句是明智的。
图2示出用于机器的声音命令的形式语法GR的例子。语法GR包括非终结字<命令>、<播放>、<停止>、<跳转到>和<行号>,终结字″播放″、″跳转″、″开始″、″停止″、″暂停″、″退出″、″跳转到行″、″1″、″2″和″3″,以及对于每个非终结字都通过非终结和/或终结字来规定置换的置换规则AR和KR。取决于它们的功能,置换规则被分成替换规则AR和链规则KR,其中,起始符号<命令>从替换规则中被导出。替换规则AR把非终结字替换成其中一个所述替换,而链规则KR把非终结字替换成一系列更多的终结或非终结字。从开始字<命令>的初始替换开始,所有的有效句子、即形式语法GR指定的语言的终结字行可以以派生或置换树的形式被产生。因此,通过连续地置换非终结符号<命令>、<跳转到>和<行号>,例如句子″跳转到行2″被产生并且被解释为有效的语音语句,而不是句子″进行到行4″。这个从开始字的具体句子的派生表示语法分析的步骤。
因为图2中所示的语法GR是属性语法,它允许直接用语义来反映语法,即反映成可以被应用程序3执行/解释的命令。这些已经在语法GR中被指定用于圆括号中给出的每个单独的终结字。用语法分析SA被识别为有效的语句″跳转到行2″被语义地转换成命令″跳转到二″。通过用相同的语义来反映几个语法构造,同义的语句可以被考虑。例如语句″播放″、″到″和″开始″可以用相同的命令″播放″来反映并且导致了对话系统1的相同的反应。
根据本发明的具有语音输入接口2的对话系统1的实施例和与语音输入接口合作的应用程序3在图3中示出。应用程序3包括根据状态/转换图中建立的状态、转换和对话来控制对话系统1的对话控制8。
现在,输入的语音语句首先照旧从语音输入接口2的信号输入单元4被转换成数字声频语音信号AS。语音识别的实际方法通过起始信号ST由对话控制8开始。
集成到语音输入接口2中的语音识别单元5包括用于语法分析SA特性的语法分析单元和用于后续的语义合成SS特性的语义合成单元。根据对话系统1的实际状况和所期待的对话,在语法分析步骤中将被检查的形式语法GR通过对话控制8被给予语法分析单元6(或者从其导出的数据结构将由语法分析直接使用)。音频语音信号AS根据这个语法GR被校验由语义合成单元7用其语义反映是否有效。
存在两个语义定义的变形。除非指定,否则可以在下面认为如果没有本发明的限制,识别结果ER是一个或多个程序模块。在此,语义直接从终结和非终结符号向机器语言程序模块PM的直接分配中出现,机器语言程序模块PM可以由应用3的程序执行单元9来执行。完全导出的语音语句的所有终结和非终结字的机器语言程序模块PM被语义合成单元7结合成机器语言识别结果ER并且提供给应用3的程序执行单元9以执行或者作为直接可执行的机器程序给呈现给它。
为了完整描述本发明,还将被解释的是,数据结构还可以在第二变形中被分配给终结和非终结字,这些结构直接从语音输入接口2的机器语言程序部分被产生并且表示识别结果ER。这些数据结构然后可以被应用3使用而不用进一步的内部转换、变形或解释。也有可能结合两个所述的变形,因此语义部分由机器语言程序模块并且部分由应用程序可以直接使用的数据结构来定义。
在这里,语音输入接口2的语音识别单元5和应用程序3是用相同的面向对象的翻译程序语言或可以在相同的面向对象平台上运行的语言写出的。因此,识别结果ER可以很容易地通过参考或指针的传递来传递。尤其是在上述的语义程序模块和数据结构的结合中,面向对象的翻译程序语言的使用是特别有利的。面向对象的程序设计以程序语言对象的形式把语法GR和识别结果ER实现为语法类别GK的实例或这些类别的方法。图4a、4b和5详细地示出了这个方法。
从图2中对形式语法GR的定义开始,图4a示出适当的语法类别GK的执行以把形式定义转换成面向对象的程序语言。在此,所有的语法类别GK都从抽象的语法基本类别BK中被导出,BK把它的方法传递给它的导数语法类别GK。在图4a中所示的实施例中,有三个不同的被导出的语法类别GK,它们以终端规则TR、替换规则AR和链规则KR的形式被实现为可能的原型置换规则。
抽象基本类别BK要求方法GetPhaseGrid()、Value()和PartialParse(),其中,方法GetPhaseGrid()被用来用信号术语初始化语音识别方法并且不需要考虑对语法识别方法的理解。除了GetPhaseGrid()之外,将从外部联系的唯一函数是方法Value(),其用增量″短语″来评价被给予它的句子,并且因此确保了对中央分析功能的接入。Value()把语义作为结果返回。在简单的情况下,这个可以是分别示出句子被识别的语法单元的列表。根据来自于图2的形式语法GR,例如对于短语″跳转到行″,列表(″跳转到行″,″2″)被产生。在其它情况下,数据可以用上述的时间语法的例子来进一步地处理。对于这个的机制在下面被更详细地描述。语法分析SA的这个结果然后被语义地转换成机器语言程序或数据结构,并且被提供给应用程序3,以用于直接执行/使用。因为上级分析方法价值value()的工作方法取决于可应用的置换规则,所以Value()内部地求助于抽象方法PartialParse()。然而,这不能用基本类别BK来实现,而是只能经由被导出的语法类别GK实现。
PartialParse()方法的基本类别BK中要求的分析功能因此用语法类别GK来实现。除了依靠规则的分析方法之外,被导出的语法类别GK具有具体的所谓构造器(PhaseGrammar()、ChoiceGrammar()、ConcatenatedGrammar()),在语法分析SA的运行时间中,这些类别实例、即语法对象GO可以被产生。被导出的语法类别TR、AR和KR因此构成了程序语言″构架″,以用于实现特殊的形式语法GR的具体的置换规则。终端规则TR的构造器PhaseGrammar只要求将由特殊的非终结字来替代的终结字。替换规则AR ChoiceGrammar的构造器要求具有可能的替换置换的列表,而链规则KR ConcatenatedGrammar的构造器要求终结和/或非终结字的列表按顺序来安排。这三个语法类别GK中的每一个都用单独的方法实现了基本类别BK的抽象的PartialParse()方法。
从图4a中定义的语法类别GK开始,图4b举例示出了这些类别的使用,以通过产生(例示)语法对象GO来实现图2中给出的语法GR。命令对象在运行时间通过实现替换规则AR的语法类别GK的实例化而产生。它的功能是用非终结字<播放>、<停止>或<跳转到>来代替非终结开始字<命令>,这些非终结字被作为增量给予相应的替换规则AR的构造器。
播放对象也通过调用替换规则AR的构造器来产生。与命令对象的构造器调用对比,播放对象的构造器调用的增量不包括非终结字,而是只包括终结字。终结字由终端TR的构造器的级联调用给出并且实现了字″播放″、″到″和″开始″。类似地,非终结字<停止>和<行号>的置换规则通过对应地调用替换规则AR的构造器而产生。跳转到对象最终被产生为实现链规则KR的语法类别GK的实例。构造器接收终结字″跳转到行″和非终结字″行号″为增量。
对于由语法对象GO评价的语句的语义转换,在图2的形式语法GR中,只有终结字被转换成程序模块PM,被作为参照给予应用程序3并且直接由其来执行。程序模块PM或对应参照通过语法GR定义直接与终结字关联(参见图2)。在具体的执行情况中,这个例如出现如下每个<命令>规则产生命令对象,可以直接由应用程序3执行的执行()方法。跳转规则将产生也包括对应行号的特殊的命令对象。
与语法分析SA、语义合成SA以及语义机器语言程序的执行之间的精确分离相对比,图5示出语义指令的直接合成以及语音输入接口2使用实现链规则KR乘法的语法对象GO的例子来执行它们。乘法对象被例示为三个元素的连续设置1和9之间的自然数字(例如,类别NumberGrammar可以通过继承从类别ChoiceGrammar得出),终结字″times″以及来自于间隔1到9的一个新自然数。语义转换列表(″3″、″乘以″、″5″),指令″3乘以5″可以直接在对象和返回的结果15中被执行,而不是作为分析结果给出。本例子中的计算由特殊的合成事件处理程序SE来承担,SE收集并链接本例子中的乘法对象的数据和乘法的两个因子。
这类与语法分析SA相互链接的有效率的语义合成SS,只有通过根据本发明在翻译程序语言中执行语法构造的语义并且将其翻译成直接可执行的机器语言程序模块PM才是可能的,因为只有这样才可以直接把语义合成SS结合在语法分析SA中。通过使用面向对象的程序语言而非程序/命令式程序语言,所使用的数据结构还可以被适当地构造并压缩,以用于服务供应商和终端用户,而语法分析和语义合成之间的数据传送可以被有效率地控制。
用于语法设计的设计工具的特殊功能用关于时间语法例子的图6被解释。对于特殊语法的设计,预先由语法类别GK指定的置换规则KR、AR和TR被图形地结合并且通过使用对应的终结和非终结字(即所产生的对应语法对象GO)来例示。
因此,不同的置换规则在图6中通过流程图中各种形式的方框来区别。在特殊置换规则的图形选择之后,对于通过双击或任何其它的用户操作的规范(即规则实例化),指定子语法的语法编辑器被打开,替换、序列或终结字可以根据选择的规则被给出。在规范对应的子语法之后,子树再次被关闭,并且指定的部分语法在较高方框中以形式记号出现。为了允许复杂的语法,更多的规则可以为了规范子语法而被插入。
在时间语法的例子中,设计从选择替换规则AR开始,替换规则AR包括由椭圆框指出的形式为替换链规则KR的四个子语法。
对于第一和第四替换,子语法树被关闭,但是可以通过双击对应的方框或者通过对应的动作来让它们可见。在第四替换((1..20|quarter)(minutes to|to)1..12)中,通过双击等等链规则方框KR,一个两个替换规则AR和一个终端规则TR的序列显露出来。
对于第二和第三替换,子语法的树部分可见。第二替换((1..12(1..59|))(AM|PM|)由链规则(1..12(1..5 9 1))和替换规则(AM|PM|)的序列组成。链规则KR再次包括终端规则TR和替换规则AR的序列,其包括两个替换的终端规则TR。替换规则AR提供三个不同的终端规则TR作为使用终结字″AM″和″PM″的替换,并且第三个终结字还没指定。通过在终端规则TR上双击或类似动作,最终将被使用的终结字、即形式语言的词汇可以被给出。用这种方法,任何语法GR都可以用语法编辑器来指定并且用所期望的复杂性来图形地示出。
用这种方法图形地指定的形式语法现在被完全地转换,并且自动地转换成面向对象翻译程序语言的程序设计语言语法类别GK,该类别在对话系统1的运行时间翻译之后被例示,并且通过派生/分析被校验为语言语句的正确性的置换规则。
通过激活语义编辑器的对应功能,事件处理程序SE可以被自动地产生以用于语义或属性合成。然后,编辑器窗户自动地打开,其中,用于该事件的对应程序代码可以在面向对象的翻译程序语言中被补充。在它的翻译之后,应用程序的指定语法类别可以被给出,以用于以静态或动态链接库的形式来执行。
最后,应当再次指出,在附图中示出并且在说明中解释的语音输入接口和对话系统仅仅是实施例,它们可以在不脱离本发明范围的前提下由本领域技术人员很大程度地改变。特别地,在所示出实施例中在面向对象的程序语言C#中产生的程序段可以被写入任何其它的面向对象的程序语言或写入其它的命令式编程语言。此外,为了完成起见,应当指出,不定冠词″一个″的使用不排除相关特征也可以被成倍给出的可能性,并且术语″包括″的使用不排除更多的元件或步骤的存在。
权利要求
1.一个用于操作具有语音输入接口(2)和与语音输入接口(2)合作的应用程序(3)的对话系统的方法,其中,语音输入接口(2)检测来自于用户的音频语音信号(AS)并且将它们直接转换成应用程序(3)可以直接使用的二进制数据形式的识别结果(ER)。
2.权利要求1中要求的方法,其特征在于二进制数据包括至少一个用机器语言呈现并且可直接被应用程序(3)执行的程序模块(PM),应用程序(3)的形式为面向对象的翻译程序语言的对象和/或面向对象的翻译程序语言的数据对象。
3.权利要求1或2中要求的方法,其特征在于在音频语音信号(AS)被转换成识别结果(ER)时,首先在语法分析步骤(SA)中,对应于音频语音信号(AS)的短语基于形式语法(GR)被检测,其中,音频语音信号(AS)的有效词汇对应于形式语法(GR)的终结字,并且然后识别结果(ER)在语义合成步骤(SS)中从以机器语言给出的可执行程序模块(PM)被产生并且被分配给终结字。
4.权利要求3中要求的方法,其特征在于语法(GR)在对话开始之前被完全地定义并且在对话期间不能被改变。
5.权利要求3中要求的方法,其特征在于语法(GR)在对话期间被动态地改变。
6.权利要求3到5中的任意一个要求的方法,其特征在于语法(GR)包括被实现为面向对象的语法类别(GK)的置换规则(AR、KR),每个面向对象的语法类别(GK)都把依从规则的分析功能作为方法。
7.权利要求3到6中任意一个所要求的方法,其特征在于语法(GR)以至少一个语法对象(GO)的形式被指定为,至少一个面向对象的语法类别(GK)的实例,并且音频语音信号(AS)在语法分析步骤(SA)中根据语法(GR)的置换规则(AR、KR)被检查。
8.权利要求3到7中任意一个所要求的方法,其特征在于语法分析步骤(SA)、语义合成步骤(SS)和/或识别结果(ER)的使用/执行至少暂时部分重叠地发生。
9.权利要求6到8中任意一个所要求的方法,其特征在于产生识别结果的语音输入接口的程序部分,作为面向对象的类别的方法被链接,特别是作为语法对象(GO)的方法被链接。
10.权利要求6到8中任意一个所要求的方法,其特征在于识别结果(ER)通过语法类别(GR)的方法被定义并且通过这个被返回为对象。
11.一个用于具有与语音输入接口(2)合作的应用程序(3)的对话系统(1)的制造语音输入接口(2)的方法,并且该方法包括步骤通过形式语法(GR)规范有效的有效语音输入信号(AS),其中,语音输入信号的有效词汇以语法(GR)终结字的形式被定义,提供表示有效音频语音信号(AS)语义并且包括应用程序(3)在系统运行时间直接可用的数据结构的二进制数据,数据结构由语音输入接口(2)的程序部分和/或应用程序(3)可直接执行的程序模块(PM)产生,和/或提供产生二进制数据的程序部分,把二进制数据和/或程序部分分配给单独的终结字或非终结字或其结合,以便用适当的语义反映有效音频语音信号(AS),把程序部分和/或程序模块(PM)翻译成机器语言,以便被翻译的程序部分在对话系统(1)的操作期间,产生应用程序(3)直接可用的数据结构,或者被翻译的程序模块(PM)在对话系统(1)的操作期间可以直接由应用程序(3)来执行。
12.权利要求11中要求的方法,其特征在于形式语法(GR)由至少一个语法对象(GO)指定为至少一个面向对象的语法类别(GK)的实例。
13.权利要求12中要求的方法,其特征在于至少一个语法类别(GK)通过继承从语法类别级别和/或语法类别库的一个或多个预先指定的类别中被导出。
14.权利要求11到13中任意一个所要求的方法,其特征在于程序模块(PM)用面向对象的翻译程序语言来编程。
15.权利要求12到14中任意一个所要求的方法,其特征在于至少一个语法类别(GK)和/或程序模块(PM)被翻译成机器语言并且被提供为静态和/或动态链接库。
16.权利要求11到15中任意一个所要求的方法,其特征在于形式语法(GR)通过使用图形语法编辑器来指定,而语义使用图形语义编辑器来定义。
17.权利要求16中要求的方法,其特征在于形式语法(GR)通过从预先指定的语法类别(GK)和具有置换规则(AR、KR)和/或终结字和/或非终结字语法类别的占用的选择和/或派生用图形语法编辑器来指定,其中,图形符号被分配给每个语法类别(GK)和/或每个置换规则(AR、KR)。
18.权利要求16或17中要求的方法,其特征在于形式语法(GR)的语义定义,对于每个程序模块(PM),图形语义编辑器提供编辑器窗口,以用于制造程序模块(PM)并且关联程序模块与终结或非终结字。
19.一个产生具有语音输入接口(2)和应用程序(3)的对话系统(1)的方法,其中,语音输入接口(2)用权利要求10到17中任意一个所要求的方法来产生。
20.权利要求19中要求的方法,其特征在于语音输入接口(2)、应用程序(3)和属于识别结果(ER)的可应用的程序模块(PM)分别至少被部分地写入相同的面向对象的翻译程序语言或者可以在相同的面向对象的平台上运行。
21.一个用于用户音声音控制装置或方法的对话系统(1)的语音输入接口(2),其与对话系统(1)的应用程序(3)合作并且检测音频语音信号(AS)并将其直接转换成应用程序(3)可以直接使用的二进制数据形式的识别结果(ER)。
22.一个包括权利要求21中要求的语音输入接口(2)的对话系统(1)。
23.一个用于制造包括语法规范工具的对话系统(1)的语音输入接口(2)的系统,对话系统(1)的有效音频信号(AS)由形式语法(GR)指定,其中,音频语音信号(AS)的有效词汇用语法(GR)终结字的形式来定义,还包括用于提供程序模块(PM)和把程序模块(PM)分配给单独的或组合终结字的语义定义工具,因此在翻译成机器语言之后,被翻译的程序模块(PM)在对话系统(1)的操作期间,可以直接被应用程序(3)执行。
24.权利要求23中要求的系统,其特征为面向对象的语法类别库和/或面向对象的语法类别级别,因此形式语法(GR)被指定为从语法类别库中取得或从语法类别库的类别中导出的语法类别(GK)的实例,和/或者被指定为从语法类别级别取得或者从语法类别级别的类别中导出的实例。
25.权利要求23或24中要求的系统,其特征在于指定形式语法(GR)的图形语法编辑器和/或定义语义的图形语义编辑器。
全文摘要
一个用于操作具有语音输入接口(2)和与语音输入接口(2)合作的应用程序(3)的对话系统(1)的方法被描述。语音输入接口(2)检测用户的音频语音信号(AS)并将其转换成应用程序可以直接使用的二进制数据形式的识别结果(ER)。这个识别结果(ER)由应用程序(3)来提供。此外,用于制造对应的语音输入接口(2)的方法和系统,语音输入接口(2)以及具有这类语音输入接口(2)的对话系统(1)也被描述。
文档编号G10L15/193GK1836271SQ200480023180
公开日2006年9月20日 申请日期2004年8月9日 优先权日2003年8月12日
发明者M·厄德尔 申请人:皇家飞利浦电子股份有限公司

喜欢就赞一下

上一篇
下一篇

相关推荐

    专利名称:一种新型投影灯电极的制作方法技术领域:本实用新型涉及一种电光源的电极,特别是用于投影灯、形似半球的新型电极。背景技术:目前,作为投影灯的电极,其电极头通常制成圆柱形,这种电极头的发射和接收性能较差、卤钨循环不好、启动困难,以及易使

    专利发布时间:2025-05-16阅读:(68)

    专利名称:盐、光致抗蚀剂组合物和用于制备光致抗蚀剂图案的方法技术领域:本发明涉及ー种盐、光致抗蚀剂组合物和用于制备光致抗蚀剂图案的方法。背景技术:用于采用光刻エ艺的半导体微加工的光致抗蚀剂组合物包含具有酸不稳定基团的树脂和酸生成剂。US20

    专利发布时间:2025-05-16阅读:(72)

    专利名称:键盘装置的制作方法技术领域:本发明涉及一种键盘装置,并且具体地涉及这样的键盘装置,其包括 键单元,设置有多个键本体、用于支撑每个键本体的键支撑部、以及以可枢转的方式连接键支撑部的连接部,这些部件通过合成树脂一体地设置;以及键架,其

    专利发布时间:2025-05-16阅读:(125)

    一种高效的语音检测方法【专利摘要】本发明公开了一种语音检测方法,该方法包括以下步骤:在时域上分析原始音频的短时能量和短时过零率,剔除其中的部分非语音信号;在频域上分析保留下来的音频信号子带的谱包络特性和子带的熵特性,进一步剔除其中的部分非语

    专利发布时间:2025-05-16阅读:(84)

    专利名称:背光模组及其导光板的制作方法技术领域:本发明涉及一种背光模组及其导光板,尤其涉及一种用于液晶显示装置的背光模组及其导光板。背景技术:因为液晶显示面板中的液晶本身不具有发光特性,为了达到显示效果,需要给液晶显示面板提供一面光源装置,

    专利发布时间:2025-05-16阅读:(78)

    专利名称:基于随机并行优化算法的光束偏转与净化装置的制作方法技术领域:本发明涉及一种光束控制方法,尤其是一种基于随机并行优化算法的装置, 能够同时实现光束偏转与净化。背景技术:光束偏转与净化在高能激光技术领域得到了广泛的应用。在高能激光系统

    专利发布时间:2025-05-16阅读:(84)