Commit f686d0c9 by zengxin

18

parent 224ebf11
......@@ -7,19 +7,29 @@
% ,minimum height =1em,minimum width=2em
\tikzstyle{model} = [draw,black,very thick,inner sep=3.5pt,rounded corners=4pt,fill=blue!20,minimum width=4em,minimum height=1.5em,font=\footnotesize]
\tikzstyle{data} = [draw,black,very thick,inner sep=3.5pt,rounded corners=4pt,fill=green!20,minimum width=4em,minimum height=1.5em,font=\footnotesize]
\tikzstyle{data2} = [draw,black,very thick,inner sep=3.5pt,rounded corners=4pt,minimum width=2em,minimum height=1.5em,font=\footnotesize]
\tikzstyle{word} = [inner sep=3.5pt,font=\footnotesize]
\node[data] (old) at (0,0) {旧数据};
\node[data] (new) at ([xshift=3em]old.east) {新数据};
\node[data2,fill=green!60] (old) at (0,0) {};
\node[data2,fill=green!20] (old2) at ([xshift=0.9em]old.east) {};
\node[word] at (0.1,0.5) {旧数据};
\node[data] (new) at ([xshift=3em]old2.east) {新数据};
\node[data] (all) at ([xshift=2.55em,yshift=-4em]old.south) {最终数据};
\node[model] (final_model) at ([xshift=0em,yshift=-4em]all.south) {最终模型};
\draw [->,thick] ([yshift=-0.2em]old.south) .. controls +(south:2.5em) and +(north:2.5em) .. ([xshift=-0.2em,yshift=0.2em]all.north);
\draw [->,thick] ([yshift=-0.2em]old2.south) .. controls +(south:2.5em) and +(north:2.5em) .. ([xshift=-0.2em,yshift=0.2em]all.north);
\draw [->,thick] ([yshift=-0.2em]new.south) .. controls +(south:2.5em) and +(north:2.5em) .. ([xshift=0.2em,yshift=0.2em]all.north);
\draw [->,thick] ([yshift=-0.2em]all.south) -- ([yshift=0.2em]final_model.north)node[pos=0.5,right,align=center,font=\footnotesize] {训练};
\node[word] at ([yshift=-2em]final_model.south){(a)数据混合};
\begin{pgfonlayer}{background}
\node [rectangle,inner sep=0.5em,rounded corners=1pt,minimum width=4.5em,minimum height=3.2em,draw=red!50,dotted,very thick] at (0.37,0.15) {};
\end{pgfonlayer}
\end{scope}
\end{tikzpicture}
&
......
......@@ -40,7 +40,7 @@
\item 机器翻译模型很脆弱。实验环境下,给定翻译任务,甚至给定训练和测试数据,机器翻译模型可以表现得很好。但是,应用场景是不断变化的。经常会出现训练数据缺乏、应用领域与训练数据不匹配、用户的测试方法与开发者不同等等一系列问题。特别是,对于不同的任务,神经机器翻译模型需要进行非常细致的调整,理想中“一套包打天下”的模型和设置是不存在的。这些都导致一个结果:直接使用既有机器翻译模型很难满足不断变化的应用需求。
\vspace{0.5em}
\item 机器翻译缺少针对场景的应用技术。目前为止,机器翻译的研究进展已经为我们提供很好的机器翻译基础模型。但是,用户并不是简单的与这些模型“打交道”,他们更加关注如何解决自身的业务需求,例如,机器翻译应用的交互方式、系统是否可以自己预估翻译可信度等等。甚至,在某些场景中,用户对翻译模型的体积和速度都有非常严格的要求。
\item 机器翻译缺少针对场景的应用技术。目前为止,机器翻译的研究进展已经为我们提供很好的机器翻译基础模型。但是,用户并不是简单的与这些模型“打交道”,他们更加关注如何解决自身的业务需求,例如,机器翻译应用的交互方式、系统是否可以自己预估翻译可信度等等。甚至,在某些场景中,用户对翻译模型占用的存储空间和运行速度都有非常严格的要求。
\vspace{0.5em}
\item 优秀系统的研发需要长时间的打磨。工程打磨也是研发优秀机器翻译系统的必备条件,有些时候甚至是决定性的。从科学研究的角度看,我们需要对更本质的科学问题进行探索,而非简单的工程开发与调试。但是,对一个初级的系统进行研究往往会掩盖掉“真正的问题”,因为很多问题在更优秀的系统中并不存在。
......@@ -98,7 +98,7 @@
\parinterval 需要注意的是,理想状态下,系统使用者会希望系统看到少量句子就可以很好地解决一类翻译问题,即:进行真正的小样本学习。但是,现实的情况是,现在的机器翻译系统还无法很好的做到“举一反三”。增量训练也需要专业人士完成才能得到相对较好的效果。
\parinterval 另一个实际的问题是,当应用场景没有双语句对时是否可以优化系统?这个问题在{\chaptersixteen}领域适应部分进行了一些讨论。一般来说,如果目标任务没有双语数据,仍然可以使用单语数据进行优化。常用的方法有数据增强、基于语言模型的方法等。具体方法可以参考{\chaptersixteen}的内容。
\parinterval 另一个实际的问题是,当应用场景没有双语句对时是否可以优化系统?这个问题在{\chaptersixteen}低资源翻译部分进行了一些讨论。一般来说,如果目标任务没有双语数据,仍然可以使用单语数据进行优化。常用的方法有数据增强、基于语言模型的方法等。具体方法可以参考{\chaptersixteen}的内容。
%----------------------------------------------------------------------------------------
% NEW SECTION
......@@ -110,7 +110,7 @@
\parinterval 交互式机器翻译的大致流程如下:机器翻译系统根据用户输入的源语言句子预测出可能的译文交给用户,然后用户在现有翻译的基础上进行接受、修改或者删除等操作,然后翻译系统根据用户的反馈信息再次生成比前一次更好的翻译并提交给用户。以此循环,直到得到最终的译文。
\parinterval\ref{fig:18-2}给出了一个使用TranSmart系统\footnote{\url{ https://transmart.qq.com/index}}进行交互式机器翻译的例子,在这里要将一个汉语句子“疼痛/也/可能/会在/夜间/使/你/醒来。”翻译成英语“The pain may also wake you up during the night .”。在开始交互之前,系统首先推荐一个可能的译文“The pain may also wake you up at night .”。在第一次交互中,用户将单词at替换成during,然后系统根据用户修改后的译文立即给出新的译文候选,提供给用户选择。循环往复,直到用户接受了系统当前推荐的译文。
\parinterval\ref{fig:18-2}给出了一个使用TranSmart系统\footnote{\url{https://transmart.qq.com/index}}进行交互式机器翻译的例子,在这里要将一个汉语句子“疼痛/也/可能/会在/夜间/使/你/醒来。”翻译成英语“Pain may also wake you up during the night .”。在开始交互之前,系统首先推荐一个可能的译文“Pain may also wake you up at night .”。在第一次交互中,用户将单词at替换成during,然后系统根据用户修改后的译文立即给出新的译文候选,提供给用户选择。循环往复,直到用户接受了系统当前推荐的译文。
%----------------------------------------------
\begin{figure}[htp]
......@@ -145,10 +145,10 @@
\section{翻译结果可干预性}
\parinterval 交互式机器翻译体现了一种用户的行为“干预”机器翻译结果的思想。实际上,在机器翻译出现错误时,人们总是希望用一种直接有效的方式“改变”译文,最短时间内达到改善翻译质量的目的。比如,如果机器翻译系统可以输出多个候选译文,用户可以在其中挑选最好的译文进行输出。也就是,人为干预了译文候选的排序过程。另一个例子是{\small\bfnew{翻译记忆}}\index{翻译记忆}(Translation Memory\index{Translation Memory})。翻译记忆记录了高质量的源语言-目标语言句对,有时也可以被看作是一种先验知识或“记忆”。因此,当进行机器翻译时,使用翻译记忆指导翻译过程也可以被看作是一种干预手段\upcite{DBLP:conf/acl/WangZS13,DBLP:conf/aaai/XiaHLS19}
\parinterval 交互式机器翻译体现了一种用户的行为“干预”机器翻译结果的思想。实际上,在机器翻译出现错误时,人们总是希望用一种直接有效的方式“改变”译文,最短时间内达到改善翻译质量的目的。比如,如果机器翻译系统可以输出多个候选译文,用户可以在其中挑选最好的译文进行输出。也就是,人为干预了译文候选的排序过程。另一个例子是{\small\bfnew{翻译记忆}}\index{翻译记忆}(Translation Memory,TM\index{Translation Memory})。翻译记忆记录了高质量的源语言-目标语言句对,有时也可以被看作是一种先验知识或“记忆”。因此,当进行机器翻译时,使用翻译记忆指导翻译过程也可以被看作是一种干预手段\upcite{DBLP:conf/acl/WangZS13,DBLP:conf/aaai/XiaHLS19}
\parinterval 虽然干预机器翻译系统的方式很多,最常用的还是对源语言特定片段翻译的干预,以期望最终句子的译文满足某些约束。这个问题也被称作{\small\bfnew{基于约束的翻译}}\index{基于约束的翻译} (Constraint-based Translation\index{Constraint-based Translation})。比如,在翻译网页时,需要保持译文中的网页标签与源文一致。另一个典型例子是术语翻译。在实际应用中,经常会遇到公司名称、品牌名称、产品名称等专有名词和行业术语,以及不同含义的缩写,比如,对于“小牛翻译”这个专有名词,不同的机器翻译系统给出的结果不一样:“Maverick translation”、“Calf translation”、“The mavericks translation”等等,而它正确的翻译应该为“NiuTrans”。 对于这些类似的特殊词汇,机器翻译引擎很难翻译得准确。一方面,因为模型大多是在通用数据集上训练出来的,并不能保证数据集能涵盖所有的语言现象。另一方面,即使是这些术语在训练数据中出现,它们通常也是低频的,模型不容易捕捉它们的规律。为了保证翻译的准确性,对术语翻译进行干预是十分有必要的,对领域适应等问题的求解也是非常有意义的。
\parinterval 虽然干预机器翻译系统的方式很多,最常用的还是对源语言特定片段翻译的干预,以期望最终句子的译文满足某些约束。这个问题也被称作{\small\bfnew{基于约束的翻译}}\index{基于约束的翻译} (Constraint-based Translation\index{Constraint-based Translation})。比如,在翻译网页时,需要保持译文中的网页标签与源文一致。另一个典型例子是术语翻译。在实际应用中,经常会遇到公司名称、品牌名称、产品名称等专有名词和行业术语,以及不同含义的缩写,比如,对于“小牛翻译”这个专有名词,不同的机器翻译系统给出的结果不一样:“Maverick translation”、“Calf translation”、“The mavericks translation”等等,而它正确的翻译应该为“NiuTrans”。 对于这些类似的特殊词汇,机器翻译引擎很难翻译得准确。一方面,因为模型大多是在通用数据集上训练出来的,并不能保证数据集能涵盖所有的语言现象。另一方面,即使是这些术语在训练数据中出现,它们通常也是低频的,模型不容易捕捉它们的规律。为了保证翻译的准确性,对术语翻译进行干预是十分有必要的,对领域适应等问题的求解也是非常有意义的。
\parinterval{\small\bfnew 词汇约束翻译}\index{词汇约束翻译}(Lexically Constrained Translation)\index{Lexically Constrained Translation}而言,在不干预的情况下让模型直接翻译出正确术语是很难的,因为术语的译文很可能是未登录词,因此必须人为提供额外的术语词典,那么我们的目标就是让模型的翻译输出遵守用户提供的术语约束。这个过程如图\ref{fig:18-3}所示。
%----------------------------------------------
......@@ -183,7 +183,7 @@
\section{小设备机器翻译}
\parinterval 在机器翻译研究中,一般会假设计算资源是充足的。但是,在很多应用场景中,机器翻译使用的计算资源非常有限,比如,一些离线设备上没有GPU处理器,而且CPU的处理能力也很弱,甚至内存也非常有限。这时,让模型变得更小、系统变得更快就成为了重要的需求。
\parinterval 在机器翻译研究中,一般会假设计算资源是充足的。但是,在很多应用场景中,机器翻译使用的计算资源非常有限,比如,一些离线设备上没有GPU,而且CPU的处理能力也很弱,甚至内存也非常有限。这时,让模型变得更小、系统变得更快就成为了重要的需求。
\parinterval 本书中已经讨论了大量的可用于小设备上的机器翻译技术方法,例如:
......@@ -210,7 +210,7 @@
\parinterval 另外,在很多系统中,机器翻译模块并不是单独执行,而是与其它的模块并发执行。这时,由于多个计算密集型任务存在竞争,处理器要进行更多的上下文切换,会造成程序变慢。比如,机器翻译和语音识别两个模块一起运行时{\footnote{在一些语音翻译场景中,由于采用了语音识别和翻译异步执行的方式,两个程序可能会并发。}},机器翻译的速度会有较明显的下降。对于这种情况,需要设计更好的调度机制。因此在一些同时具有CPU和GPU的设备上,可以考虑合理调度CPU和GPU的资源,增加两种设备可并行处理的内容,避免在某个处理器上的拥塞。
\parinterval 除了运行速度,模型过大也是限制其在小设备上运行的因素。在模型体积上,神经机器翻译模型具有天然的优势。因此,在对模型规模有苛刻要求的场景中,神经机器翻译是不二的选择。另外通过量化、剪枝、参数共享等方式,还可以将模型压缩一个数量级以上
\parinterval 除了运行速度,模型过大也是限制其在小设备上运行的因素。在模型体积上,神经机器翻译模型具有天然的优势。因此,在对模型规模有苛刻要求的场景中,神经机器翻译是不二的选择。另外通过量化、剪枝、参数共享等方式,可以将模型大幅度压缩
%----------------------------------------------------------------------------------------
% NEW SECTION
......@@ -225,10 +225,10 @@
\item 对于多语言翻译的场景,使用多语言单模型翻译系统是一种很好的选择({\chaptersixteen})。当多个语种的数据量有限、使用频度不高时,这种方法可以很有效地解决翻译需求中的长尾部分。例如,一些线上机器翻译服务已经支持超过100种语言的翻译,其中大部分语言之间的翻译需求是相对低频的,因此使用同一个模型进行翻译可以大大节约部署和运维的成本。
\vspace{0.5em}
\item 使用基于中介语言的翻译也可以有效的解决多语言翻译问题({\chaptersixteen})。这种方法同时适合统计机器翻译和神经机器翻译,因此很早就使用在大规模机器翻译部署中。
\item 使用基于枢轴语言的翻译也可以有效的解决多语言翻译问题({\chaptersixteen})。这种方法同时适合统计机器翻译和神经机器翻译,因此很早就使用在大规模机器翻译部署中。
\vspace{0.5em}
\item GPU部署中,由于GPU成本较高,因此可以考虑在单GPU设备上部署多套不同的系统。如果这些系统之间的并发不频繁,翻译延时不会有明显增加。这种多个模型共享一个设备的方法比较适合翻译请求相对低频但是翻译任务又很多样的情况。
\item GPU部署中,由于GPU成本较高,因此可以考虑在单GPU设备上部署多套不同的系统。如果这些系统之间的并发不频繁,翻译延时不会有明显增加。这种多个模型共享一个设备的方法比较适合翻译请求相对低频但是翻译任务又很多样的情况。
\vspace{0.5em}
\item 机器翻译大规模GPU部署对显存的使用也很严格。由于GPU显存较为有限,因此模型运行的显存消耗也是需要考虑的。一般来说,除了模型压缩和结构优化之外({\chapterfourteen}{\chapterfifteen}),也需要对模型的显存分配和使用进行单独的优化。例如,使用显存池来缓解频繁申请和释放显存空间造成的延时。另外,也可以尽可能让同一个显存块保存生命期不重叠的数据,避免重复开辟新的存储空间。图\ref{fig:18-4}展示了一个显存复用的示例。
......@@ -260,7 +260,7 @@
\parinterval (一)网页翻译
\parinterval 进入信息爆炸的时代之后,互联网上海量的数据随处可得,然而由于不同国家和地区语言的差异,网络上的数据也呈现出多语言的特性。当人们在遇到包含不熟悉语言的网页时,无法及时有效地获取其中的信息。因此,对不同语言的网页进行翻译是必不可少的一步。由于网络上网页的数量数不胜数,依靠人工对网页进行翻译是不切实际的,相反,机器翻译十分适合这个任务。目前,市场上有很多浏览器提供网页翻译的服务,极大地降低了人们从网络上获取不同语言信息的难度。
\parinterval 进入信息爆炸的时代之后,互联网上海量的数据随处可得,然而由于不同国家和地区语言的差异,网络上的数据也呈现出多语言的特性。当人们在遇到包含不熟悉语言的网页时,无法及时有效地获取其中的信息。因此,对不同语言的网页进行翻译是必不可少的一步。由于网络上的网页数不胜数,依靠人工对网页进行翻译是不切实际的,相反,机器翻译十分适合这个任务。目前,市场上有很多浏览器提供网页翻译的服务,极大地降低了人们从网络上获取不同语言信息的难度。
\parinterval (二)科技文献翻译
......@@ -276,7 +276,7 @@
\parinterval (五)同声传译
\parinterval 在一些国际会议中,与会者来自许多不同的国家,为了保证会议的流畅,通常需要专业翻译人员进行同声传译。同声传译需要在不打断演讲的同时,不间断地将讲话内容进行口译,对翻译人员的要求极高。现在,一些会议开始采用语音识别来将语音转换成文本,同时使用机器翻译技术进行翻译的方式,达到同步翻译的目的。这项技术已经得到了多个企业的关注,并在很多重要会议上进行尝试,取得了很好的反响。不过同声传译达到真正的使用还需一定时间的打磨,特别是会议场景下,准确进行语音识别和翻译仍然具有挑战性。
\parinterval 在一些国际会议中,与会者来自许多不同的国家,为了保证会议的流畅,通常需要专业翻译人员进行同声传译。同声传译需要在不打断演讲的同时,不间断地将讲话内容进行口译,对翻译人员的要求极高。现在,一些会议开始采用语音识别来将语音转换成文本,同时使用机器翻译技术进行翻译的方式,达到同步翻译的目的。这项技术已经得到了多个企业的关注,并在很多重要会议上进行尝试,取得了很好的反响。不过同声传译达到可以真正使用的程度还需一定时间的打磨,特别是会议场景下,准确进行语音识别和翻译仍然具有挑战性。
\parinterval (六)中国传统语言文化的翻译
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论