语音交互方法、装置、计算机设备和存储介质与流程

文档序号:23469772发布日期:2020-12-29 13:10阅读:94来源:国知局
语音交互方法、装置、计算机设备和存储介质与流程

本申请涉及计算机技术领域,特别是涉及一种语音交互方法、装置、计算机设备和存储介质。



背景技术:

随着计算机技术的发展,出现了人机交互技术。人机交互是指人与计算机之间使用某种对话语言,以一定的交互方式,为完成确定任务的人与计算机之间的信息交换过程。用户与智能机器人可以采用语音进行交互,也可以采用文本进行交互,还可以采用其他方式进行交互。

在传统技术中,用户与智能机器人在语音交互时,通常是智能机器人播放完整的语音后,再接收用户输入的语音进行处理。然而,这种传统的语音交互方法,无法更准确地实现语音交互。



技术实现要素:

基于此,有必要针对上述技术问题,提供一种能够提高准确性的语音交互方法、装置、计算机设备和存储介质。

一种语音交互方法,所述方法包括:

在播放语音的过程中,若接收到第一语音,则对所述第一语音进行意图识别得到第一意图,进入所述第一意图对应的对话状态;

若所述对话状态属于第一类对话状态,则确定所述对话状态的触发条件;所述第一类对话状态是对应的意图与预设的确定性意图之间的差异度大于第一差异度阈值的状态;

若所述第一语音不符合所述对话状态的触发条件,则将所述对话状态切换至初始状态;所述初始状态是未接收到任何语音所处的状态。

在其中一个实施例中,所述若所述第一语音不符合所述对话状态的触发条件,则将所述对话状态切换至初始状态,包括:

若所述第一语音不符合所述对话状态的触发条件,检测是否接收到新的语音;

若接收到第二语音,则判断所述第二语音是否符合所述对话状态的触发条件;

若所述第二语音不符合所述对话状态的触发条件,则将所述对话状态切换至初始状态。

在其中一个实施例中,所述若接收到第二语音,则判断所述第二语音是否符合所述对话状态的触发条件,包括:

若接收到第二语音,则对所述第二语音进行意图识别得到第二意图;

基于所述第二意图判断所述第二语音是否符合所述对话状态的触发条件。

在其中一个实施例中,所述基于所述第二意图判断所述第二语音是否符合所述对话状态的触发条件,包括:

若所述第二意图与所述第一意图之间的差异度小于第二差异度阈值,则所述第二语音符合所述对话状态的触发条件;

若所述第二意图与所述第一意图之间的差异度大于或等于第二差异度阈值,则所述第二语音不符合所述对话状态的触发条件。

在其中一个实施例中,所述接收到第二语音,则判断所述第二语音是否符合所述对话状态的触发条件之后,还包括:

若所述第二语音符合所述对话状态的触发条件,则对所述第二语音进行意图识别得到第二意图;

基于所述第一意图和所述第二意图得到目标意图;

获取所述目标意图对应的第一业务处理策略,按照所述第一业务处理策略进行处理。

在其中一个实施例中,所述若所述对话状态属于第一类对话状态,则确定所述对话状态的触发条件之后,还包括:

若所述第一语音符合所述对话状态的触发条件,则获取所述对话状态对应的第二业务处理策略,按照所述第二业务处理策略进行处理。

在其中一个实施例中,所述进入所述第一意图对应的对话状态之后,还包括:

若所述对话状态属于第二类对话状态,则获取所述对话状态对应的第三业务处理策略,按照所述第三业务处理策略进行处理;所述第二类对话状态是对应的意图与预设的确定性意图之间的差异度小于或等于第一差异度阈值的状态。

一种语音交互装置,所述装置包括:

意图识别模块,用于在播放语音的过程中,若接收到第一语音,则对所述第一语音进行意图识别得到第一意图,进入所述第一意图对应的对话状态;

触发条件确定模块,用于若所述对话状态属于第一类对话状态,则确定所述对话状态的触发条件;所述第一类对话状态是对应的意图与预设的确定性意图之间的差异度大于第一差异度阈值的状态;

状态切换模块,用于若所述第一语音不符合所述对话状态的触发条件,则将所述对话状态切换至初始状态;所述初始状态是未接收到任何语音所处的状态。

一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述的方法的步骤。

一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述的方法的步骤。

