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
b354a1a2
Commit
b354a1a2
authored
Jan 08, 2021
by
孟霞
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
孟霞 item黑体
parent
72ac49a1
显示空白字符变更
内嵌
并排
正在显示
4 个修改的文件
包含
48 行增加
和
48 行删除
+48
-48
Chapter14/chapter14.tex
+3
-3
Chapter3/chapter3.tex
+14
-14
Chapter4/chapter4.tex
+17
-17
Chapter9/chapter9.tex
+14
-14
没有找到文件。
Chapter14/chapter14.tex
查看文件 @
b354a1a2
...
...
@@ -154,7 +154,7 @@
\begin{itemize}
\vspace
{
0.5em
}
\item
长度惩罚因子
。用译文长度来归一化翻译概率是最常用的方法:对于源语言句子
$
\seq
{
x
}$
和译文句子
$
\seq
{
y
}$
,模型得分
$
\textrm
{
score
}
(
\seq
{
x
}
,
\seq
{
y
}
)
$
的值会随着译文
$
\seq
{
y
}$
的长度增大而减小。为了避免此现象,可以引入一个长度惩罚函数
$
\textrm
{
lp
}
(
\seq
{
y
}
)
$
,并定义模型得分如公式
\eqref
{
eq:14-12
}
所示:
\item
{
\small\sffamily\bfseries
{
长度惩罚因子
}}
。用译文长度来归一化翻译概率是最常用的方法:对于源语言句子
$
\seq
{
x
}$
和译文句子
$
\seq
{
y
}$
,模型得分
$
\textrm
{
score
}
(
\seq
{
x
}
,
\seq
{
y
}
)
$
的值会随着译文
$
\seq
{
y
}$
的长度增大而减小。为了避免此现象,可以引入一个长度惩罚函数
$
\textrm
{
lp
}
(
\seq
{
y
}
)
$
,并定义模型得分如公式
\eqref
{
eq:14-12
}
所示:
\begin{eqnarray}
\textrm
{
score
}
(
\seq
{
x
}
,
\seq
{
y
}
)
&
=
&
\frac
{
\log
\funp
{
P
}
(
\seq
{
y
}
\vert\seq
{
x
}
)
}{
\textrm
{
lp
}
(
\seq
{
y
}
)
}
...
...
@@ -179,7 +179,7 @@
\end{table}
%----------------------------------------------------------------------------------------------------
\vspace
{
0.5em
}
\item
译文长度范围约束
。为了让译文的长度落在合理的范围内,神经机器翻译的推断也会设置一个译文长度约束
\upcite
{
Vaswani2018Tensor2TensorFN,KleinOpenNMT
}
。令
$
[
a,b
]
$
表示一个长度范围,可以定义:
\item
{
\small\sffamily\bfseries
{
译文长度范围约束
}}
。为了让译文的长度落在合理的范围内,神经机器翻译的推断也会设置一个译文长度约束
\upcite
{
Vaswani2018Tensor2TensorFN,KleinOpenNMT
}
。令
$
[
a,b
]
$
表示一个长度范围,可以定义:
\begin{eqnarray}
a
&
=
&
\omega
_{
\textrm
{
low
}}
\cdot
|
\seq
{
x
}
|
\label
{
eq:14-3
}
\\
...
...
@@ -188,7 +188,7 @@ b &=& \omega_{\textrm{high}}\cdot |\seq{x}| \label{eq:14-4}
\vspace
{
0.5em
}
\noindent
其中,
$
\omega
_{
\textrm
{
low
}}$
和
$
\omega
_{
\textrm
{
high
}}$
分别表示译文长度的下限和上限,比如,很多系统中设置为
$
\omega
_{
\textrm
{
low
}}
=
1
/
2
$
,
$
\omega
_{
\textrm
{
high
}}
=
2
$
,表示译文至少有源语言句子一半长,最多有源语言句子两倍长。
$
\omega
_{
\textrm
{
low
}}$
和
$
\omega
_{
\textrm
{
high
}}$
的设置对推断效率影响很大,
$
\omega
_{
\textrm
{
high
}}$
可以被看作是一个推断的终止条件,最理想的情况是
$
\omega
_{
\textrm
{
high
}}
\cdot
|
\seq
{
x
}
|
$
恰巧就等于最佳译文的长度,这时没有浪费任何计算资源。反过来的一种情况,
$
\omega
_{
\textrm
{
high
}}
\cdot
|
\seq
{
x
}
|
$
远大于最佳译文的长度,这时很多计算都是无用的。为了找到长度预测的准确率和召回率之间的平衡,一般需要大量的实验最终确定
$
\omega
_{
\textrm
{
low
}}$
和
$
\omega
_{
\textrm
{
high
}}$
。当然,利用统计模型预测
$
\omega
_{
\textrm
{
low
}}$
和
$
\omega
_{
\textrm
{
high
}}$
也是非常值得探索的方向,比如基于繁衍率的模型
\upcite
{
Gu2017NonAutoregressiveNM,Feng2016ImprovingAM
}
。
\vspace
{
0.5em
}
\item
覆盖度模型
。译文长度过长或过短的问题,本质上对应着
{
\small\sffamily\bfseries
{
过翻译
}}
\index
{
过翻译
}
(Over Translation)
\index
{
Over Translation
}
和
{
\small\sffamily\bfseries
{
欠翻译
}}
\index
{
欠翻译
}
(Under Translation)
\index
{
Under Translation
}
的问题
\upcite
{
Yang2018OtemUtemOA
}
。这两种问题出现的原因主要在于:神经机器翻译没有对过翻译和欠翻译建模,即机器翻译覆盖度问题
\upcite
{
TuModeling
}
。针对此问题,最常用的方法是在推断的过程中引入一个度量覆盖度的模型。比如,使用GNMT 覆盖度模型定义模型得分
\upcite
{
Wu2016GooglesNM
}
,如下:
\item
{
\small\sffamily\bfseries
{
覆盖度模型
}}
。译文长度过长或过短的问题,本质上对应着
{
\small\sffamily\bfseries
{
过翻译
}}
\index
{
过翻译
}
(Over Translation)
\index
{
Over Translation
}
和
{
\small\sffamily\bfseries
{
欠翻译
}}
\index
{
欠翻译
}
(Under Translation)
\index
{
Under Translation
}
的问题
\upcite
{
Yang2018OtemUtemOA
}
。这两种问题出现的原因主要在于:神经机器翻译没有对过翻译和欠翻译建模,即机器翻译覆盖度问题
\upcite
{
TuModeling
}
。针对此问题,最常用的方法是在推断的过程中引入一个度量覆盖度的模型。比如,使用GNMT 覆盖度模型定义模型得分
\upcite
{
Wu2016GooglesNM
}
,如下:
\begin{eqnarray}
\textrm
{
score
}
(
\seq
{
x
}
,
\seq
{
y
}
)
&
=
&
\frac
{
\log
\funp
{
P
}
(
\seq
{
y
}
|
\seq
{
x
}
)
}{
\textrm
{
lp
}
(
\seq
{
y
}
)
}
+
\textrm
{
cp
}
(
\seq
{
x
}
,
\seq
{
y
}
)
\label
{
eq:14-5
}
\\
\textrm
{
cp
}
(
\seq
{
x
}
,
\seq
{
y
}
)
&
=
&
\beta
\cdot
\sum
_{
i=1
}^{
|
\seq
{
x
}
|
}
\log
(
\textrm
{
min
}
(
\sum
_{
j
}^{
|
\seq
{
y
}
|
}
a
_{
ij
}
, 1))
...
...
Chapter3/chapter3.tex
查看文件 @
b354a1a2
...
...
@@ -173,9 +173,9 @@ Interests $\to$ \; Interest/s & selected $\to$ \; se/lect/ed & processed $\to$ \
\begin{itemize}
\vspace
{
0.5em
}
\item
训练
。利用标注数据,对统计模型的参数进行学习。
\item
{
\small\sffamily\bfseries
{
训练
}}
。利用标注数据,对统计模型的参数进行学习。
\vspace
{
0.5em
}
\item
预测
。利用学习到的模型和参数,对新的句子进行切分。这个过程也可以被看作是利用学习到的模型在新的数据上进行推断。
\item
{
\small\sffamily\bfseries
{
预测
}}
。利用学习到的模型和参数,对新的句子进行切分。这个过程也可以被看作是利用学习到的模型在新的数据上进行推断。
\vspace
{
0.5em
}
\end{itemize}
...
...
@@ -244,9 +244,9 @@ $计算这种切分的概率值。
\begin{itemize}
\vspace
{
0.5em
}
\item
BIO(Beginning-inside-outside)格式
。以命名实体识别为例,B代表一个命名实体的开始,I表示一个命名实体的其它部分,O表示一个非命名实体单元。
\item
{
\small\sffamily\bfseries
{
BIO格式
}}
(Beginning-inside-outside)
。以命名实体识别为例,B代表一个命名实体的开始,I表示一个命名实体的其它部分,O表示一个非命名实体单元。
\vspace
{
0.5em
}
\item
BIOES格式
。与BIO格式相比,多出了标签E(End)和S(Single)。仍然以命名实体识别为例,E和S分别用于标注一个命名实体的结束位置和仅含一个单词的命名实体。
\item
{
\small\sffamily\bfseries
{
BIOES格式
}}
。与BIO格式相比,多出了标签E(End)和S(Single)。仍然以命名实体识别为例,E和S分别用于标注一个命名实体的结束位置和仅含一个单词的命名实体。
\vspace
{
0.5em
}
\end{itemize}
...
...
@@ -284,9 +284,9 @@ $计算这种切分的概率值。
\begin{itemize}
\vspace
{
0.5em
}
\item
样本在这些特征上的差异度
,即特征对于样本的区分能力。比如,可以考虑优先选择样本特征值方差较大即区分能力强的特征
\footnote
{
方差如果很小,意味着样本在这个特征上基本上没有差异,那么这个特征对于样本的区分并没有什么用。
}
;
\item
{
\small\sffamily\bfseries
{
样本在这些特征上的差异度
}}
,即特征对于样本的区分能力。比如,可以考虑优先选择样本特征值方差较大即区分能力强的特征
\footnote
{
方差如果很小,意味着样本在这个特征上基本上没有差异,那么这个特征对于样本的区分并没有什么用。
}
;
\vspace
{
0.5em
}
\item
特征与任务目标的相关性
。优先选择相关性高的特征。
\item
{
\small\sffamily\bfseries
{
特征与任务目标的相关性
}}
。优先选择相关性高的特征。
\vspace
{
0.5em
}
\end{itemize}
...
...
@@ -378,11 +378,11 @@ $计算这种切分的概率值。
\begin{itemize}
\vspace
{
0.5em
}
\item
隐含状态序列的概率计算:
即给定模型(转移概率和发射概率),根据可见状态序列(抛硬币的结果)计算在该模型下得到这个结果的概率,这个问题的求解需要用到前后向算法
\upcite
{
baum1970maximization
}
。
\item
{
\small\sffamily\bfseries
{
隐含状态序列的概率计算
}}
,
即给定模型(转移概率和发射概率),根据可见状态序列(抛硬币的结果)计算在该模型下得到这个结果的概率,这个问题的求解需要用到前后向算法
\upcite
{
baum1970maximization
}
。
\vspace
{
0.5em
}
\item
参数学习:
即给定硬币种类(隐含状态数量),根据多个可见状态序列(抛硬币的结果)估计模型的参数(转移概率),这个问题的求解需要用到EM算法
\upcite
{
1977Maximum
}
。
\item
{
\small\sffamily\bfseries
{
参数学习
}}
,
即给定硬币种类(隐含状态数量),根据多个可见状态序列(抛硬币的结果)估计模型的参数(转移概率),这个问题的求解需要用到EM算法
\upcite
{
1977Maximum
}
。
\vspace
{
0.5em
}
\item
解码:
即给定模型(转移概率和发射概率)和可见状态序列(抛硬币的结果),计算在可见状态序列的情况下,最可能出现的对应的状态序列,这个问题的求解需要用到基于动态规划的方法,通常也被称作
{
\small\sffamily\bfseries
{
维特比算法
}}
\index
{
维特比算法
}
(Viterbi Algorithm)
\index
{
Viterbi Algorithm
}
\upcite
{
1967Error
}
。
\item
{
\small\sffamily\bfseries
{
解码
}}
,
即给定模型(转移概率和发射概率)和可见状态序列(抛硬币的结果),计算在可见状态序列的情况下,最可能出现的对应的状态序列,这个问题的求解需要用到基于动态规划的方法,通常也被称作
{
\small\sffamily\bfseries
{
维特比算法
}}
\index
{
维特比算法
}
(Viterbi Algorithm)
\index
{
Viterbi Algorithm
}
\upcite
{
1967Error
}
。
\vspace
{
0.5em
}
\end{itemize}
...
...
@@ -547,15 +547,15 @@ Z(\seq{x})&=&\sum_{\seq{y}}\exp(\sum_{i=1}^m\sum_{j=1}^k\lambda_{j}F_{j}(y_{i-1}
\begin{itemize}
\vspace
{
0.5em
}
\item
$
K
$
-近邻分类算法
。
$
K
$
-近邻分类算法通过计算不同特征值之间的距离进行分类,这种方法适用于可以提取到数值型特征
\footnote
{
即可以用数值大小对某方面特征进行衡量。
}
的分类问题。该方法的基本思想为:将提取到的特征分别作为坐标轴,建立一个
$
k
$
维坐标系(对应特征数量为
$
k
$
的情况),此时每个样本都将成为该
$
k
$
维空间的一个点,将未知样本与已知类别样本的空间距离作为分类依据进行分类,比如,考虑与输入样本最近的
$
K
$
个样本的类别进行分类。
\item
{
\small\sffamily\bfseries
{$
K
$
-近邻分类算法
}}
。
$
K
$
-近邻分类算法通过计算不同特征值之间的距离进行分类,这种方法适用于可以提取到数值型特征
\footnote
{
即可以用数值大小对某方面特征进行衡量。
}
的分类问题。该方法的基本思想为:将提取到的特征分别作为坐标轴,建立一个
$
k
$
维坐标系(对应特征数量为
$
k
$
的情况),此时每个样本都将成为该
$
k
$
维空间的一个点,将未知样本与已知类别样本的空间距离作为分类依据进行分类,比如,考虑与输入样本最近的
$
K
$
个样本的类别进行分类。
\vspace
{
0.5em
}
\item
支持向量机
。支持向量机是一种二分类模型,其思想是通过线性超平面将不同输入划分为正例和负例,并使线性超平面与不同输入的距离都达到最大。与
$
K
$
-近邻分类算法类似,支持向量机也适用于可以提取到数值型特征的分类问题。
\item
{
\small\sffamily\bfseries
{
支持向量机
}}
。支持向量机是一种二分类模型,其思想是通过线性超平面将不同输入划分为正例和负例,并使线性超平面与不同输入的距离都达到最大。与
$
K
$
-近邻分类算法类似,支持向量机也适用于可以提取到数值型特征的分类问题。
\vspace
{
0.5em
}
\item
最大熵模型
。最大熵模型是根据最大熵原理提出的一种分类模型,其基本思想是:以在训练数据集中学习到的经验知识作为一种“约束”,并在符合约束的前提下,在若干合理的条件概率分布中选择“使条件熵最大”的模型。
\item
{
\small\sffamily\bfseries
{
最大熵模型
}}
。最大熵模型是根据最大熵原理提出的一种分类模型,其基本思想是:以在训练数据集中学习到的经验知识作为一种“约束”,并在符合约束的前提下,在若干合理的条件概率分布中选择“使条件熵最大”的模型。
\vspace
{
0.5em
}
\item
决策树分类算法
。决策树分类算法是一种基于实例的归纳学习方法:将样本中某些决定性特征作为决策树的节点,根据特征表现进行对样本划分,最终根节点到每个叶子节点均形成一条分类的路径规则。这种分类方法适用于可以提取到离散型特征
\footnote
{
即特征值是离散的。
}
的分类问题。
\item
{
\small\sffamily\bfseries
{
决策树分类算法
}}
。决策树分类算法是一种基于实例的归纳学习方法:将样本中某些决定性特征作为决策树的节点,根据特征表现进行对样本划分,最终根节点到每个叶子节点均形成一条分类的路径规则。这种分类方法适用于可以提取到离散型特征
\footnote
{
即特征值是离散的。
}
的分类问题。
\vspace
{
0.5em
}
\item
朴素贝叶斯分类算法
。朴素贝叶斯算法是以贝叶斯定理为基础并且假设特征之间相互独立的方法,以特征之间相互独立作为前提假设,学习从输入到输出的联合概率分布,并以后验概率最大的输出作为最终类别。
\item
{
\small\sffamily\bfseries
{
朴素贝叶斯分类算法
}}
。朴素贝叶斯算法是以贝叶斯定理为基础并且假设特征之间相互独立的方法,以特征之间相互独立作为前提假设,学习从输入到输出的联合概率分布,并以后验概率最大的输出作为最终类别。
\vspace
{
0.5em
}
\end{itemize}
...
...
Chapter4/chapter4.tex
查看文件 @
b354a1a2
...
...
@@ -763,9 +763,9 @@ d&=&t \frac{s}{\sqrt{n}}
\begin{itemize}
\vspace
{
0.5em
}
\item
找出译文中翻译错误的短语
。要求预测出一个能够捕捉短语内部单词翻译错误、单词漏译以及单词顺序错误的标签序列。该序列中每个标签都对应着一个短语,若是短语不存在任何错误,则标签为“OK”;若是短语内部存在单词翻译错误和单词漏译,则标签为“BAD”;若短语内部的单词顺序存在问题,则标签为“BAD
\_
word
\_
order”。图
\ref
{
fig:4-12
}
中的连线表示单词之间的对齐关系,蓝色虚线框标出了每个短语的范围,图
\ref
{
fig:4-12
}
中的Phrase-target tags即为该过程中需要预测的质量标签序列。
\item
{
\small\sffamily\bfseries
{
找出译文中翻译错误的短语
}}
。要求预测出一个能够捕捉短语内部单词翻译错误、单词漏译以及单词顺序错误的标签序列。该序列中每个标签都对应着一个短语,若是短语不存在任何错误,则标签为“OK”;若是短语内部存在单词翻译错误和单词漏译,则标签为“BAD”;若短语内部的单词顺序存在问题,则标签为“BAD
\_
word
\_
order”。图
\ref
{
fig:4-12
}
中的连线表示单词之间的对齐关系,蓝色虚线框标出了每个短语的范围,图
\ref
{
fig:4-12
}
中的Phrase-target tags即为该过程中需要预测的质量标签序列。
\vspace
{
0.5em
}
\item
找出译文中短语之间漏译错误
。短语级质量评估任务同时也要求预测一个能够捕捉到短语间的漏译现象的质量标签序列,在译文端短语的两侧位置进行预测,若某位置未出现漏译,则该位置的质量标签为“OK”,否则为“BAD
\_
omission”。图
\ref
{
fig:4-12
}
中的Gap tags即为该过程中的质量标签序列。
\item
{
\small\sffamily\bfseries
{
找出译文中短语之间漏译错误
}}
。短语级质量评估任务同时也要求预测一个能够捕捉到短语间的漏译现象的质量标签序列,在译文端短语的两侧位置进行预测,若某位置未出现漏译,则该位置的质量标签为“OK”,否则为“BAD
\_
omission”。图
\ref
{
fig:4-12
}
中的Gap tags即为该过程中的质量标签序列。
\vspace
{
0.5em
}
\end{itemize}
...
...
@@ -785,13 +785,13 @@ d&=&t \frac{s}{\sqrt{n}}
\begin{itemize}
\vspace
{
0.5em
}
\item
区分“人工翻译”和“机器翻译”
。在早期的工作中,研究人员试图训练一个能够区分人工翻译和机器翻译的二分类器完成句子级的质量评估
\upcite
{
gamon2005sentence
}
,将被分类器判断为“人工翻译”的机器译文视为优秀的译文,将被分类器判断为“机器翻译”的机器译文视为较差的译文。一方面,这种评估方式不够直观,另一方面,这种评估方式并不十分准确,因为通过人工比对发现很多被判定为“机器翻译”的译文具有与人们期望的人类翻译相同的质量水平。
\item
{
\small\sffamily\bfseries
{
区分“人工翻译”和“机器翻译”
}}
。在早期的工作中,研究人员试图训练一个能够区分人工翻译和机器翻译的二分类器完成句子级的质量评估
\upcite
{
gamon2005sentence
}
,将被分类器判断为“人工翻译”的机器译文视为优秀的译文,将被分类器判断为“机器翻译”的机器译文视为较差的译文。一方面,这种评估方式不够直观,另一方面,这种评估方式并不十分准确,因为通过人工比对发现很多被判定为“机器翻译”的译文具有与人们期望的人类翻译相同的质量水平。
\vspace
{
0.5em
}
\item
预测反映译文句子质量的“质量标签”
。在同一时期,研究人员们也尝试使用人工为机器译文分配能够反映译文质量的标签
\upcite
{
DBLP:conf/lrec/Quirk04
}
,例如“不可接受”、“一定程度上可接受”、“ 可接受”、“ 理想”等类型的质量标签,同时将获取机器译文的质量标签作为句子级质量评估的任务目标。
\item
{
\small\sffamily\bfseries
{
预测反映译文句子质量的“质量标签”
}}
。在同一时期,研究人员们也尝试使用人工为机器译文分配能够反映译文质量的标签
\upcite
{
DBLP:conf/lrec/Quirk04
}
,例如“不可接受”、“一定程度上可接受”、“ 可接受”、“ 理想”等类型的质量标签,同时将获取机器译文的质量标签作为句子级质量评估的任务目标。
\vspace
{
0.5em
}
\item
预测译文句子的相对排名
。当相对排序(详见
\ref
{
sec:human-eval-scoring
}
节)的译文评价方法被引入后,给出机器译文的相对排名成为句子级质量评估的任务目标。
\item
{
\small\sffamily\bfseries
{
预测译文句子的相对排名
}}
。当相对排序(详见
\ref
{
sec:human-eval-scoring
}
节)的译文评价方法被引入后,给出机器译文的相对排名成为句子级质量评估的任务目标。
\vspace
{
0.5em
}
\item
预测译文句子的后编辑工作量
。在最近的研究中,句子级的质量评估一直在探索各种类型的离散或连续的后编辑标签。例如,通过测量以秒为单位的后编辑时间对译文句子进行评分;通过测量预测后编辑过程所需的击键数对译文句子进行评分;通过计算
{
\small\sffamily\bfseries
{
人工译后编辑距离
}}
\index
{
人工译后编辑距离
}
(Human Translation Error Rate,HTER)
\index
{
Human Translation Error Rate
}
,即在后编辑过程中编辑(插入/删除/替换)数量与参考翻译长度的占比率对译文句子进行评分。HTER的计算公式为:
\item
{
\small\sffamily\bfseries
{
预测译文句子的后编辑工作量
}}
。在最近的研究中,句子级的质量评估一直在探索各种类型的离散或连续的后编辑标签。例如,通过测量以秒为单位的后编辑时间对译文句子进行评分;通过测量预测后编辑过程所需的击键数对译文句子进行评分;通过计算
{
\small\sffamily\bfseries
{
人工译后编辑距离
}}
\index
{
人工译后编辑距离
}
(Human Translation Error Rate,HTER)
\index
{
Human Translation Error Rate
}
,即在后编辑过程中编辑(插入/删除/替换)数量与参考翻译长度的占比率对译文句子进行评分。HTER的计算公式为:
\vspace
{
0.5em
}
\begin{eqnarray}
\textrm
{
HTER
}&
=
&
\frac
{
\mbox
{
编辑操作数目
}}{
\mbox
{
翻译后编辑结果长度
}}
...
...
@@ -829,9 +829,9 @@ d&=&t \frac{s}{\sqrt{n}}
\begin{itemize}
\vspace
{
0.5em
}
\item
阅读理解测试得分情况
。以往衡量文档译文质量的主要方法是采用理解测试
\upcite
{
,DBLP:conf/icassp/JonesGSGHRW05
}
,即利用提前设计好的与文档相关的阅读理解题目(包括多项选择题类型和问答题类型)对母语为目标语言的多个测试者进行测试,将代表测试者在给定文档上的问卷中的所有问题所得到的分数作为质量标签。
\item
{
\small\sffamily\bfseries
{
阅读理解测试得分情况
}}
。以往衡量文档译文质量的主要方法是采用理解测试
\upcite
{
,DBLP:conf/icassp/JonesGSGHRW05
}
,即利用提前设计好的与文档相关的阅读理解题目(包括多项选择题类型和问答题类型)对母语为目标语言的多个测试者进行测试,将代表测试者在给定文档上的问卷中的所有问题所得到的分数作为质量标签。
\vspace
{
0.5em
}
\item
后编辑工作量
。 最近的研究工作中,多是采用对文档译文进行后编辑的工作量评估文档译文的质量。为了准确获取文档后编辑的工作量,两阶段后编辑方法被提出
\upcite
{
DBLP:conf/eamt/ScartonZVGS15
}
,即第一阶段对文档中的句子单独在无语境情况下进行后编辑,第二阶段将所有句子重新合并成文档后再进行后编辑。两阶段中后编辑工作量的总和越多,意味着文档译文质量越差。
\item
{
\small\sffamily\bfseries
{
后编辑工作量
}}
。 最近的研究工作中,多是采用对文档译文进行后编辑的工作量评估文档译文的质量。为了准确获取文档后编辑的工作量,两阶段后编辑方法被提出
\upcite
{
DBLP:conf/eamt/ScartonZVGS15
}
,即第一阶段对文档中的句子单独在无语境情况下进行后编辑,第二阶段将所有句子重新合并成文档后再进行后编辑。两阶段中后编辑工作量的总和越多,意味着文档译文质量越差。
\vspace
{
0.5em
}
\end{itemize}
...
...
@@ -855,22 +855,22 @@ d&=&t \frac{s}{\sqrt{n}}
\begin{itemize}
\vspace
{
0.5em
}
\item
表示/特征学习模块
:用于在数据中提取能够反映翻译结果质量的“特征”;
\item
{
\small\sffamily\bfseries
{
表示/特征学习模块
}}
:用于在数据中提取能够反映翻译结果质量的“特征”;
\vspace
{
0.5em
}
\item
质量评估模块
:基于句子的表示结果,利用机器学习算法预测翻译结果的质量。
\item
{
\small\sffamily\bfseries
{
质量评估模块
}}
:基于句子的表示结果,利用机器学习算法预测翻译结果的质量。
\end{itemize}
\parinterval
在传统机器学习的观点下,句子都是由某些特征表示的。因此需要人工设计能够对译文质量评估有指导性作用的特征
\upcite
{
DBLP:conf/wmt/Bicici13a,DBLP:conf/wmt/SouzaBTN13,DBLP:conf/wmt/BiciciW14,DBLP:conf/wmt/SouzaGBTN14,DBLP:conf/wmt/Espla-GomisSF15
}
,常用的特征有:
\begin{itemize}
\vspace
{
0.5em
}
\item
复杂度特征
:反映了翻译一个源文的难易程度,翻译难度越大,译文质量低的可能性就越大;
\item
{
\small\sffamily\bfseries
{
复杂度特征
}}
:反映了翻译一个源文的难易程度,翻译难度越大,译文质量低的可能性就越大;
\vspace
{
0.5em
}
\item
流畅度特征
:反映了译文的自然度、流畅度、语法合理程度;
\item
{
\small\sffamily\bfseries
{
流畅度特征
}}
:反映了译文的自然度、流畅度、语法合理程度;
\vspace
{
0.5em
}
\item
置信度特征
:反映了机器翻译系统对输出的译文的置信程度;
\item
{
\small\sffamily\bfseries
{
置信度特征
}}
:反映了机器翻译系统对输出的译文的置信程度;
\vspace
{
0.5em
}
\item
充分度特征
:反映了源文和机器译文在不同语言层次上的密切程度或关联程度。
\item
{
\small\sffamily\bfseries
{
充分度特征
}}
:反映了源文和机器译文在不同语言层次上的密切程度或关联程度。
\vspace
{
0.5em
}
\end{itemize}
...
...
@@ -897,11 +897,11 @@ d&=&t \frac{s}{\sqrt{n}}
\begin{itemize}
\vspace
{
0.5em
}
\item
判断人工后编辑的工作量
。人工后编辑工作中有两个不可避免的问题:1)待编辑的机器译文是否值得改?2)待编辑的机器译文需要修改哪里?对于一些质量较差的机器译文来说,人工重译远远比修改译文的效率高,后编辑人员可以借助质量评估系统提供的指标筛选出值得进行后编辑的机器译文,另一方面,质量评估模型可以为每条机器译文提供
{
错误内容、错误类型、错误严重程度
}
的注释,这些内容将帮助后编辑人员准确定位到需要修改的位置,同时在一定程度上提示后编辑人员采取何种修改策略,势必能大大减少后编辑的工作内容。
\item
{
\small\sffamily\bfseries
{
判断人工后编辑的工作量
}}
。人工后编辑工作中有两个不可避免的问题:1)待编辑的机器译文是否值得改?2)待编辑的机器译文需要修改哪里?对于一些质量较差的机器译文来说,人工重译远远比修改译文的效率高,后编辑人员可以借助质量评估系统提供的指标筛选出值得进行后编辑的机器译文,另一方面,质量评估模型可以为每条机器译文提供
{
错误内容、错误类型、错误严重程度
}
的注释,这些内容将帮助后编辑人员准确定位到需要修改的位置,同时在一定程度上提示后编辑人员采取何种修改策略,势必能大大减少后编辑的工作内容。
\vspace
{
0.5em
}
\item
自动识别并更正翻译错误
。质量评估和
{
\small\sffamily\bfseries
{
自动后编辑
}}
\index
{
自动后编辑
}
(Automatic Post-editing,APE)
\index
{
Automatic Post-editing
}
也是很有潜力的应用方向。因为质量评估可以预测出错的位置,进而可以使用自动方法修正这些错误。但是,在这种应用模式中,质量评估的精度是非常关键的,因为如果预测错误可能会产生错误的修改,甚至带来整体译文质量的下降。
\item
{
\small\sffamily\bfseries
{
自动识别并更正翻译错误
}}
。质量评估和
{
\small\sffamily\bfseries
{
自动后编辑
}}
\index
{
自动后编辑
}
(Automatic Post-editing,APE)
\index
{
Automatic Post-editing
}
也是很有潜力的应用方向。因为质量评估可以预测出错的位置,进而可以使用自动方法修正这些错误。但是,在这种应用模式中,质量评估的精度是非常关键的,因为如果预测错误可能会产生错误的修改,甚至带来整体译文质量的下降。
\vspace
{
0.5em
}
\item
辅助外语交流和学习
。例如,在很多社交网站上,用户会利用外语进行交流。质量评估模型可以提示该用户输入的内容中存在的用词、语法等问题,这样用户可以重新对内容进行修改。甚至质量评估可以帮助外语学习者发现外语使用中的问题,例如,对于一个英语初学者,如果能提示他/她写的句子中的明显错误,对他/她的外语学习是非常有帮助的。
\item
{
\small\sffamily\bfseries
{
辅助外语交流和学习
}}
。例如,在很多社交网站上,用户会利用外语进行交流。质量评估模型可以提示该用户输入的内容中存在的用词、语法等问题,这样用户可以重新对内容进行修改。甚至质量评估可以帮助外语学习者发现外语使用中的问题,例如,对于一个英语初学者,如果能提示他/她写的句子中的明显错误,对他/她的外语学习是非常有帮助的。
\vspace
{
0.5em
}
\end{itemize}
...
...
Chapter9/chapter9.tex
查看文件 @
b354a1a2
...
...
@@ -142,11 +142,11 @@
\begin{itemize}
\vspace
{
0.5em
}
\item
特征的构造需要耗费大量的时间和精力
。在传统机器学习的特征工程方法中,特征提取都是基于人力完成的,该过程往往依赖于大量的先验假设,会导致相关系统的研发周期也大大增加;
\item
{
\small\sffamily\bfseries
{
特征的构造需要耗费大量的时间和精力
}}
。在传统机器学习的特征工程方法中,特征提取都是基于人力完成的,该过程往往依赖于大量的先验假设,会导致相关系统的研发周期也大大增加;
\vspace
{
0.5em
}
\item
最终的系统性能强弱非常依赖特征的选择
。有一句话在业界广泛流传:“数据和特征决定了机器学习的上限”,但是人的智力和认知是有限的,因此人工设计的特征的准确性和覆盖度会存在瓶颈;
\item
{
\small\sffamily\bfseries
{
最终的系统性能强弱非常依赖特征的选择
}}
。有一句话在业界广泛流传:“数据和特征决定了机器学习的上限”,但是人的智力和认知是有限的,因此人工设计的特征的准确性和覆盖度会存在瓶颈;
\vspace
{
0.5em
}
\item
通用性差
。针对不同的任务,传统机器学习的特征工程方法需要选择出不同的特征,在某个任务上表现很好的特征在其他任务上可能没有效果。
\item
{
\small\sffamily\bfseries
{
通用性差
}}
。针对不同的任务,传统机器学习的特征工程方法需要选择出不同的特征,在某个任务上表现很好的特征在其他任务上可能没有效果。
\vspace
{
0.5em
}
\end{itemize}
...
...
@@ -645,11 +645,11 @@ x_1\cdot w_1+x_2\cdot w_2+x_3\cdot w_3 & = & 0\cdot 1+0\cdot 1+1\cdot 1 \nonumbe
\begin{itemize}
\vspace
{
0.5em
}
\item
对问题建模
,即定义输入
$
\{
x
_
i
\}
$
的形式;
\item
{
\small\sffamily\bfseries
{
对问题建模
}}
,即定义输入
$
\{
x
_
i
\}
$
的形式;
\vspace
{
0.5em
}
\item
设计有效的决策模型
,即定义
$
y
$
;
\item
{
\small\sffamily\bfseries
{
设计有效的决策模型
}}
,即定义
$
y
$
;
\vspace
{
0.5em
}
\item
得到模型参数
(如权重
$
\{
w
_
i
\}
$
)的最优值。
\item
{
\small\sffamily\bfseries
{
得到模型参数
}}
(如权重
$
\{
w
_
i
\}
$
)的最优值。
\vspace
{
0.5em
}
\end{itemize}
...
...
@@ -1899,11 +1899,11 @@ z_t&=&\gamma z_{t-1}+(1-\gamma) \frac{\partial J}{\partial {\theta}_t} \cdot \f
\begin{itemize}
\vspace
{
0.3em
}
\item
输入层
(词的分布式表示层),即把输入的离散的单词变为分布式表示对应的实数向量;
\item
{
\small\sffamily\bfseries
{
输入层
}}
(词的分布式表示层),即把输入的离散的单词变为分布式表示对应的实数向量;
\vspace
{
0.3em
}
\item
隐藏层
,即将得到的词的分布式表示进行线性和非线性变换;
\item
{
\small\sffamily\bfseries
{
隐藏层
}}
,即将得到的词的分布式表示进行线性和非线性变换;
\vspace
{
0.3em
}
\item
输出层
(Softmax层),根据隐藏层的输出预测单词的概率分布。
\item
{
\small\sffamily\bfseries
{
输出层
}}
(Softmax层),根据隐藏层的输出预测单词的概率分布。
\vspace
{
0.3em
}
\end{itemize}
...
...
@@ -2076,11 +2076,11 @@ z_t&=&\gamma z_{t-1}+(1-\gamma) \frac{\partial J}{\partial {\theta}_t} \cdot \f
\parinterval
为了方便理解,看一个简单的例子。假如现在有个“预测下一个单词”的任务:有这样一个句子“屋里 要 摆放 一个
\rule
[-3pt]
{
1cm
}{
0.05em
}
”,其中下划线的部分表示需要预测的下一个单词。如果模型在训练数据中看到过类似于“摆放 一个 桌子”这样的片段,那么就可以很自信的预测出“桌子”。另一方面,很容易知道,实际上与“桌子”相近的单词,如“椅子”,也是可以预测的单词的。但是,“椅子”恰巧没有出现在训练数据中,这时如果用One-hot编码来表示单词,显然无法把“椅子”填到下划线处;而如果使用单词的分布式表示,很容易就知道 “桌子”与“椅子”是相似的,因此预测“ 椅子”在一定程度上也是合理的。
\begin{example}
屋里
要 摆放
一个
\_\_\_\_\_
\hspace
{
0.5em
}
\quad
\quad
预测下个词
屋里
\
要
\
摆放
\
一个
\_\_\_\_\_
\hspace
{
0.5em
}
\quad
\quad
预测下个词
\hspace
{
2em
}
屋里
要 摆放 一个
{
\red
{
桌子
}}
\hspace
{
3.2em
}
见过
\hspace
{
2em
}
屋里
\
要
\
摆放
\
一个
\
{
\red
{
桌子
}}
\hspace
{
3.2em
}
见过
\hspace
{
2em
}
屋里
要 摆放 一个
{
\blue
{
椅子
}}
\hspace
{
3.2em
}
没见过,但是仍然是合理预测
\hspace
{
2em
}
屋里
\
要
\
摆放
\
一个
\
{
\blue
{
椅子
}}
\hspace
{
3.2em
}
没见过,但是仍然是合理预测
\end{example}
\parinterval
关于单词的分布式表示还有一个经典的例子:通过词嵌入可以得到如下关系:
$
\textrm
{
“国王”
}
=
\textrm
{
“女王”
}
-
\textrm
{
“女人”
}
+
\textrm
{
“男人”
}$
。从这个例子可以看出,词嵌入也具有一些代数性质,比如,词的分布式表示可以通过加、减等代数运算相互转换。图
\ref
{
fig:9-66
}
展示了词嵌入在一个二维平面上的投影,不难发现,含义相近的单词分布比较临近。
...
...
@@ -2116,9 +2116,9 @@ z_t&=&\gamma z_{t-1}+(1-\gamma) \frac{\partial J}{\partial {\theta}_t} \cdot \f
\parinterval
目前,词嵌入已经成为诸多自然语言处理系统的标配,也衍生出很多有趣的研究法方向。但是,冷静地看,词嵌入依旧存在一些问题:每个词都对应唯一的向量表示,那么对于一词多义现象,词义需要通过上下文进行区分,这时使用简单的词嵌入式是无法处理的。有一个著名的例子:
\begin{example}
Aaron is an employee of
{
\red
{
\underline
{
apple
}}}
.
Aaron is an employee of
{
\red
{
\underline
{
apple
}}}
\
.
\hspace
{
2em
}
He finally ate the
{
\red
{
\underline
{
apple
}}}
.
\hspace
{
2em
}
He finally ate the
{
\red
{
\underline
{
apple
}}}
\
.
\end{example}
\parinterval
这两句中“apple”的语义显然是不同的,第一句中的上下文“Jobs”和“CEO”可以帮助我们判断“apple”是一个公司名字,而不是水果。但是词嵌入只有一个结果,因此无法区分这两种情况。这个例子给我们一个启发:在一个句子中,不能孤立的看待单词,应同时考虑其上下文的信息。也就是需要一个能包含句子中上下文信息的表示模型。
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论