一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

多意图识别方法、装置、设备及介质与流程

2022-03-09 01:28:29 来源:中国专利 TAG:


1.本技术涉及音频分析领域,尤其涉及一种多意图识别方法、装置、电子设备及计算机可读存储介质。


背景技术:

2.随着人工智能技术的不断发展,越来越多的智能产品应用到日常生活中,例如智能音箱、智能客服、智能电话销售、私人手机助理siri等。为了让智能产品更好地理解用户的表达,进而对用户的问题作出正确应答,自然语言理解(natural language understanding,nlu)起到了重要的作用,而意图识别是自然语言理解的子模块,也是智能对话系统构成的关键。
3.现有的意图识别主要为单意图识别,即根据用户语料识别出单一的用户意图,但很多时候用户表达的一句话中不仅含有一个意图,而是多种意图,若仅进行单意图识别,会导致识别结果的不精确,例如,用户说:“我不喜欢吃街角的那家甜品店的糕点,它太甜了”。这句话同时表达了用户的不喜欢街角的甜品店和对甜品店糕点的甜度不满意的意图。因此,如何实现对用户语料中多意图的识别,成为了亟待解决的问题。


技术实现要素:

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.图1为本技术实施例提供的一种多意图识别方法的流程示意图;
49.图2为本技术实施例提供的将语音文本拆分为文本分词并转换为词向量的流程示意图;
50.图3为本技术实施例提供的将多个子集矩阵中每个子集矩阵与预设多种意图标签进行匹配的流程示意图;
51.图4为本技术实施例提供的一种多意图识别的装置的模块示意图;
52.图5为本技术实施例提供的一种多意图识别方法的电子设备的结构示意图。
具体实施方式
53.为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术的一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本技术保护的范围。
54.图1为本技术实施例提供的一种多意图识别方法的流程示意图。在本实施例中,所述多意图识别方法包括:
55.s1、获取用户语音,提取所述用户语音的音频特征,以及获取所述用户语音对应的语音文本。
56.本技术其中一个实际应用场景中,所述用户语音为通过预设的客户端设备(手机、麦克风、录音机等)捕获到的用户的录音音频。
57.详细地,为了实现对所述用户语音的精确意图分析,可提取出所述用户语音的音
频特征,其中,所述音频特征包括时域特征、谱域特征、倒谱域特征。
58.本技术实施例中,所述提取所述用户语音的音频特征,包括:
59.对所述用户语音进行分帧加窗,得到多个语音帧,并从所述多个语音帧中逐个选取其中一个语音帧为目标语音帧;
60.将所述目标语音帧映射为语音时域图,统计所述语音时域图的峰值、幅值、均值和过零率,根据所述幅值计算帧能量,并将所述峰值、所述幅值、所述均值、所述帧能量及所述过零率汇集为时域特征;
61.利用预设滤波器将所述用户语音转换为谱域图,统计所述谱域图的谱域密度、谱熵和共振峰参数,得倒谱域特征;
62.通过傅里叶逆变换将所述谱域图转换为倒谱域图,统计所述倒谱域图的倒谱域密度、倒谱熵和倒谱周期,得到所述倒谱域特征;
63.将所述时域特征、所述谱域特征和所述倒谱域特征汇集为语音特征。
64.详细地,可通过汉明窗的方式对所述用户语音进行分帧加窗,得到多个语音帧,可实现利用信号的局部稳定性,提高对用户语音进行分析的精确度。
65.具体地,可利用matplotlib.pyplot包中的pcolormesh函数(预设第一函数)将所述目标语音帧映射为语音时域图,并通过数理统计,获取所述语音时域图的峰值、幅值均值和过零率,进而根据所述幅值计算帧能量。
66.示例性地,可利用如下能量算法计算所述帧能量:
[0067][0068]
其中,energy为第y个语音帧的帧能量,n为所述第y个语音帧的总时长,xn为所述第y个语音帧在n时刻的幅值。
[0069]
本技术实施例中,可利用预设滤波器将所述用户语音转换为谱域图(即频谱图),并通过数理统计,获取所述倒谱域图的倒谱域密度、倒谱熵和倒谱周期等谱域特征,所述预设滤波器包括但不限于pe滤波器、doumax滤波器。
[0070]
详细地,由于获取的所述用户语音中可能耦合多种背景噪声音频,而在对该用户语音进行分析时,背景噪声音频会对分析结果产生干扰,造成分析结果的精确度,因此,为了提高最终意图识别的精确度,本技术实施例通过傅里叶逆变换将所述谱域图转换为倒谱域图,将耦合进该用户语音中的多种音频信号进行分离,从而提高意图识别的精确度。
[0071]
本技术其他实施例中,还可采用python库中的pyaudio analysis工具包对所述用户语音进行处理,以获取该用户语音中的时域特征、谱域特征和倒谱域特征。
[0072]
进一步地,由于提取出的语音特征是根据所述用户语音的时域、谱域和倒谱域分析得到的,仅是对用户产生该用户语音时声音的声学特征进行分析,并未对用户的用户语音的内容进行分析,因此,本发明实施例识别所述用户语音的语音文本,并对所述语音文本进行分析。
[0073]
本技术实施例中,可通过自动语音识别(automatic speech recognition,asr)技术对所述用户语音进行内容识别,得到所述用户语音对应的语音文本。
[0074]
本技术其他实施例中,还可采用声学模型对所述用户语音进行语音识别,得到语音文本,所述声学模型通过对每个字进行发声的建模,以建立包含多个字,及每个字对应的
标准发声的数据库,通过对所述用户语音中每个时刻下用户发声的采集,以获取每个时刻下用户的发声,进而将该发声与预先构建的包含多个字,及每个字对应的标准发声的数据库中的字进行概率匹配,以此实现对用户语音进行语音识别,得到语音文本。
[0075]
s2、根据所述语音文本和所述音频特征构建所述用户语音的意图矩阵。
[0076]
本技术实施例中,所述根据所述语音文本和所述音频特征构建所述用户语音的意图矩阵,包括:
[0077]
将所述语音文本拆分为文本分词,并将所述文本分词转换为词向量;
[0078]
根据所述音频特征和所述词向量构建所述用户语音的意图矩阵。
[0079]
详细地,由于所述语音文本有自然语言组成,若直接对所述语音文本进行分析,会占用大量的计算资源,导致分析的效率低下,因此,可将所述语音文本拆分为文本分词,并将所述文本分词转换为词向量,进而实现将由自然语言表达的语音文本转换为数值形式。
[0080]
本技术实施例中,参图2所示,所述将所述语音文本拆分为文本分词,并将所述文本分词转换为词向量,包括:
[0081]
s21、删除所述语音文本中的无义词,得到标准文本;
[0082]
s22、将所述标准文本按照不同的长度在预设的标准词典中进行检索,并将可在所述标准词典中检索到的内容汇集为文本分词;
[0083]
s23、从预设的字向量表中查询所述文本分词中每个字的字向量;
[0084]
s24、按照所述文本分词中每一个字的顺序将所述字向量拼接为所述文本分词的词向量。
[0085]
详细地,所述删除所述语音文本中的无义词,即删除所述语音文本中没有实际含义的词语,例如,连接词、语气词、结构助词等,通过删除所述语音文本中的无义词,可减少对所述语音文本进行文本分词提取时,无义词的干扰,有利于提高提取出的文本分词的精确度。
[0086]
具体地,所述标准词典中包含多个标准分词,将所述语音文本按照不同的长度在所述标准词典中进行检索,若可检索到相同的标准分词,则可确定检索到的标准分词为所述语音文本的文本分词。
[0087]
进一步地,所述字向量表中包含多个字,以及每个字对应的字向量,可通过将所述文本分词的每一个字在所述字向量表中进行检索,得到每一个字对应的字向量,并按照每一个字在所述文本分词中的顺序,将所述字向量拼接为所述文本分词的词向量,其中,所述字向量表与所述标准词典类似,为预先构建的,包含多个单字对应的字向量的数据表。
[0088]
例如,所述文本分词包括“青少年”三个字,分别将三个字在所述字向量表中进行查询,得到“青”字对应的字向量为{a},“少”字对应的字向量为{b},“年”字对应的字向量为{c},则可按照该三个字在所述文本分词“青少年”中的顺序,将三个字向量拼接为所述文本分词的词向量:{abc}。
[0089]
本发明其他实施例中,还可采用word2vec模型、nlp(natural language processing,自然语言处理)模型、bert模型等具有词向量转换功能的模型分别将所述文本分词转换为词向量。
[0090]
本技术其中一个实际应用场景中,由于用户语音中可能包含多种用户意图,因此,为了实现对所述用户语音中所有意图进行识别,可根据所述音频特征和所述词向量构建所
述用户语音的意图矩阵,进而利用矩阵实现对用户语音的局部分析,以识别用户的不同意图。
[0091]
本技术实施例中,所述根据所述音频特征和所述词向量构建所述用户语音的意图矩阵,包括:
[0092]
将所述音频特征转换为音频向量;
[0093]
将所述音频向量与所述词向量写入预先构建的空白矩阵,得到所述意图矩阵。
[0094]
详细地,可利用scipy工具包对所述音频特征进行向量转换,得到所述音频特征的音频向量。
[0095]
具体地,所述空白矩阵即元素全部为0的矩阵,可通过r语言库中的b=zeros(m,n)函数创建m行n列的空白矩阵。
[0096]
本技术实施例中,可将所述音频特征的音频向量,以及所述词向量逐个以行向量的形式写入所述空白矩阵,得到包含所述音频向量和所述词向量的意图矩阵。
[0097]
s3、按照预设数量对所述意图矩阵中的元素进行多次随机采样,得到所述意图矩阵的多个子集矩阵。
[0098]
本技术其中一个实际应用场景中,由于所述意图矩阵中包含了多个音频向量以及词向量,若直接根据该意图矩阵分析所述用户语音的意图,矩阵中众多特征之间的相互影响对分析结果产生较大影响,导致分析的结果不够全面,无法单独分析出用户的多个意图,进而造成意图分析的精确度较低。
[0099]
因此,本发明实施例中,按照预设数量对所述意图矩阵中的元素进行多次随机采样,获取所述意图矩阵的多个子集矩阵,避免众多特征之间的相互影响,提高分析的全面性,能够分析出用户的多个意图。
[0100]
本技术实施例中,参图3所示,所述按照预设数量对所述意图矩阵中的元素进行多次随机采样,得到所述意图矩阵的多个子集矩阵,即按照预设数量对所述意图矩阵中的元素进行随机采样,并将采样得到的元汇集为所述意图矩阵的子集矩阵。
[0101]
进一步地,所述对所述意图矩阵中的元素进行多次随机采样,得到所述意图矩阵的多个子集矩阵之后,所述方法还包括:
[0102]
判断所述子集矩阵的数量是否达到预设阈值;
[0103]
若所述子集矩阵的数量未达到所述预设阈值,则返回再次执行所述对所述意图矩阵中的元素进行多次随机采样的步骤。
[0104]
例如,所述意图矩阵中包括100个元素,当预设数量为20时,则随机从所述意图矩阵中采集20个元素,并将采集到的20个元素汇集为该意图矩阵的一个子集矩阵;判断所述子集矩阵的数量(1)是否等于预设阈值(2),可知,所述子集矩阵的数量(1)不等于预设阈值(2),则重新对所述意图矩阵中的20个元素进行采样,并将采样结果汇集为该意图矩阵的另一个子集矩阵,此时,所述子集矩阵的数量(2)不等于预设阈值(2),将得到的两个子集矩阵进行汇集,得到该意图矩阵的多个子集矩阵。
[0105]
本技术实施例中,通过判断所述子集矩阵的数量是否达到预设阈值,可实现有限次数的采样,避免子集矩阵的数量过多,导致后续分析的计算量过大,降低分析效率。
[0106]
s4、将所述多个子集矩阵中每个子集矩阵与预设多种意图标签进行匹配,根据匹配结果确定所述用户语音的多种意图。
[0107]
本技术实施例中,可分别将所述多个子集矩阵中每个子集矩阵单独与预设多种意图标签进行匹配,以进而根据匹配结果识别出每个子集矩阵对应的意图标签,从而确定所述用户语音包含的多种意图。
[0108]
本技术实施例中,参图3所示,所述将所述多个子集矩阵中每个子集矩阵与预设多种意图标签进行匹配,得到所述用户语音的多种意图,包括:
[0109]
s31、逐个从所述多个子集矩阵中选取其中一个矩阵为目标矩阵;
[0110]
s32、利用预设的距离算法分别计算所述目标矩阵与预设多种意图标签之间的距离值;
[0111]
s33、确定所述距离值最小的意图标签为所述目标矩阵的用户意图;
[0112]
s34、汇集所有子集矩阵对应的用户意图,得到所述用户语音的多种意图。
[0113]
详细地,所述利用预设的距离算法分别计算所述目标矩阵与预设多种意图标签之间的距离值,包括:
[0114]
利用如下距离算法分别计算所述目标矩阵与预设多种意图标签之间的距离值:
[0115][0116]
其中,d为所述距离值,a为所述目标矩阵,bi为所述预设多种意图标签中第i种意图标签。
[0117]
本技术实施例提供的该方法,可通过结合用户语音的音频特征与文本内容构建意图矩阵,以提高意图识别的精确度;同时,对意图矩阵进行采样,得到多个子集矩阵,并分别根据每个子集矩阵匹配出用户意图,避免矩阵中众多特征之间的相互作用对分析结果产生较大影响,导致分析的结果不够全面,实现了对用户语音的多意图识别,可解决进行意图识别时,难以识别出多个意图的问题。
[0118]
如图4所示,本技术实施例提供了一种多意图识别装置10的模块示意图,所述多意图识别装置10,包括:数据获取模块11、矩阵构建模块12、矩阵采样模块13和意图匹配模块14。
[0119]
所述数据获取模块101,用于获取用户语音,提取所述用户语音的音频特征,以及获取所述用户语音对应的语音文本;
[0120]
所述矩阵构建模块102,用于根据所述语音文本和所述音频特征构建所述用户语音的意图矩阵;
[0121]
所述矩阵采样模块103,用于对所述意图矩阵中的元素进行多次随机采样,得到所述意图矩阵的多个子集矩阵;
[0122]
所述意图匹配模块104,用于将所述多个子集矩阵中每个子集矩阵与预设多种意图标签进行匹配,根据匹配结果确定所述用户语音的多种意图。
[0123]
详细地,本技术实施例中所述多意图识别装置10中所述的各模块在使用时采用与上述图1至图3中所述的多意图识别方法一样的技术手段,并能够产生相同的技术效果,这里不再赘述。
[0124]
如图5所示,本技术实施例提供了一种电子设备,包括处理器111、通信接口112、存储器113和通信总线114,其中,处理器111、通信接口112、存储器113通过通信总线114完成
相互间的通信;
[0125]
存储器113,用于存放计算机程序;
[0126]
在本技术一个实施例中,处理器111,用于执行存储器113上所存放的程序时,实现前述任意一个方法实施例提供的多意图识别方法,包括:
[0127]
获取用户语音,提取所述用户语音的音频特征,以及获取所述用户语音对应的语音文本;
[0128]
根据所述语音文本和所述音频特征构建所述用户语音的意图矩阵;
[0129]
对所述意图矩阵中的元素进行多次随机采样,得到所述意图矩阵的多个子集矩阵;
[0130]
将所述多个子集矩阵中每个子集矩阵与预设多种意图标签进行匹配,根据匹配结果确定所述用户语音的多种意图。
[0131]
本技术实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如前述任意一个方法实施例提供的多意图识别方法的步骤。
[0132]
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0133]
以上所述仅是本技术的具体实施方式,使本领域技术人员能够理解或实现本技术。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本技术的精神或范围的情况下,在其它实施例中实现。因此,本技术将不会被限制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖特点相一致的最宽的范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献