语音交互方法及设备转让专利

申请号 : CN201810685005.0

文献号 : CN108920604B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 陆永帅

申请人 : 百度在线网络技术(北京)有限公司

摘要 :

本发明实施例提供一种语音交互方法及设备,该方法包括:判断当前接收到的第一询问语句是否为预设时间段内接收到的首个询问语句;若否,则获取第二询问语句,所述第二询问语句为接收所述第一询问语句之前接收到的最后一个询问语句;根据所述第一询问语句的第一句子向量和所述第二询问语句的第二句子向量,得到第三句子向量;在兜底语料库中获取与所述第三句子向量相似度满足预设条件的第四句子向量对应的第一问答结果,并返回所述第一问答结果。本实施例提供的方法能够向用户返回与询问语句具有关联性的兜底回复,提高了用户的体验。

权利要求 :

1.一种语音交互方法,其特征在于,包括:

判断当前接收到的第一询问语句是否为预设时间段内接收到的首个询问语句;

若否,则获取第二询问语句,所述第二询问语句为接收所述第一询问语句之前接收到的最后一个询问语句;

根据所述第一询问语句的第一句子向量和所述第二询问语句的第二句子向量,得到第三句子向量;

在兜底语料库中获取与所述第三句子向量相似度满足预设条件的第四句子向量对应的第一问答结果,并返回所述第一问答结果;

所述根据所述第一询问语句的第一句子向量和所述第二询问语句的第二句子向量,得到第三句子向量,包括:对所述第一询问语句的第一句子向量和所述第二询问语句的第二句子向量进行求和或加权平均,得到所述第三句子向量。

2.根据权利要求1所述的方法,其特征在于,在所述根据所述第一询问语句的第一句子向量和所述第二询问语句的第二句子向量,得到第三句子向量之前,所述方法还包括:对所述第一询问语句进行分词处理,得到多个第一词语,以及对所述第二询问语句进行分词处理,得到多个第二词语;

根据多个所述第一词语的词向量,得到所述第一询问语句的第一句子向量,以及根据多个所述第二词语的词向量,得到所述第二询问语句的第二句子向量。

3.根据权利要求1所述的方法,其特征在于,所述在兜底语料库中获取与所述第三句子向量相似度满足预设条件的第四句子向量对应的第一问答结果,包括:获取所述兜底语料库中各第五句子向量与所述第三句子向量的相似度,所述兜底语料库中包括第一问答对,以及所述第一问答对中的第三询问语句对应的第五句子向量;

将与所述第三句子向量的相似度最高的第五句子向量作为所述第四句子向量;

在所述兜底语料库中获取所述第四句子向量对应的第一问答结果。

4.根据权利要求3所述的方法,其特征在于,所述获取所述兜底语料库中存储的各第五句子向量与所述第三句子向量的相似度,包括:获取所述兜底语料库中存储的各第五句子向量与所述第三句子向量的余弦相似度。

5.根据权利要求3所述的方法,其特征在于,所述获取所述兜底语料库中存储的各第五句子向量与所述第三句子向量的相似度之前,还包括:从网络中获取聊天封闭集,并根据所述聊天封闭集获取第一问答对;

根据所述第一问答对,得到所述兜底语料库。

6.根据权利要求1所述的方法,其特征在于,所述在判断当前接收到的第一询问语句是否为预设时间段内接收到的首个询问语句之前,所述方法还包括:判断问答语料库中是否存在所述第一询问语句对应的第二问答对,得到的判断结果为否。

7.根据权利要求1所述的方法,其特征在于,若所述第一询问语句为预设时间段内接收到的首个询问语句,所述方法还包括:根据所述第一询问语句的第一句子向量,在所述兜底语料库中获取与所述第一句子向量相似度满足预设条件的第六句子向量对应的第二问答结果,并返回所述第二问答结果。

8.一种语音交互设备,其特征在于,包括:

判断模块,用于判断当前接收到的第一询问语句是否为预设时间段内接收到的首个询问语句;

语句获取模块,用于在判断模块的判断结果为否时,则获取第二询问语句,所述第二询问语句为接收所述第一询问语句之前接收到的最后一个询问语句;

处理模块,用于根据所述第一询问语句的第一句子向量和所述第二询问语句的第二句子向量,得到第三句子向量;

