CN101138228A - 个性化语音扩展标记语言应用 - Google Patents
个性化语音扩展标记语言应用 Download PDFInfo
- Publication number
- CN101138228A CN101138228A CNA2006800072696A CN200680007269A CN101138228A CN 101138228 A CN101138228 A CN 101138228A CN A2006800072696 A CNA2006800072696 A CN A2006800072696A CN 200680007269 A CN200680007269 A CN 200680007269A CN 101138228 A CN101138228 A CN 101138228A
- Authority
- CN
- China
- Prior art keywords
- state
- user
- group
- prompting
- command
- 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 35
- 230000008859 change Effects 0.000 claims abstract description 34
- 230000004044 response Effects 0.000 claims abstract description 25
- 230000000694 effects Effects 0.000 claims abstract description 10
- 230000009471 action Effects 0.000 claims description 24
- 238000006243 chemical reaction Methods 0.000 claims description 17
- 230000008569 process Effects 0.000 claims description 12
- 230000014509 gene expression Effects 0.000 claims description 7
- 238000004458 analytical method Methods 0.000 claims description 4
- 238000004590 computer program Methods 0.000 claims description 3
- 230000007704 transition Effects 0.000 abstract description 2
- 230000000875 corresponding effect Effects 0.000 description 18
- 238000013461 design Methods 0.000 description 12
- 238000012856 packing Methods 0.000 description 9
- 238000012986 modification Methods 0.000 description 7
- 230000004048 modification Effects 0.000 description 7
- 230000008901 benefit Effects 0.000 description 4
- 238000011161 development Methods 0.000 description 4
- 230000001755 vocal effect Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000004807 localization Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 238000003860 storage Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 238000012938 design process Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 235000012364 Peperomia pellucida Nutrition 0.000 description 1
- 240000007711 Peperomia pellucida Species 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000001427 coherent effect Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 230000001276 controlling effect Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 230000002950 deficient Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 230000008570 general process Effects 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 108010041420 microbial alkaline proteinase inhibitor Proteins 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 238000003825 pressing Methods 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 230000002618 waking effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M3/00—Automatic or semi-automatic exchanges
- H04M3/42—Systems providing special services or facilities to subscribers
- H04M3/487—Arrangements for providing information services, e.g. recorded voice services or time announcements
- H04M3/493—Interactive information services, e.g. directory enquiries ; Arrangements therefor, e.g. interactive voice response [IVR] systems or voice portals
- H04M3/4936—Speech interaction details
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M2201/00—Electronic components, circuits, software, systems or apparatus used in telephone systems
- H04M2201/40—Electronic components, circuits, software, systems or apparatus used in telephone systems using speech recognition
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M2203/00—Aspects of automatic or semi-automatic exchanges
- H04M2203/35—Aspects of automatic or semi-automatic exchanges related to information services provided via a voice call
- H04M2203/355—Interactive dialogue design tools, features or methods
Landscapes
- Engineering & Computer Science (AREA)
- Human Computer Interaction (AREA)
- Signal Processing (AREA)
- Telephonic Communication Services (AREA)
Abstract
一种语音应用服务器,被布置为响应于用于选择服务选项的用户命令根据应用程序来提供用户驱动服务。通过音频提示来提示用户发布用户命令。所述应用程序包括状态机,通过用户所选的服务选项根据用于定义逻辑过程的一组预定的状态中的一个状态来确定应用程序的状态,依据要满足的逻辑条件而确定状态之间的转移,以在所述组中的一个状态和该组中的另一个状态之间改变。所述逻辑条件包括用户是否已提供可能的命令组中的一个命令。提示选择引擎依据预定规则生成用于提示来自用户的命令的音频提示。在运行时确定由所述提示选择引擎所选择的提示。因为所述状态机与所述提示选择引擎是分离的实体,并且在运行时确定要选择的提示,所以可以达到改变所述提示选择引擎而不影响所述状态机的操作的效果,使得可以向同一用户驱动服务提供不同的个性化,具体而言,这允许支持多种语言,并考虑语言之间的语法差异来提供用于修改提示结构的规则,从而提供了更高质量的多语言支持。
Description
技术领域
本发明涉及一种用于依据应用程序来提供用户驱动的服务的应用服务器。本发明也涉及一种用于提供用户驱动的服务的方法,响应于选择服务选项的用户命令而提供所述服务。本发明也涉及一种响应于选择服务选项的用户命令而提供用户驱动的服务的应用程序。
背景技术
用户可以响应于用户发出的用户命令而访问应用服务器上提供的服务。可以通过网络(例如包括服务器的移动网络)来提供所述服务,并且所述服务可以包括诸如启动电话呼叫、检索语音邮件或发送与接收文本或图片消息的服务。用户命令可以采用许多不同的形式。例如,用户可以通过按下诸如移动电话的用户终端的键盘上的按钮或一系列按钮来发出命令。可替代地,用户可以通过操纵和选择用户终端的图形用户界面上的菜单项或通过提供语音命令来发出命令。可以使用在所述用户和应用服务器上提供的应用程序之间进行的一组对话(框)来访问这些服务。应用服务器可以经由一组适合于用户所需信息的音频提示来与用户进行通信。响应于这些提示,用户可以向应用服务器提供命令。
发明内容
根据本发明的第一方面,提供了一种用于依据应用程序来提供用户驱动服务的语音应用服务器。将所述应用程序布置为响应于选择服务选项的用户命令来提供服务,通过音频提示来提示所述用户命令。所述应用程序包括由状态机引擎操作的状态机,用于通过用户所选的服务选项、根据用于定义逻辑过程的一预定的状态组中的一个状态来确定应用程序的状态,依据要满足的逻辑条件而确定状态之间的转换,以在所述组中的一个状态和该组中的另一个状态之间改变。所述逻辑条件包括用户是否已提供可能的命令组中的一个命令。所述应用程序还包括:提示选择引擎可操作的一组提示选择规则,用于依据预定规则生成用于提示来自用户的命令的音频提示。在运行时确定所述提示选择引擎所选择的提示,并且将应用程序的至少一个状态机与提示选择规则组分开定义,以达到可以独立于状态机的操作而对提示选择规则组做出改变的效果,所述提示选择规则组用于定义由提示选择引擎为用户驱动服务生成的对话。
依据该第一方面,通过将所述状态机和提示选择规则组提供为分离的实体,能够实现以独立于状态机的操作的方式根据特定服务的提示选择引擎来改变到定义对话的规则组的效果。也就是说,可以通过定义对话的不同的规则组来提供不同的个性化,而不需要提供相应的个性化状态机,这被应用于在依据不同用户的需要而向他们提供服务中所使用的提示选择引擎。例如,可以由提示选择引擎的规则组向不同国家或地区内的服务用户提供特定的音频提示,该音频提示具有适合本地语言和该区域内的服务用户的方言的特定个性化。提示选择引擎所使用的预定规则可以简单地是状态机所确定的状态与所给出的语音提示的一对一的映射,或可替代地,状态机所确定的给定状态可以与多个可能提示相对应,而基于预定规则来选择实际所选的提示。
与其中所述服务个性化仅仅包括记录新的音频提示文件组的替代方法相比,提供分离的提示选择规则组是有利的,所述替代方法对替换语言个性化或其他的复杂个性化来说可能是不够的。此外,本发明优于其中所述服务的个性化包括为每个个性化提供修改的状态机的替代方法。由于服务逻辑中的任何改变(例如,对话流、新对话的增加或程序缺陷定位(bug fix)需要开发者对服务的每个个性化施加该改变,所以这导致了繁重的维护需求。此外,不可能允许客户访问服务的状态机,因而,用户自身将不能创建个性化。
相反,本发明的实施例允许不对服务逻辑进行任何修改来开发个性化,所以可以有基于该服务的单一代码。可以无需重新配置所述服务即可配置(或删除)该服务的个性化,并且可以彼此独立地配置所述服务的个性化。因而,个性化不会对服务本身或现有个性化引入缺陷。此外,因为个性化开发与服务开发是分开的,所以可以向运营商(或其他客户)提供利用反映品牌价值或他们所希望的任何其它标准的提示选择来创建其自己的个性化的能力,而不必等待服务供应商发布新的服务版本。
本方法与通常的使用消息目录来本地化非语音应用的实践不同。消息目录包含应用所使用的所有文本串。这些文本串是从所述应用中提取的,并且被索引键(key)替换,其每个指向包含所提取的文本的消息目录条目。于是,创建应用的新本地化的本质是创建新的消息目录。注意其中可以替换提示音频记录集合的语音应用的类似应用。尽管用这种传统方法可以进行语音提示文件的一对一替换,但是不能获得对话形式和结构的变化。
根据本发明的一个实施例,语音应用服务器包括命令识别引擎。该命令识别引擎包括语音识别器,该语音识别器用于向命令识别引擎提供一组可能的用户命令,所述用户命令可能是从用户接收的、用于从预定状态组的当前一个状态改变到状态机可以改变到的状态的另一状态。命令识别引擎用于分析语音识别器提供的用户命令和可能的命令,以向状态机引擎提供对用户提供的一个可能命令的估计。状态机引擎响应于所估计的用户命令而改变状态。
根据本实施例,由语法规则来指定可以被识别并运行在服务器上的一组可能的用户命令,并且在对认为可能与用户输入的命令匹配的可能命令的识别过程中由命令识别引擎来使用该组可能的用户命令。向命令识别引擎发布的该组命令作为对可以由命令识别引擎所能提供的用户命令估计的数目和类型的约束,并且将命令识别引擎的任务只集中在相关命令上。可以提供单个用户命令估计,或可替代地,可以提供多个用户命令估计。状态机引擎使用这些估计以确定适当的状态转换。
除了提供用户命令的估计,所述语音识别器也可以用于提供与每个命令估计相对应的置信水平,所述置信水平表示语音识别器所认为的用户命令估计与所输入的用户命令相匹配的可能性。在这种情况下,状态机引擎根据例如所估计的用户命令、结合所确定的置信水平来确定状态的改变。
根据另一实施例,将服务器布置为从用户接受语音命令,在一个示例中,可以经由语音对话、根据来自服务器的提示和来自用户的命令二者来执行服务器和用户之间的所有通信,这有利地向用户提供了流畅的自动(hands-free)服务。然而,应当明白,在某些控制应用程序的命令类型的情况下,口头命令可能是不合适的,或不如非口头命令方便,例如使用DTMF音调提供“拨号”命令。在其它示例中,可以采用口头和非口头命令的结合。
根据本发明的另一实施例,所述应用程序用于依据状态机所确定的应用程序当前状态生成标记语言页面,该标记语言页面包括统一资源定位符(URL),所述统一资源定位符定义了提供音频提示的数据文件的位置。URL也可以指定语法文件,每个语法文件为命令识别引擎提供一组可能的命令组,可以动态生成某些语法文件,而其它语法文件可以静态存在。在一个示例中,所述标记语言是VoiceXML(语音扩展标记语言)。在基于网站服务器的系统的环境中,使用标记语言来定义提示特别有利。
根据其它实施例,可以使用标记语言来定义状态机、提示选择规则组和命令识别语法中的一个或多个。
在所附的权利要求书中限定了本发明的各种其它方面和特征。本发明的其它方面包括语音应用系统、语音应用方法和应用程序。
附图说明
现在将参考附图仅以示例的方式描述本发明的实施例,其中相同的部分提供有相应的参考数字,其中:
图1是说明用于配置到用户的音频提示服务的布置的示范性框图;
图2示范性地说明了图1的布置的一个可能运行实现的更详细描述;
图3示范性地说明应用程序的各种可能状态的示例;
图4示范性地说明了可能在图3的状态之一中出现的进一步的状态的更详细示例;
图5示范性地说明了对于图4的每个状态的、到达该状态的相应条件、情形标识符、提示建议、动作以及在本状态之后要到达的下一状态;
图6示范性地说明了可应用于本发明的实施例的用户界面标记语言的示例形式;
图7示范性地说明了对于图4和5的每个状态的、要选择的提示的相应条件以及要生成的提示的标识符;
图8示范性地说明了对于包括多个服务的应用程序的、响应于用户命令在同一形式的不同状态之间、或在一个形式的状态与另一形式的状态之间的状态转换的选择过程;
图9A和图9B示范性地说明了从当前定购的服务的形式内的状态中选择适合的状态组;
图10示范性地说明了对于包括个性化要求的服务的设计过程;
图11示范性地说明了使用参考图10描述的设计输出的服务分组和个性化分组开发过程。
具体实施方式
现在将参考语音触发(voice-activated)服务来描述本发明的示例实施例。图1提供了说明用于配置到用户的音频提示服务的布置的示范性框图。通过运行在语音应用服务器10上的应用程序来提供该语音提示服务。应用服务器10向数据库40中存储数据和从数据库40中检索数据。将用户设备20布置为与电话平台30通信。将电话平台30布置为从用户设备20接收表示用户命令的信号,以及向用户设备传达表示通信的音频提示的信号,所述信号由用户设备再现作为对用户的音频提示。
本发明的实施例提供了基于音频服务的设备,在一些示例中,其使得用户可以语音触发服务。通过响应于对于用户命令选项的音频提示来提供语音命令而实现服务的语音触发。然而,在其它示例中,可以通过DTMF音调来提供用户命令。
系统架构
在图2中示出了对图1的语音应用服务器的一个可能运行实现(run-timeimplementation)提供更详细的描述的图。在图2中,对也出现在图1中的部分提供有相同的参考数字。如图2中所示,将电话平台30布置为从语音应用服务器10内的网站服务器100接收表示音频提示的数据。如将立刻解释的,电话平台30以运行在应用服务器10上的应用程序生成的VoiceXML页面的形式接收描述音频提示的数据。
将应用服务器10布置为提供用于运行应用程序的平台,所述应用程序用于向用户提供语音触发服务。根据本技术,所述应用程序将提示选择规则与定义应用程序的状态的服务逻辑分开,这样的状态实现用户要执行的任务。
提示选择引擎所运行的规则组定义了要为用户生成的提示。用户通过发出命令以指定服务逻辑要执行的任务来响应该提示。在运行时产生状态机引擎和提示选择引擎之间的操作关联,使得在运行时创建要为特定状态生成的提示。可以认为当运行在应用服务器上时所述应用程序包括:
●状态机,用于定义应用程序的状态和用于从预定状态组中的一个状态改变到另一个状态的条件,一些状态根据通过状态作为导航的用户命令来生成用户指定的任务。这些任务也使得执行具有各种效果的动作,例如发送消息、更新地址簿条目等。
●提示选择规则组,用于依据这些规则定义要用话音表达给用户的提示,依据应用程序的当前状态选择要生成的提示。
如图2中所示,当运行在应用服务器上时,所述应用程序包括输入处理引擎102,用于处理在网站服务器上从电话平台接收的、由用户设备20生成的输入用户命令。然后,向服务逻辑104输入由输入处理引擎102处理的用户命令,所述服务逻辑104提供用于定义服务任务的状态机。椭圆134表示的状态机引擎运行该用于定义应用程序的状态机的状态机服务逻辑104。
如将针对状态机所定义的应用程序的每个状态解释的,依据会话状态来执行某些动作。因而,将会话状态管理器106布置为访问数据访问层112,所述数据访问层112向用户提供了依据已到达的应用程序中的状态而执行任务的便利。数据访问层112可以处理某些事件,并且可以经由外部网关110访问诸如电子邮件、SMS或即时消息(Instant Messaging)的外部资源。数据访问层112也可以从外部网关110接收外部事件,并向会话状态管理器116转发这些事件。
数据访问层112提供了用于从数据库和其它数据存储中检索数据的便利。数据访问层112可以访问存储在数据库114中的数据,也可以访问XML数据资源和诸如下列的其它数据存储:
● LDAP用户目录,
● IMAP消息存储,以及
●来自MS交换服务器的MAPI。
如上所述,所述应用程序也包括用于选择到用户的通信的音频提示的提示选择引擎120。由提示选择引擎经由媒体定位器115从媒体122中选择音频提示。通过统一资源定位符(URL)来识别媒体资源,所述统一资源定位符从其它事物中识别以数据访问层112可访问的音频文件124的形式的提示。数据访问层112也提供对命令识别引擎126的访问,将所述命令识别引擎126布置为处理用户接收的命令并生成指示命令识别引擎126对已发布的特定命令的置信程度的置信评分(confidence score)。
将该置信评分传递到服务逻辑,该服务逻辑用于确定是否已满足在一个状态和另一状态之间进行改变的逻辑条件。数据访问层112也向用户提供了依据要提供的服务而提供信息的便利。例如,数据访问层112可以将用户产生的记录存储在记录仓库128中。此外,可以将用户生成的口头命令存储在言语数据存储130中。
应用程序也包括呈现生成器132,将该呈现生成器132布置为从会话状态管理器106和提示选择引擎120接收呈现给用户的数据。将呈现生成器132布置为形成呈现给用户的数据,通过网站服务器100来配置该数据。在一个示例中,呈现给用户的数据是VoiceXML页面的形式,其可以包括到诸如音频提示文件124的数据对象的一个或多个URL。
对应用程序的状态机104进行布置以确保将输入处理处理器102和呈现生成器132保持为关于要执行的那个特定动作相对应的一个应用程序预定状态。状态机引擎134为状态机104确定应用程序的状态。
网站服务器100包括页面请求小型服务程序(servlet)100.2和媒体请求小型服务程序100.4。将页面请求小型服务程序100.2布置为依据从呈现生成器132接收的数据来对用于与电话平台30通信的VoiceXML进行格式化。电话平台30依据在VoiceXML页面中所指定的来解释所接收的VoiceXML页面。电话平台30响应于VoiceXML页面来访问媒体小型服务程序122,以获得媒体数据122。VoiceXML页面可以包括一个或多个URL,所述URL经由数据访问层112访问媒体数据122。网站服务器100也响应于VoiceXML页面中的<submit>或<goto>项从电话平台30接收页面请求,所述请求由网站服务器100处理并以VoiceXML页面的形式返回。
如上所述,本技术的示例提供了将定义用于向用户提供任务的应用程序的状态的服务逻辑与提示选择规则相分离的便利,而在一些示例中,还提供了将其与用户命令识别器126识别的用户命令相分离的便利。如图2中所示,用虚线边界示出了与提供应用程序服务相关的部分,包括状态机引擎104、提示选择规则120、命令识别器语法126以及提示音频文件124。可以与实线部分分开来修改(adapt)这些部分,所述实线部分执行用于执行服务的应用程序,诸如呈现生成器132和输入处理器102。
结果,本说明书和应用程序的执行所提供的特定优点在于:可以依据用户的偏好而使用户命令驱动服务适合于不同的音频提示。例如,如果用户喜欢,则其可以以女性语音而不是以男性语音的形式接收音频提示。相反,在某些实现中,服务可能适合于不同的语言。因此,通过将用于定义服务逻辑的状态机与提示选择规则分开,可以通过简单地替换音频提示、修改提示选择规则以及修改包括提示和提示记录的用户命令识别器126而在不同的国家内配置同一的服务。
因为将用户界面定制为特定语言并不总是简单地涉及用一组替换语言的提示记录来代替一组某种语言的提示记录,所以当这样的布置应用于语言个性化时,其是特别有优势的。例如,为了创建现有英语服务的法语版本,最简单的动作过程是将每条英语提示翻译成法语。然而,该方法不能提供高质量的法语用户界面,因为两种语言之间的语法差异有时会对传达相同的概念规定不同的句子结构。提示序列可以包括静态和动态提示的混合,例如,“你有六条消息,两条是新消息,第一条消息来自Fred Smith”,其中带下划线的词语是动态的。因而,整个提示包括至少六部分,其中三个是静态的,三个是动态的。在替换语言中,依赖于风格原因或依赖于不同语言的句法规则中的差异,可以优选地以不同的次序来布置这些提示部分,或可替代地,可能使用不同的提示序列。显然,提示记录的直接替换不能解决这些问题。
语音拨号服务示例
为了说明本发明的实施例所提供的优点,现在将参考图3至图7来解释通过语音触发用户命令驱动的示例服务。如上所述,将依据本技术运行的应用程序指定为提供用于多个状态和事件,所述状态定义动作序列,所述事件提示用户通过选项菜单来选择特定的服务。图3提供了应用程序的各种可能状态的示例。被标记为主200的第一状态定义了应用程序的状态图中的第一状态。主状态200的下面是用户可以选择以定义要执行的服务的选项。被标记为“呼叫”202的第一状态定义了开始用于呼叫用户联系列表中的特定联系的处理的状态。所给出的其它示例是“发送消息”204、“检索消息”206以及“访问语音邮件”208,这些示例都是从主状态200中扩展的、可以由用户选择的状态,并且定义了在指定要执行的任务的一组状态中的第一状态。因而,在每个第一级别状态202、204、206以及208下面定义了进一步的状态组,其提示请求输入用户命令以导入进一步的状态,在所述进一步的状态中,执行依据那些用户命令的由用户指定的任务。将“呼叫”任务的示例认为是根据第一呼叫状态202指定的。
图4提供了可能出现在呼叫状态202中的进一步的状态的更详细示例。如图4中所示,在呼叫状态202内,根据一个解释,存在于其中的各种进一步的状态可以表示呼叫状态202中的子状态。从主状态200到一个子状态的导航将依赖于当导航到该呼叫状态时提供的用户命令。例如,在状态204中,用户可能已经表达了词语“呼叫”,而没有指定要呼叫的地点或要呼叫的人。
因此,将状态204标注为Call:<empty>。下面是在与用户发布的用于到达该状态的命令相关的呼叫状态中的每个状态的列表:
Call:<place>206,如果用户已指定呼叫和“地点”,则到达该状态,也就是说,具有用户指定他希望呼叫的地点的、小于0.9的所接收置信值。
Call:<place>208,该状态与Call:<place>206对应,除了用户命令识别器126返回的置信水平大于或等于0.9之外。
Call:<person>210,如果用户发出其后跟着要呼叫的人的词语“Call”(其中命令识别器126已对检测到要呼叫的人的置信度返回大于或等于0.9的置信水平,并且其中要呼叫的人只有一个号码(例如家庭号码或工作号码)),则从主状态到达该状态。
Call:<person>212,如果用户发出其后跟着要呼叫的人的词语“Call”(其中命令识别器126已对检测到要呼叫的人的置信度返回大于或等于0.9的置信水平,并且其中要呼叫的人具有多于一个的号码(例如家庭号码和工作号码两者)),则从主状态到达该状态。
Call:<person><place>状态214,如果用户发出其后跟着人的姓名和地点的名称的词语“Call”(其中人和地点的置信水平都小于0.9),则从主状态到达该状态。
对于图4中所说明的示例,图5中所示的表格为在第一列中定义的呼叫状态202内的每个状态提供了一行。第一列只指定了对话状态,也就是说,被填入的表格位置(form slot)的组。在第二列中,提供了达到该状态的附加条件,使得通过第一列和第二列的逻辑组合来完全定义该状态。在第三列中,示出了情形标识符,以通过唯一标签的形式来定义该状态。此外,该表格在第四列208中提供了提示建议。该提示建议是实现所述提示选择规则的人们的指南,以给他们在给定情况下应如何说的提示。所述提示建议不提供运行时根据提示选择规则而确定的提示。在第五列230中,定义了要执行的动作,在第六列232中,提供了设置要转换到下一对话状态的指令。这些指令可以直接指定当前状态随后要到达的下一状态,或通常仅仅指定应当触发哪个语法,该语法创建一组可能的下一对话状态。响应于命令识别引擎所确定的用户已说的话,发生到下一用户界面状态的转换。因而,例如,如果到达在第一行204.1中描述的Call:<empty>状态204,则提示建议将是“Call whom(呼叫谁)”,所设置的转换将是“询问地点和人”,以使语音触发服务识别用户希望呼叫的人和地点。
对于到达了如在第二行206.1中所描述的Call:<place>状态206的示例,,则因为命令识别引擎126所返回的对所识别地点的置信度小于0.9,所以所建议的提示将请求所指定的地点是否是正确的。因此,所设置的转换将转到“ConfirmCall(确认呼叫)”对话状态。相反,如果到达第三行208.1所表示的状态Call:<place>208,则因为所识别的地点具有大于或等于0.9的置信水平,所以所建议的提示将通知用户将该呼叫定位于<place>,执行启动该呼叫的动作,并且所设置的转换将转到“Background(后台)”对话状态。该后台状态是其中除监视用户是否表达了“唤醒”词语外应用程序处于空闲的状态。
对于到达了如第四行210.1所描述的Call:<person>状态210的示例,因为已识别该人具有大于或等于0.9的置信评分并且该人只有一个可用的号码,所以所建议的提示通知用户该呼叫正在被定位于<person>,所述动作是启动对于该人的呼叫,下一状态是Background(后台)。相反,在到达如第五行212.1所表示的Call:<person>状态212的情况下,因为与该人关联、与该具体地点对应的号码多于一个,并且没有指定具体的地点,所建议的提示询问用户要呼叫哪个<person>的地点,要填入的位置是<Place>。因此,所设置的转换指定应当触发用于识别地点名称的语法。
如上所述,本技术所提供的优点在于提示生成和选择是与应用程序的状态逻辑分开的。因此,图5的第四列228中描述的提示建议只提供指导,并且可以根据用于确定提示和提示选择规则的个性化而不同。
根据本技术,以已设计和开发的标记语言的形式来表达和指定应用程序的状态和这些状态间的转换,以指定应用程序的状态。根据标记语言所描述的状态说明,运行时生成的代码形成图2中所示的状态机104。
用户界面标记语言
使用基于XML的服务描述语言可以实现对话流描述的服务逻辑。另一方面,提示选择逻辑是与对话流分开指定的,并且也可以使用基于XML的语言来实现。在这种情况下,将服务逻辑指定为对话组或表格组,每个对话或表格具有一组可以填入的位置。例如,构成语音消息的对话可以具有用于接收方姓名的位置和用于消息重要性的另一位置。在每个表格内,标记语言描述情形组,其中每个情形表示表格内要填入的位置的不同组合以及在执行表格期间可能发生的事件。对于每个情形,可能存在要进行的提示、可能要执行的动作以及到可能发生的服务逻辑的新状态的转换。因而,对于图3和4中说明的示例,表格状态与“呼叫”状态202对应,使得在表格“呼叫”内,如图4所示地识别状态。
可以将服务个性化的提示选择部分指定为规则组,对于出现在相应服务的对话中的每种情形可能存在一条或多条规则。每条规则可以包括情形标识符(例如在图4和5中所示的)、表述(predicate)和提示序列。提示序列可以将静态提示和动态(即随情况改变的数据)提示混合在一起。在每次出现特定情形时希望提供相同提示的情况下,则对于相应情形标识符将只存在一条规则,并且将存在空白表述。然而,如果希望依赖会话上下文来变化提示,则将提供多条规则,每条规则具有不同的表述。图6说明了为表格“呼叫”内的状态提供的被称为用户界面描述标记语言(UIML)的标记语言的形式,所涉及的状态是与图5中的行214.1对应的Call:<person><place>ID。如图6中所示,第一级别表格描述将FORM name(表格名称)识别为具有类型“dialog(对话)”500的“MainCall(主呼叫)”。表格状态是填入的位置的组合,在这些位置填入了值。
在该FORM内,存在被称作情形ID“CallPersonPlace.1B”502的SITUATION(情形)。提供图5中所示的表来作为用于以对用户来说更友好的方式进行描述的工具,所述方式是通过图6中所示的标记语言代码段描述的。
在SITUATION项内,存在逻辑COND)ITION(条件)组,用于执行由ALLOF表格状态506内的逻辑运算符提供的表格状态Call:<person><place>。然而,为了执行所述类需要的动作,不得不满足某些前提条件。由PREDICATE(表述)项508来定义这些前提条件。PREDICATE项508调用命令510,该命令510确定某人是否具有通过该人和地点识别的联系号码。如果该人不具有在给定地点对该人进行识别的号码,则将PREDICATE估计为真,并且所述状态进行到ACTION(动作)项512,以执行所涉及的动作。对于本示例,呼叫通过语音拨号分组识别的人。然而,在ACTION状态内,提供有DIARY(日志)命令,以确定用户以前是否已呼叫过指定为该联系人地点的联系。该日志用于记录用户与应用程序的交互,其进而可以被服务和提示选择逻辑使用以影响将来的交互的方式。也就是说,此后可以使用该日志以依赖于用户之前所采取的动作而选择不同的提示类型。
也可以根据INVOKE(调用)项518提供的命令采取进一步的动作,以更新已对给定呼叫提示行为执行语音拨号的次数。在步骤520,通过请求提示选择引擎来生成PROMPT(提示),以产生表示应用程序将呼叫号码的提示。此后,在522到达TRANSITION(转换)状态,该状态包括命令GOTO“ready to dial(准备拨号)”,用于指示到相应地在图5中反映的准备拨号状态的转换。
如上所述,所述提示生成和提示选择与所述状态指定是分开的。图7提供了一个表格,对于图4和5中所示的“呼叫”状态示例内的每个状态,其在第一列250中指定了情形ID、在第二列252中指定了要选择的提示的条件、并在第三列254中指定了要生成的提示的标识符。对于第一列的状态示例(即Call:<empty>状态204),在前两行204.2和204.4中给出了两个可能的提示。这与需要名称和地点二者的情形对应,因而与图5所示的情形ID相应的情形ID是“VoiceDialling.Call.NeedNameAndPlace”。如果已给出多于8次的呼叫命令,如在条件列252中所指定的,则所请求的提示是“CallWhom.wav”。这提供了询问用户呼叫哪个人的相对较短的提示。因而,如果用户经常使用该服务,则仅需要较短的提示。然而,如果使用呼叫命令少于8次,如在条件列252中所指定的,则所请求的提示是204.4,其选择提示“CallWhom Verbose.wav”。这以较冗长的方式向用户提供用于指定呼叫的人和地点的提示。因此,应当明白,可以依赖某些条件来选择提示,包括本示例中的用户已使用该呼叫命令的次数。
对在第一列250中提供的每个情形ID给出了相应示例,所述每个情形ID与图5中的第三列中描述的情形ID对应。因此,对于每个情形ID指定至少一个提示。
运行时的提示选择
根据本技术,依据基于情形的提示标记语言来指定提示选择和与所述提示选择有关的规则。基于情形的提示标记语言依据如提示规则所定义的用于选择该提示的条件来对应用程序的给定状态(情形ID)定义要选择的提示。生成诸如Java代码的基于情形的标记语言代码,以在运行时由图2中所示的提示选择引擎220执行。这样,在运行时,以与仅仅确定是否已满足从一个状态改变到另一个状态的条件的状态机分离和不关联的方式选择提示。这样,提供了提示和提示选择规则与状态机的分离,这允许设计者根据诸如风格、形式、性别和语言等具体需要来个性化具体服务。
用于在运行时调用提示选择的示例序列可以包括下面的步骤:
1)用户发出命令短语,或发生诸如被呼叫方挂断电话等其它事件;
2)基于已填充的对话表格的位置,以及基于已发生的外部事件,确定当前的情形;
3)识别与当前情形对应的一条或多条规则的组;
4)对规则组中的每一条规则检查相应表述,以确定“获胜”规则;
5)分析获胜规则的提示序列,以构造音频文件名称的列表(或用于文本到语音生成的文本串);
6)生成要发送到客户端设备的标记语言的页面,所生成的页面包括基于音频文件名称列表的插入的提示。
服务混合
应用程序可以仅包括单个服务,或可以包括多个服务的集合。一般地,每个服务将向用户传递某个相关特征组。在任何一种情况下,应用程序提供的一个或多个服务可以包括个性化。如上面参考图6所描述的,可以通过一个或多个表格以标记语言描述每个服务,每个表格描述一组可能状态。图8示范性描述了响应于用户命令而在一个表格中的不同状态之间、或一个表格中的状态和另一表格中的状态之间的状态转换的选择过程。该选择过程开始于步骤S1,在步骤S1中,在语音应用服务器10上从VoiceXML平台30接收用户语音输入。然后,在步骤S2,语音应用服务器10分析所接收的语音输入。可以由命令识别引擎126来执行语音输入分析,并且可以产生特定命令的标识。在步骤S3,将所识别的命令与状态机引擎134和一些其它因素组合使用,以确定在状态机服务逻辑104内的下一状态。在下一状态的选择中所涉及的其它因素包括来自用户当前订购的订购服务620的表格。在步骤S4中,执行与所选下一状态关联的状态动作。该状态动作可以包括经由数据访问层112与外部数据的交互,以及也可以包括与状态机服务逻辑104内的用户数据602和会话状态逻辑604的交互。在步骤S5,对在步骤S4确定的状态动作生成语法URL,其标识来自用户的可能响应的语法。除了在步骤S3中所识别的具体状态(在步骤S4,对于所识别的具体状态识别状态动作),在步骤S6运行对于来自提示选择规则120的状态而获得的提示选择规则。根据语法URL和所识别的提示,在步骤S7由呈现生成器132生成VoiceXML页面605,以产生与最新选择的状态相关联的新VoiceXML页面。然后,经由网站服务器100向VoiceXML平台30发送该新VoiceXML页面。
所订购的服务620将至少包括描述应用程序的最小基本功能的基本服务,并且也可以包括一个或多个描述附加功能的附加服务。所订购的服务620可以在运行前独立安装、删除和个性化,而在运行期间确定连贯的服务逻辑组。
图9A示范性地说明了用于从分离的服务中选择状态的过程,以根据一组符合条件的状态来定义用户可导航的服务逻辑。在图9A的示例中,示出了两个服务-“基本服务”710和“语音拨号服务”720,以有利于将状态统一到同一表格。提供了情形注册簿730,该情形注册簿730为每个服务(这种情况下,是基本服务710和语音拨号服务720)中的每种表格定义了出现在所述表格内的情形(状态)。在本示例中,基本服务710包括“SetPrefs”表格712和“TopLevel”表格714。所述SetPrefs表格712包括状态组716,用于在应用程序内设置用户偏好。TopLevel格式714包括用于描述主菜单的状态组718,例如其可以允许用户选择他们希望交互的服务,并且可以根据服务逻辑内的主菜单位置来定义可以执行的基本服务操作。
语音拨号服务器720包括“MainCall”表格722和“Base.TopLevel”表格724。MainCall表格722包括状态组726,用于使用户能启动到第三方的语音呼叫。Base.TopLevel表格包括要与基本服务710的TopLevel表格状态718组合的状态组728。换句话说,Base.TopLevel表格724构成对另一服务内的表格(在这种情况下,是基本服务710内的TopLevel表格714)的修改。根据当前用户订购的服务来对情形注册簿730内的表格和相应情形进行过滤,以生成符合条件的全部状态列表。在本示例中自备了语音拨号服务720的MainCall表格722内的状态组726,并且不与基本服务710内的任何状态直接组合。因此,可以将状态组726传递给表格状态过滤器,以将部分服务逻辑定义为分离组。这同样适用于基本服务710内的SetPref表格712。相反,将语音拨号服务720的Base.TopLevel表格724内的状态组728布置为与基本服务710的TopLevel表格714内的状态组718组合,以定义包括符合条件的状态组750的修改的TopLevel表格。因而,符合条件的状态组750包括状态组718和状态组728二者。通常,当提供附加服务时,将以该方式修改基本服务的TopLevel菜单,以向用户提供对附加服务的功能的访问。然后,将符合条件的状态组750传递给下面参考图9B描述的表格状态过滤器。在替代实施例中,在符合条件的状态选择过程期间,服务内的状态可以被删除、或被用来自另一服务的状态进行替换。
在图9B中示范性地说明了依据图9A生成的符合条件的状态组750的过滤过程。将符合条件的状态组750输入到表格状态过滤器760,其中符合条件的状态定义表格。表格状态过滤器760响应于用于填充该表格内的一个或多个位置的数据762的接收,并响应于任何当前队列事件764生成候选用户界面状态组770,这些状态是符合条件的状态组750的子集。然后,将候选用户界面状态770传递给表述评估器780。表述评估器780也从状态机引擎104接收相关于候选用户界面状态770的表述和相关用户数据602以及会话状态信息604。表述评估器780将使用会话状态信息604和用户数据602来确定对每个候选用户界面状态的表述是否为真。在只有对于一个候选用户界面状态770的表述估计为真的情况下,将把该状态设置为新当前用户界面状态790。在对于多于一个的候选用户界面状态770的表述估计为真的情况下,必须选择这些状态中的一个作为新当前用户界面状态790。例如,可以通过使表述估计为真的第一状态作为新当前用户界面状态790来选择该状态。
一旦选择了新当前用户界面状态790,则可以执行相应动作,并且可以调用提示生成、语法生成和页面生成。
除了对引入新服务更新服务逻辑104外,也可以更新命令识别语法126,以包括新的命令和条件。通过修改服务逻辑104和命令识别语法126,新服务可以完成几件事情,包括:向有效命令组增加新命令、覆盖现有命令的处理、处理新事件以及覆盖现有事件的处理。
服务设计和开发
为了理解本技术提供的优点,在图10和图11中示出了用于设计和开发服务的一般过程。图10提供了对服务的设计过程的说明,并包括基于风格、性别或语言的个性化要求、或实际的客户或法人品牌(corporate brand)的要求。在图10中,定义了对服务开发的要求300,其用于标识用户经验设计302。如图所示,用户经验设计302受到客户本地化和品牌要求304的影响。通过服务要求与所需的用户经验的组合,识别了情形和方案306,根据情形和方案306定义服务提示308的对话描述,以及为提供语音触发服务所需的要采取的动作310和数据定义312。
客户本地化和品牌要求304也影响为用户生成的音频提示的角色设计以提供语音触发服务。根据角色设计314,结合对话描述308,脚本写入处理316识别用户所需的提示和命令,通过其而为提示选择规则318和来自用户的用于触发任务的命令320产生设计输入。也根据对话描述308来定义用于定义应用程序的情形或状态的对话或表格。
如图11中所示,输入对话322、数据定义312和动作310,以开发应用程序的状态机。该对话可以在用户界面规范编辑器400和属性编辑402的帮助下定义用户界面规范。用户界面规范编辑器定义状态标记语言文档404,由翻译器406将所述状态标记语言文档404翻译成Java代码408。然后,将Java代码408输入到服务打包器410,所述服务打包器410产生用于定义应用程序的状态机的服务分组412。对于属性编辑器402来说类似,定义服务属性414,并将其输入到服务打包器410,然后输入到服务分组412。数据定义312定义输入到所述服务打包器410以用于开发服务分组412的数据访问层类。相应地,动作310用于定义输入到服务打包器410的动作和实用(utility)类。
输入提示选择规则318和命令320,以开发应用程序的个性化分组。提示规则318用于对服务设计器识别由服务设计者控制的提示编辑器442指定的在基于提示选择的标记语言440中指定的提示和提示选择规则。命令320用于定义使用命令识别编辑器446依据设计而开发的命令识别规范444。
然后,标记语言翻译器450将规则标记语言翻译成提示选择类452,然后个性化打包器454使用所述提示选择类452来定义个性化分组456。个性化打包器也使用要被识别的用户命令455和实用类460。打包器将这些分量组合成个性化分组的单个物理分组。最后,语音生成器(talent)生成提示本身,该提示是由提示记录器464记录的并被输入到个性化打包器中产生要应用到布置的服务的个性化分组456。
在不背离本发明的范围的情况下,在此可以对上述实施例进行各种修改。应当明白,当用于控制应用服务器来执行这里所述的方法时,本发明的一方面是计算机程序。
Claims (28)
1.一种用于依据应用程序来提供用户驱动服务的语音应用服务器,所述应用程序被布置为响应于用于选择服务选项的用户命令来提供服务,通过音频提示来提示所述用户命令,所述应用程序包括:
状态机引擎可操作的至少一个状态机,用于通过用户所选的服务选项、根据用于定义逻辑过程的一预定状态组中的一个状态来确定所述应用程序的状态,依据要满足的逻辑条件而确定状态之间的转换,以便在所述组中的一个状态和所述组中的另一个状态之间改变,所述逻辑条件包括用户是否已提供一组可能命令中的一个命令;以及
提示选择引擎可操作的提示选择规则组,用于依据预定规则生成用于提示来自用户的命令的音频提示,其中,在运行时确定所述提示选择引擎所选择的提示,并且将所述应用程序的至少一个状态机与所述提示选择规则组分开定义,以达到可以独立于所述状态机的操作而对所述提示选择规则组做出改变的效果,所述提示选择规则组用于定义由所述提示选择引擎为用户驱动服务生成的对话。
2.根据权利要求1所述的语音应用服务器,包括命令识别引擎,该命令识别引擎包括语音识别器,该语音识别器用于向所述命令识别引擎提供所述可能用户命令的组,所述可能用户命令的组可能是从用户接收的、并且与从所述预定的状态组的当前一个状态改变到状态机的状态的另一状态的逻辑条件有关,所述命令识别引擎用于:
分析关于由所述语音识别器提供的所述可能命令的组的、由用户提供的命令;并且
向所述状态机提供对用户提供的所述可能命令的组的一个可能命令的估计,所述状态机响应于所估计的用户命令而改变状态。
3.根据权利要求2所述的语音应用服务器,其中,所述命令识别引擎用于确定所估计的用户命令的置信水平,所述状态机结合所确定的置信水平,根据所估计的用户命令来识别状态的改变。
4.根据权利要求3所述的语音应用服务器,其中,所述用户命令包括语音命令,所述语音识别处理器用于生成关于可能的语音命令的估计的置信水平。
5.根据前述权利要求中的任何一个所述的语音应用服务器,其中,所述应用程序用于依据所述状态机所确定的所述应用程序的当前状态生成标记语言页面,该标记语言页面包括统一资源定位符URL,所述统一资源定位符定义提供音频提示、语音语法和DTMF语法的数据文件的位置。
6.根据权利要求5所述的语音应用服务器,其中,所述标记语言是VoiceXML。
7.根据前述权利要求中的任何一个所述的语音应用服务器,其中,使用所述标记语言来定义所述状态机,所述标记语言包括:
表格指令,用于在对话表格内定义所述应用程序的一组可能状态,每个表格状态包括用于标识至少一个当前状态的至少一个情形标识符、关于改变到后面状态的逻辑条件、和请求提示选择引擎生成用于满足所述应用程序改变到后面状态的逻辑条件的用户命令的请求的请求。
8.根据前述权利要求中的任何一个所述的语音应用服务器,其中,使用标记语言来定义所述提示选择规则组,所述标记语言对于所述状态机的所述状态组的一个状态定义可能提供给用户的可能提示的组。
9.根据前述权利要求2-8中的任何一个所述的语音应用服务器,其中,使用标记语言指定所述命令识别语法。
10.根据权利要求7、8和9中的任何一个所述的语音应用服务器,其中,通过将所述状态机的标记语言和所述提示选择规则组的标记语言翻译成可执行代码而形成所述应用程序,所述可执行代码用于生成当与电话平台通信时提供所述用户驱动服务的VoiceXML标记语言。
11.根据前述权利要求中的任何一个所述的语音应用服务器,包括网站服务器,用于接收所述标记语言页面并与电话平台分开布置所述标记语言页面。
12.一种响应于选择服务选项的用户命令来提供用户驱动服务的应用程序,由音频提示来指示所述用户命令,所述应用程序包括:
状态机引擎可操作的至少一个状态机,用于通过用户所选的服务选项、根据用于定义逻辑过程的一预定状态组中的一个状态来确定所述应用程序的状态,依据要满足的逻辑条件而确定状态之间的转换,以便在所述组中的一个状态和所述组中的另一个状态之间改变,所述逻辑条件包括用户是否已提供一组可能命令中的一个命令;以及
提示选择引擎可操作的提示选择规则组,用于依据预定规则生成用于提示来自用户的命令的音频提示,其中,在运行时确定所述提示选择引擎所选择的提示,并且将所述应用程序的至少一个状态机与所述提示选择规则组分开定义,以达到可以独立于所述状态机的操作而对所述提示选择规则组做出改变的效果,所述提示选择规则组用于定义由所述提示选择引擎为用户驱动服务生成的对话。
13.根据权利要求12所述的应用程序,其中,所述状态机依据关于从预定状态组的当前一个状态改变到所述应用程序的另一状态的逻辑条件来响应用户可能已经提供的一个可能命令的估计以改变到其他状态,由命令识别引擎来提供所述用户命令的估计,所述命令识别引擎包括语音识别器,该语音识别器用于向所述命令识别引擎提供所述可能用户命令组,所述可能用户命令可能是从用户接收的、并且与从当前一个状态改变到其它状态的逻辑条件有关,所述命令识别引擎用于分析关于所述可能用户命令组的、用户可能已提供的用户命令,其中所述状态机用于响应于所估计的用户命令、结合与状态改变相关的逻辑条件来改变状态。
14.根据权利要求13所述的应用程序,其中,所述状态机用于结合所确定的置信水平、根据所估计的用户命令来识别所述状态的改变,由所述命令识别引擎来提供所确定的置信水平。
15.根据权利要求14所述的应用程序,其中,所述用户命令包括语音命令,所述语音识别处理器用于生成关于所述可能语音命令的估计的置信水平。
16.一种用于提供用户驱动服务的系统,所述系统包括应用服务器、电话平台和用户设备,
所述语音应用服务器用于依据应用程序来提供用户驱动服务,所述应用程序被布置为响应于用于选择服务选项的用户命令来提供服务,通过音频提示来提示所述用户命令,所述应用程序包括:
状态机引擎可操作的至少一个状态机,用于通过用户所选的服务选项、根据用于定义逻辑过程的一预定状态组中的一个状态来确定所述应用程序的状态,依据要满足的逻辑条件而确定状态之间的转换,以便在所述组中的一个状态和所述组中的另一个状态之间改变,所述逻辑条件包括用户是否已提供一组可能命令中的一个命令;以及
提示选择引擎可操作的提示选择规则组,用于依据预定规则生成用于提示来自用户的命令的音频提示,所述电话平台用于:
从所述应用服务器接收表示所述音频提示的数据,并且
将所述音频提示数据传递给所述用户设备,并且
从所述用户设备接收表示所述可能命令的数据,并且
将所述可能命令传递给所述应用服务器,在运行时确定所述提示选择引擎所选择的提示,并且将所述应用程序的至少一个状态机与所述提示选择规则组分开定义,以达到可以独立于所述状态机的操作而对所述提示选择规则组做出改变的效果,所述提示选择规则组用于定义由所述提示选择引擎为用户驱动服务生成的对话。
17.一种用于提供用户驱动服务的方法,响应于用于选择服务选项的用户命令来提供所述服务,通过音频提示来提示所述用户命令,所述方法包括:
通过用户所选的服务选项、根据用于定义逻辑过程的一预定的状态组中的一个状态来确定所述应用程序的状态,依据要满足的逻辑条件而确定状态之间的转换,以便在所述组中的一个状态和该组中的另一个状态之间改变,所述逻辑条件包括用户是否已提供可能的命令组中的一个命令;以及
依据预定规则组选择用于提示来自用户的可能命令的音频提示,其中,在运行时生成所述提示,并且将所述应用程序的状态与所述预定提示选择规则组分开定义,以达到可以独立于所述应用程序的状态的确定而对所述提示选择规则组做出改变的效果,所述提示选择规则组用于定义用户驱动服务的对话。
18.根据权利要求17所述的方法,包括:
分析用户可能已经提供的可能的用户命令组的用户命令,依据关于从预定的状态组的一个当前状态改变到所述状态机可能改变到的另一状态的逻辑条件来确定所述可能的用户命令组;
估计用户提供的一个可能的命令;以及
响应于所估计的用户命令、结合与状态改变相关的逻辑条件来改变状态。
19.根据权利要求18所述的方法,包括:
确定所估计的用户命令的置信水平,所述状态机根据所估计的用户命令、结合所确定的置信水平来识别状态的改变。
20.根据权利要求19所述的方法,其中,所述用户命令包括语音命令,生成关于该语音命令的估计的所述置信水平,所述可能的用户命令是可能的语音命令。
21.一种用于定义用户驱动服务的扩展标记语言,响应于用于选择服务选项的用户命令来提供所述用户驱动服务,通过音频提示来提示所述用户命令,所述标记语言包括:
表格指令,用于在对话表格内定义一组服务的可能状态,每个表格包括至少一个情形标识符、逻辑条件、和提示请求,所述至少一个情形标识符用于标识至少一个当前状态,所述逻辑条件关于改变到那个状态,所述提示请求生成对用于满足关于改变到后面状态的逻辑条件的用户命令的请求。
22.根据权利要求21所述的扩展标记语言,其中,由对应于与该情形相关的可能的命令组中的一个命令的位置的可能组合来识别表格中的每个所识别的情形,并且将所述提示请求布置为提示用户命令以填充可能的后面状态组的位置。
23.根据权利要求21或22所述的扩展标记语言,其中,由与要被选择为当前情形所必需的逻辑条件对应的布尔表述来进一步识别表格中的每个所识别的情形。
24.根据权利要求21、22或23所述的扩展标记语言,其中,每个所识别的情形包括要播放的建议提示、要执行的动作、以及用于建立到可能的新状态组的转换的指令。
25.根据权利要求21、22、23或24所述的扩展标记语言,其中,所述提示请求与一个或多个规则相关,每个规则包括情形标识符、定义用于执行所述提示请求的前提条件的表述、以及提示序列。
26.一种计算机程序,当加载到数据处理器上时,其使得所述数据处理器执行用于提供用户驱动服务的方法,响应于用于选择服务选项的用户命令来提供服务,通过音频提示来提示所述用户命令,所述方法包括:
通过用户所选的服务选项、根据用于定义逻辑过程的一预定的状态组中的一个状态来确定所述应用程序的状态,依据要满足的逻辑条件而确定状态之间的转换,以便在所述组中的一个状态和该组中的另一个状态之间改变,所述逻辑条件包括用户是否已提供可能的命令组中的一个命令;以及
依据预定规则生成用于提示来自用户的可能命令的音频提示,其中,在运行时生成所述提示,并且将所述应用程序的状态与所述预定提示选择规则组分开定义,以达到可以独立于所述应用程序的状态的确定而对所述提示选择规则组做出改变的效果,所述提示选择规则组用于定义用户驱动服务的对话。
27.一种承载表示根据权利要求26所述的计算机程序的信息信号的数据载波。
28.一种用于提供用户驱动服务的设备,响应于用于选择服务选项的用户命令来提供服务,通过音频提示来提示所述用户命令,所述设备包括:
用于通过用户所选的服务选项、根据用于定义逻辑过程的一预定的状态组中的一个状态来确定所述应用程序的状态的装置,依据要满足的逻辑条件而确定状态之间的转换,以便在所述组中的一个状态和该组中的另一个状态之间改变,所述逻辑条件包括用户是否已提供一组可能的命令中的一个命令;以及
用于依据预定规则组选择用于提示来自用户的可能命令的音频提示的装置,其中,在运行时生成所述提示,并且将所述应用程序的状态与所述预定提示选择规则组分开定义,以达到可以独立于所述应用程序的状态的确定而对所述提示选择规则组做出改变的效果,所述提示选择规则组用于定义用户驱动服务的对话。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP05290038A EP1679867A1 (en) | 2005-01-06 | 2005-01-06 | Customisation of VoiceXML Application |
EP05290038.8 | 2005-01-06 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101138228A true CN101138228A (zh) | 2008-03-05 |
Family
ID=34941878
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2006800072696A Pending CN101138228A (zh) | 2005-01-06 | 2006-01-03 | 个性化语音扩展标记语言应用 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20080262848A1 (zh) |
EP (2) | EP1679867A1 (zh) |
CN (1) | CN101138228A (zh) |
WO (1) | WO2006072595A1 (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105556595A (zh) * | 2013-09-17 | 2016-05-04 | 高通股份有限公司 | 用于调整用于激活话音辅助功能的检测阈值的方法及设备 |
CN107507614A (zh) * | 2017-07-28 | 2017-12-22 | 北京小蓦机器人技术有限公司 | 结合ui执行自然语言命令的方法、设备、系统与存储介质 |
CN107545896A (zh) * | 2016-06-24 | 2018-01-05 | 中兴通讯股份有限公司 | 设备的控制方法、装置及系统、文件的发送方法和装置 |
CN107622768A (zh) * | 2016-07-13 | 2018-01-23 | 谷歌公司 | 音频截剪器 |
CN108268235A (zh) * | 2016-12-30 | 2018-07-10 | 谷歌有限责任公司 | 用于语音接口设备的对话感知主动通知 |
CN110111779A (zh) * | 2018-01-29 | 2019-08-09 | 阿里巴巴集团控股有限公司 | 语法模型生成方法及装置、语音识别方法及装置 |
CN111341315A (zh) * | 2020-03-06 | 2020-06-26 | 腾讯科技(深圳)有限公司 | 语音控制方法、装置、计算机设备和存储介质 |
CN111856959A (zh) * | 2014-05-30 | 2020-10-30 | 苹果公司 | 用于家庭自动化的智能助理 |
CN112306637A (zh) * | 2020-11-06 | 2021-02-02 | 深圳市广和通无线股份有限公司 | 脚本扩展方法、装置、计算机设备和存储介质 |
Families Citing this family (44)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10056077B2 (en) | 2007-03-07 | 2018-08-21 | Nuance Communications, Inc. | Using speech recognition results based on an unstructured language model with a music system |
US8949266B2 (en) | 2007-03-07 | 2015-02-03 | Vlingo Corporation | Multiple web-based content category searching in mobile search application |
US8886545B2 (en) | 2007-03-07 | 2014-11-11 | Vlingo Corporation | Dealing with switch latency in speech recognition |
US8635243B2 (en) | 2007-03-07 | 2014-01-21 | Research In Motion Limited | Sending a communications header with voice recording to send metadata for use in speech recognition, formatting, and search mobile search application |
US20090030691A1 (en) * | 2007-03-07 | 2009-01-29 | Cerra Joseph P | Using an unstructured language model associated with an application of a mobile communication facility |
US8886540B2 (en) | 2007-03-07 | 2014-11-11 | Vlingo Corporation | Using speech recognition results based on an unstructured language model in a mobile communication facility application |
US20080221884A1 (en) | 2007-03-07 | 2008-09-11 | Cerra Joseph P | Mobile environment speech processing facility |
US8949130B2 (en) | 2007-03-07 | 2015-02-03 | Vlingo Corporation | Internal and external speech recognition use with a mobile communication facility |
US8838457B2 (en) | 2007-03-07 | 2014-09-16 | Vlingo Corporation | Using results of unstructured language model based speech recognition to control a system-level function of a mobile communications facility |
US8073558B2 (en) | 2007-10-05 | 2011-12-06 | Honeywell International Inc | Critical resource notification system and interface device |
US9043862B2 (en) | 2008-02-06 | 2015-05-26 | Qualcomm Incorporated | Policy control for encapsulated data flows |
ES2373357T3 (es) * | 2008-02-29 | 2012-02-02 | Telefonaktiebolaget L M Ericsson (Publ) | Técnica para realizar la conversión de señalización entre los dominios http y sip. |
US8671191B2 (en) | 2009-07-17 | 2014-03-11 | Honeywell International Inc. | Installation system for demand response resources |
US8667132B2 (en) | 2009-07-17 | 2014-03-04 | Honeywell International Inc. | Arrangement for communication about and management of a resource using a mobile device |
US9818073B2 (en) * | 2009-07-17 | 2017-11-14 | Honeywell International Inc. | Demand response management system |
US9124535B2 (en) | 2009-07-17 | 2015-09-01 | Honeywell International Inc. | System for using attributes to deploy demand response resources |
US8572230B2 (en) | 2009-07-17 | 2013-10-29 | Honeywell International Inc. | System for using attributes to deploy demand response resources |
US9137050B2 (en) | 2009-07-17 | 2015-09-15 | Honeywell International Inc. | Demand response system incorporating a graphical processing unit |
US8782190B2 (en) | 2009-07-17 | 2014-07-15 | Honeywell International, Inc. | Demand response management system |
US8676953B2 (en) | 2009-07-17 | 2014-03-18 | Honeywell International Inc. | Use of aggregated groups for managing demand response resources |
US8671167B2 (en) * | 2009-07-17 | 2014-03-11 | Honeywell International Inc. | System for providing demand response services |
US8325880B1 (en) | 2010-07-20 | 2012-12-04 | Convergys Customer Management Delaware Llc | Automated application testing |
US9153001B2 (en) | 2011-01-28 | 2015-10-06 | Honeywell International Inc. | Approach for managing distribution of automated demand response events in a multi-site enterprise |
US8630744B2 (en) | 2011-01-28 | 2014-01-14 | Honeywell International Inc. | Management and monitoring of automated demand response in a multi-site enterprise |
US8626354B2 (en) | 2011-01-28 | 2014-01-07 | Honeywell International Inc. | Approach for normalizing automated demand response events in energy management control systems |
CN102685337B (zh) * | 2011-03-17 | 2014-11-05 | 中兴通讯股份有限公司 | VoiceXml呼叫控制实现方法及装置 |
US8924545B2 (en) * | 2012-01-13 | 2014-12-30 | Microsoft Corporation | Cross-property identity management |
US20140081704A1 (en) | 2012-09-15 | 2014-03-20 | Honeywell International Inc. | Decision support system based on energy markets |
US9389850B2 (en) | 2012-11-29 | 2016-07-12 | Honeywell International Inc. | System and approach to manage versioning of field devices in a multi-site enterprise |
US9674048B2 (en) * | 2013-06-03 | 2017-06-06 | Qualcomm Incorporated | Efficient infrastructure service discovery with security |
US9691076B2 (en) | 2013-07-11 | 2017-06-27 | Honeywell International Inc. | Demand response system having a participation predictor |
US10346931B2 (en) | 2013-07-11 | 2019-07-09 | Honeywell International Inc. | Arrangement for communicating demand response resource incentives |
US9989937B2 (en) | 2013-07-11 | 2018-06-05 | Honeywell International Inc. | Predicting responses of resources to demand response signals and having comfortable demand responses |
US20150100321A1 (en) * | 2013-10-08 | 2015-04-09 | Naviscent, LLC | Intelligent state aware system control utilizing two-way voice / audio communication |
US9741343B1 (en) * | 2013-12-19 | 2017-08-22 | Amazon Technologies, Inc. | Voice interaction application selection |
US9665078B2 (en) | 2014-03-25 | 2017-05-30 | Honeywell International Inc. | System for propagating messages for purposes of demand response |
US9607102B2 (en) * | 2014-09-05 | 2017-03-28 | Nuance Communications, Inc. | Task switching in dialogue processing |
CN108475503B (zh) | 2015-10-15 | 2023-09-22 | 交互智能集团有限公司 | 用于多语言通信排序的系统和方法 |
US11054970B2 (en) | 2015-10-15 | 2021-07-06 | Interactive Intelligence Group, Inc. | System and method for multi-language communication sequencing |
CN106874259B (zh) * | 2017-02-23 | 2019-07-16 | 腾讯科技(深圳)有限公司 | 一种基于状态机的语义解析方法及装置、设备 |
US10541556B2 (en) | 2017-04-27 | 2020-01-21 | Honeywell International Inc. | System and approach to integrate and manage diverse demand response specifications for multi-site enterprises |
RU2704738C1 (ru) * | 2018-10-15 | 2019-10-30 | Общество с ограниченной ответственностью "Уралинновация" | Автоматизированная информационно-голосовая вопросно-ответная система |
KR20200117317A (ko) * | 2019-04-03 | 2020-10-14 | 현대자동차주식회사 | 대화 시스템 및 대화 처리 방법 |
US11875231B2 (en) * | 2019-06-26 | 2024-01-16 | Samsung Electronics Co., Ltd. | System and method for complex task machine learning |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5375164A (en) * | 1992-05-26 | 1994-12-20 | At&T Corp. | Multiple language capability in an interactive system |
US6269336B1 (en) * | 1998-07-24 | 2001-07-31 | Motorola, Inc. | Voice browser for interactive services and methods thereof |
US6785653B1 (en) * | 2000-05-01 | 2004-08-31 | Nuance Communications | Distributed voice web architecture and associated components and methods |
US7092803B2 (en) * | 2000-08-18 | 2006-08-15 | Idsc Holdings, Llc | Remote monitoring, configuring, programming and diagnostic system and method for vehicles and vehicle components |
US6862460B2 (en) * | 2001-05-18 | 2005-03-01 | General Instrument Corporation | Self-configurable multipurpose modular portable device and methods for configuring same |
DE10147341B4 (de) * | 2001-09-26 | 2005-05-19 | Voiceobjects Ag | Verfahren und Vorrichtung zum Aufbau einer in einem Computersystem implementierten Dialogsteuerung aus Dialogobjekten sowie zugehöriges Computersystem zur Durchführung einer Dialogsteuerung |
US7711570B2 (en) * | 2001-10-21 | 2010-05-04 | Microsoft Corporation | Application abstraction with dialog purpose |
US7149287B1 (en) * | 2002-01-17 | 2006-12-12 | Snowshore Networks, Inc. | Universal voice browser framework |
WO2003071422A1 (en) * | 2002-02-18 | 2003-08-28 | Kirusa, Inc. | A technique for synchronizing visual and voice browsers to enable multi-modal browsing |
AU2002950336A0 (en) * | 2002-07-24 | 2002-09-12 | Telstra New Wave Pty Ltd | System and process for developing a voice application |
US7082192B2 (en) * | 2002-11-07 | 2006-07-25 | International Business Machines Corporation | Locale based call forwarding |
US6999573B2 (en) * | 2002-11-07 | 2006-02-14 | International Business Machines Corporation | Locale based call forwarding with automated creation of new locales |
US20040116102A1 (en) * | 2002-12-17 | 2004-06-17 | International Business Machines Corporation | Heuristics for behavior based life support services |
US7076428B2 (en) * | 2002-12-30 | 2006-07-11 | Motorola, Inc. | Method and apparatus for selective distributed speech recognition |
US7260535B2 (en) * | 2003-04-28 | 2007-08-21 | Microsoft Corporation | Web server controls for web enabled recognition and/or audible prompting for call controls |
EP1705562A1 (en) * | 2005-03-18 | 2006-09-27 | Orange SA | Applications server and method of providing services |
US7721278B2 (en) * | 2005-05-27 | 2010-05-18 | Microsoft Corporation | Modular server architecture for multi-environment HTTP request processing |
-
2005
- 2005-01-06 EP EP05290038A patent/EP1679867A1/en not_active Withdrawn
-
2006
- 2006-01-03 EP EP06700572A patent/EP1836834A1/en not_active Withdrawn
- 2006-01-03 CN CNA2006800072696A patent/CN101138228A/zh active Pending
- 2006-01-03 WO PCT/EP2006/000110 patent/WO2006072595A1/en active Application Filing
- 2006-01-03 US US11/794,877 patent/US20080262848A1/en not_active Abandoned
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105556595A (zh) * | 2013-09-17 | 2016-05-04 | 高通股份有限公司 | 用于调整用于激活话音辅助功能的检测阈值的方法及设备 |
US11257504B2 (en) | 2014-05-30 | 2022-02-22 | Apple Inc. | Intelligent assistant for home automation |
CN111856959A (zh) * | 2014-05-30 | 2020-10-30 | 苹果公司 | 用于家庭自动化的智能助理 |
US11699448B2 (en) | 2014-05-30 | 2023-07-11 | Apple Inc. | Intelligent assistant for home automation |
CN107545896A (zh) * | 2016-06-24 | 2018-01-05 | 中兴通讯股份有限公司 | 设备的控制方法、装置及系统、文件的发送方法和装置 |
CN107622768A (zh) * | 2016-07-13 | 2018-01-23 | 谷歌公司 | 音频截剪器 |
CN107622768B (zh) * | 2016-07-13 | 2021-09-28 | 谷歌有限责任公司 | 音频截剪器 |
CN108268235A (zh) * | 2016-12-30 | 2018-07-10 | 谷歌有限责任公司 | 用于语音接口设备的对话感知主动通知 |
CN108268235B (zh) * | 2016-12-30 | 2023-09-22 | 谷歌有限责任公司 | 用于语音接口设备的对话感知主动通知 |
CN107507614A (zh) * | 2017-07-28 | 2017-12-22 | 北京小蓦机器人技术有限公司 | 结合ui执行自然语言命令的方法、设备、系统与存储介质 |
CN107507614B (zh) * | 2017-07-28 | 2018-12-21 | 北京小蓦机器人技术有限公司 | 结合ui执行自然语言命令的方法、设备、系统与存储介质 |
CN110111779A (zh) * | 2018-01-29 | 2019-08-09 | 阿里巴巴集团控股有限公司 | 语法模型生成方法及装置、语音识别方法及装置 |
CN111341315B (zh) * | 2020-03-06 | 2023-08-04 | 腾讯科技(深圳)有限公司 | 语音控制方法、装置、计算机设备和存储介质 |
CN111341315A (zh) * | 2020-03-06 | 2020-06-26 | 腾讯科技(深圳)有限公司 | 语音控制方法、装置、计算机设备和存储介质 |
CN112306637A (zh) * | 2020-11-06 | 2021-02-02 | 深圳市广和通无线股份有限公司 | 脚本扩展方法、装置、计算机设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
EP1679867A1 (en) | 2006-07-12 |
US20080262848A1 (en) | 2008-10-23 |
EP1836834A1 (en) | 2007-09-26 |
WO2006072595A1 (en) | 2006-07-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101138228A (zh) | 个性化语音扩展标记语言应用 | |
US7286985B2 (en) | Method and apparatus for preprocessing text-to-speech files in a voice XML application distribution system using industry specific, social and regional expression rules | |
CA2793741C (en) | Disambiguation based on active input elicitation by intelligent automated assistant | |
US7634259B2 (en) | Applications server and method | |
US9130900B2 (en) | Assistive agent | |
CN108475190B (zh) | 用于使用用户界面创作平台来创作任务的方法和系统 | |
US20050033582A1 (en) | Spoken language interface | |
CN103035240A (zh) | 用于使用上下文信息的语音识别修复的方法和系统 | |
EP2691877A2 (en) | Conversational dialog learning and correction | |
KR20080017414A (ko) | 의미 풍부 개체를 갖는 동적 사용자 경험을 제공하는컴퓨터화된 방법, 시스템 및 컴퓨터 판독가능 매체 | |
AU2013205569B2 (en) | Prioritizing selection criteria by automated assistant | |
CN1937674A (zh) | 用于语音门户服务器的方法和装置 | |
US8433053B2 (en) | Voice user interfaces based on sample call descriptions | |
Marx | Toward effective conversational messaging | |
US20060140357A1 (en) | Graphical tool for creating a call routing application | |
Mitrevski | Developing Conversational Interfaces for IOS: Add Responsive Voice Control to Your Apps | |
CN108475503B (zh) | 用于多语言通信排序的系统和方法 | |
Belaunde et al. | Service mashups using natural language and context awareness: A pragmatic architectural design | |
JP7205962B1 (ja) | 自動対話のためのシステム | |
Reitter | Hybrid Planning and Realization of Coherent Utterances for Multimodal Natural Language Dialogue Systems | |
Miyazaki | Discussion Board System with Multimodality Variation: From Multimodality to User Freedom. |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20080305 |