Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
T
Toy-MT-Introduction
概览
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
Toy-MT-Introduction
Commits
f9c2ae69
Commit
f9c2ae69
authored
Apr 10, 2020
by
xiaotong
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
new updates of section 1
parent
db453c38
隐藏空白字符变更
内嵌
并排
正在显示
3 个修改的文件
包含
85 行增加
和
83 行删除
+85
-83
Book/Chapter1/chapter1.tex
+54
-52
Book/mt-book-xelatex.idx
+2
-2
Book/mt-book-xelatex.ptc
+29
-29
没有找到文件。
Book/Chapter1/chapter1.tex
查看文件 @
f9c2ae69
...
...
@@ -140,7 +140,7 @@
\item
第二、神经网络的连续空间模型有更强的表示能力。机器翻译中的一个基本问题是:如何表示一个句子?统计机器翻译把句子的生成过程看作是短语或者规则的推导,这本质上是一个离散空间上的符号系统。深度学习把传统的基于离散化的表示变成了连续空间的表示。比如,用实数空间的分布式表示代替了离散化的词语表示,而整个句子可以被描述为一个实数向量。这使得翻译问题可以在连续空间上描述,进而可以大大缓解传统离散空间模型维度灾难等问题。更重要的是,连续空间模型可以用梯度下降等方法进行优化,具有很好的数学性质并且易于实现。
\item
第三、深度网络学习算法的发展和GPU(Graphics Processing Unit)等并行计算设备为训练神经网络提供了可能。早期的基于神经网络的方法一直没有在机器翻译甚至自然语言处理领域得到大规模应用,其中一个重要的原因是这类方法需要大量的浮点运算,但是以前计算机的计算能力无法支撑这个要求。随着GPU等并行计算设备的进步,训练大规模神经网络也变为了可能。现在已经可以在几亿、几十亿,甚至上百亿句对上训练机器翻译系统,系统研发的周期越来越短,进展日新月异。
\end{itemize}
\parinterval
今天,神经机器翻译已经成为新的范式,大有全面替代统计机器翻译之势。比如,从世界上著名的机器翻译比赛WMT和CCMT中就可以看出这个趋势。如图
\ref
{
fig:wmt
}
所示,其中左图是WMT19全球机器翻译比赛的参赛队伍的截图,图中的队伍基本全是使用深度学习完成机器翻译的建模的。而在WMT19各个项目夺冠系统中(
\ref
{
fig:wmt
}
右图),神经机器翻译也几乎一统天下。
...
...
@@ -200,7 +200,7 @@
\section
{
机器翻译方法
}
\index
{
Chapter1.4
}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\parinterval
随后几章将对机器翻译的不同方法进行系统的描述和分析。不过为了对机器翻译有一个整体的认识,这里对机器翻译的主要
框架进行简要介绍。
\parinterval
为了对机器翻译技术有一个整体的认识,这里对一些主要的机器翻译
框架进行简要介绍。
\subsection
{
基于规则的机器翻译
}
\index
{
Chapter1.4.1
}
...
...
@@ -217,12 +217,12 @@
\begin{figure}
[htp]
\centering
\input
{
./Chapter1/Figures/figure-zh-sentences-into-en-sentences
}
\caption
{
汉语句子被翻译为英语句子
}
\caption
{
基于实例的机器翻译的示例图(左:实例库;右:翻译结果)
}
\label
{
fig:zh-sentences-into-en-sentences
}
\end{figure}
%-------------------------------------------
\parinterval
图
\ref
{
fig:zh-sentences-into-en-sentences
}
展示了一个基于实例的机器翻译过程。它利用简单的翻译实例库与翻译词典完成对句子``我对你感到满意''的翻译。首先,使用待翻译句子的源语
在翻译实例库中进行比较,根据相似度大小找到相似的实例``我对他感到高兴''。然后,标记实例中不匹配的部分,即``你''和``他'',``满意''和``高兴''。再查询翻译词典得到词``你''和``满意''
对应的翻译结果``you''和``satisfied'',用这两个词分别替换实例中的``him''和``happy'',从而得到最终译文。
\parinterval
图
\ref
{
fig:zh-sentences-into-en-sentences
}
展示了一个基于实例的机器翻译过程。它利用简单的翻译实例库与翻译词典完成对句子``我对你感到满意''的翻译。首先,使用待翻译句子的源语
言端在翻译实例库中进行比较,根据相似度大小找到相似的实例``我对他感到高兴''。然后,标记实例中不匹配的部分,即``你''和``他'',``满意''和``高兴''。再查询翻译词典得到词``你''和``满意''所
对应的翻译结果``you''和``satisfied'',用这两个词分别替换实例中的``him''和``happy'',从而得到最终译文。
\parinterval
当然,基于实例的机器翻译也并不完美。首先,这种方法对翻译实例的精确度要求非常高,一个实例的错误可能会导致一个句型都无法翻译正确;其次,实例维护较为困难,实例库的构建通常需要单词级对齐的标注,而保证词对齐的质量是非常困难的工作,这也大大增加了实例库维护的难度;再有,尽管可以通过实例或者模板进行翻译,但是其覆盖度仍然有限。在实际应用中,很多句子无法找到可以匹配的实例或者模板。
...
...
@@ -241,11 +241,11 @@
\parinterval
图
\ref
{
fig:Example-SMT
}
展示了一个统计机器翻译系统运行的简单实例。整个系统需要两个模型:翻译模型和语言模型。其中,翻译模型从双语平行语料中学习翻译知识,得到短语表,其中包含各种词汇的翻译及其概率,这样可以度量源语言和目标语言片段之间互为翻译的可能性大小;语言模型从单语语料中学习目标语的词序列生成规律,来衡量目标语言译文的流畅性。最后,将这两种模型联合使用,翻译引擎来搜索尽可能多的翻译结果,并计算不同翻译结果的可能性大小,最后将概率最大的译文作为最终结果输出。这个过程并没有显性使用人工翻译规则和模板,译文的生成仅仅依赖翻译模型和语言模型中的统计参数。
\parinterval
由于没有对翻译过程进行过多的限制,统计机器翻译有
更加
灵活的译文生成方式,因此系统可以处理更加多样的句子。但是这种方法也带来了一些问题:首先,虽然并不需要人工定义翻译规则或模板,统计机器翻译系统仍然需要人工定义翻译特征。提升翻译品质往往需要大量的特征工程,导致人工特征设计的好坏对系统往往产生决定性影响;其次,统计机器翻译的模块较多,系统研发比较复杂;还有,随着训练数据增多,统计机器翻译的模型(比如短语翻译表)会明显增加,这也在一定程度上妨碍了系统在存储资源受限情况下使用。
\parinterval
由于没有对翻译过程进行过多的限制,统计机器翻译有
很
灵活的译文生成方式,因此系统可以处理更加多样的句子。但是这种方法也带来了一些问题:首先,虽然并不需要人工定义翻译规则或模板,统计机器翻译系统仍然需要人工定义翻译特征。提升翻译品质往往需要大量的特征工程,导致人工特征设计的好坏对系统往往产生决定性影响;其次,统计机器翻译的模块较多,系统研发比较复杂;还有,随着训练数据增多,统计机器翻译的模型(比如短语翻译表)会明显增加,这也在一定程度上妨碍了系统在存储资源受限情况下使用。
\subsection
{
神经机器翻译
}
\index
{
Chapter1.4.4
}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\parinterval
随着机器学习技术的发展,基于深度学习的神经机器翻译逐渐开始兴起。自2014年开始,它在短短几年内已经在大部分任务上取得了明显的优势
\cite
{
sutskever2014sequence
}
\cite
{
bahdanau2014neural
}
神经机器翻译中,词串被表示成实数向量,即分布式向量表示。这样,翻译过程并不是在离散化的单词和短语上进行,而是在实数向量空间上计算,因此它对词序列表示的方式产生了本质的改变。通常,机器翻译可以被看作一个序列到另一个序列的转化。在神经机器翻译中,序列到序列的转化过程可以由
编码器-解码器
(encoder-decoder)框架实现。其中,编码器把源语言序列进行编码,并提取源语言中信息进行分布式表示,之后解码器再把这种信息转换为另一种语言的表达。
\parinterval
随着机器学习技术的发展,基于深度学习的神经机器翻译逐渐开始兴起。自2014年开始,它在短短几年内已经在大部分任务上取得了明显的优势
\cite
{
sutskever2014sequence
}
\cite
{
bahdanau2014neural
}
神经机器翻译中,词串被表示成实数向量,即分布式向量表示。这样,翻译过程并不是在离散化的单词和短语上进行,而是在实数向量空间上计算,因此它对词序列表示的方式产生了本质的改变。通常,机器翻译可以被看作一个序列到另一个序列的转化。在神经机器翻译中,序列到序列的转化过程可以由
{
\small\bfnew
{
编码器-解码器
}}
(encoder-decoder)框架实现。其中,编码器把源语言序列进行编码,并提取源语言中信息进行分布式表示,之后解码器再把这种信息转换为另一种语言的表达。
%----------------------------------------------
% 图1.12
...
...
@@ -271,7 +271,7 @@
\vspace
{
0.5em
}
\item
规则系统需要人工书写规则并维护,人工代价较高。统计和神经网络方法仅需要设计特征或者神经网络结构,对(语言相关的)人工依赖较少。
\vspace
{
0.5em
}
\item
基于实例、统计和神经网络方法都需要依赖语料库(数据),其中统计和神经网络方法具有一定的抗噪能力,因此也更适合大规模数据情况下的机器翻译系统研发。
\item
基于实例、统计和神经网络
的
方法都需要依赖语料库(数据),其中统计和神经网络方法具有一定的抗噪能力,因此也更适合大规模数据情况下的机器翻译系统研发。
\vspace
{
0.5em
}
\item
基于规则和基于实例的方法在受限场景下有较好的精度,但是再在开放领域的翻译上统计和神经网络方法更具优势。
\end{itemize}
...
...
@@ -282,7 +282,7 @@
% 表1.1
\begin{table}
[htp]
{
\begin{center}
\caption
{
不同机器翻译的对比
}
\caption
{
不同机器翻译
方法
的对比
}
\label
{
tab:comparison-of-different-MT
}
\begin{tabular}
{
l | l l l l
}
&
\parbox
{
3.8em
}{
规则
}
&
\parbox
{
3.8em
}{
实例
}
&
\parbox
{
3.8em
}{
统计
}
&
\parbox
{
3.8em
}
...
...
@@ -301,13 +301,13 @@
}
\end{table}
%-------------------------------------------
\parinterval
从现在机器翻译的研究和应用情况来看,基于统计建模的方法(统计机器翻译和神经机器翻译)是主流。这主要是由于它们系统研发周期短,通过搜集一定量数据即可快速原型
,特别
是随着互联网等信息的不断开放,低成本的数据获取可以让系统更快得以实现。特别是,最近神经机器翻译凭借其高质量的译文,受到研究人员和开发者的广泛青睐。当然,不同方法之间的融合也是有价值的方向,也有很多有趣的探索,比如无指导机器翻译中还是会同时使用统计机器翻译和神经机器翻译方法,这也是一种典型的融合多种方法的思路。
\parinterval
从现在机器翻译的研究和应用情况来看,基于统计建模的方法(统计机器翻译和神经机器翻译)是主流。这主要是由于它们系统研发周期短,通过搜集一定量数据即可快速原型
。
是随着互联网等信息的不断开放,低成本的数据获取可以让系统更快得以实现。特别是,最近神经机器翻译凭借其高质量的译文,受到研究人员和开发者的广泛青睐。当然,不同方法之间的融合也是有价值的方向,也有很多有趣的探索,比如无指导机器翻译中还是会同时使用统计机器翻译和神经机器翻译方法,这也是一种典型的融合多种方法的思路。
\section
{
翻译质量评价
}
\index
{
Chapter1.5
}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\parinterval
机器翻译质量的评价对于机器翻译的发展具有至关重要的意义。首先,评价的结果可以用于指导研究人员不断
进步
改进机器翻译结果,并找到最具潜力的技术发展方向。同时,一个权威的翻译质量评价指标可以帮助用户更有效地使用机器翻译的结果。
\parinterval
机器翻译质量的评价对于机器翻译的发展具有至关重要的意义。首先,评价的结果可以用于指导研究人员不断改进机器翻译结果,并找到最具潜力的技术发展方向。同时,一个权威的翻译质量评价指标可以帮助用户更有效地使用机器翻译的结果。
\parinterval
一般来说,机器翻译的翻译
质量评价(quality evaluation)是指在参考答案或者评价标准已知的情况下对译文进行打分。这类方法可以被称作有参考答案的评价,包括人工打分、BLEU等自动评价方法都是典型的有参考答案评价。相对的,无参考答案的评价(quality estimation)是指在没有人工评价和参考答案的情况下,对译文质量进行评估。这类方法可以被看作是对机器翻译译文进行质量``
预测'',这样用户可以选择性的使用机器翻译结果。这里我们主要讨论有参考答案的评价,因为这类方法是机器翻译系统研发所使用的主要评价方法。
\parinterval
一般来说,机器翻译的翻译
{
\small\bfnew
{
质量评价
}}
(Quality Evaluation)是指在参考答案或者评价标准已知的情况下对译文进行打分。这类方法可以被称作有参考答案的评价,包括人工打分、BLEU 等自动评价方法都是典型的有参考答案评价。相对的,
{
\small\bfnew
{
无参考答案的评价
}}
(Quality Estimation)是指在没有人工评价和参考答案的情况下,对译文质量进行评估。这类方法可以被看作是对机器翻译译文进行质量``
预测'',这样用户可以选择性的使用机器翻译结果。这里我们主要讨论有参考答案的评价,因为这类方法是机器翻译系统研发所使用的主要评价方法。
\subsection
{
人工评价
}
\index
{
Chapter1.5.1
}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
...
...
@@ -324,11 +324,11 @@
\vspace
{
0.5em
}
\item
评价者选择:理想情况下,评价者应同时具有源语言和目标语言的语言能力。但是,很多场景下双语能力的评价者很难招募,因此这时会考虑使用目标语为母语的评价者。配合参考译文,单语评价者也可以准确的进行评价。
\vspace
{
0.5em
}
\item
多个系统评价:如果有多个不同系统的译文,可以直接使用每个系统单独打分的方法。但是,如果仅仅是想了解不同译文之间的相对好坏,也可以采用竞评的方式,即对于每个句子,对不同系统根据译文质量进行排序,这样做的效率会高于直接打分,而且评价准确性也能够得到保证。
\item
多个系统评价:如果有多个不同系统的译文
需要评价
,可以直接使用每个系统单独打分的方法。但是,如果仅仅是想了解不同译文之间的相对好坏,也可以采用竞评的方式,即对于每个句子,对不同系统根据译文质量进行排序,这样做的效率会高于直接打分,而且评价准确性也能够得到保证。
\vspace
{
0.5em
}
\item
数据选择:评价数据一般需要根据目标任务进行采集,为了避免和系统训练数据重复,往往会搜集最新的数据。而且,评价数据的规模越大,评价结果越科学。常用的做法是搜集一定量的评价数据,之后从中采样出所需的数据。由于不同的采样会得到不同的评价集合,这样的方法可以复用多次,得到不同的测试集。
\vspace
{
0.5em
}
\item
面向应用的评价:除了人工直接打分,一种更有效的方法是把机器翻译的译文嵌入的下游应用中,通过机器翻译对下游应用的改善效果评估机器翻译译文质量。比如,可以把机器翻译放入人工译文后编辑流程中,通过观察
人工编辑
效率的提升来评价译文质量。再比如,把机器翻译放入线上应用中,通过点击率或者用户反馈来评价机器翻译的品质。
\item
面向应用的评价:除了人工直接打分,一种更有效的方法是把机器翻译的译文嵌入的下游应用中,通过机器翻译对下游应用的改善效果评估机器翻译译文质量。比如,可以把机器翻译放入人工译文后编辑流程中,通过观察
分工翻译整体
效率的提升来评价译文质量。再比如,把机器翻译放入线上应用中,通过点击率或者用户反馈来评价机器翻译的品质。
\vspace
{
0.5em
}
\end{itemize}
...
...
@@ -339,9 +339,9 @@
\subsubsection
{
BLEU
}
\index
{
Chapter1.5.2.1
}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\parinterval
目前使用最广泛的自动评价指标是BLEU。BLEU是Bilingual Evaluation understudy的缩写,最早由IBM在2002年提出
\cite
{
papineni2002bleu
}
。通过采用
$
n
$
-gram匹配的方式评定机器翻译结果和参考译文之间的相似度,即机器翻译的结果越接近人工参考译文就认定它的质量越高。
$
n
$
-gram是指
$
n
$
个连续单词组成的单元,称为
$
n
$
元语法单元。
$
n
$
越大表示考虑评价时考虑的片段匹配
越大。
\parinterval
目前使用最广泛的自动评价指标是BLEU。BLEU是Bilingual Evaluation understudy的缩写,最早由IBM在2002年提出
\cite
{
papineni2002bleu
}
。通过采用
$
n
$
-gram匹配的方式评定机器翻译结果和参考译文之间的相似度,即机器翻译的结果越接近人工参考译文就认定它的质量越高。
$
n
$
-gram是指
$
n
$
个连续单词组成的单元,称为
{
\small\bfnew
{$
n
$
元语法单元
}}
。
$
n
$
越大表示评价时考虑的匹配片段
越大。
\parinterval
BLEU的计算首先考虑待评价译文中
$
n
$
-gram在参考答案中的匹配率,称为
准确率
。其计算方法如下:
\parinterval
BLEU的计算首先考虑待评价译文中
$
n
$
-gram在参考答案中的匹配率,称为
{
\small\bfnew
{$
n
$
-gram准确率
}}
(
$
n
$
-gram Precision)
。其计算方法如下:
\begin{eqnarray}
\textrm
{
P
}_
n=
\frac
{
\textrm
{
Count
}_
\textrm
{
hit
}}{
\textrm
{
Count
}_{
\textrm
{
output
}}}
\label
{
eq:matching-rate
}
...
...
@@ -355,7 +355,7 @@ Candidate:the the the the
\qquad
\qquad
\ \
Reference:The cat is standing on the ground
\end{example}
\parinterval
在引入截断方式之前,该译文的1-gram准确率为
4/4=1,这显然是不合理的。在引入截断的方式之后,the在译文中出现4次,在参考译文中出现2次,截断操作则是取二者的最小值,即
$
\textrm
{
Count
}_{
\textrm
{
hit
}}
=
2
$
,
$
\textrm
{
Count
}_{
\textrm
{
output
}}
=
4
$
,该译文的1-gram准确率为2/4
。
\parinterval
在引入截断方式之前,该译文的1-gram准确率为
$
4
/
4
=
1
$
,这显然是不合理的。在引入截断的方式之后,``the''在译文中出现4次,在参考译文中出现2次,截断操作则是取二者的最小值,即
$
\textrm
{
Count
}_{
\textrm
{
hit
}}
=
2
$
,
$
\textrm
{
Count
}_{
\textrm
{
output
}}
=
4
$
,该译文的1-gram准确率为
$
2
/
4
$
。
\parinterval
译文整体的准确率等于各
$
n
$
-gram的加权平均:
\begin{eqnarray}
...
...
@@ -363,7 +363,8 @@ Candidate:the the the the
\label
{
eq:weighted-average
}
\end{eqnarray}
\parinterval
但是,该方法更倾向于对短句子打出更高的分数。一个极端的例子是译文只有很少的几个词,但是都命中答案,准确率很高可显然不是好的译文。因此,BLEU引入惩罚因子(Brevity Penalty, BP)的概念,对短句进行惩罚,
\parinterval
但是,该方法更倾向于对短句子打出更高的分数。一个极端的例子是译文只有很少的几个词,但是都命中答案,准确率很高可显然不是好的译文。因此,BLEU引入
{
\small\bfnew
{
短句惩罚因子
}}
(Brevity Penalty, BP)的概念,对短句进行惩罚,
\begin{eqnarray}
\textrm
{
BP
}
=
\begin{cases}
...
...
@@ -373,7 +374,8 @@ e^{(1-\frac{r}{c})}& c \le r
\label
{
eq:brevity-penalty
}
\end{eqnarray}
\noindent
其中
$
c
$
: 译文的句子长度,
$
r
$
: 参考译文的句子长度,所以最终BLEU的计算公式为:
\noindent
其中
$
c
$
表示译文的句子长度,
$
r
$
表示参考译文的句子长度。最终BLEU的计算公式为:
\begin{eqnarray}
\textrm
{
BLEU
}
=
\textrm
{
BP
}
\cdot
\exp
(
\sum
_{
i=1
}^{
N
}
w
_
n
\cdot
\log
{
\textrm
{
P
}_
n
}
)
\label
{
eq:BLUE
}
...
...
@@ -383,7 +385,7 @@ e^{(1-\frac{r}{c})}& c \le r
\subsubsection
{
TER
}
\index
{
Chapter1.5.2.2
}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\parinterval
TER是Translation Edit Rate的缩写,是一种基于距离的评价方法,用来评定机器翻译结果的译后编辑的工作量
\cite
{
snover2006study
}
。这里,距离被定义为
两个序列之间其中一个转换成另一个序列所需要的最少编辑操作次数。操作次数越多,距离越大,序列之间的相似性越低,
相反距离越小,表示一个句子越容易改写成另一个句子,序列之间的相似性越高。TER使用的编辑操作包括:增加,删除,替换和移位,其中增加,删除,替换操作计算得到的距离被称为编辑距离,并根据错误率的形式给出评分:
\parinterval
TER是Translation Edit Rate的缩写,是一种基于距离的评价方法,用来评定机器翻译结果的译后编辑的工作量
\cite
{
snover2006study
}
。这里,距离被定义为
将一个序列转换成另一个序列所需要的最少编辑操作次数。操作次数越多,距离越大,序列之间的相似性越低;
相反距离越小,表示一个句子越容易改写成另一个句子,序列之间的相似性越高。TER使用的编辑操作包括:增加,删除,替换和移位,其中增加,删除,替换操作计算得到的距离被称为编辑距离,并根据错误率的形式给出评分:
\begin{eqnarray}
\textrm
{
score
}
=
\frac
{
\textrm
{
edit
}
(c,r)
}{
l
}
\label
{
eq:score-based-on-error-rate
}
...
...
@@ -397,15 +399,15 @@ Candidate:cat is standing in the ground
\qquad
\qquad
\ \
Reference:The cat is standing on the ground
\end{example}
\parinterval
将Candidate转换为Reference,需要进行一次增加操作,在句首增加
The,一次替换操作,将in替换为on,所以
$
\textrm
{
edit
}
(
c,r
)
=
2
$
,归一化因子
$
l
$
为Reference的长度7,所以该参考译文的TER错误率为2/7
。
\parinterval
将Candidate转换为Reference,需要进行一次增加操作,在句首增加
``The'';一次替换操作,将``in''替换为``on''。所以
$
\textrm
{
edit
}
(
c,r
)
=
2
$
,归一化因子
$
l
$
为Reference的长度7,所以该参考译文的TER 错误率为
$
2
/
7
$
。
\parinterval
与BLEU不同,基于距离的评价方法是一种典型的``错误率''的度量,类似的思想也广泛应用于语音识别等领域。在机器翻译中,除了TER外,还有WER, PER等十分相似的方法,只是在``错误''的定义上略有不同。需要注意的是,很多时候,研究者并不会单独使用BLEU或者TER,而是将两种方法融合,比如,使用BLEU – TER作为评价指标(BLEU和TER之间是减号)。
\subsubsection
{
基于检测点的评价
}
\index
{
Chapter1.5.2.3
}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\parinterval
BLEU、TER等评价指标可以对译文的整体质量进行评估,但是缺乏对具体问题的细致评价。很多时候,研究人员需要知道系统是否能够处理特定的问题,而不是得到一个笼统的评价结果。基于监测点的方法正是基于此想法
\cite
{
shiwen1993automatic
}
。基于检测点的评价的优点在于对机器翻译系统给出一个总体评价的同时针对系统在各个
语言点上的翻译能力进行评估,方便比较不同翻译模型的性能。同时基于检测点的评价方法针对较为完备的语言学分类体系,
也被多次用于机器翻译比赛的质量评测。
\parinterval
BLEU、TER等评价指标可以对译文的整体质量进行评估,但是缺乏对具体问题的细致评价。很多时候,研究人员需要知道系统是否能够处理特定的问题,而不是得到一个笼统的评价结果。基于监测点的方法正是基于此想法
\cite
{
shiwen1993automatic
}
。基于检测点的评价的优点在于对机器翻译系统给出一个总体评价的同时针对系统在各个
具体问题上的翻译能力进行评估,方便比较不同翻译模型的性能。这种方法
也被多次用于机器翻译比赛的质量评测。
\parinterval
基于检测点的评价是根据事先定义好的语言学检测点对译文的相应部分进行打分。
但是测试集的构造并不是一个完全自动化的过程,需要大量的人工标注。针对这个问题,也可以采用自动构建语言学检测点的方法。该方法利用句法分析器和词对齐等工具自动构建测试集,利用多个句法分析器提高抽取监测点的准确率,并使用字典计算自动抽取检测点译文的可信度。同时考虑
$
n
$
-gram的匹配进行评分,来提高评价的精度。
如下是几个英中翻译中的检测点实例:
\parinterval
基于检测点的评价是根据事先定义好的语言学检测点对译文的相应部分进行打分。如下是几个英中翻译中的检测点实例:
\begin{example}
They got up at six this morning.
...
...
@@ -439,23 +441,23 @@ His house is on the south bank of the river.
\section
{
机器翻译应用
}
\index
{
Chapter1.6
}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\parinterval
机器翻译有着十分广泛的应用,下面
为大家介绍
一下机器翻译在我们生活中的具体应用形式:
\parinterval
机器翻译有着十分广泛的应用,下面
看
一下机器翻译在我们生活中的具体应用形式:
\parinterval
(一)网页翻译
\parinterval
进入信息爆炸的时代之后,互联网上海量的数据随处可得,然而由于国家和地区语言的不同,网络上的数据也呈现出多语言的特性。当人们在遇到包含不熟悉
的或者不掌握的语言的网页时,无法及时有效地获取其中的信息。因此,对不同语言的网页进行翻译是必不可少的一步。由于网络上网页的数量数不胜数,依靠人工的方式是不确切实际的,相反,机器翻译十分适合这个任务。目前,市场上有很多浏览器提供网页翻译的服务,极大地简化了人们从网络上获取
信息的方式。
\parinterval
进入信息爆炸的时代之后,互联网上海量的数据随处可得,然而由于国家和地区语言的不同,网络上的数据也呈现出多语言的特性。当人们在遇到包含不熟悉
语言的网页时,无法及时有效地获取其中的信息。因此,对不同语言的网页进行翻译是必不可少的一步。由于网络上网页的数量数不胜数,依靠人工的方式是不确切实际的,相反,机器翻译十分适合这个任务。目前,市场上有很多浏览器提供网页翻译的服务,极大地简化了人们从网络上获获取不同语言
信息的方式。
\parinterval
(二)翻译结果后编辑
\parinterval
翻译结果后编辑是指在机器翻译的结果之上,通过少量的人工编辑来进一步进行完善
,从而保证翻译结果达到预期翻译质量的水平。在传统的人工翻译过程中,翻译人员完全依靠人工的方式进行翻译,这虽然保证了翻译质量,但是时间成本高。相对应的,机器翻译具有速度快和成本低的优势。在一些领域,目前机器翻译的质量已经可以很大程度上减小翻译人员的工作量,翻译人员可以在机器翻译的辅助下,花费相对较小的代价来完成翻译,这种方式在保证翻译质量的基础上,减少了人工代价
。
\parinterval
翻译结果后编辑是指在机器翻译的结果之上,通过少量的人工编辑来进一步进行完善
机器译文。在传统的人工翻译过程中,翻译人员完全依靠人工的方式进行翻译,这虽然保证了翻译质量,但是时间成本高。相对应的,机器翻译具有速度快和成本低的优势。在一些领域,目前的机器翻译质量已经可以很大程度上减小翻译人员的工作量,翻译人员可以在机器翻译的辅助下,花费相对较小的代价来完成翻译
。
\parinterval
(三)科技文献翻译
\parinterval
在专利等科技文献翻译中,往往需要将文献翻译为英语或者其它语言,比如摘要翻译。以往这种翻译工作通常由人工来完成。由于翻译质量要求较高,因此要求翻译人员具有相关背景知识,这导致译员资源稀缺。特别是,近几年国内专利申请数不断增加,这给人工翻译带来了很大的负担。相比于人工翻译,机器翻译可以在短时间内完成大量的专利翻译,同时结合术语词典和人工校对等方式,可以保证专利的翻译质量
,满足专利翻译的需求
。同时,以专利为代表的科技文献往往具有很强的领域性,针对各类领域文本进行单独优化,机器翻译的品质可以大大提高。因此,机器翻译在专利翻译等行业有十分广泛的应用前景。
\parinterval
在专利等科技文献翻译中,往往需要将文献翻译为英语或者其它语言,比如摘要翻译。以往这种翻译工作通常由人工来完成。由于翻译质量要求较高,因此要求翻译人员具有相关背景知识,这导致译员资源稀缺。特别是,近几年国内专利申请数不断增加,这给人工翻译带来了很大的负担。相比于人工翻译,机器翻译可以在短时间内完成大量的专利翻译,同时结合术语词典和人工校对等方式,可以保证专利的翻译质量。同时,以专利为代表的科技文献往往具有很强的领域性,针对各类领域文本进行单独优化,机器翻译的品质可以大大提高。因此,机器翻译在专利翻译等行业有十分广泛的应用前景。
\parinterval
(四)全球化
\parinterval
在经济全球化的今天,很多企业都有国际化的需求,企业员工或多或少地会遇到一些跨语言阅读和交流的情况,比如阅读进口产品的说明书,跨国公司之间的邮件、说明文件等等。相比于成本较高的人工翻译,机器翻译往往是一种很好的选择
,一方面是因为机器翻译速度快、成本低并且使用方便,另一方面也是因为随着神经机器翻译的迅速发展,机器翻译的质量已经达到人们可以接受的程度。因此,
在一些质量要求不高的全球化场景,机器翻译可以得到应用。
\parinterval
在经济全球化的今天,很多企业都有国际化的需求,企业员工或多或少地会遇到一些跨语言阅读和交流的情况,比如阅读进口产品的说明书,跨国公司之间的邮件、说明文件等等。相比于成本较高的人工翻译,机器翻译往往是一种很好的选择
。
在一些质量要求不高的全球化场景,机器翻译可以得到应用。
\parinterval
(五)中国传统语言文化的翻译
...
...
@@ -463,8 +465,8 @@ His house is on the south bank of the river.
\parinterval
(六)视频字幕翻译
\parinterval
随着互联网的普及,人们可以通过互联网接触到大量境外影视作品
,其中包括电视剧、电影和动画等各类资源。由于大多数人们
没有相应的外语能力,通常需要专业人员对字幕进行翻译(如图
\ref
{
fig:film-subtitles
}
)。因此,这些境外视频的传播受限于字幕翻译的速度和准确度。
而近几年中迅速流行的视频创作,更是为互联网带来了更多的种类丰富的原创视频,这些视频数量繁多且质量参差不齐,很难通过人工的方式进行翻译。为了提升人们的观看体验,
一些视频网站在使用语音识别为视频生成源语字幕的同时,通过机器翻译技术为各种语言的受众提供质量尚可的目标语言字幕,这种方式为人们提供了极大的便利。
\parinterval
随着互联网的普及,人们可以通过互联网接触到大量境外影视作品
。由于人们可能
没有相应的外语能力,通常需要专业人员对字幕进行翻译(如图
\ref
{
fig:film-subtitles
}
)。因此,这些境外视频的传播受限于字幕翻译的速度和准确度。
现在的
一些视频网站在使用语音识别为视频生成源语字幕的同时,通过机器翻译技术为各种语言的受众提供质量尚可的目标语言字幕,这种方式为人们提供了极大的便利。
%----------------------------------------------
% 图1.13
\begin{figure}
[htp]
...
...
@@ -477,23 +479,23 @@ His house is on the south bank of the river.
\parinterval
(七)翻译机
\parinterval
出于商务、学术交流或者旅游的目的,人们在出国时会面临着跨语言交流的问题
,在不掌握相应外语的情况下,语言障碍是人们最大的痛点。近几年,随着出境人数的增加,不少厂家
推出了翻译机产品。通过结合机器翻译、语音识别和图像识别技术,翻译机实现了图像翻译和语音翻译的功能。用户可以很便捷地获取一些外语图像文字和语音信息,同时可以通过翻译机进行对话,降低跨语言交流门槛。
\parinterval
出于商务、学术交流或者旅游的目的,人们在出国时会面临着跨语言交流的问题
。近几年,随着出境人数的增加,不少企业
推出了翻译机产品。通过结合机器翻译、语音识别和图像识别技术,翻译机实现了图像翻译和语音翻译的功能。用户可以很便捷地获取一些外语图像文字和语音信息,同时可以通过翻译机进行对话,降低跨语言交流门槛。
\parinterval
(八)医药领域翻译
\parinterval
在医药领域中,从药品研发、临床试验到药品注册,都有着大量的翻译需求。
而其中
注册阶段,在限定申报时间的同时,更是对翻译质量有着极高的要求。由于医药领域专业词汇量庞大、单词冗长复杂、术语准确且文体专业性强,翻译难度明显高于其他领域,人工翻译的方式代价大且很难满足效率的要求。为此,机器翻译近几年在医药领域取得广泛应用。在针对医药领域进行优化后,机器翻译质量可以很好的满足翻译的要求。
\parinterval
在医药领域中,从药品研发、临床试验到药品注册,都有着大量的翻译需求。
比如,在新药
注册阶段,在限定申报时间的同时,更是对翻译质量有着极高的要求。由于医药领域专业词汇量庞大、单词冗长复杂、术语准确且文体专业性强,翻译难度明显高于其他领域,人工翻译的方式代价大且很难满足效率的要求。为此,机器翻译近几年在医药领域取得广泛应用。在针对医药领域进行优化后,机器翻译质量可以很好的满足翻译的要求。
\parinterval
(九)同声传译
\parinterval
在一些国际会议中,与会者来自许多不同的国家,为了保证会议的流畅,通常需要专业译员进行同声传译。同声传译需要在不打断演讲的同时,不间断的将讲话内容进行口译,对翻译人员的素质要求极高,成本高昂。
随着技术的不断进步
,一些会议开始采用语音识别来将语音转换成文本,同时使用机器翻译技术进行翻译的方式,达到同步翻译的目的。这项技术已经得到了多个企业的关注,并在很多重要会议上进行尝试,取得了很好的反响。不过同声传译达到真正的使用还需一定时间的打磨,特别是会议场景下,准确进行语音识别和翻译仍然具有一定挑战。
\parinterval
在一些国际会议中,与会者来自许多不同的国家,为了保证会议的流畅,通常需要专业译员进行同声传译。同声传译需要在不打断演讲的同时,不间断的将讲话内容进行口译,对翻译人员的素质要求极高,成本高昂。
现在
,一些会议开始采用语音识别来将语音转换成文本,同时使用机器翻译技术进行翻译的方式,达到同步翻译的目的。这项技术已经得到了多个企业的关注,并在很多重要会议上进行尝试,取得了很好的反响。不过同声传译达到真正的使用还需一定时间的打磨,特别是会议场景下,准确进行语音识别和翻译仍然具有一定挑战。
\parinterval
(十)社交
\parinterval
社交是人们的重要社会活动
,在当今的互联网时代中,数量繁多的社交软件在极大地方便了人们的同时,也改变了人们的生活方式。人们可以通过各种各样的社交软件做到即时通讯,进行协作或者分享自己的观点。然而受限于语言问题,人们的社交范围往往不会超出自己所掌握的语种范围,很难方便地进行跨语言社交。随着机器翻译技术的发展,越来越多的社交软件开始支持自动翻译,用户可以轻易地将各种语言的内容翻译成自己的母语,方便了人们的交流,让语言问题不再是社交的障碍。
\\
\\
\\
\\
\parinterval
社交是人们的重要社会活动
。人们可以通过各种各样的社交软件做到即时通讯,进行协作或者分享自己的观点。然而受限于语言问题,人们的社交范围往往不会超出自己所掌握的语种范围,很难方便地进行跨语言社交。随着机器翻译技术的发展,越来越多的社交软件开始支持自动翻译,用户可以轻易地将各种语言的内容翻译成自己的母语,方便了人们的交流,让语言问题不再是社交的障碍。
\section
{
开源项目与评测
}
\index
{
Chapter1.7
}
\parinterval
从实践的角度,机器翻译的发展主要可以归功于两方面的推动作用:开源系统和评测。开源系统通过代码共享的方式使得最新的研究成果可以快速传播,同时实验结果可以复现。而评测比赛,使得
机器翻译各个研究组织在同一平台进行较为合理的良性竞争
对比,共同推动机器翻译的发展与进步。此外,开源项目也促进了不同团队之间的协作,让研究人员在同一个平台上集中力量攻关。
\parinterval
从实践的角度,机器翻译的发展主要可以归功于两方面的推动作用:开源系统和评测。开源系统通过代码共享的方式使得最新的研究成果可以快速传播,同时实验结果可以复现。而评测比赛,使得
各个研究组织的成果可以进行科学的
对比,共同推动机器翻译的发展与进步。此外,开源项目也促进了不同团队之间的协作,让研究人员在同一个平台上集中力量攻关。
\subsection
{
开源机器翻译系统
}
\index
{
Chapter1.7.1
}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
...
...
@@ -504,26 +506,26 @@ His house is on the south bank of the river.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\vspace
{
0.5em
}
\begin{itemize}
\item
NiuTrans.SMT:NiuTrans
\cite
{
Tong2012NiuTrans
}
是由东北大学自然语言处理实验室自主研发的
SMT系统,该系统可支持基于短语的模型、基于层次结构的模型以及基于句法树结构的模型。由于使用C++语言开发,所以该系统运行时间快,所占存储空间少且易于上手。系统中内嵌有
$
n
$
-gram语言模型,故无需使用其它的系统即可对语言进行建模。网址:
\url
{
http://www.niutrans.com/
}
\item
NiuTrans.SMT:NiuTrans
\cite
{
Tong2012NiuTrans
}
是由东北大学自然语言处理实验室自主研发的
统计机器翻译系统,该系统可支持基于短语的模型、基于层次短语的模型以及基于句法的模型。由于使用C++ 语言开发,所以该系统运行时间快,所占存储空间少。系统中内嵌有
$
n
$
-gram语言模型,故无需使用其它的系统即可对完成语言建模。网址:
\url
{
http://opensource.niutrans.com/smt/index.html
}
\vspace
{
0.5em
}
\item
Moses:Moses
\cite
{
Koehn2007Moses
}
统计机器翻译时代最著名的系统之一,(主要)由爱丁堡大学的机器翻译团队开发。最新的Moses系统支持很多的功能,例如,它既支持基于短语的模型,也支持基于句法的模型。Moses 提供因子化翻译模型(
factored translation model),该模型可以在不同的层次中使用不同的信息。此外,它允许将混淆网络和字格(word lattices)作为输入,可缓解系统的1-best 输出中的错误。Moses 还提供了很多有用的脚本和工具来支持其他的功能
。网址:
\url
{
http://www.statmt.org/moses/
}
\item
Moses:Moses
\cite
{
Koehn2007Moses
}
统计机器翻译时代最著名的系统之一,(主要)由爱丁堡大学的机器翻译团队开发。最新的Moses系统支持很多的功能,例如,它既支持基于短语的模型,也支持基于句法的模型。Moses 提供因子化翻译模型(
Factored Translation Model),因此该模型可以很容易的对不同层次的信息进行建模。此外,它允许将混淆网络和字格作为输入,可缓解系统的1-best输出中的错误。Moses还提供了很多有用的脚本和工具,被机器翻译研究者广泛使用
。网址:
\url
{
http://www.statmt.org/moses/
}
\vspace
{
0.5em
}
\item
Joshua:Joshua
\cite
{
Li2010Joshua
}
是由约翰霍普金斯大学的语言和语音处理中心开发的层次短语翻译系统。由于Joshua是由Java语言开发,所以它在不同的平台上运行或开发时具有良好的可扩展性和可移植性。Joshua也是使用非常广泛的
通机
器翻译系统之一。网址:
\url
{
http://joshua.sourceforge.net/Joshua/Welcome.html
}
\item
Joshua:Joshua
\cite
{
Li2010Joshua
}
是由约翰霍普金斯大学的语言和语音处理中心开发的层次短语翻译系统。由于Joshua是由Java语言开发,所以它在不同的平台上运行或开发时具有良好的可扩展性和可移植性。Joshua也是使用非常广泛的
开源
器翻译系统之一。网址:
\url
{
http://joshua.sourceforge.net/Joshua/Welcome.html
}
\vspace
{
0.5em
}
\item
SilkRoad:SilkRoad是由
中国五个机构(中科院计算所、中科院软件所、中科院自动化所、厦门大学和哈尔滨工业大学)联合开发的,基于短语的统计机器翻译系统。该系统是中国乃至亚洲地区第一个开源的统计机器翻译系统。SilkRoad支持多解码器和规则提取并为不同组合的子系统提供了不同的实验
选择。网址:
\url
{
http://www.nlp.org.cn/project/project.php?projid=14
}
\item
SilkRoad:SilkRoad是由
五个国内机构(中科院计算所、中科院软件所、中科院自动化所、厦门大学和哈尔滨工业大学)联合开发的基于短语的统计机器翻译系统。该系统是中国乃至亚洲地区第一个开源的统计机器翻译系统。SilkRoad支持多种解码器和规则提取模块,这样可以组合成不同的系统,提供多样的
选择。网址:
\url
{
http://www.nlp.org.cn/project/project.php?projid=14
}
\vspace
{
0.5em
}
\item
SAMT:SAMT
\cite
{
zollmann2007the
}
是由卡内基梅隆大学机器翻译团队开发的语法增强的统计机器翻译系统。SAMT在解码的时候使用目标树来生成翻译规则,而不严格遵守目标语言的语法。SAMT 的一个亮点是它提供了简单但高效的方式
来利用在机器翻译中句法信息。由于SAMT在hadoop中实现,它可受益于跨计算机群的
大数据集的分布式处理。网址:
\url
{
http://www.cs.cmu.edu/zollmann/samt/
}
\item
SAMT:SAMT
\cite
{
zollmann2007the
}
是由卡内基梅隆大学机器翻译团队开发的语法增强的统计机器翻译系统。SAMT在解码的时候使用目标树来生成翻译规则,而不严格遵守目标语言的语法。SAMT 的一个亮点是它提供了简单但高效的方式
在机器翻译中使用句法信息。由于SAMT在hadoop中实现,它可受益于
大数据集的分布式处理。网址:
\url
{
http://www.cs.cmu.edu/zollmann/samt/
}
\vspace
{
0.5em
}
\item
cdec:cdec
\cite
{
dyer2010cdec
}
是一个强大的解码器,是由Chris Dyer 和他的合作者们一起开发。cdec的主要的功能是它使用了翻译模型的一个统一的内部表示,并为实验结构预测问题的各种模型和算法提供了框架。所以,cdec也可以在被用来做一个对齐系统或者一个更通用的学习框架。此外,cdec由于使用高效的C++语言编写,运行速度较快。网址:
\url
{
http://cdec-decoder.org/index.php?title=MainPage
}
\item
HiFST:HiFST
\cite
{
iglesias2009hierarchical
}
是剑桥大学开发的统计机器翻译系统。该系统完全基于有限状态自动机实现,因此非常适合对搜索空间进行有效的表示。网址:
\url
{
http://ucam-smt.github.io/
}
\vspace
{
0.5em
}
\item
Phrasal:Phrasal
\cite
{
Cer2010Phrasal
}
是由斯坦福自然语言处理小组开发的系统。除了传统的基于短语的模型,Phrasal还支持了基于非层次短语的模型,这种模型将基于短语的翻译延伸到非连续的短语翻译(phrasal discontinues translation),增加了模型的泛化能力。网址:
\url
{
http://nlp.stanford.edu/phrasal/
}
\item
cdec:cdec
\cite
{
dyer2010cdec
}
是一个强大的解码器,是由Chris Dyer 和他的合作者们一起开发。cdec的主要的功能是它使用了翻译模型的一个统一的内部表示,并为结构预测问题的各种模型和算法提供了实现框架。所以,cdec也可以在被用来做一个对齐系统或者一个更通用的学习框架。此外,由于使用C++语言编写,cdec的运行速度较快。网址:
\url
{
http://cdec-decoder.org/index.php?title=MainPage
}
\vspace
{
0.5em
}
\item
Phrasal:Phrasal
\cite
{
Cer2010Phrasal
}
是由斯坦福大学自然语言处理小组开发的系统。除了传统的基于短语的模型,Phrasal还支持基于非层次短语的模型,这种模型将基于短语的翻译延伸到非连续的短语翻译,增加了模型的泛化能力。网址:
\url
{
http://nlp.stanford.edu/phrasal/
}
\vspace
{
0.5em
}
\item
Jane:Jane
\cite
{
vilar2012jane
}
是一个基于短语和基于层次短语的机器翻译系统,由亚琛工业大学的人类语言技术与模式识别小组开发。Jane提供了系统融合模块,因此可以非常方便的对多个系统进行融合。网址:
\url
{
https://www-i6.informatik.rwth-aachen.de/jane/
}
\vspace
{
0.5em
}
\item
GIZA++:GIZA++
\cite
{
och2003systematic
}
是Franz Och研发的用于训练IBM模型1-5和HMM单词对齐模型的工具包。在早期,GIZA++是所有统计机器翻译系统中词对齐的标配工具。网址:
\url
{
https://github.com/moses-smt/giza-pp
}
\vspace
{
0.5em
}
\item
HiFST:HiFST
\cite
{
iglesias2009hierarchical
}
是剑桥大学开发的统计机器翻译系统。该系统完全基于有限状态自动机实现,因此非常适合对搜索空间进行有效的表示。网址:
\url
{
http://ucam-smt.github.io/
}
\vspace
{
0.5em
}
\item
FastAlign:FastAlign
\cite
{
dyer2013a
}
是一个快速,无监督的词对齐工具,由卡内基梅隆大学开发。网址:
\url
{
https://github.com/clab/fast
\_
align
}
\end{itemize}
\vspace
{
0.5em
}
...
...
@@ -532,11 +534,11 @@ His house is on the south bank of the river.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\vspace
{
0.5em
}
\begin{itemize}
\item
GroundHog:GroundHog
\cite
{
bahdanau2015neural
}
基于Theano
\cite
{
al2016theano
}
框架,由蒙特利尔大学LISA 实验室使用Python语言编写的一个框架,旨在提供灵活而高效的方式来实现复杂的循环神经网络模型。它提供了包括LSTM在内的多种模型。Bahdanau等人在此框架上又编写了GroundHog神经机器翻译系统。该系统
被当作
很多论文的基线系统。网址:
\url
{
https://github.com/lisa-groundhog/GroundHog
}
\item
GroundHog:GroundHog
\cite
{
bahdanau2015neural
}
基于Theano
\cite
{
al2016theano
}
框架,由蒙特利尔大学LISA 实验室使用Python语言编写的一个框架,旨在提供灵活而高效的方式来实现复杂的循环神经网络模型。它提供了包括LSTM在内的多种模型。Bahdanau等人在此框架上又编写了GroundHog神经机器翻译系统。该系统
也作为了
很多论文的基线系统。网址:
\url
{
https://github.com/lisa-groundhog/GroundHog
}
\vspace
{
0.5em
}
\item
Nematus:Nematus
\cite
{
SennrichNematus
}
是英国爱丁堡大学开发的,基于Theano框架的神经机器翻译系统。该系统使用GRU作为隐层单元,支持多层网络。Nematus 编码端有正向和反向的编码方式,可以同时提取源语句子中的上下文信息。该系统的一个优点是,它可以支持输入端有多个特征的输入(例如词的词性等)。网址:
\url
{
https://github.com/EdinburghNLP/nematus
}
\vspace
{
0.5em
}
\item
ZophRNN:ZophRNN
\cite
{
zoph2016simple
}
是由南加州大学的Barret Zoph 等人使用C++语言开发的系统。Zoph
在多个GPU 上既可以训练序列模型(如语言模型),也可以训练序列到序列的模型(如神经机器翻译模型)。当训练神经机器翻译系统时,Zoph也支持了多源输入,即在输入源语句子时可同时输入其一种译文。该系统由于使用C++语言,运行速度快
。网址:
\url
{
https://github.com/isi-nlp/Zoph
\_
RNN
}
\item
ZophRNN:ZophRNN
\cite
{
zoph2016simple
}
是由南加州大学的Barret Zoph 等人使用C++语言开发的系统。Zoph
既可以训练序列表示模型(如语言模型),也可以训练序列到序列的模型(如神经机器翻译模型)。当训练神经机器翻译系统时,ZophRNN也支持多源输入
。网址:
\url
{
https://github.com/isi-nlp/Zoph
\_
RNN
}
\vspace
{
0.5em
}
\item
Fairseq:Fairseq
\cite
{
Ottfairseq
}
是由Facebook开发的,基于PyTorch框架的用以解决序列到序列问题的工具包,其中包括基于卷积神经网络、基于循环神经网络、基于Transformer的模型等。Fairseq是当今使用最广泛的神经机器翻译开源系统之一。https://github.com/facebookresearch/fairseq
\vspace
{
0.5em
}
...
...
@@ -544,21 +546,21 @@ His house is on the south bank of the river.
\vspace
{
0.5em
}
\item
OpenNMT:OpenNMT
\cite
{
KleinOpenNMT
}
系统是由哈佛大学自然语言处理研究组开源的,基于Torch框架的神经机器翻译系统。OpenNMT系统的早期版本使用Lua 语言编写,现在也扩展到了TensorFlow和PyTorch,设计简单易用,易于扩展,同时保持效率和翻译精度。网址:
\url
{
https://github.com/OpenNMT/OpenNMT
}
\vspace
{
0.5em
}
\item
斯坦福神经机器翻译开源代码库:斯坦福大学自然语言处理组(Stanford NLP)发布了一篇教程,介绍了该研究组在神经机器翻译上的研究信息,同时实现了多种翻译模型
\cite
{
luong2016acl
_
hybrid
}
。网址:
\url
{
https://nlp.stanford.edu/projects/nmt/
}
\item
斯坦福神经机器翻译开源代码库:斯坦福大学自然语言处理组(Stanford NLP)发布了一篇教程,介绍了该研究组在神经机器翻译上的研究信息,同时实现了多种翻译模型
\cite
{
luong2016acl
_
hybrid
}
。
网址:
\url
{
https://nlp.stanford.edu/projects/nmt/
}
\vspace
{
0.5em
}
\item
THUMT:清华大学NLP团队实现的神经机器翻译系统,支持Transformer等模型
\cite
{
ZhangTHUMT
}
。该系统主要基于Tensorflow和Theano实现,其中Theano版本包含了RNNsearch模型,训练方式包括MLE (Maximum Likelihood Estimate), MRT
\\
(
minimum risk training), SST(semi-supervised t
raining)。Tensorflow 版本实现了Seq2Seq, RNNsearch, Transformer三种基本模型。网址:
\url
{
https://github.com/THUNLP-MT/THUMT
}
\item
THUMT:清华大学NLP团队实现的神经机器翻译系统,支持Transformer等模型
\cite
{
ZhangTHUMT
}
。该系统主要基于Tensorflow和Theano实现,其中Theano版本包含了RNNsearch模型,训练方式包括MLE (Maximum Likelihood Estimate), MRT
\\
(
Minimum Risk Training), SST(Semi-Supervised T
raining)。Tensorflow 版本实现了Seq2Seq, RNNsearch, Transformer三种基本模型。网址:
\url
{
https://github.com/THUNLP-MT/THUMT
}
\vspace
{
0.5em
}
\item
NiuTrans.NMT:由小牛翻译团队基于NiuTensor
工具集实现,支持循环神经网络、Transformer等结构,并支持语言建模、序列标注、机器翻译等任务。支持机器翻译GPU与CPU 训练及解码。其小巧易用,为开发人员提供快速二次开发基础。此外,NiuTrans.NMT已经得到了大规模应用,形成了支持187种语言翻译的小牛翻译系统。网址:
\url
{
http://niutrans.com/opensource/
}
\item
NiuTrans.NMT:由小牛翻译团队基于NiuTensor
实现的神经机器翻译系统。支持循环神经网络、Transformer等结构,并支持语言建模、序列标注、机器翻译等任务。支持机器翻译GPU与CPU 训练及解码。其小巧易用,为开发人员提供快速二次开发基础。此外,NiuTrans.NMT已经得到了大规模应用,形成了支持187种语言翻译的小牛翻译系统。网址:
\url
{
http://opensource.niutrans.com/niutensor/index.html
}
\vspace
{
0.5em
}
\item
MARIAN
NMT:主要由微软翻译团队搭建
\cite
{
JunczysMarian
}
,其使用纯C++实现的用于GPU
\\
/CPU训练和解码的引擎,支持多GPU训练和批量解码,最小限度依赖第三方库,静态编译一次之后,复制其二进制文件就能在其他平台使用。网址:
\url
{
https://marian-nmt.github.io/
}
\item
MARIAN
:主要由微软翻译团队搭建
\cite
{
JunczysMarian
}
,其使用C++实现的用于GPU
/CPU训练和解码的引擎,支持多GPU训练和批量解码,最小限度依赖第三方库,静态编译一次之后,复制其二进制文件就能在其他平台使用。网址:
\url
{
https://marian-nmt.github.io/
}
\vspace
{
0.5em
}
\item
Sockeye:由Awslabs开发
得神经机器翻译框架
\cite
{
hieber2017sockeye
}
。其中支持RNNSearch、Tra-
nsformer、CNN等翻译模型,同时还有提供了从图片翻译到文字的模块。提供了WMT 德英新闻翻译、领域适应任务、多语言零资源翻译任务的教程。网址:
\url
{
https://awslabs.github.io/sockeye/
}
\item
Sockeye:由Awslabs开发
的神经机器翻译框架
\cite
{
hieber2017sockeye
}
。其中支持RNNSearch、Tra
nsformer、CNN等翻译模型,同时还有提供了从图片翻译到文字的模块。提供了WMT 德英新闻翻译、领域适应任务、多语言零资源翻译任务的教程。网址:
\url
{
https://awslabs.github.io/sockeye/
}
\vspace
{
0.5em
}
\item
CytonMT:由NICT开发的一种用C++实现的
高效
神经机器翻译开源工具包
\cite
{
WangCytonMT
}
。主要支持Transformer模型,并支持一些常用的训练方法以及解码方法。网址:
\url
{
https://github.com/arthurxlw/cytonMt
}
\item
CytonMT:由NICT开发的一种用C++实现的神经机器翻译开源工具包
\cite
{
WangCytonMT
}
。主要支持Transformer模型,并支持一些常用的训练方法以及解码方法。网址:
\url
{
https://github.com/arthurxlw/cytonMt
}
\vspace
{
0.5em
}
\item
OpenSeq2Seq:由NVIDIA团队开发的
\cite
{
KuchaievMixed
}
基于Tensorflow的模块化架构,用于序列到序列的模型,允许从可用组件中组装新模型,支持混合精度训练,利用NVIDIA Volta Turing GPU中的Tensor核心,基于Horovod的快速分布式训练,支持多GPU,多节点多模式。网址:
\url
{
https://nvidia.github.io/OpenSeq2Seq/html/index.html
}
\vspace
{
0.5em
}
\item
NMTPyTorch:由勒芒大学语言实验室发布的基于序列到序列框架的神经网络翻译
模型
\cite
{
nmtpy2017
}
,Nmtpytorch的核心部分依赖于Numpy,Pytorch和tqdm。其允许训练各种端到端神经体系结构,包括但不限于神经机器翻译,图像字幕和自动语音识别系统。网址:
\url
{
https://github.com/lium-lst/nmtpytorch
}
\item
NMTPyTorch:由勒芒大学语言实验室发布的基于序列到序列框架的神经网络翻译
系统
\cite
{
nmtpy2017
}
,Nmtpytorch的核心部分依赖于Numpy,Pytorch和tqdm。其允许训练各种端到端神经体系结构,包括但不限于神经机器翻译,图像字幕和自动语音识别系统。网址:
\url
{
https://github.com/lium-lst/nmtpytorch
}
\end{itemize}
\vspace
{
0.5em
}
...
...
Book/mt-book-xelatex.idx
查看文件 @
f9c2ae69
...
...
@@ -14,8 +14,8 @@
\indexentry{Chapter1.5.2.2|hyperpage}{25}
\indexentry{Chapter1.5.2.3|hyperpage}{25}
\indexentry{Chapter1.6|hyperpage}{26}
\indexentry{Chapter1.7|hyperpage}{2
9
}
\indexentry{Chapter1.7.1|hyperpage}{2
9
}
\indexentry{Chapter1.7|hyperpage}{2
8
}
\indexentry{Chapter1.7.1|hyperpage}{2
8
}
\indexentry{Chapter1.7.1.1|hyperpage}{29}
\indexentry{Chapter1.7.1.2|hyperpage}{30}
\indexentry{Chapter1.7.2|hyperpage}{32}
...
...
Book/mt-book-xelatex.ptc
查看文件 @
f9c2ae69
\boolfalse {citerequest}\boolfalse {citetracker}\boolfalse {pagetracker}\boolfalse {backtracker}\relax
\babel@toc {english}{}
\defcounter {refsection}{0}\relax
\contentsline {part}{\@mypartnumtocformat {I}{机器翻译基础}}{5}{part.1}%
\contentsline {part}{\@mypartnumtocformat {I}{机器翻译基础}}{5}{part.1}%
\ttl@starttoc {default@1}
\defcounter {refsection}{0}\relax
\contentsline {chapter}{\numberline {1}机器翻译简介}{7}{chapter.1}%
\contentsline {chapter}{\numberline {1}机器翻译简介}{7}{chapter.1}%
\defcounter {refsection}{0}\relax
\contentsline {section}{\numberline {1.1}机器翻译的概念}{7}{section.1.1}%
\contentsline {section}{\numberline {1.1}机器翻译的概念}{7}{section.1.1}%
\defcounter {refsection}{0}\relax
\contentsline {section}{\numberline {1.2}机器翻译简史}{10}{section.1.2}%
\contentsline {section}{\numberline {1.2}机器翻译简史}{10}{section.1.2}%
\defcounter {refsection}{0}\relax
\contentsline {subsection}{\numberline {1.2.1}人工翻译}{10}{subsection.1.2.1}%
\contentsline {subsection}{\numberline {1.2.1}人工翻译}{10}{subsection.1.2.1}%
\defcounter {refsection}{0}\relax
\contentsline {subsection}{\numberline {1.2.2}机器翻译的萌芽}{11}{subsection.1.2.2}%
\contentsline {subsection}{\numberline {1.2.2}机器翻译的萌芽}{11}{subsection.1.2.2}%
\defcounter {refsection}{0}\relax
\contentsline {subsection}{\numberline {1.2.3}机器翻译的受挫}{12}{subsection.1.2.3}%
\contentsline {subsection}{\numberline {1.2.3}机器翻译的受挫}{12}{subsection.1.2.3}%
\defcounter {refsection}{0}\relax
\contentsline {subsection}{\numberline {1.2.4}机器翻译的快速成长}{13}{subsection.1.2.4}%
\contentsline {subsection}{\numberline {1.2.4}机器翻译的快速成长}{13}{subsection.1.2.4}%
\defcounter {refsection}{0}\relax
\contentsline {subsection}{\numberline {1.2.5}机器翻译的爆发}{14}{subsection.1.2.5}%
\contentsline {subsection}{\numberline {1.2.5}机器翻译的爆发}{14}{subsection.1.2.5}%
\defcounter {refsection}{0}\relax
\contentsline {section}{\numberline {1.3}机器翻译现状}{15}{section.1.3}%
\contentsline {section}{\numberline {1.3}机器翻译现状}{15}{section.1.3}%
\defcounter {refsection}{0}\relax
\contentsline {section}{\numberline {1.4}机器翻译方法}{16}{section.1.4}%
\contentsline {section}{\numberline {1.4}机器翻译方法}{16}{section.1.4}%
\defcounter {refsection}{0}\relax
\contentsline {subsection}{\numberline {1.4.1}基于规则的机器翻译}{16}{subsection.1.4.1}%
\contentsline {subsection}{\numberline {1.4.1}基于规则的机器翻译}{16}{subsection.1.4.1}%
\defcounter {refsection}{0}\relax
\contentsline {subsection}{\numberline {1.4.2}基于实例的机器翻译}{18}{subsection.1.4.2}%
\contentsline {subsection}{\numberline {1.4.2}基于实例的机器翻译}{18}{subsection.1.4.2}%
\defcounter {refsection}{0}\relax
\contentsline {subsection}{\numberline {1.4.3}统计机器翻译}{19}{subsection.1.4.3}%
\contentsline {subsection}{\numberline {1.4.3}统计机器翻译}{19}{subsection.1.4.3}%
\defcounter {refsection}{0}\relax
\contentsline {subsection}{\numberline {1.4.4}神经机器翻译}{20}{subsection.1.4.4}%
\contentsline {subsection}{\numberline {1.4.4}神经机器翻译}{20}{subsection.1.4.4}%
\defcounter {refsection}{0}\relax
\contentsline {subsection}{\numberline {1.4.5}对比分析}{21}{subsection.1.4.5}%
\contentsline {subsection}{\numberline {1.4.5}对比分析}{21}{subsection.1.4.5}%
\defcounter {refsection}{0}\relax
\contentsline {section}{\numberline {1.5}翻译质量评价}{22}{section.1.5}%
\contentsline {section}{\numberline {1.5}翻译质量评价}{22}{section.1.5}%
\defcounter {refsection}{0}\relax
\contentsline {subsection}{\numberline {1.5.1}人工评价}{22}{subsection.1.5.1}%
\contentsline {subsection}{\numberline {1.5.1}人工评价}{22}{subsection.1.5.1}%
\defcounter {refsection}{0}\relax
\contentsline {subsection}{\numberline {1.5.2}自动评价}{23}{subsection.1.5.2}%
\contentsline {subsection}{\numberline {1.5.2}自动评价}{23}{subsection.1.5.2}%
\defcounter {refsection}{0}\relax
\contentsline {subsubsection}{BLEU}{23}{section*.15}%
\contentsline {subsubsection}{BLEU}{23}{section*.15}%
\defcounter {refsection}{0}\relax
\contentsline {subsubsection}{TER}{25}{section*.16}%
\contentsline {subsubsection}{TER}{25}{section*.16}%
\defcounter {refsection}{0}\relax
\contentsline {subsubsection}{基于检测点的评价}{25}{section*.17}%
\contentsline {subsubsection}{基于检测点的评价}{25}{section*.17}%
\defcounter {refsection}{0}\relax
\contentsline {section}{\numberline {1.6}机器翻译应用}{26}{section.1.6}%
\contentsline {section}{\numberline {1.6}机器翻译应用}{26}{section.1.6}%
\defcounter {refsection}{0}\relax
\contentsline {section}{\numberline {1.7}开源项目与评测}{2
9}{section.1.7}%
\contentsline {section}{\numberline {1.7}开源项目与评测}{2
8}{section.1.7}%
\defcounter {refsection}{0}\relax
\contentsline {subsection}{\numberline {1.7.1}开源机器翻译系统}{2
9}{subsection.1.7.1}%
\contentsline {subsection}{\numberline {1.7.1}开源机器翻译系统}{2
8}{subsection.1.7.1}%
\defcounter {refsection}{0}\relax
\contentsline {subsubsection}{统计机器翻译开源系统}{29}{section*.19}%
\contentsline {subsubsection}{统计机器翻译开源系统}{29}{section*.19}%
\defcounter {refsection}{0}\relax
\contentsline {subsubsection}{神经机器翻译开源系统}{30}{section*.20}%
\contentsline {subsubsection}{神经机器翻译开源系统}{30}{section*.20}%
\defcounter {refsection}{0}\relax
\contentsline {subsection}{\numberline {1.7.2}常用数据集及公开评测任务}{32}{subsection.1.7.2}%
\contentsline {subsection}{\numberline {1.7.2}常用数据集及公开评测任务}{32}{subsection.1.7.2}%
\defcounter {refsection}{0}\relax
\contentsline {section}{\numberline {1.8}推荐学习资源}{35}{section.1.8}%
\contentsline {section}{\numberline {1.8}推荐学习资源}{35}{section.1.8}%
\contentsfinish
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论