掌桥专利:专业的专利平台
掌桥专利
首页

交互式语音应答方法、装置、终端设备以及存储介质

文献发布时间:2024-04-18 19:58:21


交互式语音应答方法、装置、终端设备以及存储介质

技术领域

本发明涉及电信通讯领域,尤其涉及一种交互式语音应答方法、装置、终端设备以及存储介质。

背景技术

在客服中心、银行、保险公司等大型企事业单位常用IVR(Interactive VoiceResponse,交互式语音应答)技术来帮助管理客户呼叫中心,IVR可以根据用户输入的按键或语音指令,自动播放音频内容,如菜单提示、业务介绍等,并实现相应的业务处理。

但是,目前主流的自动语音IVR的实现技术包括VXML语音应用程序的标记语言、基于WebRTC(Web Real-Time Communications)框架构建的Voice Gateway模型和SIP(Session Initiation Protocol)服务器模型,这些IVR实现技术开发复杂度高,不支持Microsoft C#技术体系进行开发,灵活性和可维护性受到限制。

上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。

发明内容

本申请的主要目的在于提供一种交互式语音应答方法、装置、终端设备以及存储介质,旨在解决交互式语音应答开发过程复杂,对Microsoft C#技术体系支持不够,不易于扩展和维护的问题。

为实现上述目的,本申请提供一种交互式语音应答方法,所述交互式语音应答方法包括:

接收用户业务指令;

根据所述用户业务指令,基于预设的语音业务流程模型,构建语音业务流程;

根据所述语音业务流程,获取流程节点以及流程脚本类;

根据所述流程节点以及流程脚本类进行业务逻辑处理,以完成交互式语音应答。

可选地,所述根据所述用户业务指令,基于预设的语音业务流程模型,构建语音业务流程的步骤包括:

根据所述用户业务指令,获取流程配置信息;

根据所述流程配置信息,基于所述语音业务流程模型,对预设的流程节点进行配置,构建语音业务流程。

可选地,所述根据所述流程配置信息,基于所述语音业务流程模型,对预设的流程节点进行配置,构建语音业务流程的步骤包括:

根据所述流程配置信息,获取节点属性配置和事件脚本配置;

根据所述节点属性配置和事件脚本配置,基于所述语音业务流程模型,对所述流程节点的属性标签和事件脚本标签进行配置,构建语音业务流程。

可选地,所述流程节点以及流程脚本类进行业务逻辑处理,以完成交互式语音应答的步骤包括:

基于所述流程引擎和预设的编译器,对所述流程节点进行编译,生成流程库文件;

通过所述流程引擎加载所述库文件,生成引擎内存对象并调用所述流程脚本类,以完成交互式语音应答。

可选地,所述基于所述流程引擎和预设的编译器,对所述流程节点进行编译,生成流程库文件的步骤包括:

通过所述流程引擎和预设的脚本解释类,将所述流程节点的脚本标签转化为事件类,生成脚本中间文件;

通过所述流程引擎和序列化工具,对所述流程节点的节点标签进行序列化处理,生成流程中间文件;

通过所述编译器对所述脚本中间文件和所述流程中间文件进行编译,生成所述语音流程对应的库文件。

可选地,所述通过所述编译器对所述脚本中间文件和所述流程中间文件进行编译,生成所述语音流程对应的库文件的步骤包括:

通过所述编译器的写资源类对所述脚本中间文件和所述流程中间文件进行编译,生成二进制资源文件;

根据预设的库文件配置,通过所述编译器的编译类对所述二进制资源文件进行编译,生成所述语音流程对应的库文件。

可选地,所述通过所述流程引擎加载所述库文件,生成引擎内存对象并调用所述流程脚本类,以完成交互式语音应答的步骤包括:

通过所述流程引擎加载所述库文件,生成引擎内存对象;

通过所述引擎内存对象对所述流程脚本类进行实例化,生成流程脚本实例并调用所述流程脚本类的逻辑处理函数和方法,以完成交互式语音应答。

本申请实施例还提出一种交互式语音应答装置,所述交互式语音应答装置包括:

指令接收模块,用于接收用户业务指令;

流程构建模块,用于根据所述用户业务指令,基于预设的语音业务流程模型,构建语音业务流程;

节点获取模块,用于根据所述语音业务流程,获取流程节点以及流程脚本类;

语音应答模块,用于根据所述流程节点以及流程脚本类进行业务逻辑处理,以完成交互式语音应答。

本申请实施例还提出一种终端设备,所述终端设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的交互式语音应答程序,所述交互式语音应答程序被所述处理器执行时实现如上所述的交互式语音应答方法的步骤。

本申请实施例还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有交互式语音应答程序,所述交互式语音应答程序被处理器执行时实现如上所述的交互式语音应答方法的步骤。

