一种机器人的语音交互处理方法及机器人与流程

文档序号:23944748发布日期:2021-02-16 18:42阅读:145来源:国知局
一种机器人的语音交互处理方法及机器人与流程

本申请实施例涉及金融科技(Fintech)领域,尤其涉及一种机器人的语音交互处理方法及机器人。



背景技术:

随着计算机技术的发展,越来越多的技术(例如:大数据或云计算)应用在金融领域,传统金融业正在逐步向金融科技转变。目前,金融领域对机器人的使用颇为广泛,比如通过机器人,可以实现金融产品推广、款项催收等目的。机器人的实现逻辑一般是通过下述一系列步骤进行的:

(1)、设计整个语音交互的对话流程,并定义用户说话的意图与机器人响应话术的映射关系。

(2)、通过VAD(Voice Activity Detection,语音活动检测)截取用户说话的声音;其中,VAD又称语音端点检测,语音边界检测,其目的是从声音信号流里识别和消除长时间的静音,截取出人声的部分。

(3)、通过ASR(Automatic Speech Recognition,自动语音识别)将用户说话的声音转换成文本;其中,ASR是一种将人的语音转换为文本的技术,常用于智能语音交互中,将人说话的声音转换成说话内容的文本。

(4)、通过NLU(Natural Language Understanding,自然语音理解)将用户说话内容的文本转换成意图;其中,NLU的目的是让机器像人一样,具备正常人的语言理解能力,实现用自然语音进行人机交互。

(5)、从语音交互流程图中找到本次识别出的意图对应的机器人响应。

(6)、使用TTS(Text To Speech,从文本到语音)技术将机器人的响应话术转换成语音并播报;其中,TTS是一种将文本转换成语音的技术。

(7)、重复步骤(2)-(6)进行下一轮的人机交互。

如图1所示,为现有技术提供的一种对还款进行设计的语音交互流程图的示意图。其中,机器人对于用户对问题的回复,可以通过上下文记录方式,对用户的意图进行记录,从而便于机器人后期可以基于本次对用户的记录信息来对用户进行跟进和其他相关问题的询问。

然而,上述语音交互流程的过程繁琐且耦合性强,难以维护且扩展性和复用性差。

申请内容

本申请实施例提供一种机器人的语音交互处理方法及机器人,用以解决机器人在业务处理过程中过程繁琐且耦合性强、难以维护且扩展性和复用性差的问题。

第一方面,本申请实施例提供一种机器人的语音交互处理方法,该方法包括:机器人执行语音交互业务的子流程并根据执行结果产生事件;所述机器人在确定所述事件为订阅事件时,记录所述事件;所述机器人从所述语音交互业务的主流程中确定所述事件对应的下一子流程,并返回执行语音交互业务的子流程的步骤,直至所述语音交互业务执行结束;所述机器人将所述事件发布给订阅消费方。

基于该方案,机器人在对语音交互业务的子流程的处理过程中,可以根据执行结果产生事件,进一步的若机器人确定所产生的事件为订阅事件时,可对该事件进行记录,接着机器人可从该语音交互业务的主流程中确定对应于该事件的下一子流程,并继续执行该下一子流程,如此循环直至机器人对该语音交互业务执行完毕,在对语音交互业务执行的过程中,机器人可将订阅事件的实际记录值发送至订阅消费方。该方式中,一方面通过事件驱动的方式让机器人执行各种语音交互业务,可以解决背景技术中的语音交互流程过程繁琐、耦合性强、难以维护且扩展性、复用性差的问题;另一方面机器人通过对语音交互过程中产生的事件进行判断,若确定是订阅事件,则对事件进行记录并发送给订阅消费方,如此的话,可以实现机器人所在系统的事件可以同步更新到其他系统,可实现资源共享。

在一种可能实现的方法中,所述机器人执行语音交互子流程并根据执行结果产生事件,包括:所述机器人中的节点处理单元执行语音交互业务的子流程并根据执行结果产生事件;所述节点处理单元将所述事件发送至所述机器人的事件处理单元;所述机器人在确定所述事件为订阅事件时,记录所述事件,包括:所述事件处理单元在确定所述事件为订阅事件时,记录所述事件;所述机器人从所述语音交互业务的主流程中确定所述事件对应的下一子流程,包括:所述事件处理单元从所述语音交互业务的主流程中确定所述事件对应的下一子流程;所述机器人将所述事件发布给订阅消费方,包括:所述事件处理单元将所述事件通过订阅接口发送给订阅消费方。