上述语音交互方法、装置、计算机设备和存储介质,在播放语音的过程中,若接收到第一语音,则对第一语音进行意图识别得到第一意图,进入第一意图对应的对话状态;若对话状态属于第一类对话状态,第一类对话状态是对应的意图与预设的确定性意图之间的差异度大于第一差异度阈值的状态,即第一意图与预设的确定性意图之间的差异较大,则进一步地确定对话状态的触发条件;若第一语音不符合对话状态的触发条件,则可以认为在播放语音的过程中接收到的第一语音是无意义语音,准确识别出语音播放过程中的无意义打断的语音片段,则将对话状态切换至未接收到任何语音所处的初始状态,可以在后续用户输入真正的有业务需求的语音时,更加准确地从初始状态切换至用户所需的业务的状态,也将初始状态的节点切换至用户所需的业务的节点,更准确实现语音交互。

附图说明

图1为一个实施例中语音交互方法的应用环境图;

图2为一个实施例中语音交互方法的流程示意图;

图3为一个实施例中服务器在播放语音的过程中接收到第一语音的情况;

图4为一个实施例中语音交互方法的示意图;

图5为另一个实施例中语音交互方法的示意图;

图6为一个实施例中若第一语音不符合对话状态的触发条件,则将对话状态切换至初始状态步骤的流程示意图;

图7为另一个实施例中语音交互方法的流程示意图;

图8为一个实施例中状态切换的示意图;

图9为一个实施例中语音交互装置的结构框图;

图10为一个实施例中计算机设备的内部结构图。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。

本申请提供的语音交互方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与服务器104通过网络进行通信。服务器104在播放语音的过程中,若接收到终端102发送的第一语音,则对第一语音进行意图识别得到第一意图,进入第一意图对应的对话状态;若对话状态属于第一类对话状态,则确定对话状态的触发条件;第一类对话状态是对应的意图与预设的确定性意图之间的差异度大于第一差异度阈值的状态;若第一语音不符合对话状态的触发条件,则将对话状态切换至初始状态;初始状态是未接收到任何语音所处的状态。其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。

需要说明的是,在本申请的实施例中,终端102可与服务器104协同执行该语音交互方法,终端102和服务器104也均可单独用于执行该语音交互方法。

在一个实施例中,如图2所示,提供了一种语音交互方法,以该方法应用于图1中的服务器为例进行说明,包括以下步骤:

步骤202,在播放语音的过程中,若接收到第一语音,则对第一语音进行意图识别得到第一意图,进入第一意图对应的对话状态。

第一语音是服务器在播放语音的过程中接收到的语音。第一意图指的是第一语音的意图。对话状态指的是用户与服务器之间的对话所处的状态。服务器在播放语音的过程中接收到第一语音,可以认为是第一语音对播放的语音进行打断。

如图3所示为一个实施例中服务器在播放语音的过程中接收到第一语音的情况。例如,服务器在播放语音“您好,这里是xx银行信用卡中心,您是xx先生吧,您在我行欠款20000元,您是否能否今天内还款”的过程中,用户可能在服务器播放“xx银行信用卡中心”时输入语音“哦,xx银行,你说”,也可能在服务器播放“信用卡中心”时输入语音“骗子吧”,也可能在服务器播放“您是xx先生吧”之后输入语音“是哦”,也可能在服务器播放“欠款20000元”之后输入语音“咋就20000了”,也可能在服务器播放“您是否能够今天内还款”时输入语音“今天不行啊”。

其中,若用户输入的语音是“哦,xx银行,你说”,该语音的意图为无意义意图,即此时用户输入的语音相当于在播放语音的过程中为无意义打断。若用户输入的语音是“今天不行啊”,则用户的意图为拒绝还款。若用户输入的语音是“是哦”,则用户的意图为肯定意图。

服务器可以预先设置各个候选意图,并配置各个候选意图分别对应的对话状态,若接收到第一语音,则对第一语音进行意图识别得到第一意图,将该第一意图与各个候选意图进行匹配,确定相匹配的候选意图对应的对话状态为第一意图对应的对话状态,进入该第一意图对应的对话状态。

服务器进入第一意图对应的对话状态时,可以构建处理该第一意图对应的节点,在该节点上对该意图进行处理。例如,在该节点上可以获取到该意图对应的响应消息,并播放该响应消息的语音。又如,在该节点上可以继续等待用户输入下一个语音。又如,在该节点上服务器可以切换至优先级更高的模式,从而提高处理速度。

