语音意图识别的方法、装置、计算机设备和存储介质与流程

文档序号:31457747发布日期:2022-09-07 15:06阅读:70来源:国知局
语音意图识别的方法、装置、计算机设备和存储介质与流程

1.本技术涉及到人工智能领域,特别是涉及到一种语音意图识别的方法、装置、计算机设备和存储介质。


背景技术:

2.智能外呼机器人是企业为客户提供有效服务的重要沟通工具。对于智能外呼机器人来说,能够准确识别客户语音的意图是十分重要的。
3.在现有的智能外呼机器人在识别客户意图时,首先需要通过语音转文本模型将客户的语音转化为文本,之后由意图识别模型识别与客户语音对应的文本,进而识别客户的意图。
4.发明人发现,由于语音转文本在使用时,往往会有客户处在人多等公共场合,此时由于周围有其他人声,导致语音转换的文本会夹杂其他人声转换的文本,因此导致意图模型在识别客户意图时出现错误。例如:当客户说“帮我查一下余额”,但此时背景有其他人在说“我要看电影”,那么此时接收到的语音经过两个人声的叠加,变为“帮我查我一要下看余电额影”,导致意图识别无法识别。因此如何解决智能外呼机器人遇到多人声时意图识别模型准确率低是亟需解决的问题。


技术实现要素:

5.本技术的主要目的为提供一种语音意图识别的方法、装置、计算机设备和存储介质,旨在解决智能外呼机器人遇到多人声时意图识别模型准确率低的技术问题。
6.为了实现上述发明目的,本技术提出一种语音意图识别的方法,所述方法包括:
7.获取第一id用户发送的待识别的音频数据,以及到预设的声纹库中查找与第一id用户对应的预存声纹特征;
8.判断所述音频数据中是否包含多个人的发音;
9.若所述音频数据中包含多个人的发音,则通过预训练的人声分离模型对所述音频数据进行人声分离,得到多个不同人的单独音频数据;
10.分别解析多个不同人的单独音频数据的声纹特征,得到多个不同人的声纹特征;
11.在多个不同人的所述声纹特征中,提取与所述预存声纹特征相同的目标声纹特征;
12.在多个不同人的所述单独音频数据中,提取与所述目标声纹特征对应的单独音频数据作为目标单独音频数据;
13.将所述目标单独音频数据转换为文本数据,并将所述文本数据输入到预训练的意图识别模型中,得到所述待识别的音频数据的意图。
14.进一步地,所述判断所述音频数据中是否包含多个人的发音,包括:
15.在所述音频数据中截取第一时间长度的第一音频数据;
16.将所述第一音频数据分成第二音频数据和第三音频数据;
17.分别提取所述第一音频数据、第二音频数据和第三音频数据的声纹特征,得到第一声纹特征、第二声纹特征和第三声纹特征;
18.判断所述第一声纹特征、第二声纹特征和第三声纹特征是否相同;
19.若不相同,则判定所述音频数据中包含多个人的发音。
20.进一步地,所述在多个不同人的所述声纹特征中,提取与所述第一id用户对应的预存声纹特征相同的目标声纹特征之前,包括:
21.判断是否存储有所述第一id用户的预存声纹特征;
22.若有,则执行“在多个不同人的所述声纹特征中,提取与所述第一id用户对应的预存声纹特征相同的目标声纹特征”的步骤;
23.若否,则获取所述第一id用户的第一历史声音数据,基于所述第一历史声纹数据建立所述第一id用户的预存声纹特征,之后执行“在多个不同人的所述声纹特征中,提取与所述第一id用户对应的预存声纹特征相同的目标声纹特征”的步骤。
24.进一步地,所述获取第一id用户发送的待识别的音频数据之前,包括:
25.获取各历史用户的第二历史声音数据;
26.基于预设的声纹注册模型提取各第二历史声音数据对应的入库声纹特征;
27.将各历史用户的id与对应的入库声纹特征进行一对一映射的放入所述声纹库中。
28.进一步地,所述声纹注册模型为在ecapa-tdnn模型的第一层前加入specaug层的改进模型,所述specaug层用于对输入的fbank向量做随机mask。
29.进一步地,所述获取第一id用户发送的待识别的音频数据之前,包括:
30.训练人声分离基础模型,得到预训练的人声分离模型,其中,所述人声分离基础模型为在ecapa-tdnn模型的第一层前加入specaug层,以及将所述capa-tdnn模型的softmax层替换为focaloss层的改进模型。
31.进一步地,所述训练人声分离基础模型,得到预训练的人声分离模型之前,包括:
32.获取所有具有id的历史用户的声音片段,其中,所述声音片段上具有对应的id标记;
33.将各所述声音片段两两拼接,得到多个拼接声音片段;
34.对所述拼接声音片段按照预设时间长度进行分片,得到分片声音样本,其中,每一个所述拼接声音片段被分割成至少两个含有单独id标记的分片声音样本,以及一个同时含有两个id标记的分片声音样本;
35.将得到所有的分片声音样本集合,形成训练人声分离基础模型的样本集。
36.本技术还提供一种语音意图识别的装置,所述装置包括:
37.获取单元,用于获取第一id用户发送的待识别的音频数据,以及到预设的声纹库中查找与第一id用户对应的预存声纹特征;
38.判断单元,用于判断所述音频数据中是否包含多个人的发音;
39.人声分离单元,用于若所述音频数据中包含多个人的发音,则通过预训练的人声分离模型对所述音频数据进行人声分离,得到多个不同人的单独音频数据;
40.解析单元,用于分别解析多个不同人的单独音频数据的声纹特征,得到多个不同人的声纹特征;
41.第一提起单元,用于在多个不同人的所述声纹特征中,提取与所述预存声纹特征
相同的目标声纹特征;
42.第二提取单元,用于在多个不同人的所述单独音频数据中,提取与所述目标声纹特征对应的单独音频数据作为目标单独音频数据;
43.意图识别单元,用于将所述目标单独音频数据转换为文本数据,并将所述文本数据输入到预训练的意图识别模型中,得到所述待识别的音频数据的意图。
44.本技术还提供一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述任一项所述方法的步骤。
45.本技术还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述的方法的步骤。
46.本技术的语音意图识别的方法、装置、计算机设备和存储介质,在执行方法时,先判断音频数据是否含有多人的发音,如果有,则进行人声分离得到不同人的单独音频数据并提取对应的声纹特征,之后在提取的声纹特征中查找与第一id用户的预存声纹特征相同的目标声纹特征,最后得到与目标声纹特征对应的目标单独音频数据,该目标单独音频数据即可以认为是第一id用户自己发出声音,最后基于该目标单独音频数据进行文本转换,进行意图识别,既可以得到排除其他人的音频数据的干扰后,第一id用户的真实意图,提高智能外呼机器人遇到多人声时意图识别的准确率。
附图说明
47.图1为本技术一实施例的语音意图识别的方法的流程示意图;
48.图2为本技术一实施例的判断音频数据中是否包含多个人的发音的流程示意图;
49.图3为本技术一实施例的语音意图识别的装置的结构示意框图;
50.图4为申请一实施例的计算机设备的结构示意框图。
51.本技术目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
52.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。
53.参照图1,本技术实施例提供一种语音意图识别的方法,包括以下步骤s1~s7:
54.s1、获取第一id用户发送的待识别的音频数据,以及到预设的声纹库中查找与第一id用户对应的预存声纹特征;
55.s2、判断所述音频数据中是否包含多个人的发音;
56.s3、若所述音频数据中包含多个人的发音,则通过预训练的人声分离模型对所述音频数据进行人声分离,得到多个不同人的单独音频数据;
57.s4、分别解析多个不同人的单独音频数据的声纹特征,得到多个不同人的声纹特征;
58.s5、在多个不同人的所述声纹特征中,提取与所述预存声纹特征相同的目标声纹特征;
59.s6、在多个不同人的所述单独音频数据中,提取与所述目标声纹特征对应的单独
音频数据作为目标单独音频数据;
60.s7、将所述目标单独音频数据转换为文本数据,并将所述文本数据输入到预训练的意图识别模型中,得到所述待识别的音频数据的意图。
61.本技术的语音意图识别的方法应用于智能语音识别、智能语音答复等人工智能领域。举例地,本技术应用于智能外呼机器人,该智能外呼机器人即为接通用户输入的音频数据,然后进行相应答复的设备或应用程序。
62.如上述步骤s1所述,上述第一id用户即为拥有第一id的用户。第一id用户是当前输入语音的用户,其输入的语音(待识别的音频数据)一般包括其本身发出的声音,以及其周边环境中的声音,如风声、雨声、汽车发动机发出的声音和其他人发出的声音等。也就是说,第一id用户输入的音频数据可能存在大量的干扰声音,这也是目前对其输入的语音意图识别不准确的主要原因。上述预设的声纹库即为预先存储大量声纹特征的数据库,声纹库中每一个声纹特征对应有一个id。本技术中,在不同的应用场景中,用户基本都会提前注册账户,注册账户时即会产生唯一对应的id。当第一id用户输入音频数据时,对应的id也就可以知道,进而可以到声纹库中找到其对应的预存声纹特征。
63.如上述步骤s2所述,上述多人即为两个人或者两个以上的人。判断音频数据中是否含有多个人的发音的方法可以为:将音频数据截取成多段,然后提取各段音频数据的声纹特征,然后比较各段音频数据的声纹特征是否相同,如果相同,则判定仅有一个人的发声,否则判定有多个人发声。当判定仅有一个人发声,则可以判定音频数据仅为第一id用户自己的发声,可以直接进行文本转换、意图识别的动作;当判定存在多人发声,则需要对音频数据进行处理,得到第一id用户对应的单独音频数据。
64.如上述步骤s3所述,当判定待识别的音频数据中还有多人的发声后,既要进行人声分离。人声分离即为将不同人的发声分离出来。上述人声分离模型即为通过大量的样本数据进行训练得到的模型,样本数据即为含有不同人发声的组合语音数据,并且带有对应的标记,在训练的时候一般采用有监督的训练。在本实施例中,人声分离模型为基于ecapa-tdnn模型训练得到的模型。
65.如上述步骤s4-s6所述,将不同人的单独音频数据提取出来后,并不能确定哪一个单独音频数据是第一id用户的单独音频数据,所以需要提取各单独音频数据的声纹特征,进而与第一id用户的预存声纹特征进行比较,得到目标声纹特征,然后将与目标声纹特征对应的单独音频数据作为目标单独音频数据,并将其认作第一id用户的单独音频数据。
66.如上述步骤s7所述,将所述目标单独音频数据转换为文本数据,并将所述文本数据输入到预训练的意图识别模型中,得到所述待识别的音频数据的意图。
67.本技术实施例的语音意图识别的方法先判断音频数据是否含有多人的发音,如果有,则进行人声分离得到不同人的单独音频数据并提取对应的声纹特征,之后在提取的声纹特征中查找与第一id用户的预存声纹特征相同的目标声纹特征,最后得到与目标声纹特征对应的目标单独音频数据,该目标单独音频数据即可以认为是第一id用户自己发出声音,最后基于该目标单独音频数据进行文本转换,进行意图识别,即得到排除其他人的音频数据的干扰后,第一id用户的真实意图,提高智能外呼机器人遇到多人声时意图识别的准确率。
68.参照图2,在一个实施例中,上述判断所述音频数据中是否包含多个人的发音的步
骤s2,包括以下步骤s21~s25:
69.s21、在所述音频数据中截取第一时间长度的第一音频数据;
70.s22、将所述第一音频数据分成第二音频数据和第三音频数据;
71.s23、分别提取所述第一音频数据、第二音频数据和第三音频数据的声纹特征,得到第一声纹特征、第二声纹特征和第三声纹特征;
72.s24、判断所述第一声纹特征、第二声纹特征和第三声纹特征是否相同;
73.s25、若不相同,则判定所述音频数据中包含多个人的发音。
74.如上述步骤s21至s25所述,首先在音频数据中截取出一段第一音频数据,其次,将第一音频数据拆分成第二音频数据和第三音频数据,然后分别提取这三段音频数据的声纹特征,并进行比较,如果三段音频数据的声纹特征全部相同,则说明第一音频数据中完全是同一个人发出的声音,如果不同,则说明第一音频数据中存在多人的发音,进而也就说明上述第一id用户发送的待识别的音频数据中存在多人的发声。在一个具体实施例中,上述第一时间长度为3秒,而第二音频数据和第三音频数据分别为1.5秒的音频数据。本实施例的判断所述音频数据中是否包含多个人的发音的方法,仅需要分析一小段音频数据,就可以判断出是否存在多人发声,判断准确,且节约计算资源。在一个具体实施例中,如果智能外呼机器人需要实时识别音频数据时,可以每间隔3秒判断一次,放置输入的音频数据中间穿插有其他人的声音。
75.在一个实施例中,上述在多个不同人的所述声纹特征中,提取与所述第一id用户对应的预存声纹特征相同的目标声纹特征的步骤s4之前,包括:
76.判断是否存储有所述第一id用户的预存声纹特征;
77.若有,则执行“在多个不同人的所述声纹特征中,提取与所述第一id用户对应的预存声纹特征相同的目标声纹特征”的步骤;
78.若否,则获取所述第一id用户的第一历史声音数据,基于所述第一历史声纹数据建立所述第一id用户的预存声纹特征,之后执行“在多个不同人的所述声纹特征中,提取与所述第一id用户对应的预存声纹特征相同的目标声纹特征”的步骤。
79.如上所述,第一id用户可能是未注册的用户,但是又存在历史交互的记录,如果没有在声纹库中查找到与第一id用户对应的预存声纹特征,则需要在声纹库中新建立一个“id-声纹特征”的数据。而建立的方法即为调取该用户历史上的交互记录(语音交互记录),然后从历史上的交互记录中提取出一条仅存在一个人发声的语音数据,即上述的第一历史声音数据,然后基于所述第一历史声纹数据建立所述第一id用户的预存声纹特征,建立完成后再执行步骤s4。判断历史上的交互记录中的语音数据中哪些数据是一个人的发声,可以使用上述步骤s21至s25的方法。
80.在一个实施例中,上述获取第一id用户发送的待识别的音频数据之前,包括:
81.获取各历史用户的第二历史声音数据;
82.基于预设的声纹注册模型提取各第二历史声音数据对应的入库声纹特征;
83.将各历史用户的id与对应的入库声纹特征进行一对一映射的放入所述声纹库中。
84.如上所述,即为建立声纹库的过程。分别提取所有历史用户的第二历史声音数据的声纹特征,然后与对应的id进行一对一的绑定形成声纹库。需要注意的是,各第二历史声音数据也均是一个人发声的数据。
85.在一个实施例中,用户在建立id的过程中,可以主动输入一个一个人发声的音频数据给智能外呼机器人,使智能外呼机器人直接基于该音频数据得到与id对应的声纹特征,然后一对一映射的存入到声纹库中。上述声纹注册模型即为提取声纹特征的模型,其可以ecapa-tdnn模型训练得到。
86.在一个实施例中,上述声纹注册模型为在ecapa-tdnn模型的第一层前加入specaug层的改进模型,所述specaug层用于对输入的fbank向量做随机mask。
87.如上所述,在训练声纹注册模型时,先对样本数进行预处理,得到fbank向量,然后将fbank向量输入到specaug层,specaug层对输入的fbank向量做随机mask。针对原始生成的fbank向量做随机的mask之后,在输入到ecapa-tdnn模型的后续网络里,因为相对于原始数据生成的fbank向量随机mask之后,相当于增广了数据,增加了模型的泛化能力。
88.在一个实施例中,对样本数进行预处理,得到fbank向量的过程包括:预加重、分帧、加窗、做快速傅里叶变换、梅尔滤波器处理等。
89.在一个实施例中,上述获取第一id用户发送的待识别的音频数据之前,包括:
90.获取所有具有id的历史用户的声音片段,其中,所述声音片段上具有对应的id标记;
91.将各所述声音片段两两拼接,得到多个拼接声音片段;
92.对所述拼接声音片段按照预设时间长度进行分片,得到分片声音样本,其中,每一个所述拼接声音片段被分割成至少两个含有单独id标记的分片声音样本,以及一个同时含有两个id标记的分片声音样本;
93.将得到所有的分片声音样本集合,形成训练人声分离基础模型的样本集;
94.基于所述样本集训练人声分离基础模型,得到预训练的人声分离模型,其中,所述人声分离基础模型为在ecapa-tdnn模型的第一层前加入specaug层,以及将所述capa-tdnn模型的softmax层替换为focaloss层的改进模型。
95.如上所述,训练得到人声分离模型之前,先构建人声分离的样本数据集,在构建人声分离的样本数据集时,直接选择历史用户的声音片段,因为是历史用户的声音片段,所以对应有唯一的id标记;然后将两个不同人的声音片段进行拼接,形成上述的拼接声音片段,然后在对拼接声音片段进行分片,得到分片声音样本。举例地,某拼接声音片段是由id为no.1和no.2的声音片段拼接而成,两声音片段的拼接处的边界帧记为ch,在分片过程中,以每一帧25毫秒的帧长对拼接声音片段进行分片,即会得到多个标记为no.1分片声音样本,多个标记为no.2分片声音样本和一个同时含有no.1和no.2的分片声音样本,即含有边界帧ch的分片声音样本。那么得到的分片声音样本集可以表示为[no.1,no.1,

,no.1,ch,no.2,

no.2]。多个拼接声音片段分别进行分片后,既可以构建成一个数据量足够大的,用于训练人声分离模型的样本数据集。通过上述描述可知,构建的样本数据集中,ch标签的样本数据量较小,所以将原始softmax损失函数改进为对样本不均衡效果更好的focaloss。同样的,在ecapa-tdnn模型的第一层前加入specaug层,因为相对于原始数据生成的fbank向量随机mask之后,相当于增广了数据,增加了模型的泛化能力。
[0096]
参照图3,本技术实施例还提供一种语音意图识别的装置,所述装置包括:
[0097]
获取单元10,用于获取第一id用户发送的待识别的音频数据,以及到预设的声纹库中查找与第一id用户对应的预存声纹特征;
[0098]
判断单元20,用于判断所述音频数据中是否包含多个人的发音;
[0099]
人声分离单元30,用于若所述音频数据中包含多个人的发音,则通过预训练的人声分离模型对所述音频数据进行人声分离,得到多个不同人的单独音频数据;
[0100]
解析单元40,用于分别解析多个不同人的单独音频数据的声纹特征,得到多个不同人的声纹特征;
[0101]
第一提起单元50,用于在多个不同人的所述声纹特征中,提取与所述预存声纹特征相同的目标声纹特征;
[0102]
第二提取单元60,用于在多个不同人的所述单独音频数据中,提取与所述目标声纹特征对应的单独音频数据作为目标单独音频数据;
[0103]
意图识别单元70,用于将所述目标单独音频数据转换为文本数据,并将所述文本数据输入到预训练的意图识别模型中,得到所述待识别的音频数据的意图。
[0104]
在一个实施例中,上述判断单元,具体用于:在所述音频数据中截取第一时间长度的第一音频数据;将所述第一音频数据分成第二音频数据和第三音频数据;分别提取所述第一音频数据、第二音频数据和第三音频数据的声纹特征,得到第一声纹特征、第二声纹特征和第三声纹特征;判断所述第一声纹特征、第二声纹特征和第三声纹特征是否相同;若不相同,则判定所述音频数据中包含多个人的发音。
[0105]
在一个实施例中,上述语音意图识别的装置,还包括:
[0106]
第一判断单元,用于判断是否存储有所述第一id用户的预存声纹特征;
[0107]
执行单元,用于若有,则执行“在多个不同人的所述声纹特征中,提取与所述第一id用户对应的预存声纹特征相同的目标声纹特征”的步骤;若否,则获取所述第一id用户的第一历史声音数据,基于所述第一历史声纹数据建立所述第一id用户的预存声纹特征,之后执行“在多个不同人的所述声纹特征中,提取与所述第一id用户对应的预存声纹特征相同的目标声纹特征”的步骤。
[0108]
在一个实施例中,上述语音意图识别的装置,还包括:
[0109]
第一获取单元,用于获取各历史用户的第二历史声音数据;
[0110]
第三提取单元,用于基于预设的声纹注册模型提取各第二历史声音数据对应的入库声纹特征;
[0111]
放入单元,用于将各历史用户的id与对应的入库声纹特征进行一对一映射的放入所述声纹库中。
[0112]
在一个实施例中,上述声纹注册模型为在ecapa-tdnn模型的第一层前加入specaug层的改进模型,所述specaug层用于对输入的fbank向量做随机mask。
[0113]
在一个实施例中,上述语音意图识别的装置,还包括:
[0114]
人声分离训练单元,用于训练人声分离基础模型,得到预训练的人声分离模型,其中,所述人声分离基础模型为在ecapa-tdnn模型的第一层前加入specaug层,以及将所述capa-tdnn模型的softmax层替换为focaloss层的改进模型。
[0115]
在一个实施例中,上述语音意图识别的装置,还包括:
[0116]
数据集构建单元,用于获取所有具有id的历史用户的声音片段,其中,所述声音片段上具有对应的id标记;将各所述声音片段两两拼接,得到多个拼接声音片段;对所述拼接声音片段按照预设时间长度进行分片,得到分片声音样本,其中,每一个所述拼接声音片段
被分割成至少两个含有单独id标记的分片声音样本,以及一个同时含有两个id标记的分片声音样本;将得到所有的分片声音样本集合,形成训练人声分离基础模型的样本集。
[0117]
参照图4,本技术实施例中还提供一种计算机设备,该计算机设备可以是上述的管理服务器,或者管理节点对应的服务器,其内部结构可以如图4所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设计的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储声纹特征等数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种语音意图识别的方法。
[0118]
上述处理器执行上述语音意图识别的方法,包括:
[0119]
获取第一id用户发送的待识别的音频数据,以及到预设的声纹库中查找与第一id用户对应的预存声纹特征;
[0120]
判断所述音频数据中是否包含多个人的发音;
[0121]
若所述音频数据中包含多个人的发音,则通过预训练的人声分离模型对所述音频数据进行人声分离,得到多个不同人的单独音频数据;
[0122]
分别解析多个不同人的单独音频数据的声纹特征,得到多个不同人的声纹特征;
[0123]
在多个不同人的所述声纹特征中,提取与所述预存声纹特征相同的目标声纹特征;
[0124]
在多个不同人的所述单独音频数据中,提取与所述目标声纹特征对应的单独音频数据作为目标单独音频数据;
[0125]
将所述目标单独音频数据转换为文本数据,并将所述文本数据输入到预训练的意图识别模型中,得到所述待识别的音频数据的意图。
[0126]
在一个实施例中,所述判断所述音频数据中是否包含多个人的发音,包括:
[0127]
在所述音频数据中截取第一时间长度的第一音频数据;
[0128]
将所述第一音频数据分成第二音频数据和第三音频数据;
[0129]
分别提取所述第一音频数据、第二音频数据和第三音频数据的声纹特征,得到第一声纹特征、第二声纹特征和第三声纹特征;
[0130]
判断所述第一声纹特征、第二声纹特征和第三声纹特征是否相同;
[0131]
若不相同,则判定所述音频数据中包含多个人的发音。
[0132]
在一个实施例中,所述在多个不同人的所述声纹特征中,提取与所述第一id用户对应的预存声纹特征相同的目标声纹特征之前,包括:
[0133]
判断是否存储有所述第一id用户的预存声纹特征;
[0134]
若有,则执行“在多个不同人的所述声纹特征中,提取与所述第一id用户对应的预存声纹特征相同的目标声纹特征”的步骤;
[0135]
若否,则获取所述第一id用户的第一历史声音数据,基于所述第一历史声纹数据建立所述第一id用户的预存声纹特征,之后执行“在多个不同人的所述声纹特征中,提取与所述第一id用户对应的预存声纹特征相同的目标声纹特征”的步骤。
[0136]
在一个实施例中,所述获取第一id用户发送的待识别的音频数据之前,包括:
[0137]
获取各历史用户的第二历史声音数据;
[0138]
基于预设的声纹注册模型提取各第二历史声音数据对应的入库声纹特征;
[0139]
将各历史用户的id与对应的入库声纹特征进行一对一映射的放入所述声纹库中。
[0140]
在一个实施例中,所述声纹注册模型为在ecapa-tdnn模型的第一层前加入specaug层的改进模型,所述specaug层用于对输入的fbank向量做随机mask。
[0141]
在一个实施例中,所述获取第一id用户发送的待识别的音频数据之前,包括:
[0142]
训练人声分离基础模型,得到预训练的人声分离模型,其中,所述人声分离基础模型为在ecapa-tdnn模型的第一层前加入specaug层,以及将所述capa-tdnn模型的softmax层替换为focaloss层的改进模型。
[0143]
在一个实施例中,所述训练人声分离基础模型,得到预训练的人声分离模型之前,包括:
[0144]
获取所有具有id的历史用户的声音片段,其中,所述声音片段上具有对应的id标记;
[0145]
将各所述声音片段两两拼接,得到多个拼接声音片段;
[0146]
对所述拼接声音片段按照预设时间长度进行分片,得到分片声音样本,其中,每一个所述拼接声音片段被分割成至少两个含有单独id标记的分片声音样本,以及一个同时含有两个id标记的分片声音样本;
[0147]
将得到所有的分片声音样本集合,形成训练人声分离基础模型的样本集。
[0148]
本领域技术人员可以理解,图4中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的计算机设备的限定。
[0149]
本技术实施例的计算机设备,处理器在执行上述方法时,在前台系统的执行引擎上设置有验证规则接口,可以将用户创建的第一规则直接发送到对应的后台测试端进行验证,无需用户通过u盘等存储设备拷贝规则然后找到开发人员进行规则验证,或者发送邮件给开发人员,提高用户的工作效率。同样的,无需开发人员连接上述u盘等存储设备读取用户创建的规则,节省开发人员的工作量。
[0150]
本技术一实施例还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现一种语音意图识别的方法,包括:获取第一id用户发送的待识别的音频数据,以及到预设的声纹库中查找与第一id用户对应的预存声纹特征;判断所述音频数据中是否包含多个人的发音;若所述音频数据中包含多个人的发音,则通过预训练的人声分离模型对所述音频数据进行人声分离,得到多个不同人的单独音频数据;分别解析多个不同人的单独音频数据的声纹特征,得到多个不同人的声纹特征;在多个不同人的所述声纹特征中,提取与所述预存声纹特征相同的目标声纹特征;在多个不同人的所述单独音频数据中,提取与所述目标声纹特征对应的单独音频数据作为目标单独音频数据;将所述目标单独音频数据转换为文本数据,并将所述文本数据输入到预训练的意图识别模型中,得到所述待识别的音频数据的意图。
[0151]
处理器在执行上述方法时,先判断音频数据是否含有多人的发音,如果有,则进行人声分离得到不同人的单独音频数据并提取对应的声纹特征,之后在提取的声纹特征中查找与第一id用户的预存声纹特征相同的目标声纹特征,最后得到与目标声纹特征对应的目标单独音频数据,该目标单独音频数据即可以认为是第一id用户自己发出声音,最后基于
该目标单独音频数据进行文本转换,进行意图识别,既可以得到排除其他人的音频数据的干扰后,第一id用户的真实意图,提高智能外呼机器人遇到多人声时意图识别的准确率。
[0152]
在一个实施例中,所述判断所述音频数据中是否包含多个人的发音,包括:在所述音频数据中截取第一时间长度的第一音频数据;将所述第一音频数据分成第二音频数据和第三音频数据;分别提取所述第一音频数据、第二音频数据和第三音频数据的声纹特征,得到第一声纹特征、第二声纹特征和第三声纹特征;判断所述第一声纹特征、第二声纹特征和第三声纹特征是否相同;若不相同,则判定所述音频数据中包含多个人的发音。
[0153]
在一个实施例中,所述在多个不同人的所述声纹特征中,提取与所述第一id用户对应的预存声纹特征相同的目标声纹特征之前,包括:判断是否存储有所述第一id用户的预存声纹特征;若有,则执行“在多个不同人的所述声纹特征中,提取与所述第一id用户对应的预存声纹特征相同的目标声纹特征”的步骤;若否,则获取所述第一id用户的第一历史声音数据,基于所述第一历史声纹数据建立所述第一id用户的预存声纹特征,之后执行“在多个不同人的所述声纹特征中,提取与所述第一id用户对应的预存声纹特征相同的目标声纹特征”的步骤。
[0154]
在一个实施例中,所述获取第一id用户发送的待识别的音频数据之前,包括:获取各历史用户的第二历史声音数据;基于预设的声纹注册模型提取各第二历史声音数据对应的入库声纹特征;将各历史用户的id与对应的入库声纹特征进行一对一映射的放入所述声纹库中。
[0155]
在一个实施例中,所述声纹注册模型为在ecapa-tdnn模型的第一层前加入specaug层的改进模型,所述specaug层用于对输入的fbank向量做随机mask。
[0156]
在一个实施例中,所述获取第一id用户发送的待识别的音频数据之前,包括:训练人声分离基础模型,得到预训练的人声分离模型,其中,所述人声分离基础模型为在ecapa-tdnn模型的第一层前加入specaug层,以及将所述capa-tdnn模型的softmax层替换为focaloss层的改进模型。
[0157]
在一个实施例中,所述训练人声分离基础模型,得到预训练的人声分离模型之前,包括:获取所有具有id的历史用户的声音片段,其中,所述声音片段上具有对应的id标记;将各所述声音片段两两拼接,得到多个拼接声音片段;对所述拼接声音片段按照预设时间长度进行分片,得到分片声音样本,其中,每一个所述拼接声音片段被分割成至少两个含有单独id标记的分片声音样本,以及一个同时含有两个id标记的分片声音样本;将得到所有的分片声音样本集合,形成训练人声分离基础模型的样本集。
[0158]
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的和实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可以包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双速据率sdram(ssrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram
(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。
[0159]
以上所述仅为本技术的优选实施例,并非因此限制本技术的专利范围,凡是利用本技术说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本技术的专利保护范围内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1