掌桥专利:专业的专利平台
掌桥专利
首页

语音翻译、模型训练方法、装置、设备及存储介质

文献发布时间:2023-06-19 16:04:54



技术领域

本公开涉及数据处理技术领域,尤其涉及音频数据处理技术领域,进一步涉及语音翻译、模型训练方法、装置、设备及存储介质。

背景技术

语音翻译的过程指的是将源语种音频翻译为目标语种音频的过程,例如,源语种可以为汉语,目标语种可以为西班牙语,则上述语音翻译的过程指的是将汉语音频翻译为西班牙语音频的过程。

相关技术中通过以下三个环节实现语音翻译过程,首先对源语种音频进行识别得到源语种文本,再将源语种文本翻译为目标语种文本,最后对目标语种文本进行声码转换,得到目标语种音频。

发明内容

本公开提供了一种语音翻译、模型训练方法、装置、设备及存储介质。

根据本公开的一方面,提供了一种语音翻译方法,包括:

提取待翻译的源语种音频中各个音频帧的音频特征;

基于各个音频帧的音频特征,分别确定各个音频帧对应的目标语种的语音单元,作为目标语音单元,其中,每一语音单元为:对应音频的一种声学类别的音频数据;

基于各个音频帧在所述源语种音频中的时序顺序以及各个音频帧对应的目标语音单元,生成目标语种音频。

根据本公开的另一方面,提供了一种模型训练方法,包括:

将样本源语种音频中各个样本音频帧的样本特征输入初始语音转换模型,获得所述初始语音转换模型输出的、各个样本音频帧对应的目标语种的第一语音单元以及各个样本音频帧对应的源语种的第二语音单元,其中,每一语音单元为:对应音频的一种声学类别的音频数据;

基于第一语音单元、第二语音单元、第三语音单元以及第四语音单元,计算所述初始语音转换模型进行语音单元转换的第一损失,其中,各个第三语音单元分别为:样本目标语种音频中各个音频帧对应的目标语种的语音单元,各个第四语音单元分别为:各个样本音频帧对应的源语种的语音单元,所述样本源语音音频和所述样本目标语种音频的语义相同;

基于所述第一损失对所述初始语音转换模型进行模型参数调整,得到目标语音转换模型。

根据本公开的另一方面,提供了一种语音翻译的装置,包括:

特征提取模块,用于提取待翻译的源语种音频中各个音频帧的音频特征;

第一单元确定模块,用于基于各个音频帧的音频特征,分别确定各个音频帧对应的目标语种的语音单元,作为目标语音单元,其中,每一语音单元为:对应音频的一种声学类别的音频数据;

音频生成模块,用于基于各个音频帧在所述源语种音频中的时序顺序以及各个音频帧对应的目标语音单元,生成目标语种音频

根据本公开的另一方面,提供了一种模型训练装置,包括:

样本单元确定模块,用于将样本源语种音频中各个样本音频帧的样本特征输入初始语音转换模型,获得所述初始语音转换模型输出的、各个样本音频帧对应的目标语种的第一语音单元以及各个样本音频帧对应的源语种的第二语音单元,其中,每一语音单元为:对应音频的一种声学类别的音频数据;

第一损失计算模块,用于基于第一语音单元、第二语音单元、第三语音单元以及第四语音单元,计算所述初始语音转换模型进行语音单元转换的第一损失,其中,各个第三语音单元分别为:样本目标语种音频中各个音频帧对应的目标语种的语音单元,各个第四语音单元分别为:各个样本音频帧对应的源语种的语音单元,所述样本源语音音频和所述样本目标语种音频的语义相同;

第一模型获得模块,用于基于所述第一损失对所述初始语音转换模型进行模型参数调整,得到目标语音转换模型。

根据本公开的另一方面,提供了一种电子设备,包括:

至少一个处理器;以及

与所述至少一个处理器通信连接的存储器;其中,

所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述语音翻译方法或模型训练方法。

根据本公开的另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行语音翻译方法或模型训练方法。

根据本公开的另一方面,提供了一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现语音翻译方法或模型训练方法。

由以上可见,本公开实施例提供的方案在实现从源语种音频到目标语种音频的语音翻译的过程中,可以确定源语种音频中各个音频帧对应的目标语种的目标语音单元,每一目标语音单元均为一段音频数据,不同目标语音单元的发声不同,基于所确定的各个目标语音单元可以组合得到的完整的目标语种音频。本方案的语音翻译过程仅涉及确定目标语音单元,以及基于目标语音单元生成目标语种音频两个环节,与相关技术不同,本方案的语音翻译过程中仅涉及音频数据之间的转换,不需要借助文本数据,也就不涉及音频数据与文本数据之间的转换的过程,使得本方案提供的语音翻译过程较为简单,进行语音翻译的效率较高。

应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。

附图说明

附图用于更好地理解本方案,不构成对本公开的限定。其中:

图1A为本公开实施例提供的第一种语音翻译方法的流程示意图;

图1B为本公开实施例提供的一种音频转换模型的结构示意图;

图2A为本公开实施例提供的第二种语音翻译方法的流程示意图;

图2B为本公开实施例提供的一种语音单元转换模型的结构示意图;

图3为本公开实施例提供的第一种模型训练方法的流程示意图;

图4为本公开实施例提供的第二种模型训练方法的流程示意图;

图5为本公开实施例提供的第三种模型训练方法的流程示意图;

图6为本公开实施例提供的第一种语音翻译装置的结构示意图;

图7为本公开实施例提供的第二种语音翻译装置的结构示意图;

图8为本公开实施例提供的第一种模型训练装置的结构示意图;

图9为本公开实施例提供的第二种模型训练装置的结构示意图;

图10为本公开实施例提供的第三种模型训练装置的结构示意图;

图11是用来实现本公开实施例的语音翻译与模型训练方法的电子设备的框图。

具体实施方式

以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。

首先,对本公开实施例的执行主体进行说明。

本公开实施例的执行主体可以为具有语音翻译功能的电子设备。上述电子设备可以为翻译机、移动手机、电脑、车载智能设备、智能机器人等。