在一种实施方式中,服务器在播放语音的过程中,若接收到第一语音,则将第一语音输入训练完成的意图识别模型中,对第一语音进行意图识别输出第一意图。具体地,通过意图识别模型识别出第一语音的参考意图,并确定该参考意图的置信度,若该参考意图的置信度超过预设的置信度阈值,则将该参考意图作为第一语音的第一意图。

在另一种实施方式中,服务器在播放语音的过程中,若接收到第一语音,则将第一语音进行文本识别得到第一文本,将第一文本输入训练完成的意图识别模型中,对第一文本进行意图识别输出第一意图。

通过意图识别模型可以识别出第一语音是否为无意义语音,无意义语音例如噪音、咳嗽声等,从而在识别出第一语音为无意义语音时可以不对该第一语音进行处理,避免无意义语音的打断,从而提高语音交互的准确性。

服务器可以预先对意图识别模型进行训练。具体地,服务器将标注有参考意图的训练样本输入意图识别模型中,通过意图识别模型输出训练样本的训练意图;将训练意图与参考意图进行比较,并基于比较结果对意图识别模型中的参数进行修改,得到新的意图识别模型;将标注有参考意图的训练样本输入新的意图识别模型中,返回执行通过意图识别模型输出训练样本的训练意图步骤,直到对意图识别模型中的参数进行修改的次数达到次数阈值,将最后一次得到的意图识别模型作为训练完成的意图识别模型。

参考意图指的是训练样本的意图,该参考意图为训练样本正确的意图。训练意图指的是意图识别模型对训练样本进行意图识别得到的意图。参考意图与训练意图可以相同,也可以不同。若训练意图与参考意图相同,表示该意图识别模型可以准确对训练样本进行意图识别。若训练意图与参考意图不同,表示该意图识别模型对训练样本识别不准确。次数阈值可以根据需要进行设置。

在一个实施例中,如图4所示,服务器可以将接收到语句1、语句2输入对话引擎中,通过对话引擎将语句1、语句2输入意图识别模型中,对语句1、语句2进行意图识别。

在另一个实施例中,如图5所示,服务器可以将接收到语句1、语句2直接输入意图识别模型中,对语句1、语句2进行意图识别。

步骤204,若对话状态属于第一类对话状态,则确定对话状态的触发条件;第一类对话状态是对应的意图与预设的确定性意图之间的差异度大于第一差异度阈值的状态。

触发条件指的是触发对第一语音进行业务处理的条件。也就是说,第一语音符合触发条件,则对该第一语音进行业务处理。例如,触发条件可以是输入的语音中包括有a关键词,也可以是输入的语音的时长大于时长阈值,还可以是输入的语音是在播放的语音的指定位置输入的,等等。触发条件可以根据需要进行设置。

服务器可以预先配置各个对话状态的触发条件。第一差异度阈值可以根据需要进行设置。例如,第一差异度阈值可以为60%、80%等。

确定性意图指的是存在确定性的意图。确定性意图的内容可以是肯定意图或者否定意图。例如,肯定意图可以为“是的”、“我要买房”、“我要还款”、“确定”、“好的”等。否定意图可以为“不是”、“不要买房”、“不想还款”、“不行”、“不可以”等。

语句的意图除了可以是确定性意图之外,还可以是不确定性意图。例如,不确定意图可以是“价格怎么样”、“面积如何”、“户型如何”、“期限在什么时候”、“考虑一下”、“以后再说”等等。

第一类对话状态对应的意图与预设的确定性意图之间的差异度大于第一差异度阈值,表示第一类对话状态对应的意图属于不确定性意图,则需要进一步配置第一类对话状态中各个对话状态的触发条件,来判断语音交互过程中用户的真正意图。

其中,第一类对话状态对应的意图是第一类对话状态中各个对话状态对应的预先配置的候选意图,该候选意图与预设的确定性意图之间的差异度大于差异度阈值。若第一语音的第一意图与其中的候选意图相匹配,该候选意图对应的对话状态为第一意图对应的对话状态,进入第一意图对应的对话状态,则第一意图与预设的确定性意图之间的差异度也大于第一差异度阈值。