本申请实施例提出的交互式语音应答方法、装置、终端设备以及存储介质,接收用户业务指令;根据所述用户业务指令,基于预设的语音业务流程模型,构建语音业务流程;根据所述语音业务流程,获取流程节点以及流程脚本类;根据所述流程节点以及流程脚本类进行业务逻辑处理,以完成交互式语音应答。本发明基于面向对象编程语言,兼顾标记语言技术灵活性的特点,在接收到用户业务指令后,利用语音业务流程模型构建语音业务流程,以流程节点结合流程脚本类实现业务逻辑处理,从而实现语音应答功能,解决了现有交互式语言应答技术开发复杂度高,对C#技术体系支持不够的问题,简化了交互式语言应答开发过程,保障了代码的灵活性和可维护性。

附图说明

图1是本申请交互式语音应答装置所属终端设备的功能模块示意图;

图2为本申请交互式语音应答方法第一示例性实施例的流程示意图;

图3为本申请交互式语音应答方法第二示例性实施例的流程示意图;

图4为本申请交互式语音应答方法流程节点的结构示意图;

图5为本申请交互式语音应答方法流程节点Script标签的结构示意图;

图6为本申请交互式语音应答方法流程节点Script标签事件执行示意图;

图7为本申请交互式语音应答方法第三示例性实施例的流程示意图;

图8为本申请交互式语音应答方法流程文件编译成二进制资源文件的流程示意图;

图9为本申请交互式语音应答方法二进制资源文件编译成库文件的流程示意图;

图10为本申请交互式语音应答方法加载库文件成内存对象的流程示意图。

本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

本申请实施例的主要解决方案是:接收用户业务指令;根据所述用户业务指令,基于预设的语音业务流程模型,构建语音业务流程;根据所述语音业务流程,获取流程节点以及流程脚本类;根据所述流程节点以及流程脚本类进行业务逻辑处理,以完成交互式语音应答。本发明基于面向对象编程语言,兼顾标记语言技术灵活性的特点,解决了现有交互式语言应答技术开发复杂度高,对C#技术体系支持不够的问题,简化了交互式语言应答开发过程,保障了代码的灵活性和可维护性。

本申请涉及的技术术语:

Microsoft C#技术:C#(C Sharp)是一种通用、面向对象的编程语言技术,是一种功能强大、易学易用的编程语言,适用于各种应用程序开发,并且可以与丰富的Microsoft生态系统和工具集成,提供便捷的开发体验。

自动语音应答:IVR(Interactive Voice Response),是一种基于语音交互的自动化电话系统,通过预先录制的语音提示和语音识别技术与呼叫者进行交互,提供信息查询、服务请求和问题解决等功能,无需人工操作。

VXML:VoiceXML,是一种用于开发语音应用程序的标记语言,是一种基于XML的语言,用于描述和控制与语音交互的应用程序。

脚本解释类:ScriptWriter,是一种用于编写、创建和执行脚本的工具或软件,可以帮助开发者将逻辑和操作步骤转化为可执行的脚本代码。

写资源类:ResourceWriter,是一个用于创建和管理二进制资源文件的类,提供了一种将数据写入二进制资源文件的方法,可用于将多种类型的数据(例如字符串、图像、音频等)写入资源文件,以便在应用程序中进行使用。

C#编译类:在C#中,编译类是指将源代码文件(.cs文件)转换为可执行的二进制文件(例如可执行文件、DLL文件等)的过程。

库文件:DLL(Dynamic Link Library)文件,是一种可执行文件格式,用于存储可重用的代码和数据,包含被多个程序共享的函数、类、变量和资源等,提供了代码的模块化和重用,可以被其他程序动态链接和调用。

流程文件:.tpl.xml格式文件,是一种模板文件,用于定义工作流程的结构和逻辑,通常使用XML(eXtensible Markup Language)格式来描述工作流程的各个元素、节点和连接。

本申请实施例考虑到,相关技术方案交互式语音应答技术开发过程复杂,对Microsoft C#技术体系支持不够,不易于扩展和维护。

基于此,本申请实施例提出一种解决方案,在XML内嵌C#脚本实现自动语音流程模型,简化了交互式语言应答开发过程,保障了代码的灵活性和可维护性。

具体地,参照图1,图1为本申请交互式语音应答装置所属终端设备的功能模块示意图。该交互式语音应答装置可以为独立于终端设备的、能够进行交互式语音应答的装置,其可以通过硬件或者软件的形式承载于终端设备上。该终端设备可以为手机、平板电脑等具有交互式语音应答功能的智能移动设备,还可以为具有交互式语音应答功能的固定终端设备或服务器等。

在本实施例中,该交互式语音应答装置所属终端设备至少包括输出模块110、处理器120、存储器130以及通信模块140。

