当前位置:文档之家› 基于即时文语转换技术的IVR流程编辑器的设计

基于即时文语转换技术的IVR流程编辑器的设计

所属栏目:计算机应用

基于即时文语转换技术的IVR流程编辑器的设计

姚仲敏1,吴丹1,李丽1,侯彬2

(1.齐齐哈尔大学通信与电子工程学院黑龙江齐齐哈尔 161041;2.天津众智通公司天津022)摘要:针对传统交互式语音应答(IVR)系统在开发期间需要录制大量的语音文件供程序调用,并都是基于某种特定业务,流程被固定化,用户无法随时根据需要进行更改等问题,在IVR流程树基本原理的基础上,设计了一种基于即时文语转换技术(TTS)的新型IVR流程编辑器,系统省略了传统语音文件的录制过程,使用即时文语转化技术实现数据的实时朗读,无须事先人工录音,节省了大量的人力及计算机空间,同时具有业务无关性和可定制的流程编辑,用户可根据自身需要,定义自己的指令流程节点、节点属性以及方法,随时定制、修改自己的IVR系统。

关键词:交互式语音应答系统;流程树;文语转换技术;流程编辑器;节点

Design of flow editor of IVR based on instant text to speech

technology

Yao ZhongMin1,WuDan1,LiLi1,HouBin2

(1. Department of Communication and Electronic Engineering,Qiqihaer University, Qiqihaer 161041,China;

2.TianJin ZhongZhiTong CO. Ltd ,TianJin 022,China)

Abstract:Traditional interactive voice response (IVR) system requires a large number of audio files recorded for the program calling during the development process, it bases on a particular business and the flow is fixed,user can not change it at any time as needed and so on. Based on the basic principle of the IVR process tree,a new flow editor of IVR based on Instant text to speech technology is designed,the system omits the the process of the traditional recording voice file ,the date can be real-time readed using the instant text to speech technology,without artificial pre-recording,it saves a lot of manpower and computer space,At the same time it is business independence and customizable,the user can define theirs own instruction program node、the node attributes and methods according to their needs,also can customize and modify their own IVR system at any time.

Key words:interactive voice response;IVR process tree;text to speech technology;flow editor;node

0 引言

呼叫中心是充分利用现代通信与计算机技术并可以自动灵活地处理各种不同的电话呼入和呼出等业务的运营操作场。交互式语音应答(IVR)是呼叫中心的一个重要组成部分,其主要作用是为用户提供交互式的语音服务[1]。目前实现IVR流程开发主要采用业务开发商开发模式。这种模式下,整个IVR系统由一家公司负责开发维护,一般系统建设后,构成平台系统的子模块很少再会有改变。该模式下开发商对系统把握精准,理解透彻,对用户提出的需求可以高质量完成。但在开发过程中,需要有一个专业的IVR流程开

发团队进行需求开发和维护,任何系统的改动,哪怕仅仅是要把某个子菜单从第二层提到第一层这种最简单的需求更变,也需要开发人员修改IVR流程代码来支持[2]。为了克服上述模式的缺点,本文设计了一种基于即时文语转换技术的用户开发模式IVR流程编辑器,用户可以在该平台上按照业务需要构建个性化的IVR流程而无需开发人员修改流程代码。

本文设计的IVR流程编辑器在硬件方面以ZZT-2V语音处理板卡为核心,完成对用户呼叫的控制。采用WS824系列的Q208型号程控交换机,实现系统与交换网络的连接。软件方面,在IVR流程树原理之上加以创新,以流程信息的形式保存节点动作及属性,并使用即时文语转换技术对数据库内文本数据进行实时转换,实现即时朗读功能。

1 系统架构

本系统的整体架构如图1所示。系统的核心是ZZT-2V语音处理板卡,该语音处理板卡通过USB连接线连接到计算机上,计算机通过该语音处理板卡完成对用户呼叫的控制。系统与交换网络的接口是连接在语音处理板卡上的一款WS824-Q208系列的程控用户交换机,通过该交换机实现系统与交换网络的连接。

用户打入电话到WS824型交换机,由信令E1连接到语音板卡上,语音板卡负责信令解析、按键检测等工作,再通过IVR服务器完成与用户的语音交互。

E1

WS824-Q208型交换机

E1

E1

USB连接线

IVR服务器ZZT_2V语音板卡

图1系统结构框图

2 IVR流程树框架设计