其次,对本公开实施例的应用场景进行说明。

本公开实施例应用于将包含说话人语音的源语种音频翻译为目标语种音频的应用场景。

例如:用户在触发电子设备开启工作后,可以将源语种音频输入电子设备中,电子设备可以对源语种音频进行语音翻译,从而获得目标语种音频。上述源语种音频可以为上述电子设备自身在用户说话时采集的音频,也可以是预先采集之后输入上述电子设备中的音频。

以下对本公开实施例提供的语音翻译方法进行具体说明。

参见图1A,为本公开实施例提供的第一种语音翻译方法的流程示意图,上述方法包括以下步骤S101-S103。

S101:提取待翻译的源语种音频中各个音频帧的音频特征。

具体的,待翻译的源语种音频中的各个音频帧的时长为固定时长,例如,25ms、30ms等,本实施例中将源语种音频自身的语种作为源语种。另外,每两个按照时序顺序相邻的音频帧的起始时刻之间的时间差可以小于音频帧的时长,即相邻的两个音频帧中存在相同的音频帧,上述时间差可以被称为帧移,例如,上述帧移为10ms、15ms等。

本公开的一个实施例中,可以基于音频帧的均方根能量、过零率、频谱平坦度等提取各个音频帧的音频特征。针对每一音频帧,可以提取该音频帧的FBank(filter bank,滤波器组)特征,作为该音频帧的音频特征。另外,也可以提取音频帧其他形式的特征作为音频特征,本实施例对此不进行限定。

S102:基于各个音频帧的音频特征,分别确定各个音频帧对应的目标语种的语音单元,作为目标语音单元。

其中,每一语音单元为:对应音频的一种声学类别的音频数据,不同语音单元对应的声学类别不同,不同音频帧可以对应不同的目标语音单元,也可以对应同一目标语音单元,属于同一声学类别的音频帧对应同一语音单元。例如,上述语音单元可以是发声为(或发音接近)拼音a、o或e的一段音频。

其中,属于同一种声学类别的音频数据(同一语音单元的音频数据)的音频特征相近,例如,相似度高于预设相似度阈值的音频数据被归为对应一种声学类别。由于一个语音单元内包括的是同一种声学类别的音频数据,因此,该音频单元内的音频数据在具有相近的发声、表示相近的内容方面存在很大的可能性。

另外,上述目标语种可以为默认语种,也可以是用户选择的语种。

本公开的一个实施例中,可以基于预设的音频帧的音频特征与目标语种的语音单元之间的对应关系,确定各个音频帧对应的目标语音单元。

本公开的另一个实施例中,也可以通过下文图2A中步骤S102A-S102D实现上述步骤S102,在此暂不详述。

S103:基于各个音频帧在上述源语种音频中的时序顺序以及各个音频帧对应的目标语音单元,生成目标语种音频。

具体的,可以按照所对应的音频帧在源语种音频中的时序顺序,将所得到的各个目标语音单元进行拼接得到目标语种音频。

另外,本公开的另一个实施例中,也可以通过以下步骤A-步骤C实现上述步骤S103。

步骤A:对目标语音单元序列进行特征提取。

其中,上述目标语音单元序列中包含:按照所对应的音频帧在上述源语种音频中的时序顺序排列的、各个音频帧对应的目标语音单元。

具体的,可以通过神经网络模型实现上述步骤A,具体的,将目标语音单元序列输入神经网络模型内的卷积层进行卷积变换,并将卷积变换结果进行输入神经网络模型内的归一化层进行归一化处理,再使用神经网络模型中包含的线性变换函数对归一化的结果进行线性变换处理,将线性变换的结果作为最终得到的特征提取结果。

本公开的一个实施例中,上述卷积层、归一化层、线性变换函数可以包含于神经网络模型中的duration predict(长期预测)模块内。

上述duration predict模块包含依次连接的Conv1D(One DimensionalConvolution,一维卷积层)、Layer Norm(Layer Normalization,层标准化)、Conv1D、LayerNorm与Linear(线性变换)层。由Conv1D完成初步的特征提取,由Layer Norm完成归一化处理,由Linear完成线性变换。

步骤B:基于特征提取结果,对上述目标语音单元序列进行上采样处理,得到上采样结果。

具体的,上述特征提取结果可以表示目标语音单元序列的整体特征,在对目标语音单元序列进行上采样时,上述特征提取结果可以指示上采样过程突出目标语音单元序列的整体特征,使得上采样结果与上述特征提取结果相匹配。

本公开的一个实施例中,可以将上述特征提取结果与目标语音单元序列共同输入unsampler(上采样)层,由unsampler层对上述目标语音单元序列进行上采样处理。

步骤C:基于上述上采样结果进行语音合成,生成目标语种音频。

本公开的一个实施例中,可以对将上述上采样结果输入声码器中,由声码器完成语音合成,输出目标语种音频。

其中,上述声码器可以为HiFi-GAN(High-Fidelity Generative AdversarialNetworks,高保真对抗网络语音声码器),上述HiFi-GAN由Conv1D、ReLU(Linearrectification function,线性整流函数)与ResBlock(Residual Block,残差块)组成。

具体的,上述HiFi-GAN由依次连接的Conv1D、ReLU、Conv1D、ReLU、ResBlock、Conv1D、ReLU、Conv1D、ReLU组成,HiFi-GAN属于相关技术中的声码器,本实施例对此不再赘述。

本公开实施例在生成目标语种音频的过程中,首先对目标语音单元序列进行特征提取,确定目标语音单元序列的整体特征,再基于特征提取结果对目标语音单元序列进行上采样,使得上采样结果保持目标语音单元序列原本的整体特征,从而可以保证上采样处理前后数据的一致性,提高所生成的目标语种音频的准确度。

另外,本公开实施例中上述duration predict模块、unsampler层与HiFi-GAN可以共同组成音频转换模型,参见图1B,为本公开实施例提供的一种音频转换模型的结构示意图。