例如,预设的确定性意图是“要买房”和“不买房”,若第一语音为“我要买房”,则第一语音的第一意图是确定性意图,进入第一意图对应的对话状态,服务器可以直接对该第一语音的第一意图进行业务处理;若第一语音为“不想买房”,则第一语音的第一意图是确定性意图,进入第一意图对应的对话状态,服务器可以直接对该第一语音的第一意图进行业务处理或者直接结束对话;若第一语音为“面积如何”,则第一语音的第一意图是不确定意图,第一意图与预设的确定性意图之间的差异度大于第一差异度阈值,进入第一意图对应的对话状态,该对话状态属于第一类对话状态,确定该对话状态的触发条件;若第一语音为“价格怎么样”,则第一语音的第一意图是不确定意图,第一意图与预设的确定性意图之间的差异度大于第一差异度阈值,进入第一意图对应的对话状态,该对话状态属于第一类对话状态,确定该对话状态的触发条件。

例如,预设的确定性意图是“要还款”和“不还款”,若第一语音为“我要还款”,则第一语音的第一意图是确定性意图,进入第一意图对应的对话状态,服务器可以直接对该第一语音的第一意图进行业务处理;若第一语音为“没钱还款”,则第一语音的第一意图是确定性意图,进入第一意图对应的对话状态,服务器可以直接对该第一语音的第一意图进行业务处理或者直接结束对话;若第一语音为“不是吧,咋就2万了”,则第一语音的第一意图是不确定意图,第一意图与预设的确定性意图之间的差异度大于第一差异度阈值,进入第一意图对应的对话状态,该对话状态属于第一类对话状态,确定该对话状态的触发条件;若第一语音为“还款期限什么时候”,则第一语音的第一意图是不确定意图,第一意图与预设的确定性意图之间的差异度大于第一差异度阈值,进入第一意图对应的对话状态,该对话状态属于第一类对话状态,确定该对话状态的触发条件。

步骤206,若第一语音不符合对话状态的触发条件,则将对话状态切换至初始状态;初始状态是未接收到任何语音所处的状态。

初始状态是服务器未接收到任何语音所处的状态。初始状态所处的节点为未处理过任何任务的节点。在服务器未接收到任何语音的情况下,处于初始状态所处的节点。

服务器确定对话状态的触发条件之后,检测第一语音是否符合对话状态的触发条件;若第一语音不符合对话状态的触发条件,即第一语音不符合可以进行业务处理的条件,则可以认为该第一语音为无意义语音,第一语音可能是噪音、与当前对话无关的其他语音等,则将对话状态切换至初始状态,服务器处于未接收到任何语音所处的状态下,可以在后续用户输入真正的有业务需求的语音时,更加准确地从初始状态切换至用户所需的业务的状态,也将初始状态的节点切换至用户所需的业务的节点,更准确实现语音交互。

需要说明的是,服务器在播放语音的过程中,可以处于初始状态,也可以处于其他的对话状态。

上述语音交互方法,在播放语音的过程中,若接收到第一语音,则对第一语音进行意图识别得到第一意图,进入第一意图对应的对话状态;若对话状态属于第一类对话状态,第一类对话状态是对应的意图与预设的确定性意图之间的差异度大于第一差异度阈值的状态,即第一意图与预设的确定性意图之间的差异较大,则进一步地确定对话状态的触发条件;若第一语音不符合对话状态的触发条件,则可以认为在播放语音的过程中接收到的第一语音是无意义语音,准确识别出语音播放过程中的无意义打断的语音片段,则将对话状态切换至未接收到任何语音所处的初始状态,可以在后续用户输入真正的有业务需求的语音时,更加准确地从初始状态切换至用户所需的业务的状态,也将初始状态的节点切换至用户所需的业务的节点,更准确实现语音交互。

上述语音交互方法,若第一语音不符合对话状态的触发条件,则将对话状态切换至初始状态,即将服务器所处的对话状态的节点撤回至初始状态的节点,提高处理语音交互的灵活性。

在一个实施例中,如图6所示,若第一语音不符合对话状态的触发条件,则将对话状态切换至初始状态,包括:

步骤602,若第一语音不符合对话状态的触发条件,检测是否接收到新的语音。

若第一语音不符合对话状态的触发条件,说明第一语音不符合进行业务处理的条件,则可以检测是否接收到新的语音。

步骤604,若接收到第二语音,则判断第二语音是否符合对话状态的触发条件。

第二语音指的是在第一语音不符合对话状态的触发条件之后接收到的新的语音。若服务器接收到第二语音,则判断第二语音是否符合对话状态的触发条件。

