智能语音交互方法以及相关装置与流程
本申请涉及智能语音技术领域,特别是涉及一种智能语音交互方法以及相关装置。
背景技术:
智能聊天机器人目前在各个行业,特别是服务行业,得到了广泛的应用,由此而衍生出了包括智能客服、智能音箱、娱乐产品等各种商用、民用产品。智能语音机器人作为其进阶形态,以更加自然方便的语音交互方式,越来越受到业界的青睐。
智能语音交互大多为多轮对话,有鉴于此,需要采用诸如lua、python等编程语言编写脚本文件,以实现对话场景中的业务流程的管理。然而,对于诸如运营商客服、电商客服等复杂对话场景,业务流程也相对复杂,使得脚本文件庞大、臃肿,从而不易维护。此外,由于单个脚本文件难以管理多个不同的对话场景,故为了应对多个不同的对话场景,还需要设置多个脚本文件,复用性大大降低,且更无益于维护、管理。有鉴于此,如何提高脚本文件的可维护性和复用性成为亟待解决的问题。
技术实现要素:
本申请主要解决的技术问题是提供一种智能语音交互方法以及相关装置,能够提高脚本文件的可维护性和复用性。
为了解决上述问题,本申请第一方面提供了一种智能语音交互方法,包括调用第一流程引擎接口,通过第一流程引擎接口获取用户输入的语音信息;以及,调用第一流程引擎接口,通过第一流程引擎对语音信息进行识别,得到语音信息的识别信息;调用第二流程引擎接口,通过第二流程引擎接口获取识别信息的对应响应事件;执行识别信息对应的响应事件。
为了解决上述问题,本申请第二方面提供了一种智能语音交互装置,包括获取模块、识别模块、匹配模块和执行模块,其中,获取模块用于调用第一流程引擎接口,通过第一流程引擎接口获取用户输入的语音信息;识别模块用于调用第一流程引擎接口,通过第一流程引擎对语音信息进行识别,得到语音信息的识别信息;匹配模块用于调用第二流程引擎接口,通过第二流程引擎接口获取识别信息的对应响应事件;执行模块用于执行识别信息的对应响应事件。
为了解决上述问题,本申请第三方面提供了一种智能语音交互设备,包括相互耦接的存储器和处理器;处理器用于执行存储器存储的程序指令,以实现上述第一方面的智能语音交互方法。
为了解决上述问题,本申请第四方面提供了一种存储装置,存储有能够被处理器运行的程序指令,程序指令用于实现上述第一方面的智能语音交互方法。
上述方案,调用第一流程引擎接口,通过第一流程引擎接口获取用户输入的语音信息,并调用第一流程引擎接口,通过第一流程引擎对语音信息进行识别,得到语音信息的识别信息,接着调用第二流程引擎接口,通过第二流程引擎接口获取识别信息的对应响应事件,并执行识别信息对应的响应事件,从而将对用户输入的语音信息进行识别,以及识别信息的对应响应事件均交由相应的流程引擎负责,进而无需对对话场景中的业务流程进行管理,只需负责信息的输入/输出,以及各类接口的调用即可,进而大大缩减脚本文件的体量,提升可维护性;此外,由于脚本文件只负责信息的输入/输出,以及各类接口的调用,进而大大提升了对于多种不同对话场景的复用性。
附图说明
图1是本申请智能语音交互方法一实施例的流程示意图;
图2是本申请智能语音交互方法另一实施例的流程示意图;
图3是本申请智能语音交互方法又一实施例的流程示意图;
图4是基于本申请智能语音交互方法的智能语音交互系统一实施例的框架示意图;
图5是本申请智能语音交互装置一实施例的框架示意图;
图6是本申请智能语音交互设备一实施例的框架示意图;
图7是本申请存储装置一实施例的框架示意图。
具体实施方式
下面结合说明书附图,对本申请实施例的方案进行详细说明。
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、接口、技术之类的具体细节,以便透彻理解本申请。
本文中术语“系统”和“网络”在本文中常被可互换使用。本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。此外,本文中的“多”表示两个或者多于两个。
请参阅图1,图1是本申请智能语音交互方法一实施例的流程示意图。具体而言,可以包括如下步骤:
步骤s11:调用第一流程引擎接口,通过第一流程引擎接口获取用户输入的语音信息。
本实施例中,脚本文件调用第一流程引擎接口,从而使第一流程引擎通过第一流程引擎接口将获取到用户输入的语音信息。在一个实施场景中,第一流程引擎包括输出接口和输入接口,输入接口用于获取用户输入的语音信息,输出接口,即本实施例中的第一流程引擎接口用于向与第一流程引擎通信连接的脚本文件输出语音信息,从而使得脚本文件通过第一流程引擎接口获取用户输入的语音信息。
在一个实施场景中,根据具体的对话场景,若业务流程较少,还可以不设置第一流程引擎,直接通过一预设接口获取用户输入的按键信息,本实施例在此不做具体限制。
在一个实施场景中,为了引导用户进行语音交互,从而逐步了解用户的意图,本实施例步骤s11之前,还可以调用第四流程引擎接口获取欢迎话术,并播放欢迎话术。话术是语音交互的各个流程中的对话模式。以运营商客服为例,当客服电话接通时,一般播报欢迎话术,如“尊敬的客户,您好,移动业务请……,宽带业务请……,人工服务请……,结束请挂机”,以引导用户反馈其需求。
步骤s12:调用第一流程引擎接口,通过第一流程引擎对语音信息进行识别,得到语音信息的识别信息。
本实施例中,脚本文件还可以调用第一流程引擎接口,以使第一流程引擎将识别语音信息而得到的识别信息通过第一流程引擎接口传递给脚本文件,在一个实施场景中,脚本文件在调用第一流程引擎接口,使得第一流程引擎在获取到用户输入的语音信息后,直接将语音信息进行识别,并得到语音信息的识别信息;在另一个实施场景中,脚本文件在通过第一流程引擎接口获取到用户输入的语音信息之后,再调用第一流程引擎接口以使第一流程引擎对语音信息进行识别,得到语音信息的识别信息,从而提升了系统鲁棒性。
识别信息包括但不限于:用户所输入的语音信息转换为文本后的文本信息,用户所输入的语音信息所表征的用户意图等等,本实施例在此不做具体限制。
步骤s13:调用第二流程引擎接口,通过第二流程引擎接口获取识别信息的对应响应事件。
本实施例中,脚本文件还调用第二流程引擎接口,以使第二流程引擎根据脚本文件所传递的识别信息确定该识别信息所关联的对应响应事件,并将对应响应事件通过第二流程引擎接口传给脚本文件。例如,在运营商客服语音交互场景中,第一流程引擎获取到用户输入的语音信息“我想查话费”后,识别出用户的意图为“查话费”,即识别信息为“查话费”,脚本文件将该识别信息传递给第二流程引擎,第二流程引擎根据该识别信息可以进一步向服务器请求该用户的电话号码所对应的话费余额、本月消费明细等具体话费信息,再第二流程引擎接口向脚本文件传递该话费信息。其他语音交互场景依次类推,本实施例在此不再一一举例。
步骤s14:执行识别信息对应的响应事件。
根据具体的业务流程,对应的响应事件可以是一段与识别信息有关的话术,也有可能是挂机等其他动作。仍以上述运营商客服语音交互为例,脚本文件调用第二流程引擎接口获取识别信息的对应响应事件为“话费信息”,从而可以播放该话费信息,以供用户收听。或者,脚本文件调用第二流程引擎接口获取识别信息“无其他问题,我要挂机”的对应响应事件为“挂机”,则可以直接挂断本次语音交互,本实施例在此不做具体限制。
上述方案,调用第一流程引擎接口,通过第一流程引擎接口获取用户输入的语音信息,并调用第一流程引擎接口通过第一流程引擎对语音信息进行识别,得到语音信息的识别信息,接着调用第二流程引擎接口,通过第二流程引擎接口获取识别信息对应的响应事件,并执行识别信息对应的响应事件,从而将对用户输入的语音信息进行识别,以及识别信息对应的响应事件均交由相应的流程引擎负责,进而无需对对话场景中的业务流程进行管理,只需负责信息的输入/输出,以及各类接口的调用即可,进而大大缩减脚本文件的体量,提升可维护性;此外,由于脚本文件只负责信息的输入/输出,以及各类接口的调用,进而大大提升了对于多种不同对话场景的复用性。
请参阅图2,图2是本申请智能语音交互方法另一实施例的流程示意图。其中,图2为图1所示的智能语音交互方法一具体实施例的流程示意图。包括如下步骤:
步骤s21:调用第一流程引擎接口,通过第一流程引擎接口获取用户输入的语音信息。
具体请参阅步骤s11。
步骤s22:调用第一流程引擎接口,通过第一流程引擎对语音信息进行识别,得到所述语音信息转换的文本信息。
本实施例中,脚本文件调用第一流程引擎接口,以使第一流程引擎将获取到的语音信息进行识别,从而将语音信息转换为文本信息。在一个实施场景中,脚本文件还可以调用第一流程引擎接口,以使第一流程引擎将语音信息进行识别,转换为文本信息,并进一步识别出用户意图。
具体请结合参阅上述步骤s12,在此不再赘述。
步骤s23:调用第二流程引擎接口,通过第二流程引擎接口获取文本信息的对应响应话术。
本实施例中,脚本文件还可以调用第二流程引擎接口,以使第二流程引擎确定文本信息的对应响应话术后,通过第二流程引擎接口回传给脚本文件。仍以运营商客服为例,当客服电话接通时,一般播报“尊敬的客户,您好,移动业务请……,宽带业务请……,人工服务请……,结束请挂机”,当当前坐席无法应答时,一般播报“坐席正忙,请等待”,当对话结束时,一般播报“感谢您的来电,请挂机”等等,播放话术,一步步地引导用户解决其问题,或为用户提供信息。
具体请结合参阅上述步骤s13。
步骤s24:调用第三流程引擎接口,通过第三流程引擎播放文本信息的对应响应话术。
脚本文件调用第三流程引擎接口,以使第三流程引擎播放文本信息的对应响应话术。本实施例中,脚本文件调用第二流程引擎接口获取到文本信息的对应响应话术之后,再通过第三流程引擎接口传递该对应响应话术,使得第三流程引擎播放该对应响应话术。
在一个实施场景中,脚本文件还可以调用第三流程引擎接口,以使第三流程引擎直接播放对应响应话术的音频。例如,根据具体的语音交互场景所涉及的业务流程较少,可以提前将在业务流程中所涉及到的话术录制为音频,并存储在智能语音交互装置中,则上述步骤s23中,可以调用第二流程引擎接口获取文本信息的对应响应话术的id(identitydocument,身份识别号),本步骤s24中再根据该id从智能语音交互装置的存储器中调取并播放音频;或者,还可以根据具体的语音交互场景所涉及的业务流程较多,可以提前将业务流程中所涉及的话术录制为音频,并存储于与智能语音交互装置通信连接的服务器上,则上述步骤s23中,可以调用第二流程引擎接口通过第二流程引擎接口获取文本信息的对应响应话术的id(identitydocument,身份识别号),本步骤s24中再根据该id向服务器请求获取对应的音频,当从服务器下载到对应的音频后,再进行播放。本实施例在此不做具体限制。
区别于上述任意实施例,本实施例中脚本文件调用第一流程引擎接口,通过第一流程引擎对用户输入的语音信息进行识别,转换为文本信息,从而调用第二流程引擎接口,通过第二流程引擎接口获取文本信息的对应响应话术,并调用第三流程引擎接口通过第三流程引擎播放对应响应话术,从而可以实现根据用户输入的语音信息,调用各类流程引擎接口获取到对应的响应话术,进而实现与用户的语音交互。
请参阅图3,图3是本申请智能语音交互方法又一实施例的流程示意图。其中,图3为图1所示的智能语音交互方法另一具体实施例的流程示意图。具体而言,可以包括如下步骤:
步骤s31:调用第一流程引擎接口,通过第一流程引擎接口获取用户输入的语音信息。
具体请参阅上述步骤s21。
步骤s32:调用第一流程引擎接口,通过第一流程引擎对语音信息进行识别,并转换为文本信息。
具体请参阅上述步骤s22。
步骤s33:调用第二流程引擎接口,通过第二流程引擎接口获取文本信息的对应响应话术。
具体请参阅上述步骤s23。
步骤s34:调用第三流程引擎接口,通过第三流程引擎播放文本信息的对应响应话术。
具体请参阅上述步骤s24。
步骤s35:重新执行步骤s31以及后续步骤。
脚本文件在调用第三流程引擎接口通过第三流程引擎播放文本信息的对应响应话术之后,还可以重新执行调用第一流程引擎接口通过第一流程引擎接口获取用户输入的语音信息的步骤以及后续步骤,从而在播放完对应响应话术之后,获取用户对于该话术的反馈,进而开始新一轮的语音交互。在一个实施场景中,当智能语音交互支持用户打断时,还可以在步骤s34执行的过程中,调用第一流程引擎接口通过第一流程引擎接口获取用户输入的语音信息,本实施例在此不做具体限制。
区别于上述任意实施例,本实施例中,在本轮语音交互结束后,继续获取用户输入的语音信息,从而开启下一轮语音交互,进而使用户在多轮语音交互的过程中获取到想要了解的期望信息。
请参阅图4,图4是基于本申请智能语音交互方法的智能语音交互系统一实施例的框架示意图。如图4所示,本实施例中的智能语音交互系统可以基于freeswitch设计,也可以基于其他软交换软件设计,例如asterisk等。关于freeswitch、asterisk的相关技术标准为本领域的现有技术,本申请在此不做赘述。本实施例中的智能语音交互系统可以包括上述实施例中所述的脚本文件、第一流程引擎、第二流程引擎、第三流程引擎。其中,脚本文件可以是基于lua、python等编程语言所编写的,本实施例在此不做具体限制。第一流程引擎为自动语音识别(automaticspeechrecognition,asr)系统,主要接收、识别用户输入的语音信息,并将语音信息转换为文本信息;第二流程引擎主要用于根据文本信息获取对应的响应话术;第三流程引擎为语音合成(texttospeech,tts)系统,主要用于播放对应的响应话术。在一个实施场景中,智能语音交互系统还可以包括第四流程引擎,主要用于在语音交互开始时,生成与交互场景对应的欢迎话术。本实施例在此不做具体限制。
请继续参阅图4,脚本文件包括第一流程引擎接口调用模块、第二流程引擎接口调用模块、第三流程引擎接口调用模块,其中,第一流程引擎接口调用模块与第一流程引擎连接,第二流程引擎接口调用模块与第二流程引擎连接,第三流程引擎接口调用模块与第三流程引擎连接。本实施例中所指的连接为通信连接,从而模块之间可以传递相关信息。此外,脚本文件还包括语音输入模块和语音输出模块。具体地,智能语音交互系统工作时,脚本文件的各个模块之间,以及各个模块与流程引擎之间的交互可以包括:
当语音交互被触发时,例如客服电话被接通等,第四流程引擎(未图示)产生欢迎话术,脚本文件的第四流引擎接口调用模块(未图示)将欢迎话术通过语音输出模块传递至第三流程引擎接口调用模块,从而通过第三流程引擎接口调用模块调用第三引擎播放该欢迎话术;
第一流程引擎获取用户输入的语音信息,脚本文件通过第一流程引擎接口调用模块获取该语音信息,并继续通过第一流程引擎接口调用模块获取第一流程引擎对语音信息的识别信息,从而通过语音输入模块将该识别信息传递至第二流程引擎接口调用模块,直至传递至第二流程引擎;
第二流程引擎获取识别信息的对应响应事件,例如:当对应响应事件为挂机、要求用户按键确认等时,则将对应响应事件传递至其他操作模块,从而执行对应响应事件;或者,当对应响应事件为对应响应话术时,则将对应响应话术通过第二流程引擎接口调用模块传递至语音输出模块,并通过语音输出模块传递至第三流程引擎接口调用模块,直至传递至第三流程引擎,以使得第三流程引擎播放该对应响应话术。
在第三流程引擎播放完对应响应话术后,或者当智能语音交互系统支持用户打断时,在第三流程引擎播放对应响应话术过程中,脚本文件重新执行调用第一流程引擎接口获取用户输入的语音信息的步骤以及后续步骤。
由此可见,区别于现有技术,本申请中脚本文件仅仅只负责信息的输入/输出,以及各类接口的调用,大大提升了对于多种不同对话场景的复用性,且大大缩减脚本文件的体量,提升可维护性,进而有利于推进业务快速落地、降低维护门槛、增强系统稳定性。
请参阅图5,图5是本申请智能语音交互装置50一实施例的框架示意图。具体而言,智能语音交互装置50包括获取模块51、识别模块52、匹配模块53和执行模块54,获取模块51用于调用第一流程引擎接口通过第一流程引擎接口获取用户输入的语音信息,识别模块52用于调用第一流程引擎接口通过第一流程引擎对语音信息进行识别,得到语音信息的识别信息,匹配模块53用于调用第二流程引擎接口通过第二流程引擎接口获取识别信息的对应响应事件,执行模块54用于执行识别信息的对应响应事件。
上述方案,脚本文件调用第一流程引擎接口通过第一流程引擎接口获取用户输入的语音信息,并调用第一流程引擎接口通过第一流程引擎对语音信息进行识别,得到语音信息的识别信息,接着调用第二流程引擎接口通过第二流程引擎接口获取识别信息的对应响应事件,并执行识别信息的对应响应事件,从而将对用户输入的语音信息进行识别,以及识别信息的对应响应事件均交由相应的流程引擎负责,进而无需对对话场景中的业务流程进行管理,只需负责信息的输入/输出,以及各类接口的调用即可,进而大大缩减脚本文件的体量,提升可维护性;此外,由于脚本文件只负责信息的输入/输出,以及各类接口的调用,进而大大提升了对于多种不同对话场景的复用性。
在一些实施例中,识别模块52用于调用第一流程引擎接口通过第一流程引擎对语音信息进行识别,并转换为文本信息,匹配模块53用于调用第二流程引擎接口通过第二流程引擎接口获取文本信息的对应响应话术,执行模块54用于调用第三流程引擎接口通过第三流程引擎播放文本信息的对应响应话术。
在一些实施例中,智能语音交互装置50还包括循环控制模块,用于在执行模块54调用第三流程引擎接口通过第三流程引擎播放文本信息的对应响应话术之后,控制获取模块51、识别模块52、匹配模块53和执行模块54重新执行调用第一流程引擎接口通过第一流程引擎接口获取到用户输入的语音信息以及后续步骤。
在一些实施例中,获取模块51用于调用自动语音识别流程引擎接口通过自动语音识别流程引擎接口获取语音信息,识别模块52用于调用自动语音识别流程引擎接口通过自动语音识别流程引擎对语音信息进行识别,得到语音信息的识别信息。
在一些实施例中,执行模块54用于调用语音合成系统通过语音合成系统播放识别信息的对应响应话术。
在一些实施例中,执行模块54还用于挂断本次语音交互。
在一些实施例中,获取模块51还用于调用第四流程引擎接口通过第四流程引擎接口获取欢迎话术,并播放欢迎话术。
区别于现有技术,本申请脚本文件调用第一流程引擎接口通过第一流程引擎接口对用户输入的语音信息进行识别,转换为文本信息,从而调用第二流程引擎接口通过第二流程引擎接口获取文本信息的对应响应话术,并调用第三流程引擎接口通过第三流程引擎播放对应响应话术,从而可以实现根据用户输入的语音信息,调用各类流程引擎接口获取到对应响应话术,进而实现与用户的语音交互。
此外,在本轮语音交互结束后,继续获取用户输入的语音信息,从而开启下一轮语音交互,进而使用户在多轮语音交互的过程中获取到想要了解的期望信息。
请参阅图6,图6是本申请智能语音交互设备60一实施例的框架示意图。智能语音交互设备60包括相互耦接的存储器61和处理器62,处理器62用于执行存储器61存储的程序指令,以实现上述任一智能语音交互方法实施例中的步骤。
具体而言,处理器62用于控制其自身以及存储器61以实现上述任一智能语音交互方法实施例中的步骤。处理器62还可以称为cpu(centralprocessingunit,中央处理单元)。处理器62可能是一种集成电路芯片,具有信号的处理能力。处理器62还可以是通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现场可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。另外,处理器62可以由多个集成电路芯片共同实现。
上述方案,脚本文件仅仅只负责信息的输入/输出,以及各类接口的调用,大大提升了对于多种不同对话场景的复用性,且大大缩减脚本文件的体量,提升可维护性,进而有利于推进业务快速落地、降低维护门槛、增强系统稳定性。
请参阅图7,图7是本申请存储装置70一实施例的框架示意图。存储装置70存储有能够被处理器运行的程序指令71,程序指令71用于实现上述任一实施例中的智能语音交互方法。
上述方案,脚本文件仅仅只负责信息的输入/输出,以及各类接口的调用,大大提升了对于多种不同对话场景的复用性,且大大缩减脚本文件的体量,提升可维护性,进而有利于推进业务快速落地、降低维护门槛、增强系统稳定性。
在本申请所提供的几个实施例中,应该理解到,所揭露的方法和装置,可以通过其它的方式实现。例如,以上所描述的装置实施方式仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性、机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施方式方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施方式方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。
起点商标作为专业知识产权交易平台,可以帮助大家解决很多问题,如果大家想要了解更多知产交易信息请点击 【在线咨询】或添加微信 【19522093243】与客服一对一沟通,为大家解决相关问题。
此文章来源于网络,如有侵权,请联系删除