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

一种语音转文本的纠错方法、装置、设备及介质

文献发布时间:2023-06-19 18:37:28


一种语音转文本的纠错方法、装置、设备及介质

技术领域

本文件涉及互联网交互技术领域,尤其涉及一种语音转文本的纠错方法、装置、设备及介质。

背景技术

语音转文本是一种语音识别技术,可以将口头语言转换成书面语言,常应用于人机交互的领域。在人机交互场景中,机器人需要将用户输入的语音转换为文本后,才能基于人工智能技术识别并执行用户的意图。

目前语音转文本容易出现将单字符发音误转换输出为双字符或将双字符发音误转换为单字符的错误。比如,将“先”的单字符发音误转换为“西安”这两个字符;反之,将“西安”的双字符发音误转换为“先”这个单字符。该问题在其他语种也有体现。

以人机交互场景为例,机器人一旦基于语音转文本技术,转换出字符错误的文本,则很大可能无法理解用户的意图,最终导致人机交互的服务失败。当然,语音转文本的错误在其他行业的应用场景也会影响正常作业,为此,当前亟需针对语音转文本技术开发出一种能够智能化纠错的技术方案。

发明内容

本发明目的是提供一种语音转文本的纠错方法、装置、设备及介质,能够针对语音转文本所生成的文本进行自动化的字符纠错。

为了实现上述目的,本发明实施例是这样实现的:

第一方面,提供一种语音转文本的纠错方法,包括:

将待纠错文本输入至错误识别模型,以使所述错误识别模型对待纠错文本的字符进行语义和发音长度的特征编码,得到待纠错文本的第一特征序列,并基于所述待纠错文本的第一特征序列预测所述待纠错文本中字符的错误类型,得到所述待纠错文本中字符的错误类型;其中,所述待纠错文本是基于语音转文本所生成的,所述错误类型包括语音转文本将单字符发音误转换输出为双字符的第一错误类型或将双字符发音误转换输出为单字符的第二错误类型;

基于所述待纠错文本中字符的错误类型,对所述待纠错文本中的字符数进行修正,其中,所述待纠错文本经字符数修正后,原先属于第一错误类型的由同一单字符发音转换得到的双字符被替换为一个无语义字符,原先属于第二错误类型的由双字符发音误转换得到的单字符被替换为两个无语义字符;

基于所述待纠错文本中字符的错误类型和字符数修正前的所述待纠错文本的音素序列,生成所述字符数修正后的待纠错文本的音素序列;

将所述字符数修正后的待纠错文本和所述字符数修正后的待纠错文本的音素序列输入至文本纠错模型,以使文本纠错模型对所述字符数修正后的待纠错文本的字符和字符对应的音素进行特征编码,得到所述字符数修正后的待纠错文本的第二特征序列,并基于所述字符数修正后的待纠错文本的第二特征序列预测所述字符数修正后的待纠错文本正确的字符序列,得到所述待纠错文本对应的纠错后文本。

第二方面,提供一种语音转文本的纠错装置,包括:

错误预测模块,用于将待纠错文本输入至错误识别模型,以使所述错误识别模型对待纠错文本的字符进行语义和发音长度的特征编码,得到待纠错文本的第一特征序列,并基于所述待纠错文本的第一特征序列预测所述待纠错文本中字符的错误类型,得到所述待纠错文本中字符的错误类型;其中,所述待纠错文本是基于语音转文本所生成的,所述错误类型包括语音转文本将单字符发音误转换输出为双字符的第一错误类型或将双字符发音误转换输出为单字符的第二错误类型;

字符调整模块,用于基于所述待纠错文本中字符的错误类型,对所述待纠错文本中的字符数进行修正,其中,所述待纠错文本经字符数修正后,原先属于第一错误类型的由同一单字符发音转换得到的双字符被替换为一个无语义字符,原先属于第二错误类型的由双字符发音误转换得到的单字符被替换为两个无语义字符;

音素调整模块,用于基于所述待纠错文本中字符的错误类型和字符数修正前的所述待纠错文本的音素序列,生成所述字符数修正后的待纠错文本的音素序列;

文本纠错模块,用于将所述字符数修正后的待纠错文本和所述字符数修正后的待纠错文本的音素序列输入至文本纠错模型,以使文本纠错模型对所述字符数修正后的待纠错文本的字符和字符对应的音素进行特征编码,得到所述字符数修正后的待纠错文本的第二特征序列,并基于所述字符数修正后的待纠错文本的第二特征序列预测所述字符数修正后的待纠错文本正确的字符序列,得到所述待纠错文本对应的纠错后文本。

