人机对话处理方法、装置、电子设备及存储介质与流程

文档序号:18796947发布日期:2019-09-29 19:49阅读:221来源:国知局
人机对话处理方法、装置、电子设备及存储介质与流程

本发明涉及人工智能技术领域信息,尤其涉及一种人机对话处理方法、装置、电子设备及存储介质。



背景技术:

目前,智能设备基于语音活动检测(voiceactivitydetection,vad)技术持续监听用户是否有语音输入,语音活动检测(voiceactivitydetection,vad)技术能够检测出一段音频中语音开始和结束的时间点,从而检测出真正包含用户语音的音频段落,消除静音段落。在检测出包含用户语音的音频段落后,对检测出的音频段落进行语音识别,并基于nlp(naturallanguageprocessing,自然语言处理)等技术对语音识别结果进行处理,并输出符合人类自然语言的响应数据,实现人机交互。

但是,实际应用中,用户往往会连续输入一段较长的语音,该段语音中肯能包含多个句子,例如,用户会输入“今天天气怎么样?适合出去郊游吗?去哪里郊游比较好呢?植物园的花开是不是开了?”这一长串语音,由于该段语音中不存在静音段落,因此,智能设备只能在完成对整段语音的语音识别后,再基于整段语音的语音识别结果确定对应的响应数据,以向用户作出反馈。显然,现有的人机对话处理方式延长了智能设备的响应时间,导致用户无法获到及时的回复,降低了用户体验。



技术实现要素:

本发明实施例提供一种人机对话处理方法、装置、电子设备及存储介质,以解决现有技术中智能设备的响应时间长的问题。

第一方面,本发明一实施例提供了一种人机对话处理方法,包括:

对智能设备实时采集到的音频流数据进行语音识别,得到临时识别结果;

若所述临时识别结果与上一次临时识别结果对应的预测文本一致,且所述预测文本具有完整语义,控制所述智能设备输出所述预测文本对应的响应数据,其中,所述预测文本为对所述上一次临时识别结果进行预测得到的。

可选地,根据以下方式确定所述临时识别结果与上一次临时识别结果对应的预测文本一致:

计算所述临时识别结果与所述上一次临时识别结果对应的预测文本的相似度;

若所述相似度超过相似度阈值,确定所述临时识别结果与上一次临时识别结果对应的预测文本一致。

可选地,还包括:

若所述临时识别结果与所述上一次临时识别结果对应的预测文本不一致,对所述临时识别结果进行预测处理,得到所述临时识别结果的预测文本;

根据所述临时识别结果的预测文本,确定所述临时识别结果的预测文本对应的响应数据。

可选地,还包括:

若所述临时识别结果与所述上一次临时识别结果对应的预测文本不一致,且已获得最终识别结果,基于所述最终识别结果进行语义识别,其中,所述最终识别结果为基于语音端点检测vad得到的音频流数据的临时识别结果;

根据语义识别结果确定响应数据。

可选地,还包括:

若所述临时识别结果与所述上一次临时识别结果对应的预测文本一致,在所述临时识别结果后增加截断标识;

若所述下一次临时识别结果中截断标识后的文本与所述临时识别结果对应的预测文本一致,且所述临时识别结果对应的预测文本具有完整语义,控制所述智能设备输出所述临时识别结果对应的预测文本对应的响应数据。

可选地,在所述临时识别结果后增加截断标识之后,还包括:

对下一次临时识别结果中截断标识后的文本进行预测处理,得到所述下一次临时识别结果对应的预测文本。

可选地,还包括:

若所述临时识别结果与所述上一次临时识别结果对应的预测文本一致,清空所述临时识别结果。

第二方面,本发明一实施例提供了一种人机对话处理装置,包括:

语音识别单元,用于对智能设备实时采集到的音频流数据进行语音识别,得到临时识别结果;

控制单元,用于若所述临时识别结果与上一次临时识别结果对应的预测文本一致,且所述预测文本具有完整语义,控制所述智能设备输出所述预测文本对应的响应数据,其中,所述预测文本为对所述上一次临时识别结果进行预测得到的。

可选地,所述控制单元具体用于:

根据以下方式确定所述临时识别结果与上一次临时识别结果对应的预测文本一致:

计算所述临时识别结果与所述上一次临时识别结果对应的预测文本的相似度;

若所述相似度超过相似度阈值,确定所述临时识别结果与上一次临时识别结果对应的预测文本一致。

可选地,所述控制单元还用于:

若所述临时识别结果与所述上一次临时识别结果对应的预测文本不一致,对所述临时识别结果进行预测处理,得到所述临时识别结果的预测文本;

根据所述临时识别结果的预测文本,确定所述临时识别结果的预测文本对应的响应数据。

可选地,所述控制单元还用于:

若所述临时识别结果与所述上一次临时识别结果对应的预测文本不一致,且已获得最终识别结果,基于所述最终识别结果进行语义识别,其中,所述最终识别结果为基于语音端点检测vad得到的音频流数据的临时识别结果;

根据语义识别结果确定响应数据。

可选地,还包括截断单元,用于:若所述临时识别结果与所述上一次临时识别结果对应的预测文本一致,在所述临时识别结果后增加截断标识;

所述控制单元还用于:若所述下一次临时识别结果中截断标识后的文本与所述临时识别结果对应的预测文本一致,且所述临时识别结果对应的预测文本具有完整语义,控制所述智能设备输出所述临时识别结果对应的预测文本对应的响应数据。

可选地,所述控制单元还用于:

在所述临时识别结果后增加截断标识之后,对下一次临时识别结果中截断标识后的文本进行预测处理,得到所述下一次临时识别结果对应的预测文本。

可选地,还包括清空单元,用于:

若所述临时识别结果与所述上一次临时识别结果对应的预测文本一致,清空所述临时识别结果。

第三方面,本发明一实施例提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,处理器执行计算机程序时实现上述任一种方法的步骤。

第四方面,本发明一实施例提供了一种计算机可读存储介质,其上存储有计算机程序指令,该计算机程序指令被处理器执行时实现上述任一种方法的步骤。

第五方面,本发明一实施例提供了一种计算机程序产品,所述计算机程序产品包括存储在计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,所述程序指令被处理器执行时实现上述任一种方法的步骤。

本发明实施例提供的技术方案,对智能设备实时采集的音频流数据进行语音识别,得到临时识别结果,然后,每获得一个临时识别结果,立即对该临时识别进行文本预测,得到该临时识别结果对应的预测文本,然后,若当前的临时识别结果和上一次临时识别结果对应的预测文本一致,且上一次临时识别结果对应的预测文本具有完整语义,则可以确定当前的临时识别结果为具有完整语义的句子,此时即可控制智能设备输出该预测文本对应的响应数据,实现了对连续输入的音频流数据的断句处理,从而有效地区分音频流数据中包含的多个连续的句子,以便针对用户输入音频流数据中的每个句子作出及时的响应,缩短了智能设备的响应时间,提高用户体验。

附图说明

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

图1为本发明实施例提供的人机对话处理方法的应用场景示意图;

图2为本发明一实施例提供的人机对话处理方法的流程示意图;

图3为本发明一实施例提供的实现人机对话处理方法的各模块的结构示意图;

图4为本发明一实施例提供的人机对话处理方法的流程示意图;

图5为本发明一实施例提供的人机对话处理装置的结构示意图;

图6为本发明一实施例提供的电子设备的结构示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。

为了方便理解,下面对本发明实施例中涉及的名词进行解释:

语音活动检测(voiceactivitydetection,vad),又称语音端点检测,是指在噪声环境中检测语音的存在与否,通常用于语音编码、语音增强等语音处理系统中,起到降低语音编码速率、节省通信带宽、减少移动设备能耗、提高识别率等作用。早先具有代表性的vad方法有itu-t的g.729annexb。目前,语音活动检测技术已广泛应用到语音识别过程中,通过语音活动检测技术检测出一段音频中真正包含用户语音的部分,从而消除音频中静音的部分,仅对包含用户语音的部分音频进行识别处理。

