一种基于对比学习的多模态机器翻译方法和系统转让专利

申请号 : CN202211629848.1

文献号 : CN115618891B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 荣辉桂张斌

申请人 : 湖南大学

摘要 :

本发明提供了一种基于对比学习的多模态机器翻译方法和系统。所述方法包括以下步骤:获取待翻译的N组资源文件,每组资源文件包括一个视频单元及与所述视频单元对应的第一语言文本单元,N个所述第一语言文本单元组成待翻译的第一语言文本,N为大于等于1的整数;基于每组资源文件中的视频单元和第一语言文本单元,利用翻译模型对所述第一语言文本进行翻译,得到第二语言的翻译文本,所述翻译模型是至少基于VATEX数据集和神经网络模型训练得到。本发明使用的翻译模型基于VATEX数据集和神经网络模型训练得到,能够解决句子整体上的歧义,具有翻译质量好的优点。

权利要求 :

1.一种基于对比学习的多模态机器翻译方法,其特征在于,所述方法包括以下步骤:获取待翻译的N组资源文件,每组资源文件包括一个视频单元及与所述视频单元对应的第一语言文本单元,N个所述第一语言文本单元组成待翻译的第一语言文本,N为大于等于1的整数;

基于每组资源文件中的视频单元和第一语言文本单元,利用翻译模型对所述第一语言文本进行翻译,得到第二语言的翻译文本,所述翻译模型是至少基于VATEX数据集和神经网络模型训练得到,其中,所述翻译模型的训练方法包括:步骤(1)获取VATEX数据集,所述VATEX数据集包括训练集、测试集和验证集,所述训练集包括多个数据包,每个数据包均包括一个视频片段、与所述视频片段对应的多个中文描述、及与所述视频片段对应的多个英文描述;

步骤(2)确定待翻译的多个数据组,每个数据组由每个数据包中的视频片段和多个中文描述组成或者由每个数据包中的视频片段和多个英文描述组成,包括同一视频片段的数据组和数据包为一一对应关系;

步骤(3)基于每个所述数据组中的多个中文描述或者多个英文描述,获取与每个所述数据组一一对应的样本对,每个样本对包括一个正样本和一个负样本,所述正样本为多个所述数据组中的一个数据组,所述负样本为多个所述数据组中的一个数据组;

步骤(4)以每个数据包及与该数据包对应的样本对为输入数据,对神经网络模型进行多轮迭代训练得到训练好的所述神经网络模型,且每轮迭代训练时同一数据包对应的样本对重新获取,其中,神经网络模型训练过程为:步骤(a)对神经网络模型的超参数进行设置,获取初始化的神经网络模型,初始化的所述神经网络模型的所有权重数采用标准的初始化值;

步骤(b)基于所述输入数据,计算得到每个数据包的损失值集,所述损失值集包括多个损失值,所述损失值的数量与该数据包中的中文描述数量或者英文描述数量相同,所述损失值为神经网络预测值与真实值之间的损失值;

步骤(c)基于全部数据包对应的损失值集,利用反向传播算法对所述神经网络模型的所有权重参数进行更新和优化得到新的神经网络模型;

步骤(d)重复迭代执行步骤(b)和步骤(c)直至满足预设条件,得到训练好的所述神经网络模型。

2.根据权利要求1所述的基于对比学习的多模态机器翻译方法,其特征在于,所述步骤(3)包括:将全部所述数据组输入到负样本生成器中;

分别计算每个数据组的文本与全部数据组中任一数据组的文本之间的文本相似度和语义相似度得到多个文本相似度数据和多个语义相似度数据,所述文本为多个中文描述或者多个英文描述;

基于所述每个数据组的所述多个文本相似度数据和所述多个语义相似度数据,计算得到所述每个数据组对应的多对样本系数,每对样本系数包括一个正样本系数和一个负样本系数;每对样本系数基于该数据组与同一个数据组之间的文本相似度数据和语义相似度数据计算得到;

基于所述每个数据组对应的全部正样本系数,生成所述每个数据组的正样本池,所述正样本池包括M个正样本,每个正样本对应一个数据组,M为大于4且小于8的整数;

基于所述每个数据组对应的全部负样本系数,生成所述每个数据组的负样本池,所述负样本池包括M个负样本,每个负样本对应一个数据组;

基于相同的预设规则,分别从每个数据组对应的正样本池中获取一个正样本、负样本池中获取一个负样本,以组成每个数据组的样本对。

3.根据权利要求2所述的基于对比学习的多模态机器翻译方法,其特征在于,所述基于所述每个数据组对应的全部正样本系数,生成所述每个数据组的正本样池包括:对每个数据组对应的全部正样本系数进行排序;

确定对应所述每个数据组中数值最大的前M个正样本系数;

获取每个数据组对应的第一目标数据组集,所述第一目标数据组集由与所述前M个正样本系数对应的M个数据组组成;

以所述第一目标数据组集中的数据组为正样本,生成每个数据组的正样本池,所述正样本池包括M个正样本;

所述基于所述每个数据组对应的全部负样本系数,生成所述每个数据组的负本样池包括:对所述每个数据组对应的全部负样本系数进行排序;

确定对应所述每个数据组中数值最大的前M个负样本系数;

获取每个数据组对应的第二目标数据组集,所述第二目标数据组集由与所述前M个负样本系数对应的M个数据组组成;

以所述第二目标数据组集中的数据组为负样本,生成每个数据组的负样本池,所述负样本池包括M个负样本。

4.根据权利要求2所述的基于对比学习的多模态机器翻译方法,其特征在于,所述预设规则为随机选择的规则,且随机选择的机率与各个正样本在所述正样本池中的权重值和各个负样本在所述负样本池中的权重值的大小正相关。

5.根据权利要求1所述的基于对比学习的多模态机器翻译方法,其特征在于,所述步骤(b)中损失值的计算公式如下所示:Loss=Lce+γ|s|(Lcinner+Lcouter)

其中,Loss为神经网络预测值与真实值之间的损失值;

Lce为神经网络预测值与真实值之间的交叉熵;

Lcinner为相同模态之间的损失函数;