基于该方案,在机器人内部,通过划分多个处理单元,每个处理单元分别用于执行一定的功能,如此的话,可以解决背景技术中的语音交互流程过程繁琐、耦合性强、难以维护且扩展性、复用性差的问题,如通过机器人中节点处理单元执行语音交互业务中的子流程并根据执行结果产生事件并将产生的事件发送至事件处理单元,由事件处理单元对事件做进一步处理,包括在事件处理单元确定事件属于订阅事件时,对事件进行记录并发送至订阅消费方,实现资源共享,以及事件处理单元还可以用于从语音交互业务的主流程中确定事件对应的下一子流程。

在一种可能实现的方法中,所述节点处理单元将所述事件发送至所述机器人的事件处理单元,包括:所述节点处理单元将所述事件发送至所述机器人的分发处理单元;所述分发处理单元根据所述事件的事件级别,将所述事件发送至所述事件处理单元中与所述事件的级别对应的子事件处理单元。

基于该方案,在节点处理单元将产生的事件向机器人的事件处理单元发送的过程中,主要是通过节点处理单元将事件发送至机器人的分发处理单元,接着由分发处理单元根据该事件的级别,将该事件向对应于该事件所在级别的子事件处理单元进行发送,从而由对应于该事件级别的子事件处理单元对该事件进行处理,该方式中通过设置分发处理单元,由分发处理单元对事件的级别进行把控,并在确定事件的级别后将事件分发至对应的子事件处理单元,由子事件处理单元对事件进行处理。

在一种可能实现的方法中,所述子流程中包括至少一个节点;所述节点处理单元执行语音交互业务的子流程,包括:所述节点处理单元自所述子流程的开始节点执行,直至所述子流程执行结束;其中,针对任一节点,所述节点处理单元确定所述节点的节点属性,并按照所述节点属性定义的处理要求进行执行。

基于该方案,对于语音交互业务中的子流程,在子流程包括至少一个节点时,节点处理单元可从子流程的开始节点予以执行,包括确定该节点的节点属性,在确定出节点属性后,将按照节点属性定义的处理要求执行,直至全部的节点均被执行结束。该方式中针对不同的节点所具有的属性,预先定义出它的处理要求,从而在节点处理单元对节点进行处理时,可依据该节点的属性快速确定出用于执行它的处理要求,如此的话,通过扩充节点的方式,可很大程度上满足各种业务需求。

在一种可能实现的方法中,所述事件按照如下方式记录,包括:记录事件的报文头和事件的报文体;其中,报文头包括事件标识、事件类型;报文体包括:主流程标识、子流程标识及节点标识。

基于该方案,通过采用事件的报文头和事件的报文体的方式对事件进行记录,可实现全面地对一个事件进行描述。

在一种可能实现的方法中,根据各事件确定各节点在预设评价指标下的指标值;根据各节点的指标值对所述主流程进行调整。

基于该方案,在语音交互业务中,由于主流程在设置过程中会发生设置不太合理的地方,需要对该些不太合理的地方进行改进,以让语音交互业务在用户侧起到良好的反响,其中,根据各事件确定各个节点在预设评价指标下的指标值,通过对指标值的分析,确定可对主流程进行调整的地方,如此可以对主流程进行调整,使得语音交互业务的效果最大化。

在一种可能实现的方法中,所述预设评价指标包括节点触达率、节点挂断率和节点重试度;所述根据各节点的指标值对所述主流程进行调整,包括:根据各节点的节点触达率、各节点的节点挂断率和各节点的节点重试度对所述主流程进行调整。

基于该方案,在使用指标值对主流程进行调整的过程中,可用到的评价指标包括节点触达率、节点挂断率和节点重试度,因此针对一个语音交互业务,通过获取它的各个节点的节点触达率、各节点的节点挂断率和各节点的节点重试度,则可以将其作为调整主流程的目的,使得语音交互业务的效果最大化。

在一种可能实现的方法中,所述根据各节点的节点触达率、各节点的节点挂断率和各节点的节点重试度对所述主流程进行调整,包括:针对所述主流程中的第一节点,若确定所述第一节点的节点触达率大于节点触达率阈值,则对所述第一节点进行保留,得到第一节点集合;针对所述第一节点集合中的第二节点,若确定所述第二节点的节点挂断率大于节点挂断率阈值,则对所述第二节点的语音交互业务的内容进行调整;和/或针对所述第一节点集合中的第三节点,若确定所述第三节点的节点重试度大于节点重试度阈值,则对所述第三节点的语音交互业务的内容进行调整。