结果获取模块,用于在兜底语料库中获取与所述第三句子向量相似度满足预设条件的第四句子向量对应的第一问答结果,并返回所述第一问答结果;

所述处理模块具体用于,对所述第一询问语句的第一句子向量和所述第二询问语句的第二句子向量进行求和或加权平均处理,得到所述第三句子向量。

9.根据权利要求8所述的设备,其特征在于,还包括:向量获取模块;

所述向量获取模块还用于:在所述根据所述第一询问语句的第一句子向量和所述第二询问语句的第二句子向量,得到第三句子向量之前,对所述第一询问语句进行分词处理,得到多个第一词语,以及对所述第二询问语句进行分词处理,得到多个第二词语;

根据多个所述第一词语的词向量,得到所述第一询问语句的第一句子向量,以及根据多个所述第二词语的词向量,得到所述第二询问语句的第二句子向量。

10.根据权利要求8所述的设备,其特征在于,所述结果获取模块具体用于:获取所述兜底语料库中各第五句子向量与所述第三句子向量的相似度,所述兜底语料库中包括第一问答对,以及所述第一问答对中的第三询问语句对应的第五句子向量;

将与所述第三句子向量的相似度最高的第五句子向量作为所述第四句子向量;

在所述兜底语料库中获取所述第四句子向量对应的第一问答结果。

11.根据权利要求10所述的设备,其特征在于,所述结果获取模块还具体用于:获取所述兜底语料库中存储的各第五句子向量与所述第三句子向量的余弦相似度。

12.根据权利要求10所述的设备,其特征在于,还包括:语料库获取模块;

所述语料库获取模块,用于在获取所述兜底语料库中存储的各第五句子向量与所述第三句子向量的相似度之前,从网络中获取聊天封闭集,并根据所述聊天封闭集获取第一问答对;

根据所述第一问答对,得到所述兜底语料库。

13.根据权利要求8所述的设备,其特征在于,所述判断模块还用于:在判断当前接收到的第一询问语句是否为预设时间段内接收到的首个询问语句之前,判断问答语料库中是否存在所述第一询问语句对应的第二问答对,得到的判断结果为否。

14.根据权利要求8所述的设备,其特征在于,所述结果获取模块,还用于若所述第一询问语句为预设时间段内接收到的首个询问语句,根据所述第一询问语句的第一句子向量,在所述兜底语料库中获取与所述第一句子向量相似度满足预设条件的第六句子向量对应的第二问答结果,并返回所述第二问答结果。

15.一种语音交互设备,其特征在于,包括:至少一个处理器和存储器;

所述存储器存储计算机执行指令;

所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行如权利要求1至7任一项所述的语音交互方法。

16.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如权利要求1至7任一项所述的语音交互方法。

说明书 :

语音交互方法及设备

技术领域

[0001] 本发明实施例涉及语音交互技术领域,尤其涉及一种语音交互方法及设备。

背景技术

[0002] 随着人工智能技术的不断进步,人机语音交互也取得了长足的发展,各种语音助手和人机交互设备受到越来越多的用户的青睐。
[0003] 现有的语音交互过程中,用户在向机器输入了询问语句(query)之后,机器会在语料库中寻找与该询问语句匹配的问答结果,然后向用户反馈该问答结果。然而,由于语料库中的问答对的存储数量有限,使得用户的询问语句并不能得到对应的问答结果,因此,机器就需要使用所谓的“兜底话术”进行返回。其中,“兜底话术”是指设置兜底话术集合,该集合中存储少量的固定回复语句,可以在兜底话术集合中随机挑选回复语句进行回复。例如兜底话术集合可以包括“我不理解”,“我不明白”,“查阅资料学习中”,“你把我难住了”等等。
[0004] 然而,兜底回复是从兜底话术集合中随机选择回复语句进行回复,导致该回复与用户的询问语句并不相关,用户体验差。

发明内容