第三方面提供一种电子设备,该电子设备包括:处理器;以及被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行以下操作:

将待纠错文本输入至错误识别模型,以使所述错误识别模型对待纠错文本的字符进行语义和发音长度的特征编码,得到待纠错文本的第一特征序列,并基于所述待纠错文本的第一特征序列预测所述待纠错文本中字符的错误类型,得到所述待纠错文本中字符的错误类型;其中,所述待纠错文本是基于语音转文本所生成的,所述错误类型包括语音转文本将单字符发音误转换输出为双字符的第一错误类型或将双字符发音误转换输出为单字符的第二错误类型;

基于所述待纠错文本中字符的错误类型,对所述待纠错文本中的字符数进行修正,其中,所述待纠错文本经字符数修正后,原先属于第一错误类型的由同一单字符发音转换得到的双字符被替换为一个无语义字符,原先属于第二错误类型的由双字符发音误转换得到的单字符被替换为两个无语义字符;

基于所述待纠错文本中字符的错误类型和字符数修正前的所述待纠错文本的音素序列,生成所述字符数修正后的待纠错文本的音素序列;

将所述字符数修正后的待纠错文本和所述字符数修正后的待纠错文本的音素序列输入至文本纠错模型,以使文本纠错模型对所述字符数修正后的待纠错文本的字符和字符对应的音素进行特征编码,得到所述字符数修正后的待纠错文本的第二特征序列,并基于所述字符数修正后的待纠错文本的第二特征序列预测所述字符数修正后的待纠错文本正确的字符序列,得到所述待纠错文本对应的纠错后文本。

第四方面,提供一种计算机可读存储介质,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序当被包括多个应用程序的电子设备执行时,使得所述电子设备执行以下操作:

将待纠错文本输入至错误识别模型,以使所述错误识别模型对待纠错文本的字符进行语义和发音长度的特征编码,得到待纠错文本的第一特征序列,并基于所述待纠错文本的第一特征序列预测所述待纠错文本中字符的错误类型,得到所述待纠错文本中字符的错误类型;其中,所述待纠错文本是基于语音转文本所生成的,所述错误类型包括语音转文本将单字符发音误转换输出为双字符的第一错误类型或将双字符发音误转换输出为单字符的第二错误类型;

基于所述待纠错文本中字符的错误类型,对所述待纠错文本中的字符数进行修正,其中,所述待纠错文本经字符数修正后,原先属于第一错误类型的由同一单字符发音转换得到的双字符被替换为一个无语义字符,原先属于第二错误类型的由双字符发音误转换得到的单字符被替换为两个无语义字符;

基于所述待纠错文本中字符的错误类型和字符数修正前的所述待纠错文本的音素序列,生成所述字符数修正后的待纠错文本的音素序列;

将所述字符数修正后的待纠错文本和所述字符数修正后的待纠错文本的音素序列输入至文本纠错模型,以使文本纠错模型对所述字符数修正后的待纠错文本的字符和字符对应的音素进行特征编码,得到所述字符数修正后的待纠错文本的第二特征序列,并基于所述字符数修正后的待纠错文本的第二特征序列预测所述字符数修正后的待纠错文本正确的字符序列,得到所述待纠错文本对应的纠错后文本。

本申请针对语音转文本刻画将单字符发音误转换输出为双字符的第一错误类型,以及将双字符发音误转换输出为单字符的第二错误类型,并构建用于识别字符所属刻画的错误类型的错误识别模型。通过将待纠错文本输入至错误识别模型,即可由错误识别模型对待纠错文本的字符进行语义和发音长度的特征编码,并基于特征编码得到的第一特征序列预测待纠错文本中字符的错误类型。之后,基于待纠错文本中字符的错误类型,对待纠错文本中的字符数进行修正,以将原先属于第一错误类型的由同一单字符发音转换得到的双字符被替换为一个无语义字符,将原先属于第二错误类型的由双字符发音误转换得到的单字符被替换为两个无语义字符;另一方面,构建用于预测待纠错文本对应的纠错后文本的文本纠错模型,通过将字符数修正后的待纠错文本和所述字符数修正后的待纠错文本的音素序列输入至文本纠错模型,即可由文本纠错模型可以对字符数修正后的待纠错文本的字符和字符对应的音素进行特征编码,并基于特征编码得到的第二特征序列预测字符数修正后的待纠错文本正确的字符序列,从而得到待纠错文本对应的纠错后文本。本申请的方案整个过程可以通过机器执行来完成,实现了对语音转文本将单字符发音误转换为双字符,以及将双字符发音误转换为单字符的错误纠正。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明实施例中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供的语音转文本的纠错方法的流程示意图。