存储器130中存储有操作系统以及交互式语音应答程序,交互式语音应答装置可以将接收到的和处理的数据信息存储于该存储器130中;输出模块110可为显示屏、扬声器等。通信模块140可以包括WIFI模块、移动通信模块以及蓝牙模块等,通过通信模块140与外部设备或服务器进行通信。

其中,存储器130中的交互式语音应答程序被处理器执行时实现以下步骤:

接收用户业务指令;

根据所述用户业务指令,基于预设的语音业务流程模型,构建语音业务流程;

根据所述语音业务流程,获取流程节点以及流程脚本类;

根据所述流程节点以及流程脚本类进行业务逻辑处理,以完成交互式语音应答。

进一步地,存储器130中的交互式语音应答程序被处理器执行时还实现以下步骤:

根据所述用户业务指令,获取流程配置信息;

根据所述流程配置信息,基于所述语音业务流程模型,对预设的流程节点进行配置,构建语音业务流程。

进一步地,存储器130中的交互式语音应答程序被处理器执行时还实现以下步骤:

根据所述流程配置信息,获取节点属性配置和事件脚本配置;

根据所述节点属性配置和事件脚本配置,基于所述语音业务流程模型,对所述流程节点的属性标签和事件脚本标签进行配置,构建语音业务流程。

进一步地,存储器130中的交互式语音应答程序被处理器执行时还实现以下步骤:

基于所述流程引擎和预设的编译器,对所述流程节点进行编译,生成库文件;

通过所述流程引擎加载所述库文件,生成引擎内存对象并调用所述流程脚本类,以完成交互式语音应答。

进一步地,存储器130中的交互式语音应答程序被处理器执行时还实现以下步骤:

通过所述流程引擎和预设的脚本解释类,将所述流程节点的脚本标签转化为事件类,生成脚本中间文件;

通过所述流程引擎和序列化工具,对所述流程节点的节点标签进行序列化处理,生成流程中间文件;

通过所述编译器对所述脚本中间文件和所述流程中间文件进行编译,生成所述语音流程对应的库文件。

进一步地,存储器130中的交互式语音应答程序被处理器执行时还实现以下步骤:

通过所述编译器的写资源类对所述脚本中间文件和所述流程中间文件进行编译,生成二进制资源文件;

根据预设的库文件配置,通过所述编译器的编译类对所述二进制资源文件进行编译,生成所述语音流程对应的库文件。

进一步地,存储器130中的交互式语音应答程序被处理器执行时还实现以下步骤:

通过所述流程引擎加载所述库文件,生成引擎内存对象;

通过所述引擎内存对象对所述流程脚本类进行实例化,生成流程脚本实例并调用所述流程脚本类的逻辑处理函数和方法,以完成交互式语音应答。

本实施例通过上述方案,具体通过接收用户业务指令;根据所述用户业务指令,基于预设的语音业务流程模型,构建语音业务流程;根据所述语音业务流程,获取流程节点以及流程脚本类;根据所述流程节点以及流程脚本类进行业务逻辑处理,以完成交互式语音应答。本发明基于面向对象编程语言,兼顾标记语言技术灵活性的特点,解决了现有交互式语言应答技术开发复杂度高,对C#技术体系支持不够的问题,简化了交互式语言应答开发过程,保障了代码的灵活性和可维护性。

基于上述终端设备架构但不限于上述架构,提出本申请方法实施例。

参照图2,图2为本申请交互式语音应答方法第一示例性实施例的流程示意图。所述交互式语音应答方法包括:

步骤S10:接收用户业务指令;

本实施例方法的执行主体可以是一种交互式语音应答装置,也可以是一种交互式语音应答终端设备或服务器,本实施例以交互式语音应答装置进行举例,该交互式语音应答装置可以集成在具有数据处理功能终端设备上。

本实施例方案主要在XML内嵌C#脚本实现自动语音流程,实现自动化语音交互。

其中,用户业务指令可以是接收来自前端页面或API接口的业务信息,也可以是按键或者通过使用语音识别技术将用户的语音输入转换的指令信息。

步骤S20:根据所述用户业务指令,基于预设的语音业务流程模型,构建语音业务流程;

根据接收到的用户业务指令,基于预设的语音业务流程模型构建相应的语音业务流程,其中,语音业务流程模型定义了不同业务指令的处理逻辑和流程结构。

步骤S30:根据所述语音业务流程,获取流程节点以及流程脚本类;

根据构建的语音业务流程,系统会获取相应的流程节点和流程脚本类,其中,流程节点代表流程中的不同步骤或操作,而流程脚本类则包含执行每个节点所需的业务逻辑和处理代码,这可能涉及到数据查询、计算、验证、条件判断、外部系统交互等操作。

步骤S40:根据所述流程节点以及流程脚本类进行业务逻辑处理,以完成交互式语音应答。