本系统依照IVR流程树基本原理进行IVR流程的编辑及过程控制,并在IVR流程树原理的基础上加以创新,将所有的节点动作、属性以流程信息的形式保存到数据库中,然后让系统根据数据库中流程信息的内容比照当前状态与结束条件来执行下一步动作,从而通过重新设置流程信息内容实现IVR交互式语音信息服务功能的改变和扩充。

2.1 IVR流程树原理

在IVR系统中很多环节都是相似的,每个对话的过程都可以分成若干个不同类型的小的过程,如播放语音、查询数据库、转人工接听等。每个不同的IVR系统的对话过程都是这些小过程的组合。就像搭积木

一样,这些小过程就是一块块不同类型的积木,放在一起可以构造成形形色色的IVR系统。IVR流程树就是把这些一块块积木抽象成一个个节点,每个节点包含一些特定的属性,例如结束条件、执行动作等[3]。而IVR系统的语音通道,在一定时刻只处于IVR系统的一个特定的节点状态,当这个节点动作结束的时候,节点根据结束条件跳到下一个节点状态[4]。

本设计把所有的节点动作做成流程信息,让系统根据预设的流程信息集合,比照当前状态与结束条件来调用下一个流程信息,这样控制程序就不需要因为流程的改变而改变,从而实现了IVR系统的流程控制与流程的设置分开,只要通过重新设计条件集合就可以对IVR系统进行灵活的配置,通过扩充流程信息实现IVR功能的扩充[5]。

2.2 IVR流程树设计与实现

在IVR系统设计过程中,应遵循“减少层次深度,增加层次广度”原则,所以本系统只设置3级层次,但在每级中设置多个子节点。其中一级设置根节点Node_main,二级设置父节点Node2_one~Node2_eight,其中父节点Node2_one~Node2_four分别下设8个三级子节点Node3n_one~Node3n_eight,整个系统最多可实现40个功能步骤。为了用户使用方便,本系统根节点对应操作界面中的导语步,父节点对应第一步,子节点对应第二步至第五步。本系统中另设3个定值节点Node_nine、Node_J及Node_X,分别固定设置为重听查询信息、返回上一级节点及确认输入信息(即在本系统中,重听、返回上一级菜单和确认输入信息统一设置为9键、#键及*键),系统树形图如图2所示。

图2 IVR流程树

当树形结构设计完成后,就要抽象出节点的具体属性。在本系统中,所有节点的属性以流程信息形式存储在数据库的流程信息表中,并在服务程序中由定时器控制节点的启用状态,从而将父节点与子节点进行关联。其中一级根节点Node_main保存主引导语语音资源及下级各节点的启用信息(即话机中哪个键被启用),启动信息存储在数据库按键状态表中,键值为0或1。二、三级节点存有各键的执行动作、下一步转向、查询条件、语音文件及查询数据源等属性。执行动作共有“查询”、“语音播放”及“转向”三种模式,其中“查询”分为自动、半人工、人工三种方式,三种方式通过控制语音板卡输出数据到不同端口以实现切换,“语音播放”实现预设语音资源的朗读,可实现如服务公告、信息发布等功能,“转向”实现二级节点和三级节点间的跳转,即此时的二级节点不设置具体动作,仅为下级节点起引导作用。下一步转向保存转向的目的地。查询条件及查询数据源只在“查询”模式时启用。语音文件保存每一步的引导语信息,因本系统内嵌TTS功能,所以语音文件可以选择即时朗读或存储两种方式,即时朗读无须以音频文件形式

保存,直接输入文本存储即可。用户可自行对各级按键启动情况、节点属性等进行设计,从而完成IVR系统的设计。

3 服务程序设计

本系统的服务程序采用定时器循环流程设计方式,可实现检测用户按键、与用户交互、提供语音服务等功能,是整个IVR系统的核心。

系统启动后,首先在定时器Phone_Timer中进行铃流检测。接收用户发来的DTMF信号,并把该信号保存为Scan_DTMF变量,循环判断变量值,即由用户的按键确定系统的转向。

系统检测完用户的操作,执行摘机程序并与用户进行交互。启动Timer1,播放一级节点Node_main 内保存的引导语,用户根据自己的需要进行按键选择,此时启动Timer2,系统把按键变量Ring_Num与预设的节点信息进行对比,若一致则转向该节点,并根据节点的各个属性执行播放信息还是查询。

系统通过ADO连接数据库,在数据库中查询预设节点属性,并把各个属性赋值给自定义的变量。系统通过对该变量进行判断,启动不同的定时器。当该节点的执行动作为“语音播放”属性时,直接调取语音文件,建立播报通道进行播放。若执行动作为“查询”,系统访问数据库内存储的查询条件、查询目标等属性,同时朗读预设的引导语语音文件,接收用户按键输入查询条件,并等待终止符(本系统设定为#键),检测到终止符后从数据库内调取数据,数据经过文语转转实现即时朗读。当执行动作为空时,则执行下一步转向,系统启动下一级定时器,重新执行节点信息的对比。系统运行到每一级时,都会在标识变量Node_S中记录该节点级数。

系统执行完节点动作后,等待用户的下一步操作,当检测到按键为9时,系统启动朗读数据所在的定时器并停止当前定时器。若检测到按键为*时,系统判断当前标识变量Node_S的值,返回上一级就是返回Node_S-1值所在的节点。

通过定时器循环流程设计的方法可以实现流程树与服务程序的分离,流程树的节点信息保存在数据库中,而服务程序通过启动定时器读取所需的数据,从而实现了IVR流程的独立性及可设置性[6]。

4 文语转换技术

传统的IVR系统在设计过程中,需要录制大量的语音文件以供语音服务器调用,实现与来电者的语音交互,具有录制过程繁琐、录制成功的语音文件占据大量存储空间等缺点。此外因汉字字库的庞大,现有的IVR系统无法将所有汉字录制成语音文件,从而影响了与来电者的顺利交互。

本系统将即时文语转换技术和语音文件合成技术与IVR系统相结合,在服务器端使用即时文语转换技术实现数据的实时朗读,省却了语音文件的制作过程。在流程编辑端用户可根据需要对引导语的生成方式进行选择(即时朗读或生成语音文件),通过对语音合成和即时文语转换技术的合理使用,即节省了人力、存储空间,又提高了系统的运行速度。

本系统采用Micrsoft Speech SDK开发包中的ISpVoice接口访问微软TTS引擎,实现数据库内文本信息的实时朗读。ISpVoice接口通过对底层的语音合成引擎的封装,屏蔽了底层复杂的语音合成细节,向上层应用程序提供了应用程序接口。同时采用微软的COM技术,直接将所有的接口封装与COM组件中,提高了接口的可复用性和易用性[7]。

本系统主要调用了开发包中GetV oices、Speak、set_Voice、Open、set_AudioOutputStream、set_AllowAudioOutputFormatChangesOnNextSet等成员函数。具体实现方法如下所示:

1)系统检测用户按键,当执行查询功能时打开用户查询的数据库,把查询的数据以文本的格式存储到MemoTTS中。因为SDK开发包中要求要朗读的文字必须位于宽字符串中,所以需要定义一个WideString 类型字符串,并把文本信息保存在其中:

WideString con=MemoTTS->Text;

2)初始化语音接口。创建SpV oice类的对象,从而实现与ISpVoice接口的通信:

TSpV oice *SpVoice1=new TSpVoice(this);

3)利用对象成员函数设置语音属性,例如发音对象、语速、音量及音频输出流对象等:

SpV oice1->_set_Voice(sots->Item(0));(设置中文发音)

SpV oice1->set_AllowAudioOutputFormatChangesOnNextSet(1);(允许声音自动调整到合适状态以适应其音频输出)

4)调用Speak函数实现朗读:

SpV oice1->Speak(con,SVSFDefault);其中con为需要朗读的文本,SVSFDefault为默认的同步发音模式。

5)设置阻塞进程,直到声音播放完毕或者超时:

SpV oice1->WaitUntilDone(-1);

6)删除建立的语音接口,防止内存溢出:

delete SpVoice1;

为了提高系统的运行速度,用户可选择把即时文语转换技术中的实时朗读功能应用到服务程序中的查询模块上,而流程编辑器中则使用生成wav语音文件的方式保存引导语信息的方式。生成语音文件的方法与即时朗读类似,首先初始化语音接口、设置语音属性。

为了创建语音文件,先要定义一个语音文件数据流并绑定到wav文件中:

new TSpFileStream(this);

打开文件流用于存储数据,并设置声音输出到wav 文件:

SpFileStream1->Open(WideString(D_File),SSFMCreateForWrite,false);

set_AudioOutputStream (SpFileStream1->GetDefaultInterface());

生成的语音文件名称存储到数据库中,供服务程序调用[8]。

5 系统测试