图2为本发明实施例提供的错误识别模型的结构示意图。

图3为本发明实施例提供的文本纠错模型的结构示意图。

图4为本发明实施例提供的语音转文本的纠错装置的结构示意图。

图5为本发明实施例提供的电子设备的结构示意图。

具体实施方式

为了使本技术领域的人员更好地理解本说明书中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本说明书保护的范围。

如前所述,目前语音转文本容易出现将单字符发音误转换输出为双字符或将双字符发音误转换为单字符的错误。比如,将“先”的单字符发音误转换为“西安”这两个字符;反之,将“西安”的双字符发音误转换为“先”这个单字符。语音转文本一旦出现错误会在很应用场景中,会影响正常生产作业。

而语音转文本作为一种自动化将口头语言转换成书面语言的技术,常用于机器作业的场景。显然,目前以人工方式对语音转文本进行纠错,在绝大部分场景中不具有实用性。比如,人机交互场景中,不可能安排技术人员对机器人理解用户意图的错误进行纠正。为此,本申请旨在提出一种能够机器执行的智能化对语音转文本进行纠错的技术方案。

一方面,本发明实施例提供一种语音转文本的纠错方法,图1是该纠错方法的流程示意图,包括以下步骤:

S102,将待纠错文本输入至错误识别模型,以使错误识别模型对待纠错文本的字符进行语义和发音长度的特征编码,得到待纠错文本的第一特征序列,并基于待纠错文本的第一特征序列预测待纠错文本中字符的错误类型,得到待纠错文本中字符的错误类型;其中,待纠错文本是基于语音转文本所生成的,错误类型包括语音转文本将单字符发音误转换输出为双字符的第一错误类型或将双字符发音误转换输出为单字符的第二错误类型。

这里以汉语为例,语音转文本将“先”的单字符发音误转换为“西安”这两个字符属于第一错误类型,将“西安”的双字符发音误转换为“先”这个单字符属于第二错误类型。

通过上述举例可以发现,属于第一错误类型和第二错误类型的字符,通常情况下与原先语音中在发音长度和词义上有区别。

比如,“西安”的发音长度高于“先”的发音长度,且“西安”与“先”在语义上完全不同,为此,本申请基于待纠错文本中字符的语义和发音长度的特征,来识别待纠错文本中字符的错误类型。

假设待纠错文本中的字符是“先”,但对应语音转文本中的发音长度是“西安”的发音长度,则表示字符“先”存在上述第二错误类型。同理,假设待纠错文本中的字符是“西安”,但对应语音转文本中的发音长度是“先”的发音长度,则表示字符“西安”存在上述第一错误类型。

鉴于此,可以基于上述错误识别原理,来训练构建一个可以识别文本中字符错误类型的错误识别模型。

这里,本申请使用预先准备的第一训练数据集,对错误识别模型进行有监督训练。该第一训练数据集中的每个训练数据包括有一个样本文本,且每个训练数据标注有对应样本文本中字符的错误类型。其中,第一训练数据集中的样本文本可以是收集到基于语音转文本生成的出现第一类错误类型和第二错误类型错误的历史文本,并人工或其他方式对历史文本中属于第一类错误类型的字符标注指示第一类错误类型的标签,以及对历史文本中属于第二类错误类型的字符标注指示第二类错误类型的标签。

通过已标注标签的第一训练数据集训练错误识别模型,该错误识别模型会尝试对第一训练数据集中各样本文本中的字符预测对应的错误类型,该预测结果即训练结果。在训练初期,错误识别模型尚未具备预测字符错误类型的能力,因此训练结果与标注结果存在误差,本申请可以基于损失函数(如交叉熵目标函数)来计算每次训练结果与标注结果之间的误差,并以降低该误差为目的,调整错误识别模型的参数,以使错误识别模型的预测结果不断接近标注结果,从而逐步学习得到预测字符错误类型的能力。

具体地,本申请的错误识别模型可以是基于语言模型实现分类功能的模型结果。这里参考图2所示,该错误识别模型的主要结构包括:第一语言子模型、语音活动检测子模型、第一编码器和分类器。

假设文本中的字符数为,W1、W2……Wn表示文本中的字符序列。第一语言子模型用于识别输入文本中每个字符W1、W2……Wn的语义,即F1、F2……Fn;语音活动检测子模型用于识别输入文本中每个字符W1、W2……Wn的发音长度,即T1、T2……Tn;第一编码器用于将第一语言子模型识别得到的输入文本中每个字符的语义F1、F2……Fn以及语音活动检测子模型识别得到的入文本中每个字符的发音长度T1、T2……Tn进行特征编码,得到输入文本的第一特征序列T1+F1、T2+F2……Tn+Fn;分类器用于基于所述第一编码器特征编码得到的第一特征序列T1+F1、T2+F2……Tn+Fn,预测输入文本中每个字符的错误类型。

应理解,第一语言子模型、语音活动检测子模型、第一编码器和分类器的种类并不唯一,这里本文不作具体限定。作为示例性介绍,在实际应用中,上述第一语言子模型可以采用bert模型;上述语音活动检测子模型可以设置有语音活动检测(Voice ActivityDetection,VAD)算法,基于语音活动检测确定字符的发音长度;上述第一编码器可以采用卷积神经网络结构,实现对字符的语义和发音长度二维特征的融合编码;上述分类器可以采用softmax分类器。

当然,在上述基础之上,文本转语音还可以进步包括语音转文本将单字符发音误转换输出为其他单字符的第三错误类型,比如,将“招”单字符发音误转换为“找”这个字符,即出现同音异义的错误。对应地,错误识别模型也可以识别字符是否出现第三错误类型的错误,也就训练错误识别模型所使用的第一训练数据中的训练样本存在第三类错误类型的错误,并使用标识第三类错误类型的标签来标注对应的字符。

S104,基于待纠错文本中字符的错误类型,对待纠错文本中的字符数进行修正,其中,待纠错文本经字符数修正后,原先属于第一错误类型的由同一单字符发音转换得到的双字符被替换为一个无语义字符,原先属于第二错误类型的由双字符发音误转换得到的单字符被替换为两个无语义字符。

应理解,本申请的目的是将待纠错文本恢复回字符数正确的文本,从而后续以字符为粒度,对待纠错文本中的每个字符进行纠正。对于第一错误类型和第二错误类型的错误,都可能使待纠错文本中的字符数与正确的字符数不匹配,为此,本步骤需要对待纠错文本中的字符数进行修正。也就是将由同一单字符发音转换得到的双字符修正回一个无语义字符,将由双字符发音误转换得到的单字符修正回两个无语义字符。其中,替换无语义字符是为了消除错误字符的语义特征,对于已经转换错误的字符,其字符的语义以与原先语义毫无关联,因此替换为无语义字符可以消除错误语义在后续的影响;同时,无语义字符也可以将转换错误的字符标记出来,对于后机器学习起到一定监督作用。此外,如果待纠错文本中存在属于第三错误类型的字符,则可以将第三错误类型的字符替换为等字符数量的无语义字符。

S106,基于待纠错文本中字符的错误类型和字符数修正前的待纠错文本的音素序列,生成字符数修正后的待纠错文本的音素序列。

这里以汉字字符为例,汉字字符的音素包括:声母、韵母和声调;

在字符数修正后的待纠错文本的音素序列中。

原先由双汉字字符替换为一个无语义字符的音素包括:原先双汉字字符中在前汉字字符的声母和在后汉字字符的韵母和声调;

原先由单汉字字符替换为两个无语义字符中的在先无语义字符的音素包括:原先单汉字字符的声母、表示未识别的韵母和表示未识别的声调;

原先由单汉字字符替换为两个无语义字符中的在后无语义字符的音素包括:表示未识别的声母、原先单汉字字符的韵母和原先单汉字字符的声调;

原先由单汉字字符替换为一个无语义字符的音素包括原先单汉字字符的声母、韵母和声调。

S108,将字符数修正后的待纠错文本和字符数修正后的待纠错文本的音素序列输入至文本纠错模型,以使文本纠错模型对字符数修正后的待纠错文本的字符和字符对应的音素进行特征编码,得到字符数修正后的待纠错文本的第二特征序列,并基于字符数修正后的待纠错文本的第二特征序列预测字符数修正后的待纠错文本正确的字符序列,得到待纠错文本对应的纠错后文本。

这里,本申请以字符数修正后的待纠错文本和字符数修正后的待纠错文本的音素序列作为特征,来训练构建一个可以预测文本中字符对应正确字符的文本纠错模型。

具体地,本申请的文本纠错模型基于第二训练数据集进行预训练,再基于第三训练数据集进行微调训练所得到的。

其中,第二训练数据集和第三训练数据集中的每个训练数据包括有样本文本和样本文本对应的音素序列,且每个训练数据标注有对应样本文本正确的字符序列。

针对第二训练数据集,每个训练数据中的样本文本是将已有正确文本中的部分字符替换为无语义字符后所得的。使用第二训练数据集对文本纠错模型进行有监督的训练,可以使文本纠错模型学习大致的通用场景的预测文本中字符对应正确字符的能力。