实时语音转写(real-timeasr),基于深度全序列卷积神经网络框架,通过websocket协议,建立应用与语言转写核心引擎的长连接,能够将音频流数据实时转换成文字流数据,实现用户边说话边生成文本。例如,采集的音频流数据为:“今”-“天”-“天”-“气”-“怎”-“么”-“样”,按照音频流数据的顺序进行识别,先输出临时识别结果“今”,再输出临时结果“今天”,然后,输出临时识别结果“今天天”,以此类推,直到对整段音频流数据识别完毕,得到最终识别结果“今天天气怎么样”。实时语音转写技术还能够基于后续的音频流数据以及对上下文的语义理解,对之前输出的临时识别结果进行智能纠错,保证最终识别结果的准确性,也就是说,基于音频流数据实时输出的临时识别结果,是随着时间不断变化,例如,第一次输出的临时识别结果为“金”,第二次输出的临时识别结果被纠正为“今天”,第三次输出的临时识别结果可能为“今天田”,第四次输出的临时识别结果又被纠正为“今天天气”,以此类推,通过不断的识别、纠正,得到准确的最终识别结果。

生成模型(generativemodel),是指能够随机生成观测数据的模型,尤其是在给定某些隐含参数的条件下。生成模型给观测值和标注数据序列指定一个联合概率分布。在机器学习中,生成模型可以用来直接对数据建模(例如根据某个变量的概率密度函数进行数据采样),也可以用来建立变量间的条件概率分布。条件概率分布可以由生成模型根据贝叶斯定理形成。

附图中的任何元素数量均用于示例而非限制,以及任何命名都仅用于区分,而不具有任何限制含义。

在人机交互过程中,用户往往会连续输入一段较长的语音,该段语音中可能包含多个句子,例如,用户会输入“今天天气怎么样?适合出去郊游吗?去哪里郊游比较好呢?植物园的花是不是开了?”这一长串语音,由于该段语音中不存在静音段落,因此,基于vad技术的语音处理方法无法有效地区分一段语音中的多个句子,也就是说,只能在完成对整段语音的语音识别后,再基于整段语音的语音识别结果确定响应数据,这就导致智能设备无法及时向用户作出反馈,延长了智能设备的响应时间,导致用户无法获到及时的回复,降低了用户体验。此外,实际应用场景中,还存在智能设备采集到多个用户说话声音的情况,例如,在与用户a交互的过程中,智能设备还采集到用户b的语音,如果采集到的用户a和用户b的语音之间不存在静音段落,就无法有效地区分用户a和用户b的话,因此,需要识别完用户a和用户b的语音后,智能设备才能向用户a做出回复,增加了智能设备的响应时间。

随着语音识别技术的发展,目前已经能够实现实时语音转写,即将持续输入的音频流数据实时转换为文字流数据,而不需要等待用户说完完整的一段语音后,再基于整段语音生成对应的文字。为此,本发明的发明人考虑到,对智能设备实时采集的音频流数据进行语音识别,得到临时识别结果,然后,每获得一个临时识别结果,立即对该临时识别进行文本预测,得到该临时识别结果对应的预测文本,然后,若当前的临时识别结果和上一次临时识别结果对应的预测文本一致,且上一次临时识别结果对应的预测文本具有完整语义,则可以确定当前的临时识别结果为具有完整语义的句子,此时即可控制智能设备输出该预测文本对应的响应数据,实现了对连续输入的音频流数据的断句处理,从而有效地区分音频流数据中包含的多个连续的句子,以便针对用户输入音频流数据中的每个句子作出及时的响应,缩短了智能设备的响应时间,提高用户体验。

在介绍了本发明的基本原理之后,下面具体介绍本发明的各种非限制性实施方式。

首先参考图1,其为本发明实施例提供的人机对话处理方法的应用场景示意图。用户10与智能设备11进行交互过程中,智能设备11会持续采集周围的声音,并以音频流数据的形式持续上送给服务器12,音频流数据中除了包含用户10的说话声,也可能包含智能设备11周围的环境声或其他用户的说话声。服务器12对智能设备11持续上报的音频流数据依次进行语音识别处理和语义识别处理,根据语义识别结果确定出相应的响应数据,并控制智能设备11执行该响应数据,以向用户作出反馈。

这种应用场景下,智能设备11和服务器12之间通过网络进行通信连接,该网络可以为局域网、广域网等。智能设备11可以为智能音箱、机器人等,也可以为便携设备(例如:手机、平板、笔记本电脑等),还可以为个人电脑(pc,personalcomputer)。服务器12可以为任何能够提供语音识别服务的一台服务器、若干台服务器组成的服务器集群或云计算中心。

当然,对音频流数据的语音识别处理和语义识别处理,以及后续确定响应数据等处理,也可以在智能设备侧执行,本发明实施例中不对执行主体进行限定。为了便于描述,本发明提供的各实施例中均以在服务器侧执行语音处理为例进行说明,在智能设备侧执行语音处理的过程与此类似,此处不再赘述。

下面结合图1所示的应用场景,对本发明实施例提供的技术方案进行说明。

参考图2,本发明实施例提供一种人机对话处理方法,应用于图1所示的服务器侧,包括以下步骤:

s201、对智能设备实时采集到的音频流数据进行语音识别,得到临时识别结果。

本发明实施例中,在用户开始与智能设备对话后,智能设备会持续采集该智能设备周围环境中的声音,转换成音频流数据后发送给服务器。服务器可利用实时语音转写等技术,对持续的音频流数据进行语音识别,实时更新临时识别结果,每次更新都是基于上次更新后的临时识别结果进行的。需要说明的是,临时识别结果会随着智能设备上传的新的音频流数据而实时更新,例如,一开始获得的临时识别结果为“金”,在临时识别结果“金”的基础上,基于后续的音频流数据对临时识别结果“金”进行更新,获得更新后的临时识别结果,更新后的临时识别结果可能被纠正为“今天”,下一次更新后的临时识别结果可能为“今天田”,继续基于音频流数据对临时识别结果进行更新,更新后的临时识别结果又可能被纠正为“今天天气”。

s202、若临时识别结果与上一次临时识别结果对应的预测文本一致,且预测文本具有完整语义,控制智能设备输出预测文本对应的响应数据,其中,预测文本为对上一次临时识别结果进行预测得到的。

具体实施时,可通过如下方式确定每一临时识别结果对应的预测文本:从语料库中选取与临时识别结果匹配度高于预设阈值的预设文本,确定为该临时识别结果对应的预测文本。

本发明实施例中,语料库中预先存储有大量具有完整语义的预设文本,例如,“今天天气怎么样”、“最近上映了哪些电影”等等。预设阈值可根据匹配准确度要求结合实际情况进行配置,本发明实施例不作限定。具体地,可基于文本相似度算法、模糊匹配算法、基于历史对话信息的上下文理解、以及文本对应的领域信息、意图等一种或多种方式,从语料库中选取与临时识别结果匹配度最高的预设文本,确定为该临时识别结果对应的预测文本。

具体实施时,还可以基于nlu(naturallanguageunderstanding,自然语言理解)技术中的生成模型(generativemodel),根据更新后的临时识别结果,确定具有完整语义的预测文本。生成模型是指能够随机生成观测数据的模型,尤其是在给定某些隐含参数的条件下。它给观测值和标注数据序列指定一个联合概率分布。在机器学习中,生成模型可以用来直接对数据建模(例如根据某个变量的概率密度函数进行数据采样),也可以用来建立变量间的条件概率分布。条件概率分布可以由生成模型根据贝叶斯定理形成。

具体实施时,基于智能设备上传的音频流数据,每更新一次临时识别结果,就对该临时识别结果进行文本预测,以获得与该临时识别结果最匹配的预测文本,该预测文本具有完整的语义。由于临时识别结果是对音频流数据进行实时语音识别的结果,因此,当一个具有完整语义的句子对应的音频流数据还未完整的传输给服务器时,是无法得到具有完整语义的临时识别结果的,也就是说,大多数情况下,获得的临时识别结果为不具有完整语义的文本,即不是一句完整的话,例如,临时识别结果为“今天”。通过上述预测方法,每获得一次临时识别结果,就通过文本预测来确定该临时识别结果可能对应的具有完整语义的预测文本。例如,临时识别结果为“今天”,其对应的预测文本可能为“今天是几号”,临时识别结果为“今天天气”,其对应的预测文本可能为“今天天气怎么样”,因此,随着临时识别结果的变化,其对应的预测文本也可能随之发生变化。

实际应用过程中,每获得一次临时识别结果,确定该临时识别结果对应的预测文本,确定具有完整语义的预测文本,并缓存预测文本。缓存的预测文本随着临时识别结果的变化而实时更新,即基于当前获得的临时识别结果确定其对应的预测文本,更新缓存中的预测文本。

本发明实施例中所指的响应数据不限于文本数据、音频数据、图像数据、视频数据、语音播报、或控制指令等,其中,控制指令包括但不限于:控制智能设备显示表情的指令、控制智能设备的动作部件运动的指令(如引领、导航、拍照、跳舞等)等。

具体实施时,可预先为语料库中的每个预设文本配置至少一个预设响应数据,当需要根据预测文本确定响应数据时,只需要根据对应关系,获取与预测文本对应的预设响应数据,将该预设响应数据作为预测文本对应的响应数据,以提高确定响应数据的效率。具体实施时,还可以对预测文本进行语义识别,得到预测文本的语义识别结果,根据预测文本的语义识别结果确定响应数据,作为该预测文本对应的响应数据。

本发明实施例的方法,对智能设备实时采集的音频流数据进行语音识别,得到临时识别结果,每获得一个临时识别结果,立即对该临时识别进行文本预测,得到该临时识别结果对应的具有完整语义的预测文本,例如,当前获得的临时识别结果为“故宫在”,其对应的预测文本可以是“故宫在哪里”;然后,将当前的临时识别结果与上一次临时识别结果的预测文本进行比对,若当前的临时识别结果和上一次临时识别结果的预测文本不一致,表明当前的临时识别结果还不是一句具备完整语义的句子,还需要进一步对音频流数据进行语音识别,以获得到具备完整语义的临时识别结果,以获取用户真正想表达的语义;若当前的临时识别结果和上一次临时识别结果对应的预测文本一致,由于预测文本为具有完整语义的文本,则表明当前的临时识别结果是具备完整语义的句子,因此,可基于该临时识别结果获取用户真正想表达的语义,此时可控制智能设备输出该预测文本对应的响应数据。通过对临时识别结果进行预测,并比较当前的临时识别结果和上一次临时识别结果的预测文本是否一致,能够及时、有效地识别出临时识别结果是否具备完整语义,当确定临时识别结果具备完整语义时,控制智能设备输出该预测文本对应的响应数据,实现了对连续输入的音频流数据的断句处理,从而有效地区分音频流数据中包含的多个连续的句子,以便针对用户输入音频流数据中的每个句子作出及时的响应,缩短了智能设备的响应时间,提高用户体验。

具体实施时,可根据以下方式确定临时识别结果与上一次临时识别结果对应的预测文本是否一致:计算临时识别结果与上一次临时识别结果对应的预测文本的相似度;若相似度超过相似度阈值,确定临时识别结果与上一次临时识别结果对应的预测文本一致;若相似度没有超过相似度阈值,确定临时识别结果与上一次临时识别结果对应的预测文本不一致。

本发明实施例中,相似度阈值的具体取值可由本领域信息技术人员基于选用的相似度算法的精度、识别准确度、文本泛化能力等具体要求,结合实际经验确定,本发明实施例不作限定。

举例说明,临时识别结果为“今天”,预测文本为“今天天气怎么样”,显然临时识别结果与预测文本的相似度较低,此时,表明临时识别结果还不具有完整语义,无法根据当前的临时识别结果确定到用户的意图,即基于当前的临时识别结果无法作出准确的回复,继续等待后续生成的临时识别结果。当临时识别结果为“今天天气怎么”或“今天天气怎么样”时,临时识别结果与预测文本“今天天气怎么样”的相似度高于相似度阈值,表明临时识别结果已经具有完整语义,此时可控制智能设备执行该预测文本对应的响应数据。