在一种实施方式中,服务器可以对第二语音进行语音检测,从而判断第二语音是否符合对话状态的触发条件。例如,服务器可以检测第二语音中是否包括有a关键词、第二语音的时长是否大于时长阈值,等等。

在另一种实施方式中,若接收到第二语音,则判断第二语音是否符合对话状态的触发条件,包括:若接收到第二语音,则对第二语音进行意图识别得到第二意图;基于第二意图判断第二语音是否符合对话状态的触发条件。

可选地,服务器可以将第二语音输入训练完成的意图识别模型中,对第二语音进行意图识别输出第二意图;服务器也可以将第二语音进行文本识别得到第二文本,将第二文本输入训练完成的意图识别模型中,对第二文本进行意图识别输出第二意图。

步骤606,若第二语音不符合对话状态的触发条件,则将对话状态切换至初始状态。

若第二语音仍不符合对话状态的触发条件,可以认为服务器接收的第一语音和第二语音均为无意义语音,例如噪音、与当前对话无关的其他语音等,则将对话状态切换至初始状态,服务器处于未接收到任何语音所处的状态下,可以在后续用户输入真正的有业务需求的语音时,更加准确地从初始状态切换至用户所需的业务的状态,也将初始状态的节点切换至用户所需的业务的节点,更准确实现语音交互。

在一个实施例中,若第一语音不符合对话状态的触发条件,在预设时长内检测是否接收到新的语音;若在预设时长内接收到第二语音,则判断第二语音是否符合对话状态的触发条件;若在预设时长内接收到第二语音,则执行将对话状态切换至初始状态步骤。其中,预设时长可以根据需要进行设置。例如,预设时长可以是3s,1s等。

在一个实施例中,基于第二意图判断第二语音是否符合对话状态的触发条件,包括:若第二意图与第一意图之间的差异性小于第二差异度阈值,则第二语音符合对话状态的触发条件;若第二意图与第一意图之间的差异性大于或等于第二差异度阈值,则第二语音不符合对话状态的触发条件。

第二差异度阈值可以根据需要进行设置。例如,第二差异度可以是50%,78%等。

若第二意图与第一意图之间的差异度小于第二差异度阈值,表示第二意图与第一意图之间的区别较小,则可以认为第二语音与第一语音之间存在联系,在第一语音的第一意图的基础上加入第二语音的第二意图,可以进一步确认用户的意图,则第二语音符合对话状态的触发条件。若第二语音符合对话状态的触发条件,则对第二语音进行意图识别得到第二意图;基于第一意图和第二意图得到目标意图;获取目标意图对应的第一业务处理策略,按照第一业务处理策略进行处理。

若第二意图与第一意图之间的差异度大于或等于第二差异度阈值,表示第二意图与第一意图之间的区别较大,则可以认为第二语音与第一语音之间不存在联系,第二语音和第一语音均未无意义语音,则第二语音不符合对话状态的触发条件。

例如,在播放语音的过程中,服务器接收到的第一语音为“户型如何”,对第一语音进行意图识别得到第一意图为“了解户型”,进入第一意图对应的对话状态。该第一意图为不确定意图,可以认为用户的意图为有关注意向,但是并不确定用户是否要买房或者不买房,而第一意图对应的对话状态也为第一类对话状态,确定第一意图对应的对话状态的触发条件。若触发条件为包括关键词“购买”或者“买”,则第一语音不符合对话状态的触发条件。若服务器接收到第二语音为“面积如何”,对第二语音进行意图识别得到第二意图为“了解房子面积”,第二意图与第一意图之间的差异度小于第二差异度阈值,增加了用户想要买房的意愿,则可以认为第二语音符合对话状态的触发条件。

在本实施例中,通过第二意图与第一意图之间的差异度来判断第二语音符合对话状态的触发条件,可以更准确地确定第二语音和第一语音是否为无意义语音,从而更准确进行语音交互。

在另一个实施例中,服务器基于第二意图判断第二语音是否符合对话状态的触发条件,包括:服务器将第二意图与对话状态的触发条件中的预设意图进行匹配;若匹配成功,则判定第二语音符合对话状态的触发条件;若匹配不成功,则判定第二语音不符合对话状态的触发条件。

对话状态的触发条件中的预设意图是对话状态的触发条件中所包括的预设意图。若第二语音的第二意图与对话状态的触发条件中的预设意图匹配成功,则判定第二语音符合对话状态的触发条件。若第二语音的第二意图与对话状态的触发条件中的预设意图匹配不成功,则判定第二语音不符合对话状态的触发条件。