Lcouter为不同模态之间的损失函数;

γ用于平衡两个损失函数;

|S|为句子的平均长度。

6.根据权利要求1所述的基于对比学习的多模态机器翻译方法,其特征在于,所述步骤(d)中预设条件为利用所述验证集对新的所述神经网络模型进行验证时准确率不再上升。

7.根据权利要求6所述的基于对比学习的多模态机器翻译方法,其特征在于,所述步骤(c)后还包括步骤(e):输入所述验证集至新的所述神经网络模型进行测试,并计算评测指标BLEU‑4值;

所述步骤(d)重复迭代执行步骤(b)、步骤(c)和步骤(e)直至获取到最大的BLEU‑4值,最大的BLEU‑4值对应的新的神经网络模型为训练好的所述神经网络模型。

8.一种基于对比学习的多模态机器翻译系统,其特征在于,所述翻译系统包括:获取模块,用于获取待翻译的N组资源文件,每组资源文件包括一个视频单元及与所述视频单元对应的第一语言文本单元,N个所述第一语言文本单元组成待翻译的第一语言文本,N为大于等于1的整数;

翻译模块,用于基于每组资源文件中的视频单元和第一语言文本单元,利用翻译模型对所述第一语言文本进行翻译,得到第二语言的翻译文本,所述翻译模型是至少基于VATEX数据集和神经网络模型训练得到;

训练模块,用于对所述翻译模型进行训练,所述训练模块包括:

数据集获取单元,用于获取VATEX数据集,所述VATEX数据集包括训练集、测试集和验证集,所述训练集包括多个数据包,每个数据包均包括一个视频片段、与所述视频片段对应的多个中文描述、及与所述视频片段对应的多个英文描述;

确定单元,用于确定待翻译的多个数据组,每个数据组由每个数据包中的视频片段和多个中文描述组成或者由每个数据包中的视频片段和多个英文描述组成,包括同一视频片段的数据组和数据包为一一对应关系;

样本对获取单元,用于基于每个所述数据组中的多个中文描述或者多个英文描述,获取与每个所述数据组一一对应的样本对,每个样本对包括一个正样本和一个负样本,所述正样本为多个所述数据组中的一个数据组,所述负样本为多个所述数据组中的一个数据组;

训练单元,用于以每个数据包及与该数据包对应的样本对为输入数据,对神经网络模型进行多轮迭代训练得到训练好的所述神经网络模型,且每轮迭代训练时同一数据包对应的样本对重新获取。

说明书 :

一种基于对比学习的多模态机器翻译方法和系统

技术领域

[0001] 本公开涉及人工智能技术领域,尤其涉及一种基于对比学习的多模态机器翻译方法和系统。

背景技术

[0002] 多模态机器翻译(Multimodal Machine Translation),可简称为MMT,它是计算机自然语言处理领域一个热门研究方向,是通过计算机技术提高翻译质量的技术。它给定一种语言的文本,和另外一种或多种信号输入(主要包括但不限于声音、图像和视频)作为辅助,翻译为目标语言文本。该技术在文本纠错和消除文本歧义等方面,起到了重要的作用。
[0003] 多模态机器翻译聚焦于从其它模态中提取辅助信息,这些信息有助于文本纠错和消除句子歧义。根据数据集,多模态机器翻译可以分为基于听觉和视觉两种。视频作为最丰富的信息承载媒介,可以传达出的信息量远远超过声音、图像等单一模态。视频引导的机器翻译通过从视频中提取特征来辅助翻译,目前主流的方案可以分为两个阶段:在第一阶段,主要是针对文本和视频分别建立相应的神经网络模型来提取它们特征;第二阶段,通过神经网络模型对齐文本和视频特征,最后根据这两种模态聚合的特征输出目标文本。
[0004] 然而,现有的视频引导的多模态机器翻译方法存在一些不可忽略的缺陷:第一、这些方法只能从单词级别消除歧义,不能够从语义级别来消除句子整体上的歧义;第二、其构建多模态学习模型过于简单,未能有效对齐多种模态的特征;第三,其对数据集信息的利用不够充分,制作新的数据样本所需的较高的成本。

发明内容