根据获取到的流程节点和流程脚本类,依次执行每个节点的业务逻辑和处理代码,以完成交互式语音应答,其中,流程中的每个节点都会按照固定的顺序进行流转,会按照节点中的业务逻辑调用相应的流程脚本类实现逻辑业务处理,完成交互式语音应答。这些节点的顺序以及业务逻辑,可以是开发人员根据一定的业务需求提前配置的,也可以是根据实时的用户业务需求配置的。

本实施例通过上述方案,具体通过接收用户业务指令;根据所述用户业务指令,基于预设的语音业务流程模型,构建语音业务流程;根据所述语音业务流程,获取流程节点以及流程脚本类;根据所述流程节点以及流程脚本类进行业务逻辑处理,以完成交互式语音应答。本发明基于面向对象编程语言,兼顾标记语言技术灵活性的特点,解决了现有交互式语言应答技术开发复杂度高,对C#技术体系支持不够的问题,简化了交互式语言应答开发过程,保障了代码的灵活性和可维护性。

参照图3,图3为本发明交互式语音应答方法第二示例性实施例的流程示意图。

基于第一实施例,提出本申请第二实施例,本申请第二实施例与第一实施例的区别在于:

在本实施例中,所述根据所述用户业务指令,基于预设的语音业务流程模型,构建语音业务流程的步骤包括:

步骤S201:根据所述用户业务指令,获取流程配置信息;

步骤S202:根据所述流程配置信息,基于所述语音业务流程模型,对预设的流程节点进行配置,构建语音业务流程。

具体地,为了构建语音业务流程,进行业务处理,首先,根据用户提供的业务指令,从预设的流程配置信息中获取相应的数据,其中,流程配置信息可能包括业务指令与流程节点之间的映射关系、节点之间的流程顺序、条件判断和事件处理等信息。

最后,根据获取到的流程配置信息,依据预设的语音业务流程模型对各个流程节点进行配置,以构建完整的语音业务流程,其中,语音业务流程模型定义了流程节点和它们之间的关系,可以采用图形化表示或者其他方式来描述不同节点之间的转换、条件判断、并行执行等逻辑。通过对预设的流程节点进行配置,系统可以按照业务流程模型的要求组织节点,并确保流程的正确执行。

可以帮助系统根据用户的业务指令构建具有预设逻辑的语音业务流程,能够自动执行相应的业务逻辑操作,提供一致、可靠的交互体验,并根据不同的业务需求灵活调整流程配置以满足用户的需求。

进一步地,作为一种实施方式,所述根据所述流程配置信息,基于所述语音业务流程模型,对预设的流程节点进行配置,构建语音业务流程的步骤包括:

步骤S2021:根据所述流程配置信息,获取节点属性配置和事件脚本配置;

步骤S2022:根据所述节点属性配置和事件脚本配置,基于所述语音业务流程模型,对所述流程节点的属性标签和事件脚本标签进行配置,构建语音业务流程。

具体地,首先,根据流程配置信息获取各个流程节点的属性配置和事件脚本配置。节点属性配置可以包括节点的名称、类型、输入参数、输出参数等信息,用于描述节点的基本属性。事件脚本配置则定义了节点在执行过程中需要触发的事件和相应的处理脚本。

最后,根据节点属性配置和事件脚本配置,将相应的属性标签和事件脚本标签应用到预设的语音业务流程模型中的各个流程节点上,以完成节点的配置,其中,通过配置属性标签,系统可以为每个节点指定相应的属性信息,使节点能够根据业务需求正确执行,配置事件脚本标签可以定义节点执行过程中需要触发的事件,并提供相应的处理脚本和调用的脚本类,以实现特定的业务逻辑。

进一步地,如图4所示,模型最基本的单位是节点Node,多个Node形成一个流程模板文件(*.tpl.xml文件),一个节点包括:

a.主要属性说明:

ID:唯一标志节点,需在平台加载的所有流程中保持唯一,其命名方式必须为相对命名,如:“.FN_QueryBranchName”。

b.主要子元素说明:

:节点的描述信息;

:与之关联的下一节点的描述;

进一步地,如图6所示,图6是Script元素事件执行示意图,首先,进入到业务流程,进入节点1的事件处理,实现节点1的OnEnter函数业务逻辑处理;然后,根据OnForward函数进行相应业务逻辑处理判断,判断跳转的下一节点;最后,根据判断结果,进入到下一节点2或下一节点3,进行下一节点相应的业务处理,重复这个过程,直到流程结束。

进一步地,以一个开户行查询功能节点为例,完整说明流程模型Node元素的主要内容,其具体内容如下:

此节点调用指定的开户行查询C#类,根据客户前面步骤输入的卡号,调后台接口,完成开户行的查询;

其中