由图可见,将目标语音单元序列输入duration predict模块得到特征提取结果之后,再将特征提取结果与目标语音单元序列输入unsampler层得到上采样结果,再将上采样结果输入HiFi-GAN得到目标语种音频。

此外,通过以下方式能够使用样本目标语种音频与预先获得的样本目标语音单元序列对上述初始音频转换模型进行训练,得到音频转换模型。

具体的,上述样本目标语音单元序列中包含样本目标语种音频中各个音频帧对应的样本目标语音单元,并且各个样本目标语音单元的排列顺序与所对应的音频帧在样本目标语种音频中的排列顺序相同。将样本目标标识组输入初始音频转换模型中,基于输出结果与样本目标语音单元序列计算上述初始音频转换模型生成目标语种音频的损失,基于上述损失调整上述初始音频转换模型的模型参数,得到音频转换模型。

本公开的一个实施例中,可以采用MSE(Mean Square Error,均方误差)损失函数计算上述损失。

由以上可见,本公开实施例提供的方案在实现从源语种音频到目标语种音频的语音翻译的过程中,可以直接确定源语种音频中各个音频帧对应的目标语种的目标语音单元,每一目标语音单元均为一段音频数据,不同目标语音单元的发声不同,基于所确定的各个目标语音单元可以组合得到的完整的目标语种音频。本方案的语音翻译过程仅涉及确定目标语音单元,以及基于目标语音单元生成目标语种音频两个环节,与相关技术不同,本方案的语音翻译过程中仅涉及音频数据之间的转换,不需要借助文本数据,也就不涉及音频数据与文本数据之间的转换的过程,使得本方案提供的语音翻译过程较为简单,进行语音翻译的效率较高。

参见图2A,为本公开实施例提供的第二种语音翻译方法的流程示意图,与前述图1A所示的实施例相比,上述步骤S102可以通过以下步骤S102A-S102D实现。

S102A:分别对各个音频帧的音频特征进行编码,得到各个音频帧的编码特征。

具体的,对音频帧的音频特征进行编码相当于对音频特征进行量化,进行编码后得到的各个音频帧的编码特征的形式相同,将原本的音频特征统一至同一形式有利于后续继续进行特征处理。

S102B:对各个音频帧的编码特征进行特征挖掘,得到各个音频帧的隐层特征。

其中,上述隐层特征为:包含音频帧的隐式信息的特征。

具体的,可以基于注意力机制进行特征挖掘,可以基于各个音频帧之间的时序关系、不同音频帧在源语种音频中的重要程度等各类信息,挖掘出编码特征之间隐含的隐式信息,得到包含的信息较为丰富的隐层特征。基于包含丰富信息的隐层特征得到的目标语音单元的准确度较高。

S102C:对各个音频帧的隐层特征进行解码,得到各个音频帧对应的解码特征。

S102D:针对每一音频帧,确定与该音频帧的解码特征相匹配的目标语种的语音单元,将所确定的音频单元作为该音频帧对应的目标语音单元。

具体的,由于不同语音单元对应的声学类别不同,也就是不同语音单元的声音以及含义不同,不同语音单元的特征也就不同。

本公开的一个实施例中,可以将所得到的各个音频帧的解码特征分别与各个目标语种的语音单元的特征进行匹配,从而确定与解码特征相匹配的语音单元,进而将与音频帧的解码特征相匹配的语音单元作为该音频帧对应的目标语音单元。

本公开实施例中,首先对各个音频帧的音频特征进行编码,得到便于处理的编码特征,再基于注意力机制对编码特征进行特征挖掘,得到包含丰富信息的隐层特征,再基于对隐层特征进行解码后得到的解码特征确定各个音频帧对应的目标语音单元。本实施例中结合隐层特征中包含的多类信息确定得到目标语音单元,使得本实施例得到的目标语音单元较为准确。

另外,上述步骤S102A可以通过以下步骤D1实现。

步骤D1:将各个音频帧的音频特征输入目标语音转换模型中的编码层,对上述音频特征进行编码,得到各个音频帧的编码特征。

其中,上述目标语音转换模型中还包括特征挖掘层、解码层、输出层。

具体的,上述特征挖掘层基于注意力机制对编码特征进行特征挖掘,其中包含第一特征挖掘层与第二特征挖掘层,上述解码层中包含第一解码层与第二解码层,上述输出层中包含第一输出层与第二输出层。

参见图2B,为本公开实施例提供的一种目标语音转换模型的结构示意图。

其中,上述语音单元转换模型中包含编码层、第一注意力层、第二注意力层、第一解码层、第二解码层、第一输出层与第二输出层。

具体的,上述编码层用于对音频特征进行编码得到编码特征,从而实现上述步骤S102A,第一注意力层用于基于注意力机制对编码特征进行特征挖掘得到隐层特征,从而实现步骤S102B,第一解码层用于对隐层特征进行解码获得解码特征,从而实现步骤S102C,第一输出层用于基于解码特征确定目标语音单元,从而实现步骤S102D。

另外,上述第二注意力层用于基于注意力机制对编码特征进行特征挖掘,第二解码层用于对特征挖掘结果进行解码得到解码后的特征,第二输出层用于基于解码后的特征确定音频帧对应的源语种的语音单元。本步骤D意在获取各个音频帧对应的目标语音单元,因此在执行步骤D的过程中,第二注意力层与第二解码层可以不启用,也可以忽略经由第二注意力层与第二解码层输出的源语种的语音单元。

此外,上述编码层可以由4个彼此相连的Conv1D组成,第一解码层与第二解码层可以分别由4个彼此相连的Transformer Layer(转换层)组成。

上述步骤S102B可以通过以下步骤D2实现。

步骤D2:将各个音频帧的编码特征输入上述特征挖掘层,对上述编码特征进行特征挖掘,得到各个音频帧的隐层特征。

具体的,可以将编码特征输入特征挖掘层中的第一特征挖掘层,对上述编码特征进行特征挖掘。

上述步骤S102C可以通过以下步骤D3实现。