在本实施例中,通过将第二意图与对话状态的触发条件中的预设意图进行匹配来判断第二语音是否符合对话状态的触发条件,可以更准确地确定第二语音和第一语音是否为无意义语音,从而更准确进行语音交互。

在一个实施例中,如图7所示,若接收到第二语音,则判断第二语音是否符合对话状态的触发条件之后,还包括:

步骤702,若第二语音符合对话状态的触发条件,则对第二语音进行意图识别得到第二意图。

服务器可以对第二语音进行语音检测,从而判断第二语音是否符合对话状态的触发条件。例如,服务器可以检测第二语音中是否包括有a关键词、第二语音的时长是否大于时长阈值,等等。

可选地,若第二语音符合对话状态的触发条件,服务器可以将第二语音输入训练完成的意图识别模型中,对第二语音进行意图识别输出第二意图;服务器也可以将第二语音进行文本识别得到第二文本,将第二文本输入训练完成的意图识别模型中,对第二文本进行意图识别输出第二意图。

步骤704,基于第一意图和第二意图得到目标意图。

目标意图指的是第一意图和第二意图进行结合得到的意图。

在一种实施方式中,服务器将第一意图和第二意图进行比较,若第一意图和第二意图一致,则采用第一意图或者第二意图作为目标意图;若第一意图和第二意图不一致,则分别确定第一意图和第二意图的置信度评分,从第一意图和第二意图中选择置信度评分高的作为目标意图。其中,置信度评分指的是意图识别得到的意图的可信程度。通过意图识别模型对第一语音进行意图识别时可以得到该第一意图的置信度评分,通过意图识别模型对第二语音进行意图识别时可以得到该二意图的置信度评分。

在另一种实施方式中,服务器将第一意图和第二意图进行叠加,得到目标意图。例如,第一意图为“还款期限在什么时候”,第二意图为“在还款期限之前还款”,则将第一意图和第二意图进行叠加,得到目标意图“还款期限在什么时候,用户将在还款期限之前还款”。

步骤706,获取目标意图对应的第一业务处理策略,按照第一业务处理策略进行处理。

第一业务处理策略指的是目标意图对应的业务处理的策略。第一业务处理策略可以是服务器预先配置得到的。服务器可以预先设置各个候选意图,并配置各个候选意图分别对应的对话状态,以及各个对话状态分别对应的业务处理策略。

可选地,第一业务处理策略可以采用先验方式进行配置,配置的第一业务处理策略即横向置信度策略。先验方式可以是基于深度学习模型文本分类打分得到、基于对话数据预训练意图模型得到、基于是否为业务的二分类任务得到,不限于此。先验是指所有信息只有用户问句(语音数据)本身而已,若把模型看作一个黑盒,那么唯一输入就是用户问句本身,返回结果就是打分(先验结果)。

第一业务处理策略还可以采用后验方式进行配置,配置的第一业务处理策略即纵向业务策略。后验方式可以是禁止打断、播报过程中不允许被打断、禁用问题(如禁止提问题)、无意义(如输入的语音为无意义语音)、停留时间、触发多个条件、主观倾向(如用户意图的倾向是什么),不限于此。后验是指根据之后的状态推定,之前可能的不同情况。例如,推销场景,服务器可以倾向于用户需要购买,则会尽量可能预测用户意图为确认购买。

可以理解的是,候选意图与对话状态一一对应,而对话状态与业务处理策略一一对应,则候选意图与业务处理策略也存在一一对应的关系。

服务器将得到的目标意图与各个候选意图进行匹配,并将相匹配的候选意图对应的业务处理策略作为目标意图对应的第一业务处理策略。

例如,服务器确定的目标意图是“买房”,则获取“买房”对应的第一业务处理策略,第一业务处理策略可以是详细介绍各个房子的情况,如房子的地理位置、价格、面积、朝向,等等。服务器按照第一业务处理策略可以播放语音介绍各个房子的情况,或者通过视频、图片展示介绍各个房子的情况。

在本实施例中,若第二语音符合对话状态的触发条件,则对第二语音进行意图识别得到第二意图;基于第一意图和第二意图可以得到更加准确的目标意图,从而获取目标意图对应的第一业务处理策略,按照第一业务处理策略进行处理,提高语音交互的准确性。

