HI,欢迎来到起点商标网!
24小时服务QQ:2880605093

基于BPE编码的序列化方法、训练方法、系统及存储介质与流程

2021-01-28 15:01:20|280|起点商标网
基于BPE编码的序列化方法、训练方法、系统及存储介质与流程

本发明涉及计算机软件技术领域,尤其涉及一种基于bpe编码的序列化方法、训练方法、系统及存储介质。



背景技术:

语音交互技术是一种让人可以通过语音来操控电子设备的人机交互技术,人们可以通过语音来控制电子设备,使操作过程更加自然、方便,可以应用于如智能家居控制、驾驶中操控、智能语音客服等诸多场景,大大改善人们的生活。其中,自动语音识别(automaticspeechrecognition,asr)是实现语音交互的第一步。

目前,业内常用语音识别技术主要有基于隐马尔可夫-深度神经网络(hmm-dnn)混合模型的方法,以及端到端的方法。端到端的方法是一类直接使用神经网络来将输入语音转换为文本序列的方法,分为基于ctc(connectionisttemporalclassification)的方法和基于注意力机制的方法。在基于注意力机制(attention-based)的方法中,通常包含编码器(encoder)和解码器(decoder),其主要思想是将语音特征序列经过编码器编码为更加高级的表征,然后送入解码器,再结合上一时刻的解码器输出,使用注意力机制将二者整合到一起,最终得到当前时刻的解码输出。通过反复进行解码过程,可以得到整句话的解码结果。

由于神经网络是一种分类器,端到端语音识别模型的输出实际上是类别序号的序列,需要参照字典转换成对应的字符串序列,进而产生文本输出。类似的,在训练模型时,则需要将音频对应的文本标注参照字典转换成类别序号的序列。字典是一种将字符串映射为序号的映射表,这种映射是灵活的,可以对英文字母构建字典,这样字典里就只有26个项,也可以对整个英文单词构建字典,这样字典里就有数万个项。然而,字典的映射关系必须是唯一的,即对于给定的文本,应当只能转换成唯一的字典序号序列,至于不在字典中的单词,可以映射为一个表示“未知词语”的标识符。

在中英混合语音识别中,存在建模粒度的问题。中文的发音特点是一字一音,英文的发音特点是一词多音,因此简单地将中文字和英文词汇入字典中会对模型的性能有一定的影响。现有的方法是,对于英文采用词片模型(wordpiecemodel,wpm)进行建模、拆分,然后对于中文,采用字级别的拆分。采用wpm进行拆分后,所得英文词片所含音素少,因而降低建模粒度的大小。综上所述,现有方法存在的问题是:需要反复迭代训练语言模型,然而训练语言模型需要进行大量的计算,十分耗时;合并时所用到的语言模型评分标准与发音规则不一定匹配。



技术实现要素:

为了解决上述技术问题之一,本发明的目的是提供一种基于bpe编码的序列化方法、训练方法、系统及存储介质。

本发明所采用的技术方案是:

一种基于bpe编码的序列化方法,包括以下步骤:

获取中英混合的标注文本,采用基于bpe编码算法生成的字典将所述标注文本中的中文序列分为多个汉字,以及将所述标注文本中的英文序列拆分为多个字母串;

将拆分获得的所述汉字和所述字母串作为标注序列,用于对端到端语音识别模型进行训练;

所述字母串中包含有标识符,根据所述标识符将所述字母串合并成英文单词。

进一步,所述字典通过以下步骤建立获得:

从语料库中获取多个英文单词,将所有的所述英文单词拆分成不同组合的字符串碎片;

根据bpe编码算分对所述字符串碎片进行统计,获得所述字符串碎片的出现频率;

根据所述出现频率将所述英文单词转换为若干个字符串碎片,将所述字符串碎片存入所述字典。遍历所有的英文单词,均执行上述步骤,最终获得字典。

进一步,还包括以下步骤:

获取音频信息,将所述输入训练好的所述端到端语音识别模型中,获得输出序列;

根据所述字典对所述输出序列进行反序列化,获得输出文本。

本发明所采用的另一技术方案是:

一种基于bpe编码的序列化系统,包括:

序列拆分模块,用于获取中英混合的标注文本,采用基于bpe编码算法生成的字典将所述标注文本中的中文序列分为多个汉字,以及将所述标注文本中的英文序列拆分为多个字母串;

标注序列模块,用于将拆分获得的所述汉字和所述字母串作为标注序列,用于对端到端语音识别模型进行训练;

所述字母串中包含有标识符,根据所述标识符将所述字母串合并成英文单词。

进一步,所述序列化系统还包括字典建立模块,所述字典建立模块包括:

单词拆分单元,用于从语料库中获取多个英文单词,将所有的所述英文单词拆分成不同组合的字符串碎片;

频率统计单元,用于根据bpe编码算分对所述字符串碎片进行统计,获得所述字符串碎片的出现频率;

单词拼组单元,用于根据所述出现频率将所述英文单词转换为若干个字符串碎片,将所述字符串碎片存入所述字典。

进一步,所述序列化系统还包括反序列化模块,所述反序列化模块用于:

获取音频信息,将所述输入训练好的所述端到端语音识别模型中,获得输出序列;

根据所述字典对所述输出序列进行反序列化,获得输出文本。

本发明所采用的另一技术方案是:

一种基于bpe编码的序列化系统,包括:

至少一个处理器;

至少一个存储器,用于存储至少一个程序;

当所述至少一个程序被所述至少一个处理器执行,使得所述至少一个处理器实现上所述方法。

本发明所采用的另一技术方案是:

一种存储介质,其中存储有处理器可执行的指令,所述处理器可执行的指令在由处理器执行时用于执行如上所述方法。

本发明所采用的另一技术方案是:

一种端到端语音识别模型的训练方法,包括:

获取训练样本,所述训练样本包括标注文本和语音音频;

采用上述一种基于bpe编码的序列化方法对所述标注文本进行序列化,获得标注序列;

根据所述标注序列和所述语音音频对神经网络进行训练后,获得端到端语音识别模型。

本发明所采用的另一技术方案是:

一种端到端语音识别模型的训练系统,包括:

训练集获取模块,用于获取训练样本,所述训练样本包括标注文本和语音音频;

文本序列化模块,用于采用上述一种基于bpe编码的序列化方法对所述标注文本进行序列化,获得标注序列;

训练模块,用于根据所述标注序列和所述语音音频对神经网络进行训练后,获得端到端语音识别模型。

本发明的有益效果是:本发明对于文本中的中文采用字级别的拆分,对于英文按照bpe编码所得字典进行拆分,从而解决中文字和英文单词发音长度不一致的问题以及训练字典时的耗时问题,使得英文子串近似于中文发音长度,提升了端到端语音识别模型的性能。

附图说明

图1是实施例中一种基于bpe编码的序列化方法的步骤流程图;

图2是实施例中字典的建立的流程示意图;

图3是实施例中对英文单词进行拆分的示意图;

图4是实施例中一种端到端语音识别模型的训练方法的步骤示意图;

图5是实施例中端到端语音识别模型对语音音频进行识别的示意图。

具体实施方式

下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。

在本发明的描述中,需要理解的是,涉及到方位描述,例如上、下、前、后、左、右等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。

在本发明的描述中,若干的含义是一个或者多个,多个的含义是两个以上,大于、小于、超过等理解为不包括本数,以上、以下、以内等理解为包括本数。如果有描述到第一、第二只是用于区分技术特征为目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量或者隐含指明所指示的技术特征的先后关系。

本发明的描述中,除非另有明确的限定,设置、安装、连接等词语应做广义理解,所属技术领域技术人员可以结合技术方案的具体内容合理确定上述词语在本发明中的具体含义。

如图1所示,本实施例提供了一种基于bpe编码的序列化方法,包括以下步骤:

s101、获取中英混合的标注文本,采用基于bpe编码算法生成的字典将标注文本中的中文序列分为多个汉字,以及将标注文本中的英文序列拆分为多个字母串;

s102、将拆分获得的汉字和字母串作为标注序列,用于对端到端语音识别模型进行训练。该字母串中包含有标识符,根据标识符将字母串合并成英文单词。

现有技术中,主要采用wpm算法进行序列化,wpm算法按如下步骤生成子串:步骤1、将所有的单词拆分成字符序列;步骤2、尝试序列中所有出现的两两合并组合,并训练语言模型;步骤3、选取语言模型分数最大的那种合并方式,将对应的组合合并;步骤4、重复进行步骤2和步骤3直到合并次数达到预定值;步骤5、将所有的不重复字符子串记入字典。现有的这种方法存在的问题是:需要反复迭代训练语言模型,然而训练语言模型需要进行大量的计算,十分耗时;合并时所用到的语言模型评分标准与发音规则不一定匹配。基于此,本实施例提供一种速度更快且使语音识别准确率更高的基于bpe编码的中英混合序列建模方法。在实施时,对于文本中的中文采用字级别的拆分,对于英文按照bpe编码所得字典进行拆分,从而解决中文字和英文单词发音长度不一致的问题。

在应用本实施例的方法时,首先需要根据bpe算法训练一个字典。如图2所示,图2为基于bpe算法的训练字典的流程图,首先,将所有的英文单词拆分成字符序列;其次,统计所有拆分的单词内字符对出现频率;接着,将出现频率最高的那个字符对组合在一起;之后重复该合并过程,直到合并次数达到预定值;最后将所有的不重复子串汇入字典。需要注意的是,汇入字典的不重复子串数目与合并次数是不一样的。在获得英文的基于bpe生成的字典之后,再将中文以汉字为单位汇入字典,得到中英混合的字典。

在使用bpe算法生成字典的时候的合并时,对于单词today而言,拆分为字母:“t-o-d-a-y”;然后统计字符对的概率,如“t-o”、“o-d”、“d-a”、“a-y”的概率,这里假设不单单只有这几个字符,还有更多其他的单词一同统计,假设“t-o”的出现频率最高,则算法合并为“to-d-a-y”,同理可以继续合并“to-da-y”和“to-day”;在此处停止后,将过程中产生的字符串汇入字典,若字典已有则会略。记录的字符串为:“t@o@d@a@y”以及“to@da@day”,即每次合并都会记录,使用字典时,使用最长匹配。

获得字典之后,可以根据字典中包含的字符串对中英混合文本进行拆分,图3是一个实际拆分示例,其中的字符“@”主要用于还原拆分,表示为了还原原来的单词,应当与后面的字符串进行合并,这在出现连续英文单词时是必要的。在应用于端到端语音识别时,这种拆分将使用字符串对应的字典序号进行代替,然后可以作为端到端语音识别的神经网络的分类输出,即字典有多少条目,神经网络输出就有多少类别。其中,在本实施例中,标识符采用“@”,但需要注意的是,采用其他字符作为标识符都可以实现本实施的方法。

具体地,对于字符串“today天气真好”的拆分过程如下:1、首先,对英文分词,中文拆字,拆成:“today天气真好”;2、接着,对于英文单词today,查阅字典,发现最长前缀“to@”,故拆分为“to@day”;3、接着,对于剩余部分day,查阅字典,发现最长前缀“day”,完成拆分。

而对于todayiamhappy的拆分过程如下:

第一步:to@dayiamhappy(today最长匹配到to@,剩余day);

第二步:to@dayiamhappy(day最长匹配了);

第三步:to@dayiamhappy(i最长匹配了);

第四步:to@dayiamhappy(am最长匹配了);

第五步:to@dayiamha@ppy(happy最长匹配到ha@,剩余ppy);

第六步:to@dayiamha@ppy(ppy最长匹配了)。

在端到端语音识别训练时,首先通过字典,将音频对应的文本拆分为并转换为序号序列,然后送入系统中训练;在端到端语音识别解码时(即需要反序列化时),首先将音频送入识别系统,解码得到序号序列,然后将序号转换为字典中的字符串,并根据“@”标识符还原为单词,而由于中文字只有单个字符,则无需进一步处理。将英文字母按bpe编码算法进行合并,对于已拆分的字符串“to@dayiamha@ppy”,首先检测标志字符“@”,检测到“@”,则将前后字符串拼接在一起。合并过程如下:“to@dayiamha@ppy”→“todayiamha@ppy”→“todayiamhappy”。