步骤D3:将各个音频帧的隐层特征输入上述解码层,对上述隐层特征进行解码,得到各个音频帧对应的解码特征。

具体的,可以将隐层特征输入解码层中的第一解码层,对上述隐层特征进行解码。

上述步骤S102D可以通过以下步骤D4实现。

步骤D4:将各个音频帧对应的解码特征输入上述输出层,确定与各个音频帧的解码特征相匹配的目标语种的语音单元,作为各个音频帧对应的目标语音单元。

具体的,可以将解码特征输入输出层中的第一输出层,确定各个音频帧对应的目标语音单元。

本公开实施例中,采用训练好的神经网络模型也就是目标语音转换模型获得源语种音频中的各个音频帧对应的目标语音单元,上述目标语音转换模型是基于大量样本训练得到的,可以保证所得到的目标语音单元的准确度,并且神经网络模型的数据处理速度较快,可以提高确定目标语音单元的效率。

参见图3,为本公开实施例提供的第一种模型训练方法的流程示意图,具体的,可以通过以下步骤S301-S303对初始语音转换模型进行训练得到目标语音转换模型。

S301:将样本源语种音频中各个样本音频帧的样本特征输入初始语音转换模型,获得上述初始语音转换模型输出的、各个样本音频帧对应的目标语种的第一语音单元以及各个样本音频帧对应的源语种的第二语音单元。

其中,每一语音单元为:对应音频的一种声学类别的音频数据,上述初始语音转换模型是还未被训练为目标语音转换模型的初始模型,上述初始语音转换模型的结构与上述目标语音转换模型的结构相同,具体可参见前述图2B所示的模型结构。

另外,上述第一语音单元为前述图2B所示的第一解码层输出的语音单元,第二语音单元为前述图2B所示的第二解码层输出的语音单元。

S302:基于第一语音单元、第二语音单元、第三语音单元以及第四语音单元,计算上述初始语音转换模型进行语音单元转换的第一损失。

其中,上述第三语音单元与第四语音单元为:预先确定的语音单元,各个第三语音单元分别为:样本目标语种音频中各个音频帧对应的目标语种的语音单元。

各个第四语音单元分别为:各个样本音频帧对应的源语种的语音单元。上述样本源语音音频和上述样本目标语种音频的语义相同,仅语种不同。

具体的,上述样本目标语种音频可以为使用相关技术中的方式对样本源语种音频进行语音翻译后得到的,也可以将样本源语种音频的内容翻译为目标语种之后,再在发声人阅读翻译得到的内容时进行录制得到样本目标语种音频。

本公开的一个实施例中,上述第三语音单元可以是人工对样本目标语种音频中的各个音频帧进行识别后确定的。或者,也可以通过下文所示的步骤E获得上述第三语音单元,在此暂不详述。

本公开的另一个实施例中,上述第四语音单元可以是人工对样本源语种音频中的各个音频帧进行识别后确定的。或者,也可以通过下文所示的步骤F获得上述第四语音单元,在此暂不详述。

此外,在计算上述第一损失时,可以基于第一语音单元与第三语音单元计算初始语音转换模型确定目标语音单元的第一子损失,并基于第二语音单元与第四语音单元计算初始语音转换模型确定源语种的语音单元的第二子损失,再结合第一子损失和第二子损失计算得到上述第一损失。

具体的,可以计算第一子损失与第二子损失的平均值、加权平均值或加权和值等得到上述第一损失。另外,在计算第一子损失和第二子损失的过程中可以基于CE(CrossEntropy,交叉熵)准则。

S303:基于上述第一损失对上述初始语音转换模型进行模型参数调整,得到目标语音转换模型。

本公开实施例中在训练得到目标语音转换模型的过程中往往会对初始语音转换模型进行多次参数调整,在每一次调整模型参数之后,若未满足预设的第一训练结束条件,则可以返回执行上述步骤S301,将新的样本源语种音频中各个样本音频帧的样本特征输入上述初始语音转换模型,并继续执行后续步骤S302,对上述初始语音转换模型进行进一步训练,直至满足上述第一训练结束条件,得到目标语音转换模型。

其中,上述第一训练结束条件可以为模型参数调整的次数达到预设的次数,也可以为计算得到的第一损失低于第一预设损失。

虽然本公开实施例训练得到的目标语音转换模型是用于确定源语种音频中各个音频帧对应的目标语音单元的模型,但在训练初始语音转换模型的过程中,本实施例不仅利用与目标语种相对应的第一语音单元与第三语音单元调整初始语音转换模型的参数,保证模型输出的目标语音单元的准确度;还利用与源语种相对应的第二语音单元以及第四语音单元调整初始语音转换模型的参数,共同对模型训练过程进行约束,使得训练得到的语音单元转换模型的输出结果更加准确。

需要说明的是,本实施例中的样本源语种音频以及样本目标语种音频来自于公开数据集。并且本实施例中的样本源语种音频以及样本目标语种音频并不是针对某一特定用户的音频,并不能反映出某一特定用户的个人信息。

本公开的一个实施例中,针对样本目标语种音频中的每一音频帧,可以通过以下步骤E获得第三语音单元。

步骤E:将该音频帧的音频特征输入训练好的目标语音单元确定模型中,将输出结果作为该音频帧对应的第三语音单元。

其中,上述目标语音单元确定模型可以为HuBERT(Hidden-Unit BidirectionalEncoder Representation from Transformers,隐式单元双向编码表示的转换器)模型。上述目标语音单元确定模型由4个依次相连的Conv1D以及6个依次相连的Transformer Layer组成。

本公开的另一个实施例中,针对样本源语种音频中的每一样本音频帧,可以通过以下步骤F获得第四语音单元。

步骤F:将该样本音频帧的音频特征输入训练好的目标语音单元确定模型中,将输出结果作为该样本音频帧对应的第四语音单元。

具体的,步骤F中涉及的目标语音单元确定模型与步骤E中涉及的目标语音单元确定模型的结构相同,在此不再赘述。

另外,上述步骤E与步骤F中涉及的目标语音单元确定模型可以是使用第一样本音频训练得到的。

