CN114822533A - 语音交互方法、模型训练方法、电子设备和存储介质 - Google Patents
语音交互方法、模型训练方法、电子设备和存储介质 Download PDFInfo
- Publication number
- CN114822533A CN114822533A CN202210378175.0A CN202210378175A CN114822533A CN 114822533 A CN114822533 A CN 114822533A CN 202210378175 A CN202210378175 A CN 202210378175A CN 114822533 A CN114822533 A CN 114822533A
- Authority
- CN
- China
- Prior art keywords
- user voice
- request
- voice request
- prediction
- neural network
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 136
- 230000003993 interaction Effects 0.000 title claims abstract description 131
- 230000000306 recurrent effect Effects 0.000 claims abstract description 84
- 238000003062 neural network model Methods 0.000 claims abstract description 82
- 238000004590 computer program Methods 0.000 claims description 16
- 238000013528 artificial neural network Methods 0.000 claims description 14
- 230000015654 memory Effects 0.000 claims description 13
- 125000004122 cyclic group Chemical group 0.000 claims description 10
- 238000013398 bayesian method Methods 0.000 claims description 8
- 238000007405 data analysis Methods 0.000 claims description 6
- 230000008569 process Effects 0.000 abstract description 16
- 239000013589 supplement Substances 0.000 abstract description 5
- 238000010586 diagram Methods 0.000 description 25
- 238000005516 engineering process Methods 0.000 description 14
- 230000006870 function Effects 0.000 description 10
- 230000000295 complement effect Effects 0.000 description 7
- 230000000694 effects Effects 0.000 description 6
- 230000007246 mechanism Effects 0.000 description 6
- 230000003203 everyday effect Effects 0.000 description 3
- 230000006403 short-term memory Effects 0.000 description 3
- 238000010276 construction Methods 0.000 description 2
- 230000004927 fusion Effects 0.000 description 2
- 238000010845 search algorithm Methods 0.000 description 2
- 238000012163 sequencing technique Methods 0.000 description 2
- 238000002474 experimental method Methods 0.000 description 1
- 230000007787 long-term memory Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/22—Procedures used during a speech recognition process, e.g. man-machine dialogue
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/06—Creation of reference templates; Training of speech recognition systems, e.g. adaptation to the characteristics of the speaker's voice
- G10L15/063—Training
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/08—Speech classification or search
- G10L15/16—Speech classification or search using artificial neural networks
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/06—Creation of reference templates; Training of speech recognition systems, e.g. adaptation to the characteristics of the speaker's voice
- G10L15/063—Training
- G10L2015/0631—Creating reference templates; Clustering
Landscapes
- Engineering & Computer Science (AREA)
- Computational Linguistics (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Machine Translation (AREA)
Abstract
本发明公开了一种语音交互方法、模型训练方法、电子设备和存储介质。该语音交互方法包括:获取用户语音数据以实时进行语音识别得到用户语音请求;在未接收到完整的用户语音请求的情况下,根据实时获取的用户语音请求和循环神经网络模型对用户语音请求进行预测得到预测结果;对预测结果进行处理得到第一预测指令;在接收到完整的用户语音请求后,若预测结果与接收到完整的用户语音请求相同,则根据第一预测指令完成语音交互。本发明基于循环神经网络模型对用户语音请求预测补全,减少对话***处理用户语音请求所需的总时长,同时,采用轻量模型,且能够准确且快速地预测出常规的语句,丰富度、参数量、时间花费及成本也都能够得到控制。
Description
技术领域
本发明涉及语音交互技术领域,特别涉及一种语音交互方法、模型训练方法、电子设备和存储介质。
背景技术
对于文本补全,类似的业务有输入法的提示词、搜索框的输入提示、代码的补全提示、文本的自动生成等。第一,可以使用常规的搜索算法,但这需要提前存储大量数据,且在巨大的数据库中进行搜索,利用空间换时间方法提高效率与准度。第二,还可以使用近些年热门的预训练文本生成模型,虽然准确率高且多样性丰富,但是模型参数量巨大,对于特定领域文本还需再花较长时间训练,生成文本的时间也较长,对于设备的要求较高,时间的花费也较大。
但在语音识别处理这一场景下,想要在用户正常说话时间内利用***用户意图从而抢到时间收益,同时不影响***的正常使用,就需要模型的生成速度快、准确度高、吞吐量低,因此模型要求不能太大、不追求多样性,且为了节约成本,存储空间要尽可能小。
发明内容
本发明实施方式提供一种语音交互方法、模型训练方法、电子设备和存储介质。
本发明实施方式提供一种语音交互方法。所述语音交互方法包括:获取用户语音数据以实时进行语音识别得到用户语音请求;在未接收到完整的所述用户语音请求的情况下,根据实时获取的所述用户语音请求和循环神经网络模型对所述用户语音请求进行预测得到预测结果;对所述预测结果进行处理得到第一预测指令;在接收到完整的所述用户语音请求后,若所述预测结果与接收到完整的所述用户语音请求相同,则根据所述第一预测指令完成语音交互。
如此,本发明的语音交互方法基于循环神经网络模型对用户语音请求预测补全,减少对话***处理用户语音请求所需的总时长,同时,采用轻量模型,且能够准确且快速地预测出常规的语句,丰富度、参数量、时间花费及成本也都能够得到控制。
所述在未接收到完整的所述用户语音请求的情况下,根据实时获取的所述用户语音请求和循环神经网络模型对所述用户语音请求进行预测得到预测结果,包括:将实时获取的所述用户语音请求作为当前输入提供给所述循环神经网络模型进行预测得到预测字符;在所述预测字符不是预设字符的情况下,将所述预测字符和所述当前输入拼接得到下一输入提供给所述循环神经网络模型再次进行预测;在所述预测字符是预设字符的情况下,将所述当前输入作为所述预测结果。
如此,可以根据循环神经网络模型对不完整的用户语音请求进行预测得到预测结果。
所述在所述预测字符不是预设字符的情况下,将所述预测字符和所述当前输入拼接得到下一输入提供给所述循环神经网络再次进行预测,包括:获取所述预测字符的置信度和预测概率分布的熵;在所述置信度大于第一阈值,且所述预测概率分布的熵小于第二阈值的情况下,将所述预测字符和所述当前输入拼接得到下一输入提供给所述循环神经网络再次进行预测。
如此,本发明设立了双重限定,预测结果的置信度需要高于第一阈值,以及预测分布的熵需要低于第二阈值,只有每个预测的字都同时满足这两个条件才“被认可”,使得概率高的结果数量少,同时控制了吞吐量的大小。
所述语音交互方法包括:在所述循环神经网络模型输入的字符数大于最大预测字符数的情况下,确定预测失败。
如此,能够保证减少对话***处理用户语音请求所需的总时长,同时提高循环神经网络模型的预测效率。
所述在未接收到完整的所述用户语音请求的情况下,根据实时获取的所述用户语音请求和循环神经网络模型对所述用户语音请求进行预测得到预测结果,包括:在未接收到完整的所述用户语音请求的情况下,基于前缀树对实时获取的所述用户语音请求进行补全;在基于所述前缀树进行补全未得到补全结果的情况下,根据实时获取的所述用户语音请求和所述循环神经网络模型对所述用户语音请求进行预测得到预测结果。
如此,保证本发明的语音交互方法能够通过个性化模型和全局模型能够及时得到补全结果。
所述语音交互方法包括:在基于所述前缀树进行补全得到所述补全结果的情况下,对所述补全结果进行处理得到第二预测指令;在接收到完整的所述用户语音请求后,若所述补全结果与接收到完整的所述用户语音请求相同,则根据所述第二预测指令完成语音交互。
如此,可以基于前缀树完成对用户不完整的语音请求进行补全得到补全结果,并将后续接收到的完整的语音请求与补全结果进行比较,当接收到的完整的语音请求与补全结果相同时,可以根据补全结果对应的第二预测指令完成语音交互。
所述在未接收到完整的所述用户语音请求的情况下,根据实时获取的所述用户语音请求和循环神经网络模型对所述用户语音请求进行预测得到预测结果,包括:在未接收到完整的所述用户语音请求的情况下,基于前缀树对实时获取的所述用户语音请求进行补全得到补全结果;根据所述循环神经网络模型对所述补全结果进行预测得到所述预测结果。
如此,可以对接收到的用户的不完整的用户语音请求先利用个性化模型进行补全得到补全结果,再将补全结果输入到长短期记忆网络(Long Short-Term Memory,LSTM构建的循环中进行打分排序得到预测结果,从而实现两种模型的有机融合,得到更为准确的预测结果。
所述语音交互方法包括:在未接收到完整的所述用户语音请求的情况下,基于前缀树对实时获取的所述用户语音请求进行补全得到补全结果;对所述补全结果进行处理得到第三预测指令;在接收到完整的所述用户语音请求后,若所述预测结果或所述补全结果与接收到完整的所述用户语音请求相同,则根据对应的所述第一预测指令或所述第三预测指令完成语音交互。
如此,对接收到的通过全局模型与个性化模型同时对不完整的用户语音请求进行处理得到预测结果和补全结果,并分别对预测结果和补全结果进行处理得到第一预测指令或第三预测指令,从而确保可以根据接收到的不完整的用户语音请求得到预测指令,从而完成语音交互。
所述语音交互方法包括:通过数据分析确定补全条件;在实时获取的所述用户语音请求满足所述补全条件的情况下,基于所述前缀树对实时获取的所述用户语音请求进行补全得到所述补全结果。
如此,本发明的语音交互方法及装置能够对接收到的不完整的用户语音请求基于前缀树构建与个人紧密关联的指令预测,实现与个人强相关联的话语自动补全,从而得到补全结果,从而实现对不同用户的个性化话语均能进行识别的千人千面的技术效果。
所述在实时获取的所述用户语音请求满足所述补全条件的情况下,基于所述前缀树对实时获取的所述用户语音请求进行补全得到所述补全结果,包括:在实时获取的所述用户语音请求满足所述补全条件的情况下,根据实时获取的所述用户语音请求确定所述用户语音请求的语音类型;根据所述语音类型选择对应的所述前缀树对实时获取的所述用户语音请求进行补全得到所述补全结果。
如此,本发明的语音交互方法可以根据实时获取的用户语音请求识别该用户语音请求属于哪一类个性化语音类型,从而根据所属语音类型对应的前缀树对该用户语音请求进行自动补全,能够实现对不同用户的个性化话语均能进行识别的千人千面的技术效果。
所述语音交互方法包括:在对接收到完整的所述用户语音请求进行处理得到用户语音指令后,将完整的所述用户语音请求添加到所述前缀树。
如此,本发明的语音交互方法可以通过记录每天的语句来更新前缀树,保证前缀树的实时性。
所述语音交互方法包括:获取预设时间段内的历史用户语音请求;根据所述历史用户语音请求构建所述前缀树。
如此,可以根据预设时间段内的历史用户语音请求构建初始的前缀树,为后续查找前缀树进行补全用户语音请求奠定了基础。
所述语音交互方法包括:为所述前缀树中的所述用户语音请求设置遗忘时长;在所述前缀树中的所述用户语音请求未使用时长达到所述遗忘时长的情况下,在所述前缀树中删除对应的所述用户语音请求。
如此,设立了遗忘时长,将较长时间以前的历史语音请求从前缀树中除去,从而降低了存储成本,也保证了前缀树的实时性。
所述语音交互方法包括:统计所述历史用户语音请求的使用频次、请求长度和/或请求占比;根据所述使用频次、所述请求长度和/或所述请求占比确定所述前缀树中对应所述用户语音请求的权重。
如此,可以将较长时间以前的、使用频次不高的历史语音请求的权重降低,保证前缀树的实时性。
本发明还提供一种模型训练方法,用于训练得到上述实施方式任一项所述的语音交互方法的所述循环神经网络模型。所述模型训练方法包括:获取训练数据;构建所述循环神经网络模型;基于贝叶斯方法,利用所述训练数据对所述循环神经网络进行训练得到训练好的所述循环神经网络模型。
如此,本发明基于贝叶斯方法训练的循环神经网络模型进行语音交互,能够准确且快速地预测出常规的语句,且语句的丰富度、参数量、时间花费及成本也都能够得到控制。
所述获取训练输入数据,包括:获取多个历史用户语音请求;将多个所述历史用户语音请求通过预设字符进行拼接得到请求字符串;根据最大处理长度对所述请求字符串分割得到所述训练数据。
如此,可以基于最长处理长度得到训练数据。
所述根据最大处理长度对所述请求字符串分割得到所述训练数据,包括:遍历所述请求字符串,以所述最大处理长度从当前字符开始截取所述请求字符串得到训练输入数据;以所述最大处理长度从所述当前字符的下一字符开始截取所述请求字符串得到训练结果数据。
如此,可以通过训练输入数据和训练结果数据训练循环神经网络模型,得到训练好的循环神经网络模型。
本发明还提供一种电子设备。所述电子设备包括处理器和存储器,所述存储器上存储有计算机程序,当所述计算机程序被所述处理器执行时,实现上述实施方式任一项所述的语音交互方法。
如此,本发明的电子设备应用的语音交互方法基于循环神经网络模型对用户语音请求预测补全,减少对话***处理用户语音请求所需的总时长,同时,采用轻量模型,且能够准确且快速地预测出常规的语句,丰富度、参数量、时间花费及成本也都能够得到控制。
本发明还提供一种包含有计算机程序的非易失性计算机可读存储介质。当所述计算机程序被一个或多个处理器执行时,实现上述实施方式任一项所述的语音交互方法。
如此,本发明的存储介质应用的语音交互方法基于循环神经网络模型对用户语音请求预测补全,减少对话***处理用户语音请求所需的总时长,同时,采用轻量模型,且能够准确且快速地预测出常规的语句,丰富度、参数量、时间花费及成本也都能够得到控制。
本发明实施方式的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明的上述和/或附加的方面和优点可以从结合下面附图对实施方式的描述中将变得明显和容易理解,其中:
图1是本发明的语音交互方法的流程示意图;
图2是本发明的语音交互装置的结构示意图;
图3是本发明的语音交互方法的流程示意图;
图4是本发明的语音交互方法的流程示意图;
图5是本发明的语音交互方法的流程示意图;
图6是本发明的语音交互方法的预测结果的预测过程的场景示意图;
图7是本发明的语音交互方法的流程示意图;
图8是本发明的语音交互方法中前缀树的结构示意图;
图9现有的流式ASR技术框架的处理机制的流程示意图;
图10是本发明的语音交互方法的ASR技术框架的处理机制的流程示意图;
图11是本发明的语音交互方法的流程示意图;
图12是本发明的语音交互方法的流程示意图;
图13是本发明的语音交互方法的流程示意图;
图14是本发明的语音交互装置的结构示意图;
图15是本发明的语音交互方法的流程示意图;
图16是本发明的语音交互方法的流程示意图;
图17是本发明的语音交互方法的流程示意图;
图18是本发明的语音交互方法的流程示意图;
图19是本发明的语音交互装置的流程示意图;
图20是本发明的语音交互方法的流程示意图;
图21是本发明的语音交互方法的流程示意图;
图22是本发明的模型训练方法的流程示意图;
图23是本发明的模型训练装置的结构示意图;
图24是本发明的模型训练方法的流程示意图;
图25是本发明的模型训练方法的流程示意图;
图26是本发明的模型训练方法中训练模型的训练过程的场景示意图;
图27是本发明的电子设备的结构示意图;
图28是本发明的计算机可读存储介质的结构示意图。
具体实施方式
下面详细描述本发明的实施方式,所述实施方式的示例在附图中示出,其中,相同或类似的标号自始至终表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施方式是示例性的,仅用于解释本发明的实施方式,而不能理解为对本发明的实施方式的限制。
请参阅图1,本发明提供了一种语音交互方法。语音交互方法包括:
01:获取用户语音数据以实时进行语音识别得到用户语音请求;
02:在未接收到完整的用户语音请求的情况下,根据实时获取的用户语音请求和循环神经网络模型对用户语音请求进行预测得到预测结果;
03:对预测结果进行处理得到第一预测指令;
04:在接收到完整的用户语音请求后,若预测结果与接收到完整的用户语音请求相同,则根据第一预测指令完成语音交互。
请参阅图2,本发明还提供一种语音交互装置10。语音交互装置10包括:第一获取模块11、预测模块12、指令生成模块13和比较模块14。
步骤01可以由第一获取模块11实现,步骤02可以由预测模块12实现,步骤03可以由指令生成模块13实现,步骤04可以由比较模块14实现。也即是说,第一获取模块11用于获取用户语音数据以实时进行语音识别得到用户语音请求;预测模块12用于在未接收到完整的用户语音请求的情况下,根据实时获取的用户语音请求和循环神经网络模型对用户语音请求进行预测得到预测结果;指令生成模块13用于对预测结果进行处理得到第一预测指令;比较模块14用于在接收到完整的用户语音请求后,若预测结果与接收到完整的用户语音请求相同,则根据第一预测指令完成语音交互。
具体地,首先,获取用户语音数据以实时进行语音识别得到用户语音请求。其中,用户输入的语音请求是需要先获取用户语音数据,用户语音数据即为用户直接输入的音频流,然后对用户语音数据利用自动语音识别(Automatic Speech Recognition,ASR)技术进行实时语音识别得到的用户语音请求。可以理解地,自动语音识别技术目标是将人类的语音中的词汇内容转换为计算机可读的输入,例如按键、二进制编码或者字符序列。也即是,通过获取用户直接输入的音频流经过自动语音识别可以得到可以为计算机可读的用户语音请求。
然后,在未接收到完整的用户语音请求的情况下,根据实时获取的用户语音请求和循环神经网络模型对用户语音请求进行预测得到预测结果。选了较为轻量的长短期记忆网络(Long Short-Term Memory,LSTM)构建循环神经网络(Seq2Seq)模型统领全局,能够准确且快速地预测出常规的语句,且语句的丰富度、参数量、时间花费及成本也都能够得到控制。
接着,可以对预测结果进行处理得到第一预测指令,在接收到完整的用户语音请求后,若预测结果与接收到完整的用户语音请求相同,则根据第一预测指令完成语音交互。也即是,本申请的语音交互方法在自动语音识别技术返回完整的用户语音请求前,可以基于循环神经网络模型对已获得的用户语音请求进行预测生成预测结果,提前将预测结果发送到后续模块处理得到第一预测指令,其中,后续模块包括自然语言理解(NaturalLanguage Understanding,NLU)模块、对话管理(Dialogue management,DM)模块和自动程序(BOT)模块,在自动语音识别技术返回完整的用户语音请求后,若预测结果与接收到完整的用户语音请求相同,则无需对完整的用户语音请求进行后续处理,可以有效减少对话***处理用户语音请求所需的总时长。
如此,本发明的语音交互方法基于循环神经网络模型对用户语音请求预测补全,减少对话***处理用户语音请求所需的总时长,同时,采用轻量模型,且能够准确且快速地预测出常规的语句,丰富度、参数量、时间花费及成本也都能够得到控制。
在步骤02中,实时获取的用户语音请求可以是自动语音识别技术返回的语音文本,且实时获取的用户语音请求中语音文本的字符数量不小于2个字符且小于10个字符的情况下,利用循环神经网络模型对用户语音请求进行预测。例如,步骤02可以在实时获取到2个字符的情况下对用户语音请求进行预测,得到输入2个字符的情况下对应的预测结果,然后,自动语音识别技术实时返回的语音文本每增加一个字符可再次进行一次预测,得到输入不同数量的字符的情况下,对应的预测结果,并相应处理得到多个第一预测指令。如此,多个预测结果中若存在任一预测结果与自动语音识别技术返回完整的用户语音请求相同,则可以直接根据相应的第一预测指令完成语音交互。当然,在未接收到完整的用户语音请求的情况下,如何根据实时获取的用户语音请求确定是否进行预测可以不限于上述讨论的方式,而可以根据实际需要进行变换。
需要说明的是,自动语音识别技术可以通过等待超时机制在一段持续倾听的时间后确定是否接收到完整的用户语音请求,尽可能保证用户话语的完整性。
请参阅图3,步骤02包括:
021:将实时获取的用户语音请求作为当前输入提供给循环神经网络模型进行预测得到预测字符;
022:在预测字符不是预设字符的情况下,将预测字符和当前输入拼接得到下一输入提供给循环神经网络模型再次进行预测;
023:在预测字符是预设字符的情况下,将当前输入作为预测结果。
请参阅图2,步骤021、022、023可以由预测模块12实现。也即是说,预测模块12用于将实时获取的用户语音请求作为当前输入提供给循环神经网络模型进行预测得到预测字符;在预测字符不是预设字符的情况下,将预测字符和当前输入拼接得到下一输入提供给循环神经网络模型再次进行预测;在预测字符是预设字符的情况下,将当前输入作为预测结果。
具体地,在未接收到完整的用户语音请求的情况下,根据实时获取的用户语音请求和循环神经网络模型对用户语音请求进行预测得到预测结果包括以下步骤:
首先,将实时获取的用户语音请求作为当前输入提供给循环神经网络模型进行预测得到预测字符。例如,实时获取的用户语音请求为“打开”,则将“打开”作为当前输入提供给循环神经网络模型进行预测得到预测字符,如图3所示,得到的预测字符为“空调”。
然后,在预测字符不是预设字符的情况下,将预测字符和当前输入拼接得到下一输入提供给循环神经网络模型再次进行预测,在预测字符是预设字符的情况下,将当前输入作为预测结果。例如,图3中当前输入“打开”经过循环神经网络模型预测得到的预测字符“空”,预设字符为“EOS”,即预测字符“空”不是预设字符“EOS”的情况下,则可以将预测字符和当前输入拼接得到下一输入提供给循环神经网络模型,即下一输入为“打开空”提供给循环神经网络模型再次进行预测得到预测字符“调”,则预测字符“调”也不是预设字符“EOS”的情况下,则可以将预测字符和当前输入拼接得到下一输入提供给循环神经网络模型,即下一输入为“打开空调”提供给循环神经网络模型再次进行预测得到预测字符“EOS”,此时即预测字符是预设字符,可以将当前输入“打开空调”作为预测结果。
如此,可以根据循环神经网络模型对不完整的用户语音请求进行预测得到预测结果。
请参阅图4,步骤022包括:
0221:获取预测字符的置信度和预测概率分布的熵;
0222:在置信度大于第一阈值,且预测概率分布的熵小于第二阈值的情况下,将预测字符和当前输入拼接得到下一输入提供给循环神经网络再次进行预测。
请参阅图2,步骤0221和步骤0222可以由预测模块12实现。也即是说,预测模块12用于获取预测字符的置信度和预测概率分布的熵;在置信度大于第一阈值,且预测概率分布的熵小于第二阈值的情况下,将预测字符和当前输入拼接得到下一输入提供给循环神经网络再次进行预测。
具体地,预测字符的置信度指的是得到预测字符是否为用户真实想表达的字符的准确率。预测概率分布的熵是基于长短期记忆网络预测的概率分布值,用于表示基于长短期记忆网络预测的预测字符与用户真实想表达的字符是否相近,预测概率分布的熵值越小,表示长短期记忆网络预测字符与用户真实想表达的字符越接近。
本发明先获取预测字符的置信度和预测概率分布的熵,然后,在置信度大于第一阈值,且预测概率分布的熵小于第二阈值的情况下,即此时预测字符为用户真实想表达的字符的准确率较高且与用户真实想表达的字符相近或相同,将预测字符和当前输入拼接得到下一输入提供给循环神经网络再次进行预测。
例如,第一阈值可以为60%、65%、68%、72%、75%、79%、80%、82%、85%和90%,第二阈值可以为0、0.1、0.11、0.15、0.2、0.21、0.22、0.23、0.24和0.25。
可以理解地,若长短期记忆网络预测概率分布的熵(Entropy)高于第二阈值,则停止本轮预测。
如此,本发明设立了双重限定,预测结果的置信度需要高于第一阈值,以及预测分布的熵需要低于第二阈值,只有每个预测的字都同时满足这两个条件才“被认可”,使得概率高的结果数量少,同时控制了吞吐量的大小。
请参阅图5,语音交互方法包括:
024:在循环神经网络模型输入的字符数大于最大预测字符数的情况下,确定预测失败。
请结合图2,步骤024可以由预测模块12实现。也即是说,预测模块12用于在循环神经网络模型输入的字符数大于最大预测字符数的情况下,确定预测失败。
可以理解地,由于用户输入的字符数越多,所需耗费的时长越多,且输入的字符数大于一定字符数则没有了预测的必要,因此,本发明设置了最大预测字符数,以尽可能地保证减少对话***处理用户语音请求所需的总时长,提高预测效率。
具体地,本发明的最大预测字符数可以为10个字符,也可以为其他数值,该最大预测字符数为根据多次实验确定后的数值。
当最大预测字符数可以为10个字符时,在循环神经网络模型输入的字符数大于10个字符的情况下,则不对该输入的字符进行预测,即,确定预测失败。
在预测时,对单一字符进行一一预测,若最大预测字符数的下一个字符仍未预测到“[EOS]”,则不下发预测结果。
需要说明的是,本发明的语音交互方法可以用集束搜索算法(Beam Search)而非贪心算法或穷举法进行搜索下一字符。集束搜索算法扩大了搜索空间,但远不及穷举搜索指数级的搜索空间,是贪心算法和穷举法两者的折中算法。
如此,能够保证减少对话***处理用户语音请求所需的总时长,同时提高循环神经网络模型的预测效率。
请参阅图7,步骤02包括:
025:在未接收到完整的用户语音请求的情况下,基于前缀树对实时获取的用户语音请求进行补全;
026:在基于前缀树进行补全未得到补全结果的情况下,根据实时获取的用户语音请求和循环神经网络模型对用户语音请求进行预测得到预测结果。
请结合图2,步骤025和步骤026可以由预测模块12实现。也即是说,预测模块12用于在未接收到完整的用户语音请求的情况下,基于前缀树对实时获取的用户语音请求进行补全;在基于前缀树进行补全未得到补全结果的情况下,根据实时获取的用户语音请求和循环神经网络模型对用户语音请求进行预测得到预测结果。
可以理解地,全局的模型主要是反映整体用户的常规用法,而对于用户独特的习惯,为了提高准确度同时保证速度及吞吐量,可以将此部分的相关语句单独列出,使用个性化模型专门解决。因此,本发明可以采用全局模型融合个性化模型的方式来进行用户语音请求补全。其中,全局模型基于全量用户的语音请求的语料进行训练,主要用于预测全局常见的有效指令。个性化模型则基于用户个体的用户语音请求的语料进行构建,用于导航、音乐、电话、高频等与个人紧密关联的指令预测。其中,本发明的全局模型为前文所述的基于长短期记忆网络构建的循环神经网络模型。本发明的个性化模型则为基于前缀树算法构建的模型。
请结合表1,个性化的用户语音请求可以分为两种,一种是封闭式的用户语音数据实时识别得到相应的用户语音请求如“打开车辆状态”。另一种是开放式的用户语音数据实时识别得到相应的用户语音请求,如“导航到益田假日广场”,开放性用户语音请求体现在槽位是开放式的。
表1
具体地,首先,先获取用户语音数据以实时进行语音识别得到用户语音请求,从而识别出满足上述条件的个性化的用户语音请求,满足对不同用户的个性化语音需求。其中,用户输入的语音请求是需要先获取用户语音数据,用户语音数据即为用户直接输入的音频流,然后对用户语音数据利用自动语音识别技术进行实时语音识别得到的用户语音请求。可以理解地,自动语音识别技术目标是将人类的语音中的词汇内容转换为计算机可读的输入,例如按键、二进制编码或者字符序列。
然后,在未接收到完整的用户语音请求的情况下,基于前缀树对实时获取的用户语音请求进行补全得到补全结果。也即是,在实时获取用户语音请求且未接收到完整的用户语音请求时,一旦识别到该不完整的用户语音请求符合上述任意一个方面的个性化用户语音请求,便可以在前缀树中寻找符合的语句进行补全得到补全结果,并可以对补全结果进行处理得到预测语音指令。
本发明的前缀树算法,简单易实现,通过树形结构,以每个语句前缀作为节点存储语句,搜索查找语句快捷、方便。前缀树可以为如图8所示,图8的前缀树中的节点为“日”和“歌”。
可以理解地,由于前缀树可以对实时获取的用户语音请求进行补全,也即是,本发明通过记录用户每天输入的语句对前缀树进行实时更新,可以保证前缀树的实时性。
在接收到完整的用户语音请求后,若补全结果与接收到完整的用户语音请求相同,则根据预测语音指令完成语音交互。也即是,当接收到完整用户语音请求时,可以将补全结果与完整的用户语音请求进行比对,若两者的语音请求的语句完全相同或语句若有偏差但两者所表达的意思一样,则可以认为补全结果与接收到完整的用户语音请求相同。
因此,在补全结果与接收到完整的用户语音请求相同时,可以直接根据预测语音指令完成语音交互,从而达到在用户正常说话时间内利用***用户意图,从时间层面上加快了语音交互进程,且预测语音指令生成速度快且准确度高的技术效果。
可以理解地,请参阅图9,当前的流式ASR技术框架的处理机制是逐帧识别用户传入的语音信息,并实时返回识别的结果,最后会有一段持续倾听的等待超时机制,尽可能保证用户话语的完整性。如图9所示,当前的流式ASR技术框架的处理机制的可利用的时间是用户语音请求获得的时间到ASR超时等待结束的这段原本应耗时间,而最大可抢跑的收益时间是自然语言理解(Natural Language Understanding,NLU)模块、对话管理(Dialoguemanagement,DM)模块和自动程序(BOT)模块进行处理的时间,即为NLU+DM+BOT的原语音请求应处理的时间。
请参阅图10,而本发明语音交互方法在ASR返回完整句子前,基于前缀树对已获得的用户语音请求进行补全,提前发送到后续模块处理,可以有效减少对话***处理用户指令所需的总时长。也即是,本申请的语音交互方法使用完整度低的用户语音指令,准确预测用户的表达结果,预测的表达结果或用户完整语音请求的语义完全相同则视为预测正确,可以有效减少对话***处理用户指令所需的总时长。
此外,在基于前缀树进行补全未得到补全结果的情况下,根据实时获取的用户语音请求和循环神经网络模型对用户语音请求进行预测得到预测结果,可以保证在通过前缀树没有得到补全结果时,能够及时根据循环神经网络模型对用户语音请求进行预测得到预测结果。
也即是,可以优先考虑个性化模型进行补全用户不完整的语音请求,在通过个性化模型无法得到补全结果的情况下,再通过全局模型进行补全得到补全结果。
如此,保证本发明的语音交互方法能够通过个性化模型和全局模型能够及时得到补全结果。
请参阅图11,语音交互方法包括:
027:在基于前缀树进行补全得到补全结果的情况下,对补全结果进行处理得到第二预测指令;
028:在接收到完整的用户语音请求后,若补全结果与接收到完整的用户语音请求相同,则根据第二预测指令完成语音交互。
请结合图2,步骤027和步骤028可以由预测模块12实现。也即是说,预测模块12用于在基于前缀树进行补全得到补全结果的情况下,对补全结果进行处理得到第二预测指令;在接收到完整的用户语音请求后,若补全结果与接收到完整的用户语音请求相同,则根据第二预测指令完成语音交互。
具体地,用户语音请求会按帧发送到服务器,服务器上的流式ASR逐帧识别并实时广播识别结果,电子设备每次收到广播识别结果后可以进行:(1)条件拦截:字数限制在2~10;(2)发送不完整的文本给话语补全模块请求补全,若有输出补全结果,则可以将补全结果发送到自然语言理解(Natural Language Understanding,NLU)模块、对话管理(Dialogue management,DM)模块和自动程序(BOT)模块进行相关处理得到第二预测指令。
最后当流式ASR模块已接收到完整的用户语音请求,此时将补全结果与完整的语音请求进行对比,若补全结果与完整的语音请求经过自然语言理解后判定为结果一致,则认为补全成功,直接提交对补全结果处理得到的第二预测指令进行语音交互。
若补全结果与完整的语音请求经过自然语言理解后判定为结果不一致,则认为补全失败,按原本处理流程正常进行即可。
如此,可以基于前缀树完成对用户不完整的语音请求进行补全得到补全结果,并将后续接收到的完整的语音请求与补全结果进行比较,当接收到的完整的语音请求与补全结果相同时,可以根据补全结果对应的第二预测指令完成语音交互。
请参阅图12,步骤02包括:
0291:在未接收到完整的用户语音请求的情况下,基于前缀树对实时获取的用户语音请求进行补全得到补全结果;
0292:根据循环神经网络模型对补全结果进行预测得到预测结果。
请结合图2,步骤0291和步骤0292可以由预测模块12实现。也即是说,预测模块12用于在未接收到完整的用户语音请求的情况下,基于前缀树对实时获取的用户语音请求进行补全得到补全结果;根据循环神经网络模型对补全结果进行预测得到预测结果。
具体地,首先,在未接收到完整的用户语音请求的情况下,可以先基于前缀树对实时获取的用户语音请求进行补全得到补全结果。然后,根据循环神经网络模型对补全结果进行预测得到预测结果。
如此,可以对接收到的用户的不完整的用户语音请求先利用个性化模型进行补全得到补全结果,再将补全结果输入到长短期记忆网络构建的循环中进行打分排序得到预测结果,从而实现两种模型的有机融合,得到更为准确的预测结果。
需要说明的是,关于补全结果的排序择优,可以结合当前车机信息,如当前时间(早|中|晚、工作日|周末、季|年)、车辆状态(启动|行驶|停止)、上一轮的用户语音请求或大屏状态(导航界面|音乐界面)等信息,对补全结果进行排序筛选择优。
也即是,本发明的语音交互方法根据想达到的目标补全结果有选择地筛选补全结果的数据,能够找到筛选出的补全结果与常见语音文本生成的补全方案的区别,从而形成特定领域独有的补全技术方案。
此外,本发明的语音交互方法将有机地将全局模型与个性化模型相互融合,方案可操控性强,所需设备要求低,易于实现,效果显著。
请参阅图13,语音交互方法包括:
05:在未接收到完整的用户语音请求的情况下,基于前缀树对实时获取的用户语音请求进行补全得到补全结果;
06:对补全结果进行处理得到第三预测指令;
07:在接收到完整的用户语音请求后,若预测结果或补全结果与接收到完整的用户语音请求相同,则根据对应的第一预测指令或第三预测指令完成语音交互。
请参阅图14,语音交互装置10还包括补全模块15。
步骤05可以由补全模块15实现,步骤06可以由指令生成模块13实现,步骤07可以由比较模块14实现。也即是说,补全模块15用于在未接收到完整的用户语音请求的情况下,基于前缀树对实时获取的用户语音请求进行补全得到补全结果;指令生成模块13用于对补全结果进行处理得到第三预测指令;比较模块14用于在接收到完整的用户语音请求后,若预测结果或补全结果与接收到完整的用户语音请求相同,则根据对应的第一预测指令或第三预测指令完成语音交互。
具体地,可以对接收到的通过全局模型与个性化模型同时对不完整的用户语音请求进行处理得到预测结果和补全结果,并分别对预测结果和补全结果进行处理得到第一预测指令或第三预测指令。
然后,在接收到完整的用户语音请求后,若预测结果或补全结果与接收到完整的用户语音请求相同,则根据对应的第一预测指令或第三预测指令完成语音交互指的是:
若预测结果与接收到完整的用户语音请求相同,则根据对应的第一预测指令完成语音交互。若补全结果与接收到完整的用户语音请求相同,则根据对应的第三预测指令完整语音交互。若预测结果与补全结果均与接收到完整的用户语音请求相同,则根据第一预测指令或第三预测指令中的任意一个指令完成语音交互。
如此,对接收到的通过全局模型与个性化模型同时对不完整的用户语音请求进行处理得到预测结果和补全结果,并分别对预测结果和补全结果进行处理得到第一预测指令或第三预测指令,从而确保可以根据接收到的不完整的用户语音请求得到预测指令,从而完成语音交互。
请参阅图15,语音交互方法包括:
0251:通过数据分析确定补全条件;
0252:在实时获取的用户语音请求满足补全条件的情况下,基于前缀树对实时获取的用户语音请求进行补全得到补全结果。
请结合图2,步骤0251和步骤0252可以由预测模块12实现。也即是说,预测模块12用于通过数据分析确定补全条件;在实时获取的用户语音请求满足补全条件的情况下,基于前缀树对实时获取的用户语音请求进行补全得到补全结果。
具体地,通过数据分析确定补全条件。例如,补全条件可以为:已获取的字数范围达到2~10。该字数的范围是根据线上数据分析确定的范围。
在实时获取的用户语音请求满足补全条件的情况下,基于前缀树对实时获取的用户语音请求进行补全得到补全结果。也即是,在实时获取的用户语音请求的字数达到2个或3个、4个、5个、6个、7个、8个、9个或10个时,可以基于前缀树对该不完整的用户语音请求进行补全得到补全结果,当然,还可以根据实际需要变化该字数范围。
例如,请结合图8,当实时获取的用户语音请求的字数为2个,且用户语音请求为“日不”,则可以基于图8中的前缀树,对该用户语音请求进行补全得到补全结果为“日不落”。
如此,本发明的语音交互方法能够对接收到的不完整的用户语音请求基于前缀树构建与个人紧密关联的指令预测,实现与个人强相关联的话语自动补全,从而得到补全结果,从而实现对不同用户的个性化话语均能进行识别的千人千面的技术效果。
请参阅图16,步骤0252包括:
02521:在实时获取的用户语音请求满足补全条件的情况下,根据实时获取的用户语音请求确定用户语音请求的语音类型;
02522:根据语音类型选择对应的前缀树对实时获取的用户语音请求进行补全得到补全结果。
请结合图2,步骤02521和步骤02522可以由预测模块12实现。也即是说,预测模块12用于在实时获取的用户语音请求满足补全条件的情况下,根据实时获取的用户语音请求确定用户语音请求的语音类型;根据语音类型选择对应的前缀树对实时获取的用户语音请求进行补全得到补全结果。
具体地,用户语音请求的个性化的语音类型可以包括如下4类分别为导航类语音、音乐类语音、电话类语音和高频类语音。
上述4类语音类型的每个语音类型对应的语句前缀树的构成例如可以为:
导航类:我(要|想)(去|到)(周围的|周边的|身边的|附近的)(#POI#)。也即是,导航类的语句前缀可以为“我要”、“我想”、“我要去”、“我要到”、“我要去周围的”、“我要到周围的”、“我要去周边的”、“我要去身边的”、“我要去附近的”、“我要去周围的#POI#”。
音乐类:(我要听|我想听|播放|播|放|搜索)[一下|下|那个](slot value)[的]歌单。也即是,音乐类的语句前缀可以为“我要听”、“我想听”、“我要播放”、“我要播”、“我要放”、“我要搜索”、“我要听一下”、“我要听下”、“我要听那个”、“我要听一下slot value”、“我要听一下slot value的歌单”。
电话类:(帮我给|替我给|我想给|给)(#指定#)(门店|体验店)(打一个电话|打电话)。也即是,电话类的语句前缀可以为“帮我给”、“替我给”、“我想给”、“给#指定#门店”、“帮我给#指定#门店打一个电话”、“帮我给#指定#门店打电话”。
高频类:在一段时间内出现频率较高的语句中的前缀,例如,“第一个”,“打开空调”。
例如,当获取到用户语音数据实时语音识别得到用户语音请求为“我要听”,则可以根据该实时获取的用户语音请求“我要听”为音乐类型的语音类型。根据音乐类型选择对应的前缀树对实时获取的用户语音请求“我要听”进行自动补全得到补全结果可以为“我要听一下slot value的歌单”。
如此,本发明的语音交互方法可以根据实时获取的用户语音请求识别该用户语音请求属于哪一类个性化语音类型,从而根据所属语音类型对应的前缀树对该用户语音请求进行自动补全,能够实现对不同用户的个性化话语均能进行识别的千人千面的技术效果。
请参阅图17,语音交互方法包括:
02523:在对接收到完整的用户语音请求进行处理得到用户语音指令后,将完整的用户语音请求添加到前缀树。
请结合图2,步骤02523可以由预测模块12实现。也即是说,预测模块12用于在对接收到完整的用户语音请求进行处理得到用户语音指令后,将完整的用户语音请求添加到前缀树。
具体地,当对接收到完整的用户语音请求进行处理得到用户语音指令完成语音交互时,说明基于前缀树的个性化模型和基于循环神经网络的全局模型将不完整的用户语音请求均补全或预测失败,补全结果和预测结果与完整的用户语音请求均不相同,因此,可以在接收到完整的用户语音请求后,对完整的用户语音请求进行处理得到用户语音指令完成语音交互。
也即是说,当接收到完整的用户语音请求后,可以在对接收到完整的用户语音请求进行处理得到用户语音指令后,将完整的用户语音请求添加到前缀树中,从而实现对前缀树的实时更新。
如此,本发明的语音交互方法可以通过记录每天的语句来更新前缀树,保证前缀树的实时性。
请参阅图18,语音交互方法包括:
001:获取预设时间段内的历史用户语音请求;
002:根据历史用户语音请求构建前缀树。
请参阅图19,语音交互装置10包括前缀树构建模块111。
步骤001和步骤002可以由前缀树构建模块111实现。也即是说,前缀树构建模块111用于获取预设时间段内的历史用户语音请求;根据历史用户语音请求构建前缀树。其中,步骤001和步骤002可以在步骤01或步骤02之前发生,在此不作限制。
具体地,首先,可以按天(或其他时间单位)记录历史用户语音请求。然后,获取预设时间段内的历史用户语音请求,预设时间段可以为在当前时间的前7天~30天的时间段范围,即获取前7-30天历史用户语音请求,可以保证用户语音请求构建的前缀树的实时性。
因此,可以根据前7-30天历史用户语音请求作为基础,通过策略匹配记录每个人在四个类型的历史语音请求(音乐、导航、电话、高频),进而分别构建初始的前缀树。
如此,可以根据预设时间段内的历史用户语音请求构建初始的前缀树,为后续查找前缀树进行补全用户语音请求奠定了基础。
请参阅图20,语音交互方法包括:
003:为前缀树中的用户语音请求设置遗忘时长;
004:在前缀树中的用户语音请求未使用时长达到遗忘时长的情况下,在前缀树中删除对应的用户语音请求。
请参阅图19,步骤003和步骤004可以由前缀树构建模块111实现。也即是说,前缀树构建模块111用于为前缀树中的用户语音请求设置遗忘时长;在前缀树中的用户语音请求未使用时长达到遗忘时长的情况下,在前缀树中删除对应的用户语音请求。步骤003和步骤004可以步骤01或步骤02之前且在步骤002之后发生。
具体地,遗忘时长例如可以为24h、48h、3天、5天、7天、10天、11天、12天或30天,在此不作限制。遗忘时长可以根据用户需求用户自行设定。
如此,设立了遗忘时长,将较长时间以前的历史语音请求从前缀树中除去,从而降低了存储成本,也保证了前缀树的实时性。
请参阅图21,语音交互方法包括:
005:统计历史用户语音请求的使用频次、请求长度和/或请求占比;
006:根据使用频次、请求长度和/或请求占比确定前缀树中对应用户语音请求的权重。
请参阅图19,步骤005和步骤006可以由前缀树构建模块111实现。也即是说,前缀树构建模块111用于统计历史用户语音请求的使用频次、请求长度和/或请求占比;根据使用频次、请求长度和/或请求占比确定前缀树中对应用户语音请求的权重。步骤005和步骤006可以步骤01或步骤02之前且在步骤002之后发生。
具体地,统计历史用户语音请求的使用频次、请求长度和/或请求占比,并根据使用频次、请求长度和/或请求占比确定前缀树中对应用户语音请求的权重。即,可以统计用户语音请求的使用频次、用户语音请求的请求长度或用户语音请求的请求占比中的其中一个或多个确定前缀树中对应用户语音请求的权重。
换言之,可以利用历史语音请求的统计信息如频次、长度、占比等可以对用户语音请求的顺序进行重排或改变用户语音请求的权重。
如此,可以将较长时间以前的、使用频次不高的历史语音请求的权重降低,保证前缀树的实时性。
下面详细介绍本发明前文所述的循环神经网络模型的训练方法。
请参阅图22,本发明提供一种模型训练方法,用于训练得到上述实施例中任一项的语音交互方法所述的循环神经网络模型。该模型训练方法包括:
22:获取训练数据;
24:构建循环神经网络模型;
26:基于贝叶斯方法,利用训练数据对循环神经网络进行训练得到训练好的循环神经网络模型。
请结合图23,本发明还提供一种模型训练装置20。模型训练装置20包括第二获取模块21、模型构建模块22和模型训练模块23。
步骤22可以由第二获取模块21实现,步骤24可以由模型构建模块22实现,步骤26可以由模型训练模块23实现。也即是,第二获取模块21用于获取训练数据;模型构建模块22用于构建循环神经网络模型;模型训练模块23用于基于贝叶斯方法,利用训练数据对循环神经网络进行训练得到训练好的循环神经网络模型。
具体地,首先,获取训练数据,其中训练数据可以为用户随机输入语音数据经过自动语音识别技术处理获取得到的训练用户语音请求,例如训练用户语音请求可以为“打开空调然后导航回家”、“打开后视镜”等语音请求。
然后,基于获取的训练用户语音请求构建循环神经网络模型。也即是,本发明的模型训练方法基于轻量但效果不错的长短期记忆网络构建循环神经网络模型的初始框架。
最后,基于贝叶斯方法,利用训练数据对循环神经网络进行训练得到训练好的循环神经网络模型。相对于手动调参,网格搜索,随机搜索,我们使用了更为科学的基于贝叶斯方法的参数调优,建立目标函数的概率模型,并使用它选择最优的超参数以对真实目标函数进行评估。
对真实目标函数进行评估的过程为:首先,建立一个替代目标函数的概率模型,即替代函数。然后,找到使替代函数概率最大化的最优的超参数。接着,将找到的超参数代入机器学习模型中进行训练,得到原目标函数得分。再利用原目标函数得分更新目标函数的先验分布(x,y)。最后,重复2-4步直到达到最大迭代次数或最大时长。
如此,本发明基于贝叶斯方法训练的循环神经网络模型进行语音交互,能够准确且快速地预测出常规的语句,且语句的丰富度、参数量、时间花费及成本也都能够得到控制。
请参阅图24,步骤22包括:
221:获取多个历史用户语音请求;
222:将多个历史用户语音请求通过预设字符进行拼接得到请求字符串;
223:根据最大处理长度对请求字符串分割得到训练数据。
请结合图22,步骤221、步骤222和步骤223可以由模型构建模块22实现。也即是,模型构建模块22用于获取多个历史用户语音请求;将多个历史用户语音请求通过预设字符进行拼接得到请求字符串;根据最大处理长度对请求字符串分割得到训练数据。
具体地,首先,获取多个历史用户语音请求,例如,获取了当前时间的前7天内的n个历史用户语音请求:Query_1、Query_2、Query_3…Query_n。
然后,对所有的Query用预设字符“[EOS]”进行拼接得到请求字符串:Query_1+[EOS]+Query_2+[EOS]+...Query_n。
假定请求字符串的总长度为N,给定请求字符串的最长处理长度L,根据最大处理长度L对请求字符串分割处理得到训练数据。
如此,可以基于最长处理长度得到训练数据。
请参阅图25,步骤223包括:
2231:遍历请求字符串,以最大处理长度从当前字符开始截取请求字符串得到训练输入数据;
2232:以最大处理长度从当前字符的下一字符开始截取请求字符串得到训练结果数据。
请结合图22,步骤2231和步骤2232可以由模型构建模块22实现。也即是,模型构建模块22用于遍历请求字符串,以最大处理长度从当前字符开始截取请求字符串得到训练输入数据;以最大处理长度从当前字符的下一字符开始截取请求字符串得到训练结果数据。
具体地,例如,对于拼接得到的请求字符串:Query_1+[EOS]+Query_2+[EOS]+...Query_n。
可以遍历请求字符串,以最大处理长度从当前字符开始截取请求字符串得到训练输入数据X=[i,i+L-1],以最大处理长度从当前字符的下一字符开始截取请求字符串得到训练结果数据,即得到训练结果数据为Y=[i+1,i+L],for i=1,...,(N-1)。
也即是,训练数据包括训练输入数据和训练结果数据,训练过程为若向循环神经网络模型中输入X=[i,i+L-1]及对应的标签Y=[i+1,i+L],for i=1,...,(N-1),则可以从循环神经网络模型中输出训练结果,如图26所示。
如此,可以通过训练输入数据和训练结果数据训练循环神经网络模型,得到训练好的循环神经网络模型。
请参阅图27,本发明还提供一种电子设备30。电子设备30包括处理器31和存储器32,存储器32上存储有计算机程序321,当计算机程序321被处理器31执行时,实现上述任意实施例所述的语音交互方法。电子设备30包括但不限于车辆、手机、ipad等设备,在此不作限制。
如此,本发明的电子设备30应用的语音交互方法基于循环神经网络模型对用户语音请求预测补全,减少对话***处理用户语音请求所需的总时长,同时,采用轻量模型,且能够准确且快速地预测出常规的语句,丰富度、参数量、时间花费及成本也都能够得到控制。
请参阅图28,本发明还提供一种包含有计算机程序的非易失性计算机可读存储介质40。当计算机程序41被一个或多个处理器50执行时,实现上述任意实施例所述的语音交互方法。
例如,计算机程序41被处理器50执行时实现以下语音交互方法的步骤:
01:获取用户语音数据以实时进行语音识别得到用户语音请求;
02:在未接收到完整的用户语音请求的情况下,基于前缀树对实时获取的用户语音请求进行补全得到补全结果;
03:对补全结果进行处理得到预测语音指令;
04:在接收到完整的用户语音请求后,若补全结果与接收到完整的用户语音请求相同,则根据预测语音指令完成语音交互。
可以理解,计算机程序41包括计算机程序代码。计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。计算机可读存储介质可以包括:能够携带计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、以及软件分发介质等。
本发明的计算机可读存储介质40应用的语音交互方法基于循环神经网络模型对用户语音请求预测补全,减少对话***处理用户语音请求所需的总时长,同时,采用轻量模型,且能够准确且快速地预测出常规的语句,丰富度、参数量、时间花费及成本也都能够得到控制。
Claims (19)
1.一种语音交互方法,其特征在于,包括:
获取用户语音数据以实时进行语音识别得到用户语音请求;
在未接收到完整的所述用户语音请求的情况下,根据实时获取的所述用户语音请求和循环神经网络模型对所述用户语音请求进行预测得到预测结果;
对所述预测结果进行处理得到第一预测指令;
在接收到完整的所述用户语音请求后,若所述预测结果与接收到完整的所述用户语音请求相同,则根据所述第一预测指令完成语音交互。
2.根据权利要求1所述的语音交互方法,其特征在于,所述在未接收到完整的所述用户语音请求的情况下,根据实时获取的所述用户语音请求和循环神经网络模型对所述用户语音请求进行预测得到预测结果,包括:
将实时获取的所述用户语音请求作为当前输入提供给所述循环神经网络模型进行预测得到预测字符;
在所述预测字符不是预设字符的情况下,将所述预测字符和所述当前输入拼接得到下一输入提供给所述循环神经网络模型再次进行预测;
在所述预测字符是预设字符的情况下,将所述当前输入作为所述预测结果。
3.根据权利要求2所述的语音交互方法,其特征在于,所述在所述预测字符不是预设字符的情况下,将所述预测字符和所述当前输入拼接得到下一输入提供给所述循环神经网络再次进行预测,包括:
获取所述预测字符的置信度和预测概率分布的熵;
在所述置信度大于第一阈值,且所述预测概率分布的熵小于第二阈值的情况下,将所述预测字符和所述当前输入拼接得到下一输入提供给所述循环神经网络再次进行预测。
4.根据权利要求2所述的语音交互方法,其特征在于,所述语音交互方法包括:
在所述循环神经网络模型输入的字符数大于最大预测字符数的情况下,确定预测失败。
5.根据权利要求1所述的语音交互方法,其特征在于,所述在未接收到完整的所述用户语音请求的情况下,根据实时获取的所述用户语音请求和循环神经网络模型对所述用户语音请求进行预测得到预测结果,包括:
在未接收到完整的所述用户语音请求的情况下,基于前缀树对实时获取的所述用户语音请求进行补全;
在基于所述前缀树进行补全未得到补全结果的情况下,根据实时获取的所述用户语音请求和所述循环神经网络模型对所述用户语音请求进行预测得到预测结果。
6.根据权利要求5所述的语音交互方法,其特征在于,所述语音交互方法包括:
在基于所述前缀树进行补全得到所述补全结果的情况下,对所述补全结果进行处理得到第二预测指令;
在接收到完整的所述用户语音请求后,若所述补全结果与接收到完整的所述用户语音请求相同,则根据所述第二预测指令完成语音交互。
7.根据权利要求1所述的语音交互方法,其特征在于,所述在未接收到完整的所述用户语音请求的情况下,根据实时获取的所述用户语音请求和循环神经网络模型对所述用户语音请求进行预测得到预测结果,包括:
在未接收到完整的所述用户语音请求的情况下,基于前缀树对实时获取的所述用户语音请求进行补全得到补全结果;
根据所述循环神经网络模型对所述补全结果进行预测得到所述预测结果。
8.根据权利要求1所述的语音交互方法,其特征在于,所述语音交互方法包括:
在未接收到完整的所述用户语音请求的情况下,基于前缀树对实时获取的所述用户语音请求进行补全得到补全结果;
对所述补全结果进行处理得到第三预测指令;
在接收到完整的所述用户语音请求后,若所述预测结果或所述补全结果与接收到完整的所述用户语音请求相同,则根据对应的所述第一预测指令或所述第三预测指令完成语音交互。
9.根据权利要求5-8任一项所述的语音交互方法,其特征在于,所述语音交互方法包括:
通过数据分析确定补全条件;
在实时获取的所述用户语音请求满足所述补全条件的情况下,基于所述前缀树对实时获取的所述用户语音请求进行补全得到所述补全结果。
10.根据权利要求9所述的语音交互方法,其特征在于,所述在实时获取的所述用户语音请求满足所述补全条件的情况下,基于所述前缀树对实时获取的所述用户语音请求进行补全得到所述补全结果,包括:
在实时获取的所述用户语音请求满足所述补全条件的情况下,根据实时获取的所述用户语音请求确定所述用户语音请求的语音类型;
根据所述语音类型选择对应的所述前缀树对实时获取的所述用户语音请求进行补全得到所述补全结果。
11.根据权利要求9所述的语音交互方法,其特征在于,所述语音交互方法包括:
在对接收到完整的所述用户语音请求进行处理得到用户语音指令后,将完整的所述用户语音请求添加到所述前缀树。
12.根据权利要求9所述的语音交互方法,其特征在于,所述语音交互方法包括:
获取预设时间段内的历史用户语音请求;
根据所述历史用户语音请求构建所述前缀树。
13.根据权利要求12所述的语音交互方法,其特征在于,所述语音交互方法包括:
为所述前缀树中的所述用户语音请求设置遗忘时长;
在所述前缀树中的所述用户语音请求未使用时长达到所述遗忘时长的情况下,在所述前缀树中删除对应的所述用户语音请求。
14.根据权利要求12所述的语音交互方法,其特征在于,所述语音交互方法包括:
统计所述历史用户语音请求的使用频次、请求长度和/或请求占比;
根据所述使用频次、所述请求长度和/或所述请求占比确定所述前缀树中对应所述用户语音请求的权重。
15.一种模型训练方法,用于训练得到权利要求1-14任一项所述的语音交互方法的所述循环神经网络模型,其特征在于,包括:
获取训练数据;
构建所述循环神经网络模型;
基于贝叶斯方法,利用所述训练数据对所述循环神经网络进行训练得到训练好的所述循环神经网络模型。
16.根据权利要求15所述的模型训练方法,其特征在于,所述获取训练输入数据,包括:
获取多个历史用户语音请求;
将多个所述历史用户语音请求通过预设字符进行拼接得到请求字符串;
根据最大处理长度对所述请求字符串分割得到所述训练数据。
17.根据权利要求16所述的模型训练方法,其特征在于,所述根据最大处理长度对所述请求字符串分割得到所述训练数据,包括:
遍历所述请求字符串,以所述最大处理长度从当前字符开始截取所述请求字符串得到训练输入数据;
以所述最大处理长度从所述当前字符的下一字符开始截取所述请求字符串得到训练结果数据。
18.一种电子设备,其特征在于,所述电子设备包括处理器和存储器,所述存储器上存储有计算机程序,当所述计算机程序被所述处理器执行时,实现权利要求1-14任一项所述的语音交互方法。
19.一种包含有计算机程序的非易失性计算机可读存储介质,其特征在于,当所述计算机程序被一个或多个处理器执行时,实现权利要求1-14任一项所述的语音交互方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210378175.0A CN114822533B (zh) | 2022-04-12 | 2022-04-12 | 语音交互方法、模型训练方法、电子设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210378175.0A CN114822533B (zh) | 2022-04-12 | 2022-04-12 | 语音交互方法、模型训练方法、电子设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114822533A true CN114822533A (zh) | 2022-07-29 |
CN114822533B CN114822533B (zh) | 2023-05-12 |
Family
ID=82534048
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210378175.0A Active CN114822533B (zh) | 2022-04-12 | 2022-04-12 | 语音交互方法、模型训练方法、电子设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114822533B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115083413A (zh) * | 2022-08-17 | 2022-09-20 | 广州小鹏汽车科技有限公司 | 语音交互方法、服务器和存储介质 |
CN116110396A (zh) * | 2023-04-07 | 2023-05-12 | 广州小鹏汽车科技有限公司 | 语音交互方法、服务器和计算机可读存储介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120166182A1 (en) * | 2009-06-03 | 2012-06-28 | Ko David H | Autocompletion for Partially Entered Query |
CN105759983A (zh) * | 2009-03-30 | 2016-07-13 | 触摸式有限公司 | 电子设备的文本输入***及文本输入方法 |
US20180081964A1 (en) * | 2016-09-22 | 2018-03-22 | Yahoo Holdings, Inc. | Method and system for next word prediction |
US20210043196A1 (en) * | 2019-08-05 | 2021-02-11 | Samsung Electronics Co., Ltd. | Speech recognition method and apparatus |
CN113284496A (zh) * | 2021-07-22 | 2021-08-20 | 广州小鹏汽车科技有限公司 | 语音控制方法、语音控制***、车辆、服务器和存储介质 |
WO2021164244A1 (zh) * | 2020-02-18 | 2021-08-26 | 百度在线网络技术(北京)有限公司 | 一种语音交互方法、装置、设备和计算机存储介质 |
CN113571064A (zh) * | 2021-07-07 | 2021-10-29 | 肇庆小鹏新能源投资有限公司 | 自然语言理解方法及装置、交通工具及介质 |
CN113946719A (zh) * | 2020-07-15 | 2022-01-18 | 华为技术有限公司 | 词补全方法和装置 |
-
2022
- 2022-04-12 CN CN202210378175.0A patent/CN114822533B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105759983A (zh) * | 2009-03-30 | 2016-07-13 | 触摸式有限公司 | 电子设备的文本输入***及文本输入方法 |
US20120166182A1 (en) * | 2009-06-03 | 2012-06-28 | Ko David H | Autocompletion for Partially Entered Query |
US20180081964A1 (en) * | 2016-09-22 | 2018-03-22 | Yahoo Holdings, Inc. | Method and system for next word prediction |
US20210043196A1 (en) * | 2019-08-05 | 2021-02-11 | Samsung Electronics Co., Ltd. | Speech recognition method and apparatus |
WO2021164244A1 (zh) * | 2020-02-18 | 2021-08-26 | 百度在线网络技术(北京)有限公司 | 一种语音交互方法、装置、设备和计算机存储介质 |
CN113946719A (zh) * | 2020-07-15 | 2022-01-18 | 华为技术有限公司 | 词补全方法和装置 |
WO2022012205A1 (zh) * | 2020-07-15 | 2022-01-20 | 华为技术有限公司 | 词补全方法和装置 |
CN113571064A (zh) * | 2021-07-07 | 2021-10-29 | 肇庆小鹏新能源投资有限公司 | 自然语言理解方法及装置、交通工具及介质 |
CN113284496A (zh) * | 2021-07-22 | 2021-08-20 | 广州小鹏汽车科技有限公司 | 语音控制方法、语音控制***、车辆、服务器和存储介质 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115083413A (zh) * | 2022-08-17 | 2022-09-20 | 广州小鹏汽车科技有限公司 | 语音交互方法、服务器和存储介质 |
CN116110396A (zh) * | 2023-04-07 | 2023-05-12 | 广州小鹏汽车科技有限公司 | 语音交互方法、服务器和计算机可读存储介质 |
CN116110396B (zh) * | 2023-04-07 | 2023-08-29 | 广州小鹏汽车科技有限公司 | 语音交互方法、服务器和计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN114822533B (zh) | 2023-05-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11676575B2 (en) | On-device learning in a hybrid speech processing system | |
US10319381B2 (en) | Iteratively updating parameters for dialog states | |
CN110473531B (zh) | 语音识别方法、装置、电子设备、***及存储介质 | |
US6505162B1 (en) | Apparatus and method for portable dialogue management using a hierarchial task description table | |
CN101189659B (zh) | 用于认知超负荷的设备用户的交互式对话 | |
CN114822533B (zh) | 语音交互方法、模型训练方法、电子设备和存储介质 | |
CN109741735B (zh) | 一种建模方法、声学模型的获取方法和装置 | |
US11200885B1 (en) | Goal-oriented dialog system | |
US11605376B1 (en) | Processing orchestration for systems including machine-learned components | |
CN114822532A (zh) | 语音交互方法、电子设备和存储介质 | |
CN113571064B (zh) | 自然语言理解方法及装置、交通工具及介质 | |
CN111199732A (zh) | 一种基于情感的语音交互方法、存储介质及终端设备 | |
CN110164416B (zh) | 一种语音识别方法及其装置、设备和存储介质 | |
CN114550718A (zh) | 热词语音识别方法、装置、设备与计算机可读存储介质 | |
CN113920999A (zh) | 语音识别方法、装置、设备及存储介质 | |
US20240185846A1 (en) | Multi-session context | |
US11996081B2 (en) | Visual responses to user inputs | |
US10140981B1 (en) | Dynamic arc weights in speech recognition models | |
US11393454B1 (en) | Goal-oriented dialog generation using dialog template, API, and entity data | |
EP4322066A1 (en) | Method and apparatus for generating training data | |
WO2023172442A1 (en) | Shared encoder for natural language understanding processing | |
Wu et al. | Interactive spoken content retrieval by deep reinforcement learning | |
US11837229B1 (en) | Interaction data and processing natural language inputs | |
US11804225B1 (en) | Dialog management system | |
US11908452B1 (en) | Alternative input representations for speech inputs |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |