基于语音的动作生成方法、装置、电子设备及存储介质与流程

文档序号:33393039发布日期:2023-03-08 11:57阅读:110来源:国知局
基于语音的动作生成方法、装置、电子设备及存储介质与流程

1.本技术涉及人工智能技术领域,尤其涉及一种基于语音的动作生成方法、装置、电子设备及存储介质。


背景技术:

2.更自然的人机交互方式一直是工业界和学术界持续追求的目标,近年来以虚拟人为载体的多模态交互被认为是5g+ai时代的新一代交互方式,受到越来越多的关注。在人与人之间的日常交流过程中肢体动作的表达扮演了非常重要的作用,能够更有效传达强调、态度、语义等信息,因此在人机交互中如何基于语音合成出更自然的肢体动作近年来也得到持续的关注。
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.本技术提出的基于语音的动作生成方法,能够确定目标语音中包含的动作意图,并确定与该动作意图相匹配的第一动作序列,以及从目标语音中提取得到语音韵律特征并基于该语音韵律特征预测确定与该语音韵律特征相匹配的第二动作序列,上述处理通过不同的维度分别得到了与目标语音相匹配的第一动作序列和第二动作序列。在此基础上,将第一动作序列和第二动作序列进行融合,得到与目标语音相匹配的动作序列。上述方案通过多维度的信息生成了与目标语音相匹配的动作序列,从而使得生成的与目标语音相匹配的动作序列更准确。
49.另一方面,上述方案在生成目标语音对应的动作序列时,考虑了目标语音的韵律特征,从而使生成的动作序列与目标语音的韵律相匹配,从而使得生成的与目标语音相匹配的动作序列所表征的动作更真实、更自然,在输出该目标语音时,利用与该目标语音相匹配的动作序列驱动虚拟形象,可以使得虚拟形象的语音与肢体动作更加自然、协调。
附图说明
50.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
51.图1为本技术实施例提供的一种基于语音的动作生成方法的流程示意图;
52.图2为本技术实施例提供的多动作意图识别模型的结构示意图;
53.图3为本技术实施例提供的矢量量化变分自编码网络的结构示意图;
54.图4为本技术实施例提供的韵律特征提取模型的训练过程示意图;
55.图5为本技术实施例提供的一种基于语音的动作生成装置的结构示意图;
56.图6为本技术实施例提供的一种电子设备的结构示意图。
具体实施方式
57.本技术实施例技术方案适用于基于语音生成与语音相匹配的肢体动作的应用场景,采用本技术实施例技术方案,能够生成与语音相匹配的更加自然的肢体动作。具体而言,本技术实施例技术方案可以应用于人机交互的场景中,在虚拟形象在输出语音时生成与输出的语音相匹配的肢体动作,该肢体动作可以驱动虚拟形象在输出语音时执行与输出语音相匹配的肢体动作,从而能够在人机交互或机器交互场景中复现人与人之间的带有肢体动作的交流场景。
58.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
59.示例性方法
60.本技术实施例首先提出一种基于语音的动作生成方法,参见图1所示,该方法包括:
61.s101、确定目标语音中包含的动作意图,并确定与所述动作意图相匹配的第一动作序列。
62.具体的,上述的目标语音,是指从人机交互或机器交互场景中所采集到的语音,例如设备输出或将要输出的语音。该目标语音可以是任意语种、任意内容、任意长度的语音。
63.上述的动作意图,是指目标语音中所体现出的执行某种动作的意图。例如目标语音中包含“打你一下!”或者“走着呢”等内容,则可以明确该语音中包含“打”、“走”的动作意图。
64.对该目标语音进行动作意图识别处理,可以确定其中包含的动作意图。例如,通过大量的包含动作意图的语音样本训练动作意图识别模型,可以用于从目标语音中识别得到其中包含的动作意图。
65.在确定目标语音中包含的动作意图后,确定与该动作意图相匹配的第一动作序列。该第一动作序列,即为与该动作意图相匹配的肢体动作的动作序列。
66.例如,假设目标语音中包含“走”的动作意图,则与该动作意图相匹配的第一动作序列,即为“走”这一动作的动作序列。
67.作为示例性的实现方式,可以预先构建动作序列库,该动作序列库中包含各种肢体动作所对应的动作序列。当从目标语音中识别到动作意图时,根据该动作意图所对应的动作,从该动作序列库中检索与该动作相匹配的动作序列,即可得到与该动作意图相匹配的第一动作序列。
68.以及,s102、从所述目标语音中提取得到语音韵律特征,并基于所述语音韵律特征预测得到与所述语音韵律特征相匹配的第二动作序列。
69.上述的语音韵律特征,是指目标语音中所包含的体现发音韵律的特征。一定程度上,语音韵律特征,体现了语音发声人的情绪、态度等。而在人人交互场景中,语音交互人的
肢体动作,会随着其说出的语音的韵律的变化而变化。即,语音的韵律,与语音匹配的肢体动作之间,具有匹配关系。
70.例如,假设目标语音为“让我们一起加油!”,当用户以激昂的情绪讲出这句话时,用户通常在最后说出“加油”这个词时提高音量并且加重语调,同时伴以振臂的动作。这一连贯的语音发声和肢体动作在日常人人交互场景中是非常普遍的,类似的场景也是数不胜数的。通过这些自然场景可以看出,语音韵律,与语音肢体动作之间是具有内在联系的。
71.因此,为了使得人机交互能够像人人交互那样自然,本技术实施例从目标语音中提取得到语音韵律特征,并基于提取得到的语音韵律特征预测得到与该语音韵律特征相匹配的第二动作序列。
72.示例性的,可以预先训练语音韵律特征提取模型,并利用该模型从目标语音中提取得到语音韵律特征。以及,预先采集语音韵律特征以及对应的动作序列的样本数据,训练得到基于语音韵律特征的动作预测模型,利用该模型预测得到与提取得到的语音韵律特征对应的肢体动作,并确定该肢体动作对应的动作序列,即得到与该语音韵律特征相匹配的第二动作序列。
73.上述的肢体动作,包括但不限于手、手臂、头、躯干、腿、脚、面部等各身体部位中的一个或多个部位的动作。
74.上述的步骤s101和s102的执行顺序可以灵活调整,并不局限于图1所示的先执行s101再执行s102的执行顺序,也可以先执行s102再执行s101,或者同时执行s101和s102。
75.s103、对所述第一动作序列和所述第二动作序列进行融合处理,生成与所述目标语音相匹配的动作序列。
76.具体的,上述的步骤s101和s102的处理,分别从目标语音中识别了动作意图,并且从中提取了语音韵律特征,以及,分别根据动作意图和语音韵律特征分别确定相应的第一动作序列和第二动作序列,即从不同的维度确定了与目标语音相匹配的动作序列。
77.在此基础上,本技术实施例对第一动作序列和第二动作序列进行融合处理,从而生成与目标语音相匹配的动作序列。
78.即,将通过动作意图而确定的第一动作序列,与通过语音韵律特征而确定的第二动作序列进行融合,实现了从不同维度预测与目标语音相匹配的动作序列,可以使得预测的与目标语音匹配的动作序列更准确。
79.示例性的,可以预先训练动作序列融合模型,实现第一动作序列与第二动作序列的融合处理,融合得到的动作序列即为与目标语音相匹配的动作序列。
80.通过上述介绍可见,本技术实施例提出的基于语音的动作生成方法,能够确定目标语音中包含的动作意图,并确定与该动作意图相匹配的第一动作序列,以及从目标语音中提取得到语音韵律特征并基于该语音韵律特征预测确定与该语音韵律特征相匹配的第二动作序列,上述处理通过不同的维度分别得到了与目标语音相匹配的第一动作序列和第二动作序列。在此基础上,将第一动作序列和第二动作序列进行融合,得到与目标语音相匹配的动作序列。上述方案通过多维度的信息生成了与目标语音相匹配的动作序列,从而使得生成的与目标语音相匹配的动作序列更准确。
81.另一方面,上述方案在生成目标语音对应的动作序列时,考虑了目标语音的韵律特征,从而使生成的动作序列与目标语音的韵律相匹配,从而使得生成的与目标语音相匹
配的动作序列所表征的动作更真实、更自然,在输出该目标语音时,利用与该目标语音相匹配的动作序列驱动虚拟形象,可以使得虚拟形象的语音与肢体动作更加自然、协调。
82.作为一种可选的实施方式,本技术实施例通过对目标语音进行基于预设动作意图类别标签的动作意图分类处理,确定目标语音中包含的动作意图。
83.其中,上述的预设动作意图类别标签,通过将预先采集的多种动作意图分别作为分类标签而确定。例如,假设已知的动作意图有打招呼、指引、夸奖等,则可以将这些已知的每一种动作意图分别作为一种分类标签,即得到多种不同的动作意图类别标签。
84.基于上述的预设动作意图类别标签设置,对目标语音可以进行动作意图分类,例如,基于目标语音的特征向量,计算其与每一种动作意图类别标签的匹配度,从中选择匹配度最大的一个或多个动作意图类别标签,得到该目标语音中所包含的动作意图。
85.作为优选的实现方式,本技术实施例对应每一个预设动作意图类别标签,分别对目标语音进行二分类处理;然后,基于对应每一个预设动作意图类别标签的二分类结果,确定目标语音中包含的动作意图。
86.其中,上述的对应每一个预设动作意图类别标签,对目标语音进行二分类处理,具体第对应每一个预设动作意图类别标签,判断语音是否包含该动作意图类别标签对应的动作意图。例如,若对应某一个预设动作意图类别标签,对目标语音进行二分类处理得到的分类结果为0,则说明该目标语音不包括该动作意图类别标签对应的动作意图,若分类结果为1,则说明该目标语音包括该动作意图类别标签对应的动作意图。
87.示例性的,本技术实施例预先训练多动作意图识别模型,用于从语音中识别动作意图。
88.首先,通过对收集的人人交互或人机交互场景中的场景文本语料进行句子级别的动作意图标注,得到多动作意图识别模型训练数据。
89.其次,本技术实施例构建了一种基于注意力机制的多动作意图识别模型,该多动作意图识别模型的骨干模型基于transformer结构,输入为文本分词后的词w1、w2到wl,由于同一句话中可能存在多种动作意图,模型针对每种动作意图均独立设置了一个分类头,通过注意力机制对各词特征进行加权,然后对相应的动作意图是否存在的进行二分类,具体模型结构如图2所示;最后,通过上述的训练数据对多动作意图识别模型进行句子级别的动作意图识别就可以完成识别模型的训练。
90.在使用阶段,将目标语音对应的文本输入上述的多动作意图识别模型即可实现多动作意图的识别。
91.进一步的,由于注意力机制正好反应了文本中每个词对于相应动作意图的重要性,因此,通过选取对于识别出相应动作意图的权重最大的词,即可确定该相应动作意图在该目标语音中所处的位置区间,即可实现对目标语音中的动作意图的定位。
92.例如,假设目标语音为“你所说的这个地方我知道,你沿这个方向一直走就到了”,通过对该目标语音的文本进行多动作意图识别,可以确定其中包含“指引”的动作意图,并且,通过上述的多动作意图识别模型可以确定,语句“你所说的这个地方我知道,你沿这个方向一直走就到了”中的“这个方向”对于识别出“指引”的动作意图的权重最大,因此可以确定,“指引”的动作意图在语句“你所说的这个地方我知道,你沿这个方向一直走就到了”中的位置区间,在这句话说到“这个方向”这几个字的位置区间。
93.在具体实施本技术实施例技术方案时,也可以通过其他方式确定目标语音中包含的动作意图在目标语音中所处的位置区间,例如,可以先对目标语音进行动作意图分类或识别,确定其中包含的动作意图。然后,对目标语音的文本进行分词处理,并计算各个分词与目标语音中包含的动作意图的匹配度,将与目标语音中的动作意图的匹配度最高的分词所在的位置,确定为目标语音中包含的动作意图在目标语音中所处的位置区间。
94.在确定了目标语音中所包含的动作意图在目标语音中所述的位置区间的情况下,当对第一动作序列和第二动作序列进行融合处理,生成与目标语音相匹配的动作序列时,本技术实施例将第二动作序列中的、位于所述位置区间的动作序列替换为第一动作序列,并对替换后的第二动作序列进行解码得到与所述目标语音相匹配的动作序列。
95.具体的,由于目标语音中的语音韵律特征,是贯穿目标语音始末的,因此基于目标语音的语音韵律特征而确定的第二动作序列,是与目标语音长度相匹配的。而目标语音中的动作意图,则只是目标语音中的某一个或某几个词所表现出的动作意图,与该动作意图相匹配的第一动作序列的长度是小于目标语音长度的。
96.因此,在分别确定与目标语音中包含的动作意图相匹配的第一动作序列,以及确定与目标语音的语音韵律特征相匹配的第二动作序列后,从第二动作序列中,确定出与目标语音中的动作意图在目标语音中的位置区间相对应的位置区间,假设为第一位置区间。然后,将该第一位置区间中的动作序列,替换为上述的第一动作序列,并对替换后的第二动作序列进行解码得到与目标语音相匹配的动作序列。
97.仍以上述举例为例,假设目标语音为“你所说的这个地方我知道,你沿这个方向一直走就到了”,按照本技术实施例技术方案,从该目标语音中识别出“指引”的动作意图,并确定与该动作意图对应的第一动作序列为“指引”这一动作的动作序列。同时,对该目标语音提取语音韵律特征并基于提取的语音韵律特征确定对应的第二动作序列。
98.然后,可以确定在该目标语音中,“指引”的动作意图所在的位置区间为语句中的“这个方向”所在的位置区间。根据该位置区间,从第二动作序列中确定出与该位置区间相对应的位置区间,例如假设为第15-第18个动作序列帧所在的位置区间。
99.最后,将第二动作序列中的第15-第18个动作序列帧替换为“指引”这一动作的动作序列,并对替换后的第二动作序列进行解码得到与目标语音相匹配的动作序列。
100.示例性的,可以将从目标语音中提取的语音韵律特征的长度,或者将第二动作序列的长度,设置为与目标语音相同的长度。这样可以使得最终生成的与目标语音相匹配的动作序列与目标语音的长度相同,在这种情况下,在播放目标语音的同时,利用与目标语音相匹配的动作序列驱动虚拟形象执行动作,可以使得虚拟形象执行的动作与目标语音相同步,使其动作更自然、更协调。
101.比如,按照上述处理生成与“你所说的这个地方我知道,你沿这个方向一直走就到了”这一语句对应的动作序列后,在播放该语句的同时,利用与该语句对应的动作序列驱动虚拟形象执行肢体动作,可以使得当语音播放到“这个方向”时,虚拟形象执行“指引”的肢体动作,整个过程更加自然、协调,更接近人人交互的场景。
102.作为一种可选的实现方式,当确定目标语音中包含的动作意图后,从预先构建的动作码本集合中,筛选与动作意图相匹配的动作码本生成第一动作序列。
103.其中,上述的动作码本集合中的动作码本用于组合得到任意的动作序列。
104.具体的,上述的动作码本,为构成动作序列的基本动作单元,任意的动作序列,均可以由动作码本集合中的一个或多个动作码本组合得到。
105.为了减少动作序列生成或合成的数据空间,提高动作生成的效率,本技术实施例对各种肢体动作进行动作单元拆分,从而总结了一些能够用于组合得到任意肢体动作的动作单元,这些动作单元作为动作码本构成动作码本集合。
106.具体的,上述的动作码本集合可以通过如下处理得到:
107.首先,对获取的动作序列进行拆分,得到各动作序列对应的动作序列单元。
108.其中,获取的动作序列包括语义动作库中的动作的序列,以及目标对象说话状态下的连续动作序列。
109.上述的目标对象,可以是任意的自然人或智能机器人等。目标对象说话状态下的连续动作序列,表示自然场景中采集的目标对象在说话时的连续肢体动作序列。
110.对于上述获取的动作序列进行动作序列单元拆分,例如每l帧动作序列拆分为一个动作序列单元。
111.然后,通过对各动作序列对应的动作序列单元进行编码,并利用编码结果恢复动作序列,确定与各个动作序列单元对应的动作编码。
112.具体的,上述处理获取到的这些动作序列单元作为训练样本,对矢量量化变分自编码网络进行动作序列编解码训练。
113.参见图3所示,具体是,将这些动作序列单元构成的动作序列输入矢量量化变分自编码网络,使该网络对该动作序列进行以动作序列单元为单位的编码处理,得到各个动作序列单元对应的动作编码,并利用各个动作序列单元对应的动作编码重构该输入的动作序列,这样就能够实现利用动作序列单元的动作编码来生成不同的动作。
114.在本技术实施例中矢量量化变分自编码网络的编码器及解码器均基于卷积神经网络cnn结构构建得到,也可以采用其他网络结构例如transformer以及图卷积等。
115.经过上述的训练过程,矢量量化变分自编码网络可以确定从获取的动作序列中拆分得到的各个动作序列单元的动作编码,基于这些动作单元的动作编码,能够重构得到动作序列。
116.最后,对所有动作序列单元对应的动作编码进行去重,并将去重后的各个动作编码作为动作码本构成动作码本集合。
117.具体的,在上述过程中,通过对不同的动作序列进行动作序列单元拆分、动作序列单元编码以及基于动作序列单元的编码结果重构动作序列,确定了每一动作序列包含的动作序列单元的动作编码。
118.而不同的动作序列中,可能包含相同的动作序列单元。因此,本技术实施例从各个动作序列包含的动作序列单元的动作编码中,去除重复的动作序列单元的动作编码,剩余的各个动作序列单元对应的动作编码作为动作码本构成动作码本集合。即,每一个动作单元对应的动作编码,作为一个动作码本,各个动作码本构成动作码本集合。
119.进一步的,基于上述的矢量量化变分自编码网络的处理,还可以确定各个动作序列分别可以由哪些动作码本组合得到,以及如何对动作码本进行组合得到,即确定动作序列与动作码本的对应关系。基于该对应关系,当需要合成某一动作的动作序列时,从该动作码本集合中获取相应的动作码本并按照相应的动作码本组合顺序组合得到想要的动作序
列。
120.基于上述的动作码本集合,当从目标语音中识别到动作意图时,先确定该动作意图对应的动作,例如“指引”,然后从上述的动作码本集合中筛选能够组合得到该动作的动作码本,还可以确定这些动作码本组合得到该动作的组合方式,利用这些动作码本按照该组合方式进行组合,即可生成与该动作意图对应的第一动作序列。
121.在本技术的一种实施例中,预先训练韵律特征提取模型,用于从语音中提取语音韵律特征。将目标语音输入预先训练的韵律特征提取模型中,即可得到该模型输出的目标语音的语音韵律特征。
122.该韵律特征提取模型,可以是基于任意类型、任意结构的神经网络模型经过韵律特征提取训练得到的韵律特征提取模型。
123.具体而言,上述的韵律特征提取模型通过第一训练方式和/或第二训练方式联合训练得到,其中,第一训练方式用于训练韵律特征提取模型从输入语音中提取得到语音韵律特征,第二训练方式用于训练韵律特征提取模型在从输入语音中提取语音韵律特征时滤除声纹特征和文本特征。
124.在训练韵律特征提取模型时,可以采用上述的第一训练方式,对其进行韵律特征提取训练,直至模型能够准确提取输入语音的韵律特征。
125.或者,也可以采用上述的第二训练方式,该训练方式主要用于训练韵律特征提取模型提取韵律特征的纯净度,在训练过程中,韵律特征提取模型从韵律特征中识别并滤除声纹特征和文本特征的性能越来越强,从而使得韵律特征提取模型提取得到的韵律特征越来越纯净、越来越准确。
126.或者,将上述的第一训练方式和第二训练方式联合应用,即通过上述两种训练方式对韵律特征提取模型进行训练。
127.作为优选的训练方案,本技术实施例采用第一训练方式和第二训练方式相结合的方式,对韵律特征提取模型进行训练。上述的两种训练方式同时作用于韵律特征提取模型,能够使得韵律特征提取模型从输入语音中提取出更加准确的语音韵律特征,并且加快模型收敛。
128.具体的,由于韵律特征的标注困难,不容易获取带有韵律特征标注的训练样本,因此本技术实施例采用自监督的语音韵律特征提取训练方案。
129.首先,采集一批不同人的语音作为训练集,同时通过自动语音识别确定语音对应的文本、文本特征和声纹特征。
130.其次,构建韵律特征提取模型。
131.接下来即可执行对该韵律特征提取模型的训练过程:
132.参见图4所示,将样本语谱图输入韵律特征提取模型,得到韵律特征提取模型从样本语谱图中提取的韵律特征。
133.上述的样本语谱图即为用于对韵律特征提取模型进行训练的样本语音的语谱图。韵律特征提取模型从样本语谱图中提取韵律特征,然后根据样本语谱图的字边界对提取的韵律特征进行平均池化并扩充至字区间的长度,也就是使得提取得到的每个字的韵律特征与该字所占的区间相同的长度,这样使得对样本语谱图提取的韵律特征的长度与语谱图的长度相同,并且提取的韵律特征中对应每个字的韵律特征的长度与每个字的语谱长度相
同。这样的设置有利于使后期利用语音的韵律特征预测的第二动作序列的长度与语音长度相同,并且与语音各个字严格匹配对应。
134.接下来,分两支路进行处理并计算损失函数:
135.第一支路是,利用提取得到的韵律特征,以及样本语谱图的声纹特征和文本特征进行语谱图重建,得到重建语谱图,并基于样本语谱图与重建语谱图,计算得到语谱重建损失。
136.第二支路是,利用提取得到的韵律特征进行声纹特征重建和文本特征重建,得到重建声纹特征和重建文本特征,并基于声纹特征和重建声纹特征计算得到第一对抗损失,以及,基于文本特征和重建文本特征计算得到第二对抗损失。
137.以所述语谱重建损失小于预设的第一损失阈值,以及所述第一对抗损失和所述第二对抗损失大于预设的第二损失阈值为目标,对所述韵律特征提取模型进行运算参数修正。
138.上述的第一支路,即对应上述的第一训练方式,该训练方式以自监督的方式对韵律特征提取模型的语音韵律特征提取功能进行训练,使其能够提取准确的语音韵律特征,并且保证基于提取的语音韵律特征能够重建语音,即保证提取的语音韵律特征的正确性。
139.上述的第二支路,即对应上述的第二训练方式,该训练方式为对抗训练,使得韵律特征提取模型在从输入语音中提取语音韵律特征时滤除从语音中提取的声纹特征和文本特征,从而使得提取的语音韵律特征更纯净。
140.经过上述训练,该韵律特征提取模型能够从输入语音中准确地提取得到纯净的语音韵律特征。
141.在本技术的一个实施例中,预先训练动作序列预测模型,用于预测与语音韵律特征相匹配的动作所包含的动作码本,并利用预测的动作码本组成动作码本序列。
142.具体的,针对采集的目标对象说话状态下的连续动作序列,参见上文实施例介绍,可以确定动作序列包含的动作码本,以及确定动作序列的语音韵律特征,将对应同一动作序列的动作码本以及语音韵律特征组成训练样本,用于对动作序列预测模型进行训练,使得动作序列预测模型能够根据语音韵律特征预测得到与之对应的动作码本,以及利用预测的动作码本组成动作码本序列,该动作码本序列,即为输入模型的语音韵律特征对应的动作序列。
143.基于上述的动作序列预测模型,当基于目标语音的语音韵律特征预测与该语音韵律特征对应的第二动作序列时,将该目标语音的语音韵律特征输入上述的动作序列预测模型,即可得到该模型预测输出的动作序列,该动作序列即可作为与目标语音的语音韵律特征相匹配的第二动作序列。
144.示例性装置
145.相应的,本技术实施例还提供了一种基于语音的动作生成装置,参见图5所示,该装置包括:
146.第一动作预测单元100,用于确定目标语音中包含的动作意图,并确定与所述动作意图相匹配的第一动作序列;
147.第二动作预测单元110,用于从所述目标语音中提取得到语音韵律特征,并基于所述语音韵律特征预测得到与所述语音韵律特征相匹配的第二动作序列;
148.动作合成单元120,用于对所述第一动作序列和所述第二动作序列进行融合处理,生成与所述目标语音相匹配的动作序列。
149.作为一种可选的实现方式,所述确定目标语音中包含的动作意图,包括:
150.对目标语音进行基于预设动作意图类别标签的动作意图分类处理,确定所述目标语音中包含的动作意图。
151.作为一种可选的实现方式,所述对目标语音进行基于预设动作意图类别标签的动作意图分类处理,确定所述目标语音中包含的动作意图,包括:
152.对应每一个预设动作意图类别标签,分别对所述目标语音进行二分类处理;
153.基于对应每一个预设动作意图类别标签的二分类结果,确定所述目标语音中包含的动作意图;
154.其中,所述二分类处理包括确定所述目标语音中是否包含动作意图类别标签所对应的动作意图。
155.作为一种可选的实现方式,所述确定与所述动作意图相匹配的第一动作序列,包括:
156.从预先构建的动作码本集合中,筛选与所述动作意图相匹配的动作码本生成第一动作序列;
157.其中,所述动作码本集合中的动作码本用于组合得到任意的动作序列。
158.作为一种可选的实现方式,所述动作码本集合,通过如下处理得到:
159.对获取的动作序列进行拆分,得到各动作序列对应的动作序列单元,其中,获取的动作序列包括语义动作库中的动作的序列,以及目标对象说话状态下的连续动作序列;
160.通过对各动作序列对应的动作序列单元进行编码,并利用编码结果恢复动作序列,确定与各个动作序列单元对应的动作编码;
161.对所有动作序列单元对应的动作编码进行去重,并将去重后的各个动作编码作为动作码本构成动作码本集合。
162.作为一种可选的实现方式,从所述目标语音中提取得到语音韵律特征,包括:
163.将所述目标语音输入预先训练得到的韵律特征提取模型中,得到所述目标语音的语音韵律特征;
164.其中,所述韵律特征提取模型通过第一训练方式和/或第二训练方式训练得到,所述第一训练方式用于训练所述韵律特征提取模型从输入语音中提取得到语音韵律特征,所述第二训练方式用于训练所述韵律特征提取模型在从输入语音中提取语音韵律特征时滤除声纹特征和文本特征。
165.作为一种可选的实现方式,所述韵律特征提取模型的训练过程包括:
166.将样本语谱图输入韵律特征提取模型,得到所述韵律特征提取模型从所述样本语谱图中提取的韵律特征;
167.利用所述韵律特征,以及所述样本语谱图的声纹特征和文本特征进行语谱图重建,得到重建语谱图;
168.基于所述样本语谱图与所述重建语谱图,计算得到语谱重建损失;
169.利用所述韵律特征进行声纹特征重建和文本特征重建,得到重建声纹特征和重建文本特征;
170.基于所述声纹特征和所述重建声纹特征,计算得到第一对抗损失,以及,基于所述文本特征和所述重建文本特征,计算得到第二对抗损失;
171.以所述语谱重建损失小于预设的第一损失阈值,以及所述第一对抗损失和所述第二对抗损失大于预设的第二损失阈值为目标,对所述韵律特征提取模型进行运算参数修正。
172.作为一种可选的实现方式,基于所述语音韵律特征预测得到与所述语音韵律特征相匹配的第二动作序列,包括:
173.将所述语音韵律特征输入预先训练得到的动作序列预测模型,得到与所述语音韵律特征相匹配的动作码本序列,并将得到的动作码本序列作为第二动作序列;
174.其中,所述动作序列预测模型用于预测与语音韵律特征相匹配的动作所包含的动作码本,并利用预测的动作码本组成动作码本序列,所述动作码本为用于组成连续动作序列的动作序列单元对应的动作编码。
175.作为一种可选的实现方式,所述第一动作预测单元还用于,确定所述动作意图在所述目标语音中所处的位置区间;
176.对所述第一动作序列和所述第二动作序列进行融合处理,生成与所述目标语音相匹配的动作序列,包括:
177.将所述第二动作序列中的、位于所述位置区间相对应的第一位置区间的动作序列替换为所述第一动作序列,并对替换后的第二动作序列进行解码得到与所述目标语音相匹配的动作序列。
178.本实施例提供的基于语音的动作生成装置,与本技术上述实施例所提供的基于语音的动作生成方法属于同一申请构思,可执行本技术上述任意实施例所提供的基于语音的动作生成方法,具备执行方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本技术上述实施例提供的基于语音的动作生成方法的具体处理内容,此处不再加以赘述。
179.示例性电子设备
180.本技术另一实施例还提出一种电子设备,参见图6所示,该设备包括:
181.存储器200和处理器210;
182.其中,所述存储器200与所述处理器210连接,用于存储程序;
183.所述处理器210,用于通过运行所述存储器200中存储的程序,实现上述任一实施例公开的基于语音的动作生成方法。
184.具体的,上述电子设备还可以包括:总线、通信接口220、输入设备230和输出设备240。
185.处理器210、存储器200、通信接口220、输入设备230和输出设备240通过总线相互连接。其中:
186.总线可包括一通路,在计算机系统各个部件之间传送信息。
187.处理器210可以是通用处理器,例如通用中央处理器(cpu)、微处理器等,也可以是特定应用集成电路(application-specific integrated circuit,asic),或一个或多个用于控制本发明方案程序执行的集成电路。还可以是数字信号处理器(dsp)、专用集成电路(asic)、现成可编程门阵列(fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、
分立硬件组件。
188.处理器210可包括主处理器,还可包括基带芯片、调制解调器等。
189.存储器200中保存有执行本发明技术方案的程序,还可以保存有操作系统和其他关键业务。具体地,程序可以包括程序代码,程序代码包括计算机操作指令。更具体的,存储器200可以包括只读存储器(read-only memory,rom)、可存储静态信息和指令的其他类型的静态存储设备、随机存取存储器(random access memory,ram)、可存储信息和指令的其他类型的动态存储设备、磁盘存储器、flash等等。
190.输入设备230可包括接收用户输入的数据和信息的装置,例如键盘、鼠标、摄像头、扫描仪、光笔、语音输入装置、触摸屏、计步器或重力感应器等。
191.输出设备240可包括允许输出信息给用户的装置,例如显示屏、打印机、扬声器等。
192.通信接口220可包括使用任何收发器一类的装置,以便与其他设备或通信网络通信,如以太网,无线接入网(ran),无线局域网(wlan)等。
193.处理器210执行存储器200中所存放的程序,以及调用其他设备,可用于实现本技术上述实施例所提供的任意一种基于语音的动作生成方法的各个步骤。
194.示例性计算机程序产品和存储介质
195.除了上述方法和设备以外,本技术的实施例还可以是计算机程序产品,其包括计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述“示例性方法”部分中描述的基于语音的动作生成方法中的步骤。
196.所述计算机程序产品可以以一种或多种程序设计语言的任意组合来编写用于执行本技术实施例操作的程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如java、c++等,还包括常规的过程式程序设计语言,诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。
197.此外,本技术的实施例还可以是存储介质,其上存储有计算机程序,计算机程序被处理器执行本说明书上述“示例性方法”部分中描述的基于语音的动作生成方法中的步骤。
198.对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本技术并不受所描述的动作顺序的限制,因为依据本技术,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本技术所必须的。
199.需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
200.本技术各实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减,各实施例中记载的技术特征可以进行替换或者组合。
201.本技术各实施例种装置及终端中的模块和子模块可以根据实际需要进行合并、划分和删减。
202.本技术所提供的几个实施例中,应该理解到,所揭露的终端,装置和方法,可以通
过其它的方式实现。例如,以上所描述的终端实施例仅仅是示意性的,例如,模块或子模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个子模块或模块可以结合或者可以集成到另一个模块,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
203.作为分离部件说明的模块或子模块可以是或者也可以不是物理上分开的,作为模块或子模块的部件可以是或者也可以不是物理模块或子模块,即可以位于一个地方,或者也可以分布到多个网络模块或子模块上。可以根据实际的需要选择其中的部分或者全部模块或子模块来实现本实施例方案的目的。
204.另外,在本技术各个实施例中的各功能模块或子模块可以集成在一个处理模块中,也可以是各个模块或子模块单独物理存在,也可以两个或两个以上模块或子模块集成在一个模块中。上述集成的模块或子模块既可以采用硬件的形式实现,也可以采用软件功能模块或子模块的形式实现。
205.专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。
206.结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件单元,或者二者的结合来实施。软件单元可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其它形式的存储介质中。
207.最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
208.对所公开的实施例的上述说明,使本领域技术人员能够实现或使用本技术。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本技术的精神或范围的情况下,在其它实施例中实现。因此,本技术将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1