步骤E中涉及的目标语音单元确定模型用于确定目标语种的音频帧对应的语音单元,需要使用目标语种的第一样本音频训练得到该目标语音单元确定模型。而步骤F中涉及的目标语音单元确定模型用于确定源语种的音频帧对应的语音单元,需要使用源语种的第一样本音频训练得到该目标语音单元确定模型。训练时使用的第一样本音频的语种不同,步骤E和步骤F中涉及的目标语音单元确定模型可以分别为两个不同的模型。

当然也可以采用目标语种的第一样本音频以及源语种的第一样本音频对同一个模型进行训练,得到一个目标语音单元确定模型,则训练得到的目标语音单元确定模型既能够适用于步骤E,用于确定目标语种的音频帧对应的第三语音单元,又能够适用于步骤F,用于确定源语种的音频帧对应的第四语音单元。

此外,本公开实施例中可以既通过步骤E获得第三语音单元,又通过步骤F获得第四语音单元;也可以仅通过步骤E获得第三语音单元,通过其他方式获得第四语音单元;还可以仅通过步骤F获得第四语音单元,通过其他方式获得第三语音单元;或者既不通过步骤E获得第三语音单元,也不通过步骤F获得第四语音单元。

本公开实施例中,采用训练好的神经网络模型,也就是目标语音单元确定模型获得第三语音单元和/或第四语音单元,进而使用所获得的第三语音单元和/或第四语音单元对初始语音转换模型进行训练。也就不需要人工手动获得第三语音单元与第四语音单元,从而可以降低对初始语音转换模型进行训练之前获取第三语音单元与第四语音单元所需的成本与时间。

参见图4,为本公开实施例提供的第二种模型训练方法的流程示意图,通过以下步骤S401-S403对初始语音单元确定模型进行训练,得到训练好的目标语音单元确定模型。

S401:将第一样本音频的各个第一音频帧输入初始语音单元确定模型中,得到各个第一音频帧对应的第五语音单元。

其中,可以选择发声清晰标准、环境音较少的样本音频作为第一样本音频,此类样本音频中包含的人类语音特征较为清晰,使用此类样本音频作为第一样本音频训练初始语音单元确定模型,有利于初始语音单元确定模型学习到人类语音特征,能够更快的被训练至收敛。

另外,各个第一样本音频属于同一语种,各个第一样本音频的总时长大于预设时长,例如,上述预设时长可以为10小时、15小时等。时长较长的第一样本音频中包含的音频帧对应的语音单元理论上能够涵盖该语种中可能出现的各种不同的语音单元,进而使得训练得到的语音单元确定模型能够识别各种不同的语音单元。

S402:基于各第五语音单元与预先获得的各个第一音频帧对应的样本语音单元,计算上述初始语音单元确定模型确定音频帧对应的语音单元的第二损失。

其中,各个音频帧对应的样本语音单元可以为人工识别得到的,也可以是通过下文步骤G-步骤H获得上述样本语音单元,在此暂不详述。

S403:基于上述第二损失对上述初始语音单元确定模型进行模型参数调整,得到目标语音单元确定模型。

本公开实施例中在训练得到目标语音单元确定模型的过程中往往会对初始语音单元确定模型进行多次参数调整,在每一次调整模型参数之后,若未满足预设的第二训练结束条件,则可以返回执行上述步骤S401,将新的第一样本音频中各个样本音频帧的样本特征输入上述初始语音单元确定模型中,并继续执行后续步骤S402,对上述初始语音单元确定模型进行进一步训练,直至满足上述第二训练结束条件,得到目标语音单元确定模型。

其中,上述第二训练结束条件可以为模型参数调整的次数达到预设的次数,也可以为计算得到的第二损失低于第二预设损失。

本公开实施例中,使用预先获得的准确的样本语音单元作为训练标签,以此为基准对初始语音单元确定模型进行训练,可以使得训练过程中初始语音单元确定模型的数据结果逐渐趋近于上述样本语音单元,从而使得训练得到的目标语音单元确定模型的输出结果趋近于准确结果,能够用于识别不同音频帧对应的语音单元。

需要说明的是,本实施例中的第一样本音频来自于公开数据集。并且本实施例中的第一样本音频并不是针对某一特定用户的音频,并不能反映出某一特定用户的个人信息。

本公开的一个实施例中,可以通过以下步骤G-步骤H获得各个第一音频帧对应的样本语音单元。

步骤G:基于各个第一音频帧的样本音频特征,对各个第一音频帧进行针对声学类别的聚类处理,确定各个第一音频帧所属的声学类别。

其中,上述样本音频特征可以为FBank形式的特征。

本公开的一个实施例中,可以采用对乘积量化(Product Quantization)的方式对各个音频帧的样本音频特征进行计算,以对各个音频帧进行聚类处理,聚类处理之后属于同一类的音频帧即为属于同一声学类型的音频帧。

步骤H:针对每一第一音频帧,将该第一音频帧所属声学类别对应的语音单元确定为该第一音频帧对应的样本语音单元。

具体的,可以预先设置声学类别与语音单元之间的对应关系,每一声学类别对应一个语音单元,在确定音频帧所属的声学类别之后,可以将该声学类别对应的语音单元确定为该音频帧对应的样本语音单元。

另外,可以对属于同一声学类别的第一音频帧共同进行特征提取,获得与属于该声学类别相对应的音频特征,选择与该声学类别特征匹配的语音单元,作为该声学类别对应的语音单元。则属于该声学类别的各个第一音频帧对应的样本语音单元均是该声学类别对应的语音单元。

由此可见,本公开实施例中不需要人工手动识别便可以确定第一样本音频中各个第一音频帧对应的样本语音单元,后续便可以使用上述样本语音单元对初始确定模型进行训练。由于获得样本语音单元的过程不需要人工参与,因此可以降低对初始确定模型进行训练之前获得样本语音单元所需的成本与时间。

