1.本公开涉及人工智能技术领域,进一步涉及语音识别领域和深度学习领域,具体涉及一种语音识别模型的训练方法和语音识别方法及装置。
背景技术:2.在智能客服、多对象会话等场景中,通常会存在有至少两个说话对象的情况。针对该情况,为了高精度的识别语音,通常需要先对说话对象进行区分,得到每个说话对象的语音帧,然后对每个说话对象的语音帧进行识别。
技术实现要素:3.本公开提供了一种提高语音识别精度的语音识别模型的训练方法和语音识别方法、装置、设备和存储介质。
4.根据本公开的一个方面,提供了一种语音识别模型的训练方法,其中,语音识别模型包括对象分离网络、n个文本预测网络和语音识别网络,n为大于1的整数;该方法包括:针对涉及n个对象的语音帧序列,将当前帧的语音特征输入对象分离网络,得到分别与n个对象相对应的n个第一内容特征;语音帧序列包括针对n个对象的n个实际文本;将n个实际文本中针对n个对象、且属于当前帧的在前帧的n个目标字符输入n个文本预测网络,得到n个第一文本特征;将n个第一内容特征和n个第一文本特征输入语音识别网络,得到针对当前帧的预测字符向量;基于针对语音帧序列中每个语音帧的预测字符向量,确定预测文本包括n个实际文本的概率;以及基于概率,训练语音识别模型。
5.根据本公开的另一个方面,提供了一种语音识别方法,包括:针对涉及n个对象的待识别语音帧序列,将待识别语音帧序列中的待识别当前帧的语音特征输入语音识别模型的对象分离网络,得到分别与n个对象相对应的n个第二内容特征,n为大于1的整数;将针对待识别当前帧的在前语音帧的n个预测字符分别输入语音识别模型的n个文本预测网络,得到n个第二文本特征;将n个第二内容特征与n个第二文本特征输入语音识别模型包括的语音识别网络,得到针对待识别当前帧的n个预测字符向量;以及基于针对待识别语音帧序列的p*n个预测字符向量,确定针对待识别语音帧序列的预测文本,其中,p为待识别语音帧序列的帧数,语音识别模型是采用前文描述的语音识别模型的训练方法训练得到的。
6.根据本公开的另一方面,提供了一种语音识别模型的训练装置,其中,语音识别模型包括对象分离网络、n个文本预测网络和语音识别网络,n为大于1的整数;该装置包括:第一内容特征获得模块,用于针对涉及n个对象的语音帧序列,将当前帧的语音特征输入对象分离网络,得到分别与n个对象相对应的n个第一内容特征;语音帧序列包括针对n个对象的n个实际文本;第一文本特征获得模块,用于将n个实际文本中针对n个对象、且属于当前帧的在前帧的n个目标字符输入n个文本预测网络,得到n个第一文本特征;第一向量预测模块,用于将n个第一内容特征和n个第一文本特征输入语音识别网络,得到针对当前帧的预测字符向量;概率确定模块,用于基于针对语音帧序列中每个语音帧的预测字符向量,确定
预测文本包括n个实际文本的概率;以及模型训练模块,用于基于概率,训练语音识别模型。
7.根据本公开的另一方面,提供了一种语音识别装置,包括:第二内容特征获得模块,用于针对涉及n个对象的待识别语音帧序列,将待识别语音帧序列中的待识别当前帧的语音特征输入语音识别模型的对象分离网络,得到分别与n个对象相对应的n个第二内容特征,n为大于1的整数;第二文本特征获得模块,用于将针对待识别当前帧的在前语音帧的n个预测字符分别输入语音识别模型的n个文本预测网络,得到n个第二文本特征;第二向量预测模块,用于将n个第二内容特征与n个第二文本特征输入语音识别模型包括的语音识别网络,得到针对待识别当前帧的n个预测字符向量;以及文本确定模块,用于基于针对待识别语音帧序列的p*n个预测字符向量,确定针对待识别语音帧序列的预测文本。其中,语音识别模型是采用前文描述的语音识别模型的训练装置训练得到的。
8.根据本公开的另一个方面,提供了一种电子设备,包括:至少一个处理器;以及与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行本公开提供的语音识别模型的训练方法和/或语音识别方法。
9.根据本公开的另一个方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,计算机指令用于使计算机执行本公开提供的语音识别模型的训练方法和/或语音识别方法。
10.根据本公开的另一个方面,提供了一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现本公开提供的语音识别模型的训练方法和/或语音识别方法。
11.应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
12.附图用于更好地理解本方案,不构成对本公开的限定。其中:
13.图1是根据本公开实施例的语音识别模型的训练方法和语音识别方法、装置的应用场景示意图;
14.图2是根据本公开实施例的语音识别模型的训练方法的流程示意图;
15.图3是根据本公开实施例的确定语音帧的语音特征的原理示意图;
16.图4是根据本公开实施例的得到n个第一内容特征的原理示意图;
17.图5是根据本公开实施例的确定预测文本为所述n个实际文本的概率的原理示意图;
18.图6是根据本公开实施例的对语音识别模型进行训练的原理示意图;
19.图7是根据本公开实施例的语音识别方法的流程示意图;
20.图8是根据本公开实施例的语音识别模型的训练装置的结构框图;
21.图9是根据本公开实施例的语音识别装置的结构框图;以及
22.图10是用来实施本公开实施例的语音识别模型的训练方法和/或语音识别方法的电子设备的框图。
具体实施方式
23.以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
24.以下将结合图1对本公开提供的方法和装置的应用场景进行描述。
25.图1是根据本公开实施例的语音识别模型的训练方法和语音识别方法、装置的应用场景示意图。
26.如图1所示,该实施例的场景100包括电子设备110和数据库120。
27.其中,电子设备110例如可以通过网络访问数据库120。数据库120中可以存储有多个音频数据,该多个音频数据可以为采集多个说话对象的语音得到的语音数据。在一实施例中,语音数据可以具有标签,该标签指示语音数据中各说话对象的语音对应的文本。
28.在一实施例中,该电子设备110可以从数据库120中读取具有标签的语音数据,将读取的语音数据作为样本来对语音识别模型进行训练。语音识别模型用于对语音数据进行处理,以得到语音数据中各语音对象的语音对应的文本。电子设备110可以将得到的文本与标签指示的文本进行比较,根据比较结果来训练语音识别模型。电子设备110也可以根据得到标签指示的文本的概率来训练语音识别模型,以使该概率最大化。
29.在一实施例中,该应用场景100还可以包括终端设备130,该终端设备130通过网络与电子设备110通信连接。例如,该终端设备130可以从电子设备110处获取训练后的语音识别模型140,并基于获取的语音识别模型140对实时采集的语音数据150进行处理,得到识别结果160。
30.其中,在语音数据包括多个说话对象的语音时,可以先采用对象分离模型对语音数据进行对象分离,得到每个说话对象的语音数据,然后采用语音转写模型对该每个说话人的语音数据进行转写,得到文本。其中,对象分离模型可以包括时延神经网络(tdnn,time delay neural networks),该时延神经网络的输出通常为不定长的语音,则该对象分离模型还可以采用深度神经网络将该不定长的语音映射成定长的向量,得到定长向量x
‑
vector。语音转写模型可以采用由高斯混合模型(gaussian mixture model,gnn)和隐马尔科夫模型(hidden markov model,hmm)构成的模型架构gnn
‑
hmm或者由深度神经网络和hmm构成的模型架构dnn
‑
hmm等。在语音数据包括多个说话对象的语音时,还可以对采用端到端的模型架构:循环神经网络转换器(recurrent neural network transducer,rnn
‑
t)、基于注意力机制的编解码网络(例如listen attend and spell,las)、长短期记忆(long
‑
short term memory,lstm)
‑
连接时序分类(connectionist temporal classification)模型等。
31.需要说明的是,本公开所提供的语音识别模型的训练方法一般可以由电子设备110执行,或者可以由与电子设备110通信连接的服务器等执行。本公开所提供的语音识别方法可以由终端设备130或电子设备110执行。相应地,本公开所提供的语音识别模型的训练装置一般可以设置于电子设备110中,或者可以设置在与电子设备110通信连接的服务器中。本公开所提供的语音识别装置可以设置在终端设备130或电子设备110中。
32.应该理解,图1中的电子设备、数据库和终端设备的数目和类型仅仅是示意性的。根据实现需要,可以具有任意数目和类型的电子设备、数据库和终端设备。
33.以下将结合图1,通过以下图2~图6对本公开提供的语音识别模型的训练方法进行详细描述。
34.图2是根据本公开实施例的语音识别模型的训练方法的流程示意图。
35.如图2所示,该实施例的语音识别模型的训练方法可以包括操作s210~操作s250。其中,语音识别模型包括对象分离网络、n个文本预测网络和语音识别网络。
36.在操作s210,针对涉及n个对象的语音帧序列,将当前帧的语音特征输入对象分离网络,得到分别与n个对象相对应的n个第一内容特征。
37.根据本公开的实施例,可以对涉及n个对象的语音样本进行分帧处理,得到多个语音帧,将该多个语音帧根据时间顺序依次排列,得到涉及n个对象的语音帧序列。或者,可以在得到多个语音帧后,基于预定采样间隔,对该多个语音帧进行采样,将采样得到的语音帧按时间顺序排列,从而得到语音帧序列。其中,预定采样间隔大于等于1帧。通过对语音帧进行采样,可以在保证训练精度的同时减少计算量。这是由于通常一个文字的发音会持续多个语音帧。其中,分帧时采用的帧长和帧移可以根据实际需求进行设定,例如可以将帧长设定为25ms,将帧移设定为10ms,本公开对此不做限定。
38.例如,在对语音样本进行分帧处理之前,可以对语音样本进行预处理。例如,去除语音样本中语音数据的噪声(包括环境噪声、忙音、彩铃音等)。在获取到语音样本后,还可以采用时间弯折、频率掩盖、改变速率和/或混叠混响的增强处理,以增加语音样本的多样性。例如,可以对语音样本标注的文本数据进行清洗,去除特殊符号、规整数字、单位符号等。同时,还可以对该文本数据进行分字处理,采用分字处理得到的字序列来对文本预测网络进行训练。
39.根据本公开的实施例,当前帧的语音特征可以为mel频率倒谱系数(mel frequency cepstrum coefficient,mfcc)特征、感知线性预测特征(perceptual linear prediction,plp)、滤波器组(filterbank,fbank)特征等。其中,对滤波器组数据做离散余弦变换可以得到mfcc特征。
40.根据本公开的实施例,对象分离网络可以采用端到端模型,对象分离网络的输入为语音帧的语音特征,输出为n个内容特征。该对象分离网络可以通过识别语音帧的音素、韵律等特征来对语音特征进行编码,从而得到n个内容特征。
41.例如,对象分离网络可以包括n个分支,每个分支用于提取对应一个说话对象的内容特征。该对象分离网络可以由相关技术中的对象分离模型和编码器构成,对象分离模型用于从语音帧的语音特征中分离出每个对象的语音特征,编码器用于对语音特征进行编码,得到内容特征。
42.在操作s220,将n个实际文本中针对n个对象、且属于当前帧的在前帧的n个目标字符输入n个文本预测网络,得到n个第一文本特征。
43.根据本公开的实施例,可以根据由当前帧的在前帧确定的预测字符向量来确定是否存在字符的切换,从而确定当前帧的在前帧的目标字符。
44.例如,若针对对象a的实际文本为“你好”,预测字符向量为q维,分别表示预测字符为q个预定字符的概率,在由当前帧的前一帧确定的预测字符向量中表示“好”的概率最大、由前一帧的在前帧确定的预测字符向量中均为表示“你”的概率最大,则针对该对象a,确定的目标字符为“好”。若由当前帧的前一帧确定的预测字符向量中表示“blank”的概率最大、
由前一帧的在前帧确定的预测字符向量中均为表示“你”的概率最大,则针对该对象a,确定的目标字符为“你”。
45.例如,若当前帧为语音帧序列中的首帧,则针对n个对象的目标字符可以均为文本的起始标识符<go>、<sos>等,直至由当前帧的前一帧得到的预测字符向量中概率最大的元素表示的字符为除“blank”外的其他字符。
46.例如,可以将目标字符的嵌入向量作为文本预测网络的输入,经由文本预测网络提取语义相关的信息,并映射得到预测的文本特征。n个文本预测网络可以共享网络权重。例如,文本预测网络可以采用双向lstm模型或者基于注意力的模型等,该文本预测网络用于结合对象的说话历史中的文本来预测当前帧对象所表达的文本信息。采用双向lstm,可以学习到时间跨度更大的语义信息。
47.在操作s230,将n个第一内容特征和n个第一文本特征输入语音识别网络,得到针对当前帧的预测字符向量。
48.根据本公开的实施例,语音识别网络可以具有n个分支,每个分支随机输入一个内容特征和一个文本特征,且不同分支输入的内容特征和文本特征均不相同。n个分支中的每个分支用于对输入的内容特征和文本特征进行融合,并对融合得到的特征进行解码,从而得到一个预测字符向量。
49.根据本公开的实施例,语音识别网络可以对n个第一内容特征和n个第一文本特征随机组合,将组合中的第一内容特征和第一文本特征相拼接。然后对拼接得到的特征进行解码,从而得到与一个组合相对应的预测字符向量。
50.例如,n个第一内容特征分别与n个对象相对应,且n个第一文本特征也与n个对象相对应,由于无法确认n个对象的说话顺序,该语音识别网络可以采用顺序无关的方式来确定预测字符向量。即将第一内容特征与文本特征随机组合,而无需考虑第一内容特征与文本特征是否对应于同一个对象。同时,在一种说话顺序中,每个对象的内容特征仅在与一个文本特征组合。因此,该语音识别网络可以对内容特征和文本特征随机组合,将内容特征和文本特征均不相同的n个特征对组合构成一个特征对组,以对应一种说话顺序。
51.该语音识别网络可以对每种说话顺序的特征对组进行解码,得到n个预测字符向量,分别表示基于当前帧得到的对应n个说话人的字符为q个预定字符中各字符的概率。如此,针对当前帧的预测字符向量由多个字符向量组表示,以分别对应多种说话顺序。每个字符向量组包括n个预测字符向量。
52.在操作s240,基于针对语音帧序列中每个语音帧的预测字符向量,确定预测文本包括n个实际文本的概率。
53.根据本公开的实施例,采用前述操作s210~操作s230可以对语音帧序列中的多个语音帧依次处理,得到分别针对每个语音帧的预测字符向量。
54.例如,该操作s240可以将对语音帧序列中所有语音帧处理后,前述语音识别网络的n个分支中每个分支输出的多个预测字符向量构成一个字符向量组。然后采用维特比(viterbi)算法来确定该每个字符向量组中的预测特征向量指示的字符构成多个实际文本中一个实际文本的概率。得到一个概率。类似地,对于n个分支中每个分支输出的字符向量组,可以得到n个概率。其中,需要说明的是,在迭代地训练过程中,基于n个分支中的同一分支输入的字符向量组确定的实际文本为同一文本,即n个分支分别与n个实际文本相对应。
55.例如,在对文本特征和内容特征随机组合的情况下,该操作s240可以将对应同一说话顺序的多个字符向量组组成为一个集合,从而得到多个集合。然后针对每个集合,采用维特比(viterbi)算法来确定该每个集合中的预测特征向量指示的字符构成针对每个对象的实际文本的概率,作为预测文本包括针对每个对象的实际文本的概率。依次类推,针对多个集合,可以得到预测文本包括针对每个对象的实际文本的多个概率。该实施例可以将多个概率中的最大概率作为预测文本包括针对每个对象的实际文本的最终概率。依次类推,可以得到预测文本包括n个实际文本的n个概率。
56.在操作s250,基于概率,训练语音识别模型。
57.根据本公开的实施例,可以采用反向传播算法来更新语音识别模型中的网络参数。例如,可以根据随机梯度下降准则来调整网络参数,使得预测文本包括n个实际文本的n个概率均趋近于1。
58.根据本公开的实施例,也可以根据该n个概率确定语音识别模型的损失。通过最小化损失来对语音识别模型进行训练。
59.基于以上分析,本公开实施例的语音识别模型的训练方法,通过设置n个文本预测网络,可以在语音识别中结合对象说话的历史信息。如此,在采用训练得到的语音识别模型识别语音时,可以进一步提升语音识别的性能。
60.根据本公开的实施例,在训练语音识别模型时,还可以将公开文本库中的文本作为样本,对文本预测网络进行预训练。在训练得到满足预定精度的文本预测网络后,再对语音识别模型进行整理训练。其中,前述n个文本预测网络的网络结构可以彼此相同,且该n个文本预测网络共享网络权重。
61.例如,在预训练了文本预测网络后,前述基于概率训练语音识别模型时,还可以仅对对象分离网络和语音识别网络进行训练。通过预训练文本预测网络,可以在一定程度上提高语音识别模型的收敛速率。再者,通过使用公开文本库中的文本对文本预测网络进行训练,可以提高语音识别模型的鲁棒性。
62.图3是根据本公开实施例的确定语音帧的语音特征的原理示意图。
63.根据本公开的实施例,在提取语音帧的语音特征时,除了提取语音帧的mfcc特征等外,还可以考虑相邻帧之间的关联,对语音帧提取动态特征。以此提高得到的语音特征的准确性和完整性。
64.例如,本公开提供的语音识别模型的训练方法可以包括确定语音帧序列中当前帧的语音特征的操作。或者,可以预先得到语音帧序列中每个语音帧的语音特征。在训练语音识别模型时使用该预先得到的语音特征。
65.例如,如图3所示,该实施例300在确定语音帧序列中语音帧的语音特征时,可以先确定每个语音帧的声学特征。该声学特征可以为前述的mfcc特征、plp特征或fbank特征等。设定语音帧序列中包括按时间顺序排列的第一语音帧311、第二语音帧312、第三语音帧313、...、第m语音帧314。通过分别对该些语音帧提取声学特征,可以分别得到第一声学特征321、第二声学特征322、第三声学特征23、...、第m声学特征324。
66.例如,可以采用一阶差分和/或二阶差分来表示语音帧的动态特征。在得到每个语音帧的声学特征后,可以将每个语音帧依次作为当前帧,基于当前帧的声学特征及该当前帧的在后帧的声学特征,来确定针对当前帧的差分特征。最后将当前帧的声学特征和针对
当前帧的差分特征相拼接,获得该当前帧的语音特征。
67.例如,若当前帧为第一语音帧311,可以计算第二声学特征322和第一声学特征321之间的差值,得到针对第一语音帧311的一阶差分特征331。例如,定义x(k)为第k语音帧的声学特征,则一阶差分y(k)可以表示为y(k)=x(k+1)
‑
x(k),物理意义就是当前语音帧与后一帧之间的关联,体现帧与帧(相邻两帧)之间的联系。还可以根据第一声学特征321、第二声学特征322及第三声学特征323,计算针对第一语音帧311的二阶差分特征332。在一阶差分的基础上,二阶差分z(k)=y(k+1)
‑
y(k)=x(k+2)
‑
2*x(k+1)+x(k)。该二阶差分表示的是一阶差分与一阶差分之间的关系。即当前帧的一阶差分特征与后一帧的一阶差分特征之间的关系,体现到帧上就是相邻三帧之间的动态关系。在得到一阶差分特征331、二阶差分特征332后,将该一阶差分特征331、二阶差分特征332与第一声学特征321拼接,即可得到第一语音帧311的语音特征341。例如,若第一声学特征321由80维的向量表示,则语音特征341则由80*3的矩阵表示。
68.根据本公开的实施例,若当前帧为第(m
‑
1)语音帧,则由于该当前帧的在后帧仅有一帧,因此,可以采用前述方法得到当前帧的一阶差分特征。可以采用补零的方式来表示当前帧的二阶差分特征。若当前帧为第m语音帧,由于该当前帧没有在后帧,则可以采用补零的方式来表示当前帧的一阶差分特征和当前帧的二阶差分特征。可以理解的是,该补零的方式仅作为示例以利于理解本公开,本公开例如还可以通过复制声学特征的方式等来表示语音帧序列中末尾帧的差分特征,本公开对此不做限定。
69.图4是根据本公开实施例的得到n个第一内容特征的原理示意图。
70.根据本公开的实施例,如图4所示,该实施例400中,对象分离网络可以包括有混合编码(mixture encoder)子网络410、n个对象编码子网络和n个识别编码子网络。该n个对象编码子网络为第一对象编码子网络421~第n对象编码子网络422,n个识别编码(recognition encoder)子网络为第一识别编码子网络431~第n识别编码子网络432。其中,对象编码子网络的个数与识别编码子网络的个数均与对象个数相等。如此,可以对涉及不同数量的对象的不同语音帧序列,训练彼此结构类似、但对象编码子网络与识别编码子网络的个数彼此不同的多个语音识别模型。其中,对象编码子网络可以为说话人独立(speaker dependent)的编码器。n个对象编码子网络与n个识别编码子网络一一对应。
71.如图4所示,在将当前帧的语音特征401输入对象分离网络时,可以将该语音特征401输入混合编码子网络410,由混合编码子网络410输出混合内容特征。然后将该混合内容特征以并行形式输入n个第一对象编码子网络421~第n对象编码子网络422,由该n个识别编码子网络分别输出一个中间特征,得到n个中间特征。将该n个中间特征分别输入第一识别编码子网络431~第n识别编码子网络432中,由该n个识别编码子网络分别输出一个第一内容特征,得到n个第一内容特征。例如,第一识别编码子网络431输出了内容特征402,第n识别编码子网络输出了内容特征403。
72.例如,混合编码子网络410可以由多个cnn层和最大池化层构成。该多个cnn层可以分为三个通道,以分别用于对语音特征中的声学特征、一阶差分特征和二阶差分特征进行特征提取。提取的三个通道的特征拼接后经由最大池化层进行正态分布规整后得到混合内容特征。该混合内容特征可以为带有多个说话人特征的高级特征向量v。
73.例如,每个对象编码子网络可以由tdnn构成,用于从高级特征向量v中提取带有一
个说话人特征的高级特征向量。经由n个对象编码子网络,可以得到n个高级特征向量v1~v
n
。每个识别编码子网络可以由多个注意力层(attention)构成。用于从输入的高级特征向量中提取内容相关特征向量c。在语音识别模型的训练过程中,n个对象编码子网络彼此之间的网络权重是不共享的,且n个识别编码子网络彼此之间的网络权重也是不共享的。
74.本公开实施例通过设置该包括n个对象编码子网络和n个识别编码子网络的对象分离网络,可以在训练过程中,使得不同的对象编码子网络学习到不同说话人的特征。如此,可以实现对语音特征中说话人特征的分离。
75.图5是根据本公开实施例的确定预测文本为所述n个实际文本的概率的原理示意图。
76.根据本公开的实施例,前述语音识别网络可以包括组合子网络和预测子网络。其中,组合子网络可以用于对文本特征和内容特征进行组合及拼接。预测子网络用于将组合子网络组合及拼接得到的特征映射至字符空间。
77.例如,组合子网络可以对n个第一文本特征和n个第一内容特征进行随机地无序组合。将该n个第一文本特征和n个第一内容特征输入组合子网络,可以由该组合子网络对n个第一内容特征与n个第一文本特征彼此组合,得到n*n!个特征对。包括的文本特征和内容特征均不相同的n个特征对构成一个特征对组,共计得到n!个特征对组。将该n!个特征对组依次输入预测子网络,可以由预测子网络输出与该n!个特征对组相对应的n!个字符向量组,该n!个字符向量组即为针对当前帧的预测字符向量。
78.为了便于理解,如图5所示,设定语音识别网络包括的组合子网络由n*n!个融合子网络构成,且该语音识别网络包括与n*n!个融合子网络分别对应的n*n!个预测子网络。设定n为2,则n*n!=4。
79.如图5所示,该实施例500中,将第一文本特征和第一内容特征彼此配对。将第一文本预测网络521输出的第一文本特征和第一识别编码子网络511输出的第一文本特征组成一个特征对输入第一融合子网络531。将第一文本预测网络521输出的第一文本特征和第二识别编码子网络512输出的第一文本特征组成一个特征对输入第二融合子网络532。将第二文本预测网络522输出的第一文本特征和第一识别编码子网络511输出的第一文本特征组成一个特征对输入第三融合子网络533。将第二文本预测网络522输出的第一文本特征和第二识别编码子网络512输出的第一文本特征组成一个特征对输入第四融合子网络534。
80.第一融合子网络531~第四融合子网络534分别对输入的文本特征和内容特征进行拼接。将拼接后的特征被输入与第一融合子网络531~第四融合子网络534分别连接的第一预测子网络541~第四预测子网络544中。对于每个语音帧,该第一预测子网络541~第四预测子网络544分别输出一个预测字符向量,得到预测字符向量501~预测字符向量504。
81.其中,第一文本预测网络521输出的第一文本特征和第一识别编码子网络511输出的第一文本特征组成的特征对,以及第二文本预测网络522输出的第一文本特征和第二识别编码子网络512输出的第一文本特征组成的特征对构成一个特征对组。第一文本预测网络521输出的第一文本特征和第二识别编码子网络512输出的第一文本特征组成的特征对,以及第二文本预测网络522输出的第一文本特征和第一识别编码子网络511输出的第一文本特征组成的特征对构成一个特征对组。共计得到n!=2!个特征对组。相应地,预测字符向量501和预测字符向量504组成一个字符向量组,预测字符向量502和预测字符向量503组成
一个字符向量组,共计得到2!个字符向量组。上述特征对组的组合是由于不同的第一识别编码子网络对应不同的对象,且不同第一文本预测网络对应不同的对象,一个特征对组中应仅包括每个对象的一个文本特征和一个内容特征。一个特征对组对应一种说话顺序。
82.基于上述原理可知,n!特征对组中的每个特征对组包括n个第一特征对,n个第一特征对中的n个第一内容特征分别来自n个识别编码子网络。n个第一特征对中的n个第一文本特征分别来自n个文本预测网络,n!个字符向量组中的每个字符向量组包括与n个第一特征对相对应的n个字符向量。
83.图6是根据本公开实施例的对语音识别模型进行训练的原理示意图。
84.根据本公开的实施例,设定每个字符向量中包括q个元素,每个元素表示预测得到的字符为q个预定字符中一个字符的概率。通过对语音帧序列中的m个语音帧依次识别,可以总计得到m*n!个特征对。将产生属于一个字符向量组的多个预测字符向量的多个预测子网络输出的数据汇总,可以得到一个字符向量集合。该字符向量集合中的预测字符向量对应同一种说话顺序。则基于该字符向量集合中的预测字符向量,可以得到一种说话顺序下得到n个实际文本中每个实际文本的概率。
85.具体地,在确定预测文本为n个实际文本的概率时,可以针对语音帧序列中各语音帧的特征对组,确定出与n!个特征对集合相对应的字符向量集合,得到n!个字符向量集合。n!个特征对集合中的每个特征对集合由来源相同的m个特征对组成。在得到n!个字符向量集合后,针对每个字符向量集合,可以确定针对该每个字符向量集合的概率集合。该概率集合中有预测文本包括n个实际文本中每个实际文本的概率。
86.为了方便说明,如图6所示,在该实施例600中,文本预测网络、对象编码子网络和识别编码子网络的个数均为2。通过采用语音识别模型对语音帧序列605中的每个语音帧进行识别,可以经由第一预测子网络641、第二预测子网络642、第三预测子网络643和第四预测子网络644分别输出一个预测字符向量序列。第一预测子网络641和第四预测子网络644输出的预测字符向量序列601和604可以组成一个字符向量集合606。第二预测子网络642和第三预测子网络643输出的预测字符向量序列602和603可以组成一个字符向量集合607。每个字符向量集合对应一种说话顺序。
87.根据本公开的实施例,在确定针对该每个字符向量集合的概率集合时,可以先确定该字符向量集合中能够组成实际文本的元素序列,该元素序列中具有m个元素,且m个元素分别来自于每个字符向量集合中的m个字符向量组。由于每个字符向量组中包括对应n个对象的n个字符向量。则可以从m个字符向量组中分别得到对应例如对象b的m个字符向量,从该m个字符向量中确定组成该对象b的实际文本的元素序列。由于元素序列中的各元素为指示某个字符的概率。则可以将该元素序列中所有元素的和,作为预测文本包括该对象b的实际文本的概率。例如可以从每个字符向量集合中找到组成一个实际文本的多个元素序列。此种情况下,该实施例应取多个元素序列中的目标序列,该目标序列包括的元素的和相对于其他元素序列最大。
88.例如,可以采用维特比算法直接来从每个字符向量集合中找到组成一个实际文本的目标序列。
89.换言之,在确定预测文本包括n个实际文本中每个实际文本的概率时,可以针对每个字符向量集合中的m个字符向量组:确定与来源相同的m个特征对相对应、且依据获得顺
序依次排列的m个字符向量各自的目标元素,得到n个目标元素序列。该n个目标元素序列分别对应n个对象。每个元素序列中的元素依次对应的字符组成n个实际文本中的一个实际文本,不同元素序列中的元素依次对应的字符组成的实际文本不同。在得到该n个目标元素序列后,可以计算每个目标元素序列中元素的和,得到n个和,该n个和分别为预测文本包括n个实际文本的概率。
90.根据本公开的实施例,通过上述方式,可以针对每种说话顺序,得到一个概率集合,该概率集合中包括n个概率,分别为预测文本包括n个实际文本的概率。在语音识别模型的训练过程中,预测文本包括n个实际文本的概率即为针对n!个字符向量集合的n!个概率集合。如图6所示,预测文本包括n个实际文本的概率包括:针对字符向量集合606的概率集合608和针对字符向量集合607的概率集合609。
91.在得到n!个概率集合后,可以基于每个概率集合得到一个损失,以此表示语音识别模型针对一种说话顺序的损失。
92.具体地,每个概率集合中包括n个概率,分别表示预测文本包括n个实际文本的概率。该实施例可以基于对应每个实际文本的概率,来计算得到对应每个实际文本的一个损失。例如可以采用rnn
‑
t模型的损失来计算对应每个实际文本的一个损失。则基于针对每个字符向量集合的概率集合中的n个概率,可以确定预测得到n个实际文本中每个实际文本的损失,从而得到n个损失。该实施例可以将该n个损失的和作为针对每个字符向量集合的损失,即语音识别模型对应一种说话顺序的损失。对应n!个字符向量集合,可以得到语音识别模型对应n!种说话顺序的损失。例如,在实施例600中,可以得到对应字符向量集合606的第一损失601’和对应字符向量集合607的第二损失602’。
93.该实施例可以将对应n!种说话顺序的损失中的最小损失,作为语音识别模型的最终损失。该实施例可以基于该最终损失对语音识别模型进行训练。如图6所示,第一损失601’和第二损失602’中的较大者为语音识别模型的最终损失。
94.可以理解的是,上述确定损失并对模型进行训练的过程实质上是采用具有置换不变形的训练方法(permutation invariant training,pit)来实现的。通过该方式,便于实现语音识别的端到端处理,在简化模型结构的同时,保证模型的精度。
95.通过迭代的训练,可以使得n个对象编码子网络分别学习到n个对象的特征。再者,由于n个文本预测网络是分别对应n个对象的。则在完成语音识别模型的训练后,可以仅将输入为对应于同一个对象的识别编码子网络和文本预测网络的输出的融合子网络,及与该融合子网络对应的预测子网络保留,去除掉其他融合子网络和预测子网络,得到用于对语音进行识别的语音识别模型。相应地,在将待识别语音帧输入用于对语音进行识别的语音识别模型后,该语音识别模型的输出应仅为分别对应n个对象的n个预测字符向量,而不会再输出n*n!个预测字符向量。
96.其中,多个融合子网络彼此之间是共享网络权重的,且多个预测子网络彼此之间也是共享网络权重的。则为了减少模型架构的冗余,通过训练语音识别模型,可以使得包括n!个融合子网络的组合子网络学习到文本特征与内容特征的最佳组合方式,从而根据输入的n个内容特征和n个文本特征来得到n个特征对,即仅得到一个特征对组,而无需得到n!个特征对组。
97.需要说明的是,实施例600中的一部分网络结构与图5中的部分网络结构类似,实
施例600中的一部分网络结构与图4中的部分网络结构类似,具有相似编号或相同名称的网络表示相同的网络,在此不再赘述,
98.基于本公开实施例提供的语音识别模型,本公开还提供了一种语音识别方法。以下将结合图7对该语音识别方法进行详细描述。
99.图7是根据本公开实施例的语音识别方法的流程示意图。
100.如图7所示,该实施例的语音识别方法700可以包括操作s710~操作s740。
101.在操作s710,针对涉及n个对象的待识别语音帧序列,将待识别语音帧序列中的待识别当前帧的语音特征输入语音识别模型的对象分离网络,得到分别与n个对象相对应的n个第二内容特征。
102.其中,待识别语音帧序列与前文描述的操作s210中的语音帧序列类似,区别仅在于该待识别语音帧序列不包括针对n个对象的n个实际文本。待识别当前帧的语音特征的获取方法与操作s210中当前帧的语音特征的获取方法类似。该操作s710的执行方法与操作s210类似,在此不再赘述。
103.在操作s720,将针对待识别当前帧的在前语音帧的n个预测字符分别输入语音识别模型的n个文本预测网络,得到n个第二文本特征。
104.根据本公开的实施例,该操作s720与前文描述的操作s220类似,区别仅在于,操作s220中输入n个文本预测网络的n个目标字符的嵌入表示。该操作s720中输入n个文本预测网络的为在前语音帧的n个预测字符。
105.其中,语音识别模型为采用前述语音识别模型的训练方法训练得到的模型。
106.例如,将待识别语音帧的前一语音帧得到的n个预测字符向量中,每个预测字符向量中取值最大的元素对应的字符作为一个在前语音帧的预测字符。若某个预测字符向量中取值最大的元素对应的字符为“blank”,则继续向前追溯,直至基于某个在前语音帧得到的n个预测字符向量中,与该某个预测字符向量对应的预测字符向量中取值最大的元素对应的字符为除“blank”外的有效字符,则使用该有效字符作为一个预测字符。其中,有效字符是指文字字符。
107.在操作s730,将n个第二内容特征与n个第二文本特征输入语音识别模型包括的语音识别网络,得到针对待识别当前帧的n个预测字符向量。
108.在一实施例中,如前文描述,语音识别网络包括组合子网络和预测子网络。将n个第二内容特征和n个第二文本特征输入组合子网络,可以由组合子网络基于预定组合方式对n个第二内容特征和n个第二文本特征彼此组合,从而得到n个第二特征对。将该n个第二特征对输入预测子网络,可以得到与n个第二特征对相对应的n个预测字符向量。该预定组合方式即为通过训练语音识别模型确定的。
109.在操作s740,基于针对待识别语音帧序列的p*n个预测字符向量,确定针对待识别语音帧序列的预测文本。
110.其中,p为待识别语音帧序列的帧数,且p为大于1的整数。在得到p*n个预测字符向量后,可以根据每个预测字符向量中取值最大的元素,对应到一个字符。将所有预测字符向量中,根据对应于同一个对象的p个预测字符向量对应到的p个字符,根据p个预测字符向量的获得顺序排列,得到字符序列,该字符序列即为一个对象的预测文本。通过该方式,可以得到n个预测文本。该n个预测文本即为针对待识别语音帧序列的预测文本。
111.基于本公开提供的语音识别模型的训练方法,本公开还提供了一种语音识别模型的训练装置。
112.图8是根据本公开实施例的语音识别模型的训练装置的结构框图。
113.如图8所示,该实施例的语音识别模型的训练装置800可以包括第一内容特征获得模块810、第一文本特征获得模块820、第一向量预测模块830、概率确定模块840和模型训练模块850。其中,语音识别模型包括对象分离网络、n个文本预测网络和语音识别网络,n为大于1的整数。
114.第一内容特征获得模块810用于针对涉及n个对象的语音帧序列,将当前帧的语音特征输入对象分离网络,得到分别与n个对象相对应的n个第一内容特征;语音帧序列包括针对n个对象的n个实际文本。在一实施例中,第一内容特征获得模块810可以用于执行前文描述的操作s210,在此不再赘述。
115.第一文本特征获得模块820用于将n个实际文本中针对n个对象、且属于当前帧的在前帧的n个目标字符输入n个文本预测网络,得到n个第一文本特征。在一实施例中,第一文本特征获得模块820可以用于执行前文描述的操作s220,在此不再赘述。
116.第一向量预测模块830用于将n个第一内容特征和n个第一文本特征输入语音识别网络,得到针对当前帧的预测字符向量。在一实施例中,第一向量预测模块830可以用于执行前文描述的操作s230,在此不再赘述。
117.概率确定模块840用于基于针对语音帧序列中每个语音帧的预测字符向量,确定预测文本包括n个实际文本的概率。在一实施例中,概率确定模块840可以用于执行前文描述的操作s240,在此不再赘述。
118.模型训练模块850用于基于概率,训练语音识别模型。在一实施例中,模型训练模块850可以用于执行前文描述的操作s250,在此不再赘述。
119.根据本公开的实施例,上述对象分离网络包括混合编码子网络、n个对象编码子网络和n个识别编码子网络。上述第一内容特征获得模块包括:混合特征获得子模块,用于将当前帧的语音特征输入混合编码子网络,得到混合内容特征;中间特征获得子模块,用于将混合内容特征输入n个对象编码子网络,得到n个中间特征;以及内容特征获得子模块,用于将n个中间特征分别输入n个识别编码子网络,得到n个第一内容特征。
120.根据本公开的实施例,语音识别网络包括组合子网络和预测子网络。上述第一向量预测模块包括:第一特征对获得子模块,用于将n个第一内容特征与n个第一文本特征输入组合子网络,得到由n个第一内容特征与n个第一文本特征彼此组合得到的n!个特征对组,作为当前帧的特征对组;以及第一向量获得子模块,用于将n!个特征对组依次输入预测子网络,得到与n!个特征对组相对应的n!个字符向量组,作为针对当前帧的预测字符向量。其中,n!个特征对组中的每个特征对组包括n个第一特征对,n个第一特征对中的n个第一内容特征分别来自n个识别编码子网络;n个第一特征对中的n个第一文本特征分别来自n个文本预测网络;n!个字符向量组中的每个字符向量组包括与n个第一特征对相对应的n个字符向量。
121.根据本公开的实施例,上述概率确定模块包括:向量集合确定子模块,用于针对语音帧序列中各语音帧的特征对组:确定与n!个特征对集合相对应的字符向量集合,得到n!个字符向量集合,其中,n!个特征对集合中的每个特征对集合由来源相同的m个特征对组
成;以及概率确定子模块,用于基于每个字符向量集合,确定预测文本包括n个实际文本中每个实际文本的概率,得到针对每个字符向量集合的概率集合。其中,m为语音帧序列包括的帧数。
122.根据本公开的实施例,概率确定子模块包括:序列确定单元,用于针对每个字符向量集合中的m个字符向量组:确定与来源相同的m个特征对相对应、且依据获得顺序依次排列的m个字符向量各自的目标元素,得到n个目标元素序列;以及概率确定单元,用于确定n个目标元素序列中每个元素序列的元素的和,作为预测文本包括一个实际文本的概率,其中,每个元素序列中的元素依次对应的字符组成n个实际文本中的一个实际文本,不同元素序列中的元素依次对应的字符组成的实际文本不同。
123.根据本公开的实施例,上述模型训练模块包括:第一损失确定子模块,用于基于针对每个字符向量集合的概率集合中的n个概率,分别确定预测得到n个实际文本中每个实际文本的损失,得到n个损失;第二损失确定子模块,用于确定n个损失的和,作为针对每个字符向量集合的损失;以及模型训练子模块,用于基于针对n!个字符向量集合的n!个损失中的最小损失,训练语音识别模型。
124.根据本公开的实施例,上述语音识别模型的训练装置还包括:声学特征确定模块,用于确定当前帧的声学特征;差分特征确定模块,用于基于当前帧的声学特征及当前帧的在后帧的声学特征,确定针对当前帧的差分特征;以及语音特征获得模块,用于拼接当前帧的声学特征和针对当前帧的差分特征,获得当前帧的语音特征。
125.根据本公开的实施例,上述语音识别模型的训练装置还包括:分帧模块,用于对涉及n个对象的语音样本进行分帧处理,得到多个语音帧;以及采样模块,用于对多个语音帧基于预定采样间隔进行采样,得到语音帧序列,其中,预定采样间隔大于等于1帧。
126.根据本公开的实施例,上述模型训练模块用于:基于概率,训练对象分离网络和语音识别网络;上述模型训练装置800还包括预训练模块,用于基于多个文本样本,对n个文本预测网络进行预训练。其中,n个文本预测网络的网络结构相同,且n个文本预测网络共享网络权重。
127.基于本公开提供的语音识别方法,本公开还提供了一种语音识别装置。
128.图9是根据本公开实施例的语音识别装置的结构框图。
129.如图9所示,该实施例的语音识别装置900可以包括第二内容特征获得模块910、第二文本特征获得模块920、第二向量预测模块930和文本确定模块940。
130.第二内容特征获得模块910用于针对涉及n个对象的待识别语音帧序列,将待识别语音帧序列中的待识别当前帧的语音特征输入语音识别模型的对象分离网络,得到分别与n个对象相对应的n个第二内容特征,n为大于1的整数。在一实施例中,第二内容特征获得模块910用于执行前文描述的操作s710,在此不再赘述。其中,语音识别模型是采用上述的语音识别模型的训练装置训练得到的。
131.第二文本特征获得模块920用于将针对待识别当前帧的在前语音帧的n个预测字符分别输入语音识别模型的n个文本预测网络,得到n个第二文本特征。在一实施例中,第二文本特征获得模块920用于执行前文描述的操作s720,在此不再赘述。
132.第二向量预测模块930用于将n个第二内容特征与n个第二文本特征输入语音识别模型包括的语音识别网络,得到针对待识别当前帧的n个预测字符向量。在一实施例中,第
二向量预测模块930用于执行前文描述的操作s730,在此不再赘述。
133.文本确定模块940用于基于针对待识别语音帧序列的p*n个预测字符向量,确定针对待识别语音帧序列的预测文本。在一实施例中,文本确定模块940用于执行前文描述的操作s740,在此不再赘述。
134.根据本公开的实施例,语音识别网络包括组合子网络和预测子网络。上述第二向量预测模块包括:第二特征对获得子模块,用于将n个第二内容特征和n个第二文本特征输入组合子网络,由组合子网络基于预定组合方式对n个第二内容特征和n个第二文本特征彼此组合,得到n个第二特征对;以及第二向量获得子模块,用于将n个第二特征对输入预测子网络,得到与n个第二特征对相对应的n个预测字符向量,其中,预定组合方式是通过训练语音识别模型确定的。
135.需要说明的是,本公开的技术方案中,所涉及的用户个人信息的获取、收集、存储、使用、加工、传输、提供和公开等处理,均符合相关法律法规的规定,且不违背公序良俗。
136.根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
137.图10示出了可以用来实施本公开实施例的语音识别模型的训练方法和/或语音识别方法的示例电子设备1000的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
138.如图10所示,设备1000包括计算单元1001,其可以根据存储在只读存储器(rom)1002中的计算机程序或者从存储单元1008加载到随机访问存储器(ram)1003中的计算机程序,来执行各种适当的动作和处理。在ram 1003中,还可存储设备1000操作所需的各种程序和数据。计算单元1001、rom 1002以及ram 1003通过总线1004彼此相连。输入/输出(i/o)接口1005也连接至总线1004。
139.设备1000中的多个部件连接至i/o接口1005,包括:输入单元1006,例如键盘、鼠标等;输出单元1007,例如各种类型的显示器、扬声器等;存储单元1008,例如磁盘、光盘等;以及通信单元1009,例如网卡、调制解调器、无线通信收发机等。通信单元1009允许设备1000通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
140.计算单元1001可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元1001的一些示例包括但不限于中央处理单元(cpu)、图形处理单元(gpu)、各种专用的人工智能(ai)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(dsp)、以及任何适当的处理器、控制器、微控制器等。计算单元1001执行上文所描述的各个方法和处理,例如语音识别模型的训练方法和/或语音识别方法。例如,在一些实施例中,语音识别模型的训练方法和/或语音识别方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元1008。在一些实施例中,计算机程序的部分或者全部可以经由rom 1002和/或通信单元1009而被载入和/或安装到设备1000上。当计算机程序加载到ram 1003并由计算单元1001执行时,可以执行上文描述的语音识别模型的训练方法和/或语音识别
方法的一个或多个步骤。备选地,在其他实施例中,计算单元1001可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行语音识别模型的训练方法和/或语音识别方法。
141.本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、芯片上系统的系统(soc)、负载可编程逻辑设备(cpld)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
142.用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
143.在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd
‑
rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
144.为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,crt(阴极射线管)或者lcd(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
145.可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(lan)、广域网(wan)和互联网。
146.计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端
‑
服务器关系的计算机程序来产生客户端和服务器的关系。其中,服务器可以是云服务器,又称为云计算服务
器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与vps服务(
″
virtual private server
″
,或简称
″
vps
″
)中,存在的管理难度大,业务扩展性弱的缺陷。服务器也可以为分布式系统的服务器,或者是结合了区块链的服务器。
147.应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
148.上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。