基于该方案,由于节点触达率用于表示预设时长内,经过特定节点的通话数目占该预设时长内接通通话总数的百分比,从而针对主流程中的任一个节点(即第一节点),通过比较该节点的节点触达率与节点触达率阈值的大小,确定是否需要对主流程中的该节点进行保留,若节点触达率大于节点触达率阈值时,则说明该节点在整个语音交互业务的主流中具有较为重要的作用,可对其进行保留,而可以忽略掉节点触达率不大于节点触达率阈值的节点,并将主流程中保留下来的节点形成节点集合(即第一节点集合);进一步的,还可以对节点集合中的各节点做出调整,如可以针对节点集合中的任一个节点(即第二节点),通过比较该节点的节点挂断率和节点挂断率阈值的大小,并对节点挂断率大于节点挂断率阈值的节点所对应的语音交互业务的内容进行调整;如还可以针对节点集合中的任一个节点(即第三节点),通过比较该节点的节点重试度和节点重试度阈值的大小,并对节点重试度大于节点重试度阈值的节点对应的语音交互业务的内容进行调整。

第二方面,本申请实施例提供一种机器人,该机器人包括:处理器,用于执行语音交互业务的子流程并根据执行结果产生事件;存储器,用于在确定所述事件为订阅事件时,记录所述事件;所述处理器,还用于从所述语音交互业务的主流程中确定所述事件对应的下一子流程,并返回执行语音交互业务的子流程的步骤,直至所述语音交互业务执行结束;所述处理器,还用于将所述事件发布给订阅消费方。

基于该方案,机器人在对语音交互业务的子流程的处理过程中,可以根据执行结果产生事件,进一步的若机器人确定所产生的事件为订阅事件时,可对该事件进行记录,接着机器人可从该语音交互业务的主流程中确定对应于该事件的下一子流程,并继续执行该下一子流程,如此循环直至机器人对该语音交互业务执行完毕,在对语音交互业务执行的过程中,机器人可将订阅事件的实际记录值发送至订阅消费方。该方式中,一方面通过事件驱动的方式让机器人执行各种语音交互业务,可以解决背景技术中的语音交互流程过程繁琐、耦合性强、难以维护且扩展性、复用性差的问题;另一方面机器人通过对语音交互过程中产生的事件进行判断,若确定是订阅事件,则对事件进行记录并发送给订阅消费方,如此的话,可以实现机器人所在系统的事件可以同步更新到其他系统,可实现资源共享。

第三方面,本申请实施例提供了一种计算设备,包括:

存储器,用于存储程序指令;

处理器,用于调用所述存储器中存储的程序指令,按照获得的程序执行如第一方面任一所述的方法。

第四方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行如第一方面任一所述的方法。

附图说明

为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为现有技术提供的一种对还款进行设计的语音交互流程图的示意图;

图2为本申请实施例提供的一种机器人的系统;

图3为本申请实施例提供的另一种机器人的系统;

图4为本申请实施例提供的一种机器人的语音交互处理方法;

图5为本申请实施例提供的一种业务流程时序图;

图6为本申请实施例提供的一种外呼机器人语音交互的系统架构;

图7为本申请实施例提供的一种外呼机器人对语音交互业务的处理时序图;

图8为本申请实施例提供的一种机器人。

具体实施方式

为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。

如图2所示,为本申请实施例提供的一种机器人的系统,其中,该机器人包括开放接口210、事件处理单元220、节点处理单元230、分发处理单元240、消息队列250、流程上下文260、知识库270、管理页面280和事件注册290。

其中,开放接口210是本申请的机器人系统将事件驱动的核心模块的能力对外开放的接口。换句话说,本申请的机器人系统不单单是一个语音交互系统,更是一个语音交互平台,第三方可以使用平台的开放接口进行二次开发,定制化自己的语音交互系统。开放接口210可支持事件的注册和订阅,事件的生产,自定义事件处理单元,流程维护,话术维护,意图维护等等功能。

事件处理单元220负责处理产生的事件,其又可分为多个子事件处理单元,如又可分为流程事件处理单元2201和系统事件处理单元2202。

流程事件处理单元2201管理语音交互流程中使用到的事件,从主流程图中找到事件对应的下一个操作。例如,针对图1中,在收到确认本人事件后,主流程图中定义了此事件的下一个操作是传达信息,并跳转到传达信息的子流程当中。

系统事件处理单元2202管理系统类型的事件,其中,系统类型的事件可以是需要本系统处理的事件或者需要其他系统来处理的事件。

节点处理单元230用于确定语音交互业务的子流程中的各个节点的节点属性,并按照所确定出的节点属性定义的处理要求进行执行。其中,节点是子流程上一个最小单元,主要负责处理流程中的特定任务,所有节点的实现都继承接口,统一由节点处理单元230管理。根据不同的属性,可以设置不同的节点,作为示例,本申请实施例中可将节点划分为普通节点、动作节点、按键节点、转接节点。