由于上述目标语音单元确定模型仅是采用第一样本音频训练得到的,若上述第一样本音频均为某种固定类型的音频,例如,第一样本音频均为固定几位发声者发出的音频,或均为某一固定性别的发声者发出的音频,或均为某一固定地区的发声者发出的音频等等,则上述第一样本音频的局限性较大,采用上述第一样本音频训练得到的目标语音单元确定模型只能准确地确定与第一样本音频相同类型的音频帧对应的语音单元,则通过前述方式训练得到的目标语音单元确定模型泛化性较差,为此可以对训练得到的目标语音单元确定模型进行进一步训练。

参见图5,为本公开实施例提供的第三种模型训练方法的流程示意图,与前述图4所示的实施例相比,在步骤S403之后,还包括以下步骤S404-S406。

在上述目标语音单元确定模型为HuBERT模型时,在对目标语音单元确定模型进行进一步训练的过程中,可以在目标语音单元确定模型的中最后一层Transformer Layer后添加一个随机初始化的softmax(软性最大值)层,以辅助对上述目标语音单元确定模型进行进一步训练。

S404:将第二样本音频中的各个第二音频帧输入上述目标语音单元确定模型中,得到各个第二音频帧对应的第六语音单元。

其中,上述第二样本音频和第一样本音频对应相同的语种和语义、且音频数据不同。

虽然第二样本音频与第一样本音频对应相同的语种和语义,也就是两者的内容相同,但受到不同发声者的口音、说话方式、语速、音量、以及录制第一样本音频和第二样本音频时的录音环境噪声等因素的影响,第二样本音频与第一样本音频的音频数据实质上差别较大。

S405:基于输出语音单元序列与样本语音单元序列,计算上述目标语音单元确定模型确定音频帧对应的语音单元的第三损失。

其中,上述输出语音单元序列中包含各个第六语音单元,且各个第六语音单元的排列顺序为:所对应的第二音频帧在所述第二样本音频中的时序顺序。

上述样本语音单元序列包含:各个第一音频帧对应的样本语音单元,且各个样本语音单元的排列顺序为:所对应的第一音频帧在上述第一样本音频中的时序顺序。

具体的,在对目标语音单元确定模型进行进一步训练之前,需要先确定模型训练过程中使用的训练标签,也就是第二样本音频中各个音频帧实际对应的语音单元。但由于第二样本音频与第一样本音频实质上有较大差别,因此难以准确地确定第二样本音频与第一样本音频中表示相同内容的、一一对应的音频帧,也就难以直接将第一样本音频中各个音频帧对应的样本语音单元分别作为第二样本音频中各个音频帧对应的语音单元。

例如,第二样本音频的发声者的语速较快,第一样本音频的发声者的语速较慢,第二样本音频的时长为1min,第一样本音频的时长为1.5min,则虽然两者对应相同的语种和语义,但显然由于第一样本音频的时长较长包含的音频帧较多,难以直接确定第一样本音频中各个音频帧与第二样本音频中各个音频帧之间一一对应的关系,也就不能直接将第一样本音频中各个音频帧对应的样本语音单元分别作为第二样本音频中各个音频帧对应的语音单元。

虽然难以分别确定第二样本音频中的各个音频帧对应的语音单元,但由于第一样本音频与第二样本音频对应相同的语种和语义,因此在总体上,按照所对应的音频帧的时序顺序,分别将第一样本音频与第二样本音频中包含的各个音频帧对应的语音单元排列后得到的序列理论上是相似的。所以本实施例中可以直接将第一样本音频对应的样本语音单元序列作为目标语音单元确定模型输出结果在理论上的准确值,而不需要重新识别第二样本音频中各个音频帧实际对应的语音单元。

另外,本公开的一个实施例中,可以基于CTC(connectionist temporalclassification,短时连接分类)损失函数计算上述第三损失。

S406:基于上述第三损失对上述目标语音单元确定模型进行模型参数调整,获得进一步训练得到的目标语音单元确定模型。

本公开的一个实施例中,可以采用微调(fine-tuning)的方式对语音单元确定模型以及辅助训练的softmax层进行参数调整,具体的,在进行参数调整时可以不对语音单元确定模型中包含的Conv1D层进行参数调整,从而可以加快模型训练的速度。

另外,若进行模型参数调整后未满足预设的第三训练结束条件,则可以返回执行上述步骤S404,将新的第二样本音频的音频帧输入目标语音单元确定模型中,继续对目标语音单元确定模型进行训练,直至满足上述第三训练结束条件,得到进一步训练得到的目标语音单元转换模型。

其中,上述第三训练结束条件可以为:模型参数调整的次数达到预设的次数,也可以为计算得到的第三损失低于第三预设损失。

由以上可见,本实施例采用与第一样本音频语义与语种相同,但音频数据不同的第二样本音频对目标语音单元确定模型进行进一步训练,使得进一步训练后得到的目标语音单元确定模型不仅能够用于确定与第一样本音频相同类型的音频帧对应的语音单元,从而提高了目标语音单元确定模型的泛化性。并且,训练过程中直接使用包含各个第一音频帧对应的样本语音单元的样本语音单元序列进行模型训练,可以节省确定第二样本音频中各个音频帧实际对应的语音单元所需的时间与成本。

需要说明的是,本实施例中的第二样本音频来自于公开数据集。并且本实施例中的第二样本音频并不是针对某一特定用户的音频,并不能反映出某二特定用户的个人信息。

与上述语音翻译方法相对应的,本公开实施例还提供了一种语音翻译装置。

参见图6,为本公开实施例提供的第一种语音翻译装置的结构示意图,上述装置包括以下模块601-603。

特征提取模块601,用于提取待翻译的源语种音频中各个音频帧的音频特征;

第一单元确定模块602,用于基于各个音频帧的音频特征,分别确定各个音频帧对应的目标语种的语音单元,作为目标语音单元,其中,每一语音单元为:对应音频的一种声学类别的音频数据;

音频生成模块603,用于基于各个音频帧在所述源语种音频中的时序顺序以及各个音频帧对应的目标语音单元,生成目标语种音频。