针对第三训练数据集,每个训练数据中的样本文本是基于具体应用场景的语音文本所生成,并经字符的错误类型进行字符数修正后所得到的。使用第二训练数据集对文本纠错模型进行有监督的训练,可以使文本纠错模型进一步更加细化地学习到具体应用场景的预测文本中字符对应正确字符的能力。

其中,文本纠错模型的预训练和微调训练的原理可以参考错误识别模型,这里不再具体赘述。

应理解,文本纠错模型输出的字符序列设置基于待纠错文本中的每个字符,预测出对应正确字符所组成的序列,因此字符序列即为纠错后文本。

具体地,本申请的文本纠错模型可以是基于语言模型实现分类功能的模型结果。这里参考图3所示,该错误识别模型的主要结构包括:第二编码器、第二语言子模型和第二分类器。

其中,第二编码器用于对输入文本的字符和字符对应的音素进行特征编码,得到输入文本的第二特征序列,第二语言子模型用于基于所述第二编码器特征编码得到的第二特征序列预测输入本文正确的字符序列。

具体地,本申请中,文纠错模型不仅需要对中文字符进行token化,还要对汉语拼音进行token化。因此需要该BERT类模型的词表中须增添中文拼音以及某些特殊的预设标记。添加所有的中文声母和韵母到词表,包括表示未知声母、韵母和声调的mask_sm、mask_ym、mask_sd,以及无声母的none_sm。

特别地,为了区分汉语拼音和英文单词字符的区别,本申请对拼音的声母、韵母和声调添加“PY-”前缀,如“bu3”的拼音序列表示为“PY-b、PY-u,PY-3”。此外,符合韵母如“xian”中“ian”表示一个韵母,这种处理可以让每个字符的音素仅表示为声母、韵母、声调三元组。

每个字符通过查阅词表(vocabulary)可以得到对应的[token_id,sm_id,ym_id,sd_id],第二编码器可以由嵌入层和线性变换层构成。嵌入层可以得到包含字符语义和语音的融合嵌入表示。具体的,如果模型输入的每个字符的嵌入表示的维度为embedding_size。线性变换层是一个形状为(4,embedding_size)的二维矩阵,通过线性变化得到一个长度为embedding_size的融合嵌入表示层(fusion embedding)。

第二语言子模型可以采用为transformer-encoder类模型,为通用的预训练模型结构,包含:BERT、roBERTa、Electra、MacBERT等多种模型。融合嵌入层输出的融合嵌入表示和第二语言子模型基于位置信息得到的位置嵌入表示相加,得到的嵌入表示作为第二语言子模型的输入。

这里,正确文本是“这是辆汽车”为例,被语音转文本转换为“这是李昂汽车“,经符数经修正后为“这是[MASK]汽车“,可以将“这是[MASK]汽车“和对应的音素序列“zhe4 shi4liang4 qi4 che1”输入至图3所示的文本纠错模型。先通过第二编码器,将每个字符和对应的音素,进行特征编码,得到第二特征序列C1、C2……C5;之后,第二特征序列C1、C2……C5经第二语言子模型,预测字符可能正确的各个字符的概率,并输出概率最高的一者作为正确字符,从而纠错回“这是辆汽车“的文本。

基于上述内容可知,本申请实施例的方法针对语音转文本刻画将单字符发音误转换输出为双字符的第一错误类型,以及将双字符发音误转换输出为单字符的第二错误类型,并构建用于识别字符所属刻画的错误类型的错误识别模型。通过将待纠错文本输入至错误识别模型,即可由错误识别模型对待纠错文本的字符进行语义和发音长度的特征编码,并基于特征编码得到的第一特征序列预测待纠错文本中字符的错误类型。之后,基于待纠错文本中字符的错误类型,对待纠错文本中的字符数进行修正,以将原先属于第一错误类型的由同一单字符发音转换得到的双字符被替换为一个无语义字符,将原先属于第二错误类型的由双字符发音误转换得到的单字符被替换为两个无语义字符;另一方面,构建用于预测待纠错文本对应的纠错后文本的文本纠错模型,通过将字符数修正后的待纠错文本和所述字符数修正后的待纠错文本的音素序列输入至文本纠错模型,即可由文本纠错模型可以对字符数修正后的待纠错文本的字符和字符对应的音素进行特征编码,并基于特征编码得到的第二特征序列预测字符数修正后的待纠错文本正确的字符序列,从而得到待纠错文本对应的纠错后文本。本申请的方案整个过程可以通过机器执行来完成,实现了对语音转文本将单字符发音误转换为双字符,以及将双字符发音误转换为单字符的错误纠正。