其中,普通节点可以包括以下6项功能:

1、播放节点上定义的话术。

2、播放话术待客户回答后进行意图识别,调用NLU系统的意图识别服务,识别出意图的分支,根据意图的分支定位到下一个节点。

3、话术的播放定义。通过在普通节点上配置多种类型的话术,可实现某个节点上播放的话术具有多样性的效果。可选的,话术类型分为以下3种:

(1)、顺序播放。按照进入同一节点的次数、决定播放哪一个话术,例如,第一次播放节点上的第一个话术,第二次播放节点上的第二个话术。具体实现为在对话流程过程中,记录节点的跳转轨迹,每次播放话术前统计本节点在轨迹上的出现次数,记为N,话术的总数记为S,那么播放第(N%S)个话术。

(2)、按时间播放。选择按时间播放,那么每个话术都定义一个时间段,当播放话术时,根据当前系统时间找到在对应时间段内的话术。如果没找到符合条件的话术,则播放第一个话术。

(3)、自定义条件播放。在定义话术的时候,可以设置话术的条件,每次播放话术,确定符合条件的话术。系统使用JAVA的MVEL表达式来实现自定义条件话术,在定义话术的时候使用MVEL表达式,例如系统中存在客户风险码CUST_RISK_CODE,针对高风险客户,播放严厉的话术,那么可以设置条件CUST_RISK_CODE==’HIGH’。系统会遍历所有话术的条件,通过MEVL引擎执行表达式,如果输出结果为true,则认为满足条件。

4、意图识别槽位记录。槽位用于表示在语义识别中提取出来的实体信息,例如在多产品营销场景下,用户询问产品A的价格,则产品A就是一个实体。那么调用NLU模块的识别服务后,节点支持将从NLU模块的识别服务提取的槽位记录到流程的上下文中。

5、上下文记录。上下文是流程中保存下来的有用的信息。例如,客户承诺还款,那么节点支持记录承诺还款标签。上下文的记录同样使用了MEVL表达式,在节点上配置上下文表达式为IS_PROMISE=true,系统在节点结束的时候,执行节点上的上下文表达式,将表达式中的变量保存在流程上下文中,并且序列化后持久化到数据库。上下文支持在话术的自定义条件中使用,可保证在对话过程中根据客户的回答信息播放不同的话术。

6、意向事件记录。意向事件为系统定义的客户的意向级别,每个标签对应于意向级别,级别越高,说明客户的意向越高。可以在节点上配置意向标签,当节点结束时记录其意向标签。

按键节点与普通节点类似,同样被分为两部分,分别是播放节点上定义的话术和根据客户的按键内容确定跳转到下一个节点。按键节点的话术配置与普通节点的一致,它与普通节点不同之处在于:普通节点是根据客户说话的意图来驱动流程的跳转,而按键节点是根据客户输入按键内容来驱动流程的跳转。按键节点目前支持两种功能:

(1)、IVR(Interactive Voice Response,互动式语音应答)导航功能。例如确认请按1,重听请按2。系统使用MVEL表达式来实现导航功能,在收到运营商返回的按键内容后,将按键结果记录到上下文变量key中,按键节点下一分支中配置表达式条件,例如key==1是确认分支,key==2是重听分支,系统会遍历所有分支,使用MVEL引擎执行表达式,结果为true则选择此分支作为下一步的跳转。

(2)、按键内容获取功能。例如询问客户输入新的手机号,在客户输入完新的手机号之后,将该新的手机号保存到流程的上下文中。

动作节点包括了话术播放和执行动作两个工作,其中可以支持不配置话术,例如,在子流程结束前,通过动作节点跳转到其他子流程,这时候可以不配置动作节点的话术。本申请实施例的动作节点支持以下动作的执行:

分发处理单元240负责接收语音交互过程中产生的事件,并且将事件发送到指定的系统,或者流程进行处理。对于流程级别的事件,将事件分发到流程事件处理单元2201;对于系统级别的事件,将事件分发到系统事件处理单元2202。

一方面,本申请的机器人系统与其他系统可使用消息队列250进行通信;另一方面,事件的分发、其他系统订阅事件和接收事件也可以使用消息队列完成事件的信息交互。

流程上下文260用于记录语音交互过程中的上下文信息。

知识库270包括了主流程、子流程、话术库、问题库、意图库等内容,可以通过开放接口210和/或管理页面280对知识库270进行维护。

事件注册290可分为两部分,一是事件的关注者订阅自己关注的事件,二是事件的生产者注册自己产生的事件。事件注册290管理语音交互事件的清单,以及每一个种类的事件的订阅者。