由以上可见,本公开实施例提供的方案在实现从源语种音频到目标语种音频的语音翻译的过程中,可以直接确定源语种音频中各个音频帧对应的目标语种的目标语音单元,每一目标语音单元均为一段音频数据,不同目标语音单元的发声不同,基于所确定的各个目标语音单元可以组合得到的完整的目标语种音频。本方案的语音翻译过程仅涉及确定目标语音单元,以及基于目标语音单元生成目标语种音频两个环节,与相关技术不同,本方案的语音翻译过程中仅涉及音频数据之间的转换,不需要借助文本数据,也就不涉及音频数据与文本数据之间的转换的过程,使得本方案提供的语音翻译过程较为简单,进行语音翻译的效率较高。

参见图7,为本公开实施例提供的第二种语音翻译装置的结构示意图,与前述图6所示的实施例相比,所述第一单元确定模块602,包括:

编码子模块602A,用于分别对各个音频帧的音频特征进行编码,得到各个音频帧的编码特征;

特征挖掘子模块602B,用于对各个音频帧的编码特征进行特征挖掘,得到各个音频帧的隐层特征,所述隐层特征为:包含音频帧的隐式信息的特征;

解码子模块602C,用于对各个音频帧的隐层特征进行解码,得到各个音频帧对应的解码特征;

单元确定子模块602D,用于针对每一音频帧,确定与该音频帧的解码特征相匹配的目标语种的语音单元,将所确定的音频单元作为该音频帧对应的目标语音单元。

本公开实施例中,首先对各个音频帧的音频特征进行编码,得到便于处理的编码特征,再基于注意力机制对编码特征进行特征挖掘,得到包含丰富信息的隐层特征,再基于对隐层特征进行解码后得到的解码特征确定各个音频帧对应的目标语音单元。本实施例中结合隐层特征中包含的多类信息确定得到目标语音单元,使得本实施例得到的目标语音单元较为准确。

本公开的一个实施例中,所述编码子模块602A,具体用于:

将各个音频帧的音频特征输入目标语音转换模型中的编码层,对所述音频特征进行编码,得到各个音频帧的编码特征,其中,所述目标语音转换模型中还包括特征挖掘层、解码层、输出层;

所述特征挖掘子模块602B,具体用于:

将各个音频帧的编码特征输入所述特征挖掘层,对所述编码特征进行特征挖掘,得到各个音频帧的隐层特征;

所述解码子模块602C,具体用于:

将各个音频帧的隐层特征输入所述解码层,对所述隐层特征进行解码,得到各个音频帧对应的解码特征;

所述单元确定子模块602D,具体用于:

将各个音频帧对应的解码特征输入所述输出层,确定与各个音频帧的解码特征相匹配的目标语种的语音单元,作为各个音频帧对应的目标语音单元。

本公开实施例中,采用训练好的神经网络模型也就是目标语音转换模型获得源语种音频中的各个音频帧对应的目标语音单元,上述目标语音转换模型是基于大量样本训练得到的,可以保证所得到的目标语音单元的准确度,并且神经网络模型的数据处理速度较快,可以提高确定目标语音单元的效率。

本公开的一个实施例中,其中,所述音频生成模块603,具体用于:

对目标语音单元序列进行特征提取,其中,所述目标语音单元序列中包含:按照所对应的音频帧在所述源语种音频中的时序顺序排列的、各个音频帧对应的目标语音单元;

基于特征提取结果,对所述目标语音单元序列进行上采样处理,得到上采样结果;

基于所述上采样结果进行语音合成,生成目标语种音频。

本公开实施例在生成目标语种音频的过程中,首先对目标语音单元序列进行特征提取,确定目标语音单元序列的整体特征,再基于特征提取结果对目标语音单元序列进行上采样,使得上采样结果保持目标语音单元序列原本的整体特征,从而可以保证上采样处理前后数据的一致性,提高所生成的目标语种音频的准确度。

与上述模型训练方法相对应的,本公开实施例还提供了一种模型训练装置。

参见图8,为本公开实施例提供的第一种模型训练装置的结构示意图,上述装置包括以下模块801-803。

样本单元确定模块801,用于将样本源语种音频中各个样本音频帧的样本特征输入初始语音转换模型,获得所述初始语音转换模型输出的、各个样本音频帧对应的目标语种的第一语音单元以及各个样本音频帧对应的源语种的第二语音单元,其中,每一语音单元为:对应音频的一种声学类别的音频数据;

第一损失计算模块802,用于基于第一语音单元、第二语音单元、第三语音单元以及第四语音单元,计算所述初始语音转换模型进行语音单元转换的第一损失,其中,所述第三语音单元与第四语音单元为:预先确定的语音单元,各个第三语音单元分别为:样本目标语种音频中各个音频帧对应的目标语种的语音单元,各个第四语音单元分别为:各个样本音频帧对应的源语种的语音单元,所述样本源语音音频和所述样本目标语种音频的语义相同;

第一模型获得模块803,用于基于所述第一损失对所述初始语音转换模型进行模型参数调整,得到目标语音转换模型。

虽然本公开实施例训练得到的语音单元转换模型是用于确定源语种音频中各个音频帧对应的目标语音单元的模型,但在训练初始转换模型的过程中,本实施例不仅利用与目标语种相对应的第一语音单元与第三语音单元调整初始转换模型的参数,保证模型输出的目标语音单元的准确度;还利用与源语种相对应的第二语音单元以及第四语音单元调整初始转换模型的参数,共同对模型训练过程进行约束,使得训练得到的语音单元转换模型的输出结果更加准确。

本公开的一个实施例中,针对样本目标语种音频中的每一音频帧,通过第三单元确定模块获得该音频帧对应的第三语音单元,所述第三单元确定模块具体用于:

将该音频帧的音频特征输入训练好的目标语音单元确定模型中,将输出结果作为该音频帧对应的第三语音单元;

和/或

针对样本源语种音频中的每一样本音频帧,通过第四单元确定模块获得该样本音频帧对应的第四语音单元,所述第四单元确定模块具体用于:

将该样本音频帧的音频特征输入训练好的目标语音单元确定模型中,将输出结果作为该样本音频帧对应的第四语音单元。

本公开实施例中,采用训练好的神经网络模型,也就是目标语音单元确定模型获得第三语音单元和/或第四语音单元,进而使用所获得的第三语音单元和/或第四语音单元对初始语音转换模型进行训练。也就不需要人工手动获得第三语音单元与第四语音单元,从而可以降低对初始语音转换模型进行训练之前获取第三语音单元与第四语音单元所需的成本与时间。

参见图9,为本公开实施例提供的第二种模型训练装置的结构示意图,通过以下模块对初始语音单元确定模型进行训练,得到训练好的目标语音单元确定模型上述装置包括以下模块901-903。

第五单元获得模块901,用于将第一样本音频的各个第一音频帧输入初始语音单元确定模型中,得到各个第一音频帧对应的第五语音单元;

第二损失计算模块902,用于基于各第五语音单元与预先获得的各个第一音频帧对应的样本语音单元,计算所述初始语音单元确定模型确定音频帧对应的语音单元的第二损失;

第二模型获得模块903,用于基于所述第二损失对所述初始语音单元确定模型进行模型参数调整,得到目标语音单元确定模型。

本公开实施例中,使用预先获得的准确的样本语音单元作为训练标签,以此为基准对初始语音单元确定模型进行训练,可以使得训练过程中初始语音单元确定模型的数据结果逐渐趋近于上述样本语音单元,从而使得训练得到的目标语音单元确定模型的输出结果趋近于准确结果,能够用于识别不同音频帧对应的语音单元。

本公开的一个实施例中,通过样本单元获得模块获得各个第一音频帧对应的样本语音单元,所述样本单元获得模块具体用于:

基于各个第一音频帧的样本音频特征,对各个第一音频帧进行针对声学类别的聚类处理,确定各个第一音频帧所属的声学类别;

针对每一第一音频帧,将该第一音频帧所属声学类别对应的语音单元确定为该第一音频帧对应的样本语音单元。

由此可见,本公开实施例中不需要人工手动识别便可以确定第一样本音频中各个第一音频帧对应的样本语音单元,后续便可以使用上述样本语音单元对初始确定模型进行训练。由于获得样本语音单元的过程不需要人工参与,因此可以降低对初始确定模型进行训练之前获得样本语音单元所需的成本与时间。

参见图10,为本公开实施例提供的第三种模型训练装置的结构示意图,与前述图9所示的实施例相比,其中,上述装置还包括以下模块904-906:

第六单元获得模块904,用于将第二样本音频中的各个第二音频帧输入所述语音单元确定模型中,得到各个第二音频帧对应的第六语音单元,其中,所述第二样本音频和第一样本音频对应相同的语种和语义、且音频数据不同;

第三损失计算模块905,用于基于输出语音单元序列与样本语音单元序列,计算所述语音单元确定模型确定音频帧对应的语音单元的第三损失,其中,所述输出语音单元序列中包含各个第六语音单元,且各个第六语音单元的排列顺序为:所对应的第二音频帧在所述第二样本音频中的时序顺序,所述样本语音单元序列包含:各个第一音频帧对应的样本语音单元,且各个样本语音单元的排列顺序为:所对应的第一音频帧在所述第一样本音频中的时序顺序;

第三模型获得模块906,用于基于所述第三损失对所述语音单元确定模型进行模型参数调整,得到语音单元确定模型。

由以上可见,本实施例采用与第一样本音频语义与语种相同,但音频数据不同的第二样本音频对语音单元确定模型进行进一步训练,使得进一步训练后得到的语音单元确定模型不仅能够用于确定与第一样本音频相同类型的音频帧对应的语音单元,从而提高了语音单元确定模型的泛化性。并且,训练过程中直接使用包含各个第一音频帧对应的样本语音单元的样本语音单元序列进行模型训练,可以节省确定第二样本音频中各个音频帧实际对应的语音单元所需的时间与成本。

本公开的技术方案中,所涉及的用户个人信息的收集、存储、使用、加工、传输、提供和公开等处理,均符合相关法律法规的规定,且不违背公序良俗。

根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。

本公开实施例提供了一种电子设备,包括:

至少一个处理器;以及

与所述至少一个处理器通信连接的存储器;其中,

所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述语音翻译与模型训练方法。

本公开实施例提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行语音翻译与模型训练方法。

本公开实施例提供了一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现语音翻译与模型训练方法。

图11示出了可以用来实施本公开的实施例的示例电子设备1100的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。

如图11所示,设备1100包括计算单元1101,其可以根据存储在只读存储器(ROM)1102中的计算机程序或者从存储单元1108加载到随机访问存储器(RAM)1103中的计算机程序,来执行各种适当的动作和处理。在RAM 1103中,还可存储设备1100操作所需的各种程序和数据。计算单元1101、ROM 1102以及RAM 1103通过总线1104彼此相连。输入/输出(I/O)接口1105也连接至总线1104。

设备1100中的多个部件连接至I/O接口1105,包括:输入单元1106,例如键盘、鼠标等;输出单元1107,例如各种类型的显示器、扬声器等;存储单元1108,例如磁盘、光盘等;以及通信单元1109,例如网卡、调制解调器、无线通信收发机等。通信单元1109允许设备1100通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。

计算单元1101可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元1101的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元1101执行上文所描述的各个方法和处理,例如语音翻译方法、模型训练方法。例如,在一些实施例中,语音翻译方法、模型训练方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元1108。在一些实施例中,计算机程序的部分或者全部可以经由ROM 1102和/或通信单元1109而被载入和/或安装到设备1100上。当计算机程序加载到RAM 1103并由计算单元1101执行时,可以执行上文描述的语音翻译方法、模型训练方法的一个或多个步骤。备选地,在其他实施例中,计算单元1101可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行语音翻译方法、模型训练方法。

本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、复杂可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。

用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。

在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。

为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。

可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。

计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,也可以为分布式系统的服务器,或者是结合了区块链的服务器。

应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。

上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。

技术分类

06120114690878