Commit 3edd2773 by 曹润柘

update chapter2-3

parent 2cb7736f
......@@ -320,7 +320,6 @@
\begin{figure}[htp]
\centering
\input{./Chapter2/Figures/figure-Self-information-function}
\setlength{\belowcaptionskip}{-1.0em}
\caption{自信息函数图像}
\label{fig:Self-information-function}
\end{figure}
......@@ -376,7 +375,7 @@
\label{fig:a-simple-pre-processing-process}
\end{figure}
%-------------------------------------------
\vspace{-0.5em}
%\vspace{-0.5em}
\parinterval 分词得到的单元序列可以是语言学上的词序列,也可以是根据其它定义的单元。在本章中,我们把分词得到的一个个单元称为单词,尽管这些单元可以不是语言学上的完整单词。而这个过程也被称作词法分析。除了汉语,词法分析在日语、泰语等单词之间无明确分割符的语言中有着广泛的应用,芬兰语、维吾尔语等一些形态学十分丰富的语言,也需要使用词法分析来解决复杂的词尾、词缀变化等形态学变化。
\parinterval 在机器翻译中,分词系统的好坏往往会决定机器翻译的质量。分词的目的是定义系统处理的基本单元,那么什么叫做``词''呢?关于词的定义有很多,比如:\\
......@@ -397,7 +396,7 @@
\parinterval 从语言学的角度,普遍认为词是可以单独运用的、包含意义的基本单位。我们使用有限的词可以组合出无限的句子,这也正体现出自然语言的奇妙之处。
\parinterval 不过,机器翻译并不仅仅局限在语言学定义的单词,因此机器翻译系统所使用的分词也不仅仅把句子按照词切开,比如,神经机器翻译中广泛使用的BPE子词切分方法,可以被理解为将词的一部分也进行切开,也就是得到词片段送给机器翻译系统使用。比如,对如下英文字符串,可以得到如下切分结果
\parinterval 不过,机器翻译并不仅仅局限在语言学定义的单词,因此机器翻译系统所使用的分词也不仅仅把句子按照词切开,比如,神经机器翻译中广泛使用的BPE子词切分方法,可以被理解为将词的一部分也进行切开,也就是得到词片段送给机器翻译系统使用。比如,对如下英文字符串,可以得到如下切分结果
\parinterval Interesting \; -> \; Interest/ing selection \;->\;se/lect/ion procession \hspace{0.23em} -> \; pro/cess/ion
......@@ -419,7 +418,6 @@
\begin{figure}[htp]
\centering
\input{./Chapter2/Figures/figure-Example-of-word-segmentation-based-on-dictionary}
\setlength{\belowcaptionskip}{-0.2cm}
\caption{基于词典进行分词实例}
\label{fig:Example-of-word-segmentation-based-on-dictionary}
\end{figure}
......@@ -432,7 +430,6 @@
\begin{figure}[htp]
\centering
\input{./Chapter2/Figures/figure-cross-type-word-segmentation-ambiguity}
\setlength{\belowcaptionskip}{-0.5em}
\caption{交叉型分词歧义}
\label{fig:cross-type-word-segmentation-ambiguity}
\end{figure}
......@@ -464,6 +461,7 @@
\begin{figure}[htp]
\centering
\input{./Chapter2/Figures/figure-word-segmentation-based-on-statistics}
\setlength{\belowcaptionskip}{-0.5cm}
\caption{基于统计的分词流程}
\label{fig:word-segmentation-based-on-statistics}
\end{figure}
......@@ -480,7 +478,7 @@
\begin{figure}[htp]
\centering
\input{./Chapter2/Figures/figure-the-dice-game}
\setlength{\belowcaptionskip}{-0.2cm}
\setlength{\belowcaptionskip}{-0.5cm}
\caption{骰子结果}
\label{fig:the-dice-game}
\end{figure}
......@@ -531,7 +529,6 @@
\begin{figure}[htp]
\centering
\input{./Chapter2/Figures/figure-the-dice-game-model}
\setlength{\belowcaptionskip}{-1.0em}
\caption{预设的骰子模型}
\label{fig:the-dice-game-model}
\end{figure}
......@@ -780,7 +777,7 @@
\label{fig:no-smoothing&smoothed-probability-distributions}
\end{figure}
%-------------------------------------------
\vspace{-1.5em}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsubsection{古德-图灵估计法}\index{Chapter2.4.2.2}
......@@ -799,7 +796,6 @@ r^* = (r + 1)\frac{n_{r + 1}}{n_r}
\end{eqnarray}
\parinterval 基于这个公式,就可以估计所有0次$n$元语法的频次$n_0 r_0^*=(r_0+1)n_1=n_1$。要把这个重新估计的统计数转化为概率,只需要进行归一化处理:对于每个统计数为$r$的事件,其概率为$\textrm{P}_r=r^*/N$,其中
\begin{eqnarray}
N & = & \sum_{r=0}^{\infty}{r^{*}n_r} \nonumber \\
& = & \sum_{r=0}^{\infty}{(r + 1)n_{r + 1}} \nonumber \\
......@@ -841,10 +837,10 @@ N & = & \sum_{r>0}{p_r n_r} \nonumber \\
\vspace{-1.5em}
\parinterval 很多时候会出现$n_{r+1}=0$的情况,这是对于当$r$很大的时候很常见的情况,而且通常情况下当$r$很大时,$n_r$也会有噪音的存在。这种简单的Good-Turing方法无法应对这些复杂的情况,随着更多的研究和发展,成为了一些其他平滑方法的基础。
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsubsection{Kneser-Ney平滑方法}\index{Chapter2.4.2.3}
\vspace{-1.0em}
\parinterval Kneser-Ney平滑方法由R.Kneser和H.Ney于1995年提出的用于计算$n$元语法概率分布的方法\cite{kneser1995improved}\cite{chen1999empirical}。基于absolute discounting,并被广泛认为是最有效的平滑方法。这种平滑方法改进了absolute discounting中与高阶分布相结合的低阶分布的计算方法,使不同阶分布得到充分的利用。这种算法综合利用了其他多种平滑算法的思想,是一种先进而且标准的平滑算法。
\parinterval 首先介绍一下absolute discounting平滑算法,公式如下所示:
......@@ -1065,8 +1061,8 @@ s_0 \overset{r_1}{\Rightarrow} s_1 \overset{r_2}{\Rightarrow} s_2 \overset{r_3}{
\parinterval 但是,句子和规则的推导并不是一一对应的。同一个句子,往往有很多推导与之对应,我们称为歧义。甚至同一棵句法树,也可以对应不同的推导。
\vspace{-1.0em}
\parinterval\ref{fig:two-different-derivation-of-regulation}给出一个同一棵句法树所对应的两种不同的规则推导。
%-------------------------------------------
%图2.5.2.4
\begin{figure}[htp]
......@@ -1078,7 +1074,6 @@ s_0 \overset{r_1}{\Rightarrow} s_1 \overset{r_2}{\Rightarrow} s_2 \overset{r_3}{
\end{figure}
%-------------------------------------------
\vspace{-0.5em}
\parinterval 显然,这样使用不同的规则顺序进行树的生成会导致句法树的推导这一确定的过程变得不确定。因此,需要进行消歧。这里,我们可以使用启发式方法:要求规则使用都服从最左优先原则,这样得到的推导被称为最左优先推导。图中推导1就是符合最左优先原则的推导。
\parinterval 这样,对于一个上下文无关文法,每一棵句法树都有唯一的最左推导与之对应。这样,句法分析可以被描述为:对于一个句子找到能够生成它的最佳推导,这个推导所对应的句法树就是这个句子的句法分析结果。
......@@ -1094,7 +1089,7 @@ s_0 \overset{r_1}{\Rightarrow} s_1 \overset{r_2}{\Rightarrow} s_2 \overset{r_3}{
\label{fig:perspectives-of-expert-ordinary-and-syntactic-parser}
\end{figure}
%-------------------------------------------
\vspace{-1.0em}
\parinterval 在统计句法分析中,我们需要对每个推导进行统计建模,于是我们得到一个模型$\textrm{P}( \cdot )$,对于任意的推导$d$,都可以用$\textrm{P}(d)$计算推导$d$的概率。这样,给定一个输入句子,我们可以对所有可能的推导用$\textrm{P}(d)$计算其概率值,并选择概率最大的结果作为句法分析的结果输出(图\ref{fig:probability-values-corresponding-to-different-derivations})。
%-------------------------------------------
%图2.5.2.6
......@@ -1104,8 +1099,8 @@ s_0 \overset{r_1}{\Rightarrow} s_1 \overset{r_2}{\Rightarrow} s_2 \overset{r_3}{
\caption{不同推导(句法树)对应的概率值}
\label{fig:probability-values-corresponding-to-different-derivations}
\end{figure}
%-------------------------------------------
\vspace{-1.5em}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{规则和推导的概率}\index{Chapter2.5.3}
......
......@@ -860,33 +860,17 @@ f(s_u|t_v) = \lambda_{t_v}^{-1} \frac{\epsilon}{(l+1)^{m}} \prod\limits_{j=1}^{m
\end{figure}
%---------------------------
\noindent \hspace{2em} 更具体的,期望频次是事件在其分布下出现的次数的期望。其计算公式为:$c_{\mathbb{E}}(X)=\sum_i c(x_i) \cdot \textrm{P}(x_i)$。其中$c(x_i)$表示$x_i$出现的次数,P$(x_i)$表示$x_i$出现的概率。下表展示了事件X的期望频次的详细计算过程。其中$x_1,x_2,x_3$分别表示事件X出现2次,1次和5次的情况。
\begin{table}[h]
\centering
\caption{期望频次的详细计算过程}
\label{tab:calculation-of-the-expected-frequency}
\subtable{
\begin{tabular}{cc}
\multicolumn{1}{c|}{$x_i$} & c($x_i$) \\ \hline
\multicolumn{1}{c|}{$x_1$} & 2 \\
\multicolumn{1}{c|}{$x_2$} & 1 \\
\multicolumn{1}{c|}{$x_3$} & 5 \\ \hline
\multicolumn{2}{c}{c(X)=8}
\end{tabular}
\label{tab:firsttable}
}
\qquad
\subtable{
\begin{tabular}{cccc}
\multicolumn{1}{c|}{$x_i$} & c($x_i$) & P($x_i$) & $c(x_i)\cdot$P($x_i$) \\ \hline
\multicolumn{1}{c|}{$x_1$} & 2 & 0.1 & 0.2 \\
\multicolumn{1}{c|}{$x_2$} & 1 & 0.3 & 0.3 \\
\multicolumn{1}{c|}{$x_3$} & 5 & 0.2 & 1.0 \\ \hline
\multicolumn{4}{c}{c(X)=0.2+0.3+1.0=1.5}
\end{tabular}
\label{tab:secondtable}
}
\end{table}
\noindent \hspace{2em} 更具体的,期望频次是事件在其分布下出现的次数的期望。其计算公式为:$c_{\mathbb{E}}(X)=\sum_i c(x_i) \cdot \textrm{P}(x_i)$。其中$c(x_i)$表示$x_i$出现的次数,P$(x_i)$表示$x_i$出现的概率。图\ref{fig:3-26}展示了事件X的期望频次的详细计算过程。其中$x_1,x_2,x_3$分别表示事件X出现2次,1次和5次的情况。
%----------------------------------------------
% 图1.26
\begin{figure}[htp]
\centering
\subfigure{\input{./Chapter3/Figures/figure-calculation-of-the-expected-frequency-1}}
\subfigure{\input{./Chapter3/Figures/figure-calculation-of-the-expected-frequency-2}}
\caption{期望频次的详细计算过程}
\label{fig:3-26}
\end{figure}
%---------------------------
\noindent \hspace{2em} 因为在$\textrm{P}(\mathbf{s}|\mathbf{t})$中,$t_v$翻译(连接)到$s_u$的期望频次为:
\begin{eqnarray}
......@@ -939,7 +923,7 @@ c_{\mathbb{E}}(\mathbf{s}_u|\mathbf{t}_v)=\sum\limits_{i=1}^{N} c_{\mathbb{E}}(
\centering
\input{./Chapter3/Figures/figure-calculation-formula&iterative-process-of-function}
\caption{$f(\mathbf{s}_u|\mathbf{t}_v)$的计算公式和迭代过程}
\label{fig:3-26}
\label{fig:3-27}
\end{figure}
%---------------------------
......@@ -950,8 +934,8 @@ c_{\mathbb{E}}(\mathbf{s}_u|\mathbf{t}_v)=\sum\limits_{i=1}^{N} c_{\mathbb{E}}(
\centering
\input{./Chapter3/Figures/figure-EM-algorithm-flow-chart}
\setlength{\belowcaptionskip}{-0.5em}
\caption{EM算法流程图}
\label{fig:3-27}
\caption{EM算法流程图(IBM模型1)}
\label{fig:3-28}
\end{figure}
%---------------------------
......@@ -984,11 +968,11 @@ f(s_u|t_v) &=\frac{\sum_{k=0}^{K}c_{\mathbb{E}}(s_u|t_v;\mathbf{s}^{[k]},\mathbf
\centering
\input{./Chapter3/Figures/figure-probability_translation_process}
\caption{基于产出率的翻译过程}
\label{fig:3-28}
\label{fig:3-29}
\end{figure}
%---------------------------
\parinterval 对于句对$(\mathbf{s},\mathbf{t})$,令$\varphi$表示产出率,同时令${\tau}$表示每个目标语单词对应的源语言单词列表。图{\ref{fig:3-28}}描述了一个英语句子生成汉语句子的过程。首先,对于每个英语单词$t_j$决定它的产出率$\varphi_{j}$。比如``Scientists''的产出率是2,可表示为${\varphi}_{1}=2$。这表明它会生成2个汉语单词;其次,确定英语句子中每个单词生成的汉语单词列表。比如``Scientists''生成``科学家''和``们''两个汉语单词,可表示为${\tau}_1=\{{\tau}_{11}=\textrm{``科学家''},{\tau}_{12}=\textrm{``科学家''}$。这里用特殊的空标记NULL表示翻译对空的情况;最后,把生成的所有汉语单词放在合适的位置。比如``科学家''和``们''分别放在$\mathbf{s}$的位置1和位置2。我们用符号$\pi$记录生成的单词在源语言句子$\mathbf{s}$的位置。比如``Scientists''生成的汉语单词在s中的位置表示为${\pi}_{1}=\{{\pi}_{11}=1,{\pi}_{12}=2\}$
\parinterval 对于句对$(\mathbf{s},\mathbf{t})$,令$\varphi$表示产出率,同时令${\tau}$表示每个目标语单词对应的源语言单词列表。图{\ref{fig:3-29}}描述了一个英语句子生成汉语句子的过程。首先,对于每个英语单词$t_j$决定它的产出率$\varphi_{j}$。比如``Scientists''的产出率是2,可表示为${\varphi}_{1}=2$。这表明它会生成2个汉语单词;其次,确定英语句子中每个单词生成的汉语单词列表。比如``Scientists''生成``科学家''和``们''两个汉语单词,可表示为${\tau}_1=\{{\tau}_{11}=\textrm{``科学家''},{\tau}_{12}=\textrm{``科学家''}$。这里用特殊的空标记NULL表示翻译对空的情况;最后,把生成的所有汉语单词放在合适的位置。比如``科学家''和``们''分别放在$\mathbf{s}$的位置1和位置2。我们用符号$\pi$记录生成的单词在源语言句子$\mathbf{s}$的位置。比如``Scientists''生成的汉语单词在s中的位置表示为${\pi}_{1}=\{{\pi}_{11}=1,{\pi}_{12}=2\}$
\parinterval 为了表述清晰,我们重新说明每个符号的含义。$\mathbf{s}$$\mathbf{t}$$m$$l$分别表示源语言句子、目标语译文、源语言单词数量以及译文单词数量。$\mathbf{\varphi}$$\mathbf{\tau}$$\mathbf{\pi}$分别记录产出率、生成的源语言单词以及它们在源文中的位置。${\phi}_{j}$表示第$j$个译文单词$t_j$的产出率。${\tau}_{j}$${\pi}_j$分别表示$t_j$生成的源语言单词列表及其在源语言句子$\mathbf{s}$中的位置列表。
......@@ -998,18 +982,18 @@ f(s_u|t_v) &=\frac{\sum_{k=0}^{K}c_{\mathbb{E}}(s_u|t_v;\mathbf{s}^{[k]},\mathbf
\centering
\input{./Chapter3/Figures/figure-example-of-t-s-generate}
\caption{目标语单词生成源语言单词列表的实例}
\label{fig:3-29}
\label{fig:3-30}
\end{figure}
%---------------------------
\parinterval 可以看出,一组$\tau$$\phi$(记为$<\tau,\phi>$)可以决定一个对齐$\mathbf{a}$和一个源语句子$\mathbf{s}$。相反的,一个对齐$\mathbf{a}$和一个源语句子$\mathbf{s}$可以对应多组$<\tau,\phi>$。如图\ref{fig:3-29}所示,不同的$<\tau,\phi>$对应同一个源语言句子和词对齐。它们的区别在于目标语单词``Scientists''生成的源语言单词``科学家''和``们''的顺序不同。我们把不同的$<\tau,\phi>$对应到的相同的源语句子$\mathbf{s}$和对齐$\mathbf{a}$记为$<\mathbf{s},\mathbf{a}>$。因此计算$\textrm{P}(\mathbf{s},\mathbf{a}| \mathbf{t})$时需要把每个可能结果的概率加起来,如下:
\parinterval 可以看出,一组$\tau$$\phi$(记为$<\tau,\phi>$)可以决定一个对齐$\mathbf{a}$和一个源语句子$\mathbf{s}$。相反的,一个对齐$\mathbf{a}$和一个源语句子$\mathbf{s}$可以对应多组$<\tau,\phi>$。如图\ref{fig:3-30}所示,不同的$<\tau,\phi>$对应同一个源语言句子和词对齐。它们的区别在于目标语单词``Scientists''生成的源语言单词``科学家''和``们''的顺序不同。我们把不同的$<\tau,\phi>$对应到的相同的源语句子$\mathbf{s}$和对齐$\mathbf{a}$记为$<\mathbf{s},\mathbf{a}>$。因此计算$\textrm{P}(\mathbf{s},\mathbf{a}| \mathbf{t})$时需要把每个可能结果的概率加起来,如下:
\begin{equation}
\textrm{P}(\mathbf{s},a| \mathbf{t})=\sum_{{<\tau,\phi>}\in{<\mathbf{s},a>}}{\textrm{P}(\tau,\phi|t) }
\label{eqC3.52-new}
\end{equation}
\parinterval 不过$<\mathbf{s},\mathbf{a}>$中有多少个元素呢?通过图\ref{fig:3-28}中的例子,可以推出$<\mathbf{s},\mathbf{a}>$应该包含$\prod_{i=0}^{l}{\varphi !}$个不同的二元组$<\tau,\pi>$。这是因为在给定源语言句子和词对齐时,对于每一个$\tau_i$都有$\varphi_{i}!$种排列。
\parinterval 不过$<\mathbf{s},\mathbf{a}>$中有多少个元素呢?通过图\ref{fig:3-29}中的例子,可以推出$<\mathbf{s},\mathbf{a}>$应该包含$\prod_{i=0}^{l}{\varphi !}$个不同的二元组$<\tau,\pi>$。这是因为在给定源语言句子和词对齐时,对于每一个$\tau_i$都有$\varphi_{i}!$种排列。
\parinterval 进一步,$\textrm{P}(\tau,\pi|\mathbf{t})$可以被表示为:
......@@ -1019,10 +1003,10 @@ f(s_u|t_v) &=\frac{\sum_{k=0}^{K}c_{\mathbb{E}}(s_u|t_v;\mathbf{s}^{[k]},\mathbf
\centering
\input{./Chapter3/Figures/figure-expression}
\caption{{$\textrm{P}(\tau,\pi|t)$}的详细表达式}
\label{fig:3-30}
\label{fig:3-31}
\end{figure}
\noindent 其中$τ_{j1}^{k-1}$表示$\tau_{j1}\tau_{j2}\cdots \tau_{j(k-1)}$$\pi_{j1}^{ k-1}$表示$\pi_{j1}\pi_{j2}\cdots \pi_{j(k-1)}$。我们可以把图\ref{fig:3-30}中的公式分为5个部分,并用不同的序号和颜色进行标注。每部分的具体含义是:
\noindent 其中$τ_{j1}^{k-1}$表示$\tau_{j1}\tau_{j2}\cdots \tau_{j(k-1)}$$\pi_{j1}^{ k-1}$表示$\pi_{j1}\pi_{j2}\cdots \pi_{j(k-1)}$。我们可以把图\ref{fig:3-31}中的公式分为5个部分,并用不同的序号和颜色进行标注。每部分的具体含义是:
\begin{itemize}
......@@ -1036,13 +1020,13 @@ f(s_u|t_v) &=\frac{\sum_{k=0}^{K}c_{\mathbb{E}}(s_u|t_v;\mathbf{s}^{[k]},\mathbf
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{IBM 模型3}\index{Chapter3.5.2}
\parinterval IBM模型3通过一些假设对图\ref{fig:3-30}所表示的基本模型进行了化简。具体来说,对于每个$j\in[1,l]$,假设$\textrm{P}(\varphi_j |\varphi_1^{j-1},\mathbf{t})$仅依赖于$\varphi_j$$t_j$$\textrm{P}(\pi_{jk}|\pi_{j1}^{k-1},\pi_1^{j-1},\tau_0^l,\varphi_0^l,\mathbf{t})$仅依赖于$\pi_{jk}$$j$$m$$l$。而对于所有的$j\in[0,l]$,假设$\textrm{P}(\tau_{jk}|\tau_{j1}^{k-1},\tau_1^{j-1},\phi_0^l,\mathbf{t})$仅依赖于$\tau_{jk}$$t_j$。形式化这些假设,我们得到:
\parinterval IBM模型3通过一些假设对图\ref{fig:3-31}所表示的基本模型进行了化简。具体来说,对于每个$j\in[1,l]$,假设$\textrm{P}(\varphi_j |\varphi_1^{j-1},\mathbf{t})$仅依赖于$\varphi_j$$t_j$$\textrm{P}(\pi_{jk}|\pi_{j1}^{k-1},\pi_1^{j-1},\tau_0^l,\varphi_0^l,\mathbf{t})$仅依赖于$\pi_{jk}$$j$$m$$l$。而对于所有的$j\in[0,l]$,假设$\textrm{P}(\tau_{jk}|\tau_{j1}^{k-1},\tau_1^{j-1},\phi_0^l,\mathbf{t})$仅依赖于$\tau_{jk}$$t_j$。形式化这些假设,我们得到:
\begin{eqnarray}
\textrm{P}(\varphi_j|\varphi_1^{j-1},\mathbf{t}) & = &{\textrm{P}(\varphi_j|t_j)} \label{eqC3.53-new} \\
\textrm{P}(\tau_{jk} = s_i |\tau_{j1}^{k-1},\tau_{1}^{j-1},\varphi_0^t,\mathbf{t}) & = & t(s_i|t_j) \label{eqC3.54-new} \\
\textrm{P}(\pi_{jk} = i |\pi_{j1}^{k-1},\pi_{1}^{j-1},\tau_{0}^{l},\varphi_{0}^{l},\mathbf{t}) & = & d(i|j,m,l) \label{eqC3.55-new}
\end{eqnarray}
\parinterval 我们把$d(i|j,m,l)$称为扭曲度。这里$\textrm{P}(\varphi_j|\varphi_1^{j-1},\mathbf{t})={\textrm{P}(\varphi_j|t_j)}$${\textrm{P}(\pi_{jk}=i|\pi_{j1}^{k-1},}$ $\pi_{1}^{j-1},\tau_0^l,\varphi_0^l,\mathbf{t})=d(i|j,m,l)$仅对$1 \le j \le l$成立。这样就完成了图\ref{fig:3-30}中第1、 3和4部分的建模。
\parinterval 我们把$d(i|j,m,l)$称为扭曲度。这里$\textrm{P}(\varphi_j|\varphi_1^{j-1},\mathbf{t})={\textrm{P}(\varphi_j|t_j)}$${\textrm{P}(\pi_{jk}=i|\pi_{j1}^{k-1},}$ $\pi_{1}^{j-1},\tau_0^l,\varphi_0^l,\mathbf{t})=d(i|j,m,l)$仅对$1 \le j \le l$成立。这样就完成了图\ref{fig:3-31}中第1、 3和4部分的建模。
\parinterval 对于$j=0$的情况需要单独进行考虑。实际上,$t_0$只是一个虚拟的单词。它要对应$\mathbf{s}$中原本为空对齐的单词。这里假设,要等其他非空对应单词都被生成(放置)后,才考虑这些空对齐单词的生成(放置)。即非空对单词都被生成后,在那些还有空的位置上放置这些空对的源语单词。此外,在任何的空位置上放置空对的源语单词都是等概率的,即放置空对齐源语言单词服从均匀分布。这样在已经放置了$k$个空对齐源语言单词的时候,应该还有$\varphi_0-k$个空位置。如果第$j$个位置为空,那么$\textrm{P}(\pi_{0k}=j|\pi_{01}^{k-1},\pi_1^l,\tau_0^l,\varphi_0^l,\mathbf{t})=\frac{1}{\varphi_0-k}$,否则$\textrm{P}(\pi_{0k}=j|\pi_{01}^{k-1},\pi_1^l,\tau_0^l,\varphi_0^l,\mathbf{t})=0$。这样对于$t_0$所对应的$\tau_0$,就有
{
......@@ -1086,14 +1070,14 @@ p_0+p_1 & = & 1 \label{eqC3.62-new}
\parinterval IBM模型3仍然存在问题,比如不能很好的处理一个目标语言单词生成多个源语言单词的情况。这个问题在模型1和模型2中也存在。如果一个目标语言单词对应多个源语言单词,往往这些源语言单词构成短语或搭配。但是模型1-3都把这些源语单词看成独立的单元,而实际上它们应该被看成一个翻译的整体。这就造成了在模型1-3中,这些源语言单词可能``分散''开。为了解决这个问题,模型4对模型3进行了进一步修改。
\parinterval 为了更清楚的阐述,这里引入新的术语\ \ 概念单元。词对齐又可以被看作概念(concept,简记为cept.)之间的对应。这里的概念是指具有独立语法或语义功能的一组单词。依照Brown等人的表示方法,我们把概念记为cept.。每个句子都可以被表示成一系列的cept.。这里要注意的是,源语言句子中的cept.数量不一定等于目标句子中的cept.数量。因为有些cept.可以为空,我们把那些空对的单词看作空cept.。比如,在图\ref{fig:3-31}的实例中,``了''就是(对应)一个空cept.。
\parinterval 为了更清楚的阐述,这里引入新的术语\ \ 概念单元。词对齐又可以被看作概念(concept,简记为cept.)之间的对应。这里的概念是指具有独立语法或语义功能的一组单词。依照Brown等人的表示方法,我们把概念记为cept.。每个句子都可以被表示成一系列的cept.。这里要注意的是,源语言句子中的cept.数量不一定等于目标句子中的cept.数量。因为有些cept.可以为空,我们把那些空对的单词看作空cept.。比如,在图\ref{fig:3-32}的实例中,``了''就是(对应)一个空cept.。
%----------------------------------------------
% 图3.6.1
\begin{figure}[htp]
\centering
\input{./Chapter3/Figures/figure-word-alignment}
\caption{汉译英句对及词对齐}
\label{fig:3-31}
\label{fig:3-32}
\end{figure}
%---------------------------
......@@ -1124,7 +1108,7 @@ p_0+p_1 & = & 1 \label{eqC3.62-new}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{ IBM 模型5}\index{Chapter3.5.4}
\parinterval 模型3和模型4并不是``准确''的模型。这两个模型会把一部分概率分配给一些根本就不存在的句子。这个问题被称作IBM模型3和模型4的缺陷(Deficiency)。说的具体一些,模型3和模型4中并没有这样的约束:如果已经放置了某个源语言单词的位置不能再放置其它单词,也就是说句子的任何位置只能放置一个词,不能多也不能少。由于缺乏这个约束,模型3和模型4中在所有合法的词对齐上概率和不等于1。这部分缺失的概率被分配到其它不合法的词对齐上。举例来说,如图\ref{fig:3-32}所示,``吃 早饭''和``Have breakfast''之间的合法词对齐用直线表示 。但是在模型3和模型4中, 在它们上的概率和为$0.9<1$。损失掉的概率被分配到像5和6这样的对齐上了(红色)。虽然IBM模型并不支持一对多的对齐,但是模型3和模型4把概率分配给这些``不合法''的词对齐上,因此也就产生所谓的deficiency问题。
\parinterval 模型3和模型4并不是``准确''的模型。这两个模型会把一部分概率分配给一些根本就不存在的句子。这个问题被称作IBM模型3和模型4的缺陷(Deficiency)。说的具体一些,模型3和模型4中并没有这样的约束:如果已经放置了某个源语言单词的位置不能再放置其它单词,也就是说句子的任何位置只能放置一个词,不能多也不能少。由于缺乏这个约束,模型3和模型4中在所有合法的词对齐上概率和不等于1。这部分缺失的概率被分配到其它不合法的词对齐上。举例来说,如图\ref{fig:3-33}所示,``吃 早饭''和``Have breakfast''之间的合法词对齐用直线表示 。但是在模型3和模型4中, 在它们上的概率和为$0.9<1$。损失掉的概率被分配到像5和6这样的对齐上了(红色)。虽然IBM模型并不支持一对多的对齐,但是模型3和模型4把概率分配给这些``不合法''的词对齐上,因此也就产生所谓的deficiency问题。
%----------------------------------------------
% 图3.5.4
......@@ -1133,7 +1117,7 @@ p_0+p_1 & = & 1 \label{eqC3.62-new}
\centering
\input{./Chapter3/Figures/figure-word-alignment&probability-distribution-in-IBM-model-3}
\caption{IBM模型3的词对齐及概率分配}
\label{fig:3-32}
\label{fig:3-33}
\end{figure}
%-------------------------------------------
......@@ -1166,7 +1150,7 @@ p_0+p_1 & = & 1 \label{eqC3.62-new}
\parinterval 我们用一个简单的例子来对这些概念进行说明。假设你有三枚质地不同的硬币A、B、C,这三个硬币抛出正面的概率分别为0.3、0.5、0.7。之后我们开始抛硬币,随机从三个硬币里挑一个,挑到每一个硬币的概率都是 1/3 。不停的重复上述过程,我们会得到一串硬币的正反序列,如:(抛硬币6次)正 正 反 反 正 反。
\parinterval 这串结果叫做可见状态链,由每个回合的可见状态构成。此外,HMM模型还有一串隐含状态链,在这里,隐含状态链就是你所用的硬币的序列,比如可能是:C B A B C A。同样的,HMM模型还会描述系统隐藏状态的转移概率,在本例子中,A的下一个状态是A、B、C的概率都是1/3。B、C的下一个状态是A、B、C的转移概率也同样是1/3。同样的,尽管可见状态链之间没有转移概率,但是隐含状态和可见状态之间存在着输出概率,即A、B、C抛出证明的输出概率为0.3、0.5、0.7。图\ref{fig:3-33}描述了本实例的隐马尔可夫模型示意图。
\parinterval 这串结果叫做可见状态链,由每个回合的可见状态构成。此外,HMM模型还有一串隐含状态链,在这里,隐含状态链就是你所用的硬币的序列,比如可能是:C B A B C A。同样的,HMM模型还会描述系统隐藏状态的转移概率,在本例子中,A的下一个状态是A、B、C的概率都是1/3。B、C的下一个状态是A、B、C的转移概率也同样是1/3。同样的,尽管可见状态链之间没有转移概率,但是隐含状态和可见状态之间存在着输出概率,即A、B、C抛出证明的输出概率为0.3、0.5、0.7。图\ref{fig:3-34}描述了本实例的隐马尔可夫模型示意图。
%----------------------------------------------
% 图3.5.4
......@@ -1174,7 +1158,7 @@ p_0+p_1 & = & 1 \label{eqC3.62-new}
\centering
\input{./Chapter3/Figures/figure-example-HMM}
\caption{隐马尔可夫模型实例}
\label{fig:3-33}
\label{fig:3-34}
\end{figure}
%-------------------------------------------
......@@ -1190,7 +1174,7 @@ p_0+p_1 & = & 1 \label{eqC3.62-new}
\end{itemize}
\subsubsection{(二)词对齐模型}
\parinterval IBM模型把翻译问题定义为对译文和词对齐同时进行生成的问题,模型翻译质量的好坏与词对齐有着非常紧密的联系。IBM模型1假设对齐概率仅依赖于译文长度,即对齐概率服从均匀分布;IBM模型2假设对齐概率与源语言、目标语言的句子长度以及源语言位置和目标语言位置相关。IBM模型2已经覆盖到了大部分的词对齐问题,但是该模型只考虑到了词语的绝对位置,并未考虑到相邻词语间的关系。图\ref{fig:3-34}展示了一个简单的实例,可以看到的是,汉语的每个词都被分配给了英语句子中的每一个单词,但是词语并不是任意分布在各个位置上的,而是倾向于生成簇。也就是说,如果源语言的两个词位置越近,它们的目标词在目标语言句子的位置也越近。
\parinterval IBM模型把翻译问题定义为对译文和词对齐同时进行生成的问题,模型翻译质量的好坏与词对齐有着非常紧密的联系。IBM模型1假设对齐概率仅依赖于译文长度,即对齐概率服从均匀分布;IBM模型2假设对齐概率与源语言、目标语言的句子长度以及源语言位置和目标语言位置相关。IBM模型2已经覆盖到了大部分的词对齐问题,但是该模型只考虑到了词语的绝对位置,并未考虑到相邻词语间的关系。图\ref{fig:3-35}展示了一个简单的实例,可以看到的是,汉语的每个词都被分配给了英语句子中的每一个单词,但是词语并不是任意分布在各个位置上的,而是倾向于生成簇。也就是说,如果源语言的两个词位置越近,它们的目标词在目标语言句子的位置也越近。
%----------------------------------------------
% 图3.5.4
......@@ -1198,7 +1182,7 @@ p_0+p_1 & = & 1 \label{eqC3.62-new}
\centering
\input{./Chapter3/Figures/figure-zh-en-sentence-alignment}
\caption{汉译英句对及对齐}
\label{fig:3-34}
\label{fig:3-35}
\end{figure}
%-------------------------------------------
......
\begin{tabular}{c|c}
\multicolumn{1}{c|}{$x_i$} & c($x_i$) \\ \hline
\multicolumn{1}{c|}{$x_1$} & 2 \\
\multicolumn{1}{c|}{$x_2$} & 1 \\
\multicolumn{1}{c|}{$x_3$} & 5 \\ \hline
\multicolumn{2}{c}{$c(X)=8$}
\end{tabular}
\qquad
\begin{tabular}{cccc}
\multicolumn{1}{c|}{$x_i$} & c($x_i$) & P($x_i$) & $c(x_i)\cdot$P($x_i$) \\ \hline
\multicolumn{1}{c|}{$x_1$} & 2 & 0.1 & 0.2 \\
\multicolumn{1}{c|}{$x_2$} & 1 & 0.3 & 0.3 \\
\multicolumn{1}{c|}{$x_3$} & 5 & 0.2 & 1.0 \\ \hline
\multicolumn{4}{c}{$c(X)=0.2+0.3+1.0=1.5$}
\end{tabular}
......@@ -43,66 +43,23 @@
%-------------------------------------------------------------------------
%%% 简易机器翻译系统 - step 3 decoding - example
\begin{tikzpicture}
\begin{scope}
\node [anchor=west,draw,thick,minimum width=3em, minimum height=2.2em,fill=green!30,drop shadow](num1) at (0,0) {C};
\node [anchor=north,circle,draw,thick,minimum width=3em,fill=red!30,drop shadow](num1-1) at ([yshift=-3.0em]num1.south) {};
\draw [->,very thick,ublue]([yshift=-0.2em]num1.south) -- ([yshift=0.2em]num1-1.north);
%%%%%%%%%%%%%%%%%%%%%%%%%%
\node [anchor=west,draw,thick,minimum width=3em, minimum height=2.2em,fill=green!30,drop shadow](num2) at ([xshift=3.5em]num1.east) {B};
\node [anchor=north,circle,draw,thick,minimum width=3em,fill=red!30,drop shadow](num2-1) at ([yshift=-3.0em]num2.south) {};
\draw [->,very thick]([xshift=0.2em]num1.east) -- ([xshift=-0.2em]num2.west);
\draw [->,very thick,ublue]([yshift=-0.2em]num2.south) -- ([yshift=0.2em]num2-1.north);
%%%%%%%%%%%%%%%%%%%%%%%%%%
\node [anchor=west,draw,thick,minimum width=3em, minimum height=2.2em,fill=green!30,drop shadow](num3) at ([xshift=3.5em]num2.east) {A};
\node [anchor=north,circle,draw,thick,minimum width=3em,fill=red!30,drop shadow](num3-1) at ([yshift=-3.0em]num3.south) {};
\draw [->,very thick]([xshift=0.2em]num2.east) -- ([xshift=-0.2em]num3.west);
\draw [->,very thick,ublue]([yshift=-0.2em]num3.south) -- ([yshift=0.2em]num3-1.north);
%%%%%%%%%%%%%%%%%%%%%%%%%%
\node [anchor=west,draw,thick,minimum width=3em, minimum height=2.2em,fill=green!30,drop shadow](num4) at ([xshift=3.5em]num3.east) {B};
\node [anchor=north,circle,draw,thick,minimum width=3em,fill=red!30,drop shadow](num4-1) at ([yshift=-3.0em]num4.south) {};
\draw [->,very thick]([xshift=0.2em]num3.east) -- ([xshift=-0.2em]num4.west);
\draw [->,very thick,ublue]([yshift=-0.2em]num4.south) -- ([yshift=0.2em]num4-1.north);
%%%%%%%%%%%%%%%%%%%%%%%%%%
\node [anchor=west,draw,thick,minimum width=3em, minimum height=2.2em,fill=green!30,drop shadow](num5) at ([xshift=3.5em]num4.east) {C};
\node [anchor=north,circle,draw,thick,minimum width=3em,fill=red!30,drop shadow](num5-1) at ([yshift=-3.0em]num5.south) {};
\draw [->,very thick]([xshift=0.2em]num4.east) -- ([xshift=-0.2em]num5.west);
\draw [->,very thick,ublue]([yshift=-0.2em]num5.south) -- ([yshift=0.2em]num5-1.north);
%%%%%%%%%%%%%%%%%%%%%%%%%%
\node [anchor=west,draw,thick,minimum width=3em, minimum height=2.2em,fill=green!30,drop shadow](num6) at ([xshift=3.5em]num5.east) {A};
\node [anchor=north,circle,draw,thick,minimum width=3em,fill=red!30,drop shadow](num6-1) at ([yshift=-3.0em]num6.south) {};
\draw [->,very thick]([xshift=0.2em]num5.east) -- ([xshift=-0.2em]num6.west);
\draw [->,very thick,ublue]([yshift=-0.2em]num6.south) -- ([yshift=0.2em]num6-1.north);
\node [anchor=north](word1) at ([xshift=1.0em,yshift=-1.0em]num1-1.south) {图示说明:};
\node [anchor=north,draw,thick,minimum width=3em, minimum height=2.2em,fill=green!30,drop shadow](word2) at ([xshift=-1.0em,yshift=-1.0em]word1.south) {C};
\node [anchor=west](word2-2) at ([xshift=1.5em]word2.east) {一个隐含状态};
\node [anchor=north,circle,draw,thick,minimum width=3em,fill=red!30,drop shadow](word3) at ([xshift=-1.0em,yshift=-5.5em]word1.south) {};
\node [anchor=west](word3-2) at ([xshift=1.5em]word3.east) {一个可见状态};
\draw [->,very thick]([xshift=5.2em]word2-2.east) -- ([xshift=8.3em]word2-2.east);
\node [anchor=west](word4) at ([xshift=9.8em]word2-2.east) {从一个隐含状态到下一个};
\node [anchor=north](word4-1) at ([xshift=-2.0em]word4.south) {隐含状态的转换};
\draw [->,very thick,ublue]([xshift=16.6em,yshift=-0.2em]word3.north) -- ([xshift=16.6em,yshift=0.2em]word3.south);
\node [anchor=north](word5) at ([xshift=2.0em,yshift=-1.65em]word4-1.south) {从一个隐含状态到可见状};
\node [anchor=north](word5-1) at ([xshift=-3.6em]word5.south) {态的输出};
\end{scope}
\end{tikzpicture}
\begin{tabular}{c|c}
\multicolumn{1}{c|}{$x_i$} & c($x_i$) \\ \hline
\multicolumn{1}{c|}{$x_1$} & 2 \\
\multicolumn{1}{c|}{$x_2$} & 1 \\
\multicolumn{1}{c|}{$x_3$} & 5 \\ \hline
\multicolumn{2}{c}{$c(X)=8$}
\end{tabular}
\begin{tabular}{cccc}
\multicolumn{1}{c|}{$x_i$} & c($x_i$) & P($x_i$) & $c(x_i)\cdot$P($x_i$) \\ \hline
\multicolumn{1}{c|}{$x_1$} & 2 & 0.1 & 0.2 \\
\multicolumn{1}{c|}{$x_2$} & 1 & 0.3 & 0.3 \\
\multicolumn{1}{c|}{$x_3$} & 5 & 0.2 & 1.0 \\ \hline
\multicolumn{4}{c}{$c(X)=0.2+0.3+1.0=1.5$}
\end{tabular}
%---------------------------------------------------------------------
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论