通过以上分析,本申请的机器人系统也可以通过图3进行表示。如图3所示,为本申请实施例提供的另一种机器人的系统,包括开放接口310、处理器320、存储器330和管理页面340。其中,开放接口310与图2中所示的开放接口210的功能相同,不再赘述;管理页面340与图2中所示的管理页面280的功能相同,不再赘述。处理器320中可以包括图2中所示的事件处理单元220、节点处理单元230和分发处理单元240,在实际应用过程中,可以为每一个处理单元分别设置一个处理器,每一个处理器只用于执行一种功能,当然也可以在同一个处理器上同时设置可实现事件处理、节点处理和分发处理的三种功能,本申请不做具体限定。存储器330可以包括图2中所示的消息队列250、流程上下文260、知识库270和事件注册290。

基于图2所示的机器人系统,本申请实施例提供一种机器人的语音交互处理方法,如图4所示,该方法包括:

步骤401,机器人执行语音交互业务的子流程并根据执行结果产生事件。

在本步骤中,语音交互业务,可通过一系列的主流程组成,其中,针对任一主流程,它又可以对应一系列的子流程。从而,在处理语音交互业务的过程中,通过执行其中的子流程,从而逐步完成语音交互业务。在机器人执行子流程的过程中,可以根据执行结果产生事件。

步骤402,所述机器人在确定所述事件为订阅事件时,记录所述事件。

在本步骤中,为了可以将机器人关于子流程处理结果产生的事件在足够大的范围内发挥效果,本申请通过判定事件是否为订阅事件,如果确定属于订阅事件的范畴,则记录所述事件。

步骤403,所述机器人从所述语音交互业务的主流程中确定所述事件对应的下一子流程,并返回执行语音交互业务的子流程的步骤,直至所述语音交互业务执行结束。

在本步骤中,机器人在生产一个事件后,可通过语音交互业务的主流程确定该事件对应的下一个子流程,在确定下一子流程后,对下一子流程执行如步骤401中的子流程的操作,如此推进下去,直到语音交互业务执行结束。

步骤404,所述机器人将所述事件发布给订阅消费方。

在本步骤中,在确定子流程产生的事件属于订阅事件并对其进行记录后,则可以将事件向订阅消费方进行发布,从而订阅消费方可以获取到事件,在一定层面上可实现资源共享。

基于该方案,机器人在对语音交互业务的子流程的处理过程中,可以根据执行结果产生事件,进一步的若机器人确定所产生的事件为订阅事件时,可对该事件进行记录,接着机器人可从该语音交互业务的主流程中确定对应于该事件的下一子流程,并继续执行该下一子流程,如此循环直至机器人对该语音交互业务执行完毕,在对语音交互业务执行的过程中,机器人可将订阅事件的实际记录值发送至订阅消费方。该方式中,一方面通过事件驱动的方式让机器人执行各种语音交互业务,可以解决背景技术中的语音交互流程过程繁琐、耦合性强、难以维护且扩展性、复用性差的问题;另一方面机器人通过对语音交互过程中产生的事件进行判断,若确定是订阅事件,则对事件进行记录并发送给订阅消费方,如此的话,可以实现机器人所在系统的事件可以同步更新到其他系统,可实现资源共享。

以下将结合示例分别对上述步骤进行详细说明。

在上述步骤401的一个实施中,可通过机器人中的节点处理单元执行语音交互业务的子流程并根据执行结果产生事件,接着节点处理单元可通过向机器人中的分发处理单元发送该事件,随后,分发处理单元可根据事件的级别,将该事件发送至与该事件级别对应的子事件处理单元。

其中,事件的级别可包括系统级别和流程级别。因此,若确定事件属于系统级别的事件,则分发处理单元可将事件发送至系统级别的事件处理单元;若确定事件属于流程级别的事件,则分发处理单元可将事件发送至流程级别的事件处理单元。

需要说明的是,流程级别的事件只能在当前交互过程中生效,一般交互过程中通过流程级别的事件来驱动跳转到流程的下一节点。系统级别的事件是在系统中生效,系统级别的事件也可以作为系统之间交互的信息载体,系统事件可以转发到其他业务系统进行处理。例如,在营销场景下,可以在识别到客户说“请把你们产品的信息发个短息给我,我来了解下”的意图后,生产一个系统级别的发短信事件,此事件可以转发到通知平台系统处理。

可选的,子流程中包括至少一个节点,则节点处理单元对子流程的处理过程可包括:自该子流程的开始节点予以执行,直至对该子流程执行结束。在节点处理单元对节点进行执行时,节点处理单元通过确定节点的节点属性,并按照节点属性定义的处理要求进行执行。作为一种示例,本申请中不同属性的节点可以包括普通节点、按键节点、动作节点和转接节点。