[0005] 本发明的目的在于提供一种基于VATEX数据集和神经网络模型训练得到的翻译模型对多模态资源文件进行翻译,能够解决句子整体上的歧义,具有翻译质量好的优点。
[0006] 为了实现上述目的,本发明提供一种基于对比学习的多模态机器翻译方法,所述方法包括以下步骤:
[0007] 获取待翻译的N组资源文件,每组资源文件包括一个视频单元及与所述视频单元对应的第一语言文本单元,N个所述第一语言文本单元组成待翻译的第一语言文本,N为大于等于1的整数;
[0008] 基于每组资源文件中的视频单元和第一语言文本单元,利用翻译模型对所述第一语言文本进行翻译,得到第二语言的翻译文本,所述翻译模型是至少基于VATEX数据集和神经网络模型训练得到;其中,所述翻译模型的训练方法包括:
[0009] 步骤(1)获取VATEX数据集,所述VATEX数据集包括训练集、测试集和验证集,所述训练集包括多个数据包,每个数据包均包括一个视频片段、与所述视频片段对应的多个中文描述、及与所述视频片段对应的多个英文描述;
[0010] 步骤(2)确定待翻译的多个数据组,每个数据组由每个数据包中的视频片段和多个中文描述组成或者由每个数据包中的视频片段和多个英文描述组成,包括同一视频片段的数据组和数据包为一一对应关系;
[0011] 步骤(3)基于每个所述数据组中的多个中文描述或者多个英文描述,获取与每个所述数据组一一对应的样本对,每个样本对包括一个正样本和一个负样本,所述正样本为多个所述数据组中的一个数据组,所述负样本为多个所述数据组中的一个数据组;
[0012] 步骤(4)以每个数据包及与该数据包对应的样本对为输入数据,对神经网络模型进行多轮迭代训练得到训练好的所述神经网络模型,且每轮迭代训练时同一数据包对应的样本对重新获取,其中,神经网络模型训练过程为:
[0013] 步骤(a)对神经网络模型的超参数进行设置,获取初始化的神经网络模型,初始化的所述神经网络模型的所有权重数采用标准的初始化值;
[0014] 步骤(b)基于所述输入数据,计算得到每个数据包的损失值集,所述损失值集包括多个损失值,所述损失值的数量与该数据包中的中文描述数量或者英文描述数量相同,所述损失值为神经网络预测值与真实值之间的损失值;
[0015] 步骤(c)基于全部数据包对应的损失值集,利用反向传播算法对所述神经网络模型的所有权重参数进行更新和优化得到新的神经网络模型;
[0016] 步骤(d)重复迭代执行步骤(b)和步骤(c)直至满足预设条件,得到训练好的所述神经网络模型。
[0017] 在一种具体的实施方式中,所述步骤(3)包括:
[0018] 将全部所述数据组输入到负样本生成器中;
[0019] 分别计算每个数据组的文本与全部数据组中任一数据组的文本之间的文本相似度和语义相似度得到多个文本相似度数据和多个语义相似度数据,所述文本为多个中文描述或者多个英文描述;
[0020] 基于所述每个数据组的所述多个文本相似度数据和所述多个语义相似度数据,计算得到所述每个数据组对应的多对样本系数,每对样本系数包括一个正样本系数和一个负样本系数;每对样本系数基于该数据组与同一个数据组之间的文本相似度数据和语义相似度数据计算得到;
[0021] 基于所述每个数据组对应的全部正样本系数,生成所述每个数据组的正样本池,所述正样本池包括M个正样本,每个正样本对应一个数据组,M为大于4且小于8的整数;
[0022] 基于所述每个数据组的对应的全部负样本系数,生成所述每个数据组的负样本池,所述负样本池包括M个负样本,每个负样本对应一个数据组;
[0023] 基于相同的预设规则,分别从每个数据组对应的正样本池中获取一个正样本、负样本池中获取一个负样本组成每个数据组的样本对。
[0024] 在一种具体的实施方式中,所述基于所述每个数据组对应的全部正样本系数,生成所述每个数据组的正本样池包括:
[0025] 对每个数据组对应的全部正样本系数进行排序;
[0026] 确定对应所述每个数据组中数值最大的前M个正样本系数;
[0027] 获取每个数据组对应的第一目标数据组集,所述第一目标数据组集由与所述前M个正样本系数对应的M个数据组组成;
[0028] 以所述第一目标数据组集中的数据组为正样本,生成每个数据组的正样本池,所述正样本池包括M个正样本;
[0029] 所述基于所述每个数据组对应的全部负样本系数,生成所述每个数据组的负本样池包括:
[0030] 对所述每个数据组对应的全部负样本系数进行排序;
[0031] 确定对应所述每个数据组中数值最大的前M个负样本系数;
[0032] 获取每个数据组对应的第二目标数据组集,所述第二目标数据组集由与所述前M个负样本系数对应的M个数据组组成;
[0033] 以所述第二目标数据组集中的数据组为负样本,生成每个数据组的负样本池,所述负样本池包括M个负样本。
[0034] 在一种具体的实施方式中,所述预设规则为随机选择的规则,且随机选择的机率与各个正样本在所述正样本池中的权重值和各个负样本在所述负样本池中的权重值的大小正相关。
[0035] 在一种具体的实施方式中,所述步骤(b)中损失值的计算公式如下所示:
[0036] Loss=Lce+γ|S|(Lcinner+Lcouter)
[0037] 其中,Loss为神经网络预测值与真实值之间的损失值;
[0038] Lce为神经网络预测值与真实值之间的交叉熵;
[0039] Lcinner为相同模态之间的损失函数;
[0040] Lcouter为不同模态之间的损失函数;
[0041] γ用于平衡两个损失函数;
[0042] |S|为句子的平均长度。
[0043] 在一种具体的实施方式中,所述步骤(d)中预设条件为利用所述验证集对新的所述神经网络模型进行验证时准确率不再上升。
[0044] 在一种具体的实施方式中,所述步骤(c)后还包括步骤(e):
[0045] 输入所述验证集至新的所述神经网络模型进行测试,并计算评测指标BLEU‑4值;
[0046] 所述步骤(d)重复迭代执行步骤(b)、步骤(c)和步骤(e)直至获取到最大的BLEU‑4值,最大的BLEU‑4值对应的新的神经网络模型为训练好的所述神经网络模型。
[0047] 本发明还提供一种基于对比学习的多模态机器翻译系统,所述翻译系统包括:
[0048] 获取模块,用于获取待翻译的N组资源文件,每组资源文件包括一个视频单元及与所述视频单元对应的第一语言文本单元,N个所述第一语言文本单元组成待翻译的第一语言文本,N为大于等于1的整数;
[0049] 翻译模块,用于基于每组资源文件中的视频单元和第一语言文本单元,利用翻译模型对所述第一语言文本进行翻译,得到第二语言的翻译文本,所述翻译模型是至少基于VATEX数据集和神经网络模型训练得到;
[0050] 训练模块,用于对所述翻译模型进行训练,所述训练模块包括:
[0051] 数据集获取单元,用于获取VATEX数据集,所述VATEX数据集包括训练集、测试集和验证集,所述训练集包括多个数据包,每个数据包均包括一个视频片段、与所述视频片段对应的多个中文描述、及与所述视频片段对应的多个英文描述;
[0052] 确定单元,用于确定待翻译的多个数据组,每个数据组由每个数据包中的视频片段和多个中文描述组成或者由每个数据包中的视频片段和多个英文描述组成,包括同一视频片段的数据组和数据包为一一对应关系;
[0053] 样本对获取单元,用于基于每个所述数据组中的多个中文描述或者多个英文描述,获取与每个所述数据组一一对应的样本对,每个样本对包括一个正样本和一个负样本,所述正样本为多个所述数据组中的一个数据组,所述负样本为多个所述数据组中的一个数据组;
[0054] 训练单元,用于以每个数据包及与该数据包对应的样本对为输入数据,对神经网络模型进行多轮迭代训练得到训练好的所述神经网络模型,且每轮迭代训练时同一数据包对应的样本对重新获取。
[0055] 本发明的有益效果至少包括:
[0056] 一、本发明提供的基于对比学习的多模态机器翻译方法,基于提供的视频单元及与所述视频单元对应的第一语言文体单元,利用翻译模型进行翻译,该翻译模型是至少基于VATEX数据集和神经网络模型训练得到;这样,一方面充分利用了现有数据集,降低了开发成本,另一方面,训练神经网络模型过程中,通过对比学习从模态内和不同模态之间对齐语义,能够解决现有视频引导的多模态机器翻译在翻译时,不能解决句子整体上的歧义的技术问题,具有翻译质量好的优点。
[0057] 二、在获取神经网络模型的输入数据样本对的过程中,通过计算每组数据中的文本与全部数据组的文本的文本相似度和语义相似度来获取与每组数据相关度大的视频文本对,一方面,充分利用了数据集信息,另一方面,通过对比学习使得语义相似的样本在嵌入空间尽可能的近,语义不同的样本在嵌入空间尽可能的远;同时计算损失值的函数公式综合考虑了模态内及视频与文本两种模态间的语义融合;这样,能够解决现有方法在构建神经网络模型时过于单一的技术问题,能够有效对齐多种模态特征,具有翻译质量好的优点。

