CN103299362A - 用于支持语音的软件应用的协作语音对话及事务逻辑解释器 - Google Patents
用于支持语音的软件应用的协作语音对话及事务逻辑解释器 Download PDFInfo
- Publication number
- CN103299362A CN103299362A CN2011800645701A CN201180064570A CN103299362A CN 103299362 A CN103299362 A CN 103299362A CN 2011800645701 A CN2011800645701 A CN 2011800645701A CN 201180064570 A CN201180064570 A CN 201180064570A CN 103299362 A CN103299362 A CN 103299362A
- Authority
- CN
- China
- Prior art keywords
- transformation
- voice
- link
- dialogue
- xml data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 claims abstract description 28
- 230000004044 response Effects 0.000 claims abstract description 10
- 230000009466 transformation Effects 0.000 claims description 31
- 238000012545 processing Methods 0.000 claims description 8
- 230000008859 change Effects 0.000 claims description 7
- 230000007812 deficiency Effects 0.000 abstract 1
- 238000010586 diagram Methods 0.000 description 25
- 230000006870 function Effects 0.000 description 25
- 238000004891 communication Methods 0.000 description 9
- 230000008878 coupling Effects 0.000 description 8
- 238000010168 coupling process Methods 0.000 description 8
- 238000005859 coupling reaction Methods 0.000 description 8
- 230000008569 process Effects 0.000 description 8
- 230000009471 action Effects 0.000 description 7
- 230000000875 corresponding effect Effects 0.000 description 7
- 230000002093 peripheral effect Effects 0.000 description 6
- 238000011161 development Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000012549 training Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000009434 installation Methods 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 208000027418 Wounds and injury Diseases 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000006378 damage Effects 0.000 description 1
- 230000002950 deficient Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000004069 differentiation Effects 0.000 description 1
- 210000000245 forearm Anatomy 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 208000014674 injury Diseases 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000007474 system interaction Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03G—CONTROL OF AMPLIFICATION
- H03G3/00—Gain control in amplifiers or frequency changers
- H03G3/20—Automatic control
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/26—Speech to text systems
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/22—Procedures used during a speech recognition process, e.g. man-machine dialogue
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/22—Procedures used during a speech recognition process, e.g. man-machine dialogue
- G10L2015/226—Procedures used during a speech recognition process, e.g. man-machine dialogue using non-speech characteristics
- G10L2015/228—Procedures used during a speech recognition process, e.g. man-machine dialogue using non-speech characteristics of application context
Landscapes
- Engineering & Computer Science (AREA)
- Computational Linguistics (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- User Interface Of Digital Computer (AREA)
- Machine Translation (AREA)
Abstract
本发明的实施例通过提供一种在支持语音的操作与事务逻辑之间协作裁决的方法、装置及程序产品来解决现有技术的这些缺陷。该方法包括接收XML数据,并且从XML数据生成至少一个对象。该方法还包括作为确定所述至少一个对象已被调用的响应,执行由该对象的一部分定义的操作。
Description
技术领域
本发明的实施例涉及语音驱动系统,具体涉及包括协作的语音对话和事务逻辑解释器的语音驱动系统。
背景技术
一般来说,支持语音的软件是计算密集型的。例如,支持语音的软件常常要考虑依照特定对话流运行的支持语音的操作(例如,捕获和转换来自用户的言语输入和/或向用户提供言语输出)。其还常常要考虑其它逻辑操作,诸如确定特定条件是否为真。
支持语音的软件中的操作通常是顺序执行的,即在遇到操作时完成该操作。例如,VoiceXML(VXML)已实现于一些支持语音的软件中以提供言语合成和言语识别以及用于支持语音的软件的事务逻辑。用于支持语音的软件的VXML包含XML中的事务逻辑及控制流。然而,这种顺序流阻碍了支持语音的软件的优化。确切地说,VXML通常要求操作在遇到时就被完成,因而未留下改善支持语音的软件操作的优化能力。
发明内容
本发明的实施例通过提供一种在支持语音的操作与事务逻辑之间协作地裁决的方法、装置及程序产品来解决现有技术的这些缺陷。该方法包括接收XML数据,并且从XML数据生成至少一个对象。该方法还包括响应于确定所述至少一个对象已被调用,执行由该对象的一部分定义的操作。
本发明的实施例提供了语音对话对象的产生,其中所述对象随后可以在对话流期间被调用。通过这种方式,本发明的实施例允许在支持语音的操作和事务逻辑之间进行裁决,从而允许对一些操作进行预处理和/或这些操作的并行化。因而能够在不牺牲操作能力的情况下提高支持语音的应用的效率及操作。这些和其它优点将从下列附图和具体描述中变得显而易见。
附图说明
结合在本说明书中且构成其一部分的这些附图示出了本发明的实施例,并且与上文给出的本发明的一般性描述和下文给出的实施例详细描述一起用于解释本发明的原理。
图1是根据本发明实施例的包括语音客户服务器和移动系统的支持语音的系统的示意图;
图2是图1的语音客户服务器的硬件及软件部件的示意图;
图3是图1的移动系统的图示,其还示出了移动设备及其耳机;
图4是图3的移动设备及耳机的硬件及软件部件的示意图;
图5是可包含在图1的语音客户服务器中的多个软件模块的示意图;
图6是可包含在图1的移动系统中的多个软件模块的示意图;
图7是可实现于图1的支持语音的系统中的第一语音对话的图形表示的示意图;
图8是可实现于图1的支持语音的系统中的第二语音对话的图形表示的示意图;
图9是说明用于图1的支持语音的系统的语音应用的配置的操作序列的流程图;
图10是说明用于响应对语音对话的调用的、图1的支持语音的系统的VoiceArtisan应用的操作序列的流程图;以及
图11是说明用于产生与语音对话相应的语音对话对象的、图1的支持语音的系统的VoiceArtisan应用的操作序列的流程图。
应当理解,所提交的附图不一定是成比例的,其给出了本发明实施例的基本原理的各种说明性特征的略微简化的图示。此处公开的本发明实施例的特定设计特征,包括例如各种所示部件的特定尺寸、方位、位置及形状以及特定操作序列(例如包括同时进行和/或顺序进行的操作)将在一定程度上通过期望的具体应用及使用环境确定。所示实施例的某些特征可能相对于其它特征已作了放大或变形以便于查看和清楚理解。
具体实施方式
硬件及软件环境
现在参见附图,在所有附图中相同数字标示相同部件,图1为根据本发明实施例的语音驱动系统10的示意图。该系统10包括语音客户服务器12(示出且此后被称作“VCS”12)和移动系统16。VCS12被配置成将言语输入转换成机器可读的输入,以及在解释的基于脚本的事务逻辑、语音识别和言语合成功能之间裁决。移动系统16被配置成捆绑解释的编程语言脚本模块及利用已使用的语音对话的基于XML的描述的其它应用源。将意识到,VCS12和移动系统16的图示只是说明性的,VCS12和/或移动系统16的功能可以组合在一个部件中。
图2是根据本发明实施例的VCS12的示意图。在特定实施例中,VCS12为计算机、计算系统、计算设备、服务器、磁盘阵列、或者可编程设备,诸如多用户计算机、单个用户计算机、手持计算设备、联网设备(包括处于群集配置下的计算机)、移动通信设备、视频游戏控制台(或其它游戏系统)等。这样,VCS12包括至少一个中央处理单元(CPU)30,其与存储器32耦合。通常利用设在一个或多个物理集成电路设备或芯片上的电路逻辑以硬件的形式实现每个CPU30。每个CPU30可以是一个或多个微处理器、微控制器、现场可编程门阵列或者ASIC,存储器32可以包括随机存取存储器(RAM)、动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)、快速存储器、和/或其它数字存储介质,且同样通常利用设在一个或多个物理集成电路设备或芯片上的电路逻辑来实现。这样,存储器32可以被视为包括以物理形式设在VCS12上其它地方的记忆体储存器,例如至少一个CPU30中的高速缓冲存储器,以及可用作(例如存储在经由网络18通过至少一个网络接口36(示出且此后称作“网络I/F”36)与VCS12耦合的海量存储设备34、另一计算系统、网络存储设备(例如磁带机)或者另一网络设备(例如服务器)上的)虚拟存储器的任何存储能力。
VCS12通过输入/输出设备接口38(示出且此后被称作“I/O I/F”38)与至少一个外围设备耦合。具体地,VCS12通过至少一个用户接口40(包括例如键盘、鼠标、麦克风和/或其它用户接口)从用户处接收数据,并且/或者通过至少一个输出设备42(包括例如显示器、扬声器、打印机和/或其它输出设备)向用户输出数据。此外,在一些实施例中,I/O I/F38与既可用作用户接口40、又可用作输出设备42的设备通信,诸如触摸显示屏(未示出)。
根据本发明,VCS12通常在操作系统44的控制之下,并且执行或者依赖于各种计算机软件应用、操作序列、部件、程序、文件、对象、模块等。在特定实施例中,VCS12执行或者依赖于语音客户应用46以管理语音对话和事务逻辑的协作。语音客户应用在下文中被称作“VoiceArtisan”应用46。VCS12的海量存储器34包括语音对话数据结构48和日志数据结构50。VoiceArtisan应用46还可以记录与其操作有关的数据,并且将该数据存储在日志数据结构50中。
移动系统16被配置成实现语音对话流(例如支持语音的步骤组,诸如用于拾取与放置、语音辅助或者语音指导的操作),捕获言语输入及执行事务逻辑。在VCS12和移动系统16的功能分开的那些实施例中,移动系统16还被配置成经由网络18与VoiceArtisan应用46通信。图3是根据本发明实施例的移动系统16的图示。确切地说,移动系统16包括便携式和/或可穿戴式计算机或设备60(下文中为“移动设备”60)和外围设备或耳机62(下文中为“耳机”62)。如图3中所示,移动设备60为被用户64穿戴(诸如在皮带66上)的可穿戴式设备。在替换实施例中,移动设备60被携带或以其它方式诸如在用户前臂上、或者在升降式装卸车、导线或其它运输方式上进行运送。
在一些实施例中,用户64通过耳机62与移动设备60连接(并且移动设备60与用户64连接),耳机62通过软线68与移动设备60耦合。在替换实施例中,耳机62为无线耳机,并且通过无线信号(未示出)与移动设备60耦合。耳机62包括扬声器70和麦克风72。扬声器70被配置成播放音频(例如与用于指导用户64执行动作的语音对话相关的言语输出),麦克风72被配置成捕获来自用户64的言语输入(例如用于转换为机器可读输入)。这样,在一些实施例中,用户64通过耳机62以免提的方式与移动设备60连接。
图4是根据本发明实施例的移动设备60的部件的至少一部分的示意图。移动设备60包括与存储器82耦合的至少一个处理单元80。每个处理单元80通常利用设在一个或多个物理集成电路设备或芯片上的电路逻辑以硬件的形式实现。每个处理单元80可以是一个或多个微处理器、微控制器、现场可编程门阵列、或者ASIC,存储器82可以包括RAM、DRAM、SRAM、快速存储器、和/或其它数字存储介质,且同样通常利用设在一个或多个物理集成电路设备或芯片上的电路逻辑来实现。这样,存储器82被视为包括以物理形式设在移动设备60上其它地方的记忆体储存器,例如至少一个处理单元80中的高速缓冲存储器,以及用作(例如存储在与移动设备60耦合(包括经由网络18通过至少一个网络接口84(示出且此后称作“网络I/F”84)与移动设备60耦合)的海量存储设备、计算机、和/或另一设备上的)虚拟存储器的任何存储能力。于是,移动设备60借助至少一个有线和/或无线连接通过网络I/F84与网络18耦合。在特定实施例中,移动设备60通过IEEE 802标准、具体地本领域公知的IEEE 802.11无线通信标准与网络18耦合。
在一些实施例中,移动设备60额外包括至少一个输入/输出接口86(示出且此后被称作“I/O I/F”86),其被配置成与除耳机62之外的至少一种外围设备通信。这种外围设备可以包括一个或多个训练设备(例如用于通过训练指导新用户使用移动设备60、耳机62和/或与它们耦合的系统)、图像扫描仪、条形码读取器、RFID读取器、显示器、打印机、用户接口、输出设备和/或其它外围设备(未示出)中的至少一个。在特定实施例中,I/O I/F86包括至少一个外围接口,其包括一个或多个串口、通用串行总线(USB)、PC卡、VGA、HDMI、DVI和/或其它接口(例如其它计算机、通信、数据、音频和/或视觉接口)中的至少一个。移动设备60还包括电源88,诸如电池、可充电电池、整流器和/或其它功率源。移动设备60利用功率监视电路90监视电源88提供的电压。在一些实施例中,响应于功率监视电路90确定来自电源88的功率不足,移动设备60关闭以防止可能的伤害。移动设备60被配置成通过耳机接口92(示出且此后被称作“耳机I/F”92)与耳机62通信,于是所述接口92被配置成通过软线68和/或以无线的方式与耳机62耦合。在特定实施例中,移动设备60通过本领域公知的蓝牙开放式无线技术标准与耳机62耦合。
根据本发明的实施例,移动设备60可以受各种软件应用、部件、程序、文件、对象、模块等(下文中称作“程序代码”)的控制和/或依赖于它们。该程序代码可以包括操作系统94(例如由Redmond,Washington的微软公司发布的Windows嵌入式小型操作系统)以及一个或多个软件应用(例如其被配置成在操作系统中运行或者作为“独立的”应用运行)。存储器82被配置成具有语音应用94以实现对话流,执行事务逻辑,和/或与VoiceArtisan应用96通信。存储器还包括数据暂存器98以存储与移动设备60、耳机62和/或用户64相关的数据。
在一些实施例中,适于实施本发明的移动设备60为可从Pittsbrugh,PA的Vocollect公司处购得的可穿戴式计算机。该移动设备60被用在支持语音的系统中,所述系统利用言语识别技术来记录和/或通信。耳机62在用户64和移动设备60之间提供免提式语音通信。例如,在一个实施例中,语音应用96实现对话流,诸如用于拾取与放置、语音辅助或语音指导的操作。语音应用96与VoiceArtisan应用46通信以调用语音对话。于是,语音应用96可以捕获言语输入以便后续转换成可供VoiceArtisan应用46使用的数字格式(例如机器可读的输入)。
图5是可包括在图2的VoiceArtisan应用46中的多个应用、操作序列、部件、程序、文件、对象、模块等的示意图。在一些实施例中,VoiceArtisan应用46包括至少一个任务执行引擎100、移动设备通信模块102、核心语音库104、编程语言语音库106、至少一个文本-言语引擎108、以及编程语言解释器110。该至少一个任务执行引擎100被配置成分析来自语音应用96的数据,并且确定是否实施语音对话。这可以包括利用文本-言语引擎108将言语输入转换成机器可读的输入或者将控制回传给语音应用96以执行事务逻辑。在特定实施例中,文本-言语引擎108可以与语音识别器(未示出)结合使用,所述识别器被配置成识别与噪声、其它人员的言语输入和/其它语音不同的用户言语输入。移动设备通信模块102被配置成向语音应用96提供格式化的信息,以及分析来自语音应用96的信息。
再次参见图5,VoiceArtisan应用还包括核心语音库104和编程语言语音库106。确切地说,核心语音库104被配置成存储多个语音对话以播放给用户,以及/或者存储至少一个由文本-言语引擎108使用的言语输入模板以便将用户的言语输入转换成机器可读的输入(例如“词汇表”)。另一方面,编程语言语音库106被配置成存储数据,其中所述数据被用于实施事务逻辑以及将语音应用96所要求的语音对话与核心语音库104中的对应语音对话进行匹配。编程语言语音库106中的数据可以与编程语言解释器110结合使用。具体的编程语言可以根据用户需求而变化,但是一种示例性的编程语言可以包括由Wolfeboro Falls,NH的Python Software Foundation开发的编程语言。
图6是可包括在图4的语音应用96中的多个应用、操作序列、部件、程序、文件、对象、模块等的示意图。在一些实施例中,VoiceArtisan应用46包括至少一个对话流模块120、至少一个源122和至少一个编程语言脚本124。该至少一个对话流模块120为用户定义至少一个对话流。这种对话流通常用在拾取与放置、语音辅助或语音指导的操作中。例如,对话流可以指示语音对话被调用和/或要执行特定的事务事件序列(下文中称作“事务逻辑”)。同样例如且非限制性地,这种事务逻辑可以包括基于机器可读的输入确定是否执行动作,基于用户的输入确定是否执行动作,确定是否与用户或其它系统交互,确定是否执行一些除将言语输入转换成机器可读的输入之外的动作及其它事务逻辑。另一方面,该至少一个源122包括图像、语音文件或者可向用户提供的其它数据。例如,源122可以包括特定的待显示图像、特定的言语输出、特定的音调(例如用于指示语音应用96已做好言语输入的准备)、和/或实施对话流所必需的其它数据。另一方面,编程语言脚本124包括用于执行事务逻辑的特定编程语言包,其通常由客户开发。
本领域普通技术人员将认识到,图1-6中示出的环境不期望对本发明实施例的范围产生限制。具体地,根据本发明的替换实施例,VCS12和/或移动系统16可以包括更少或更多的部件或者替换配置。确切地说,VoiceArtisan应用46和语音应用96可以不构建在分离的系统上,在替换实施例中可以都构建在VCS12和/或移动系统16上。根据本发明的实施例,也可以使用替换性的移动系统16。例如,移动系统16可以包括无线连接的移动设备60和耳机62。同样例如,移动系统16可以包括彼此整合在单独的自含式单元中的移动设备60和耳机62。这样,该单独的自含式移动系统可以穿戴在用户64的头部上。
因此,本领域技术人员将认识到,在不背离本发明范围的情况下可以使用其它替换性的硬件和/或软件环境。例如,语音客户46和/或客户应用96可以被配置成具有更多或更少的模块,海量存储器34和/或储存器94可以被配置成具有更多或更少的数据结构。此外,本领域普通技术人员将意识到,VCS12和/或移动系统16可以包括更多或更少的设置于其中的应用。这样,在不背离本发明实施例的范围的情况下可以使用其它替换性的硬件和软件环境。
此外,本领域普通技术人员将意识到,用于描述各种数据的术语(诸如XML、Python、语音对话、事务逻辑实例、编程语言、言语输入和机器可读的输入)只是用于区分之目的,并不期望产生限制。
用于实施本发明实施例的例程,无论是作为操作系统或特定应用的一部分、部件、程序、对象、模块或者由一个或多个计算系统执行的指令序列进行实施,都将在下文中称作“操作序列”、“程序产品”或者更简单地“程序代码”。程序代码通常包括一个或多个指令,其在不同时刻存在于计算系统(例如VCS12和/或移动系统16)上的不同储存器和存储设备中,并且在由计算系统的一个或多个处理器读取和执行时使该计算系统实施为执行体现本发明每个方面的步骤、元件和/或框所必需的步骤。
尽管已经且在下文中还将就完整功能的计算系统对本发明进行描述,但是本领域技术人员将认识到,本发明的各种实施例能够发布成各种形式的程序产品,且无论用于实际实施这种发布的计算机可读介质的具体类型,本发明均能同等地使用。计算机可读介质的实例包括但不限于物理和有形的可记录型介质,诸如易失性和非易失性存储设备、软盘和其它活动磁盘、硬盘驱动器、光盘(例如CD-ROM、DVD等)。
此外,下面描述的各种程序代码可以根据它在本发明特定实施例中实现于其中的应用或软件部件来识别。然而,应当意识到,下面给出的任何具体的程序术语只是用于方便之目的,因此本发明不应限于仅仅用在通过这种术语识别和/或暗示的任何具体应用中。此外,考虑到通常具有无数种将计算机程序组织成例程、过程、方法、模块、对象等的方式,以及可以有各种各样的方式将程序的功能性指派到存留于典型计算机内的各种软件层(例如操作系统、库、API、应用、小程序等)当中,应当认识到本发明不限于此处描述的程序功能性的特定组织和指派。
软件描述及流
一般而言,对话流由用户产生,并且定义语音对话和/或支持语音操作(诸如拾取与放置、语音辅助或语音指导的操作)的事务逻辑。用户在开发环境上以图表表示的形式定义对话流,并且还以图表表示的形式定义语音对话和/或其中的事务逻辑。当对话流建立时,开发环境为语音应用生成Python脚本,并且为VoiceArtisan应用生成与此Python脚本中调用的语音对话相对应的XML数据。VoiceArtisan应用接着分析XML数据以产生与以该XML数据定义的语音对话相对应的语音对话对象。当语音对话被语音应用调用时,VoiceArtisan应用执行相应的语音对话对象以执行与该语音对话相关的功能。
在一些实施例中,语音对话定义状态机,所述状态机包括节点和转变链接,其接着定义至少一个言语输出和/或事务逻辑。各节点代表状态机中的状态,各链接为这些状态之间的转变。非限制性地,转变类型可包括下列中的至少一种:默认链接(立即的、无条件的转变);词汇链接(基于对所说单词或短语的识别的转变);以及条件链接(转变是基于指定条件为真)。语音对话通过节点或链接回叫方法被连接到事务逻辑。
例如,图7是第一语音对话200的图形表示的示意图,其示出了多个节点及它们之间的链接。确切地说,第一语音对话200的图形表示指示当建立语音对话时用户可见到的视图的一个实施例。第一语音对话200包括第一节点202,其基于链接206转变至第二节点204。可以通过根据本发明实施例的语音应用调用第一语音对话200。具体地,当进入第一节点202时,说出单词“At State One”。状态机在词汇链接206处等待用户说出单词“ready”。当用户说出该单词时,状态机转变至第二节点204,并且说出单词“At State Two”。在该点上,第一语音对话200结束。
在一些实施例中,第一节点202和/或第二节点204可以被分配相应的“on entry”函数。这样,第一节点202可以被分配叫做“first_dialog_state_one()”的“on entry”函数(例如其指示对于第一语音对话200的第一节点202而言存在语音对话以在进入该节点时规定“At StateOne”),而第二节点204可以被分配叫做“first_dialog_state_two()”的“onentry”函数(例如其指示对于第一语音对话200的第二节点204而言存在语音对话以在进入该节点时规定“At State Two”)。
同样例如,图8是第二语音对话210的图形表示的示意图,其示出了多个节点及它们之间的链接。同样,第二语音对话210包括基于链接216转变至第二节点214的第一节点212,并且可以通过根据本发明实施例的语音应用调用。当进入第一节点212时,说出单词“At First State”。然而,状态机在条件链接206处无限期等待,直至“second_dialog_condition()”函数返回“True”。当“second_dialog_condition()”函数返回“True”时,状态机转变至第二节点204,并且说出单词“At State Two”。在该点上,第二语音对话210结束。将意识到,与第一语音对话200类似,第二语音对话210的第一节点212或第二节点214也可以与相应的上述“on entry”函数相关联。
根据本发明的实施例,可以通过语音应用来调用第一语音对话200和/或第二语音对话210。具体地,可以通过由语音应用执行的对话流的“main()”函数来调用第一和/或第二语音对话200和/或210。确切地说,当对话流建立时,产生至少两个文件。第一个是有关由语音应用执行的对话流的伪码。该伪码包括对语音对话的调用和/或事务逻辑。第二个包括XML数据,其定义语音对话和/或与其相关的特定事务逻辑。下面的代码列表1示出了有关可通过语音应用实施的对话流的Python伪码的一个实施例,所述语音应用包括“main()”函数,其说明了第一和第二语音对话200和210的使用,且还说明了事务逻辑的使用。
代码列表1:示例性的“main()”函数
因此,从代码列表1中可以明显看出,控制在语音对话及事务逻辑之间来回传递。具体地,代码列表1指示从运行了“first_dialog”的“main()”函数开始执行。在“first_dialog”执行过程中,存在对要执行的“first_dialog_state_one()”和“first_dialog_state_two()”函数的调用。在“first_dialog”函数终止之后,控制返回“main()”函数以在必要时实施事务逻辑。于是,“main()”函数运行“second_dialog”函数,其中对“second_dialog_condition()”函数执行至少一次调用。在“second_dialog”函数终止之后,控制再次返回“main()”函数以在必要时实施事务逻辑。当“main()”函数完成后,语音应用终止。
XML数据接着可以被VoiceArtisan应用的任务执行引擎使用以构建代表语音对话的语音对话对象。具体地,VoiceArtisan应用可以分析XML数据,并且用C++建立语音对话对象作为对语音对话的推论。当语音对话被语音应用调用时,实施语音对话。确切地说,代码列表2说明了包括关于语音对话的数据和/或由代码列表1调用的事务逻辑的XML数据的一个实施例。
代码列表2:语音对话和/或事务逻辑的XML表示
因此,XML表示指导VoiceArtisan应用执行有关语音对话的相应动作,无论是提供言语输出、执行言语识别或者执行其它动作。在言语输出之后,VoiceArtisan可将控制回传给语音应用以实施事务逻辑(诸如由转变链接定义的事务逻辑)。这样,VoiceArtisan应用和语音应用的交互允许对这两者的功能进行抽象。然而,对VoiceArtisan应用的功能的直接访问被禁止,从而保持其安全性。
如上所述,本发明的实施例可以用于协调用于支持语音的系统(具体地拾取与放置、语音辅助和/或语音指导的操作)的语音对话和事务逻辑。例如,用于语音应用的对话流可以规定对语音对话的调用。该语音对话被VoiceArtisan应用识别,其中所述应用已建立与对话流中的语音对象相互关联的语音对话对象。当被调用时,VoiceArtisan应用执行语音对话。同时,可以根据与语音对话或对话流相关的信息通过语音应用和/或VoiceArtisan应用来实施事务逻辑。
图9为流程图220,其示出了由具有根据本发明实施例的配置的语音应用执行的操作序列。具体地,语音应用确定它是否与VoiceArtisan应用通信或者以其它方式通信(框222)。确切地说,语音应用最初确定VoiceArtisan应用是否安装和运行在与该语音应用相同的计算系统上,以及/或者VoiceArtisan应用是否安装和运行于与语音应用通信的计算系统上。当语音应用未与VoiceArtisan应用通信时(判定框222的“No”分支),操作序列可以结束。作为替换,在未示出的框中,当语音应用未与VoiceArtisan应用通信时,可以开始VoiceArtisan应用的事例以进行通信,然后返回框222。
当语音应用与VoiceArtisan应用通信时(判定框222的“Yes”分支),语音应用从存储器中确定至少一个要实施的对话流(框224)。当语音应用未确定任何要实施的对话流时(判定框226的“No”分支),操作序列可以结束。
在特定实施例中,以XML定义每个对话流,每个对话流包括事务逻辑以及对语音对话的至少一个调用。此外,对话流可以定义除了由语音对话利用的词汇之外的也与该对话流一同使用的词汇。这样,当语音应用确定存在至少一个要实施的对话流时(判定框226的“Yes”分支),语音应用确定与该对话流相关的所有单词是否均能够从言语输入转换成机器可读的输入,或者反之亦然(例如确定文本-言语引擎和/或语音识别器能够将特定单词转换成机器可读的输入和/或将特定单词转换成言语输出,以使文本-言语引擎和/或语音识别器得到“训练”)(框228)。当有关对话流的所有单词均未被训练时(判定框228的“No”分支),语音应用能够捕获与该单词和/或这些单词相关的言语输入以训练文本-言语引擎和/或语音识别器(框230)。当有关对话流的所有单词均已被训练(判定框228的“Yes”分支或框230),语音应用找到与该对话流相关的主模块,并且执行该对话流(框232)。
图10为流程图240,其示出了根据本发明实施例的响应于调用语音对话的VoiceArtisan应用的操作序列。确切地说,VoiceArtisan应用从与该VoiceArtisan应用相关的脚本接收对语音对话的调用,并且可以控制来自语音应用的操作(框242)。接着,VoiceArtisan应用确定与所调用的语音对话对应的语音对话对象(框244),并且执行第一节点的语音对话以将与所请求的语音对话相关的言语输出送回给语音应用,并且/或者实施由语音对话定义的动作(例如当语音对话与言语输入不相关时)(框246)。
在语音对话中,可以借助链接从一个节点转变到另一个节点,所述链接可以包括默认链接、词汇链接或者条件链接。如果不存在与特定言语输出相关的链接(判定框248的“No”分支),则操作序列结束。然而,当存在与特定言语输出相关的链接时(判定框248的“Yes”分支),VoiceArtisan应用确定该链接是否为条件链接(例如自动链接)(框250)。在条件链接中,当与该链接相关的条件为真时,从一个节点转变到另一个节点。因此,当存在条件链接时(判定框250的“Yes”分支),VoiceArtisan应用在与该链接相关的条件为真时转变至下一节点(框252),操作序列返回框248。
然而,当链接不是条件链接时(判定框250的“No”分支),VoiceArtisan应用确定该链接是否为词汇链接(框254)。当该链接为词汇链接时(判定框254的“Yes”分支),VoiceArtisan应用基于对所说单词或短语的识别转变至下一节点。这样,当特定词汇或短语被说出时,VoiceArtisan应用转变至下一节点以发送另一语音对话和/或实施事务逻辑(框256),并且返回框248。然而,当该链接不是词汇链接时(判定框254的“No”分支),该链接可以为默认链接。在默认链接中,存在从一个节点到另一节点的立即且无条件的转变。这样,VoiceArtisan应用转变至下一节点以发送另一语音对话和/或实施事务逻辑(框258),并且返回框248。
在一些实施例中,对话流中的控制可以根据由对话流和/或语音对话定义的特定操作在语音应用和VoiceArtisan应用之间传递。例如,语音对话的词汇链接可以指示在用户说出特定单词或短语时发生转变。语音应用控制捕获用户的言语输入,并且将它提供给VoiceArtisan应用以便转换成机器可读的输入。VoiceArtisan应用将言语输入转换成机器可读的输入,然后将该机器可读的输入送回语音应用以确定所指定的单词或短语是否已由用户说出。因此,语音应用指示是否转变至下一节点。同样例如,条件链接可以指示当特定条形码被扫描和/或特定按钮被按压时发生转变。然而,由语音应用确定该条件的判断结果是否为真。
图11为流程图260,其示出了根据本发明实施例的产生语音对话对象的VoiceArtisan应用的操作序列。VoiceArtisan应用最初确定存储器中是否存在与对话流相关的XML数据(框262)。当存在与对话流相关的XML数据时(判定框262的“Yes”分支),VoiceArtisan应用分析该XML数据,并且根据该数据产生至少一个语音对话对象(框264)。在特定实施例中,VoiceArtisan应用产生有关语音对话的代表语音对话数据的C++推论。因此,当被调用时,VoiceArtisan应用可以实施由该语音对话定义的操作中的至少一些。当不存在与对话流相关的XML数据(判定框262的“No”分支)时或者在产生至少一个语音对话对象之后(框264),操作序列可以结束。
尽管已经通过对各种实施例及实例的描述对本发明进行了说明,且这些实施例已得到非常详细地描述,但是申请人不期望将所附权利要求的范围约束或者以任何形式限制成这种细节。额外的优点和改进将对于本领域技术人员而言是显而易见的。例如,语音对话可以包括更多或更少的节点,以及比所示更多的转变链接。具体地,语音对话中的节点可以通过多个转变链接(例如多个词汇或条件链接)连接多个节点。转变到的特定节点因此可以与用于转变至该节点的特定链接(例如单词、短语或条件)相关联。此外,语音对话不一定必须包括言语输入,而是可以包括动作(例如诸如等待言语输出)或事务逻辑。
此外,本领域普通技术人员将认识到,语音应用和VoiceArtisan应用以协同操作的方式工作。这样,语音应用和VoiceArtisan应用可以在相同的计算系统上执行,并且在特定实施例中,语音应用可以作为VoiceArtisan应用的虚拟部件来运行。因此,有关语音应用和VoiceArtisan应用的特定术语只是用于区分目的,不期望产生限制。这样,具有更广方面的本发明不局限于所示出和描述的特定零件、装置及方法。本领域普通技术人员将认识到,根据本发明实施例的原理,上述流程图的任何框可以被删除、增加、设置成与另一个框同时进行、合并或者以其它方式改变。因此,可以偏离这些细节而不背离申请人的一般发明概念的范围。
Claims (23)
1.一种在支持语音的操作和事务逻辑之间协作地裁决的方法,包括:
接收XML数据;
从所述XML数据生成至少一个对象;以及
响应于确定所述至少一个对象已被调用,实施由所述对象的一部分定义的操作。
2.如权利要求1所述的方法,其中实施所述操作包括:
访问语音引擎以将与所述对象相关的言语输出提供给用户。
3.如权利要求1所述的方法,还包括:
与执行与所述对象相关的至少一个事务操作序列并行地实施所述操作。
4.如权利要求1所述的方法,其中所述对象包括转变链接,所述转变链接定义实施所述操作之后所述对象的转变。
5.如权利要求4所述的方法,其中所述转变链接为默认链接,所述默认链接指示从所述操作的转变为立即且无条件的转变。
6.如权利要求4所述的方法,其中所述转变链接为词汇链接,所述词汇链接指示从所述操作的转变是基于对至少一个单词的识别。
7.如权利要求4所述的方法,其中所述转变链接为条件链接,所述条件链接指示从所述操作的转变是基于指定条件为真。
8.如权利要求4所述的方法,其中所述转变链接指示从所述操作到第二操作的转变。
9.如权利要求4所述的方法,其中所述转变链接指示从所述操作到事务操作序列的转变。
10.如权利要求1所述的方法,还包括:
响应于捕获用户的言语输入,将所述言语输入转换成机器可读的输入。
11.如权利要求1所述的方法,其中所述XML数据与对话流相关。
12.一种装置,包括:
至少一个处理单元;
存储器;以及
位于所述存储器中的程序代码,所述程序代码被配置成当由所述至少一个处理单元执行时,接收XML数据,从所述XML数据生成至少一个对象,并且响应于确定所述至少一个对象已被调用,实施由所述对象的一部分定义的操作。
13.如权利要求12所述的装置,其中所述程序代码还被配置成访问语音引擎以将与所述对象相关的言语输出提供给用户。
14.如权利要求12所述的装置,其中所述程序代码还被配置成与执行与所述对象相关的至少一个事务操作序列并行地实施所述操作。
15.如权利要求12所述的装置,其中所述对象包括转变链接,所述转变链接定义实施所述操作之后所述对象的转变。
16.如权利要求15所述的装置,其中所述转变链接为默认链接,所述默认链接指示从所述操作的转变为立即且无条件的转变。
17.如权利要求15所述的装置,其中所述转变链接为词汇链接,所述词汇链接指示从所述操作的转变是基于对至少一个单词的识别。
18.如权利要求15所述的装置,其中所述转变链接为条件链接,所述条件链接指示从所述操作的转变是基于指定条件为真。
19.如权利要求15所述的装置,其中所述转变链接指示从所述操作到第二操作的转变。
20.如权利要求15所述的装置,其中所述转变链接指示从所述操作到事务操作序列的转变。
21.如权利要求12所述的装置,其中所述程序代码还被配置成响应于捕获用户的言语输入,将所述言语输入转换成机器可读的输入。
22.如权利要求12所述的装置,其中所述XML数据与对话流相关。
23.一种程序产品,包括:
程序代码,所述代码被配置成当由至少一个处理单元执行时,接收XML数据,从所述XML数据生成至少一个对象,并且响应于确定所述至少一个对象已被调用,实施由所述对象的一部分定义的操作;以及
承载所述程序代码的计算机可读介质。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/947,014 | 2010-11-16 | ||
US12/947,014 US20120121108A1 (en) | 2010-11-16 | 2010-11-16 | Cooperative voice dialog and business logic interpreters for a voice-enabled software application |
PCT/US2011/060702 WO2012068050A1 (en) | 2010-11-16 | 2011-11-15 | Cooperative voice dialog and business logic interpreters for a voice-enabled software application |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103299362A true CN103299362A (zh) | 2013-09-11 |
Family
ID=45094781
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2011800645701A Pending CN103299362A (zh) | 2010-11-16 | 2011-11-15 | 用于支持语音的软件应用的协作语音对话及事务逻辑解释器 |
Country Status (7)
Country | Link |
---|---|
US (1) | US20120121108A1 (zh) |
EP (1) | EP2641243A1 (zh) |
JP (1) | JP2013544409A (zh) |
CN (1) | CN103299362A (zh) |
AU (1) | AU2011329145A1 (zh) |
BR (1) | BR112013011959A2 (zh) |
WO (1) | WO2012068050A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110118822A (zh) * | 2018-02-07 | 2019-08-13 | 株式会社东芝 | 超声波探伤装置及超声波探伤方法 |
CN111862966A (zh) * | 2019-08-22 | 2020-10-30 | 马上消费金融股份有限公司 | 智能语音交互方法以及相关装置 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9600474B2 (en) * | 2013-11-08 | 2017-03-21 | Google Inc. | User interface for realtime language translation |
US11127402B2 (en) * | 2019-05-03 | 2021-09-21 | Servicenow, Inc. | Systems and methods for voice development frameworks |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6578000B1 (en) * | 1999-09-03 | 2003-06-10 | Cisco Technology, Inc. | Browser-based arrangement for developing voice enabled web applications using extensible markup language documents |
US7260530B2 (en) * | 2002-02-15 | 2007-08-21 | Bevocal, Inc. | Enhanced go-back feature system and method for use in a voice portal |
US7287248B1 (en) * | 2002-10-31 | 2007-10-23 | Tellme Networks, Inc. | Method and system for the generation of a voice extensible markup language application for a voice interface process |
US20040181467A1 (en) * | 2003-03-14 | 2004-09-16 | Samir Raiyani | Multi-modal warehouse applications |
US9082409B2 (en) * | 2008-08-28 | 2015-07-14 | Avaya Inc. | Binary-caching for XML documents with embedded executable code |
-
2010
- 2010-11-16 US US12/947,014 patent/US20120121108A1/en not_active Abandoned
-
2011
- 2011-11-15 AU AU2011329145A patent/AU2011329145A1/en not_active Abandoned
- 2011-11-15 BR BR112013011959A patent/BR112013011959A2/pt not_active IP Right Cessation
- 2011-11-15 EP EP11791373.1A patent/EP2641243A1/en not_active Withdrawn
- 2011-11-15 WO PCT/US2011/060702 patent/WO2012068050A1/en active Application Filing
- 2011-11-15 JP JP2013539936A patent/JP2013544409A/ja active Pending
- 2011-11-15 CN CN2011800645701A patent/CN103299362A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110118822A (zh) * | 2018-02-07 | 2019-08-13 | 株式会社东芝 | 超声波探伤装置及超声波探伤方法 |
CN110118822B (zh) * | 2018-02-07 | 2023-09-19 | 株式会社东芝 | 超声波探伤装置及超声波探伤方法 |
CN111862966A (zh) * | 2019-08-22 | 2020-10-30 | 马上消费金融股份有限公司 | 智能语音交互方法以及相关装置 |
Also Published As
Publication number | Publication date |
---|---|
WO2012068050A1 (en) | 2012-05-24 |
AU2011329145A1 (en) | 2013-06-06 |
BR112013011959A2 (pt) | 2017-09-26 |
EP2641243A1 (en) | 2013-09-25 |
US20120121108A1 (en) | 2012-05-17 |
JP2013544409A (ja) | 2013-12-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9171539B2 (en) | Transforming components of a web page to voice prompts | |
KR102426717B1 (ko) | 발화 인식 모델을 선택하는 시스템 및 전자 장치 | |
KR102574593B1 (ko) | 챗봇을 이용한 서비스 제공 방법 및 그 장치 | |
CN106062868A (zh) | 提供预先计算的热词模型 | |
CN106373564A (zh) | 个性化热词检测模型 | |
KR102406718B1 (ko) | 컨텍스트 정보에 기반하여 음성 입력을 수신하는 지속 기간을 결정하는 전자 장치 및 시스템 | |
KR102440651B1 (ko) | 자연어 표현 제공 방법 및 이를 지원하는 전자 장치 | |
CN105378708A (zh) | 环境感知对话策略和响应生成 | |
US11120792B2 (en) | System for processing user utterance and controlling method thereof | |
US11495223B2 (en) | Electronic device for executing application by using phoneme information included in audio data and operation method therefor | |
CN103299362A (zh) | 用于支持语音的软件应用的协作语音对话及事务逻辑解释器 | |
CN110308886A (zh) | 提供与个性化任务相关联的声音命令服务的系统和方法 | |
KR102472010B1 (ko) | 전자 장치 및 전자 장치의 기능 실행 방법 | |
CN105917405A (zh) | 外源性大词汇量模型到基于规则的语音识别的合并 | |
AU2023203454A1 (en) | Electronic device for performing task including call in response to user utterance and operation method thereof | |
KR20190139489A (ko) | 음성 인식 서비스 운용 방법 및 이를 지원하는 전자 장치 | |
KR102421745B1 (ko) | Tts 모델을 생성하는 시스템 및 전자 장치 | |
KR102426411B1 (ko) | 사용자 발화을 처리하는 전자 장치 및 시스템 | |
KR101207435B1 (ko) | 대화형 음성인식 서버, 대화형 음성인식 클라이언트 및 대화형 음성인식 방법 | |
KR20190011031A (ko) | 자연어 표현 생성 방법 및 전자 장치 | |
US11720324B2 (en) | Method for displaying electronic document for processing voice command, and electronic device therefor | |
KR20200042137A (ko) | 변형 발화 텍스트를 제공하는 전자 장치 및 그것의 동작 방법 | |
KR102012774B1 (ko) | 휴대 단말기 및 그 동작 방법 | |
Kurschl et al. | Gulliver-A framework for building smart speech-based applications | |
Kepuska et al. | uC: Ubiquitous collaboration platform for multimodal team interaction support |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20130911 |