Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
M
mtbookv2
概览
Overview
Details
Activity
Cycle Analytics
版本库
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
问题
0
Issues
0
列表
Board
标记
里程碑
合并请求
0
Merge Requests
0
CI / CD
CI / CD
流水线
作业
日程表
图表
维基
Wiki
代码片段
Snippets
成员
Collapse sidebar
Close sidebar
活动
图像
聊天
创建新问题
作业
提交
Issue Boards
Open sidebar
NiuTrans
mtbookv2
Commits
dc4cb935
Commit
dc4cb935
authored
Jan 04, 2021
by
孟霞
Browse files
Options
Browse Files
Download
Plain Diff
合并分支 'mengxia' 到 'caorunzhe'
16和17参考文献去重修改 查看合并请求
!773
parents
eab3a9d8
2bf7ee9b
隐藏空白字符变更
内嵌
并排
正在显示
2 个修改的文件
包含
12 行增加
和
12 行删除
+12
-12
Chapter16/chapter16.tex
+7
-7
Chapter17/chapter17.tex
+5
-5
没有找到文件。
Chapter16/chapter16.tex
查看文件 @
dc4cb935
...
...
@@ -172,7 +172,7 @@
\parinterval
浅融合方法独立训练翻译模型和语言模型,在生成每个词的时候,对两个模型的预测概率进行加权求和得到最终的预测概率。浅融合的不足在于,解码过程对每个词均采用相同的语言模型权重,缺乏灵活性。针对这个问题,深融合联合翻译模型和语言模型进行训练,从而在解码过程中动态地计算语言模型的权重,更好地融合翻译模型和语言模型来计算预测概率。
\parinterval
大多数情况下,目标语言端语言模型的使用可以提高译文的流畅度。不过,它并不会增加翻译结果对源语言句子表达的充分性,即源语言句子的信息是否被充分体现到了译文中。也有一些研究发现,神经机器翻译过于关注译文的流畅度,但是充分性的问题没有得到很好考虑,比如,神经机器翻译系统的结果中经常出现漏译等问题。也有一些研究人员提出控制翻译充分性的方法,让译文在流畅度和充分性之间达到平衡
\upcite
{
DBLP:conf/acl/TuLLLL16
,li-etal-2018-simple,DBLP:journals/tacl/TuLLLL17
}
。
\parinterval
大多数情况下,目标语言端语言模型的使用可以提高译文的流畅度。不过,它并不会增加翻译结果对源语言句子表达的充分性,即源语言句子的信息是否被充分体现到了译文中。也有一些研究发现,神经机器翻译过于关注译文的流畅度,但是充分性的问题没有得到很好考虑,比如,神经机器翻译系统的结果中经常出现漏译等问题。也有一些研究人员提出控制翻译充分性的方法,让译文在流畅度和充分性之间达到平衡
\upcite
{
TuModeling
,li-etal-2018-simple,DBLP:journals/tacl/TuLLLL17
}
。
%----------------------------------------------------------------------------------------
% NEW SUB-SUB-SECTION
...
...
@@ -181,13 +181,13 @@
\parinterval
神经机器翻译模型所使用的编码器-解码器框架天然就包含了对输入(源语言)和输出(目标语言)进行表示学习的过程。在编码端,需要学习一种分布式表示来表示源语言句子的信息,这种分布式表示可以包含序列中每个位置的表示结果(见
{
\chapternine
}
)。从结构上看,神经机器翻译所使用的编码器与语言模型无异,或者说神经机器翻译的编码器其实就是一个源语言的语言模型。唯一的区别在于,神经机器翻译的编码器并不直接输出源语言句子的生成概率,而传统语言模型是建立在序列生成任务上的。既然神经机器翻译的编码器可以与解码器一起在双语数据上联合训练,那为什么不使用更大规模的数据单独对编码器进行训练呢?或者说,直接使用一个预先训练好的编码器,与机器翻译的解码器配合完成翻译过程。
\parinterval
实现上述想法的一种手段是
{
\small\sffamily\bfnew
{
预训练
}}
\index
{
预训练
}
(Pre-training)
\index
{
Pre-training
}
\upcite
{
DBLP:conf/nips/DaiL15,
DBLP:journals/corr/abs-1802-05365
,radford2018improving,devlin2019bert
}
。预训练的做法相当于将源语言表示的学习任务从目标任务中分离出来,这样可以利用额外的更大规模的数据进行学习。常用的一种方法是使用语言建模等方式在大规模单语数据上进行训练,来得到神经机器翻译模型中的一部分(比如词嵌入和编码器等)的模型参数初始值。然后,神经机器翻译模型在双语数据上进行
{
\small\sffamily\bfnew
{
微调
}}
\index
{
微调
}
(Fine-tuning)
\index
{
Fine-tuning
}
,以得到最终的翻译模型。
\parinterval
实现上述想法的一种手段是
{
\small\sffamily\bfnew
{
预训练
}}
\index
{
预训练
}
(Pre-training)
\index
{
Pre-training
}
\upcite
{
DBLP:conf/nips/DaiL15,
Peters2018DeepCW
,radford2018improving,devlin2019bert
}
。预训练的做法相当于将源语言表示的学习任务从目标任务中分离出来,这样可以利用额外的更大规模的数据进行学习。常用的一种方法是使用语言建模等方式在大规模单语数据上进行训练,来得到神经机器翻译模型中的一部分(比如词嵌入和编码器等)的模型参数初始值。然后,神经机器翻译模型在双语数据上进行
{
\small\sffamily\bfnew
{
微调
}}
\index
{
微调
}
(Fine-tuning)
\index
{
Fine-tuning
}
,以得到最终的翻译模型。
\parinterval
词嵌入可以被看作是对每个独立单词进行的表示学习的结果,在自然语言处理的众多任务中都扮演着重要角色
\upcite
{
DBLP:conf/icml/CollobertW08,2011Natural,DBLP:journals/corr/abs-1901-09069
}
。到目前为止已经有大量的词嵌入学习方法被提出(见
{
\chapternine
}
),因此可以直接应用这些方法在海量的单语数据上训练得到词嵌入,用来初始化神经机器翻译模型的词嵌入参数矩阵
\upcite
{
DBLP:conf/aclwat/NeishiSTIYT17,2018When
}
。
\parinterval
需要注意的是,在神经机器翻译中使用预训练词嵌入有两种方法。一种方法是直接将词嵌入作为固定的输入,也就是在训练神经机器翻译模型的过程中,并不调整词嵌入的参数。这样做的目的是完全将词嵌入模块独立出来,机器翻译可以被看作是在固定的词嵌入输入上进行的建模,从而降低了机器翻译模型学习的难度。另一种方法是仍然遵循``预训练+微调''的策略,将词嵌入作为机器翻译模型部分参数的初始值。在之后机器翻译训练过程中,词嵌入模型结果会被进一步更新。近些年,在词嵌入预训练的基础上进行微调的方法越来越受到研究者的青睐。因为在实践中发现,完全用单语数据学习的单词表示,与双语数据上的翻译任务并不完全匹配。同时目标语言的信息也会影响源语言的表示学习。
\parinterval
虽然预训练词嵌入在海量的单语数据上学习到了丰富的表示,但词嵌入很主要的一个缺点是无法解决一词多义问题。在不同的上下文中,同一个单词经常表示不同的意思,但它的词嵌入是完全相同的,模型需要在编码过程中通过上下文去理解每个词在当前语境下的含义。因此,上下文词向量在近些年得到了广泛的关注
\upcite
{
DBLP:conf/acl/PetersABP17,mccann2017learned,
DBLP:journals/corr/abs-1802-05365
}
。上下文词嵌入是指一个词的表示不仅依赖于单词自身,还依赖于上下文语境。由于在不同的上下文中,每个词对应的词嵌入是不同的,因此无法简单地通过词嵌入矩阵来表示,通常的做法是使用海量的单语数据预训练语言模型任务,使模型具备丰富的特征提取能力
\upcite
{
DBLP:journals/corr/abs-1802-05365
,radford2018improving,devlin2019bert
}
。
\parinterval
虽然预训练词嵌入在海量的单语数据上学习到了丰富的表示,但词嵌入很主要的一个缺点是无法解决一词多义问题。在不同的上下文中,同一个单词经常表示不同的意思,但它的词嵌入是完全相同的,模型需要在编码过程中通过上下文去理解每个词在当前语境下的含义。因此,上下文词向量在近些年得到了广泛的关注
\upcite
{
DBLP:conf/acl/PetersABP17,mccann2017learned,
Peters2018DeepCW
}
。上下文词嵌入是指一个词的表示不仅依赖于单词自身,还依赖于上下文语境。由于在不同的上下文中,每个词对应的词嵌入是不同的,因此无法简单地通过词嵌入矩阵来表示,通常的做法是使用海量的单语数据预训练语言模型任务,使模型具备丰富的特征提取能力
\upcite
{
Peters2018DeepCW
,radford2018improving,devlin2019bert
}
。
%----------------------------------------------------------------------------------------
% NEW SUB-SUB-SECTION
...
...
@@ -419,7 +419,7 @@
\subsection
{
基于迁移学习的方法
}
\parinterval
{
\small\bfnew
{
迁移学习
}}
\index
{
迁移学习
}
(Transfer Learning)
\index
{
Transfer Learning
}
是一种机器学习的方法,指的是一个预训练的模型被重新用在另一个任务中,而并不是从头训练一个新的模型
\upcite
{
DBLP:journals/corr/HintonVD15
}
。迁移学习的目标是将某个领域或任务上学习到的知识应用到不同但相关的领域或问题中。在机器翻译中,可以用富资源语言的知识来改进低资源语言上的机器翻译性能,也就是将富资源语言中的知识迁移到低资源语言中。
\parinterval
{
\small\bfnew
{
迁移学习
}}
\index
{
迁移学习
}
(Transfer Learning)
\index
{
Transfer Learning
}
是一种机器学习的方法,指的是一个预训练的模型被重新用在另一个任务中,而并不是从头训练一个新的模型
\upcite
{
Hinton2015Distilling
}
。迁移学习的目标是将某个领域或任务上学习到的知识应用到不同但相关的领域或问题中。在机器翻译中,可以用富资源语言的知识来改进低资源语言上的机器翻译性能,也就是将富资源语言中的知识迁移到低资源语言中。
\parinterval
基于枢轴语言的方法需要显性地建立“源语言
$
\to
$
枢轴语言
$
\to
$
目标语言”的路径。这时,如果路径中某处出现了问题,就会成为整个路径的瓶颈。如果使用多个枢轴语言,这个问题就会更加严重。不同于基于枢轴语言的方法,迁移学习无需进行两步解码,也就避免了翻译路径中错误累积的问题。
...
...
@@ -812,7 +812,7 @@
%----------------------------------------------------------------------------------------
\subsubsection
{
1. 多目标学习
}
\parinterval
在使用多领域数据时,混合多个相差较大的领域数据进行训练会使单个领域的翻译性能下降
\upcite
{
DBLP:conf/eacl/NegriTFBF17
}
。 为了解决这一问题,可以对所有训练数据的来源领域进行区分,一个比较典型的做法是在使用多领域数据训练时,在神经机器翻译模型的编码器顶部中添加一个判别器
\upcite
{
DBLP:conf/wmt/BritzLP17
}
,该判别器使用源语言句子
$
x
$
的编码器表示作为输入,预测句子所属的领域标签
$
d
$
,如图
\ref
{
fig:16-20
}
所示。为了使预测领域标签
$
d
$
的正确概率
$
\funp
{
P
(
d|
\mathbi
{
H
}
)
}$
最大(其中
$
\mathbi
{
H
}$
为编码器的隐藏状态),模型在训练过程中最小化如下损失函数
$
\funp
{
L
}_{
\rm
{
disc
}}$
:
\parinterval
在使用多领域数据时,混合多个相差较大的领域数据进行训练会使单个领域的翻译性能下降
\upcite
{
DBLP:conf/eacl/NegriTFBF17
}
。 为了解决这一问题,可以对所有训练数据的来源领域进行区分,一个比较典型的做法是在使用多领域数据训练时,在神经机器翻译模型的编码器顶部中添加一个判别器
\upcite
{
britz2017effective
}
,该判别器使用源语言句子
$
x
$
的编码器表示作为输入,预测句子所属的领域标签
$
d
$
,如图
\ref
{
fig:16-20
}
所示。为了使预测领域标签
$
d
$
的正确概率
$
\funp
{
P
(
d|
\mathbi
{
H
}
)
}$
最大(其中
$
\mathbi
{
H
}$
为编码器的隐藏状态),模型在训练过程中最小化如下损失函数
$
\funp
{
L
}_{
\rm
{
disc
}}$
:
\begin{eqnarray}
\funp
{
L
}_{
\rm
{
disc
}}&
=
&
-
\log\funp
{
P
}
(d|
\mathbi
{
H
}
)
...
...
@@ -883,13 +883,13 @@
\item
如何更高效地利用已有双语数据或单语数据进行数据增强始终是一个热点问题。研究人员分别探索了源语言单语和目标语言单语的使用方法
\upcite
{
DBLP:conf/emnlp/ZhangZ16,DBLP:conf/emnlp/WuWXQLL19,DBLP:conf/acl/XiaKAN19
}
,以及如何对已有双语数据进行修改
\upcite
{
DBLP:conf/emnlp/WangPDN18,DBLP:conf/acl/GaoZWXQCZL19
}
。经过数据增强得到的伪数据的质量时好时坏,如何提高伪数据的质量,以及更好地利用伪数据进行训练也是十分重要的问题
\upcite
{
DBLP:conf/emnlp/FadaeeM18,DBLP:conf/nlpcc/XuLXLLXZ19,DBLP:conf/wmt/CaswellCG19,DBLP:journals/corr/abs200403672,DBLP:conf/emnlp/WangLWLS19
}
。此外,还有一些工作对数据增强技术进行了理论分析
\upcite
{
DBLP:conf/emnlp/LiLHZZ19,DBLP:conf/acl/MarieRF20
}
。
\vspace
{
0.5em
}
\item
预训练模型也是自然语言处理的重要突破之一,也给低资源机器翻译提供了新的思路。除了基于语言模型或掩码语言模型的方法,也有很多新的架构和模型被提出,如排列语言模型、降噪自编码器等
\upcite
{
DBLP:conf/nips/YangDYCSL19,DBLP:conf/acl/LewisLGGMLSZ20,DBLP:conf/iclr/LanCGGSS20,DBLP:conf/acl/ZhangHLJSL19
}
。预训练技术也逐渐向多语言领域扩展
\upcite
{
DBLP:conf/nips/ConneauL19,DBLP:conf/emnlp/HuangLDGSJZ19,song2019mass
}
,甚至不再只局限于文本任务
\upcite
{
DBLP:conf/iccv/SunMV0S19,DBLP:journals/corr/abs-2010-12831,DBLP:conf/nips/LuBPL19,DBLP:conf/interspeech/ChuangLLL20
}
。对于如何将预训练模型高效地应用到下游任务中,也进行了很多的经验性对比与分析
\upcite
{
DBLP:journals/corr/abs-1802-05365
,DBLP:conf/rep4nlp/PetersRS19,DBLP:conf/cncl/SunQXH19
}
。但将预训练模型应用于下游任务存在的一个问题是,模型巨大的参数量会带来较大的延时及显存消耗。因此,很多工作对如何压缩预训练模型进行了研究
\upcite
{
shen2020q,Lan2020ALBERTAL,DBLP:journals/corr/abs-1910-01108,Jiao2020TinyBERTDB
}
。
\item
预训练模型也是自然语言处理的重要突破之一,也给低资源机器翻译提供了新的思路。除了基于语言模型或掩码语言模型的方法,也有很多新的架构和模型被提出,如排列语言模型、降噪自编码器等
\upcite
{
DBLP:conf/nips/YangDYCSL19,DBLP:conf/acl/LewisLGGMLSZ20,DBLP:conf/iclr/LanCGGSS20,DBLP:conf/acl/ZhangHLJSL19
}
。预训练技术也逐渐向多语言领域扩展
\upcite
{
DBLP:conf/nips/ConneauL19,DBLP:conf/emnlp/HuangLDGSJZ19,song2019mass
}
,甚至不再只局限于文本任务
\upcite
{
DBLP:conf/iccv/SunMV0S19,DBLP:journals/corr/abs-2010-12831,DBLP:conf/nips/LuBPL19,DBLP:conf/interspeech/ChuangLLL20
}
。对于如何将预训练模型高效地应用到下游任务中,也进行了很多的经验性对比与分析
\upcite
{
Peters2018DeepCW
,DBLP:conf/rep4nlp/PetersRS19,DBLP:conf/cncl/SunQXH19
}
。但将预训练模型应用于下游任务存在的一个问题是,模型巨大的参数量会带来较大的延时及显存消耗。因此,很多工作对如何压缩预训练模型进行了研究
\upcite
{
shen2020q,Lan2020ALBERTAL,DBLP:journals/corr/abs-1910-01108,Jiao2020TinyBERTDB
}
。
\vspace
{
0.5em
}
\item
多任务学习是多语言翻译的一种典型方法。通过共享编码器模块或是注意力模块来进行一对多
\upcite
{
DBLP:conf/acl/DongWHYW15
}
或多对一
\upcite
{
DBLP:journals/tacl/LeeCH17
}
或多对多
\upcite
{
DBLP:conf/naacl/FiratCB16
}
的学习,然而这些方法需要为每个翻译语言对设计单独的编码器和解码器,限制了其扩展性。为了解决以上问题,研究人员进一步探索了用于多语言翻译的单个机器翻译模型的方法,也就是本章提到的多语言单模型系统
\upcite
{
DBLP:journals/corr/HaNW16,DBLP:journals/tacl/JohnsonSLKWCTVW17
}
。为了弥补多语言单模型系统中缺乏语言表示多样性的问题,可以重新组织分享模块,设计特定任务相关模块
\upcite
{
DBLP:conf/coling/BlackwoodBW18,DBLP:conf/wmt/SachanN18,DBLP:conf/wmt/LuKLBZS18,DBLP:conf/acl/WangZZZXZ19
}
;也可以将多语言单词编码和语言聚类分离,用一种多语言词典编码框架智能地共享词汇级别的信息,有助于语言间的泛化
\upcite
{
DBLP:conf/iclr/WangPAN19
}
;还可以将语言聚类为不同的组,并为每个聚类单独训练一个多语言模型
\upcite
{
DBLP:conf/emnlp/TanCHXQL19
}
。
\vspace
{
0.5em
}
\item
零资源翻译也是近几年受到广泛关注的研究方向
\upcite
{
firat2016zero,DBLP:journals/corr/abs-1805-10338
}
。在零资源翻译中,仅使用少量并行语料库(覆盖
$
k
$
个语言),单个多语言翻译模型就能在任何
$
k
(
k
-
1
)
$
个语言对之间进行翻译
\upcite
{
DBLP:conf/naacl/Al-ShedivatP19
}
。 但是,零资源翻译的性能通常很不稳定并且明显落后于有监督的翻译方法。为了改善零资源翻译,可以开发新的跨语言正则化方法,例如对齐正则化方法
\upcite
{
DBLP:journals/corr/abs-1903-07091
}
,一致性正则化方法
\upcite
{
DBLP:conf/naacl/Al-ShedivatP19
}
;也可以通过反向翻译或基于枢轴语言的翻译生成伪数据
\upcite
{
DBLP:conf/acl/GuWCL19,
DBLP:conf/emnlp/FiratSAYC16
,DBLP:conf/emnlp/CurreyH19
}
。
\item
零资源翻译也是近几年受到广泛关注的研究方向
\upcite
{
firat2016zero,DBLP:journals/corr/abs-1805-10338
}
。在零资源翻译中,仅使用少量并行语料库(覆盖
$
k
$
个语言),单个多语言翻译模型就能在任何
$
k
(
k
-
1
)
$
个语言对之间进行翻译
\upcite
{
DBLP:conf/naacl/Al-ShedivatP19
}
。 但是,零资源翻译的性能通常很不稳定并且明显落后于有监督的翻译方法。为了改善零资源翻译,可以开发新的跨语言正则化方法,例如对齐正则化方法
\upcite
{
DBLP:journals/corr/abs-1903-07091
}
,一致性正则化方法
\upcite
{
DBLP:conf/naacl/Al-ShedivatP19
}
;也可以通过反向翻译或基于枢轴语言的翻译生成伪数据
\upcite
{
DBLP:conf/acl/GuWCL19,
firat2016zero
,DBLP:conf/emnlp/CurreyH19
}
。
\vspace
{
0.5em
}
\end{itemize}
...
...
Chapter17/chapter17.tex
查看文件 @
dc4cb935
...
...
@@ -493,7 +493,7 @@
\parinterval
从对篇章信息建模的角度看,在统计机器翻译时代就已经有大量的研究工作。这些工作大多针对某一具体的上下文现象,比如,篇章结构
\upcite
{
DBLP:conf/anlp/MarcuCW00,foster2010translating,DBLP:conf/eacl/LouisW14
}
、代词回指
\upcite
{
DBLP:conf/iwslt/HardmeierF10,DBLP:conf/wmt/NagardK10,DBLP:conf/eamt/LuongP16,
}
、词汇衔接
\upcite
{
tiedemann2010context,DBLP:conf/emnlp/GongZZ11,DBLP:conf/ijcai/XiongBZLL13,xiao2011document
}
和篇章连接词
\upcite
{
DBLP:conf/sigdial/MeyerPZC11,DBLP:conf/hytra/MeyerP12,
}
等。但是由于统计机器翻译本身流程复杂,依赖于许多组件和针对上下文现象所精心构造的特征,其建模方法相对比较困难。到了神经机器翻译时代,端到端建模给篇章级翻译提供了新的视角,相关工作不断涌现并且取得了很好的进展
\upcite
{
DBLP:journals/corr/abs-1912-08494
}
。
\parinterval
区别于篇章级统计机器翻译,篇章级神经机器翻译不需要针对某一具体的上下文现象构造相应的特征,而是通过翻译模型本身从上下文句子中抽取和融合的上下文信息。通常情况下,篇章级机器翻译可以采用局部建模的手段将前一句或者周围几句作为上下文送入模型。针对需要长距离上下文的情况,也可以使用全局建模的手段直接从篇章中所有句子中提取上下文信息。近几年多数研究工作都在探索更有效的局部建模或全局建模方法,主要包括改进输入
\upcite
{
DBLP:conf/discomt/TiedemannS17,DBLP:conf/naacl/BawdenSBH18,DBLP:conf/wmt/GonzalesMS17,DBLP:journals/corr/abs-1910-07481
}
、多编码器结构
\upcite
{
DBLP:journals/corr/JeanLFC17,DBLP:
conf/acl/TitovSSV18
,DBLP:conf/emnlp/ZhangLSZXZL18
}
、层次结构
\upcite
{
DBLP:conf/naacl/MarufMH19,DBLP:conf/acl/HaffariM18,DBLP:conf/emnlp/YangZMGFZ19,DBLP:conf/ijcai/ZhengYHCB20
}
以及基于缓存的方法
\upcite
{
DBLP:conf/coling/KuangXLZ18,DBLP:journals/tacl/TuLSZ18
}
四类。
区别于篇章级统计机器翻译,篇章级神经机器翻译不需要针对某一具体的上下文现象构造相应的特征,而是通过翻译模型本身从上下文句子中抽取和融合的上下文信息。通常情况下,篇章级机器翻译可以采用局部建模的手段将前一句或者周围几句作为上下文送入模型。针对需要长距离上下文的情况,也可以使用全局建模的手段直接从篇章中所有句子中提取上下文信息。近几年多数研究工作都在探索更有效的局部建模或全局建模方法,主要包括改进输入
\upcite
{
DBLP:conf/discomt/TiedemannS17,DBLP:conf/naacl/BawdenSBH18,DBLP:conf/wmt/GonzalesMS17,DBLP:journals/corr/abs-1910-07481
}
、多编码器结构
\upcite
{
DBLP:journals/corr/JeanLFC17,DBLP:
journals/corr/abs-1805-10163
,DBLP:conf/emnlp/ZhangLSZXZL18
}
、层次结构
\upcite
{
DBLP:conf/naacl/MarufMH19,DBLP:conf/acl/HaffariM18,DBLP:conf/emnlp/YangZMGFZ19,DBLP:conf/ijcai/ZhengYHCB20
}
以及基于缓存的方法
\upcite
{
DBLP:conf/coling/KuangXLZ18,DBLP:journals/tacl/TuLSZ18
}
四类。
\parinterval
此外,篇章级机器翻译面临的另外一个挑战是数据稀缺。篇章级机器翻译所需要的双语数据需要保留篇章边界,数量相比于句子级双语数据要少很多。除了在之前提到的端到端方法中采用预训练或者参数共享的手段(见
{
\chaptersixteen
}
),也可以采用新的建模手段来缓解数据稀缺问题。比如,在句子级翻译模型的推断过程中,通过篇章级语言模型在目标端引入上下文信息
\upcite
{
DBLP:conf/discomt/GarciaCE19,DBLP:journals/tacl/YuSSLKBD20,DBLP:journals/corr/abs-2010-12827
}
,或者对句子级的翻译结果进行修正
\upcite
{
DBLP:conf/aaai/XiongH0W19,DBLP:conf/acl/VoitaST19,DBLP:conf/emnlp/VoitaST19
}
(
{
\color
{
red
}
如何修正?用什么修正?修正什么?感觉这句话没有信息量
}
)。
...
...
@@ -515,7 +515,7 @@
\subsection
{
篇章级翻译的建模
}
\parinterval
在理想情况下,篇章级翻译应该以整个篇章为单位作为模型的输入和输出。然而由于现实中篇章对应的序列过长,因此直接建模整个篇章的词序列难度很大,这使得主流的序列到序列模型很难直接使用。一种思路是采用能够处理超长序列的模型对篇章序列建模,比如,使用
{
\chapterfifteen
}
中提到的处理长序列的Transformer模型就是一种的解决方法
\upcite
{
DBLP:conf/iclr/KitaevKL20
}
。不过,这类模型并不针对篇章级翻译的具体问题,因此并不是篇章级翻译中的主流方法。
\parinterval
在理想情况下,篇章级翻译应该以整个篇章为单位作为模型的输入和输出。然而由于现实中篇章对应的序列过长,因此直接建模整个篇章的词序列难度很大,这使得主流的序列到序列模型很难直接使用。一种思路是采用能够处理超长序列的模型对篇章序列建模,比如,使用
{
\chapterfifteen
}
中提到的处理长序列的Transformer模型就是一种的解决方法
\upcite
{
Kitaev2020ReformerTE
}
。不过,这类模型并不针对篇章级翻译的具体问题,因此并不是篇章级翻译中的主流方法。
\parinterval
现在常见的端到端做法还是从句子级翻译出发,通过额外的模块来对篇章中的上下文句子进行表示,然后提取相应的上下文信息并融入到当前句子的翻译过程中。形式上,篇章级翻译的建模方式如下:
\begin{eqnarray}
...
...
@@ -524,7 +524,7 @@
\end{eqnarray}
其中,
$
\seq
{
X
}$
和
$
\seq
{
Y
}$
分别为源语言篇章和目标语言篇章,
$
X
_
i
$
和
$
Y
_
i
$
分别为源语言篇章和目标语言篇章中的某个句子,
$
T
$
表示篇章中句子的数目
\footnote
{
为了简化问题,为了假设源语言端和目标语言段具有相同的句子数目
$
T
$
。
}
。
$
D
_
i
$
表示翻译第
$
i
$
个句子时所对应的上下文句子集合,理想情况下,
$
D
_
i
$
中包含源语言篇章和目标语言篇章中所有除第
$
i
$
句之外的句子,但考虑到不同的任务场景需求与模型的应用效率,篇章级神经机器翻译在建模的时候通常仅使用其中的一部分作为上下文句子输入。
\parinterval
上下文范围的选取是篇章级神经机器翻译需要着重考虑的问题,比如上下文句子的多少
\upcite
{
agrawal2018contextual,
DBLP:conf/emnlp/WerlenRPH18,DBLP:conf/naacl/MarufMH19
}
,是否考虑目标端上下文句子
\upcite
{
DBLP:conf/discomt/TiedemannS17,agrawal2018contextual
}
等。此外,不同的上下文范围也对应着不同的建模方法,接下来将对一些典型的方法进行介绍,包括改进输入
\upcite
{
DBLP:conf/discomt/TiedemannS17,DBLP:conf/naacl/BawdenSBH18,DBLP:conf/wmt/GonzalesMS17,DBLP:journals/corr/abs-1910-07481
}
、多编码器模型
\upcite
{
DBLP:journals/corr/JeanLFC17,DBLP:conf/acl/TitovSSV18
,DBLP:conf/emnlp/ZhangLSZXZL18
}
、层次结构模型
\upcite
{
DBLP:conf/emnlp/WangTWL17,DBLP:conf/emnlp/TanZXZ19,Werlen2018DocumentLevelNM
}
以及基于缓存的方法
\upcite
{
DBLP:conf/coling/KuangXLZ18,DBLP:journals/tacl/TuLSZ18
}
。
\parinterval
上下文范围的选取是篇章级神经机器翻译需要着重考虑的问题,比如上下文句子的多少
\upcite
{
agrawal2018contextual,
Werlen2018DocumentLevelNM,DBLP:conf/naacl/MarufMH19
}
,是否考虑目标端上下文句子
\upcite
{
DBLP:conf/discomt/TiedemannS17,agrawal2018contextual
}
等。此外,不同的上下文范围也对应着不同的建模方法,接下来将对一些典型的方法进行介绍,包括改进输入
\upcite
{
DBLP:conf/discomt/TiedemannS17,DBLP:conf/naacl/BawdenSBH18,DBLP:conf/wmt/GonzalesMS17,DBLP:journals/corr/abs-1910-07481
}
、多编码器模型
\upcite
{
DBLP:journals/corr/JeanLFC17,DBLP:journals/corr/abs-1805-10163
,DBLP:conf/emnlp/ZhangLSZXZL18
}
、层次结构模型
\upcite
{
DBLP:conf/emnlp/WangTWL17,DBLP:conf/emnlp/TanZXZ19,Werlen2018DocumentLevelNM
}
以及基于缓存的方法
\upcite
{
DBLP:conf/coling/KuangXLZ18,DBLP:journals/tacl/TuLSZ18
}
。
%----------------------------------------------------------------------------------------
% NEW SUBSUB-SECTION
...
...
@@ -600,7 +600,7 @@
\parinterval
多编码器结构通过额外的编码器对前一句进行编码,但是当处理更多上下文句子的时候仍然面临效率低下的问题。为了捕捉更大范围的上下文,可以采用层次结构来对更多的上下文句子进行建模。层次结构是一种有效的序列表示方法,而且人类语言中天然就具有层次性,比如,句法树、篇章结构树等。类似的思想也成功的应用在基于树的句子级翻译模型中(
{
\chaptereight
}
和
{
\chapterfifteen
}
)。
\parinterval
图
\ref
{
fig:17-19
}
描述了一个基于层次注意力的模型结构
\upcite
{
DBLP:conf/emnlp/WerlenRPH18
}
。首先通过翻译模型的编码器获取前
$
k
$
个句子的词序列编码表示
$
(
\mathbi
{
h
}^{
\textrm
{
pre
}
1
}
,
\mathbi
{
h
}^{
\textrm
{
pre
}
2
}
,
\dots
,
\mathbi
{
h
}^{
\textrm
{
pre
}
k
}
)
$
,然后针对前文每个句子的词序列编码表示
$
\mathbi
{
h
}^{
\textrm
{
pre
}
j
}$
,使用词级注意力提取句子级的上下文信息
$
\mathbi
{
s
}^{
j
}$
,然后在这
$
k
$
个句子级上下文信息
$
\mathbi
{
s
}
=(
\mathbi
{
s
}^
1
,
\mathbi
{
s
}^
2
,
\dots
,
\mathbi
{
s
}^
k
)
$
的基础上,使用句子级注意力提取篇章上下文信息
$
\mathbi
{
d
}$
。最终上下文信息
$
\mathbi
{
d
}$
的获取涉及到词级和句子级两个不同层次的注意力操作,因此将该过程称为层次注意力。实际上,这种方法并没有使用语言学的篇章层次结构。但是,句子级注意力在归纳统计意义上的篇章结构,因此这种方法也可以很好地捕捉不同句子之间的关系。
\parinterval
图
\ref
{
fig:17-19
}
描述了一个基于层次注意力的模型结构
\upcite
{
Werlen2018DocumentLevelNM
}
。首先通过翻译模型的编码器获取前
$
k
$
个句子的词序列编码表示
$
(
\mathbi
{
h
}^{
\textrm
{
pre
}
1
}
,
\mathbi
{
h
}^{
\textrm
{
pre
}
2
}
,
\dots
,
\mathbi
{
h
}^{
\textrm
{
pre
}
k
}
)
$
,然后针对前文每个句子的词序列编码表示
$
\mathbi
{
h
}^{
\textrm
{
pre
}
j
}$
,使用词级注意力提取句子级的上下文信息
$
\mathbi
{
s
}^{
j
}$
,然后在这
$
k
$
个句子级上下文信息
$
\mathbi
{
s
}
=(
\mathbi
{
s
}^
1
,
\mathbi
{
s
}^
2
,
\dots
,
\mathbi
{
s
}^
k
)
$
的基础上,使用句子级注意力提取篇章上下文信息
$
\mathbi
{
d
}$
。最终上下文信息
$
\mathbi
{
d
}$
的获取涉及到词级和句子级两个不同层次的注意力操作,因此将该过程称为层次注意力。实际上,这种方法并没有使用语言学的篇章层次结构。但是,句子级注意力在归纳统计意义上的篇章结构,因此这种方法也可以很好地捕捉不同句子之间的关系。
\parinterval
为了增强模型表示能力,层次注意力中并未直接使用当前句子第
$
t
$
个位置的编码表示
$
\mathbi
{
h
}_{
t
}$
作为查询,而是通过
$
f
_
w
$
和
$
f
_
s
$
两个线性变换分别获取词级注意力和句子级注意力的查询
$
\mathbi
{
q
}_{
w
}$
和
$
\mathbi
{
q
}_{
s
}$
,定义如下:
...
...
@@ -687,7 +687,7 @@
\item
此外,语音翻译的一个重要应用是机器同声传译。机器同声传译的一个难点在于不同语言的文字顺序不同。这个问题导致了同声传译模型需要在翻译性能和实时性之间进行取舍。目前,同声传译的一种思路是基于目前已经说出的语音进行翻译
\upcite
{
DBLP:conf/acl/MaHXZLZZHLLWW19
}
,比如,等待源语
$
k
$
个词语,然后再进行翻译,同时改进束搜索方式来预测未来的词序列,从而提升准确度
\upcite
{
DBLP:conf/emnlp/ZhengMZH19
}
。或者,对当前语音进行翻译,但需要判断翻译的词是否能够作为最终结果。如果是则不需要重新解码,否则将会根据之后的语音重新进行解码
\upcite
{
DBLP:conf/naacl/DalviDSV18,DBLP:journals/corr/ChoE16
}
。第二种思路是动态预测当前时刻是应该继续等待还是开始翻译,这种方式更符合人类进行同传的思路。但是这种策略的难点在于标注每一时刻的决策状态十分耗时且标准难以统一,目前主流的方式是利用强化学习方法
\upcite
{
DBLP:conf/eacl/NeubigCGL17,DBLP:conf/emnlp/GrissomHBMD14
}
,对句子进行不同决策方案采样,最终学到最优的决策方案。此外,还有一些工作设计不同的学习策略
\upcite
{
DBLP:conf/acl/ZhengLZMLH20,DBLP:conf/emnlp/ZhengZMH19,DBLP:conf/acl/ZhengZMH19
}
或改进注意力机制
\upcite
{
DBLP:conf/acl/ArivazhaganCMCY19
}
以提升机器同声传译的性能。
\vspace
{
0.5em
}
\item
在篇章级翻译方面,一些研究工作对这类模型的上下文建模能力进行了探索
\upcite
{
DBLP:conf/discomt/KimTN19,DBLP:conf/acl/LiLWJXZLL20
}
,发现模型性能在小数据集上的BLEU提升并不完全来自于上下文信息的利用。同时,受限于数据规模,篇章级翻译模型相对难以训练。一些研究人员通过调整训练策略来帮助模型更容易捕获上下文信息
\upcite
{
DBLP:journals/corr/abs-1903-04715,DBLP:conf/acl/SaundersSB20,DBLP:conf/mtsummit/StojanovskiF19
}
。除了训练策略的调整,也可以使用数据增强和预训练的手段来缓解数据稀缺的问题
\upcite
{
DBLP:conf/discomt/SugiyamaY19,DBLP:journals/corr/abs-1911-03110,DBLP:journals/
tacl/LiuGGLEGLZ2
0
}
。此外,区别于传统的篇章级翻译,一些对话翻译也需要使用长距离上下文信息
\upcite
{
DBLP:conf/wmt/MarufMH18
}
。
\item
在篇章级翻译方面,一些研究工作对这类模型的上下文建模能力进行了探索
\upcite
{
DBLP:conf/discomt/KimTN19,DBLP:conf/acl/LiLWJXZLL20
}
,发现模型性能在小数据集上的BLEU提升并不完全来自于上下文信息的利用。同时,受限于数据规模,篇章级翻译模型相对难以训练。一些研究人员通过调整训练策略来帮助模型更容易捕获上下文信息
\upcite
{
DBLP:journals/corr/abs-1903-04715,DBLP:conf/acl/SaundersSB20,DBLP:conf/mtsummit/StojanovskiF19
}
。除了训练策略的调整,也可以使用数据增强和预训练的手段来缓解数据稀缺的问题
\upcite
{
DBLP:conf/discomt/SugiyamaY19,DBLP:journals/corr/abs-1911-03110,DBLP:journals/
corr/abs-2001-0821
0
}
。此外,区别于传统的篇章级翻译,一些对话翻译也需要使用长距离上下文信息
\upcite
{
DBLP:conf/wmt/MarufMH18
}
。
\vspace
{
0.5em
}
\item
此外,多模态机器翻译、图像描述、视觉问答等多模态任务受到广泛关注。如何将多个模态的信息充分融合,是研究多模态任务的重要问题。另外,数据稀缺是大多数多模态任务的瓶颈之一,可以采取数据增强
\upcite
{
DBLP:conf/emnlp/GokhaleBBY20,DBLP:conf/eccv/Tang0ZWY20
}
的方式缓解。但是,这时仍需要回答在:模型没有充分训练时,图像等模态信息究竟在翻译里发挥了多少作用?类似的问题在篇章级机器翻译中也存在,上下文模型在训练数据量很小的时候对翻译的作用十分微弱
\upcite
{
DBLP:conf/acl/LiLWJXZLL20
}
。此外,受到预训练模型的启发,在多模态领域,图像和文本联合预训练
\upcite
{
DBLP:conf/eccv/Li0LZHZWH0WCG20,DBLP:conf/aaai/ZhouPZHCG20,DBLP:conf/iclr/SuZCLLWD20
}
的工作也相继开展。
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论