专利名称:一种实现语音交互应用场景方法
技术领域:
本发明涉及一种以voicexml为基础、为电话语音交互应用提供交互场景设计的方法,这个方法利用了结合传统IVR树结构和网状结构的语音交互流程结构设计。
背景技术:
随着语音应用技术的不断成熟,和对智能化系统需要的不断增多,各种语音交互应用系统不断出现,语音交互应用在广泛地应用于银行、股票、公共信息、企业呼叫中心等应用领域。W3C组织相应制定了语音应用的标准xml语言voicexml,但是目前基于voicexml的语音应用平台大多数只是提供了voicexml的标签编辑功能,有些编辑界面则针对语音浏览器的需求,设计过程遵循了常规的使用浏览器的方法,没有考虑电话语音交互的实时化需求;此外针对标签进行界面化设计,没有兼容传统的IVR树的交互场景定义,不易于流程定制人员使用。
目前,IVR的语音交互应用已经广泛地应用于银行、股票、公共信息、企业呼叫中心等应用领域,诸如电话查询股票、电话银行等业务都已经逐渐被人们熟悉。而随着语音应用技术的不断成熟,和应用智能化的需求增多,采用语音识别技术的自动语音交互技术将逐渐取代传统的IVR语音交互技术,而传统IVR语音交互技术中的全IVR树状结构的语音交互流程设计将不适应自动语音交互应用的要求。
传统的IVR树结构的缺陷在于完全采用树状的多级菜单结构,用户需要多次交互才能完成想要的功能,通话时间长;由于完全采用IVR菜单,用户容易“迷失”在多级菜单中,电话的自动完成率低;有些功能无法实现,如从大量数据中快速查找和定位人名或地址功能使用IVR的多级菜单无法实现。
同时,全网状交互流程设计方法虽然有其灵活、方便、离散、跳跃等优点,但是有明显的缺陷由于流程离散,无法限制流程之间的相互跳转,容易造成死锁;在交互流程修改复杂,对于流程节点功能重复的现象不易检查,某些节点可能在交互中永远不被用户使用,造成流程节点的“孤岛”;对于规模比较大的交互流程的可视性差;另外,对于熟悉了IVR树结构的交互流程定制人员,全网状的交互流程会使他们无从下手。
发明内容
本发明的目的是克服现有技术的上述缺点,为此,本发明提供一种电话语音交互场景的设计方法。传统的IVR树的每个节点是与用户的一次交互场景,根据交互场景实现的电话操作功能进行分类,可以将voicexml中定义的标签都纳入交互场景中,每个标签将成为交互场景中的一个属性。
为了达到上面的目的,本发明的技术方案是这样实现的一种语音交互应用场景方法,包括步骤定义多个场景,每一场景对应于VoiceXML中的代表实现预定功能的多个标签组合;根据需求,组合所述多个场景中的至少一个;基于所述组合的场景,获取VoiceXML的标签;根据VoiceXML语法,产生相应的VoiceXML文件。
可选地,所述多个场景的每个包括相关的标签,和语音识别语法文件的内容。
优选地,所述场景包括下列至少一个识别场景、录音场景、转接场景、挂机场景。
可选地,组合所述多个场景中的至少一个包括以IVR树结合网状结构添加场景;和/或以IVR树结合网状结构删除场景。
优选地,组合所述多个场景中的至少一个包括场景有效性检查。
可选地,所述场景有效性检查包括选择一个场景;查找它的父节点场景;检查所述父节点场景中是否有到所述场景的跳转;如果有,继续下一个场景的检查;否则,场景无效,退出。
优选地,所述组合所述多个场景中的至少一个包括根据用户要求,选择所述场景的属性,和/或提示语集,和/或指令集,和/或动作集;根据VoiceXML语法组合之。
可选地,根据VoiceXML语法,产生相应的VoiceXML文件的步骤包括将组合的场景解析为VoiceXML标记,基于VoiceXML标记库解释用户的动作流,自动生成对应的VoiceXML文件。
利用本发明,一个具体的应用在界面上体现为一棵IVR树。场景的属性来描述跳转关系。增加了跳转判断的灵活性;方便了用户使用。
图1为本发明的传统IVR树结构和网状结构的语音交互流程示意图;图2、图3、图4分别描述了交互流程节点的添加、删除和交互流程有效性检查过程;图5为基于本发明的语音交互应用编辑环境主界面;图6、图7、图8分别为提示语集界面、指令集界面和动作集界面。
具体实施例方式
为了使本技术领域的人员更好地理解本发明,下面结合附图和实施方式对本发明作进一步的详细说明。
在电话语音交互流程中,定义开始节点和结束节点来表示交互流程的开始和结束。在父节点的基础上加入子节点,父子之间的关系通过“父子”属性来记录。节点之间的跳转(包括父子之间)通过动作来表示。每个节点都有一个动作集,记录了该节点所有的动作,即在哪种条件下,跳转到哪个节点。系统来自动生成子节点到父节点的跳转,即返回动作。
这样,以父子关系来记录IVR树的层次结构,动作集来表示网状的层次跳转。表现在界面上的应用流程是一棵IVR树,在IVR树的内部属性实现了节点之间的自由跳转,实质上应用流程是网状结构。最终用户可以通过按键的多层菜单方式遍历流程,也可以直接说出语音指令跳转到对应的节点。因此,实现了IVR树状结构与网状结构的结合。
本发明中,语音交互流程的节点类型为识别节点、转接节点、录音节点、挂机节点、自定义JSP节点。识别节点表示一次播放识别交互场景,转接节点实现电话的转接功能,录音节点实现录音功能,挂机节点实现挂机。
以父子关系来描述节点之间的层次结构,一个父节点可以有多个子节点,每个子节点只能有一个父节点;子节点的创建必须是在父节点进行。交互流程的创建过程是一个IVR树的生成过程。
每个节点除了有“父亲”属性之外,还有一个重要的属性“动作集”,动作集由若个条动作组成,每个动作记录了一个满足一定条件的节点间跳转。例如“条件主菜单=售前,跳转节点售前”。除了结束节点(指挂机节点和转接节点)之外,每个子节点都有到父节点的跳转,由系统默认创建,命名为“返回”。语音命令和按键命令是动作的条件的一部分,用户个性的信息也是组成动作条件的可选内容,如标识用户是否已经注册等信息。
通过上述的规则的语音交互流程示例如图1。
图中,主菜单是用户进入后的第一个场景,是应用的开始节点,人工坐席1~3是实现转接电话,是应用的结束节点。主菜单的子节点包括售前、售后、注册和投诉,售前有包括家用和商用两个子节点,家用节点是人工坐席1的父节点,商用节点是人工坐席2的父节点,注册是人工坐席3的父节点。如图所示,父子之间的跳转条件是满足一定的按键,如主菜单=2,跳转到售后节点。除了3个转接节点,其余子节点都有到父节点的“返回”跳转,这个返回由流程定制人员自己定义,可以是“*”键,也可以是语音指令。
除了父子关系之外,图中描述了节点之间的自由跳转,如主菜单节点可以直接跳转到家用节点,家用节点可以跳转到主菜单,商用节点可以跳转到售后,而投诉节点跳转到人工坐席3。节点之间的这些自由跳转完全由流程定制人员来决定,同层之间,隔层之间都可以选择跳转。节点之间通过这样的自由跳转,形成了一个实质的网状结构。
整个交互流程的创建是通过添加节点完成,在创建结束时,系统需要对节点的有效性进行检查,保证应用交互流程的层次关系存在。自由跳转的加入通过随时对节点的动作集进行编辑来完成。
图2、图3、图4分别描述了交互流程节点的添加、删除和交互流程有效性检查过程。其中,添加节点包括步骤选择父节点;添加子节点;编辑子节点的属性,包括添加子节点到其他节点的自由跳转;添加父节点到子节点的跳转;添加子节点到父节点的返回。
而删除节点包括步骤删除该节点所有的子节点;删除到该节点子节点的所有跳转;删除该节点;删除到该节点的所有跳转。
节点有效性检查步骤选择一个节点;查找它的父节点;检查父节点中是否有到该节点的跳转;如果有,继续下一个节点的检查否则,节点无效,退出。
在本发明中,为了实现语音交互应用场景方法,按照电话语音操作不同,将交互场景分为识别场景、录音场景、转接场景、挂机场景四类。按照voicexml标签的具体含义与交互场景的关系,将相关的标签归入场景中,作为场景的属性;此外语音识别语法文件的具体内容也作为场景的属性。基于此方法,对不同的场景设计不同的图形界面,设计的图形界面成为用户编辑场景属性的工具。如语法文件作为识别场景的属性,语音交互应用编辑环境将提供用户编辑这一属性的图形界面。
上述的交互场景对应于IVR树与网状结构中的流程节点,场景的组织按照中的对话流程设计组织,一个具体的应用在界面上体现为一棵IVR树。场景的属性来描述节点之间的跳转关系。
在本发明中,除了挂机场景是系统中默认设置的,其他场景都由流程定制人员创建,这三类场景公有的属性是节点名称和父节点名称,描述了IVR树的父子层次关系。下面对场景的详细说明将不再提及这两个属性。
1.识别场景功能描述了与用户的一次交互,识别场景从功能上划分,包含两类子场景播放子场景和播放并识别子场景。播放子场景描述的是系统播放提示语,播放完成后根据当前的条件进行一定的“动作”。播放并识别子场景描述的是系统播放提示语,等待用户输入,用户语音或按键输入后,系统根据当前的条件进行一定的“动作”。两者的不同在于后者包含了语音识别的过程。“当前的条件”包含当前场景或以前场景的识别结果,系统中全局变量的当前值等。流程定制人员可以根据自己的需要自由选择。
属性识别场景的主要属性包括提示语集、指令集和动作集三类。
提示语集包含了识别场景中要播放的提示语,每条提示语都由两部分组成类型和内容。提示语的类型有wav文件、TTS(语音合成)文本、变量、和数据库查询结果四类。变量提示语通过选择系统的全局变量来形成表示当前变量的值的提示语。数据库查询结果提示语与当前的数据库查询动作相关。用户可以选择多种类型,不同类型的提示语按用户的选择顺序形成提示语集。
例如
如果当前的变量名为产品名称的变量值是“家用电脑”。应用将播放提示语为确认.wav,“您需要的产品是家用电脑”。
指令集描述了当前交互场景使用的识别语法文件,每条指令对应于语法文件中的一条或多条语法。指令由指令名称、语音命令、拼音、和按键命令组成。指令名称将作为识别结果的主要判断内容,同一指令名称可以有不同的语音命令和按键命令。同一语音命令或按键命令只能对应同样的指令名称。在用户输入的语音命令后,系统将自动生成拼音列表,供用户选择。
例如指令名称为家用,语音命令为家用,按键命令为1
指令名称为家用,语音命令为家用电脑由于语音命令“家用”、“家用电脑”和按键命令“1”都对应相同的指令“家用”,这三者的识别将返回同一识别结果“家用”。
动作集描述了当前场景在完成播放或识别后,进行的一系列操作。每个动作都是由动作条件和具体的操作组成。条件指当前场景或以前场景的识别结果满足一定的条件,或全局变量满足一定的条件。具体操作中可选的有提示语和变量赋值,必选的是跳转节点名。即每个识别场景的执行结果必须是跳转到一定的场景中,交互应用的交互是要持续下去,不能出现交互“停顿”的现象。此处的提示语的定义同上面。
如果选择的条件是本节点,则条件内容可以选择“用户无输入”和“拒绝识别”,同样也需要设置满足条件的操作。
例如动作1条件主菜单=家用提示语TTS文本您选择的是家用电脑变量赋值varl=家用跳转节点家用描述了当前识别结果为“家用”时,系统将播放“您选择的是家用电脑”,并进行变量赋值varl,最后跳转到家用场景。
对应voicexml识别场景对应了voicexml的<field>和<block>两个标签。指令集对应了<grammar>标签,并增加了通过界面写语法文件并编译语法文件的功能。提示语对应了<prompt>标签。动作集对应了<filled>和<catch>标签。对于nomatch和reject事件的处理已经归纳到动作集中。
综合上述描述,如下所示的一个简单的voicexml<form id=″test″>
<field name=″主菜单″>
<grammar src=″.S主菜单″/>
<prompt>家用1,商用2</prompt>
<catch event=″noinput″count=″1″>
<goto next=″#主菜单″/>
</catch>
<catch event=″nomatch″count=″1″>
<goto next=″#主菜单″/>
</catch>
<filled>
<if>
<condition name=″主菜单″expr=″家用″/>
<prompt>家用。</prompt>
<goto next=″#家用″/>
</if>
</filled>
</field>
</form>
可以以如下所述的识别场景来代替
流程图2.录音场景功能录音场景描述了播放提示语,并进行录音,录音后直接跳转到某个交互场景。
属性录音场景由提示语集和跳转节点组成。提示语的定义同上。
对应的voicexml录音场景对应了voicexml的<record>标签。
3.转接场景功能转接场景描述了播放提示语后直接转接电话的操作,是交互流程的结束节点。
属性转接场景由提示语集和转接电话号码组成。
对应的voicexml转接节点对应了voicexml中的<transfer>标签。
4.挂机场景功能描述了电话语音交互应用主动挂机的情景,是交互流程的技术节点。
属性无特殊属性。
对应的voicexml对应于voicexml中的<exit>标签。
此外,全局变量包含变量名和值属性,全局变量的定义和赋值对应了voicexml的<var>和<assign>标签。
图5为基于本专利方法设计的语音交互应用编辑环境主界面。图6、图7、图8分别为提示语集界面、指令集界面和动作集界面。
虽然通过实施例描绘了本发明,本领域普通技术人员知道,本发明有许多变形和变化而不脱离本发明的精神,希望所附的权利要求包括这些变形和变化而不脱离本发明的精神。
权利要求
1.一种实现语音交互应用场景方法,包括步骤定义多个场景,每一场景对应于VoiceXML(语音xml编辑语言)中的代表实现预定功能的多个标签组合;根据需求,组合所述多个场景中的至少一个;基于所述组合的场景,获取VoiceXML的标签;根据VoiceXML语法,产生相应的VoiceXML文件。
2.如权利要求1所述的方法,其中,所述多个场景的每个包括相关的标签,和语音识别语法文件的内容。
3.如权利要求2所述的方法,其中,所述场景包括下列至少一个识别场景、录音场景、转接场景、挂机场景。
4.如权利要求2或3所述的方法,其中,组合所述多个场景中的至少一个包括以IVR(按键语音交互)树结合网状结构添加场景;和/或以IVR树结合网状结构删除场景。
5.如权利要求4所述的方法,组合所述多个场景中的至少一个包括场景有效性检查。
6.如权利要求5所述的方法,其中,所述场景有效性检查包括选择一个场景;查找它的父节点场景;检查所述父节点场景中是否有到所述场景的跳转;如果有,继续下一个场景的检查;否则,场景无效,退出。
7.如权利要求3所述的方法,其中,所述组合所述多个场景中的至少一个包括根据用户要求,选择所述场景的属性,和/或提示语集,和/或指令集,和/或动作集;根据VoiceXML语法组合之。
8.如权利要求7所述的方法,其中,所述组合所述多个场景中的至少一个包括组合播放子场景和播放并识别子场景。
9.如权利要求1所述的方法,其中,所述定义多个场景包括对不同的场景定义不同的图形界面,以便于人机交互。
10.如权利要求3所述的方法,其中,根据VoiceXML语法,产生相应的VoiceXML文件的步骤包括将组合的场景解析为VoiceXML标记,基于VoiceXML标记库解释用户的动作流,自动生成对应的VoiceXML文件。
全文摘要
本发明提供了一种实现语音交互应用场景方法,包括步骤定义多个场景,每一场景对应于VoiceXML(语音xml标记语言)中的代表实现预定功能的多个标签组合;根据需求,组合所述多个场景中的至少一个;基于所述组合的场景,获取VoiceXML的标签;根据VoiceXML语法,产生相应的VoiceXML文件。其中,根据VoiceXML语法,产生相应的VoiceXML文件的步骤包括将组合的场景解析为VoiceXML标记,基于VoiceXML标记库解释用户的动作流,自动生成对应的VoiceXML文件。利用本发明,一个具体的应用在界面上体现为一棵IVR(按键语音交互)树。场景的属性来描述跳转关系。增加了跳转判断的灵活性。
文档编号G06F3/16GK1558655SQ200410001119
公开日2004年12月29日 申请日期2004年1月20日 优先权日2004年1月20日
发明者孙文彦, 张继勇, 诸光, 任文捷, 陈庭玮 申请人:联想(北京)有限公司