[0005] 本发明实施例提供一种语音交互方法及设备,以克服回复内容与用户的询问语句并不相关,用户体验差的问题。
[0006] 第一方面,本发明实施例提供一种语音交互方法,包括:
[0007] 判断当前接收到的第一询问语句是否为预设时间段内接收到的首个询问语句;
[0008] 若否,则获取第二询问语句,所述第二询问语句为接收所述第一询问语句之前接收到的最后一个询问语句;
[0009] 根据所述第一询问语句的第一句子向量和所述第二询问语句的第二句子向量,得到第三句子向量;
[0010] 在兜底语料库中获取与所述第三句子向量相似度满足预设条件的第四句子向量对应的第一问答结果,并返回所述第一问答结果。
[0011] 在一种可能的设计中,所述根据所述第一询问语句的第一句子向量和所述第二询问语句的第二句子向量,得到第三句子向量,包括:
[0012] 对所述第一询问语句的第一句子向量和所述第二询问语句的第二句子向量进行加和处理,得到所述第三句子向量。
[0013] 在一种可能的设计中,在所述根据所述第一询问语句的第一句子向量和所述第二询问语句的第二句子向量,得到第三句子向量之前,所述方法还包括:
[0014] 对所述第一询问语句进行分词处理,得到多个第一词语,以及对所述第二询问语句进行分词处理,得到多个第二词语;
[0015] 根据多个所述第一词语的词向量,得到所述第一询问语句的第一句子向量,以及根据多个所述第二词语的词向量,得到所述第二询问语句的第二句子向量。
[0016] 在一种可能的设计中,所述在兜底语料库中获取与所述第三句子向量相似度满足预设条件的第四句子向量对应的第一问答结果,包括:
[0017] 获取所述兜底语料库中各第五句子向量与所述第三句子向量的相似度,所述兜底语料库中包括第一问答对,以及所述第一问答对中的第三询问语句对应的第五句子向量;
[0018] 将与所述第三句子向量的相似度最高的第五句子向量作为所述第四句子向量;
[0019] 在所述兜底语料库中获取所述第四句子向量对应的第一问答结果。
[0020] 在一种可能的设计中,所述获取所述兜底语料库中存储的各第五句子向量与所述第三句子向量的相似度,包括:
[0021] 获取所述兜底语料库中存储的各第五句子向量与所述第三句子向量的余弦相似度。
[0022] 在一种可能的设计中,所述获取所述兜底语料库中存储的各第五句子向量与所述第三句子向量的相似度之前,还包括:
[0023] 从网络中获取聊天封闭集,并根据所述聊天封闭集获取第一问答对;
[0024] 根据所述第一问答对,得到所述兜底语料库。
[0025] 在一种可能的设计中,所述在判断当前接收到的第一询问语句是否为预设时间段内接收到的首个询问语句之前,所述方法还包括:
[0026] 判断问答语料库中是否存在所述第一询问语句对应的第二问答对,得到的判断结果为否。
[0027] 在一种可能的设计中,若所述第一询问语句为预设时间段内接收到的首个询问语句,所述方法还包括:
[0028] 根据所述第一询问语句的第一句子向量,在所述兜底语料库中获取与所述第一句子向量相似度满足预设条件的第六句子向量对应的第二问答结果,并返回所述第二问答结果。
[0029] 第二方面,本发明实施例提供一种语音交互设备,包括:
[0030] 判断模块,用于判断当前接收到的第一询问语句是否为预设时间段内接收到的首个询问语句;
[0031] 语句获取模块,用于在判断模块的判断结果为否时,则获取第二询问语句,所述第二询问语句为接收所述第一询问语句之前接收到的最后一个询问语句;
[0032] 处理模块,用于根据所述第一询问语句的第一句子向量和所述第二询问语句的第二句子向量,得到第三句子向量;
[0033] 结果获取模块,用于在兜底语料库中获取与所述第三句子向量相似度满足预设条件的第四句子向量对应的第一问答结果,并返回所述第一问答结果。
[0034] 在一种可能的设计中,所述处理模块具体用于:
[0035] 对所述第一询问语句的第一句子向量和所述第二询问语句的第二句子向量进行加和处理,得到所述第三句子向量。
[0036] 在一种可能的设计中,还包括:向量获取模块;
[0037] 所述向量获取模块还用于:在所述根据所述第一询问语句的第一句子向量和所述第二询问语句的第二句子向量,得到第三句子向量之前,对所述第一询问语句进行分词处理,得到多个第一词语,以及对所述第二询问语句进行分词处理,得到多个第二词语;
[0038] 根据多个所述第一词语的词向量,得到所述第一询问语句的第一句子向量,以及根据多个所述第二词语的词向量,得到所述第二询问语句的第二句子向量。
[0039] 在一种可能的设计中,所述结果获取模块具体用于:
[0040] 获取所述兜底语料库中各第五句子向量与所述第三句子向量的相似度,所述兜底语料库中包括第一问答对,以及所述第一问答对中的第三询问语句对应的第五句子向量;
[0041] 将与所述第三句子向量的相似度最高的第五句子向量作为所述第四句子向量;
[0042] 在所述兜底语料库中获取所述第四句子向量对应的第一问答结果。
[0043] 在一种可能的设计中,所述结果获取模块还具体用于:
[0044] 获取所述兜底语料库中存储的各第五句子向量与所述第三句子向量的余弦相似度。
[0045] 在一种可能的设计中,还包括:语料库获取模块;
[0046] 所述语料库获取模块,用于在获取所述兜底语料库中存储的各第五句子向量与所述第三句子向量的相似度之前,从网络中获取聊天封闭集,并根据所述聊天封闭集获取第一问答对;
[0047] 根据所述第一问答对,得到所述兜底语料库。
[0048] 在一种可能的设计中,所述判断模块还用于:在判断当前接收到的第一询问语句是否为预设时间段内接收到的首个询问语句之前,判断问答语料库中是否存在所述第一询问语句对应的第二问答对,得到的判断结果为否。
[0049] 在一种可能的设计中,所述结果获取模块,还用于若所述第一询问语句为预设时间段内接收到的首个询问语句,根据所述第一询问语句的第一句子向量,在所述兜底语料库中获取与所述第一句子向量相似度满足预设条件的第六句子向量对应的第二问答结果,并返回所述第二问答结果。
[0050] 第三方面,本发明实施例提供一种语音交互设备,包括:至少一个处理器和存储器;
[0051] 所述存储器存储计算机执行指令;
[0052] 所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行如上第一方面以及第一方面各种可能的设计所述的语音交互方法。
[0053] 第四方面,本发明实施例提供一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如上第一方面以及第一方面各种可能的设计所述的语音交互方法。
[0054] 本实施例提供的语音交互方法及设备,该方法通过判断当前接收到的第一询问语句是否为预设时间段内接收到的首个询问语句;若否,则获取第二询问语句,该第二询问语句为接收第一询问语句之前接收到的最后一个询问语句;根据第一询问语句的第一句子向量和第二询问语句的第二句子向量,得到第三句子向量,本实施例通过结合上一个询问语句来获取句子向量,充分考虑了用户的对话场景,使得问答结果能够考虑上下文信息,在兜底语料库中获取与第三句子向量相似度满足预设条件的第四句子向量对应的第一问答结果,并返回第一问答结果,通过句子向量的相似度来获取匹配的问答结果,计算过程简单,能够快速精准的获取问答结果。