例如,可通过下述的机器人涉及到的语音交互业务的例子来说明子流程中是如何产生事件的。其中,设该语音交互业务的内容包括:

客户接听电话后,机器人询问是否客户认识张三先生,客户回答认识,机器人识别出客户意图并接着问“我有紧要事情要联系张三先生,但是他电话为空号,请输入张三先生新的手机号码,按井号键结束”,客户输入手机号码之后,机器人回复“非常感谢”,最后挂机。

上述的语音交互业务可以通过图5所示的业务流程时序图进行描述。如图5所示,为本申请实施例提供的一种业务流程时序图。参考图5,对上述语音交互业务的处理流程的过程如下:

1、用户接听电话之后,事件分发处理器(也即分发处理单元)会收到接听事件,并在系统内部生产一个开始对话流程的事件,对应的事件处理器(也即事件处理单元)会初始化对话流程,找到流程中的开始节点,然后跳转到对应的开始节点。

2、通过节点处理器(也即节点处理单元)判断开始节点为普通节点,那么节点处理器就调用普通节点进行处理。普通节点首先播放“是否认识张三先生”,等用户回答后,进行意图识别。

3、当普通节点播放完话术并且识别出用户意图后,根据意图结果找到下一个节点,这时候普通节点会生成一个节点跳转事件,并将事件交给事件分发处理器处理,节点跳转事件处理器会驱动语音交互跳转到下一个节点。

4、下一个节点为按键节点,按键节点首先播放“我有紧要事情要联系张三先生,但是他电话为空号,请输入张三先生新的手机号码,按井号键结束”,然后等待用户输入完手机号码之后,跳转下一节点。

5、当用户输入完手机号码之后,需要播放最后一个话术后结束通话,此时用到动作节点。

可选的,所述事件按照如下方式记录,包括:记录事件的报文头和事件的报文体;其中,报文头包括事件标识、事件类型;报文体包括:主流程标识、子流程标识及节点标识。

例如,对上述例子中所生产的开始对话流程的事件或者节点跳转事件,是通过事件的报文头以及事件的报文体进行记录的。具体的,事件报文类似http报文格式,可分为报文头和报文体,报文头保存系统的通用信息和流程的通用信息,报文体保存事件的定制信息。报文中的任一行格式可采用键值对的形式。事件报文格式如下:

报文头:

报文体:

其中,事件类型可分为单播和广播。单播用于将事件转发给关注此事件的其他一个系统;广播用于将事件转发给所有关注此事件的系统。

在上述步骤402的一个实施中,若机器人中的事件处理单元在确定事件为订阅事件时,则由事件处理单元对事件进行记录。

在上述步骤403的一个实施中,通过机器人中的事件处理单元,可从语音交互业务的主流程中确定事件对应的下一子流程。

在上述步骤404的一个实施中,机器人中事件处理单元可通过订阅接口将记录的订阅事件发送给订阅消费方。

对于一个语音交互业务的处理过程,其中可产生很多事件。因此,关于某一语音交互业务,在任一次的语音交互流程结束之后,对本次的语音交互流程进行事件分析,并从中确定各节点在预设评价指标下的指标值,然后可根据各节点的指标值对语音交互业务的主流程进行调整。

可选的,预设评价指标包括节点触达率、节点挂断率和节点重试度。

其中,节点触达率是通过单节点通话数进行确定的。单节点通话数是指整个语音交互流程中有经过特定节点的通话的总数。机器人系统在语音交互的过程中,会记录交互的节点轨迹。通话结束后,解析节点轨迹,遍历轨迹上的每一个节点,置于节点集合中并保证节点不重复(因为一通电话中某个节点可能重复跳转,这时候只算一次),然后遍历节点集合,对应的节点通话数加上1。因此,设单节点通话数为N,接通通话数为M,那么节点触达率为N/M。

节点挂断率是通过节点挂断量确定的。节点挂断量是指在接通的通话中,客户主动挂断时语音交互流程中所处节点对应的通话数量。机器人系统在收到客户主动挂机的事件时,获取当前节点编号,记录此节点为挂断节点。系统每天统计挂断节点的总数。因此,设节点挂断量为N,接通通话数为M,那么节点触达率为N/M。

节点重试度是指普通节点在未得到客户的回答或者客户回答之后未识别到客户意图的情况下,进行节点的话术重播,进行新一轮的交互。假设节点第i次出现重复时的重复次数为xi,那么节点的权重为重复次数的平方再求和,即节点的重试权重为假设每个节点的重试权重为wi,则节点的重试度为节点的重试权重平方除以所有节点的重试权重的平方和再乘以100,即节点重试度为