具体实施时,对于同一临时识别结果,可能会匹配到一个或多个相似度高于相似度阈值的预设文本,此时,可以将这多个预设文本均作为该临时识别结果对应的预测文本,存储到缓存中。若第n次得到的临时识别结果对应的预测文本是多个,对第n+1次得到的临时识别结果进行预测时,可以优先从第n次得到的临时识别结果对应的多个预测文本中进行匹配。其中,n为正整数。

在上述任一实施例的基础上,本发明实施例的方法还包括以下步骤:若临时识别结果与上一次临时识别结果对应的预测文本不一致,对该临时识别结果进行预测处理,得到该临时识别结果的预测文本;根据该临时识别结果的预测文本,确定该临时识别结果的预测文本对应的响应数据。其中,该临时识别结果的预测文本,用于与下一次临时识别结果进行匹配,以确定是否需要控制智能设备输出预测文本对应的响应数据。

具体实施时,为了提高处理效率,还可以同步进行语音识别和预测处理,具体参考图3,语音识别模块301对音频流数据进行语音识别,实时输出临时识别结果,同时,文本预测模块302对语音识别模块301输出的临时识别结果进行语义预测,得到临时识别结果对应的预测文本,并存入缓存。tn时刻,语音识别模块301输出临时识别结果an,同时,语义预测模块输出基于tn-1时刻的临时识别结果an-1对应的预测文本bn-1,将bn-1存入缓存模块303,比较模块304在获取到an后,从缓存中获取bn-1,并判断an与bn-1的相似度是否超过相似度阈值,若超过,则由控制模块305控制智能设备输出预测文本bn-1对应的响应数据;tn+1时刻,语音识别模块301输出下一次临时识别结果an+1,同时,语义预测模块302输出基于an得到的预测文本bn,将bn存入缓存模块303并覆盖缓存模块303之前存储的预测文本bn-1,比较模块304在获取到an+1后,从缓存中获取bn,并判断an+1与bn的相似度是否超过相似度阈值,若超过,则由控制模块305控制智能设备输出预测文本bn对应的响应数据。按照上述的过程,持续对智能设备采集的音频流数据进行流水线式的处理,以提高处理效率。

实际应用中,基于语音端点检测可得到的同一vad区间内的一段音频流数据对应的最终识别结果。具体实施时,语音端点标识为用于标记音频流数据中语音结束时刻的标识,即语音端点标识后的音频流数据为不包含语音的静音部分。一旦出现语音端点标识,可确定用户已经停止说话,基于语音端点标识前的音频流数据得到的临时识别结果应当是完整的语句,即确定为最终识别结果。需要说明的是,每次得到最终识别结果后,语音识别模块会自动清空基于语音端点标识之前音频流数据获得的临时识别结果。

基于生成的最终识别结果,本发明实施例的方法还包括以下步骤:若临时识别结果与上一次临时识别结果对应的预测文本不一致,且已获得最终识别结果,基于最终识别结果进行语义识别,其中,最终识别结果为基于语音端点检测vad得到的音频流数据的临时识别结果;根据语义识别结果确定响应数据。

具体地,参考图4,本发明实施例的人机对话处理方法包括以下步骤:

s401、对智能设备实时采集到的音频流数据进行语音识别,得到临时识别结果。

s402、判断当前临时识别结果与上一次临时识别结果对应的预测文本是否一致,若一致,则执行步骤s403,否则,执行步骤s404。

s403、控制智能设备输出预测文本对应的响应数据。

s404、判断是否存在最终识别结果,若存在最终识别结果,则执行步骤s405,否则,判断下一次临时识别结果与当前临时识别结果对应的预测文本是否一致。

s405、基于最终识别结果进行语义识别,根据语义识别结果确定响应数据,控制智能设备输出该响应数据。

如果直到产生语音端点标识,当前临时识别结果都不具有完整语义或者与上一次临时识别结果对应的预测文本不一致,就基于最终识别结果进行语义识别,根据语义识别结果确定响应数据,控制智能设备输出该响应数据,防止文本预测算法失效导致无法确定响应数据的情况发生。