附图说明

[0055] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0056] 图1为本发明实施例提供的语音交互满意度的确定系统的架构示意图;
[0057] 图2为本发明实施例提供的语音交互方法的流程示意图一;
[0058] 图3为本发明实施例提供的语音交互方法的流程示意图二;
[0059] 图4为本发明实施例提供的语音交互设备的结构示意图一;
[0060] 图5为本发明实施例提供的语音交互设备的结构示意图二;
[0061] 图6为本发明实施例提供的语音交互设备的硬件结构示意图。

具体实施方式

[0062] 为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0063] 图1为本发明实施例提供的语音交互满意度的确定系统的架构示意图。如图1所示,本实施例提供的系统包括终端101和服务器102。其中,终端101可以为儿童故事机、手机、平板、车载终端等。本实施例对终端101的实现方式不做特别限制,只要该终端101能够与用户进行语音交互即可。
[0064] 语音交互(Speech Interaction),是基于语音识别、语音合成、自然语言理解等技术,在多种实际应用场景下,赋予终端“能听、会说、懂你”式的智能人机交互体验。适用于多个应用场景中,包括智能问答、智能播放、智能查找等场景。
[0065] 用户通过语音向终端101输入询问语句,该终端101可以根据该询问语句获取问答结果向用户进行反馈。具体地,该终端101可以根据自身存储的语料库,在本地获取问答结果,也可以将该询问语句发送给服务器102,由服务器102获取问答结果,然后反馈给终端101。本实施例对具体的实现方式不做特别限制,终端101本地获取问答结果以及又服务器
102根据询问语句获取问答结果皆可。
[0066] 然而,在一些场景下,由于终端101无法获取到对应的问答结果,则向终端进行兜底回复,但该兜底回复与用户的询问语句并不相关,用户体验差。为了解决该技术问题,本实施例提供一种语音交互方法,该交互方法基于句子向量的相似度,来获取问答结果,从而提高了问答结果与询问语句的相似度,提高用户体验。下面采用详细的实施例进行详细说明。
[0067] 图2为本发明实施例提供的语音交互方法的流程示意图一,本实施例的执行主体可以为图1所示实施例中的终端,也可以为图1所示实施例的服务器,本实施例此处不做特别限制。如图2所示,该方法包括:
[0068] S201、判断当前接收到的第一询问语句是否为预设时间段内接收到的首个询问语句;若否,则执行S202,若是,则执行S205。
[0069] S202、获取第二询问语句,所述第二询问语句为接收所述第一询问语句之前接收到的最后一个询问语句;
[0070] S203、根据所述第一询问语句的第一句子向量和所述第二询问语句的第二句子向量,得到第三句子向量。
[0071] 当用户进行语音输入之后,即获取到了用户输入的第一询问语句之后,判断该第一询问语句是否为本次会话的第一句。本领域技术人员可以理解,该第一询问语句可以为语音,也可以为用户输入的文本,本实施例不做特别限制。
[0072] 若用户输入的第一询问语句不是会话中的第一句,而是本次会话中的第二句或者以后,则采用多轮匹配的输出算法。具体地,一次会话时间可以理解为预设时间段,例如可以以10分钟的时间段为准,若10分钟内用户曾说过其它询问语句,则当前的第一询问语句则采用多轮匹配的方式进行兜底。
[0073] 例如,用户第一次的询问语句为“晚上好”,回答为“晚上好呀,很高兴见到你”,然后用户又说了“今天下雪了”。那么,后面这句“今天下雪了”就采用以下多轮匹配的算法进行兜底话术输出。
[0074] 在多轮匹配中,还需要获取第二询问语句,该第二询问语句为接收第一询问语句之前接收到的最后一个询问语句(第一询问语句的上一个询问语句)。在与兜底语料库进行匹配的时候,根据第一询问语句的第一句子向量和第二询问语句的第二句子向量,得到第三句子向量。
[0075] 具体地,可以通过多种方式来获取第一句子向量和第二句子向量,本实施例此处以一个具体的实施例为例进行详细说明,对于其它的实现方式本实施例此处不做特别限制。
[0076] 在具体实现过程中,对第一询问语句进行分词处理,得到多个第一词语,以及对第二询问语句进行分词处理,得到多个第二词语;根据多个第一词语的词向量,得到第一询问语句的第一句子向量,以及根据多个第二词语的词向量,得到第二询问语句的第二句子向量。
[0077] 其中,所谓词向量,就是词语的向量表示,即一个词语可以对应到一个向量。对于相似的词,其对应的词向量也相近。例如“下雨”的词向量为(0.5,0.5),“下雪”的词向量为(0.6,0.6)。本实施例中以词向量为二维的词向量进行举例计算,只是为了说明整个发明的流程,实际工程中的词向量可以更多维的词向量,例如1024维,其计算过程和数据量都会更为复杂,但整体思路都是一致的。
[0078] 词向量计算有很多成熟的算法,有统计语言模型、神经网络概率语言模型、深度学习模型等,只要有大量的文本语料即可训练得到合适的词向量。本发明不对词向量的构建方法有所限制。
[0079] 由于第一询问语句和第二询问语句都为句子,而不是词语,若要根据词向量获取句子向量,就需要对第一询问语句和第二询问语句进行分词处理。例如用户输入是“今天下雪了”,则分词为“今天”,“下雪”,“了”;根据上面的词向量,可以得到“今天”的词向量为(0.5,0),“下雪”的词向量为(0.6,0.6),“了”的词向量为(0,0.1)。则,用户的输入“今天下雪了”的句子向量则为(0.5+0.6+0,0+0.6+0.1),即(1.1,0.7)。
[0080] 在得到第一询问语句的第一句子向量和第二询问语句的第二句子向量之后,根据第一句子向量和第二句子向量,得到第三句子向量。具体地,可以对第一句子向量和第二句子向量进行求和或加权平均,得到第三句子向量。
[0081] 例如,用户的询问语句“今天下雪了”(上一句是“晚上好”),即第一询问语句是“今天下雪了”,第二询问语句是“晚上好”。
[0082] 由上可知,“今天下雪了”对应的第一句子向量为(1.1,0.7)。针对第二询问语句“晚上好”,“晚上”的词向量为(-0.7,1),“好”的词向量为(-0.1,0.2),则“晚上好”对应的第二句子向量为(-0.8,1.2),与“今天下雪了”的句子向量(1.1,0.7)相加,得到本次新的句子向量(0.3,1.9),即第三句子向量。
[0083] S204、在兜底语料库中获取与所述第三句子向量相似度满足预设条件的第四句子向量对应的第一问答结果,并返回所述第一问答结果。
[0084] 在本实施例中,兜底语料库中包括第一问答对,以及第一问答对中的第三询问语句对应的第五句子向量。其中,第一问答对包括询问语句和对应的问答结果,针对每个询问语句,都经过计算得到了该询问语句的第五句子向量。
[0085] 具体地,获取兜底语料库中各第五句子向量与第三句子向量的相似度,将与第三句子向量的相似度最高的第五句子向量作为第四句子向量;在兜底语料库中获取第四句子向量对应的第一问答结果。
[0086] 例如,假设兜底语料库中包括询问语句“今天下雨了”,“今天晚上下雨”了。
[0087] 其中,“今天/下雨/了”的句子向量为(0.5+0.5+0,0+0.5+0.1),即(1,0.6)。“今天/晚上/下雨/了”对应的句子向量为(0.5-0.7+0.5+0,0+1+0.5+0.1)=(0.3,1.6)。
[0088] 计算上述两个句子向量与第三句子向量的相似度。其中,计算相似度的方式有多种,此处以余弦相似度为例进行说明。
[0089] 即, 其中,cosθ为余弦相似度,a与b分别为句子向量。
[0090] 以第三句子向量为通过“晚上好+今天下雪了”得到的句子向量为例,进行详细说明。
[0091] “晚上好+今天下雪了”(设为a(0.3,1.9))与“今天下雨了”(设为b(1,0.6))的余弦相似度为:
[0092]
[0093] “晚上好+今天下雪了”(设为a(0.3,1.9))与“今天/晚上/下雨/了”(设为c(0.3,1.6))的余弦相似度为:
[0094]
[0095] 由上可知,第三句子向量与“今天/晚上/下雨/了”的句子向量的余弦相似度更高,该句子的句子向量即为第四句子向量。
[0096] 在多轮中,用户的这句“今天下雪了”(上一句是“晚上好”),匹配到的就是兜底语料库中的“今天晚上下雨了”,然后回复“今天晚上下雨了”对应的问答结果“小主人,天色已晚,天气恶劣,千万不要出去乱跑哟。安心睡觉,明天再去玩吧。”这样可以一定程度用到上文的一些信息,使整个回复更智能更人性化。
[0097] S205、根据所述第一询问语句的第一句子向量,在所述兜底语料库中获取与所述第一句子向量相似度满足预设条件的第六句子向量对应的第二问答结果,并返回所述第二问答结果。
[0098] 若该第一询问语句为预设时间段内的首个询问语句,则直接根据该第一询问语句的第一句子向量,在兜底语料库中获取第二问答结果即可。
[0099] 本实施例提供的语音交互方法,通过判断当前接收到的第一询问语句是否为预设时间段内接收到的首个询问语句;若否,则获取第二询问语句,该第二询问语句为接收第一询问语句之前接收到的最后一个询问语句;根据第一询问语句的第一句子向量和第二询问语句的第二句子向量,得到第三句子向量,本实施例通过结合上一个询问语句来获取句子向量,充分考虑了用户的对话场景,使得问答结果能够考虑上下文信息,在兜底语料库中获取与第三句子向量相似度满足预设条件的第四句子向量对应的第一问答结果,并返回第一问答结果,通过句子向量的相似度来获取匹配的问答结果,计算过程简单,能够快速精准的获取问答结果。
[0100] 图3为本发明实施例提供的语音交互方法的流程示意图二,本实施例在图2实施例的基础上,对本实施例的具体实现过程进行了详细说明。如图3所示,该方法包括:
[0101] S301、从网络中获取聊天封闭集,并根据所述聊天封闭集获取第一问答对;
[0102] S302、根据所述第一问答对,得到兜底语料库,所述兜底语料库中包括第一问答对,以及所述第一问答对中的第三询问语句对应的第五句子向量。
[0103] 在具体实现过程中,可以从网络中获取聊天封闭集,其中聊天封闭集是指数量有限的聊天对话内容。从该聊天对话内容中可以提取第一问答对,即包括询问语句和问答结果的问答对,并计算每个询问语句的句子向量,得到兜底语料库。
[0104] S303、判断问答语料库中是否存在第一询问语句对应的第二问答对,若否,执行S304,若是,执行S309;
[0105] S304、判断当前接收到的第一询问语句是否为预设时间段内接收到的首个询问语句;若否,则执行S305,若否,则执行S308;
[0106] 在得到第一询问语句之后,可以先从问答语料库中获取该第一询问语句对应的第二问答对,具体的获取方式可以为语义匹配等方式,本实施例此处不做特别限制,若存在该第二问答对,则直接根据第二问答对确定第一询问语句对应的第三问答结果,并返回第三问答结果。
[0107] 若不存在第二问答对,则执行S305。其中,S305至S308与图2实施例中的S202至S205类似,本实施例此处不做特别限制。
[0108] S305、获取第二询问语句,所述第二询问语句为接收所述第一询问语句之前接收到的最后一个询问语句;
[0109] S306、根据所述第一询问语句的第一句子向量和所述第二询问语句的第二句子向量,得到第三句子向量;
[0110] S307、在兜底语料库中获取与所述第三句子向量相似度满足预设条件的第四句子向量对应的第一问答结果,并返回所述第一问答结果;
[0111] S308、根据所述第一询问语句的第一句子向量,在所述兜底语料库中获取与所述第一句子向量相似度满足预设条件的第六句子向量对应的第二问答结果,并返回所述第二问答结果;
[0112] S309、根据所述第二问答对确定所述第一询问语句对应的第三问答结果,并返回所述第三问答结果。
[0113] 本实施例提供的语音交互方法,通过预先建立兜底语料库,并在问答语料库中没有对应的问答结果时,从兜底语料库中通过句子向量的相似度来获取匹配的问答结果,计算过程简单,能够快速精准的获取问答结果。
[0114] 图4为本发明实施例提供的语音交互设备的结构示意图一。如图4所示,该语音交互设备40包括:判断模块401、语句获取模块402、处理模块403以及结果获取模块404。
[0115] 判断模块401,用于判断当前接收到的第一询问语句是否为预设时间段内接收到的首个询问语句;
[0116] 语句获取模块402,用于在判断模块401的判断结果为否时,则获取第二询问语句,所述第二询问语句为接收所述第一询问语句之前接收到的最后一个询问语句;
[0117] 处理模块403,用于根据所述第一询问语句的第一句子向量和所述第二询问语句的第二句子向量,得到第三句子向量;
[0118] 结果获取模块404,用于在兜底语料库中获取与所述第三句子向量相似度满足预设条件的第四句子向量对应的第一问答结果,并返回所述第一问答结果。
[0119] 本实施例提供的设备,可用于执行上述方法实施例的技术方案,其实现原理和技术效果类似,本实施例此处不再赘述。
[0120] 图5为本发明实施例提供的语音交互设备的结构示意图二。如图5所示,本实施例在图4实施例的基础上,还包括:向量获取模块405和语料库获取模块406。
[0121] 在一种可能的设计中,所述处理模块403具体用于:
[0122] 对所述第一询问语句的第一句子向量和所述第二询问语句的第二句子向量进行加和处理,得到所述第三句子向量。
[0123] 在一种可能的设计中,所述向量获取模块405还用于:在所述根据所述第一询问语句的第一句子向量和所述第二询问语句的第二句子向量,得到第三句子向量之前,对所述第一询问语句进行分词处理,得到多个第一词语,以及对所述第二询问语句进行分词处理,得到多个第二词语;
[0124] 根据多个所述第一词语的词向量,得到所述第一询问语句的第一句子向量,以及根据多个所述第二词语的词向量,得到所述第二询问语句的第二句子向量。
[0125] 在一种可能的设计中,所述结果获取模块404具体用于:
[0126] 获取所述兜底语料库中各第五句子向量与所述第三句子向量的相似度,所述兜底语料库中包括第一问答对,以及所述第一问答对中的第三询问语句对应的第五句子向量;
[0127] 将与所述第三句子向量的相似度最高的第五句子向量作为所述第四句子向量;
[0128] 在所述兜底语料库中获取所述第四句子向量对应的第一问答结果。
[0129] 在一种可能的设计中,所述结果获取模块404还具体用于:
[0130] 获取所述兜底语料库中存储的各第五句子向量与所述第三句子向量的余弦相似度。
[0131] 在一种可能的设计中,所述语料库获取模块406,用于在获取所述兜底语料库中存储的各第五句子向量与所述第三句子向量的相似度之前,从网络中获取聊天封闭集,并根据所述聊天封闭集获取第一问答对;
[0132] 根据所述第一问答对,得到所述兜底语料库。
[0133] 在一种可能的设计中,所述判断模块401还用于:在判断当前接收到的第一询问语句是否为预设时间段内接收到的首个询问语句之前,判断问答语料库中是否存在所述第一询问语句对应的第二问答对,得到的判断结果为否。
[0134] 在一种可能的设计中,所述结果获取模块404,还用于若所述第一询问语句为预设时间段内接收到的首个询问语句,根据所述第一询问语句的第一句子向量,在所述兜底语料库中获取与所述第一句子向量相似度满足预设条件的第六句子向量对应的第二问答结果,并返回所述第二问答结果。
[0135] 本实施例提供的设备,可用于执行上述方法实施例的技术方案,其实现原理和技术效果类似,本实施例此处不再赘述。
[0136] 图6为本发明实施例提供的语音交互设备的硬件结构示意图。如图6所示,本实施例的语音交互设备60包括:处理器601以及存储器602;其中
[0137] 存储器602,用于存储计算机执行指令;
[0138] 处理器601,用于执行存储器存储的计算机执行指令,以实现上述实施例中接收设备所执行的各个步骤。具体可以参见前述方法实施例中的相关描述。
[0139] 可选地,存储器602既可以是独立的,也可以跟处理器601集成在一起。
[0140] 当存储器602独立设置时,该语音交互设备还包括总线1703,用于连接所述存储器1702和处理器1701。
[0141] 本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如上所述的语音交互方法。
[0142] 在本发明所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。例如,以上所描述的设备实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0143] 所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
[0144] 另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个单元中。上述模块成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
[0145] 上述以软件功能模块的形式实现的集成的模块,可以存储在一个计算机可读取存储介质中。上述软件功能模块存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(英文:processor)执行本申请各个实施例所述方法的部分步骤。
[0146] 应理解,上述处理器可以是中央处理单元(英文:Central Processing Unit,简称:CPU),还可以是其他通用处理器、数字信号处理器(英文:Digital Signal Processor,简称:DSP)、专用集成电路(英文:Application Specific Integrated Circuit,简称:ASIC)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合发明所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
[0147] 存储器可能包含高速RAM存储器,也可能还包括非易失性存储NVM,例如至少一个磁盘存储器,还可以为U盘、移动硬盘、只读存储器、磁盘或光盘等。
[0148] 总线可以是工业标准体系结构(Industry Standard Architecture,ISA)总线、外部设备互连(Peripheral Component,PCI)总线或扩展工业标准体系结构(Extended Industry Standard Architecture,EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,本申请附图中的总线并不限定仅有一根总线或一种类型的总线。
[0149] 上述存储介质可以是由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。存储介质可以是通用或专用计算机能够存取的任何可用介质。
[0150] 一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于专用集成电路(Application Specific Integrated Circuits,简称:ASIC)中。当然,处理器和存储介质也可以作为分立组件存在于电子设备或主控设备中。
[0151] 本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
[0152] 最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。