在构建的呼叫中心IVR系统中,使用本流程编辑器完全实现了对IVR流程的自由配置,满足了用户随意更改的系统的需要,通过在火车站语音服务系统及医院预约挂号系统中应用,获得了理想的效果。下面以火车站语音服务系统为例,对系统有效性及可行性进行验证。IVR系统配置过程如下所示。

图3根节点配置

如图3所示,首先对Node_main节点(即导语步)进行配置。在导语步中,应对系统的各个层次进行简要说明,从而引导用户进行下一步按键操作。接下来对各个节点的启动情况进行配置,即确定按键的可

用情况,如图4所示。

图4按键状态启动

节点状态配置完成后,点击进入各个子节点进行属性配置,如图5所示。本系统提供了一个友好的设

置界面,提示音的设置只须在文本框中输入文本,系统就会调用即时文语转换模块自动生成语音文件,其

他属性可在相应的对话框中通过输入或选择进行配置。

图5各个节点配置

配置完成后,数据库中各个节点的启用状况如表1所示,节点的属性配置如图6所示。

表1按键状态表

Step one two three four five six seven eight nine zero X 井

Node2 1 1 1 1 0 0 0 0 0 1 1 0

Node31 1 1 0 0 0 0 0 0 1 0 1 0

Node32 0 0 0 0 0 0 0 0 0 0 0 0

Node33 0 0 0 0 0 0 0 0 0 0 0 0

Node34 0 0 0 0 0 0 0 0 0 0 0 0

图6流程信息表

上述配置表建立后,系统具体化为一个二级IVR系统,可实现车次查询、服务信息播报等功能。在系统运行中,服务器根据数据库内配置数据进行有序的语音提示及按键检测,响应接入用户的检索需求。通过测试,系统可以很好的满足用户需求,稳定度、处理连贯度、结果集正确率等核心参数都可达到设计要求。

6 结束语

本文提出了一种基于即时文语转换技术,采用流程树与数据库相结合IVR新流程结构。系统通过即时文语转换技术对数据库内数据进行实时朗读,不仅省去了传统IVR实现录制语音文件的麻烦,更节省了大

量的服务器空间。系统把IVR的对话过程抽象成节点,并把节点动作以流程信息的形式保存到数据库中,

实现了流程与控制的分离,使用户可以在不更改程序的前提下,根据自己的需要设置节点集合,配置属于自己的IVR系统。

参考文献:

[1]李红,彭晶,黄红斌等.基于包转发技术的可编辑流程IVR系统的研究[J].计算机工程与设计,2008,

29(20):5354-5359. (参考本刊论文)

[2]邱丽霞,范晟,应必善等.可直接编辑的IVR动态菜单方法及其访问方法[P].中国:200910053712,

2009年11月18日

[3]刘慧勇,梁满贯.基于WINDOWS目录的IVR语音流程树的设计与实现[J].中国数据通信,2005,6

(20):41-43.

[4]龚磊,颜永红,曾建华等.IVR系统可扩充流程树的构造及应用[J].湖南大学学报,2008,29(20):

5354-5359.

[5]吴飞,崔杜武.可重配置IVR系统的设计与实现[J].西安理工大学学报,2006,22(3):315-318.

[6]王晟.C++Builder数据库开发经典案例解析[M] .北京:清华大学出版社,2005.

[7]金建乐.TTS技术在水库调度值班中的应用[J] .水利水文自动化,2005,12(4):21-24.

[8]林茜,欧建林,蔡骏.基于Microsoft Speech SDK的语音关键词检出系统的设计和实现[J].心智与计算,

2007,4:433-441.

作者简介:姚仲敏(1959-),女,河北省藁城市人,教授,学士,主要研究方向为呼叫中心的研究与设计、现代交换技术等;吴丹(1985-),女,黑龙江省齐齐哈尔市人,硕士研究生,主要研究方向为文本转语音、呼叫中心;李丽(1979-),女,黑龙江省齐齐哈尔市人,讲师,硕士研究生,主要研究方向为计算机网络、语音信号处理;侯彬(1984-),男,黑龙江省虎林市人,助理工程师,主要研究方向为呼叫中心的开发设计与应用。

联系人:吴丹

通讯地址:黑龙江省齐齐哈尔市文化大街42号齐齐哈尔大学通信与电子工程学院161006

电子邮件:woaiwudanlove@https://www.doczj.com/doc/5e18983037.html,

联系电话:137********

相关主题
相关文档 最新文档