关于多种语音交互业务中的任一语音交互业务,在该语音交互业务结束之后,通过对该语音交互业务中的各个节点进行分析,分析的内容可以包括:比如确定本次的语音交互业务中具体涉及到了哪些节点,又比如若本次的语音交互业务是客户主动结束的,那么需要确定用户是在哪个节点上挂断了电话,再比如关于本次的语音交互业务,用户在哪个/些节点上发生了需要机器人多次进行问题重复表述的行为,然后基于这种分析模式,对该语音交互业务进行一定时长的观察,如对最近一个月内的该语音交互业务都执行上面的分析模式,从而得出关于该语音交互业务中的各个节点的节点触达率、节点挂断率和节点重试度。

可选的,所述根据各节点的节点触达率、各节点的节点挂断率和各节点的节点重试度对所述主流程进行调整,包括:针对所述主流程中的第一节点,若确定所述第一节点的节点触达率大于节点触达率阈值,则对所述第一节点进行保留,得到第一节点集合;针对所述第一节点集合中的第二节点,若确定所述第二节点的节点挂断率大于节点挂断率阈值,则对所述第二节点的语音交互业务的内容进行调整;和/或针对所述第一节点集合中的第三节点,若确定所述第三节点的节点重试度大于节点重试度阈值,则对所述第三节点的语音交互业务的内容进行调整。

例如,针对某一语音交互业务,通过确定它在一段预设时长内的各节点的触达率、各节点的挂断率和各节点的重试度,可对该语音交互业务进行调整。调整的方式可包括:

方式1、对节点触达率按照降序排序,设置节点触达率阈值为P(大于0小于1),遍历排序后的节点触达率,求和,在当前求和值大于阈值P则停止遍历,得出节点触达率大于阈值P的节点集合,并认为此节点集合为整个语音交互业务的主干流程。例如阈值P=0.9,整个语音交互流程节点数有100个,按照以上方法筛选出来的主干流程节点数只有20个,那么可以把流程的优化范围缩小成这20个节点,减低优化成本。

方式2、可以通过节点挂断率来判断客户的意向变化。如,在通过方式1筛选出来的节点集合中,将该节点集合中的各节点的挂断率按降序排序,并确定出节点挂断率大于节点挂断率阈值的节点分别为哪个/些,重点检查该个/些节点的话术在配置的过程中是否存在问题或者录音有问题导致用户听出是机器人或者其他原因导致挂断。

方式3、可以通过节点重试度来判断节点的意图识别准确性,重试度越高,意图识别效果越差。如,在通过方式1筛选出来的节点集合中,将该节点集合中的各节点的重试度按降序排序,并确定出节点重试度大于节点重试阈值的节点分别为哪个/些,重点检查该个/些节点的意图分支是否需要补充,意图识别是否需要优化。

下面以一个具体的例子说明本发明的机器人的使用方法。

设X银行开发的外呼机器人可执行下述的语音交互业务:在催收场景下,外呼机器人给客户拨打电话,第一次打通客户电话后进行催收,客户承诺还款。第二天检查客户是否已经还款,在没有还款的情况下,进行第二次拨打电话询问为什么承诺还款之后没有还款,客户请求转人工,转接到人工客服。

针对上述语音交互业务的实现,可以通过图6所示的系统架构来实现。如图6所示,为本申请实施例提供的一种外呼机器人语音交互的系统架构,其中包括外呼机器人610、运营商前置620、ASR前置630、NLU系统640、客服系统650、ASR服务系统660和运用商话音平台系统670。

其中,外呼机器人610具有如图2所示的机器人系统的结构,比如可包括开放接口、事件处理单元、流程上下文、知识库和消息队列等模块。外呼机器人610可对外呼案件、语音流程、知识库进行管理,通过联动运营商外呼能力、ASR语音识别能力和NLU意图识别能力,实现智能语音交互。

运营商前置620。与不同运营商不同的接口进行对接,向外呼机器人610提供统一的交互接口。

ASR前置630。负责接收通话中客户侧的语音流数据,与不同的语音识别服务进行对接,向外呼机器人610提供统一的语音识别接口。

NLU系统640。自然语音理解子系统,管理意图知识库,向外呼机器人610提供意图识别服务。

客服系统650。向外呼机器人610提供人工客服的转接接入。通过外呼机器人610的开放接口,实时监听外呼机器人610的转接事件,实现客户的转接接入。

ASR服务系统660,包括该银行内部的ASR服务系统6601和其他ASR服务系统6602,如腾讯云ASR,用于提供语音识别服务。