本实施例还提供了一种基于bpe编码的序列化系统,包括:

序列拆分模块,用于获取中英混合的标注文本,采用基于bpe编码算法生成的字典将标注文本中的中文序列分为多个汉字,以及将标注文本中的英文序列拆分为多个字母串;

标注序列模块,用于将拆分获得的汉字和字母串作为标注序列,用于对端到端语音识别模型进行训练;

字母串中包含有标识符,根据标识符将字母串合并成英文单词。

进一步作为可选的实施方式,序列化系统还包括字典建立模块,字典建立模块包括:

单词拆分单元,用于从语料库中获取多个英文单词,将所有的英文单词拆分成不同组合的字符串碎片;

频率统计单元,用于根据bpe编码算分对字符串碎片进行统计,获得字符串碎片的出现频率;

单词拼组单元,用于根据出现频率将英文单词转换为若干个字符串碎片,将字符串碎片存入字典。

进一步作为可选的实施方式,序列化系统还包括反序列化模块,该反序列化模块用于:

获取音频信息,将输入训练好的端到端语音识别模型中,获得输出序列;

根据字典对输出序列进行反序列化,获得输出文本。

本实施例的一种基于bpe编码的序列化系统,可执行本发明方法实施例所提供的一种基于bpe编码的序列化方法,可执行方法实施例的任意组合实施步骤,具备该方法相应的功能和有益效果。

本实施例还提供了一种基于bpe编码的序列化系统,包括:

至少一个处理器;

至少一个存储器,用于存储至少一个程序;

当至少一个程序述至少一个处理器执行,使得至少一个处理器实现上述方法。

本实施例的一种基于bpe编码的序列化系统,可执行本发明方法实施例所提供的一种基于bpe编码的序列化方法,可执行方法实施例的任意组合实施步骤,具备该方法相应的功能和有益效果。

本实施例还提供了一种存储介质,其中存储有处理器可执行的指令,该处理器可执行的指令在由处理器执行时用于执行如上述方法。

本实施例的一种基于bpe编码的序列化系统,可执行本发明方法实施例所提供的一种基于bpe编码的序列化方法,可执行方法实施例的任意组合实施步骤,具备该方法相应的功能和有益效果。

如图4所示,本实施例还提供了一种端到端语音识别模型的训练方法,包括:

s201、获取训练样本,训练样本包括标注文本和语音音频;

s202、采用上述一种基于bpe编码的序列化方法对标注文本进行序列化,获得标注序列;

s203、根据标注序列和语音音频对神经网络进行训练后,获得端到端语音识别模型。

在训练时,由预先训练好的字典对标注文本进行序列化,获得带有标识符的标注序列,再由标注序列和对应的语音音频对网络模型进行训练,从而获得最终的端到端语音识别模型。端到端语音识别模型训练好后,可用于对应的语音识别中,如图5所示,将一段音频输入端到端语音识别模型后,基于预设的字典进行反序列化,从而获得最终的输出文本,根据该输出文本可获得控制机器的输入指令,实现语音控制机器。

本实施例还提供了一种端到端语音识别模型的训练系统,包括:

训练集获取模块,用于获取训练样本,训练样本包括标注文本和语音音频;

文本序列化模块,用于采用上述一种基于bpe编码的序列化方法对标注文本进行序列化,获得标注序列;

训练模块,用于根据标注序列和语音音频对神经网络进行训练后,获得端到端语音识别模型。

可以理解的是,上文中所公开方法中的全部或某些步骤、系统可以被实施为软件、固件、硬件及其适当的组合。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于ram、rom、eeprom、闪存或其他存储器技术、cd-rom、数字多功能盘(dvd)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。

上面结合附图对本发明实施例作了详细说明,但是本发明不限于上述实施例,在所述技术领域普通技术人员所具备的知识范围内,还可以在不脱离本发明宗旨的前提下作出各种变化。

起点商标作为专业知识产权交易平台,可以帮助大家解决很多问题,如果大家想要了解更多知产交易信息请点击 【在线咨询】或添加微信 【19522093243】与客服一对一沟通,为大家解决相关问题。

此文章来源于网络,如有侵权,请联系删除

tips