附图说明

[0058] 图1为本发明一实施例提供的基于对比学习的多模态机器翻译方法的方法流程图;
[0059] 图2为本发明一实施例提供的翻译模型训练方法的方法流程图;
[0060] 图3为本发明一实施例提供的步骤S30的方法流程图;
[0061] 图4为本发明一实施例提供的训练神经网络模型的方法流程图;
[0062] 图5为本发明另一实施例提供的训练神经网络模型的方法流程图;
[0063] 图6为本发明一实施例提供的基于对比学习的多模态机器翻译系统的模块图。

具体实施方式

[0064] 下面结合附图对本公开实施例进行详细描述。
[0065] 以下通过特定的具体实例说明本公开的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本公开的其他优点与功效。显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。本公开还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本公开的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。基于本公开中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
[0066] 要说明的是,下文描述在所附权利要求书的范围内的实施例的各种方面。应显而易见,本文中所描述的方面可体现于广泛多种形式中,且本文中所描述的任何特定结构及/或功能仅为说明性的。基于本公开,所属领域的技术人员应了解,本文中所描述的一个方面可与任何其它方面独立地实施,且可以各种方式组合这些方面中的两者或两者以上。举例来说,可使用本文中所阐述的任何数目个方面来实施设备及/或实践方法。另外,可使用除了本文中所阐述的方面中的一或多者之外的其它结构及/或功能性实施此设备及/或实践此方法。
[0067] 另外,在以下描述中,提供具体细节是为了便于透彻理解实例。然而,所属领域的技术人员将理解,可在没有这些特定细节的情况下实践所述方面。
[0068] 请参阅图1至图3,本发明提供一种基于对比学习的多模态机器翻译方法,所述方法包括以下步骤:
[0069] 步骤S100、获取待翻译的N组资源文件,每组资源文件包括一个视频单元及与所述视频单元对应的第一语言文本单元,N个所述第一语言文本单元组成待翻译的第一语言文本,N为大于等于1的整数;
[0070] 在本公开实施例中,视频单元和文本单元为两个不同的模态,视频作为最丰富的信息承载媒介,可以传达出的信息量远远超过声音、图像等单一模态,在进行语言翻译时,通过对齐文本和视频特征,能够解决整个句子而不仅仅是单词级别上的歧义,具有翻译质量好的优点。
[0071] 在本公开实施例中,待翻译的第一语言文本可以是一个句子,也可以是多个句子的组合,在此,不作限定。
[0072] 在本公开实施例中,第一语言文本单元是一个句子,其字符个数的平均值为10个字,每个视频单元的播放时间为5~15秒。
[0073] 视频单元与第一语言文本单元相对应指的两者表达的意思完全一致,举例说明,如果视频上是一个人在走路,那么对应的第一语言文本单元描述的就是“一个人在走路”,需要说明的是,第一语言文本单元描述的主要是视频中的主体活动,对一些环境因素并不会进行描述。
[0074] 步骤S200、基于每组资源文件中的视频单元和第一语言文本单元,利用翻译模型对所述第一语言文本进行翻译,得到第二语言的翻译文本,所述翻译模型是至少基于VATEX数据集和神经网络模型训练得到。
[0075] 此处,即第一语言文本经过翻译模型翻译后,得到第二语言的翻译文本,举例说明,若第一语言是中文,第二语言是英文,那么中文文本经翻译模型翻译后输出的翻译文本为英文文本。
[0076] 利用翻译模型进行翻译的过程为,基于每组资源文件中的视频单元和第一语言文本单元得到每组资源文件中第一语言文本单元的翻译文本,全部组资源文件的翻译文本组成第二语言的翻译文本。
[0077] 在本公开实施例中,训练翻译模型时采用的是VATEX数据集,将VATEX数据集进行处理后作为输入,输入至神经网络模型,对神经网络模型进行训练,就可以得到翻译模型。
[0078] 其中,VATEX是一个新的大型多语言视频描述数据集,包含41,250个视频和825,380个中英视频描述,其中一半是中英平行翻译对。它的视频包含600个人类活动,每个视频配有20个人工标记者的10个英文和10个中文描述。根据官方的划分方案,VATEX数据集被分为25991个视频作为训练集,3000个视频作为验证集,6000个视频作为公共测试集。
[0079] 在本公开实施例中,所述神经网络模型为Transformer神经网络模型。
[0080] 其中,所述翻译模型的训练方法包括以下步骤:
[0081] 步骤S10、获取VATEX数据集,所述VATEX数据集包括训练集、测试集和验证集,所述训练集包括多个数据包,每个数据包均包括一个视频片段、与所述视频片段对应的多个中文描述、及与所述视频片段对应的多个英文描述;
[0082] 在本实施例中,VATEX数据集的训练集、测试集和验证集采用官方的划分标准,则训练集包括25991个视频,也就是说数据包的数量为25991个,每个数据包中包括一个视频片断、与该视频片断对应的10个左右中文描述和10个左右英文描述。
[0083] 多个中文描述可以理解为对应该视频片断的多种中文描述,举例说明,一个视频片断对应10个中文描述,那么描述该视频片断的有10个句子,同理,多个英文描述可以理解为对该视频片断的多种英文描述。
[0084] 步骤S20、确定待翻译的多个数据组,每个数据组由每个数据包中的视频片段和多个中文描述组成或者由每个数据包中的视频片段和多个英文描述组成,包括同一视频片段的数据组和数据包为一一对应关系;
[0085] 每个数据包中同时包括视频片段及与该视频片断对应的中文描述和英文描述,而在训练翻译模型时,要么是将中文译为英文,要么是将英文译为中文,择其中一种即可。若需要将中文译为英文,则每个数据组由每个数据包中的视频片段和多个中文描述组成;若需要将英文译为中文,则每个数据组由每个数据包中的视频片段和多个英文文描述组成。
[0086] 包括同一视频片段的数据组和数据包为一一对应关系可以理解为包括A视频片断的数据包和包括A视频片断的数据组为一一对应关系。
[0087] 在本实施例中,多个数据组与多个数据包为一一对应关系,那么数据组的数量与数据包的数量相同,也为25991个。
[0088] 步骤S30、基于每个所述数据组中的多个中文描述或者多个英文描述,获取与每个所述数据组一一对应的样本对,每个样本对包括一个正样本和一个负样本,所述正样本为多个所述数据组中的一个数据组,所述负样本为多个所述数据组中的一个数据组;
[0089] 进一步地:所述步骤S30包括:
[0090] 步骤S31、将全部所述数据组输入到负样本生成器中;
[0091] 在本实施例中,待翻译的全部数据组的数量为25991个,可以为25991个视频‑中文对,也可以为25991个视频‑英文对。
[0092] 步骤S32、分别计算每个数据组的文本与全部数据组中任一数据组的文本之间的文本相似度和语义相似度得到多个文本相似度数据和多个语义相似度数据,所述文本为多个中文描述或者多个英文描述;
[0093] 在本公开实施例中,文本相似度的数据的计算采用余弦相似度算法,具体如下:
[0094] 具体地,首先提取各个数据组中的文本,该文本为各个数据组中所包含的所有中文描述或者所有英文描述。为方便理解,将待计算文本相似度数据的数据组命名为第一数据组,第一数据组的文本为Ti,而全部数据组中任一数据组则命名为第二数据组,第二数据组的文本为Tj,然后按照第一计算公式进行计算,得到第一数据组与所述第二数据组之间的文本相似度为 第一计算公式为:
[0095]
[0096] 在此,需要说明的是,在该步骤中,同时也包括计算第一数据组与自己的文本相似度,该结果为1。
[0097] 为方便理解,假设数据组的数量为5个,分别为A组、B组、C组、D组和E组,该五个组均包括一个视频和对应该视频的10个中文描述。
[0098] 以A组的文本相似度数据计算为例进行说明,那么该步骤需要计算A组的10个中文描述与A组的10个中文描述、A组的10个中文描述与B组的10个中文描述、A组的10个中文描述与C组的10个中文描述、A组的10个中文描述与D组的10个中文描述和A组的10个中文描述与E组的10个中文描述的文本相似度,共得到5个文本相似度数据,分别为A1‑1、A1‑2、A1‑3、A1‑4和A1‑5,与数据组的数量相同。
[0099] 在本实施例中,文本相似度数据的取值是‑1~1.
[0100] 在本公开实施例中,语义相似度的数据的计算采用词频‑逆文本频率指数算法,具体如下:
[0101] 将待计算语义相似度数据的数据组命名为第一数据组,第一数据组的动词为第一数据组的名词为 而全部数据组中任一数据组则命名为第二数据组,第二数据组的动词为 第二数据组的名词为 按照第二计算公式计算第一数据组的每个动词 的权重和每个名词 的权重之和,第二计算公式如下:
[0102]
[0103] 其中,Nverb和Nnoun分别指词频‑逆文本频率指数算法中动词和名词的数量。
[0104] 在此,需要说明的是,在该步骤中,同时也包括计算第一数据组与自己的语义相似度,该结果为1。
[0105] 在本实施例中,语义相似度数据的取值为0~1。
[0106] 为方便理解,假设数据组的数量为5个,分别为A组、B组、C组、D组和E组,该五个组均包括一个视频和对应该视频的10个中文描述。
[0107] 以A组的语义相似度数据计算为例进行说明,那么该步骤需要计算A组的10个中文描述与A组的10个中文描述、A组的10个中文描述与B组的10个中文描述、A组的10个中文描述与C组的10个中文描述、A组的10个中文描述与D组的10个中文描述和A组的10个中文描述与E组的10个中文描述的语义相似度,共得到5个语义相似度数据,分别为A2‑1、A2‑2、A2‑3、A2‑4和A2‑5,与数据组的数量相同。
[0108] 步骤S33、基于所述每个数据组的所述多个文本相似度数据和所述多个语义相似度数据,计算得到所述每个数据组对应的多对样本系数,每对样本系数包括一个正样本系数和一个负样本系数;每对样本系数基于该数据组与同一个数据组之间的文本相似度数据和语义相似度数据计算得到;
[0109] 正样本系数Wpos的计算公式如下:
[0110] Wpos=softmax(Wa)+β*softmax(Ws)
[0111] 负样本系数Wneg的计算公式如下:
[0112] Wneg=softmax(Wa)‑β*softmax(Ws)
[0113] 其中,Wa为步骤S32计算得到的文本相似度数据;
[0114] Ws为步骤S32计算得到的语义相似度数据;
[0115] β为参数,在本实施例中,β取值0.8。
[0116] 基于步骤S32的举例说明,将A1‑1和A2‑1作为一组,A1‑2和A2‑2作为一组,A1‑3和A2‑3作为一组,A1‑4和A2‑4作为一组,A1‑5和A2‑5作为一组,分别代入正样本系数计算公式共得到A组数据的5个正样本系数,分别为A3‑1、A3‑2、A3‑3、A3‑4和A3‑5;分别代入负样本系数计算公式共得到A组数据的5个负样本系数,分别为A4‑1、A4‑2、A4‑3、A4‑4和A4‑5。
[0117] 步骤S34、基于所述每个数据组对应的全部正样本系数,生成所述每个数据组的正样本池,所述正样本池包括M个正样本,每个正样本对应一个数据组,M为大于4且小于8的整数;
[0118] 每个数据组的正样本系数的数量与全部数据组的数量相同,一个正样本系数对应一个正样本,为了加快训练模型的收敛速度,需要筛选出合适的正样本组成正样本池。在本实施例中,筛选的方法如下:
[0119] 对每个数据组对应的全部正样本系数进行排序;
[0120] 确定对应所述每个数据中数值最大的前M个正样本系数;
[0121] 获取每个数据组对应的第一目标数据组集,所述第一目标数据组集由与所述前M个正样本系数对应的M个数据组组成以所述第一目标数据组集中的数据组为正样本,生成每个数据组的正样本池,所述正样本池包括M个正样本。在本实施例中,M为经验数据,M的范围是大于4且小于8,优选地,M为5。
[0122] 以所述第一目标数据组集中的数据组为正样本,生成每个数据组的正样本池,可以理解为每个数据组均对应有一个第一目标数据组集,每个第一目标数据组集均包括M个数据组,以M个数据组中的一个数据组为一个正样本,则得到每个数据组的正样本池。
[0123] 可以理解的是,每个数据组的正样本池中肯定是包括该数据组的,因为每个数据组与自己计算文本相似度和语义相似度的结果均为1,其正样本系数肯定是最大的那个。
[0124] 基于上文的内容,以获取A组的正样本池为例进行说明,首先对A组的5个正样本系数进行排序,5个正样本系数A3‑1、A3‑2、A3‑3、A3‑4和A3‑5的大小关系为A3‑1>A3‑5>A3‑3>A3‑2>A3‑4,若正样本池包括三个正样本,那么按照大小顺序,确定较大的3个正样本系数分别为A3‑1、A3‑5、A3‑3,获取与3个正样本系数A3‑1、A3‑5、A3‑3对应的三个正样本,分别是A组、E组和C组,A组、E组和C组三个数据组组成A组的第一目标数据集以第一目标数据集中A组、E组和C组分别为一个正样本生成A组的正样本池,正样本池中的正样本数量为三个。
[0125] 步骤S35、基于对应所述每个数据组的全部负样本系数,生成所述每个数据组的负样本池,所述负样本池包括M个负样本,每个负样本对应一个数据组;
[0126] 每个数据组的负样本系数的数量与全部数据组的数量相同,一个负样本系数对应一个负样本,为了加快训练模型的收敛速度,需要筛选出合适的负样本组成负样本池。在本实施例中,筛选的方法如下:
[0127] 对所述每个数据组对应的全部负样本系数进行排序;
[0128] 确定对应所述每个数据组中数值最大的前M个负样本系数;
[0129] 获取每个数据组对应的第二目标数据组集,所述第二目标数据组集由与所述前M个负样本系数对应的M个数据组组成;
[0130] 以所述第二目标数据组集中的数据组为负样本,生成每个数据组的负样本池,所述负样本池包括M个负样本。以所述第二目标数据组集中的数据组为负样本,生成每个数据组的负样本池,可以理解为每个数据组均对应有一个第二目标数据组集,每个第二目标数据组集均包括M个数据组,以M个数据组中的一个数据组为一个负样本,则得到每个数据组的负样本池。
[0131] 在本实施例中,M为经验数据,M的范围是大于4且小于8,优选地,M为5。
[0132] 基于上文的内容,以获取A组的负样本池为例进行说明,首先对A组的5个负样本系数进行排序,5个负样本系数A4‑1、A4‑2、A4‑3、A4‑4和A4‑5的大小关系为A4‑2>A4‑4>A4‑3>A4‑5>A4‑1,若负样本池包括三个负样本,那么按照大小顺序,确定较大的3个负样本系数分别为A4‑2、A4‑4、A4‑3,获取与3个负样本系数A4‑2、A4‑4、A4‑3对应的三个负样本分别是B组、D组和C组,B组、D组和C组三个数据组组成A组的第二目标数据集,以第二目标数据集中的B组、D组和C组分别为一个负样本生成A组的负样本池,A组负样本池中的负样本数量为三个。
[0133] 步骤S36、基于相同的预设规则,分别从每个数据组对应的正样本池中获取一个正样本、负样本池中获取一个负样本组成每个数据组的样本对。
[0134] 优选地,所述预设规则为随机选择,且随机选择的机率与各个正样本在所述正样池中的权重值和各个负样本在所述负样本池中的权重值的大小正相关。
[0135] 每个数据组均对应一个正本样池,一个负样本池,从正本样池中随机选择一个正样本,从负样本池中随机选择一个负样本,被选择的正样本和负样本组成该数据组的正样本对。可以理解的是,在下文中不同轮的迭代训练时,都需要根据随机选择的规则重新在正样本池中选择一个正样本,在负样本池中选择一个负样本,以组成样本对。采用随机选择的规则可以加速模型的收敛速度。
[0136] 具体地,正样本系数越大,则该正样本的权重值越大,同理,负样本系数越大,则该负样本的权重值越大。在本实施例中,权重值的计算方法如下:以正样本的权重值计算举例进行说明,A组的正本样池包括A组、E组和C组三个正样本,A组的正样本系数为1,E组的正样本系数为0.8,C组的正样本系数为0.7,那么A组的权重值为0.4(1/(1+0.8+0.7)),E组的权重值为0.32(0.8/(1+0.8+0.7)),C组的权重值为0.28(0.7/(1+0.8+0.7))。
[0137] 步骤S40、以每个数据包及与该数据包对应的样本对为输入数据,对神经网络模型进行多轮迭代训练得到训练好的所述神经网络模型,且每轮迭代训练时同一数据包对应的样本对重新获取。
[0138] 可以理解的是,包括同一视频片段的数据组和数据包为一一对应关系,那么对应数据组的样本对与对应该数据组的数据包也同样具有一一对应关系。为方便理解,举例说明如下:包括A视频片断的第一数据组与包括A视频片断的第一数据包具有对应关系,而基于第一数据组中的中文描述或者英文描述获取的第一样本对,与第一数据组具有对应关系,同样,第一样本对也与第一数据包同样具有对应关系。
[0139] 可以理解的是,每轮迭代训练是指将训练集中的所有的数据包及与该数据包对应的样本对全部作为输入数据,输入至神经网络模型中进行计算。
[0140] 每轮迭代训练时同一数据包对应的样本对重新获取是指新的一轮迭代训练的样本对重新按随机选择的原则从正样本池和负样本池中进行选择,基于上文的内容举例说明,如果第一轮迭代训练A组的样本对中的正样本为A,那么第二轮迭代训练A组的样本对中的正样本可以为E、C,当然也可能还是A,但可以明确的是第二轮迭代训练A组对应的正样本是从正样本池中重新选择的。
[0141] 需要说明的是,重新获取新的样本对指的是从正样本池和负样本池中分别重新选择一个正样本和一个负样本,而正样本池中正样本和负样本池中负样本不需要再重新获取。
[0142] 请结合参阅图4,优选地,训练所述神经网络模型的方法包括:
[0143] S501、对神经网络模型的超参数进行设置,获取初始化的神经网络模型,初始化的所述神经网络模型的所有权重数采用标准的初始化值;神经网络模型的超参数设置如下:Transformer神经网络的超参数采用标准的初始化值,最大句子长度设置为40,嵌入的Dropout Rate(暂退率)是0.2,而其他嵌入参数都是0.1;对比学习损失的超参数λ设为
0.16,同时,在对比学习中,为了平衡比较学习的计算量和效果,设K=5,此处的K与确定正样本池和负样本池中样本数量的M相同,也就是说K=5,则M=5,正样本池和负样本池中的样本总数均为5个。
[0144] 所述神经网络模型采用Transformer神经网络模型。
[0145] S502、基于所述输入数据,计算得到每个数据包的损失值集,所述损失值集包括多个损失值,所述损失值的数量与该数据包中的中文描述数量或者英文描述数量相同,所述损失值为神经网络预测值与真实值之间的损失值;
[0146] 所述损失值的数量与该数据包中的中文描述数量或者英文描述数量相同,可以理解为,当数据包中的中文描述数量为10个,那么计算得到的损失值数量也为10个,这样,这个数据包的损失值集包括10个损失值。
[0147] 所述损失值的计算公式如下所示:
[0148] Loss=Lce+γ|S|(Lcinner+Lcouter)
[0149] 其中,Loss为神经网络预测值与真实值之间的损失值;
[0150] Lce为神经网络预测值与真实值之间的交叉熵;
[0151] Lcinner为相同模态之间的损失函数;
[0152] Lcouter为不同模态之间的损失函数;
[0153] γ用于平衡两个损失函数;
[0154] |S|为句子的平均长度。
[0155] 其中,神经网络预测值与真实值之间的交叉熵Lce具体表示为:
[0156]
[0157] 其中ti是数据包中待翻译的一个语言描述,tj是对应的另一种语言描述,也可以理i j i j i j解为t是中文描述,则t是对应的英文描述;t为英文描述,则t是对应的中文描述,t和t均为数据包中的语言描述。
[0158] θ是多模态Transformer模型的参数。
[0159] 对比学习使用的损失函数将一个样本的不同的、增强过的新样本们在嵌入空间中尽可能地近,然后让不同的样本之间尽可能地远,其具体表示为:
[0160]
[0161]
[0162] d(·)表示计算向量之间距离的函数,Hs、Hs+、Hs‑分别表示句子S、样本对中正样本+ ‑对应的句子S、样本对中负样本对应的句子S经过Transformer神经网络模型编码和平均池v v+ v‑ +
化后的输出,H、H 、H 分别表示视频V、样本对中正样本对应的句子V、样本对中负样本对‑
应的句子V经过Transformer神经网络模型编码和平均池化后的输出。
[0163] 上文的句子S即一个语言描述。
[0164] S503、基于所有数据包对应的损失值集,利用反向传播算法对所述神经网络模型的所有权重参数进行更新和优化得到新的神经网络模型;
[0165] 所有数据包对应的损失值集为步骤S502计算得到的,全部数据包组成训练集,此处也可以理解为基于所述训练集的损失值集,利用反向传播算法对所述神经网络模型的所有权重参数进行更新和优化得到新的神经网络模型。
[0166] 可以理解为每完成一轮的训练,对神经网络模型的所有权重参数进行更新和优化一次,以获取最优的权重参数。此处需要说明的是,神经网络模型的超参数如对比学习损失的超参数λ等不属于每轮训练后更新和优化的参数,每轮训练后更新和优化的参数仅指神经网络中的权重参数。
[0167] S504、重复迭代执行步骤S502和步骤S503直至满足预设条件,得到训练好的所述神经网络模型。
[0168] 重复迭代执行步骤S502和步骤S503可以理解为,步骤S502基于更新所有权重参数后的新的神经网络模型计算损失值,步骤S503基于步骤S502计算得到的全部数据包对应的损失值集,利用反向传播算法对上一轮更新得到的神经网络模型的所有权重参数进行更新和优化。
[0169] 为了方便理解,举例说明如下:首先,利用初始的神经网络模型计算得到各个数据包对应的损失值集,然后基于该损失值值利用反向传播算法对初始的所述神经网络模型的所有权重新进行更新和优化得到第一个新的神经网络模型,此为第一轮;利用第一个新的神经网络模型计算得到各个数据包对应的损失值集,然后基于该损失值集利用反向传播算法对第一个新的的所述神经网络模型的所有权重新进行更新和优化得到第二个新的神经网络模型,此为第二轮;利用第二个新的神经网络模型计算得到各个数据包对应的损失值集,然后基于该损失值集利用反向传播算法对第二个新的的所述神经网络模型的所有权重新进行更新和优化得到第三个新的神经网络模型,此为第三轮;……直到满足预设条件。
[0170] 所述预设条件为利用所述验证集对新的神经网络模型进行验证时准确率不再上升。
[0171] 请结合参阅图5,在另一个公开的实施例中,所述S503后还包括:
[0172] 步骤S505、输入所述验证集至新的所述神经网络模型进行测试,并计算评测指标BLEU‑4值;
[0173] 所述步骤S504重复迭代执行步骤S502、步骤S503和步骤S505直至获取到最大的BLEU‑4值,最大的BLEU‑4值对应的神经网络模型为训练好的所述神经网络模型。
[0174] 在本公开实施例,通过BLEU‑4值的大小来判断准确率是否不再上升。可以理解的是,步骤S504还包括将当前计算得到的BLEU‑4值与历史计算得到的BLEU‑4值进行比较,以确定最大的BLEU‑4值。当前后测得的BLEU‑4值均比当前BLEU‑4值小,则可以得出当前BLEU‑4值对应的神经网络模型为训练好的所述神经网络模型。
[0175] 本实施例可以理解为每轮训练后均利用了验证集进行验证,以获取每轮训练得到的神经网络模型的BLEU‑4值。
[0176] 在其他实施例中,还可以重复迭代执行步骤S502和步骤S503共预设次后,才开始利用验证集对新的神经网络模型的准确率进行计算,这样,可以减少验证集的运算量。所述预设次可以为10次、12次、15次等数据,具体可以根据经验进行设定。
[0177] 全部数据组成训练集,每轮训练计算得到的平均损失值即所述训练集的平均损失值,下文直接以训练集的平均损失值来代替每轮训练计算得到的平均损值。一般来说,所述训练集的平均损失值最小,对应得到的验证集的准确率也是最高的,即预设条件可以同时满足训练集的平均损失值不再下降和利用所述验证集进行验证时准确率不再上升。因此也可以重复迭代执行步骤S502和步骤S503多次后,直到训练集的平均损失值下降很少或者不再下降或者来回波动,才开始利用验证集对新的的神经网络模型的准确率进行计算,这样,同样可以减少验证集的运算量。
[0178] 将本发明提供的神经网络模型与其他方法进行比较,其比较结果详见表1至表3所示:
[0179] 表1不同模型在VATEX数据集上的BLEU‑4值
[0180]
[0181] 表1显示了不同模型在VATEX数据集上的BLEU‑4值。本发明在VATEX和MSVD‑Turkish上分别获得36.04和36.38的BLEU‑4值。实验结果表明本发明的短语级多模态编码器和全局级对比方法的有效性。
[0182] 表2示出本发明针对生成样本,取不同值β下的实验结果:
[0183] 表2不同β取值对应的BLEU‑4值
[0184]
[0185] 从上表2可以看出,不同β取值对重识别精度存在影响,由于β取值影响翻译的质量,因此,合适的β取值对神经网络的训练是有益的,它使得生成的正负样本池更加合理,从而使得神经网络学习到更加丰富的特征,增强的网络的泛化能力,进而提升翻译的质量。在本发明中,优选β为0.8~1.2,更为优选地,β=0.8。
[0186] 表3不同λ取值对应的BLEU‑4值
[0187]
[0188] 从表3可以看出参数λ对神经网络模型的影响。当λ值为0.16时,BLEU‑4值最高。当λ持续增加时,整体性能反而下降,其原因是决定性交叉熵损失的权重随着λ的增大而减小。在本发明的翻译任务中,交叉熵损失应该占主导地位。在本发明中,优选λ为0.04~0.16,更为优选地,λ=0.16。
[0189] 需要补充说明的是,表1至表3中的BLEU‑4值均为神经网络模型进行英译汉时计算得到的结果。
[0190] 请参阅图6,本发明还提供一种基于对比学习的多模态机器翻译系统100,所述翻译系统包括:
[0191] 获取模块10,用于获取待翻译的N组资源文件,每组资源文件包括一个视频单元及与所述视频单元对应的第一语言文本单元,N个所述第一语言文本单元组成待翻译的第一语言文本,N为大于等于1的整数;
[0192] 翻译模块20,用于基于每组资源文件中的视频单元和第一语言文本单元,利用翻译模型对所述第一语言文本进行翻译,得到第二语言的翻译文本,所述翻译模型是至少基于VATEX数据集和神经网络模型训练得到。
[0193] 训练模块30,用于对所述翻译模型进行训练,其中,所述训练模块30包括:
[0194] 数据集获取单元31,用于获取VATEX数据集,所述VATEX数据集包括训练集、测试集和验证集,所述训练集包括多个数据包,每个数据包均包括一个视频片段、与所述视频片段对应的多个中文描述、及与所述视频片段对应的多个英文描述;
[0195] 确定单元32,用于确定待翻译的多个数据组,每个数据组由每个数据包中的视频片段和多个中文描述组成或者由每个数据包中的视频片段和多个英文描述组成,包括同一视频片段的数据组和数据包为一一对应关系;
[0196] 样本对获取单元33,用于基于每个所述数据组中的多个中文描述或者多个英文描述,获取与每个所述数据组一一对应的样本对,每个样本对包括一个正样本和一个负样本,所述正样本为多个所述数据组中的一个数据组,所述负样本为多个所述数据组中的一个数据组;
[0197] 训练单元34,用于以每个数据包及与该数据包对应的样本对为输入数据,对神经网络模型进行多轮迭代训练得到训练好的所述神经网络模型,且每轮迭代训练时同一数据包对应的样本对重新获取。
[0198] 需要说明的是,图6对应的实施例中未提及的内容以及各个模块、单元执行步骤的具体实现方式可参见图1至图5所示实施例以及前述内容,这里不再赘述。
[0199] 在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者通过所述计算机可读存储介质进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是集成一个或多个可用介质的服务器等数据存储设备。所述可用介质可以是磁性介质,例如,软盘、硬盘、磁带;也可以是光介质,例如,DVD;还可以是半导体介质,例如,固态硬盘(solid state disk,SSD)。
[0200] 以上内容是结合具体的优选实施方式对本发明作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演和替换,都应当视为属于本发明的保护范围。