下面结合示例,对本申请实施例的方法进行介绍。

本申请针对语音转文本提出三种错误类型,包括:

1)同音异义:识别文本与正确文本读音相似或相近;

2)单字识别成双字:如识别“先”为“西安”;

3)双字识别成单字:如“西安”识别为“先”;

这里,将无需纠错及以上三类错误分别以“KEEP”、“REPLACE”、“INSERT”,“DELETE”四个标签用于表示。

假设正确的语音为:[您好我先去西安找朋友玩了],语音转换文本得到的文本是[您好我西安去先招朋友玩了];

将[您好我西安去先招朋友玩了]输入至上文所述的错误识别模型,逐个字符进行错误类型识别,即可得到[您好我西安去先招朋友玩了]对应的标签序列:[KEEP,KEEP,KEEP,DELETE,DELETE,KEEP,INSERT,REPALCE,KEEP,KEEP,KEEP,KEEP]。

根据上述标签序列,对[您好我西安去先招朋友玩了]进行字符修正,得到[“您”,“好”,“我”“[MASK]”“去”,“[MASK]”,“[MASK]”,“[MASK]”,“朋”,“友”,“玩”,“了”]。

之后,根据下述拼音音素的处理规则,构建[“您”,“好”,“我”“[MASK]”“去”,“[MASK]”,“[MASK]”,“[MASK]”,“朋”,“友”,“玩”,“了”]的拼音序列。

KEEP:保持该字符不变;并添加拼音序列;

REPLACE:用[MASK]代替该字符,并添加拼音序列;

INSERT:在该字符后插入一个新的字符位置,并将该字符和新字符均标注为[MASK],前一个字符的拼音序列为:声母+韵母MASK+声调MASK,后一个字符的拼音序列为:声母MASK+韵母+声调;

DELETE:将两个标注为DELETE的相邻字符表示为一个字符,并用[MASK]代替该字符,新字符的拼音序列为:第一个字符的声母,第二个字符的韵母和声调。

经过上述处理的拼音序列为:

[nin2,hao3,wo3,xian1,qv4,x+ym_mask+sd_mask,sm_mask+an1,zhao1,peng3,you3,wan3,le1]

之后,将[“您”,“好”,“我”“[MASK]”“去”,“[MASK]”,“[MASK]”,“[MASK]”,“朋”,“友”,“玩”,“了”]和[nin2,hao3,wo3,xian1,qv4,x+ym_mask+sd_mask,sm_mask+an1,zhao1,peng3,you3,wan3,le1]输入文本纠错模型,即可由文本纠错模型还原回正确的纠错文本[您好我先去西安找朋友玩了]。

与上述图1所示方法相对应地,本发明实施例还提供一种语音转文本的纠错装置。图4是本发明实施例语音转文本的纠错装置400的结构示意图,包括:

错误预测模块410,用于将待纠错文本输入至错误识别模型,以使所述错误识别模型对待纠错文本的字符进行语义和发音长度的特征编码,得到待纠错文本的第一特征序列,并基于所述待纠错文本的第一特征序列预测所述待纠错文本中字符的错误类型,得到所述待纠错文本中字符的错误类型;其中,所述待纠错文本是基于语音转文本所生成的,所述错误类型包括语音转文本将单字符发音误转换输出为双字符的第一错误类型或将双字符发音误转换输出为单字符的第二错误类型;

字符调整模块420,用于基于所述待纠错文本中字符的错误类型,对所述待纠错文本中的字符数进行修正,其中,所述待纠错文本经字符数修正后,原先属于第一错误类型的由同一单字符发音转换得到的双字符被替换为一个无语义字符,原先属于第二错误类型的由双字符发音误转换得到的单字符被替换为两个无语义字符;

音素调整模块430,用于基于所述待纠错文本中字符的错误类型和字符数修正前的所述待纠错文本的音素序列,生成所述字符数修正后的待纠错文本的音素序列;

文本纠错模块440,用于将所述字符数修正后的待纠错文本和所述字符数修正后的待纠错文本的音素序列输入至文本纠错模型,以使文本纠错模型对所述字符数修正后的待纠错文本的字符和字符对应的音素进行特征编码,得到所述字符数修正后的待纠错文本的第二特征序列,并基于所述字符数修正后的待纠错文本的第二特征序列预测所述字符数修正后的待纠错文本正确的字符序列,得到所述待纠错文本对应的纠错后文本。