运营商话音平台系统670,可包括联通、电信等运营商分别具有的青牛话音平台和华为话音平台,用于向外呼机器人610提供外呼能力,管理每通电话的状态,并向外呼机器人610返回通话状态和指令执行结果。

结合图6的系统架构,外呼机器人610对上述款项催收这一语音交互业务的处理流程可以参考图7的时序图。如图7所示,为本申请实施例提供的一种外呼机器人对语音交互业务的处理时序图,包括:

1、外呼机器人进行流程的初始化,将拨打任务信息,上下文信息保存到缓存中。

2、外呼机器人调用运营商前置发起外呼接口,运营商前置向话音平台发起外呼请求,运营商向客户拨打电话。

3、客户接听电话,话音平台向运营商前置返回接听状态,运营商前置向外呼机器人返回接听事件。

4、外呼机器人收到接听事件之后,调用接听事件处理器对事件进行处理,记录任务的外呼状态,并且从缓存中查询到本次外呼语音交互流程的开始节点,调用运营商前置播放开始节点中的话术。

5、语音平台收到播放请求后,开始播放指令中语音,并返回播音开始事件。外呼机器人接收到播音开始事件后,调用播音开始事件处理器,将当前通话的状态设置为播音中状态。

6、语音平台播放完语音后,返回播音结束事件。外呼机器人收到播音结束事件后,调用播音结束事件处理器,将当前通话的状态设置为播音结束等待客户回答的状态。

7、客户说话后,ASR前置识别出客户说话内容并向外呼机器人返回ASR识别结果事件,外呼机器人调用ASR识别结果事件处理器,处理文本并调用NLU系统识别意图。

8、当收到NLU识别结果事件后,外呼机器人查询出缓存中的语音交互流程的下一意图指向的节点,调用播音请求播放外呼机器人的下一个话术。

9、重复5-8步骤,知道整个语音交互流程结束。此时外呼机器人调用挂机请求,请求运营商挂断电话。

10、运营商返回挂机结果通知,外呼机器人调用挂机通知处理器,进行任务上下文的记录,语音流程实例的释放。在此例子中,客户承诺还款,上下文中会记录客户的标签为承诺还款。

11、承诺还款当天客户没有进行还款操作,在第二天,拨打任务重新激活,外呼机器人从上下文查询到客户之前已经承诺还款,则发起新的呼叫任务时,选择“打破承诺”的语音交互流程。

12、重复2-8操作。

13、在本例子中,假设客户对欠款有疑问,需要进一步咨询,此时外呼机器人识别出客户意图为转接人工客服,此时请求运营商转接人工客服,转接成功后,运营商返回转接结果通知。

14、外呼机器人收到转接结果通知之后,调用转接结果事件处理器,生成客服系统的转接请求事件,客服系统通过外呼机器人的开放接口监听到事件后,接入转接请求,并且在人工坐席电脑上显示外呼机器人与客户的对话记录。

通过系统的整个交互流程可以看到,整个流程是通过事件方式来驱动下一步的操作,在此系统架构下,事件的处理是独立的,没有跟其他功能模块绑定,大大的减少了系统功能的耦合性。

基于同样的构思,本申请实施例还提供一种机器人,如图8所示,该机器人包括:

处理器801,用于执行语音交互业务的子流程并根据执行结果产生事件;

存储器802,用于在确定所述事件为订阅事件时,记录所述事件;

处理器801,还用于从所述语音交互业务的主流程中确定所述事件对应的下一子流程,并返回执行语音交互业务的子流程的步骤,直至所述语音交互业务执行结束;

处理器802,还用于将所述事件发布给订阅消费方。

本申请实施例还提供了一种计算设备,该计算设备具体可以为桌面计算机、便携式计算机、智能手机、平板电脑、个人数字助理(Personal Digital Assistant,PDA)等。该计算设备可以包括中央处理器(Center Processing Unit,CPU)、存储器、输入/输出设备等,输入设备可以包括键盘、鼠标、触摸屏等,输出设备可以包括显示设备,如液晶显示器(Liquid Crystal Display,LCD)、阴极射线管(Cathode Ray Tube,CRT)等。

存储器,可以包括只读存储器(ROM)和随机存取存储器(RAM),并向处理器提供存储器中存储的程序指令和数据。在本申请实施例中,存储器可以用于存储机器人的语音交互处理方法的程序指令;

处理器,用于调用所述存储器中存储的程序指令,按照获得的程序执行机器人的语音交互处理方法。

本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行机器人的语音交互处理方法。

本领域内的技术人员应明白,本申请的实施例可提供为方法、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。

显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1