在一个实施例中,若对话状态属于第一类对话状态,则确定对话状态的触发条件之后,还包括:若第一语音符合对话状态的触发条件,则获取对话状态对应的第二业务处理策略,按照第二业务处理策略进行处理。

第二业务处理策略指的是第一语音所符合的对话状态对应的业务处理的策略。服务器可以预先设置各个候选意图,并配置各个候选意图分别对应的对话状态,以及各个对话状态分别对应的业务处理策略。

可以理解的是,候选意图与对话状态一一对应,而对话状态与业务处理策略一一对应,则候选意图与业务处理策略也存在一一对应的关系。服务器获取第一意图的对话状态对应的第二业务处理策略,也是第一意图对应的第二业务处理策略。

具体地,若第一语音符合对话状态的触发条件,则将第一语音所符合的对话状态对应的业务处理策略作为第二业务处理策略。

例如,若第一语音为“我是有意购买这个产品,但是我要先了解一下这个产品的价格”,对该第一语音进行意图识别得到第一意图,进入第一意图对应的对话状态;若对话状态属于第一类对话状态,确定对话状态的触发条件;若该触发条件为语音中包括有“购买”这一关键词,则第一语音符合该触发条件,可以获取对话状态对应的第二业务处理策略,第二业务处理策略可以是详细介绍该产品的情况,如产品的价格、重量、购买渠道,等等。服务器按照第二业务处理策略可以播放语音介绍该产品的情况,或者通过视频、图片展示介绍该产品的情况。

在本实施例中,若第一语音符合对话状态的触发条件,则获取对话状态对应的第二业务处理策略,可以按照该第二业务处理策略对第二语音进行准确处理,提高语音交互的准确性。

在一个实施例中,进入第一意图对应的对话状态之后,还包括:若对话状态属于第二类对话状态,则获取对话状态对应的第三业务处理策略,按照第三业务处理策略进行处理;第二类对话状态是对应的意图与预设的确定性意图之间的差异度小于或等于第一差异度阈值的状态。

确定性意图指的是存在确定性的意图。确定性意图的内容可以是肯定意图或者否定意图。例如,肯定意图可以为“是的”、“我要买房”、“我要还款”、“确定”、“好的”等。否定意图可以为“不是”、“不要买房”、“不想还款”、“不行”、“不可以”等。

语句的意图除了可以是确定性意图之外,还可以是不确定性意图。例如,不确定意图可以是“价格怎么样”、“面积如何”、“户型如何”、“期限在什么时候”、“考虑一下”、“以后再说”等等。

第二类对话状态对应的意图与预设的确定性意图之间的差异度小于或等于第一差异度阈值,表示第二类对话状态对应的意图趋近或者属于确定性意图,则可以直接获取该预先配置的对话状态的第三业务处理策略,按照第三业务处理策略进行处理。

例如,在播放语音过程中,若第一语音为“是的,我要买房”,则对第一语音进行意图识别得到第一意图,进入第一意图对应的对话状态;该第一意图为确定性意图,第一意图对应的对话状态为第二类对话状态,则可以直接获取该对话状态对应的第三业务处理策略,如介绍房子的详细情况,按照第三业务处理策略进行处理。

又如,在播放语音过程中,若第一语音为“我不买房”,则对第一语音进行意图识别得到第一意图,进入第一意图对应的对话状态;该第一意图为确定性意图,第一意图对应的对话状态为第二类对话状态,则可以直接获取该对话状态对应的第三业务处理策略,如直接结束对话或者播放预设的结束语音,按照第三业务处理策略进行处理。

在本实施例中,若对话状态属于第二类对话状态,则获取对话状态对应的第三业务处理策略,按照第三业务处理策略进行处理;第二类对话状态是对应的意图与预设的确定性意图之间的差异度小于或等于第一差异度阈值的状态,认为第一语音的第一意图趋近或者属于确定性意图,直接获取该对话状态对应的第三业务处理策略,按照第三业务处理策略进行处理,提高业务处理的效率,也提高了语音交互的准确性。

在一个实施例中,如图8所示,服务器在播放语音的过程中,在未接收到第一语音之前处于初始状态,若接收到第一语音,则对第一语音进行意图识别得到第一意图,进入第一意图对应的对话状态。其中,第一意图可以是意图1,意图1对应的对话状态是对话状态1,则进入对话状态1。第一意图也可以是意图2,意图2对应的对话状态是对话状态2,则进入对话状态2。对话状态1和对话状态2均属于第一类对话状态。

