1.本发明实施例涉及语音语义识别技术领域,具体而言,涉及一种语音意图识别方法、语音意图识别装置、计算机可读存储介质以及电子设备。
背景技术:2.近年来,随着人工智能技术的飞跃式发展,智能外呼系统正在逐步应用于解决机械重复的外呼问题,从而提高人工外呼客服的作业效率。智能外呼系统通过采用与客户语音对话交流的方式,对客户每一句话的意图进行识别,从而采取相应的应对措施。因此,如何准确及时地获取客户的语音意图,是保障智能外呼系统业务顺利开展的关键。
3.现有的智能外呼系统在进行语音意图识别时,主要采用了两个串行组合的模型,也即自动语音识别(automatic speech recognition,asr)模型和自然语言处理(natural language processing,nlp)模型。具体处理过程为,系统在接收到客户的语音信号后,通过利用asr技术,将客户的语音信号识别为相应的文本信息;然后,系统将该文本信息传递给nlp进行处理,最终获得客户的意图识别结果。
4.但是,上述方法存在如下缺陷:由于上述模型的识别性能是相互独立的,因此会导致模型之间存在传播误差,进而导致识别结果的准确率较低的问题。
5.因此,需要提供一种新的语音意图识别方法及装置。
6.需要说明的是,在上述背景技术部分发明的信息仅用于加强对本发明的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
技术实现要素:7.本发明的目的在于提供一种语音意图识别方法、语音意图识别装置、计算机可读存储介质以及电子设备,进而至少在一定程度上克服由于相关技术的限制和缺陷而导致的识别结果的准确率较低的问题。
8.根据本公开的一个方面,提供一种语音意图识别方法,包括:
9.获取与待识别语音对应的待识别频谱特征,并根据所述待识别频谱特征计算所述待识别语音的全局特征;
10.根据所述待识别语音的全局特征计算所述待识别语音的文本识别结果,并计算所述文本识别结果的上下文值;
11.根据所述文本识别结果的上下文值对所述待识别语音的意图进行识别。
12.在本公开的一种示例性实施例中,所述根据所述待识别频谱特征计算所述待识别语音的全局特征,包括:
13.将所述待识别频谱特征输入至预设的意图识别模型中所包括的卷积神经网络中,得到所述待识别语音所包括的局部特征;
14.将所述待识别语音所包括的局部特征输入至所述意图识别模型中所包括的自注意力模块中,得到所述待识别语音的全局特征。
15.在本公开的一种示例性实施例中,所述根据所述全局特征计算所述待识别语音的文本识别结果,包括:
16.利用所述意图识别模型中所包括的第一全连接层对所述待识别语音的全局特征进行分类处理,得到所述待识别语音的文本识别结果。
17.在本公开的一种示例性实施例中,所述计算所述文本识别结果的上下文值,包括:
18.利用所述意图识别模型中所包括的双向长短期记忆网络,计算所述文本识别结果的上下文值。
19.在本公开的一种示例性实施例中,所述根据所述文本识别结果的上下文值对所述待识别语音的意图进行识别,包括:
20.利用所述意图识别模型中所包括的时间最大池化层对所述文本识别结果的上下文值进行降维处理;
21.利用所述意图识别模型中所包括的第二全连接层对降维处理后的上下文值进行分类处理,得到所述待识别语音的初始意图识别结果;
22.利用所述意图识别模型中所包括的归一化指数函数层对所述初始意图识别结果进行归一化处理,得到目标意图识别结果。
23.在本公开的一种示例性实施例中,所述语音意图识别方法还包括:
24.获取历史语音数据,并利用预设的短时傅里叶变换模型对所述历史语音数据进行采样,得到多个标准频谱特征;
25.根据各所述标准频谱特征以及所述历史语音数据的意图类别标注结果构建训练数据集;
26.利用所述训练数据集对预设的网络模型进行训练,得到所述意图识别模型。
27.在本公开的一种示例性实施例中,所述预设的网络模型包括语音识别模块以及意图预测模块;
28.其中,利用所述训练数据集对预设的网络模型进行训练,得到所述意图识别模型包括:
29.将所述训练数据集中的标准频谱特征输入至所述语音识别模块中,得到与所述标准频谱特征对应的历史语音数据的标准文本;
30.将所述标准文本输入至所述意图预测模块中,得到与所述标准频谱特征对应的历史语音数据的意图预测结果;
31.根据所述意图预测结果以及与所述标准频谱特征对应的历史语音数据的意图类别标注结果构建目标损失函数,并基于所述目标损失函数对所述预设的网络模型进行训练,得到所述意图识别模型。
32.在本公开的一种示例性实施例中,根据所述意图预测结果以及与所述标准频谱特征对应的历史语音数据的意图类别标注结果构建目标损失函数包括:
33.根据与所述标准频谱特征对应的历史语音数据的意图类别标注结果,构建第一损失函数;
34.根据所述意图类别标注结果所包括的类别数、所述意图预测结果以及意图类别标注结果构建第二损失函数;
35.根据所述意图预测模块中所包括的参数的二范数构建第三损失函数;
36.根据所述第一损失函数、第二损失函数以及第三损失函数,构建所述目标损失函数。
37.根据本公开的一个方面,提供一种语音意图识别装置,包括:
38.第一计算模块,用于获取与待识别语音对应的待识别频谱特征,并根据所述待识别频谱特征计算所述待识别语音的全局特征;
39.第二计算模块,用于根据所述待识别语音的全局特征计算所述待识别语音的文本识别结果,并计算所述文本识别结果的上下文值;
40.意图识别模块,用于根据所述文本识别结果的上下文值对所述待识别语音的意图进行识别。
41.根据本公开的一个方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意一项所述的语音意图识别方法。
42.根据本公开的一个方面,提供一种电子设备,包括:
43.处理器;以及
44.存储器,用于存储所述处理器的可执行指令;
45.其中,所述处理器配置为经由执行所述可执行指令来执行上述任意一项所述的语音意图识别方法。
46.本发明实施例提供的一种语音意图识别方法,一方面,通过获取与待识别语音对应的待识别频谱特征,并根据待识别频谱特征计算待识别语音的全局特征;并根据待识别语音的全局特征计算待识别语音的文本识别结果,并计算文本识别结果的上下文值;再根据文本识别结果的上下文值对待识别语音的意图进行识别,由于语音识别结果是直接根据全局特征得到的,且可以直接根据文本识别结果的上下文值识别待识别语音的意图,因此可以解决现有技术中由于模型的识别性能是相互独立的,因此会导致模型之间存在文本信息的传播误差,进而导致识别结果的准确率较低的问题,提高了识别结果的准确率;另一方面,解决了现有中由于待识别的客户语音信号中可能存在口音、方言、背景噪声干扰等多种复杂因素,会使得文本识别结果出错,导致文本识别结果与实际用户表达的信息存在差别,甚至出现相反意图的文本识别结果,最终导致识别出的意图结果出现错误的问题。
47.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。
附图说明
48.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
49.图1示意性示出根据本发明示例实施例的一种语音意图识别方法的流程图。
50.图2示意性示出根据本发明示例实施例的一种意图识别模型的结构示例图。
51.图3示意性示出根据本发明示例实施例的另一种语音意图识别方法的流程图。
52.图4示意性示出根据本发明示例实施例的一种利用所述训练数据集对预设的网络模型进行训练,得到所述意图识别模型的方法流程图。
53.图5示意性示出根据本发明示例实施例的一种根据意图预测结果以及标准频谱特征对应的历史语音数据的意图类别标注结果构建目标损失函数的方法流程图。
54.图6示意性示出根据本发明示例实施例的另一种语音意图识别方法的流程图。
55.图7示意性示出根据本发明示例实施例的一种语音意图识别装置的框图。
56.图8示意性示出根据本发明示例实施例的一种用于实现上述语音意图识别方法的电子设备。
具体实施方式
57.现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本发明将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。在下面的描述中,提供许多具体细节从而给出对本发明的实施方式的充分理解。然而,本领域技术人员将意识到,可以实践本发明的技术方案而省略所述特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知技术方案以避免喧宾夺主而使得本发明的各方面变得模糊。
58.此外,附图仅为本发明的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
59.现有的智能外呼系统在进行语音意图识别时,主要采用了两个串行组合的技术,也即自动语音识别(automatic speech recognition:asr)技术和自然语言处理(natural language processing:nlp)技术。首先,在第一步中,系统在接收到客户的语音信号后,通过利用自动语音识别技术,将客户的语音信号识别为相应的文本信息。然后,系统将该文本信息传递给自然语言处理模型进行处理,最终获得客户的意图识别结果。
60.然而,采用这样串行组合的方式,很可能会导致系统误差传播的问题。例如,假定在一个语音意图识别系统中,asr模型与nlp模型的识别性能相互独立,且asr模型的准确率为90%,nlp模型的准确率同为90%,两个模型串行识别意图的准确率仅为81%。
61.同时,在实际应用场景下,待识别的客户语音信号中可能存在口音、方言、背景噪声干扰等多种复杂因素,使得asr模型不可避免的存在识别错误的情况,导致asr输出的文本信息与实际用户表达的信息存在差别,甚至出现相反意图的文字识别结果。由于nlp接收到的文本信息已经出现严重偏差,因此,即使系统已经采用了一个较为鲁棒的nlp模型,也将导致系统对客户的意图做出错误的判断,给智能外呼系统业务的顺利进行造成不利的影响。
62.本示例实施方式中首先提供了一种语音意图识别方法,该方法可以运行于服务器、服务器集群或云服务器等;当然,本领域技术人员也可以根据需求在其他平台运行本发明的方法,本示例性实施例中对此不做特殊限定。参考图1所示,该语音意图识别方法可以包括以下步骤:
63.步骤s110.获取与待识别语音对应的待识别频谱特征,并根据所述待识别频谱特征计算所述待识别语音的全局特征;
64.步骤s120.根据所述待识别语音的全局特征计算所述待识别语音的文本识别结果,并计算所述文本识别结果的上下文值;
65.步骤s130.根据所述文本识别结果的上下文值对所述待识别语音的意图进行识别。
66.上述语音意图识别方法中,一方面,通过获取与待识别语音对应的待识别频谱特征,并根据待识别频谱特征计算待识别语音的全局特征;并根据待识别语音的全局特征计算待识别语音的文本识别结果,并计算文本识别结果的上下文值;再根据文本识别结果的上下文值对待识别语音的意图进行识别,由于语音识别结果是直接根据全局特征得到的,且可以直接根据文本识别结果的上下文值识别待识别语音的意图,因此可以解决现有技术中由于模型的识别性能是相互独立的,因此会导致模型之间存在文本信息的传播误差,进而导致识别结果的准确率较低的问题,提高了识别结果的准确率;另一方面,解决了现有中由于待识别的客户语音信号中可能存在口音、方言、背景噪声干扰等多种复杂因素,会使得文本识别结果出错,导致文本识别结果与实际用户表达的信息存在差别,甚至出现相反意图的文本识别结果,最终导致识别出的意图结果出现错误的问题。
67.以下,将结合附图对本发明示例实施例语音意图识别方法中所涉及的各个步骤进行详细的解释以及说明。
68.首先,对本发明实例实施例中所涉及到的名词进行解释以及说明。
69.自动语音识别(automatic speech recognition,asr):语音转换为文本的技术。
70.自然语言处理(natural language processing,nlp):对文本信息进行处理的技术,包括文本意图理解技术。
71.短时傅里叶变换(short-time fourier transform,stft):用以确定时变信号其局部区域正弦波的频率与相位的傅里叶变换方法。
72.卷积神经网络(convolutional neural network:cnn),包含卷积或相关计算的神经网络结构。
73.自注意力模块(self-attention block,sab):一种基于自注意力机制构建的网络模型结构。
74.全连接层(fully connected,fc):一种通过将每个结点都与上一层的所有结点相连,用来把前边提取的特征综合起来的神经网络结构。
75.双向长短期记忆网络(bi-directional long short-term memory,bi-lstm):一种由前向lstm与后向lstm组合而成网络结构。
76.时间最大池化层(time max-pooling,tmp):对于时序矢量,取不同时间维度上最大值组成最终的矢量结果。
77.标签平滑方法(label smoothing,ls):一种用于标注容错的模型训练方法。
78.其次,对本发明示例实施例的发明目的以及应用场景进行解释以及说明。具体的,针对现有智能外呼系统中,将asr技术和nlp技术串行组合使用的不足之处,本发明提出一种智能外呼语音意图识别方法,该方法在预训练asr模型的基础上,构建端到端深度神经网络,通过在小规模训练集上,进行模型微调训练,最终获得一个直接将语音信号转为意图结
果的模型,避免使用串行系统中文本信息作为中间结果的方式,从而解决系统误差传播的问题。
79.进一步的,对本发明示例实施例所涉及到的意图识别模型进行解释以及说明。参考图2所示,该意图识别模型可以包括语音识别模块fs210以及意图预测模块fc220,其中,语音识别模块210中可以包括3层卷积神经网络(convolutional neural network,cnn)211,10层自注意力模块(self-attention block,sab)212,1层第一全连接层(fully connected,fc)213。并且,卷积神经网络、自注意力模块以及全连接层中所涉及到的参数,初始化采用预训练asr模型的参数。
80.进一步的,在语音识别模块的基础上,本发明示例实施例还设计了意图预测模块fc,具体的,该意图预测模块220中包括1层双向长短期记忆网络(bi-directional long short-term memory,bi-lstm)221,1层时间最大池化层(time max-pooling,tmp)222,1层第二全连接层223和1层归一化指数函数层(softmax)224;其中,双向长短期记忆网络、时间最大池化层、第二全连接层以及归一化指数函数层中所涉及到的参数采用随机初始化的方式进行确定,并在后期的训练过程中进行逐个调试。
81.由上述记载的内容可以得知,本技术所提供的意图识别模型中,仅仅需要对意图预测模块中所涉及到的参数进行调试,不需要对文本识别模型中所涉及到的参数进行调试,通过该方法,可以提高模型训练的速度。同时需要补充说明的是,该意图识别模型中所包括的文本识别模块以及意图预测模块,是前后连接的,也就是说,双向长短期记忆网络的输入为第一全连接层的输出,其并不需要通过系统进行转发,进而再根据所识别出的文本对语音的意图进行识别,实现了端到端的输入以及输出,也就是可以直接输入频谱特征,输出意图预测结果,避免了系统误差传播的问题。
82.进一步的,图3示意性示出了根据本发明示例实施例的另一种语音意图识别方法。参考图3所示,该语音意图识别方法可以包括步骤s310-步骤s330。其中:
83.在步骤s310中,获取历史语音数据,并利用预设的短时傅里叶变换模型对所述历史语音数据进行采样,得到多个标准频谱特征。
84.在本示例实施例中,首先,获取历史语音数据,该历史语音数据中可以包括多条语音数据;然后,采用传统短时傅立叶变换(short-time fourier transform,stft)对各语音数据进行采样,进而得到多个标准频谱特征,其中,在对各语音数据采样的过程中,该短时傅里叶变换所选用的窗口大小可以为20ms,窗口滑动步长可以为10ms。通过stft可以获得每一段语音数据的81维频谱信息序列。进一步的,在本发明示例实施例中,语音数据的采样率为16khz,每条语音数据的时长在0.5s到15s之间,总的时长为50小时。此处需要补充说明的是,上述窗口大小、窗口滑动步长的大小可以根据实际需要自行调整,本示例对此不做特殊限制。本发明示例实施例之所以选取上述取值,仅仅是考虑到模型训练需要以及语音数据的实际长度。
85.在步骤s320中,根据各所述标准频谱特征以及所述历史语音数据的意图类别标注结果构建训练数据集。
86.具体的,记任意一个语音意图识别的训练数据的样本为:si={xi,yi},其中,i∈[i,n],n为数据集中训练样本的数量。xi为每一条语音数据的标准频谱特征,yi为该样本的意图类别标注结果,其中,yi∈[1,k],k代表数据集中所有意图的种类数量。进而可以根据
多个样本构建训练数据集。
[0087]
在步骤s330中,利用所述训练数据集对预设的网络模型进行训练,得到所述意图识别模型。
[0088]
在本示例实施例中,参考图4所示,利用所述训练数据集对预设的网络模型进行训练,得到所述意图识别模型可以包括步骤s410-步骤s430。其中:
[0089]
在步骤s410中,将所述训练数据集中的标准频谱特征输入至所述语音识别模块中,得到与所述标准频谱特征对应的历史语音数据的标准文本。
[0090]
在本示例实施例中,首先,利用语音识别模块中包括的卷积神经网络提取该历史语音数据的局部特征;其次,利用语音识别模块中包括的自注意力模块根据该局部特征计算该历史语音数据的全局特征;最后,再利用语音识别模块中包括的第一全连接层对该全局特征进行分类处理,得到该历史语音数据的标准文本。
[0091]
在步骤s420中,将所述标准文本输入至所述意图预测模块中,得到与所述标准频谱特征对应的历史语音数据的意图预测结果。
[0092]
在本示例实施例中,首先,利用意图预测模块中包括的双向长短期记忆网络计算该标准文本的上下文值;其次,利用意图预测模块中包括的时间最大池化层对该上下文值进行降维处理;然后,利用意图预测模块中包括的第二全连接层对降维处理后的上下文值进行分类处理,得到该历史语音数据的初始意图识别结果;最后,利用意图预测模块中包括的归一化指数函数对降维处理后的上下文值进行归一化,得到最后的意图预测结果。
[0093]
在步骤s430中,根据所述意图预测结果以及与所述标准频谱特征对应的历史语音数据的意图类别标注结果构建目标损失函数,并基于所述目标损失函数对所述预设的网络模型进行训练,得到所述意图识别模型。
[0094]
在本示例实施例中,首先,需要设计优化目标函数。模型在训练过程中,通过调整模型参数,降低目标函数至收敛,从而实现模型对音频的意图进行分类。在本发明示例实施例中,可以设计交叉熵作为优化目标的目标损失函数,进行意图分类。具体的,参考图5所示,根据意图预测结果以及标准频谱特征对应的历史语音数据的意图类别标注结果构建目标损失函数可以包括步骤s510-步骤s540。其中:
[0095]
在步骤s510中,根据与所述标准频谱特征对应的历史语音数据的意图类别标注结果,构建第一损失函数;
[0096]
在步骤s520中,根据所述意图类别标注结果所包括的类别数、所述意图预测结果以及意图类别标注结果构建第二损失函数;
[0097]
在步骤s530中,根据所述意图预测模块中所包括的参数的二范数构建第三损失函数;
[0098]
在步骤s540中,根据所述第一损失函数、第二损失函数以及第三损失函数,构建所述目标损失函数。
[0099]
以下,将对步骤s510-步骤s540进行解释以及说明。具体的,第一损失函数l1、第二损失函数l2、第三损失函数l3以及目标损失函数l可以分别如下公式(1)、公式(2)、公式(3)以及公式(4)所示:
[0100]
[0101][0102]
l3=λ||wc||;
ꢀꢀꢀꢀꢀꢀꢀ
公式(3)
[0103]
l=l1+l2+l3;
ꢀꢀꢀꢀꢀꢀꢀ
公式(4)
[0104]
其中,nb为每一个训练批次的样本数量,其中,nb∈n,并且有nb=32;k为意图类别标注结果所包括的类别数,并且有:
[0105][0106]
oi=[o
i,1
,o
i,2
,...,o
i,k
]为预设的网络模型的k维输出矢量,o
i,k
为第一个历史语音数据的意图预测结果属于第k个类别的概率,k∈[1,k],并且有:
[0107]
为第i各历史语音数据的意图类别标注结果;||wc||为意图预测模块中所包括的参数的二范数的总和,λ为常参数,且有λ=10-5
。
[0108]
此处需要补充说明的是,由于语音的意图标注涉及到语义理解,其标注的数据可能存在一定的错误。考虑到语音意图的标注可能出现错误,本发明采用标签平滑方法(label smoothing)构建正则项,也就是如公式(2)所示的第二损失函数。通过配置第二损失函数,可以进一步的提高模型的准确率,进而提高意图识别结果的准确率。
[0109]
进一步的,当得到上述目标损失函数以后,可以基于目标损失函数对预设的网络模型进行训练,得到所述意图识别模型。其中,该意图识别模型f可以如下公式(5)所示:
[0110][0111]
则该意图识别模型的输出可以如下公式(6)所示:
[0112]
oi=f(xi,w);
ꢀꢀꢀꢀꢀꢀꢀ
公式(6)
[0113]
其中,w为语音识别模块fs中所包括的参数ws以及意图预测模块fc中包括的参数wc的集合。
[0114]
以下,将结合上述意图识别模型对步骤s110-步骤s130进行解释以及说明。
[0115]
在步骤s110中,获取与待识别语音对应的待识别频谱特征,并根据所述待识别频谱特征计算所述待识别语音的全局特征;
[0116]
在本示例实施例中,首先,需要采用传统短时傅立叶变换(short-time fourier transform,stft)对待识别语音进行采样,进而得到多个待识别频谱特征,其中,在对待识别语音采样的过程中,该短时傅里叶变换所选用的窗口大小可以为20ms,窗口滑动步长可以为10ms。通过stft可以获得每一段语音数据的81维频谱信息序列。进一步的,在本发明示例实施例中,语音数据的采样率为16khz,每条语音数据的时长在0.5s到15s之间,总的时长为50小时。
[0117]
其次,获取与待识别语音对应的待识别频谱特征,并根据所述待识别频谱特征计算所述待识别语音的全局特征。具体的,首先,将所述待识别频谱特征输入至预设的意图识别模型中所包括的卷积神经网络中,得到所述待识别语音所包括的局部特征;将所述待识别语音所包括的局部特征输入至所述意图识别模型中所包括的自注意力模块中,得到所述待识别语音的全局特征。其中,该卷积神经网络可以包括三层,自注意力模块可以包括十
层。
[0118]
在步骤s120中,根据所述待识别语音的全局特征计算所述待识别语音的文本识别结果,并计算所述文本识别结果的上下文值;
[0119]
在本示例实施例中,首先,利用所述意图识别模型中所包括的第一全连接层对所述待识别语音的全局特征进行分类处理,得到所述待识别语音的文本识别结果;其次,利用所述意图识别模型中所包括的双向长短期记忆网络,计算所述文本识别结果的上下文值。
[0120]
在步骤s130中,根据所述文本识别结果的上下文值对所述待识别语音的意图进行识别。
[0121]
在本示例实施例中,首先,利用所述意图识别模型中所包括的时间最大池化层对所述文本识别结果的上下文值进行降维处理;其次,利用所述意图识别模型中所包括的第二全连接层对降维处理后的上下文值进行分类处理,得到所述待识别语音的初始意图识别结果;进一步的,利用所述意图识别模型中所包括的归一化指数函数层对所述初始意图识别结果进行归一化处理,得到目标意图识别结果。
[0122]
此处需要补充说明的是,步骤s110-步骤s130中所记载的具体的实现方法,在前文所记载的对意图识别模型的训练过程中,已经进行了详细的描述,此处不再一一赘述。
[0123]
以下,结合图6对本发明示例实施例语音意图识别方法进行进一步的解释以及说明。参考图6所示,该语音意图识别方法可以包括以下步骤:
[0124]
步骤s610,根据业务场景的语音意图识别需求,准备相应的训练数据;
[0125]
步骤s620,在预训练asr模型的基础上,设计端到端深度神经网络模型结构;
[0126]
步骤s630,构建语音意图识别深度神经网络模型训练的损失函数;
[0127]
步骤s640,利用训练数据进行模型参数的微调训练,得到意图识别模型;
[0128]
步骤s650,将根据待识别语音得到的待识别特征频谱输入至该意图识别模型中,得到目标意图识别结果。
[0129]
本发明示例实施例所提供的语音意图识别方法,在预训练asr模型的基础上,构建端到端深度神经网络,通过在小规模训练集上,进行模型微调训练,最终获得一个直接将语音信号转为意图结果的模型,避免使用串行系统中文本信息作为中间结果的方式,从而解决系统误差传播的问题。
[0130]
本发明示例实施例还提供了一种语音意图识别装置。参考图7所示,该语音意图识别装置可以包括第一计算模块710、第二计算模块720以及意图识别模块730。其中:
[0131]
第一计算模块710可以用于获取与待识别语音对应的待识别频谱特征,并根据所述待识别频谱特征计算所述待识别语音的全局特征;
[0132]
第二计算模块720可以用于根据所述待识别语音的全局特征计算所述待识别语音的文本识别结果,并计算所述文本识别结果的上下文值;
[0133]
意图识别模块730可以用于根据所述文本识别结果的上下文值对所述待识别语音的意图进行识别。
[0134]
在本公开的一种示例性实施例中,所述根据所述待识别频谱特征计算所述待识别语音的全局特征,包括:
[0135]
将所述待识别频谱特征输入至预设的意图识别模型中所包括的卷积神经网络中,得到所述待识别语音所包括的局部特征;
[0136]
将所述待识别语音所包括的局部特征输入至所述意图识别模型中所包括的自注意力模块中,得到所述待识别语音的全局特征。
[0137]
在本公开的一种示例性实施例中,所述根据所述全局特征计算所述待识别语音的文本识别结果,包括:
[0138]
利用所述意图识别模型中所包括的第一全连接层对所述待识别语音的全局特征进行分类处理,得到所述待识别语音的文本识别结果。
[0139]
在本公开的一种示例性实施例中,所述计算所述文本识别结果的上下文值,包括:
[0140]
利用所述意图识别模型中所包括的双向长短期记忆网络,计算所述文本识别结果的上下文值。
[0141]
在本公开的一种示例性实施例中,所述根据所述文本识别结果的上下文值对所述待识别语音的意图进行识别,包括:
[0142]
利用所述意图识别模型中所包括的时间最大池化层对所述文本识别结果的上下文值进行降维处理;
[0143]
利用所述意图识别模型中所包括的第二全连接层对降维处理后的上下文值进行分类处理,得到所述待识别语音的初始意图识别结果;
[0144]
利用所述意图识别模型中所包括的归一化指数函数层对所述初始意图识别结果进行归一化处理,得到目标意图识别结果。
[0145]
在本公开的一种示例性实施例中,所述语音意图识别装置还包括:
[0146]
采样处理模块,可以用于获取历史语音数据,并利用预设的短时傅里叶变换模型对所述历史语音数据进行采样,得到多个标准频谱特征;
[0147]
训练数据集构建模块,可以用于根据各所述标准频谱特征以及所述历史语音数据的意图类别标注结果构建训练数据集;
[0148]
意图识别模型训练模块,可以用于利用所述训练数据集对预设的网络模型进行训练,得到所述意图识别模型。
[0149]
在本公开的一种示例性实施例中,所述预设的网络模型包括语音识别模块以及意图预测模块,
[0150]
其中,利用所述训练数据集对预设的网络模型进行训练,得到所述意图识别模型包括:
[0151]
将所述训练数据集中的标准频谱特征输入至所述语音识别模块中,得到与所述标准频谱特征对应的历史语音数据的标准文本;
[0152]
将所述标准文本输入至所述意图预测模块中,得到与所述标准频谱特征对应的历史语音数据的意图预测结果;
[0153]
根据所述意图预测结果以及与所述标准频谱特征对应的历史语音数据的意图类别标注结果构建目标损失函数,并基于所述目标损失函数对所述预设的网络模型进行训练,得到所述意图识别模型。
[0154]
在本公开的一种示例性实施例中,根据所述意图预测结果以及与所述标准频谱特征对应的历史语音数据的意图类别标注结果构建目标损失函数包括:
[0155]
根据与所述标准频谱特征对应的历史语音数据的意图类别标注结果,构建第一损失函数;
[0156]
根据所述意图类别标注结果所包括的类别数、所述意图预测结果以及意图类别标注结果构建第二损失函数;
[0157]
根据所述意图预测模块中所包括的参数的二范数构建第三损失函数;
[0158]
根据所述第一损失函数、第二损失函数以及第三损失函数,构建所述目标损失函数。
[0159]
上述语音意图识别装置中各模块的具体细节已经在对应的语音意图识别方法中进行了详细的描述,因此此处不再赘述。
[0160]
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本发明的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
[0161]
此外,尽管在附图中以特定顺序描述了本发明中方法的各个步骤,但是,这并非要求或者暗示必须按照该特定顺序来执行这些步骤,或是必须执行全部所示的步骤才能实现期望的结果。附加的或备选的,可以省略某些步骤,将多个步骤合并为一个步骤执行,以及/或者将一个步骤分解为多个步骤执行等。
[0162]
在本发明的示例性实施例中,还提供了一种能够实现上述方法的电子设备。
[0163]
所属技术领域的技术人员能够理解,本发明的各个方面可以实现为系统、方法或程序产品。因此,本发明的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。
[0164]
下面参照图8来描述根据本发明的这种实施方式的电子设备800。图8显示的电子设备800仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
[0165]
如图8所示,电子设备800以通用计算设备的形式表现。电子设备800的组件可以包括但不限于:上述至少一个处理单元810、上述至少一个存储单元820、连接不同系统组件(包括存储单元820和处理单元810)的总线830以及显示单元840。
[0166]
其中,所述存储单元存储有程序代码,所述程序代码可以被所述处理单元810执行,使得所述处理单元810执行本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施方式的步骤。例如,所述处理单元810可以执行如图1中所示的步骤s110:获取与待识别语音对应的待识别频谱特征,并根据所述待识别频谱特征计算所述待识别语音的全局特征;步骤s120:根据所述待识别语音的全局特征计算所述待识别语音的文本识别结果,并计算所述文本识别结果的上下文值;步骤s130:根据所述文本识别结果的上下文值对所述待识别语音的意图进行识别。
[0167]
存储单元820可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(ram)8201和/或高速缓存存储单元8202,还可以进一步包括只读存储单元(rom)8203。
[0168]
存储单元820还可以包括具有一组(至少一个)程序模块8205的程序/实用工具8204,这样的程序模块8205包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
[0169]
总线830可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构
的局域总线。
[0170]
电子设备800也可以与一个或多个外部设备900(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该电子设备800交互的设备通信,和/或与使得该电子设备800能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(i/o)接口850进行。并且,电子设备800还可以通过网络适配器860与一个或者多个网络(例如局域网(lan),广域网(wan)和/或公共网络,例如因特网)通信。如图所示,网络适配器860通过总线830与电子设备800的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备800使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、raid系统、磁带驱动器以及数据备份存储系统等。
[0171]
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本发明实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是cd-rom,u盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、终端装置、或者网络设备等)执行根据本发明实施方式的方法。
[0172]
在本发明的示例性实施例中,还提供了一种计算机可读存储介质,其上存储有能够实现本说明书上述方法的程序产品。在一些可能的实施方式中,本发明的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在终端设备上运行时,所述程序代码用于使所述终端设备执行本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施方式的步骤。
[0173]
根据本发明的实施方式的用于实现上述方法的程序产品,其可以采用便携式紧凑盘只读存储器(cd-rom)并包括程序代码,并可以在终端设备,例如个人电脑上运行。然而,本发明的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
[0174]
所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。
[0175]
计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
[0176]
可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、rf等等,或者上述的任意合适的组合。
[0177]
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序
代码,所述程序设计语言包括面向对象的程序设计语言—诸如java、c++等,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(lan)或广域网(wan),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
[0178]
此外,上述附图仅是根据本发明示例性实施例的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。
[0179]
本领域技术人员在考虑说明书及实践这里发明的发明后,将容易想到本发明的其他实施例。本技术旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未发明的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由权利要求指出。