本申请的装置针对语音转文本刻画将单字符发音误转换输出为双字符的第一错误类型,以及将双字符发音误转换输出为单字符的第二错误类型,并构建用于识别字符所属刻画的错误类型的错误识别模型。通过将待纠错文本输入至错误识别模型,即可由错误识别模型对待纠错文本的字符进行语义和发音长度的特征编码,并基于特征编码得到的第一特征序列预测待纠错文本中字符的错误类型。之后,基于待纠错文本中字符的错误类型,对待纠错文本中的字符数进行修正,以将原先属于第一错误类型的由同一单字符发音转换得到的双字符被替换为一个无语义字符,将原先属于第二错误类型的由双字符发音误转换得到的单字符被替换为两个无语义字符;另一方面,构建用于预测待纠错文本对应的纠错后文本的文本纠错模型,通过将字符数修正后的待纠错文本和所述字符数修正后的待纠错文本的音素序列输入至文本纠错模型,即可由文本纠错模型可以对字符数修正后的待纠错文本的字符和字符对应的音素进行特征编码,并基于特征编码得到的第二特征序列预测字符数修正后的待纠错文本正确的字符序列,从而得到待纠错文本对应的纠错后文本。本申请的方案整个过程可以通过机器执行来完成,实现了对语音转文本将单字符发音误转换为双字符,以及将双字符发音误转换为单字符的错误纠正。

可选地,所述错误类型还包括语音转文本将单字符发音误转换输出为其他单字符的第三错误类型,其中,所述待纠错文本经字符数修正后,原先属于所述第三错误类型由单字符发音误转换得到的其他单字符被替换为一个无语义字符。

可选地,所述待纠错文本包含有汉字字符,所述汉字字符的音素包括:声母、韵母和声调;所述字符数修正后的待纠错文本的音素序列中,原先由双汉字字符替换为一个无语义字符的音素包括:原先双汉字字符中在前汉字字符的声母和在后汉字字符的韵母和声调;原先由单汉字字符替换为两个无语义字符中的在先无语义字符的音素包括:原先单汉字字符的声母、表示未识别的韵母和表示未识别的声调,原先由单汉字字符替换为两个无语义字符中的在后无语义字符的音素包括:表示未识别的声母、原先单汉字字符的韵母和原先单汉字字符的声调;原先由单汉字字符替换为一个无语义字符的音素包括原先单汉字字符的声母、韵母和声调。

可选地,所述错误识别模型是基于第一训练数据集训练得到的,所述第一训练数据集中的每个训练数据包括有样本文本,且每个训练数据标注有对应样本文本中字符的错误类型。

可选地,所述文本纠错模型是基于第二训练数据集进行预训练,再基于第三训练数据集进行微调训练所得到的;其中,所述第二训练数据集和所述第三训练数据集中的每个训练数据包括有样本文本和样本文本对应的音素序列,且每个训练数据标注有对应样本文本正确的字符序列。

可选地,所述第二训练数据集每个训练数据中的样本文本是将已有正确文本中的部分字符替换为无语义字符后所得的,所述第三训练数据集每个训练数据中的样本文本是基于语音文本所生成,并经字符的错误类型进行字符数修正后所得到的。

可选地,所述错误识别模型包括:第一语言子模型、语音活动检测子模型、第一编码器和分类器,其中,所述第一语言子模型用于识别输入文本中每个字符的语义,所述语音活动检测子模型用于识别输入文本中每个字符的发音长度,所述第一编码器用于将所述第一语言子模型识别得到的输入文本中每个字符的语义以及所述语音活动检测子模型识别得到的入文本中每个字符的发音长度进行特征编码,得到输入文本的第一特征序列,所述分类器用于基于所述第一编码器特征编码得到的第一特征序列预测输入文本中每个字符的错误类型。

可选地,所述文本纠错模型包括:第二编码器、第二语言子模型,其中,所述第二编码器用于对输入文本的字符和字符对应的音素进行特征编码,得到输入文本的第二特征序列,所述第二语言子模型用于基于所述第二编码器特征编码得到的第二特征序列预测输入本文正确的字符序列。

显然,本发明实施例的纠错装置可以作为图1所示方法的执行主体,因此可以实现该方法在图1所示的步骤和相应的功能。由于原理相同,本文不再具体赘述。

图5是本说明书的一个实施例电子设备的结构示意图。请参考图5,在硬件层面,该电子设备包括处理器,可选地还包括内部总线、网络接口、存储器。其中,存储器可能包含内存,例如高速随机存取存储器(Random-Access Memory,RAM),也可能还包括非易失性存储器(non-volatile memory),例如至少1个磁盘存储器等。当然,该电子设备还可能包括其他业务所需要的硬件。