在上述任一实施例的基础上,本发明实施例的方法还包括以下步骤:若临时识别结果与上一次临时识别结果对应的预测文本一致,在临时识别结果后增加截断标识;若下一次临时识别结果中截断标识后的文本与该临时识别结果对应的预测文本一致,且临时识别结果对应的预测文本具有完整语义,控制智能设备输出临时识别结果对应的预测文本对应的响应数据。

进一步地,本发明实施例的方法还包括以下步骤:若临时识别结果与上一次临时识别结果对应的预测文本一致,清空临时识别结果。

举例说明,服务器接收到智能设备上传的音频流数据:“今天天气怎么样?适合出去郊游吗?去哪里郊游比较好呢?”。当获得的临时识别结果为“今天天气怎么样”时,确定该临时识别结果与上一次临时识别结果的预测文本一致,此时,在该临时识别结果后增加截断标识“/”得到“今天天气怎么样/”,截断标识“/”前的文本为一句具有完整语义的句子。后续进行文本预测时,对截断标识后的文本进行处理,例如,继续对后续的音频流数据进行语音识别,得到新的临时识别结果“今天天气怎么样/适合”,此时,取临时识别结果中截断标识后的文本进行文本预测,即根据文本“适合”确定其对应的具有完整语义的预测文本,同时,基于文本“适合”确定与缓存中的预测文本是否匹配。继续对后续的音频流数据进行语音识别,当获得的临时识别结果为“今天天气怎么样/适合出去郊游吗”,确定当前的临时识别结果与缓存的预测文本一致,此时,在当前的临时识别结果后增加截断标识“/”得到“今天天气怎么样/适合出去郊游吗/”,表示“适合出去郊游吗”为一个完整的句子。继续对后续的音频流数据进行语音识别,得到临时识别结果为“今天天气怎么样/适合出去郊游吗/去”,此时,取临时识别结果中最后一个截断标识后的文本进行文本预测,即根据文本“去”,确定其对应的具有完整语义的预测文本,同时,基于文本“去”确定与缓存中的预测文本是否匹配。以此类推,直到确定出最终识别结果,在确定出最终识别结果后,清空临时识别结果。这样,可以防止在文本预测和匹配处理过程中,音频流数据中连续的多个句子间发生相互干扰。

作为另一种可能的实现方式,本发明实施例的方法还包括以下步骤:若临时识别结果与上一次临时识别结果对应的预测文本一致,清空临时识别结果。

本步骤中,若确定当前的临时识别结果具有完整语义,则表明当前的临时识别结果已经是一个完整的句子,由于临时识别结果是多次语音识别结果累加得到的,为避免对后续语音识别结果产生干扰,可清空当前的临时识别结果。例如,当前的临时识别结果为“今天天气怎么样”,确定与上一次临时识别结果对应的预测文本一致,其已具有完整的语义,可清空临时识别结果,在识别之后的音频流数据“适合出去郊游吗”时,就会不有生成“今天天气怎么样适合出去郊游吗”这样的临时识别结果。

举例说明,服务器接收到智能设备上传的音频流数据:“今天天气怎么样?适合出去郊游吗?去哪里郊游比较好呢?植物园的花开是不是开了?”,按照音频流数据的时序,顺序得到以下临时识别结果:“今”、“今天”、“今天天”……,当生成的临时识别结果为“今天天气怎么样”时,确定临时识别结果“今天天气怎么样”与上一次临时识别结果的预测文本“今天天气怎么样”一致,则控制智能设备输出“今天天气怎么样”对应的响应数据,并清空临时识别结果。继续基于后续的音频流数据生成临时识别结果:“适”、“适合”、……,当获得的临时识别结果为“适合出去郊游吗”时,确定临时识别结果“适合出去郊游吗”与上一次临时识别结果的预测文本“适合出去郊游吗”一致,则控制智能设备输出“适合出去郊游吗”对应的响应数据,并清空临时识别结果。以此类推,针对音频流数据中包含的每个句子都及时确定对应的响应数据,并控制智能设备执行对应的响应数据。

如图5所示,基于与上述人机对话处理方法相同的发明构思,本发明实施例还提供了一种人机对话处理装置50,包括:语音识别单元501和控制单元502。

语音识别单元501用于对智能设备实时采集到的音频流数据进行语音识别,得到临时识别结果。

