本申请涉及计算机技术领域,特别是涉及一种模型训练方法、装置、电子设备及存储介质。
背景技术:
随着人工智能的快速发展,网络模型的应用也越来越广泛。在进行翻译时,可以利用网络模型将源语言的源文本翻译为目标语言的目标文本。然而,网络模型在翻译时,可能存在过翻问题,使得翻译后的目标文本中错误的字符串反复出现,而目标文本的长度是有限制的,这样容易导致目标文本被错误的字符串填充而无法覆盖源文本中所有的字符,翻译准确度差。
例如,假设以英文语言为源语言的源文本为“a的远程控制,鼠标总有大概150px的偏移,操作非常困难”;
将上述源文本翻译为英文语言的目标文本,正确的翻译结果应该是“a'sremotecontrol,themousealwayshasadisplacementofabout150px,theoperationisverydifficult”;
而若存在过翻问题,则得到的翻译结果可能是”aremotecontrol,themousealwayshasabitofabitofabitofabitofabitofabitofabitofabitofabit”。
相关技术中,为了解决上述过翻问题,通常将源文本输入网络模型,获得网络模型翻译得到的多个候选文本,确定每一候选文本对源文本中各个字符的覆盖率,基于上述覆盖率为各个候选文本评分,将评分最高的候选文本作为最终的翻译结果。
上述方案中,由于网络模型本身存在缺陷,即使评分最高的候选结果中也可能存在过翻问题,从而导致最终得到的翻译结果的准确度低。
技术实现要素:
本申请实施例的目的在于提供一种模型训练方法、装置、电子设备及存储介质,以提高模型翻译的准确度。具体技术方案如下:
第一方面,本申请实施例提供了一种模型训练方法,所述方法包括:
获得第一语料对,其中,所述第一语料对包括:源语言的第一源文本,以及所述第一源文本对应的、目标语言的第一目标文本;
利用所述第一语料对训练样本构建模型,其中,所述样本构建模型用于:将所述目标语言的文本翻译为所述源语言的文本;
获得所述目标语言的第二目标文本,利用所述样本构建模型翻译所述第二目标文本,得到第二源文本;
利用第二语料对训练目标翻译模型,其中,所述第二语料对包括:所述第二源文本、第二目标文本,所述目标翻译模型用于:将所述源语言的文本翻译为所述目标语言的文本。
本申请的一个实施例中,所述利用第二语料对训练目标翻译模型,包括:
利用所述第一语料对、第二语料对训练所述目标翻译模型。
本申请的一个实施例中,所述获得第一语料对,包括:
获得包括所述第一源文本、第一目标文本的候选语料对;
对所述候选语料对进行清洗,得到第一语料对。
本申请的一个实施例中,所述对所述候选语料对进行清洗,得到第一语料对,包括:
识别所述候选语料对中存在乱码的乱码语料对,从所述候选语料对中去除所述乱码语料对,得到第一语料对;和/或
查找所述候选语料对中长度比值小于第一预设比值或大于第二预设比值的异常语料对,从所述候选语料对中去除所述异常语料对,得到第一语料对,其中,所述第一比值为:所述第一源文本的长度与所述第一目标文本的长度的比值,所述第二预设比值大于所述第一预设比值。
本申请的一个实施例中,所述获得所述目标语言的第二目标文本,包括:
获得所述目标语言的候选文本;
对所述候选文本进行清洗,得到第二目标文本。
本申请的一个实施例中,所述对所述候选文本进行清洗,得到第二目标文本,包括:
查找所述候选文本中长度处于预设长度范围的文本,作为第二目标文本;和/或
查找所述候选文本中不以预设的结尾标识符作为结尾的非完整文本,从所述候选文本中去除所述非完整文本,得到第二目标文本;和/或
识别各个候选文本的语义信息,根据所识别的语义信息确定所述候选文本中语义缺失的语义缺失文本,从所述候选文本中去除所述语义缺失文本,得到第二目标文本。
本申请的一个实施例中,在所述利用第二语料对训练目标翻译模型步骤之后,所述方法还包括:
获得所述源语言的测试文本;
将所述测试文本输入训练后的目标翻译模型,利用所述目标翻译模型对所述测试文本进行翻译,得到模型输出文本;
根据所述模型输出文本判断所述目标翻译模型的翻译结果是否准确,在所述目标翻译模型的翻译结果不准确的情况下,返回所述利用所述第一语料对训练样本构建模型的步骤。
本申请的一个实施例中,所述根据所述模型输出文本判断所述目标翻译模型的翻译结果是否准确,包括:
根据所述模型输出文本,计算所述目标翻译模型的准确度指标,其中,所述准确度指标包括:bleu指标、和/或困惑度;
利用所述准确度指标判断所述目标翻译模型的翻译结果是否准确。
第二方面,本申请实施例提供了一种模型训练装置,所述装置包括:
第一语料对获得模块,用于获得第一语料对,其中,所述第一语料对包括:源语言的第一源文本,以及所述第一源文本对应的、目标语言的第一目标文本;
第一模型训练模块,用于利用所述第一语料对训练样本构建模型,其中,所述样本构建模型用于:将所述目标语言的文本翻译为所述源语言的文本;
目标文本获得模块,用于获得所述目标语言的第二目标文本,利用所述样本构建模型翻译所述第二目标文本,得到第二源文本;
第二模型训练模块,用于利用第二语料对训练目标翻译模型,其中,所述第二语料对包括:所述第二源文本、第二目标文本,所述目标翻译模型用于:将所述源语言的文本翻译为所述目标语言的文本。
本申请的一个实施例中,所述第二模型训练模块,具体用于:
利用所述第一语料对、第二语料对训练所述目标翻译模型。
本申请的一个实施例中,所述第一语料对获得模块,包括:
候选语料对获得单元,用于获得包括所述第一源文本、第一目标文本的候选语料对;
第一语料对获得单元,用于对所述候选语料对进行清洗,得到第一语料对。
本申请的一个实施例中,所述第一语料对获得单元,具体用于:
识别所述候选语料对中存在乱码的乱码语料对,从所述候选语料对中去除所述乱码语料对,得到第一语料对;和/或
查找所述候选语料对中长度比值小于第一预设比值或大于第二预设比值的异常语料对,从所述候选语料对中去除所述异常语料对,得到第一语料对,其中,所述第一比值为:所述第一源文本的长度与所述第一目标文本的长度的比值,所述第二预设比值大于所述第一预设比值。
本申请的一个实施例中,所述目标文本获得模块,包括:
候选文本获得单元,用于获得所述目标语言的候选文本;
目标文本获得单元,用于对所述候选文本进行清洗,得到第二目标文本。
本申请的一个实施例中,所述目标文本获得单元,具体用于:
查找所述候选文本中长度处于预设长度范围的文本,作为第二目标文本;和/或
查找所述候选文本中不以预设的结尾标识符作为结尾的非完整文本,从所述候选文本中去除所述非完整文本,得到第二目标文本;和/或
识别各个候选文本的语义信息,根据所识别的语义信息确定所述候选文本中语义缺失的语义缺失文本,从所述候选文本中去除所述语义缺失文本,得到第二目标文本。
本申请的一个实施例中,所述装置还包括:
测试文本获得模块,用于在利用第二语料对训练目标翻译模型之后,获得所述源语言的测试文本;
输出文本获得模块,用于将所述测试文本输入训练后的目标翻译模型,利用所述目标翻译模型对所述测试文本进行翻译,得到模型输出文本;
第三模型训练模块,用于根据所述模型输出文本判断所述目标翻译模型的翻译结果是否准确,在所述目标翻译模型的翻译结果不准确的情况下,触发所述第一模型训练模块。
本申请的一个实施例中,所述第三模型训练模块,具体用于:
根据所述模型输出文本,计算所述目标翻译模型的准确度指标,其中,所述准确度指标包括:bleu指标、和/或困惑度;
利用所述准确度指标判断所述目标翻译模型的翻译结果是否准确,在所述目标翻译模型的翻译结果不准确的情况下,触发所述第一模型训练模块。
第三方面,本申请实施例提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现第一方面任一所述的方法步骤。
第四方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现第一方面任一所述的方法步骤。
本申请实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一所述的模型训练方法。
本申请实施例有益效果:
本申请实施例提供的模型训练方案中,可以获得第一语料对,其中,第一语料对包括:源语言的第一源文本,以及第一源文本对应的、目标语言的第一目标文本;利用第一语料对训练样本构建模型,其中,样本构建模型用于:将目标语言的文本翻译为源语言的文本;获得目标语言的第二目标文本,利用样本构建模型翻译第二目标文本,得到第二源文本;利用第二语料对训练目标翻译模型,其中,第二语料对包括:第二源文本、第二目标文本,目标翻译模型用于:将源语言的文本翻译为目标语言的文本。由于第二目标文本为单语言的语料,获得途径较广,因此便于获得大量的第二目标文本,然后再利用训练得到样本构建模型,得到第二目标文本对应的第二源文本,进而得到大量的、包括第二源文本和第二目标文本的第二语料对,然后以上述大量的第二语料对作为样本训练目标翻译模型,能够提高模型的训练效果。由此可见,应用本申请实施例提供的方案,可以减小训练后的模型出现误翻或过翻的概率,提高模型翻译的准确度。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的实施例。
图1为本申请实施例提供的一种模型训练方法的流程示意图;
图2为本申请实施例提供的另一种模型训练方法的流程示意图;
图3为本申请实施例提供的又一种模型训练方法的流程示意图;
图4为本申请实施例提供的一种模型训练装置的结构示意图;
图5为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员基于本申请所获得的所有其他实施例,都属于本申请保护的范围。
为了提高模型训练的准确度,本申请实施例提供了一种模型训练方法、装置、电子设备及存储介质,下面分别进行详细介绍。
参见图1,图1为本申请实施例提供的一种模型训练方法的流程示意图,该方法可以应用于台式计算机、笔记本电脑、平板电脑等电子设备中。上述模型训练方法可以包括如下步骤s101-s104:
s101,获得第一语料对。
其中,第一语料对包括:源语言的第一源文本,以及第一源文本对应的、目标语言的第一目标文本。
上述源语言可以是中文语言、英文语言、法语语言、西班牙语言、葡萄牙语言等。上述第一源文本为:采用上述源语言表达的文本。例如,假设上述源语言为中文语言,则第一源文本可以是“床前明月光”;假设上述源语言为法语语言,则第一源文本可以是“secoucher
上述目标语言为不同于源语言的语言,可以是中文语言、英文语言、日语语言、俄语语言、韩语语言等。上述第一目标文本为:采用上述目标语言表达第一源文本的文本。可以理解为,第一目标文本可以作为:将第一源文本翻译为目标语言得到的文本;同样地,第一源文本可以作为:将第一目标文本翻译为源语言得到的文本。例如,假设上述源文本为“你好吗”,目标语言为英文语言,则第一目标文本可以是“howdoyoudo”;假设上述源文本为“becarefulontheway”,目标语言为韩语语言,则第一目标文本可以是
本申请的一个实施例中,在获得第一语料对时,可以从开放的语料对平台爬取第一语料对。
除此之外,也可以从开放的文本平台获取第一源文本,将第一源文本翻译为目标语言的第一目标文本,从而得到第一语料对;
或者从开放的文本平台获取第一目标文本,将第一目标文本翻译为源语言的第一源文本,从而得到第一语料对。
另外,也可以从源语言-目标语言双译的小说、期刊、新闻等语料平台获取第一语料对。例如,假设源语言为英文语言,目标语言为中文语言,则可以从中英双译的小说中获得第一语料。
s102,利用第一语料对训练样本构建模型。
其中,样本构建模型用于:将目标语言的文本翻译为源语言的文本。上述样本构建模型是一种语言翻译模型,例如,可以是基于tensorflow框架的seq2seq翻译模型、基于apachemxnet框架的nmt翻译模型等。
具体的,在训练上述样本构建模型时,可以以第一语料对为样本,将第一语料对中的第一目标文本输入待训练的样本构建模型,得到输出结果,然后计算输出结果相对第一源文本的损失,利用该损失调整上述样本构建模型的参数,实现对模型的一次训练。
本申请的一个实施例中,可以在对上述样本构建模型进行训练的训练次数达到预设的次数阈值后,认为模型训练完成,得到训练后的样本构建模型。其中,上述次数阈值可以是100000次、200000次、5000000次等。
除此之外,也可以在上述样本构建模型的输出结果相对第一源文本的损失低于预设的损失阈值后,认为模型的准确度达到要求,从而认为模型训练完成,得到训练后的样本构建模型。
s103,获得目标语言的第二目标文本,利用样本构建模型翻译第二目标文本,得到第二源文本。
具体的,可以获得目标语言的文本,作为第二目标文本。由于第二目标文本为单语言的语料,相对于双语语料而言获得难度低,因此便于获得大量的第二目标文本。针对每一第二目标文本,可以利用上述s102中训练得到的样本构建模型对该第二目标文本进行翻译,得到上述模型输出的、该第二目标文本对应的源语言的文本,作为第二源文本。上述第二目标文本、以及样本构建模型输出的第二源文本,在后续可以作为样本,用于对待训练的目标翻译模型进行训练。
本申请的一个实施例中,在获得第二目标文本时,可以从目标语言的小说、期刊、杂志、新闻等开放的语料平台获取第二目标文本,本申请实施例并不对此进行限定。
s104,利用第二语料对训练目标翻译模型。
其中,第二语料对包括:第二源文本、第二目标文本。由于上述第二语料对中的第二源文本为:对第二目标文本进行翻译得到的文本,因此第二源文本和第二目标文本之间存在对应关系。
上述目标翻译模型用于:将源语言的文本翻译为目标语言的文本。上述目标翻译模型同样是一种语言翻译模型,例如,可以是基于tensorflow框架的seq2seq翻译模型、基于apachemxnet框架的nmt翻译模型等。
具体的,在训练上述目标翻译模型时,可以以第二语料对为样本,将第二语料对中的第二源文本输入待训练的目标翻译模型,得到输出结果,然后计算输出结果相对上述第二源文本对应的第二目标文本的损失,利用该损失调整上述目标翻译模型的参数,实现对模型的一次训练。
本申请的一个实施例中,可以在对上述目标翻译模型进行训练的训练次数达到预设的次数阈值后,认为模型训练完成,得到训练后的目标翻译模型。其中,上述次数阈值可以是50000次、100000次、2000000次等。
除此之外,也可以在上述目标翻译模型的输出结果相对第二目标文本的损失低于预设的损失阈值后,认为模型的准确度达到要求,从而认为模型训练完成,得到训练后的目标翻译模型。
本申请的一个实施例中,在训练目标翻译模型时,可以利用第一语料对、第二语料对训练目标翻译模型。
具体的,可以对第一语料对、第二语料对进行混合,得到混合语料对,混合语料对中包括:第一源文本和第一源文本对应的第一目标文本,第二源文本和第二源文本对应的第二目标文本。需要说明的是,混合语料对中第一源文本和第一目标文本之间的对应关系并不会发生改变,同样地,第二源文本和第二目标文本之间的对应关系也不会发生改变。
这样在训练目标翻译模型时,可以以混合语料对为样本,将混合语料对中的第一源文本、第二源文本输入待训练的目标翻译模型,得到输出结果,然后计算输出结果相对上述所输入的源文本对应的目标文本的损失,利用该损失调整上述目标翻译模型的参数,实现对模型的一次训练。
这样所采用的训练样本的数量更多,并且由于第一语料对为直接获得的、成对的语料,通常第一语料对的准确度更高,这样基于上述第一语料对、第二语料对训练得到的目标翻译模型的准确度也更高。
上述实施例提供的模型训练方案中,可以获得第一语料对,其中,第一语料对包括:源语言的第一源文本,以及第一源文本对应的、目标语言的第一目标文本;利用第一语料对训练样本构建模型,其中,样本构建模型用于:将目标语言的文本翻译为源语言的文本;获得目标语言的第二目标文本,利用样本构建模型翻译第二目标文本,得到第二源文本;利用第二语料对训练目标翻译模型,其中,第二语料对包括:第二源文本、第二目标文本,目标翻译模型用于:将源语言的文本翻译为目标语言的文本。由于第二目标文本为单语言的语料,获得途径较广,因此便于获得大量的第二目标文本,然后再利用训练得到样本构建模型,得到第二目标文本对应的第二源文本,进而得到大量的、包括第二源文本和第二目标文本的第二语料对,然后以上述大量的第二语料对作为样本训练目标翻译模型,能够提高模型的训练效果。由此可见,应用上述实施例提供的方案,可以减小训练后的模型出现误翻或过翻的概率,提高模型翻译的准确度。
本申请的一个实施例中,对于上述s101在获得第一语料对时,可以获得包括第一源文本、第一目标文本的候选语料对;对候选语料对进行清洗,得到第一语料对。
具体的,可以首先获得初始的、包括第一源文本和第一目标文本的语料对,作为候选语料对,然后对该候选语料对进行语料清洗,得到清洗后的候选语料对,作为最终用于进行模型训练的第一语料对。
本申请的一个实施例中,在清洗候选语料对时,可以采用以下清洗方式中的一种或多种,下面分别进行介绍:
方式一,识别候选语料对中存在乱码的乱码语料对,从候选语料对中去除乱码语料对,得到第一语料对。
其中,上述乱码可以是:预先设定的、影响文本表达的字符,如#、&、*、@等。
具体的,针对每一候选语料对,可以检测该候选语料对中的各个字符,判断该候选语料对中是否存在乱码,若为是,则将该语料对作为乱码语料对,最后从各个候选语料对中去除所识别到的乱码语料对。
方式二,查找候选语料对中长度比值小于第一预设比值或大于第二预设比值的异常语料对,从候选语料对中去除异常语料对,得到第一语料对。
其中,第一比值为:第一源文本的长度与第一目标文本的长度的比值,第二预设比值大于第一预设比值。第一预设比值可以是0.3、0.5、0.2等,第二预设比值可以是2、3、4等,本申请实施例并不对此进行限定。
每一文本的长度可以理解为:该文本的字符数量。
具体的,针对每一候选语料对,可以获得该语料对中第一源文本的字符数量,作为第一长度,并获得该语料对中第一目标文本的字符数量,作为第二长度,然后计算第一长度相对第二长度的比值;
可以判断上述比值是否小于第一预设比值,若为是,则说明第一源文本的长度远小于第一目标文本的长度,进而说明第一源文本所表达的内容与第一目标文本所表达的内容可能并不相同,二者并不完全对应,因此可以将该语料对作为异常语料对;
另外还可以判断上述比值是否大于第二预设比值,若为是,则说明第一源文本的长度远大于第一目标文本的长度,进而说明第一源文本所表达的内容与第一目标文本所表达的内容可能并不相同,二者并不完全对应,因此可以将该语料对作为异常语料对。
最后可以从候选语料对中去除所查找到的异常语料对,得到第一语料对。
除此之外,也可以计算第一目标文本的长度相对第一源文本的长度的比值,利用该比值判断候选语料对是否为异常语料对,判断方式与上述方式二类似,在此不做赘述。
本申请的一个实施例中,还可以查找候选语料对中长度差值大于预设差值的异常语料对,从候选语料对中去除异常语料对,得到第一语料对。其中,上述长度差值可以是:第一源文本的长度相对第一目标文本的长度的差值的绝对值,上述预设差值可以是5、8、10等,本申请实施例并不对此进行限定。
除上述清洗方式外,还可以从候选语料对中,查找第一源文本的长度处于第一预设长度范围之内、且第一目标文本的长度处于第二预设长度范围之内的语料对,作为第一语料对。
其中,上述第一预设长度范围可以是15~25、20~30、5~18等,第二预设长度范围可以是5~25、3~28、4~17等,上述第一预设长度范围与第二预设长度范围可以相等,也可以不相等,本申请实施例并不对此进行限定。具体可以根据待训练的模型的规模、应用场景等确定上述第一预设长度范围和第二预设长度范围。
上述方案中,可以将清洗后的语料对作为第一语料对,这样所得到的第一语料对的准确度更高,从而训练得到的样本构建模型的准确度也更高,进而可以提高后续训练得到的目标翻译模型的准确度。
本申请的一个实施例中,对于上述s103在获得第二目标文本时,可以获得目标语言的候选文本;对候选文本进行清洗,得到第二目标文本。
具体的,可以首先获得初始的、使用目标语言进行表达的文本,作为候选文本,然后对该候选文本对进行语料清洗,得到清洗后的候选文本,作为最终用于进行模型训练的第二目标文本。
本申请的一个实施例中,在清洗候选文本时,可以采用以下清洗方式中的一种或多种,下面分别进行介绍:
方式三,查找候选文本中长度处于预设长度范围的文本,作为第二目标文本。
其中,上述预设长度范围可以是10~25、2~30、3~18等,本申请实施例并不对此进行限定。
具体的,可以确定每一候选文本的字符数量,作为该候选文本的长度,判断该长度是否处于预设长度范围内,若为是,则将该候选文本作为第二目标文本,否则不将该候选文本作为第二目标文本。
方式四,查找候选文本中不以预设的结尾标识符作为结尾的非完整文本,从候选文本中去除非完整文本,得到第二目标文本。
其中,上述结尾标识符可以是“。”、“!”、“?”、“.”等。
具体的,完整的文本中,处于结尾处的字符通常为结尾标识符,若文本的结尾处的字符不为上述结尾标识符,则可以认为该文本不完整。鉴于此,针对每一候选文本,可以判断该候选文本的结尾字符是否为上述结尾标识符,若为否,则可以将该文本确定为非完整文本,然后在对候选文本进行清洗时,可以从候选文本中去除所查找到的非完整文本,从而得到第二目标文本。
方式五,识别各个候选文本的语义信息,根据所识别的语义信息确定候选文本中语义缺失的语义缺失文本,从候选文本中去除语义缺失文本,得到第二目标文本。
具体的,针对每一候选文本,可以获得该文本的语音信息,根据上述语义信息判断该候选文本的语义是否缺失,例如缺少主语、缺少宾语等,若为是,则可以将该文本确定为语义缺失文本。这样在进行语料清洗时,可以从候选文本中去除上述语义缺失文本,得到第二目标文本。
其中,可以利用语义提取算法,提取每一候选文本的语义信息,然后基于所提取的信息判断各个候选文本是否为语义缺失文本。
除上述清洗方式外,在清洗候选文本时,还可以识别候选文本中存在乱码的乱码文本,从候选文本中去除乱码文本,得到第二目标文本。
上述方案中,可以将清洗后的候选文本作为第二目标文本,这样所得到的第二目标文本的准确度更高,从而可以提高后续训练得到的目标翻译模型的准确度。
参见图2,图2为本申请实施例提供的另一种模型训练方法的流程示意图,如图2所示,在上述s104利用第二语料对训练目标翻译模型步骤之后,上述模型训练方法还可以包括如下步骤s105-s107:
s105,获得源语言的测试文本。
其中,上述测试文本为:采用源语言表达的文本。
本申请的一个实施例中,上述测试文本可以为从开放的语料平台中获得的源语言的文本,也可以是从第一语料对中的第一源文本中选择的文本,或者可以是从第二源文本中选择的文本等,本申请实施例并不对此进行限定。
s106,将测试文本输入训练后的目标翻译模型,利用目标翻译模型对测试文本进行翻译,得到模型输出文本。
具体的,可以将上述测试文本输入训练后的目标翻译模型,利用该模型将源语言的测试文本翻译为目标语言的文本,得到模型输出文本。
s107,根据模型输出文本判断目标翻译模型的翻译结果是否准确,在目标翻译模型的翻译结果不准确的情况下,返回s102利用第一语料对训练样本构建模型的步骤。
具体的,根据上述s106中模型输出的模型输出文本,可以判断该目标翻译模型对输入的文本进行翻译得到的翻译结果是否准确,在判断不准确的情况下,说明该模型的准确度较低,需要继续对该模型进行训练。这种情况下,为了提高模型的准确度,可以返回上述步骤s102,首先再次对样本构建模型进行训练,以提高样本构建模型的准确度,在样本构建模型的准确度提高的情况下,该样本构建模型对第二目标文本进行翻译得到的第二源文本的准确度也就更高,从而在后续利用包括第二目标文本、第二源文本的第二语料对继续训练目标翻译模型时,由于所使用的训练样本的准确度得到了提高,因此可以提高训练后的目标翻译模型的准确度。
本申请的一个实施例中,在上述步骤s107判断目标翻译模型的翻译结果是否准确时,可以根据模型输出文本,计算目标翻译模型的准确度指标;利用准确度指标判断目标翻译模型的翻译结果是否准确。
其中,上述准确度指标包括:bleu指标、和/或困惑度。
一种实现方式中,在上述准确度指标包括bleu指标的情况下,可以获得上述测试文本对应的翻译参考文本,该翻译参考文本为:采用目标语言表达的、测试文本对应的文本。这样在得到模型输出文本后,可以计算上述模型输出文本与翻译参考文本之间的相似度,基于该相似度确定bleu指标。当bleu指标达到预设的第一阈值时,可以认为目标翻译模型的翻译结果准确,否则,认为目标翻译模型的翻译结果不准确。
一种实现方式中,在上述准确度指标包括困惑度的情况下,可以获得目标翻译模型输出的各个模型输出文本,根据各个模型输出文本对应的置信度,计算困惑度。当上述困惑度低于预设的第二阈值时,可以认为目标翻译模型的翻译结果准确,否则,认为目标翻译模型的翻译结果不准确。
另一种实现方式中,可以计算上述bleu指标和困惑度的数学统计值,根据上述数学统计值判断目标翻译模型的翻译结果是否准确。
其中,上述数学统计值可以是比值、乘积、均值等。
例如,假设上述数学统计值为比值,则可以计算bleu指标与困惑度的比值,在上述比值达到预设的第三阈值时,可以认为目标翻译模型的翻译结果准确,否则,认为目标翻译模型的翻译结果不准确。
参见图3,图3为本申请实施例提供的又一种模型训练方法的流程示意图,该方法包括如下步骤s301-s308:
s301,获得包括第一源文本、第一目标文本的候选语料对,对候选语料对进行清洗,得到第一语料对。
s302,利用第一语料对训练样本构建模型。
s303,获得目标语言的候选文本,对候选文本进行清洗,得到第二目标文本。
s304,利用样本构建模型翻译第二目标文本,得到第二源文本。
s305,利用第一语料对、第二语料对训练目标翻译模型。
其中,第二语料对包括:第二源文本、第二目标文本。
s306,获得源语言的测试文本。
s307,将测试文本输入训练后的目标翻译模型,利用目标翻译模型对测试文本进行翻译,得到模型输出文本。
s308,根据模型输出文本判断目标翻译模型的翻译结果是否准确,在目标翻译模型的翻译结果不准确的情况下,返回s302利用第一语料对训练样本构建模型的步骤。
上述实施例提供的模型训练方案中,可以获得第一语料对,其中,第一语料对包括:源语言的第一源文本,以及第一源文本对应的、目标语言的第一目标文本;利用第一语料对训练样本构建模型,其中,样本构建模型用于:将目标语言的文本翻译为源语言的文本;获得目标语言的第二目标文本,利用样本构建模型翻译第二目标文本,得到第二源文本;利用第二语料对训练目标翻译模型,其中,第二语料对包括:第二源文本、第二目标文本,目标翻译模型用于:将源语言的文本翻译为目标语言的文本。由于第二目标文本为单语言的语料,获得途径较广,因此便于获得大量的第二目标文本,然后再利用训练得到样本构建模型,得到第二目标文本对应的第二源文本,进而得到大量的、包括第二源文本和第二目标文本的第二语料对,然后以上述大量的第二语料对作为样本训练目标翻译模型,能够提高模型的训练效果。由此可见,应用上述实施例提供的方案,可以减小训练后的模型出现误翻或过翻的概率,提高模型翻译的准确度。
参见图4,图4为本申请实施例提供的一种模型训练装置的结构示意图,所述装置包括:
第一语料对获得模块401,用于获得第一语料对,其中,所述第一语料对包括:源语言的第一源文本,以及所述第一源文本对应的、目标语言的第一目标文本;
第一模型训练模块402,用于利用所述第一语料对训练样本构建模型,其中,所述样本构建模型用于:将所述目标语言的文本翻译为所述源语言的文本;
目标文本获得模块403,用于获得所述目标语言的第二目标文本,利用所述样本构建模型翻译所述第二目标文本,得到第二源文本;
第二模型训练模块404,用于利用第二语料对训练目标翻译模型,其中,所述第二语料对包括:所述第二源文本、第二目标文本,所述目标翻译模型用于:将所述源语言的文本翻译为所述目标语言的文本。
本申请的一个实施例中,所述第二模型训练模块404,具体用于:
利用所述第一语料对、第二语料对训练所述目标翻译模型。
本申请的一个实施例中,所述第一语料对获得模块401,包括:
候选语料对获得单元,用于获得包括所述第一源文本、第一目标文本的候选语料对;
第一语料对获得单元,用于对所述候选语料对进行清洗,得到第一语料对。
本申请的一个实施例中,所述第一语料对获得单元,具体用于:
识别所述候选语料对中存在乱码的乱码语料对,从所述候选语料对中去除所述乱码语料对,得到第一语料对;和/或
查找所述候选语料对中长度比值小于第一预设比值或大于第二预设比值的异常语料对,从所述候选语料对中去除所述异常语料对,得到第一语料对,其中,所述第一比值为:所述第一源文本的长度与所述第一目标文本的长度的比值,所述第二预设比值大于所述第一预设比值。
本申请的一个实施例中,所述目标文本获得模块403,包括:
候选文本获得单元,用于获得所述目标语言的候选文本;
目标文本获得单元,用于对所述候选文本进行清洗,得到第二目标文本。
本申请的一个实施例中,所述目标文本获得单元,具体用于:
查找所述候选文本中长度处于预设长度范围的文本,作为第二目标文本;和/或
查找所述候选文本中不以预设的结尾标识符作为结尾的非完整文本,从所述候选文本中去除所述非完整文本,得到第二目标文本;和/或
识别各个候选文本的语义信息,根据所识别的语义信息确定所述候选文本中语义缺失的语义缺失文本,从所述候选文本中去除所述语义缺失文本,得到第二目标文本。
本申请的一个实施例中,所述装置还包括:
测试文本获得模块,用于在利用第二语料对训练目标翻译模型之后,获得所述源语言的测试文本;
输出文本获得模块,用于将所述测试文本输入训练后的目标翻译模型,利用所述目标翻译模型对所述测试文本进行翻译,得到模型输出文本;
第三模型训练模块,用于根据所述模型输出文本判断所述目标翻译模型的翻译结果是否准确,在所述目标翻译模型的翻译结果不准确的情况下,触发所述第一模型训练模块。
本申请的一个实施例中,所述第三模型训练模块,具体用于:
根据所述模型输出文本,计算所述目标翻译模型的准确度指标,其中,所述准确度指标包括:bleu指标、和/或困惑度;
利用所述准确度指标判断所述目标翻译模型的翻译结果是否准确,在所述目标翻译模型的翻译结果不准确的情况下,触发所述第一模型训练模块。
上述实施例提供的模型训练方案中,可以获得第一语料对,其中,第一语料对包括:源语言的第一源文本,以及第一源文本对应的、目标语言的第一目标文本;利用第一语料对训练样本构建模型,其中,样本构建模型用于:将目标语言的文本翻译为源语言的文本;获得目标语言的第二目标文本,利用样本构建模型翻译第二目标文本,得到第二源文本;利用第二语料对训练目标翻译模型,其中,第二语料对包括:第二源文本、第二目标文本,目标翻译模型用于:将源语言的文本翻译为目标语言的文本。由于第二目标文本为单语言的语料,获得途径较广,因此便于获得大量的第二目标文本,然后再利用训练得到样本构建模型,得到第二目标文本对应的第二源文本,进而得到大量的、包括第二源文本和第二目标文本的第二语料对,然后以上述大量的第二语料对作为样本训练目标翻译模型,能够提高模型的训练效果。由此可见,应用上述实施例提供的方案,可以减小训练后的模型出现误翻或过翻的概率,提高模型翻译的准确度。
本申请实施例还提供了一种电子设备,如图5所示,包括处理器501、通信接口502、存储器503和通信总线504,其中,处理器501,通信接口502,存储器503通过通信总线504完成相互间的通信,
存储器503,用于存放计算机程序;
处理器501,用于执行存储器503上所存放的程序时,实现上述模型训练的方法步骤。
上述电子设备提到的通信总线可以是外设部件互连标准(peripheralcomponentinterconnect,pci)总线或扩展工业标准结构(extendedindustrystandardarchitecture,eisa)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(randomaccessmemory,ram),也可以包括非易失性存储器(non-volatilememory,nvm),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(centralprocessingunit,cpu)、网络处理器(networkprocessor,np)等;还可以是数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现场可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本申请提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一模型训练方法的步骤。
在本申请提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一模型训练方法。
上述实施例提供的模型训练方案中,可以获得第一语料对,其中,第一语料对包括:源语言的第一源文本,以及第一源文本对应的、目标语言的第一目标文本;利用第一语料对训练样本构建模型,其中,样本构建模型用于:将目标语言的文本翻译为源语言的文本;获得目标语言的第二目标文本,利用样本构建模型翻译第二目标文本,得到第二源文本;利用第二语料对训练目标翻译模型,其中,第二语料对包括:第二源文本、第二目标文本,目标翻译模型用于:将源语言的文本翻译为目标语言的文本。由于第二目标文本为单语言的语料,获得途径较广,因此便于获得大量的第二目标文本,然后再利用训练得到样本构建模型,得到第二目标文本对应的第二源文本,进而得到大量的、包括第二源文本和第二目标文本的第二语料对,然后以上述大量的第二语料对作为样本训练目标翻译模型,能够提高模型的训练效果。由此可见,应用上述实施例提供的方案,可以减小训练后的模型出现误翻或过翻的概率,提高模型翻译的准确度。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘solidstatedisk(ssd))等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例、电子设备实施例、计算机可读存储介质实施例、计算机程序产品实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本申请的较佳实施例,并非用于限定本申请的保护范围。凡在本申请的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本申请的保护范围内。
1.一种模型训练方法,其特征在于,所述方法包括:
获得第一语料对,其中,所述第一语料对包括:源语言的第一源文本,以及所述第一源文本对应的、目标语言的第一目标文本;
利用所述第一语料对训练样本构建模型,其中,所述样本构建模型用于:将所述目标语言的文本翻译为所述源语言的文本;
获得所述目标语言的第二目标文本,利用所述样本构建模型翻译所述第二目标文本,得到第二源文本;
利用第二语料对训练目标翻译模型,其中,所述第二语料对包括:所述第二源文本、第二目标文本,所述目标翻译模型用于:将所述源语言的文本翻译为所述目标语言的文本。
2.根据权利要求1所述的方法,其特征在于,所述利用第二语料对训练目标翻译模型,包括:
利用所述第一语料对、第二语料对训练所述目标翻译模型。
3.根据权利要求1所述的方法,其特征在于,所述获得第一语料对,包括:
获得包括所述第一源文本、第一目标文本的候选语料对;
对所述候选语料对进行清洗,得到第一语料对。
4.根据权利要求3所述的方法,其特征在于,所述对所述候选语料对进行清洗,得到第一语料对,包括:
识别所述候选语料对中存在乱码的乱码语料对,从所述候选语料对中去除所述乱码语料对,得到第一语料对;和/或
查找所述候选语料对中长度比值小于第一预设比值或大于第二预设比值的异常语料对,从所述候选语料对中去除所述异常语料对,得到第一语料对,其中,所述第一比值为:所述第一源文本的长度与所述第一目标文本的长度的比值,所述第二预设比值大于所述第一预设比值。
5.根据权利要求1所述的方法,其特征在于,所述获得所述目标语言的第二目标文本,包括:
获得所述目标语言的候选文本;
对所述候选文本进行清洗,得到第二目标文本。
6.根据权利要求5所述的方法,其特征在于,所述对所述候选文本进行清洗,得到第二目标文本,包括:
查找所述候选文本中长度处于预设长度范围的文本,作为第二目标文本;和/或
查找所述候选文本中不以预设的结尾标识符作为结尾的非完整文本,从所述候选文本中去除所述非完整文本,得到第二目标文本;和/或
识别各个候选文本的语义信息,根据所识别的语义信息确定所述候选文本中语义缺失的语义缺失文本,从所述候选文本中去除所述语义缺失文本,得到第二目标文本。
7.根据权利要求1-6中任一项所述的方法,其特征在于,在所述利用第二语料对训练目标翻译模型步骤之后,所述方法还包括:
获得所述源语言的测试文本;
将所述测试文本输入训练后的目标翻译模型,利用所述目标翻译模型对所述测试文本进行翻译,得到模型输出文本;
根据所述模型输出文本判断所述目标翻译模型的翻译结果是否准确,在所述目标翻译模型的翻译结果不准确的情况下,返回所述利用所述第一语料对训练样本构建模型的步骤。
8.根据权利要求7所述的方法,其特征在于,所述根据所述模型输出文本判断所述目标翻译模型的翻译结果是否准确,包括:
根据所述模型输出文本,计算所述目标翻译模型的准确度指标,其中,所述准确度指标包括:bleu指标、和/或困惑度;
利用所述准确度指标判断所述目标翻译模型的翻译结果是否准确。
9.一种模型训练装置,其特征在于,所述装置包括:
第一语料对获得模块,用于获得第一语料对,其中,所述第一语料对包括:源语言的第一源文本,以及所述第一源文本对应的、目标语言的第一目标文本;
第一模型训练模块,用于利用所述第一语料对训练样本构建模型,其中,所述样本构建模型用于:将所述目标语言的文本翻译为所述源语言的文本;
目标文本获得模块,用于获得所述目标语言的第二目标文本,利用所述样本构建模型翻译所述第二目标文本,得到第二源文本;
第二模型训练模块,用于利用第二语料对训练目标翻译模型,其中,所述第二语料对包括:所述第二源文本、第二目标文本,所述目标翻译模型用于:将所述源语言的文本翻译为所述目标语言的文本。
10.根据权利要求9所述的装置,其特征在于,所述第二模型训练模块,具体用于:
利用所述第一语料对、第二语料对训练所述目标翻译模型。
11.根据权利要求9所述的装置,其特征在于,所述第一语料对获得模块,包括:
候选语料对获得单元,用于获得包括所述第一源文本、第一目标文本的候选语料对;
第一语料对获得单元,用于对所述候选语料对进行清洗,得到第一语料对。
12.根据权利要求11所述的装置,其特征在于,所述第一语料对获得单元,具体用于:
识别所述候选语料对中存在乱码的乱码语料对,从所述候选语料对中去除所述乱码语料对,得到第一语料对;和/或
查找所述候选语料对中长度比值小于第一预设比值或大于第二预设比值的异常语料对,从所述候选语料对中去除所述异常语料对,得到第一语料对,其中,所述第一比值为:所述第一源文本的长度与所述第一目标文本的长度的比值,所述第二预设比值大于所述第一预设比值。
13.根据权利要求9所述的装置,其特征在于,所述目标文本获得模块,包括:
候选文本获得单元,用于获得所述目标语言的候选文本;
目标文本获得单元,用于对所述候选文本进行清洗,得到第二目标文本。
14.根据权利要求13所述的装置,其特征在于,所述目标文本获得单元,具体用于:
查找所述候选文本中长度处于预设长度范围的文本,作为第二目标文本;和/或
查找所述候选文本中不以预设的结尾标识符作为结尾的非完整文本,从所述候选文本中去除所述非完整文本,得到第二目标文本;和/或
识别各个候选文本的语义信息,根据所识别的语义信息确定所述候选文本中语义缺失的语义缺失文本,从所述候选文本中去除所述语义缺失文本,得到第二目标文本。
15.根据权利要求9-14中任一项所述的装置,其特征在于,所述装置还包括:
测试文本获得模块,用于在利用第二语料对训练目标翻译模型之后,获得所述源语言的测试文本;
输出文本获得模块,用于将所述测试文本输入训练后的目标翻译模型,利用所述目标翻译模型对所述测试文本进行翻译,得到模型输出文本;
第三模型训练模块,用于根据所述模型输出文本判断所述目标翻译模型的翻译结果是否准确,在所述目标翻译模型的翻译结果不准确的情况下,触发所述第一模型训练模块。
16.根据权利要求15所述的装置,其特征在于,所述第三模型训练模块,具体用于:
根据所述模型输出文本,计算所述目标翻译模型的准确度指标,其中,所述准确度指标包括:bleu指标、和/或困惑度;
利用所述准确度指标判断所述目标翻译模型的翻译结果是否准确,在所述目标翻译模型的翻译结果不准确的情况下,触发所述第一模型训练模块。
17.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求1-8任一所述的方法步骤。
18.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-8任一所述的方法步骤。
技术总结