处理器、网络接口和存储器可以通过内部总线相互连接,该内部总线可以是ISA(Industry Standard Architecture,工业标准体系结构)总线、PCI(PeripheralComponent Interconnect,外设部件互连标准)总线或EISA(Extended Industry StandardArchitecture,扩展工业标准结构)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图5中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。

存储器,用于存放程序。具体地,程序可以包括程序代码,所述程序代码包括计算机操作指令。存储器可以包括内存和非易失性存储器,并向处理器提供指令和数据。

其中,处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,在逻辑层面上形成上述语音转文本的纠错装置。对应地,处理器,执行存储器所存放的程序,并具体用于执行以下操作:

将待纠错文本输入至错误识别模型,以使所述错误识别模型对待纠错文本的字符进行语义和发音长度的特征编码,得到待纠错文本的第一特征序列,并基于所述待纠错文本的第一特征序列预测所述待纠错文本中字符的错误类型,得到所述待纠错文本中字符的错误类型;其中,所述待纠错文本是基于语音转文本所生成的,所述错误类型包括语音转文本将单字符发音误转换输出为双字符的第一错误类型或将双字符发音误转换输出为单字符的第二错误类型;

基于所述待纠错文本中字符的错误类型,对所述待纠错文本中的字符数进行修正,其中,所述待纠错文本经字符数修正后,原先属于第一错误类型的由同一单字符发音转换得到的双字符被替换为一个无语义字符,原先属于第二错误类型的由双字符发音误转换得到的单字符被替换为两个无语义字符;

基于所述待纠错文本中字符的错误类型和字符数修正前的所述待纠错文本的音素序列,生成所述字符数修正后的待纠错文本的音素序列;

将所述字符数修正后的待纠错文本和所述字符数修正后的待纠错文本的音素序列输入至文本纠错模型,以使文本纠错模型对所述字符数修正后的待纠错文本的字符和字符对应的音素进行特征编码,得到所述字符数修正后的待纠错文本的第二特征序列,并基于所述字符数修正后的待纠错文本的第二特征序列预测所述字符数修正后的待纠错文本正确的字符序列,得到所述待纠错文本对应的纠错后文本。

上述如本说明书图1所示实施例揭示的方法可以应用于处理器中,由处理器实现。处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(NetworkProcessor,NP)等;还可以是数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。

应理解,本发明实施例的电子设备可以使业务处理装置实现对应于图1所示方法中的步骤和功能。由于原理相同,本文不再赘述。

当然,除了软件实现方式之外,本说明书的电子设备并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。

此外,本发明实施例还提出了一种计算机可读存储介质,该计算机可读存储介质存储一个或多个程序,该一个或多个程序包括指令。

其中,上述指令当被包括多个应用程序的便携式电子设备执行时,能够使该便携式电子设备执行图1所示方法的步骤,包括:

将待纠错文本输入至错误识别模型,以使所述错误识别模型对待纠错文本的字符进行语义和发音长度的特征编码,得到待纠错文本的第一特征序列,并基于所述待纠错文本的第一特征序列预测所述待纠错文本中字符的错误类型,得到所述待纠错文本中字符的错误类型;其中,所述待纠错文本是基于语音转文本所生成的,所述错误类型包括语音转文本将单字符发音误转换输出为双字符的第一错误类型或将双字符发音误转换输出为单字符的第二错误类型;

基于所述待纠错文本中字符的错误类型,对所述待纠错文本中的字符数进行修正,其中,所述待纠错文本经字符数修正后,原先属于第一错误类型的由同一单字符发音转换得到的双字符被替换为一个无语义字符,原先属于第二错误类型的由双字符发音误转换得到的单字符被替换为两个无语义字符;

基于所述待纠错文本中字符的错误类型和字符数修正前的所述待纠错文本的音素序列,生成所述字符数修正后的待纠错文本的音素序列;

将所述字符数修正后的待纠错文本和所述字符数修正后的待纠错文本的音素序列输入至文本纠错模型,以使文本纠错模型对所述字符数修正后的待纠错文本的字符和字符对应的音素进行特征编码,得到所述字符数修正后的待纠错文本的第二特征序列,并基于所述字符数修正后的待纠错文本的第二特征序列预测所述字符数修正后的待纠错文本正确的字符序列,得到所述待纠错文本对应的纠错后文本。

本领域技术人员应明白,本说明书的实施例可提供为方法、系统或计算机程序产品。因此,本说明书可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本说明书可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。

以上仅为本说明书的实施例而已,并不用于限制本说明书。对于本领域技术人员来说,本说明书可以有各种更改和变化。凡在本说明书的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本说明书的权利要求范围之内。此外,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本文件的保护范围。

技术分类

06120115632799