控制单元502用于若临时识别结果与上一次临时识别结果对应的预测文本一致,且预测文本具有完整语义,控制智能设备输出预测文本对应的响应数据,其中,预测文本为对上一次临时识别结果进行预测得到的。

可选地,控制单元502还用于根据以下方式确定临时识别结果与上一次临时识别结果对应的预测文本一致:

计算临时识别结果与上一次临时识别结果对应的预测文本的相似度;

若相似度超过相似度阈值,确定临时识别结果与上一次临时识别结果对应的预测文本一致。

可选地,控制单元502还用于:若临时识别结果与上一次临时识别结果对应的预测文本不一致,对临时识别结果进行预测处理,得到临时识别结果的预测文本;根据临时识别结果的预测文本,确定临时识别结果的预测文本对应的响应数据。

可选地,控制单元502还用于:若临时识别结果与上一次临时识别结果对应的预测文本不一致,且已获得最终识别结果,基于最终识别结果进行语义识别,其中,最终识别结果为基于语音端点检测vad得到的音频流数据的临时识别结果;根据语义识别结果确定响应数据。

可选地,本发明实施例的人机对话处理装置50还包括截断单元,用于:若临时识别结果与上一次临时识别结果对应的预测文本一致,在临时识别结果后增加截断标识。

相应地,控制单元502还用于:若下一次临时识别结果中截断标识后的文本与临时识别结果对应的预测文本一致,且临时识别结果对应的预测文本具有完整语义,控制智能设备输出临时识别结果对应的预测文本对应的响应数据。

可选地,控制单元502还用于:在临时识别结果后增加截断标识之后,对下一次临时识别结果中截断标识后的文本进行预测处理,得到下一次临时识别结果对应的预测文本。

可选地,本发明实施例的人机对话处理装置50还包括清空单元,用于:若临时识别结果与上一次临时识别结果对应的预测文本一致,清空临时识别结果。

本发明实施例提的人机对话处理装置与上述人机对话处理方法采用了相同的发明构思,能够取得相同的有益效果,在此不再赘述。

基于与上述人机对话处理方法相同的发明构思,本发明实施例还提供了一种电子设备,该电子设备具体可以为智能设备内部的控制设备或控制系统,也可以是与智能设备通信的外部设备,如可以为桌面计算机、便携式计算机、智能手机、平板电脑、个人数字助理(personaldigitalassistant,pda)、服务器等。如图6所示,该电子设备60可以包括处理器601和存储器602。

存储器602可以包括只读存储器(rom)和随机存取存储器(ram),并向处理器提供存储器中存储的程序指令和数据。在本发明实施例中,存储器可以用于存储人机对话处理方法的程序。

处理器601可以是cpu(中央处埋器)、asic(applicationspecificintegratedcircuit,专用集成电路)、fpga(field-programmablegatearray,现场可编程门阵列)或cpld(complexprogrammablelogicdevice,复杂可编程逻辑器件)处理器通过调用存储器存储的程序指令,按照获得的程序指令实现上述任一实施例中的人机对话处理方法。

本发明实施例提供了一种计算机可读存储介质,用于储存为上述电子设备所用的计算机程序指令,其包含用于执行上述人机对话处理方法的程序。

上述计算机存储介质可以是计算机能够存取的任何可用介质或数据存储设备,包括但不限于磁性存储器(例如软盘、硬盘、磁带、磁光盘(mo)等)、光学存储器(例如cd、dvd、bd、hvd等)、以及半导体存储器(例如rom、eprom、eeprom、非易失性存储器(nandflash)、固态硬盘(ssd))等。

基于与人机对话处理方法相同的发明构思,本发明实施例提供了一种计算机程序产品,所述计算机程序产品包括存储在计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,所述程序指令被处理器执行时实现上述任一实施例中的人机对话处理方法。

以上所述,以上实施例仅用以对本申请的技术方案进行了详细介绍,但以上实施例的说明只是用于帮助理解本发明实施例的方法,不应理解为对本发明实施例的限制。本技术领域信息的技术人员可轻易想到的变化或替换,都应涵盖在本发明实施例的保护范围之内。

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