若第一意图为意图1,则确定对话状态1的触发条件,若第一语音不符合对话状态1的触发条件,则将对话状态1切换至初始状态。

若第一意图为意图2,则确定对话状态2的触发条件,若第一语音不符合对话状态2的触发条件,则将对话状态2切换至初始状态。

第一意图还可以是意图3,则进入对话状态3。对话状态3属于第二类对话状态,即意图3与预设的确定性意图之间的差异度小于或等于第一差异度阈值,可以直接获取对话状态3对应的第三业务处理策略,按照第三业务处理策略进行处理。

应该理解的是,虽然图2、图6和图7的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2、图6和图7中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。

在一个实施例中,如图9所示,提供了一种语音交互装置,包括:意图识别模块902、触发条件确定模块904和状态切换模块906,其中:

意图识别模块902,用于在播放语音的过程中,若接收到第一语音,则对第一语音进行意图识别得到第一意图,进入第一意图对应的对话状态。

触发条件确定模块904,用于若对话状态属于第一类对话状态,则确定对话状态的触发条件;第一类对话状态是对应的意图与预设的确定性意图之间的差异度大于第一差异度阈值的状态。

状态切换模块906,用于若第一语音不符合对话状态的触发条件,则将对话状态切换至初始状态;初始状态是未接收到任何语音所处的状态。

上述语音交互装置,在播放语音的过程中,若接收到第一语音,则对第一语音进行意图识别得到第一意图,进入第一意图对应的对话状态;若对话状态属于第一类对话状态,第一类对话状态是对应的意图与预设的确定性意图之间的差异度大于第一差异度阈值的状态,即第一意图与预设的确定性意图之间的差异较大,则进一步地确定对话状态的触发条件;若第一语音不符合对话状态的触发条件,则可以认为在播放语音的过程中接收到的第一语音是无意义语音,准确识别出语音播放过程中的无意义打断的语音片段,则将对话状态切换至未接收到任何语音所处的初始状态,可以在后续用户输入真正的有业务需求的语音时,更加准确地从初始状态切换至用户所需的业务的状态,也将初始状态的节点切换至用户所需的业务的节点,更准确实现语音交互。

在一个实施例中,上述状态切换模块906还用于若第一语音不符合对话状态的触发条件,检测是否接收到新的语音;若接收到第二语音,则判断第二语音是否符合对话状态的触发条件;若第二语音不符合对话状态的触发条件,则将对话状态切换至初始状态。

在一个实施例中,上述状态切换模块906还用于若接收到第二语音,则对第二语音进行意图识别得到第二意图;基于第二意图判断第二语音是否符合对话状态的触发条件。

在一个实施例中,上述状态切换模块906还用于若第二意图与第一意图之间的差异度小于第二差异度阈值,则第二语音符合对话状态的触发条件;若第二意图与第一意图之间的差异度大于或等于第二差异度阈值,则第二语音不符合对话状态的触发条件。

在一个实施例中,上述语音交互装置还包括业务处理模块,用于若第二语音符合对话状态的触发条件,则对第二语音进行意图识别得到第二意图;基于第一意图和第二意图得到目标意图;获取目标意图对应的第一业务处理策略,按照第一业务处理策略进行处理。

在一个实施例中,上述业务处理模块还用于若第一语音符合对话状态的触发条件,则获取对话状态对应的第二业务处理策略,按照第二业务处理策略进行处理。

在一个实施例中,上述业务处理模块还用于若对话状态属于第二类对话状态,则获取对话状态对应的第三业务处理策略,按照第三业务处理策略进行处理;第二类对话状态是对应的意图与预设的确定性意图之间的差异度小于或等于第一差异度阈值的状态。

关于语音交互装置的具体限定可以参见上文中对于语音交互方法的限定,在此不再赘述。上述语音交互装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。

在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图10所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储语音数据、意图数据、意图识别模型的参数等数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种语音交互方法。

本领域技术人员可以理解,图10中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

在一个实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。

在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(read-onlymemory,rom)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(randomaccessmemory,ram)或外部高速缓冲存储器。作为说明而非局限,ram可以是多种形式,比如静态随机存取存储器(staticrandomaccessmemory,sram)或动态随机存取存储器(dynamicrandomaccessmemory,dram)等。

以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

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