Commit fadc3490 by 单韦乔

no message

parent 56b0d6a4
%%%------------------------------------------------------------------------------------------------------------
%%% 组合规则
\begin{minipage}[b]{0.38\textwidth}
{\footnotesize
\begin{minipage}[b]{0.42\textwidth}
{\small
\renewcommand*{\arraystretch}{1.3}
\begin{tabular}{l l}
{$r_1$} & {NP(PN(他)) $\to$ he} \\
......
%%%------------------------------------------------------------------------------------------------------------
%%% 最小规则
\begin{minipage}[b]{0.35\textwidth}
{\footnotesize
\begin{minipage}[b]{0.38\textwidth}
{\small
\renewcommand*{\arraystretch}{1.3}
\begin{tabular}{l l}
{$r_1$} & {NP(PN(他)) $\to$ he} \\
......
......@@ -4,7 +4,7 @@
\begin{tikzpicture}
{
{\scriptsize
{\small
\begin{scope}[sibling distance=4pt, level distance=25pt]
{\footnotesize
......@@ -25,12 +25,12 @@
\draw [-,dashed] (sw3.south) -- (tw3.north);
\draw [-,dashed] (sw4.south) -- (tw3.north);
\node [anchor=west] (rulelabel1) at ([xshift=1in,yshift=0.3em]n1.east) {\footnotesize{抽取到的规则:}};
\node [anchor=west] (rulelabel1) at ([xshift=1in,yshift=0.3em]n1.east) {{抽取到的规则:}};
\node [anchor=north west] (rule1) at (rulelabel1.south west) {NP(NNP$_1$ NN$_2$ NN(唐纳德) NN(特朗普))};
\node [anchor=north west] (rule1t) at ([yshift=0.2em]rule1.south west) {$\to$ NNP$_1$ NN$_2$ Trump};
\node [anchor=north west] (rule2) at (rule1t.south west) {NP(NNP$_1$ NN(总统) NN(唐纳德) NN(特朗普))};
\node [anchor=north west] (rule2t) at ([yshift=0.2em]rule2.south west) {$\to$ NNP$_1$ President Trump};
\node [anchor=north west] (rulelabel2) at ([yshift=-0.3em]rule2t.south west) {\footnotesize{{\red{不能}}抽取到的规则:}};
\node [anchor=north west] (rulelabel2) at ([yshift=-0.3em]rule2t.south west) {{{\red{不能}}抽取到的规则:}};
\node [anchor=north west] (rule3) at (rulelabel2.south west) {NP(NN(唐纳德) NN(特朗普)) $\to$ Trump};
\end{scope}
......
%%%------------------------------------------------------------------------------------------------------------
%%% 处理空对其单词
\begin{minipage}[b]{0.35\textwidth}
{\footnotesize
\begin{minipage}[b]{0.38\textwidth}
{\small
\renewcommand*{\arraystretch}{1.3}
\begin{tabular}{l l}
{$r_1$} & {NP(PN(他)) $\to$ he} \\
......
......@@ -48,31 +48,31 @@
\end{scope}
\node[anchor=north](t1) at (4.7,0.3){{\footnotesize{抽取得到的规则(子树对齐)}}};
\node[anchor=north](t2) at ([xshift=3.7em,yshift=0.5em]t1.south){\underline{\qquad \qquad \qquad \quad \qquad \qquad \qquad \qquad \qquad}};
\node[anchor=north](t3) at ([xshift=-7.7em,yshift=0.0em]t2.south){\color{gray!70}\footnotesize{$r_1$}};
\node[anchor=west](t3-1) at ([xshift=0.0em,yshift=0.0em]t3.east){\color{gray!70}\footnotesize{AS(了) $\rightarrow$ DT(the)}};
\node[anchor=north](t4) at ([xshift=0.0em,yshift=0.0em]t3.south){\color{gray!70}\footnotesize{$r_2$}};
\node[anchor=west](t4-1) at ([xshift=0.0em,yshift=0.0em]t4.east){\color{gray!70}\footnotesize{NN(进口) $\rightarrow$ NNS(imports)}};
\node[anchor=north](t5) at ([xshift=0.0em,yshift=0.0em]t4.south){\footnotesize{$r_3$}};
\node[anchor=west](t5-1) at ([xshift=0.0em,yshift=0.0em]t5.east){\footnotesize{AD(大幅度) $\rightarrow$ RB(drastically)}};
\node[anchor=north](t6) at ([xshift=0.0em,yshift=0.0em]t5.south){\footnotesize{$r_4$}};
\node[anchor=west](t6-1) at ([xshift=0.0em,yshift=0.0em]t6.east){\footnotesize{VV(下降) $\rightarrow$ VBN(fallen)}};
\node[anchor=north](t7) at ([xshift=0.0em,yshift=0.0em]t6.south){\color{gray!70}\footnotesize{$r_5$}};
\node[anchor=west](t7-1) at ([xshift=0.0em,yshift=0.0em]t7.east){\color{gray!70}\footnotesize{IP(NN$_1$ VP(AD$_2$ VP(VV$_3$ AS$_4$)) $\rightarrow$}};
\node[anchor=north](t1) at (5.8,0.3){{\small{抽取得到的规则(子树对齐)}}};
\node[anchor=north](t2) at ([xshift=2.9em,yshift=0.5em]t1.south){\underline{\qquad \qquad \qquad \quad \qquad \qquad \qquad \qquad \qquad}};
\node[anchor=north](t3) at ([xshift=-7.7em,yshift=0.0em]t2.south){\color{gray!70}\small{$r_1$}};
\node[anchor=west](t3-1) at ([xshift=0.0em,yshift=0.0em]t3.east){\color{gray!70}\small{AS(了) $\rightarrow$ DT(the)}};
\node[anchor=north](t4) at ([xshift=0.0em,yshift=0.0em]t3.south){\color{gray!70}\small{$r_2$}};
\node[anchor=west](t4-1) at ([xshift=0.0em,yshift=0.0em]t4.east){\color{gray!70}\small{NN(进口) $\rightarrow$ NNS(imports)}};
\node[anchor=north](t5) at ([xshift=0.0em,yshift=0.0em]t4.south){\small{$r_3$}};
\node[anchor=west](t5-1) at ([xshift=0.0em,yshift=0.0em]t5.east){\small{AD(大幅度) $\rightarrow$ RB(drastically)}};
\node[anchor=north](t6) at ([xshift=0.0em,yshift=0.0em]t5.south){\small{$r_4$}};
\node[anchor=west](t6-1) at ([xshift=0.0em,yshift=0.0em]t6.east){\small{VV(下降) $\rightarrow$ VBN(fallen)}};
\node[anchor=north](t7) at ([xshift=0.0em,yshift=0.0em]t6.south){\color{gray!70}\small{$r_5$}};
\node[anchor=west](t7-1) at ([xshift=0.0em,yshift=0.0em]t7.east){\color{gray!70}\small{IP(NN$_1$ VP(AD$_2$ VP(VV$_3$ AS$_4$)) $\rightarrow$}};
\node[anchor=north](t8) at ([xshift=9.4em,yshift=0.0em]t7.south){\color{gray!70}\scriptsize{S(NP(DT$_4$ NNS$_1$) VP(VBZ(have) ADVP(RB$_2$ VBN$_3$))}};
\node[anchor=north](s3) at ([xshift=0.0em,yshift=-1.3em]t7.south){\red{\footnotesize{$r_{6}$}}};
\node[anchor=west](s3-1) at ([xshift=0.0em,yshift=0.0em]s3.east){\red{\footnotesize{AS(了) $\rightarrow$ VBZ(have)}}};
\node[anchor=north](s4) at ([xshift=0.0em,yshift=0.0em]s3.south){\red{\footnotesize{$r_{7}$}}};
\node[anchor=west](s4-1) at ([xshift=0.0em,yshift=0.0em]s4.east){\red{\footnotesize{NN(进口) $\rightarrow$}}};
\node[anchor=north](s5) at ([xshift=0.0em,yshift=0.0em]s4.south){\footnotesize{\color{white}{$r_{?}$}}};
\node[anchor=west](s5-1) at ([xshift=0.0em,yshift=0.0em]s5.east){\red{\footnotesize{NP(DT(the) NNS(imports))}}};
\node[anchor=north](s6) at ([xshift=0.0em,yshift=0.0em]s5.south){\red{\footnotesize{$r_{8}$}}};
\node[anchor=west](s6-1) at ([xshift=0.0em,yshift=0.0em]s6.east){\red{\footnotesize{VP(AD$_1$ VP(VV$_2$ AS$_3$)) $\rightarrow$}}};
\node[anchor=north](s7) at ([xshift=0.0em,yshift=0.0em]s6.south){\red{\footnotesize{\color{white}{$r_{?}$}}}};
\node[anchor=west](s7-1) at ([xshift=0.0em,yshift=0.0em]s7.east){\red{\footnotesize{VP(VBZ$_3$ ADVP(RB$_1$ VBN$_2$)}}};
\node[anchor=north](s8) at ([xshift=0.0em,yshift=0.0em]s7.south){\red{\footnotesize{$r_{9}$}}};
\node[anchor=west](s8-1) at ([xshift=0.0em,yshift=0.0em]s8.east){\red{\footnotesize{IP(NN$_1$ VP$_2$) $\rightarrow$ S(NP$_1$ VP$_2$)}}};
\node[anchor=north](s3) at ([xshift=0.0em,yshift=-1.3em]t7.south){\red{\small{$r_{6}$}}};
\node[anchor=west](s3-1) at ([xshift=0.0em,yshift=0.0em]s3.east){\red{\small{AS(了) $\rightarrow$ VBZ(have)}}};
\node[anchor=north](s4) at ([xshift=0.0em,yshift=0.0em]s3.south){\red{\small{$r_{7}$}}};
\node[anchor=west](s4-1) at ([xshift=0.0em,yshift=0.0em]s4.east){\red{\small{NN(进口) $\rightarrow$}}};
\node[anchor=north](s5) at ([xshift=0.0em,yshift=0.0em]s4.south){\small{\color{white}{$r_{?}$}}};
\node[anchor=west](s5-1) at ([xshift=0.0em,yshift=0.0em]s5.east){\red{\small{NP(DT(the) NNS(imports))}}};
\node[anchor=north](s6) at ([xshift=0.0em,yshift=0.0em]s5.south){\red{\small{$r_{8}$}}};
\node[anchor=west](s6-1) at ([xshift=0.0em,yshift=0.0em]s6.east){\red{\small{VP(AD$_1$ VP(VV$_2$ AS$_3$)) $\rightarrow$}}};
\node[anchor=north](s7) at ([xshift=0.0em,yshift=0.0em]s6.south){\red{\small{\color{white}{$r_{?}$}}}};
\node[anchor=west](s7-1) at ([xshift=0.0em,yshift=0.0em]s7.east){\red{\small{VP(VBZ$_3$ ADVP(RB$_1$ VBN$_2$)}}};
\node[anchor=north](s8) at ([xshift=0.0em,yshift=0.0em]s7.south){\red{\small{$r_{9}$}}};
\node[anchor=west](s8-1) at ([xshift=0.0em,yshift=0.0em]s8.east){\red{\small{IP(NN$_1$ VP$_2$) $\rightarrow$ S(NP$_1$ VP$_2$)}}};
\end{tikzpicture}
......@@ -44,30 +44,28 @@
\end{scope}
\node[anchor=north](t1) at (4.5,0.3){{\footnotesize{抽取得到的规则}}};
\node[anchor=north](t1) at (4.5,0.3){{\small{抽取得到的规则}}};
\node[anchor=north](t2) at ([xshift=5.5em,yshift=0.5em]t1.south){\underline{\qquad \qquad \qquad \quad \qquad \qquad \qquad \qquad \qquad}};
\node[anchor=north](t3) at ([xshift=-7.7em,yshift=0.0em]t2.south){\footnotesize{$r_1$}};
\node[anchor=west](t3-1) at ([xshift=0.0em,yshift=0.0em]t3.east){\footnotesize{AS(了) $\rightarrow$ DT(the)}};
\node[anchor=north](t4) at ([xshift=0.0em,yshift=0.0em]t3.south){\footnotesize{$r_2$}};
\node[anchor=west](t4-1) at ([xshift=0.0em,yshift=0.0em]t4.east){\footnotesize{NN(进口) $\rightarrow$ NNS(imports)}};
\node[anchor=north](t5) at ([xshift=0.0em,yshift=0.0em]t4.south){\footnotesize{$r_3$}};
\node[anchor=west](t5-1) at ([xshift=0.0em,yshift=0.0em]t5.east){\footnotesize{AD(大幅度) $\rightarrow$ RB(drastically)}};
\node[anchor=north](t6) at ([xshift=0.0em,yshift=0.0em]t5.south){\footnotesize{$r_4$}};
\node[anchor=west](t6-1) at ([xshift=0.0em,yshift=0.0em]t6.east){\footnotesize{VV(下降) $\rightarrow$ VBN(fallen)}};
\node[anchor=north](t7) at ([xshift=0.0em,yshift=0.0em]t6.south){\footnotesize{$r_6$}};
\node[anchor=west](t7-1) at ([xshift=0.0em,yshift=0.0em]t7.east){\footnotesize{IP(NN$_1$ VP(AD$_2$ VP(VV$_3$ AS$_4$)) $\rightarrow$}};
\node[anchor=north](t3) at ([xshift=-7.7em,yshift=0.0em]t2.south){\small{$r_1$}};
\node[anchor=west](t3-1) at ([xshift=0.0em,yshift=0.0em]t3.east){\small{AS(了) $\rightarrow$ DT(the)}};
\node[anchor=north](t4) at ([xshift=0.0em,yshift=0.0em]t3.south){\small{$r_2$}};
\node[anchor=west](t4-1) at ([xshift=0.0em,yshift=0.0em]t4.east){\small{NN(进口) $\rightarrow$ NNS(imports)}};
\node[anchor=north](t5) at ([xshift=0.0em,yshift=0.0em]t4.south){\small{$r_3$}};
\node[anchor=west](t5-1) at ([xshift=0.0em,yshift=0.0em]t5.east){\small{AD(大幅度) $\rightarrow$ RB(drastically)}};
\node[anchor=north](t6) at ([xshift=0.0em,yshift=0.0em]t5.south){\small{$r_4$}};
\node[anchor=west](t6-1) at ([xshift=0.0em,yshift=0.0em]t6.east){\small{VV(下降) $\rightarrow$ VBN(fallen)}};
\node[anchor=north](t7) at ([xshift=0.0em,yshift=0.0em]t6.south){\small{$r_6$}};
\node[anchor=west](t7-1) at ([xshift=0.0em,yshift=0.0em]t7.east){\small{IP(NN$_1$ VP(AD$_2$ VP(VV$_3$ AS$_4$)) $\rightarrow$}};
\node[anchor=north](t8) at ([xshift=9.4em,yshift=0.0em]t7.south){\scriptsize{S(NP(DT$_4$ NNS$_1$) VP(VBZ(have) ADVP(RB$_2$ VBN$_3$))}};
\node[anchor=north](s1) at ([yshift=-8.0em]t1.south){{\footnotesize{无法得到的规则}}};
\node[anchor=north](s1) at ([yshift=-8.0em]t1.south){{\small{无法得到的规则}}};
\node[anchor=north](s2) at ([xshift=5.5em,yshift=0.5em]s1.south){\underline{\qquad \qquad \qquad \quad \qquad \qquad \qquad \qquad \qquad}};
\node[anchor=north](s3) at ([xshift=-7.7em,yshift=0.0em]s2.south){\footnotesize{$r_{?}$}};
\node[anchor=west](s3-1) at ([xshift=0.0em,yshift=0.0em]s3.east){\footnotesize{AS(了) $\rightarrow$ VBZ(have)}};
\node[anchor=north](s4) at ([xshift=0.0em,yshift=0.0em]s3.south){\footnotesize{$r_{?}$}};
\node[anchor=west](s4-1) at ([xshift=0.0em,yshift=0.0em]s4.east){\footnotesize{NN(进口) $\rightarrow$}};
\node[anchor=north](s5) at ([xshift=0.0em,yshift=0.0em]s4.south){\footnotesize{\color{white}{$r_{?}$}}};
\node[anchor=west](s5-1) at ([xshift=0.0em,yshift=0.0em]s5.east){\footnotesize{NP(DT(the) NNS(imports))}};
\node[anchor=north](s6) at ([xshift=0.0em,yshift=0.0em]s5.south){\footnotesize{$r_{?}$}};
\node[anchor=west](s6-1) at ([xshift=0.0em,yshift=0.0em]s6.east){\footnotesize{IP(NN$_1$ VP$_2$) $\rightarrow$ S(NP$_1$ VP$_2$)}};
\node[anchor=north](s3) at ([xshift=-7.7em,yshift=0.0em]s2.south){\small{$r_{?}$}};
\node[anchor=west](s3-1) at ([xshift=0.0em,yshift=0.0em]s3.east){\small{AS(了) $\rightarrow$ VBZ(have)}};
\node[anchor=north](s4) at ([xshift=0.0em,yshift=0.0em]s3.south){\small{$r_{?}$}};
\node[anchor=west](s4-1) at ([xshift=0.0em,yshift=0.0em]s4.east){\small{NN(进口) $\rightarrow$}\small{NP(DT(the) NNS(imports))}};
\node[anchor=north](s6) at ([xshift=0.0em,yshift=0.0em]s4.south){\small{$r_{?}$}};
\node[anchor=west](s6-1) at ([xshift=0.0em,yshift=0.0em]s6.east){\small{IP(NN$_1$ VP$_2$) $\rightarrow$ S(NP$_1$ VP$_2$)}};
\end{tikzpicture}
......
......@@ -159,11 +159,7 @@
\begin{definition} 短语
{\small
<<<<<<< HEAD
对于一个句子$\textbf{w} = w_1...w_n$,任意子串$w_i...w_j$($i\leq j,0\leq i,j\leq n$)都是句子\textbf{w}的一个{\small\sffamily\bfseries{短语}}
=======
对于一个句子$\textbf{w} = w_1...w_n$,任意子串$w_i...w_j$($i\leq j,0\leq i,j\leq n$)都是句子\textbf{w}的一个{\small\bfnew{短语}}
>>>>>>> ff00c6456a4d3ce5dfdb91fe6c58c7fc2b64f059
}
\end{definition}
%-------------------------------------------
......@@ -174,11 +170,7 @@
\begin{definition} 句子的短语切分
{\small
<<<<<<< HEAD
对于一个句子$\textbf{w} = w_1...w_n$,可以被切分为$m$个子串,则称\textbf{w}$m$个短语组成,记为$\textbf{w} = p_1...p_m$,其中$p_i$\textbf{w}的一个短语,$p_1...p_m$也被称作句子\textbf{w}的一个{\small\sffamily\bfseries{短语切分}}
=======
对于一个句子$\textbf{w} = w_1...w_n$,可以被切分为$m$个子串,则称\textbf{w}$m$个短语组成,记为$\textbf{w} = p_1...p_m$,其中$p_i$\textbf{w}的一个短语,$p_1...p_m$也被称作句子\textbf{w}的一个{\small\bfnew{短语切分}}
>>>>>>> ff00c6456a4d3ce5dfdb91fe6c58c7fc2b64f059
}
\end{definition}
%-------------------------------------------
......@@ -197,11 +189,7 @@ p_4 &=& \text{问题}\nonumber
\begin{definition} 双语短语(或短语对)
{\small
<<<<<<< HEAD
对于源语和目标语句对(\textbf{s},\textbf{t}),\textbf{s}中短语$\bar{s}_i$\textbf{t}中的短语$\bar{t}_j$可以构成一个双语短语对($\bar{s}_i,\bar{t}_j$),简称{\small\sffamily\bfseries{短语对}}($\bar{s}_i,\bar{t}_j$)。
=======
对于源语和目标语句对(\textbf{s},\textbf{t}),\textbf{s}中短语$\bar{s}_i$\textbf{t}中的短语$\bar{t}_j$可以构成一个双语短语对($\bar{s}_i,\bar{t}_j$),简称{\small\bfnew{短语对}}($\bar{s}_i,\bar{t}_j$)。
>>>>>>> ff00c6456a4d3ce5dfdb91fe6c58c7fc2b64f059
}
\end{definition}
%-------------------------------------------
......@@ -222,11 +210,7 @@ p_4 &=& \text{问题}\nonumber
\begin{definition} 基于短语的翻译推导
{\small
<<<<<<< HEAD
对于源语和目标语句对($\textbf{s}, \textbf{t}$),分别有短语切分$\{\bar{s}_i\}$$\{\bar{t}_j\}$,且$\{\bar{s}_i\}$$\{\bar{t}_j\}$之间存在一一对应的关系。令$\{\bar{a}_j\}$表示$\{\bar{t}_j\}$ 中每个短语对应到源语言短语的编号,则称短语对$\{(\bar{s}_{\bar{a}_j},\bar{t}_j)\}$构成了$\textbf{s}$$\textbf{t}${\small\sffamily\bfseries{基于短语的翻译推导}}(简称推导),记为$d(\{(\bar{s}_{\bar{a}_j},\bar{t}_j)\},\textbf{s},\textbf{t})$(简记为$d(\{(\bar{s}_{\bar{a}_j},\bar{t}_j)\})$$d$)。
=======
对于源语和目标语句对($\textbf{s}, \textbf{t}$),分别有短语切分$\{\bar{s}_i\}$$\{\bar{t}_j\}$,且$\{\bar{s}_i\}$$\{\bar{t}_j\}$之间存在一一对应的关系。令$\{\bar{a}_j\}$表示$\{\bar{t}_j\}$ 中每个短语对应到源语言短语的编号,则称短语对$\{(\bar{s}_{\bar{a}_j},\bar{t}_j)\}$构成了$\textbf{s}$$\textbf{t}${\small\bfnew{基于短语的翻译推导}}(简称推导),记为$d(\{(\bar{s}_{\bar{a}_j},\bar{t}_j)\},\textbf{s},\textbf{t})$(简记为$d(\{(\bar{s}_{\bar{a}_j},\bar{t}_j)\})$$d$)。
>>>>>>> ff00c6456a4d3ce5dfdb91fe6c58c7fc2b64f059
}
\end{definition}
%-------------------------------------------
......@@ -243,11 +227,7 @@ p_4 &=& \text{问题}\nonumber
\end{figure}
%-------------------------------------------
<<<<<<< HEAD
\parinterval\ref{fig:derivation-consist-of-bilingual-phrase}给出了一个由三个双语短语$\{(\bar{s}_{\bar{a}_1},\bar{t}_1),(\bar{s}_{\bar{a}_2},\bar{t}_2),(\bar{s}_{\bar{a}_3},\bar{t}_3)\}$构成的汉英互译句对,其中短语对齐信息为$\bar{a}_1 = 1$$\bar{a}_2 = 2$$\bar{a}_3 = 3$。这里,我们可以把这三个短语对的组合看作是翻译推导,形式化表示为如下公式。其中,${} \circ $表示短语的组合\footnote[2]{短语的组合是指将两个短语a和b进行拼接,形成新的短语ab。在机器翻译中,可以把双语短语的组合看作是对目标语短语的组合。比如,对于两个双语短语$(\bar{s}_{\bar{a}_1},\bar{t}_1),(\bar{s}_{\bar{a}_2},\bar{t}_2)$,短语的组合表示将$\bar{t}_1$$\bar{t}_2$进行组合,而源语言端作为输入已经给定,因此直接匹配源语言句子中相应的部分即可。根据两个短语在源语言中位置的不同,通常又分为顺序翻译、反序翻译、不连续翻译。关于这部分内容将会在后面调序模型的部分进行介绍。}
=======
\parinterval\ref{fig:derivation-consist-of-bilingual-phrase}给出了一个由三个双语短语$\{(\bar{s}_{\bar{a}_1},\bar{t}_1),(\bar{s}_{\bar{a}_2},\bar{t}_2),(\bar{s}_{\bar{a}_3},\bar{t}_3)\}$ 构成的汉英互译句对,其中短语对齐信息为$\bar{a}_1 = 1$$\bar{a}_2 = 2$$\bar{a}_3 = 3$。这里,可以把这三个短语对的组合看作是翻译推导,形式化表示为如下公式。其中,${} \circ $表示短语的组合\footnote[2]{短语的组合是指将两个短语a和b进行拼接,形成新的短语ab。在机器翻译中,可以把双语短语的组合看作是对目标语短语的组合。比如,对于两个双语短语$(\bar{s}_{\bar{a}_1},\bar{t}_1),(\bar{s}_{\bar{a}_2},\bar{t}_2)$,短语的组合表示将$\bar{t}_1$$\bar{t}_2$进行组合,而源语言端作为输入已经给定,因此直接匹配源语言句子中相应的部分即可。根据两个短语在源语言中位置的不同,通常又分为顺序翻译、反序翻译、不连续翻译。关于这部分内容将会在后面调序模型的部分进行介绍。}
>>>>>>> ff00c6456a4d3ce5dfdb91fe6c58c7fc2b64f059
%公式--------------------------------------------------------------------
\begin{eqnarray}
d = {(\bar{s}_{\bar{a}_1},\bar{t}_1)} \circ {(\bar{s}_{\bar{a}_2},\bar{t}_2)} \circ {(\bar{s}_{\bar{a}_3},\bar{t}_3)}
......@@ -294,11 +274,7 @@ d = {(\bar{s}_{\bar{a}_1},\bar{t}_1)} \circ {(\bar{s}_{\bar{a}_2},\bar{t}_2)} \c
\parinterval 公式\ref{eqa4.3}中,$\textrm{P}(d,\textbf{t}|\textbf{s})$表示翻译推导的概率。公式\ref{eqa4.3}把翻译问题转化为翻译推导的生成问题。但是,由于翻译推导的数量十分巨大\footnote[3]{如果把推导看作是一种树结构,推导的数量与词串的长度成指数关系。},公式\ref{eqa4.3}的右端需要对所有可能的推导进行枚举并求和,这几乎是无法计算的。
<<<<<<< HEAD
\parinterval 对于这个问题,常用的解决办法是利用一个化简的模型来近似完整的模型。如果把翻译推导的全体看作一个空间$D$,我们可以从$D$中选取一部分样本参与计算,而不是对整个$D$进行计算。比如,可以用最好的$n$个翻译推导来代表整个空间$D$。令$D_{n-\textrm{best}}$表示最好的$n$个翻译推导所构成的空间,于是可以定义:
=======
\parinterval 对于这个问题,常用的解决办法是利用一个化简的模型来近似完整的模型。如果把翻译推导的全体看作一个空间$D$,可以从$D$中选取一部分样本参与计算,而不是对整个$D$进行计算。比如,可以用最好的$n$个翻译推导来代表整个空间$D$。令$D_{n-\textrm{best}}$表示最好的$n$个翻译推导所构成的空间,于是可以定义:
>>>>>>> ff00c6456a4d3ce5dfdb91fe6c58c7fc2b64f059
%公式--------------------------------------------------------------------
\begin{eqnarray}
\textrm{P}(\textbf{t}|\textbf{s}) \approx \sum_{d \in D_{n-\textrm{best}}} \textrm{P}(d,\textbf{t}|\textbf{s})
......@@ -346,11 +322,7 @@ d = {(\bar{s}_{\bar{a}_1},\bar{t}_1)} \circ {(\bar{s}_{\bar{a}_2},\bar{t}_2)} \c
\end{eqnarray}
%公式--------------------------------------------------------------------
<<<<<<< HEAD
\parinterval 注意,公式\ref{eqa4.8}-\ref{eqa4.9}和公式\ref{eqa4.7}本质上是一样的。它们也构成了统计机器翻译中最常用的方法 – Viterbi方法。在后面机器翻译的解码中我们还会看到它们的应用。而公式\ref{eqa4.5}也被称作$n$-best方法,常常作为Viterbi方法的一种改进。
=======
\parinterval 注意,公式\ref{eqa4.8}-\ref{eqa4.9}和公式\ref{eqa4.7}本质上是一样的。它们也构成了统计机器翻译中最常用的方法\ \dash \ Viterbi方法。在后面机器翻译的解码中还会看到它们的应用。而公式\ref{eqa4.5}也被称作$n$-best方法,常常作为Viterbi方法的一种改进。
>>>>>>> ff00c6456a4d3ce5dfdb91fe6c58c7fc2b64f059
%%%%%%%%%%%%%%%%%%
\subsubsection{对数线性模型}\index{Chapter4.2.2.2}
......@@ -367,11 +339,7 @@ d = {(\bar{s}_{\bar{a}_1},\bar{t}_1)} \circ {(\bar{s}_{\bar{a}_2},\bar{t}_2)} \c
\parinterval 公式\ref{eqa4.11}是一种典型的{\small\bfnew{对数线性模型}}(Log-linear Model)。所谓``对数线型''体现在对多个量求和后进行指数运算($\textrm{exp}(\cdot)$),这相当于对多个因素进行乘法。公式\ref{eqa4.10}的右端是一种归一化操作。分子部分可以被看作是一种对翻译推导$d$的对数线型建模。具体来说,对于每个$d$,用$M$个特征对其进行描述,每个特征用函数$h_i (d,\textbf{t},\textbf{s})$表示。每个特征都对应一个权重$\lambda_i$,表示特征$i$的重要性。$\sum_{i=1}^{M} \lambda_i \cdot h_i (d,\textbf{t},\textbf{s})$表示了对这些特征的线型加权和,值越大表示模型得分越高,相应的$d$\textbf{t}的质量越高。公式\ref{eqa4.10}的分母部分实际上不需要计算,因为其值与求解最佳推导的过程无关。把公式\ref{eqa4.10}带入公式\ref{eqa4.8}得到:
%公式--------------------------------------------------------------------
\begin{eqnarray}
<<<<<<< HEAD
\hat{d} &=& \arg\max_{d} \frac{\textrm{exp}(\textrm{score}(d,\textbf{t},\textbf{s}))}{\sum_{d',\textbf{t}'} \textrm{exp}(\textrm{score}(d',\textbf{t}',\textbf{s}))} \nonumber \\
=======
\hat{d} &=& \arg\max_{d} \frac{\textrm{exp}(\textrm{score}(d,\textbf{t},\textbf{s}))}{\sum_{d',\textbf{t}'} \textrm{exp}(\textrm{score}(d',\textbf{t}',\textbf{s}))} \nonumber \\
>>>>>>> ff00c6456a4d3ce5dfdb91fe6c58c7fc2b64f059
&=& \arg\max_{d}\ \textrm{exp}(\textrm{score}(d,\textbf{t},\textbf{s}))
\label{eqa4.12}
\end{eqnarray}
......@@ -575,11 +543,7 @@ dr = \textrm{start}_i-\textrm{end}_{i-1}-1
%%%%%%%%%%%%%%%%%%
\subsubsection{基于方向的调序}\index{Chapter4.2.4.2}
<<<<<<< HEAD
\parinterval 基于方向的调序模型是另一种常用的调序模型。该模型是一种典型的词汇化调序模型,因此调序的结果会根据不同短语有所不同。简单来说,在给定双语短语的情况下,该模型会判断它在目标语短端的调序情况,包含三种调序类型:顺序的单调翻译(M)、与前一个短语交换位置(S)、非连续翻译(D)。因此,这个模型也被称作MSD调序模型\cite{Gros2008MSD}。图\ref{fig:three-types-of-reorder-method-in-msd}展示了这三种调序类型,当两个短语对在源语言和目标语言中都是按顺序排列时,它们就是单调的(如:从左边数前两个短语);如果对应的短语顺序在目标语中是反过来的,属于交换调序(如:从左边数第三和第四个短语);如果两个短语之间还有其它的短语,就是非连续翻译(如:从右边数的前两个短语)。
=======
\parinterval 基于方向的调序模型是另一种常用的调序模型。该模型是一种典型的词汇化调序模型,因此调序的结果会根据不同短语有所不同。简单来说,在给定双语短语的情况下,该模型会判断它在目标语短端的调序情况,包含三种调序类型:顺序的单调翻译(M)、与前一个短语交换位置(S)、非连续翻译(D)。因此,这个模型也被称作MSD调序模型\cite{Gros2008MSD}。图\ref{fig:three-types-of-reorder-method-in-msd}展示了这三种调序类型,当两个短语对在源语言和目标语言中都是按顺序排列时,它们就是单调的(如:从左边数前两个短语);如果对应的短语顺序在目标语中是反过来的,属于交换调序(如:从左边数第三和第四个短语);如果两个短语之间还有其他的短语,就是非连续翻译(如:从右边数的前两个短语)。
>>>>>>> ff00c6456a4d3ce5dfdb91fe6c58c7fc2b64f059
%----------------------------------------------
% 图4.21
......@@ -710,11 +674,7 @@ dr = \textrm{start}_i-\textrm{end}_{i-1}-1
%公式--------------------------------------------------------------------
\begin{eqnarray}
\textrm{score}(d) &=& \sum_{k=1}^{M} \lambda_k \cdot h_k (d) \nonumber \\
<<<<<<< HEAD
&=& h_i (d) \cdot \lambda_i + \sum_{k \neq i}^{M} \lambda_k \cdot h_k (d) \nonumber \\
=======
&=& h_i (d) \cdot \lambda_i + \sum_{k \neq i}^{M} \lambda_k \cdot h_k (d) \nonumber \\
>>>>>>> ff00c6456a4d3ce5dfdb91fe6c58c7fc2b64f059
&=& a \cdot \lambda_i + b
\label{eqa4.20}
\end{eqnarray}
......@@ -864,15 +824,6 @@ dr = \textrm{start}_i-\textrm{end}_{i-1}-1
%-------------------------------------------
%---------4.3基于层次短语的模型
<<<<<<< HEAD
\section{基于层次短语的模型}\index{Chapter4.3}
\parinterval 在机器翻译中,如果翻译需要局部上下文的信息,把短语作为翻译单元是一种理想的方案。但是,单词之间的关系并不总是``局部''的,很多时候我们需要距离更远一些的搭配。比较典型的例子是含有从句的情况。比如:
\begin{eqnarray}
\qquad \textrm{{\small\sffamily\bfseries{}}\ \ \ \ 今天\ \ 早上\ \ 没有\ \ \ \ \ \ \ \ \ \ 情况\ \ \ \ 还是\ \ 正常\ \ {\small\sffamily\bfseries{}}\ \ {\small\sffamily\bfseries{上班}}\ \ 了。} \nonumber
\end{eqnarray}
=======
\section{基于层次短语的模型}\index{Chapter4.3}\label{section-4.3}
\parinterval 在机器翻译中,如果翻译需要局部上下文的信息,把短语作为翻译单元是一种理想的方案。但是,单词之间的关系并不总是``局部''的,很多时候需要距离更远一些的搭配。比较典型的例子是含有从句的情况。比如:
......@@ -880,7 +831,6 @@ dr = \textrm{start}_i-\textrm{end}_{i-1}-1
\qquad \textrm{{\small\bfnew{}}\ \ \ \ 今天\ \ 早上\ \ 没有\ \ \ \ \ \ \ \ \ \ 情况\ \ \ \ 还是\ \ 正常\ \ {\small\bfnew{}}\ \ {\small\bfnew{上班}}\ \ 了。} \nonumber
\end{eqnarray}
>>>>>>> ff00c6456a4d3ce5dfdb91fe6c58c7fc2b64f059
\parinterval 这句话的主语``我''和谓语``去 上班''构成了主谓搭配,而二者之间的部分是状语。显然,用短语去捕捉这个搭配需要覆盖很长的词串,也就是整个``我 $...$ 去 上班''的部分。如果把这样的短语考虑到建模中,会面临非常严重的数据稀疏问题,因为无法保证这么长的词串在训练数据中能够出现。实际上,随着短语长度变长,短语在数据中会变得越来越低频,相关的统计特征也会越来越不可靠。表\ref{tab:trainingdata-phrase-frequency}就展示了不同长度的短语在训练数据中出现的频次。可以看到,长度超过3的短语已经非常低频了,更长的短语甚至在训练数据中一次也没有出现过。
%----------------------------------------------
......@@ -928,11 +878,7 @@ dr = \textrm{start}_i-\textrm{end}_{i-1}-1
\textrm{have}\ \ \text{[什么事]}\ \ \textrm{with}\ \ \text{[什么东西]} \nonumber
\end{eqnarray}
<<<<<<< HEAD
\parinterval 这里[什么东西]和[什么事]表示模板中的变量,可以被其它词序列替换。通常,可以把这个模板形式化描述为:
=======
\parinterval 这里[什么东西]和[什么事]表示模板中的变量,可以被其他词序列替换。通常,可以把这个模板形式化描述为:
>>>>>>> ff00c6456a4d3ce5dfdb91fe6c58c7fc2b64f059
\begin{eqnarray}
\langle \ \text{}\ \textrm{X}_1\ \text{}\ \textrm{X}_2,\quad \textrm{have}\ \textrm{X}_2\ \textrm{with}\ \textrm{X}_1\ \rangle \nonumber
\end{eqnarray}
......@@ -943,29 +889,17 @@ dr = \textrm{start}_i-\textrm{end}_{i-1}-1
\langle \ \text{邦交},\quad \textrm{diplomatic relations} \ \rangle\quad\ \ \ \nonumber
\end{eqnarray}
<<<<<<< HEAD
\parinterval 我们可以使用第一个短语替换模板中的变量$\textrm{X}_1$,得到:
=======
\parinterval 可以使用第一个短语替换模板中的变量$\textrm{X}_1$,得到:
>>>>>>> ff00c6456a4d3ce5dfdb91fe6c58c7fc2b64f059
\begin{eqnarray}
\langle \ \text{}\ \text{[北韩]}\ \text{}\ \textrm{X}_2,\quad \textrm{have}\ \textrm{X}_2\ \textrm{with}\ \textrm{[North Korea]} \ \rangle \nonumber
\end{eqnarray}
<<<<<<< HEAD
\parinterval 其中,$[\cdot]$表示被替换的部分。可以看到,在源语言和目标语言中,$\textrm{X}_1$被同时替换为相应的短语。进一步,我们可以用第二个短语替换$\textrm{X}_2$,得到:
=======
\parinterval 其中,$[\cdot]$表示被替换的部分。可以看到,在源语言和目标语言中,$\textrm{X}_1$被同时替换为相应的短语。进一步,可以用第二个短语替换$\textrm{X}_2$,得到:
>>>>>>> ff00c6456a4d3ce5dfdb91fe6c58c7fc2b64f059
\begin{eqnarray}
\quad\langle \ \text{}\ \text{北韩}\ \text{}\ \text{[邦交]},\quad \textrm{have}\ \textrm{[diplomatic relations]}\ \textrm{with}\ \textrm{North Korea} \ \rangle \nonumber
\end{eqnarray}
<<<<<<< HEAD
\parinterval 至此,我们就得到了一个完整词串的译文。类似的,我们还可以写出其它的翻译模板,如下:
=======
\parinterval 至此,就得到了一个完整词串的译文。类似的,还可以写出其他的翻译模板,如下:
>>>>>>> ff00c6456a4d3ce5dfdb91fe6c58c7fc2b64f059
\begin{eqnarray}
\langle \ \textrm{X}_1\ \text{}\ \textrm{X}_2,\quad \textrm{X}_1\ \textrm{is}\ \textrm{X}_2 \ \rangle \qquad\qquad\ \nonumber \\
\langle \ \textrm{X}_1\ \text{之一},\quad \textrm{one}\ \textrm{of}\ \textrm{X}_1 \ \rangle \qquad\qquad\ \nonumber \\
......@@ -989,11 +923,7 @@ dr = \textrm{start}_i-\textrm{end}_{i-1}-1
%--4.3.1 同步上下文无关文法---------------------
\subsection{同步上下文无关文法}\index{Chapter4.3.1}
<<<<<<< HEAD
\parinterval {\small\sffamily\bfseries{基于层次短语的模型}}(Hierarchical Phrase-based Model)是David Chiang于2015提出的统计机器翻译模型\cite{chiang2005a,chiang2007hierarchical}。这个模型可以很好的解决短语系统对翻译中长距离调序建模不足的问题。基于层次短语的系统也在多项机器翻译比赛中取得了很好的成绩。这项工作也获得了自然处理领域顶级会议ACL2015的最佳论文奖。
=======
\parinterval {\small\bfnew{基于层次短语的模型}}(Hierarchical Phrase-based Model)是David Chiang于2015提出的统计机器翻译模型\cite{chiang2005a,chiang2007hierarchical}。这个模型可以很好的解决短语系统对翻译中长距离调序建模不足的问题。基于层次短语的系统也在多项机器翻译比赛中取得了很好的成绩。这项工作也获得了自然处理领域顶级会议ACL2015的最佳论文奖。
>>>>>>> ff00c6456a4d3ce5dfdb91fe6c58c7fc2b64f059
\parinterval 层次短语模型的核心是把翻译问题归结为两种语言词串的同步生成问题。实际上,词串的生成问题是自然语言处理中的经典问题,早期的研究更多的是关注单语句子的生成,比如,如何使用句法树描述一个句子的生成过程。层次短语模型的创新之处是把传统单语词串的生成推广到双语词串的同步生成上。这使得机器翻译可以使用类似句法分析的方法进行求解。
......@@ -1030,22 +960,14 @@ dr = \textrm{start}_i-\textrm{end}_{i-1}-1
\textrm{NN}\ &\to\ &\langle \ \text{强大},\quad \textrm{strong}\ \rangle \nonumber
\end{eqnarray}
<<<<<<< HEAD
\parinterval 这里的S、NP、VP等符号可以被看作是具有句法功能的标记,因此这个文法和传统句法分析中的CFG很像,只是CFG是单语文法,而SCFG是双语同步文法。当然,复杂的句法功能标记并不是必须的。比如,我们也可以使用更简单的文法形式:
=======
\parinterval 这里的S、NP、VP等符号可以被看作是具有句法功能的标记,因此这个文法和传统句法分析中的CFG很像,只是CFG是单语文法,而SCFG是双语同步文法。当然,复杂的句法功能标记并不是必须的。比如,也可以使用更简单的文法形式:
>>>>>>> ff00c6456a4d3ce5dfdb91fe6c58c7fc2b64f059
\begin{eqnarray}
\textrm{X}\ &\to\ &\langle \ \textrm{X}_1\ \text{希望}\ \textrm{X}_2,\quad \textrm{X}_1\ \textrm{wish}\ \textrm{to}\ \textrm{X}_2\ \rangle \nonumber \\
\textrm{X}\ &\to\ &\langle \ \text{}\ \textrm{X}_1\ \text{感到}\ \textrm{X}_2,\quad \textrm{be}\ \textrm{X}_2\ \textrm{wish}\ \textrm{X}_1\ \rangle \nonumber \\
\textrm{X}\ &\to\ &\langle \ \text{强大},\quad \textrm{strong}\ \rangle \nonumber
\end{eqnarray}
<<<<<<< HEAD
\parinterval 这个文法只有一种非终结符X,因此所有的变量都可以使用任意的产生式进行推导。这就给翻译提供了更大的自由度,也就是说,规则可以被任意使用,进行自由组合。这也符合基于短语的模型中对短语进行灵活拼接的思想。基于此,层次短语系统中也使用这种并不依赖语言学句法标记的文法。在本章的内容中,如果没有特殊说明,我们把这种没有语言学句法标记的文法称作{\small\sffamily\bfseries{基于层次短语的文法}}(Hierarchical Phrase-based Grammar),或简称层次短语文法。
=======
\parinterval 这个文法只有一种非终结符X,因此所有的变量都可以使用任意的产生式进行推导。这就给翻译提供了更大的自由度,也就是说,规则可以被任意使用,进行自由组合。这也符合基于短语的模型中对短语进行灵活拼接的思想。基于此,层次短语系统中也使用这种并不依赖语言学句法标记的文法。在本章的内容中,如果没有特殊说明,本章中把这种没有语言学句法标记的文法称作{\small\bfnew{基于层次短语的文法}}(Hierarchical Phrase-based Grammar),或简称层次短语文法。
>>>>>>> ff00c6456a4d3ce5dfdb91fe6c58c7fc2b64f059
%%%%%%%%%%%%%%%%%%
\subsubsection{推导}\index{Chapter4.3.1.2}
......@@ -1066,11 +988,7 @@ r_4:\quad \textrm{X}\ &\to\ &\langle \ \text{了},\quad \textrm{have}\ \rangle \
&\text{{\small\bfnew{目标语}}}&\textrm{The}\ \textrm{imports}\ \textrm{have}\ \textrm{drastically}\ \textrm{fallen} \nonumber
\end{eqnarray}
<<<<<<< HEAD
\parinterval 我们可以进行如下的推导(假设起始符号是X):
=======
\parinterval 可以进行如下的推导(假设起始符号是X):
>>>>>>> ff00c6456a4d3ce5dfdb91fe6c58c7fc2b64f059
\begin{eqnarray}
& & \langle\ \textrm{X}_1, \textrm{X}_1\ \rangle \nonumber \\
& \xrightarrow[]{r_1} & \langle\ {\red{\textrm{进口}\ \textrm{X}_2}},\ {\red{\textrm{The imports}\ \textrm{X}_2}}\ \rangle \nonumber \\
......@@ -1245,11 +1163,7 @@ h_i (d,\textbf{t},\textbf{s})=\sum_{r \in d}h_i (r)
\parinterval 由于层次短语规则本质上就是CFG规则,因此公式\ref{eqa4.6}代表了一个典型的句法分析过程。需要做的是,用模型源语言端的CFG对输入句子进行分析,同时用模型目标语言端的CFG生成译文。基于CFG的句法分析是自然语言处理中的经典问题。一种广泛使用的方法是:首先把CFG转化为$\varepsilon$-free的乔姆斯基范式(Chomsky Normal Form)\footnote[5]{能够证明任意的CFG都可以被转换为乔姆斯基范式,即文法只包含形如A$\to$BC或A$\to$a的规则。这里,假设文法中不包含空串产生式A$\to\varepsilon$,其中$\varepsilon$表示空字符串。},之后采用CYK方法进行分析。
<<<<<<< HEAD
\parinterval CYK是形式语言中一种常用的句法分析方法\cite{cocke1969programming,younger1967recognition,kasami1966efficient}。它主要用于基于符合乔姆斯基范式的分析。由于乔姆斯基范式中每个规则最多包含两叉(或者说两个变量),因此CYK方法也可以被看作是基于二叉规则的一种分析方法。对于一个待分析的字符串,CYK方法从小的``范围''开始,不断扩大分析的``范围'',最终完成对整个字符串的分析。在CYK方法中,一个重要的概念是跨度(Span),所谓跨度表示了一个符号串的范围。这里可以把跨度简单的理解为从一个起始位置到一个结束位置中间的部分。比如,如图\ref{fig:word-and-index-of-pos}所示,每个单词左右都有一个数字来表示序号。我们可以用序号的范围来表示跨度,例如:
=======
\parinterval CYK是形式语言中一种常用的句法分析方法\cite{cocke1969programming,younger1967recognition,kasami1966efficient}。它主要用于基于符合乔姆斯基范式的分析。由于乔姆斯基范式中每个规则最多包含两叉(或者说两个变量),因此CYK方法也可以被看作是基于二叉规则的一种分析方法。对于一个待分析的字符串,CYK方法从小的``范围''开始,不断扩大分析的``范围'',最终完成对整个字符串的分析。在CYK方法中,一个重要的概念是跨度(Span),所谓跨度表示了一个符号串的范围。这里可以把跨度简单的理解为从一个起始位置到一个结束位置中间的部分。比如,如图\ref{fig:word-and-index-of-pos}所示,每个单词左右都有一个数字来表示序号。可以用序号的范围来表示跨度,例如:
>>>>>>> ff00c6456a4d3ce5dfdb91fe6c58c7fc2b64f059
%----------------------------------------------
% 图
......@@ -1435,28 +1349,6 @@ h_i (d,\textbf{t},\textbf{s})=\sum_{r \in d}h_i (r)
术语 & 说明 \\
\hline
\rule{0pt}{15pt}翻译规则 & 翻译的最小单元(或步骤) \\
<<<<<<< HEAD
\rule{0pt}{15pt}推导 & 由一系列规则组成的分析或翻译过程,推导可以被看作是规\\
&则的序列 \\
\rule{0pt}{15pt}规则表 & 翻译规则的存储表示形式,可以高效进行查询 \\
\rule{0pt}{15pt}层次短语模型 & 基于同步上下文无关文法的翻译模型,非终结符只有S和X\\
&两种,文法并不需要符合语言学句法约束 \\
\rule{0pt}{15pt}树到串模型 & 一类翻译模型,它使用源语语言学句法树,因此翻译可以被\\
&看作是从一颗句法树到词串的转换 \\
\rule{0pt}{15pt}串到树模型 & 一类翻译模型,它使用目标语语言学句法树,因此翻译可以\\
&被看作是从词串到句法树的转换 \\
\rule{0pt}{15pt}树到树模型 & 一类翻译模型,它同时使用源语和目标语语言学句法树,因\\
&此翻译可以被看作从句法树到句法树的转换 \\
\rule{0pt}{15pt}基于句法 & 使用语言学句法 \\
\rule{0pt}{15pt}基于树 &(源语言)使用树结构(大多指句法树) \\
\rule{0pt}{15pt}基于串 &(源语言)使用词串,比如串到树的翻译系统的解码器一般\\
&都是基于串的解码方法 \\
\rule{0pt}{15pt}基于森林 &(源语言)使用句法森林,这里森林只是对多个句法树的一\\
&种压缩表示 \\
\rule{0pt}{15pt}词汇化规则 & 含有终结符的规则 \\
\rule{0pt}{15pt}非词汇规则 & 不含有终结符的规则 \\
\rule{0pt}{15pt}句法软约束 & 不强制规则推导匹配语言学句法树,通常把句法信息作为特\\
=======
\rule{0pt}{15pt}推导 & 由一系列规则组成的分析或翻译过程,推导可以被看作是规\\
&则的序列 \\
\rule{0pt}{15pt}规则表 & 翻译规则的存储表示形式,可以高效进行查询 \\
......@@ -1477,7 +1369,6 @@ h_i (d,\textbf{t},\textbf{s})=\sum_{r \in d}h_i (r)
\rule{0pt}{15pt}词汇化规则 & 含有终结符的规则 \\
\rule{0pt}{15pt}非词汇规则 & 不含有终结符的规则 \\
\rule{0pt}{15pt}句法软约束 & 不强制规则推导匹配语言学句法树,通常把句法信息作为特\\
>>>>>>> ff00c6456a4d3ce5dfdb91fe6c58c7fc2b64f059
&征使用 \\
\rule{0pt}{15pt}句法硬约束 & 强制推导必须符合语言学句法树,不符合的推导会被过滤掉 \\
\end{tabular}
......@@ -1570,11 +1461,7 @@ h_i (d,\textbf{t},\textbf{s})=\sum_{r \in d}h_i (r)
\end{definition}
%-------------------------------------------
<<<<<<< HEAD
\parinterval 基于树结构的规则非常适于描述树结构到树结构的映射。比如,图\ref{fig:example-of-tree-structure-correspondence}是一个汉语句法树结构到一个英语句法树结构的对应。其中的树结构可以被看作是完整句法树上的一个片段,称为{\small\sffamily\bfseries{树片段}}(Tree Fragment)。树片段的叶子节点既可以是单词(终结符)也可以是非终结符。当叶子节点为非终结符时,表示这个非终结符会被进一步替换,因此它可以被看作是变量。而源语言树结构和目标语言树结构中的变量是一一对应的,对应关系用虚线表示。
=======
\parinterval 基于树结构的规则非常适于描述树结构到树结构的映射。比如,图\ref{fig:example-of-tree-structure-correspondence}是一个汉语句法树结构到一个英语句法树结构的对应。其中的树结构可以被看作是完整句法树上的一个片段,称为{\small\bfnew{树片段}}(Tree Fragment)。树片段的叶子节点既可以是单词(终结符)也可以是非终结符。当叶子节点为非终结符时,表示这个非终结符会被进一步替换,因此它可以被看作是变量。而源语言树结构和目标语言树结构中的变量是一一对应的,对应关系用虚线表示。
>>>>>>> ff00c6456a4d3ce5dfdb91fe6c58c7fc2b64f059
%----------------------------------------------
% 图
......@@ -1604,11 +1491,7 @@ h_i (d,\textbf{t},\textbf{s})=\sum_{r \in d}h_i (r)
%%%%%%%%%%%%%%%%%%
\subsubsection{基于树结构的翻译推导}\index{Chapter4.4.2.2}
<<<<<<< HEAD
\parinterval 规则中的变量预示着一种替换操作,即变量可以被其它树结构替换。实际上,上面的树到树规则就是一种{\small\sffamily\bfseries{同步树替换文法规则}}(Synchronous Tree Substitution Grammar Rule)。不论是源语言端还是目标语言端,都可以通过这种替换操作不断生成更大的树结构,也就是通过树片段的组合得到更大的树片段。图\ref{fig:operation-of-tree-replace}就展示了树替换操作的一个实例。
=======
\parinterval 规则中的变量预示着一种替换操作,即变量可以被其他树结构替换。实际上,上面的树到树规则就是一种{\small\bfnew{同步树替换文法规则}}(Synchronous Tree Substitution Grammar Rule)。不论是源语言端还是目标语言端,都可以通过这种替换操作不断生成更大的树结构,也就是通过树片段的组合得到更大的树片段。图\ref{fig:operation-of-tree-replace}就展示了树替换操作的一个实例。
>>>>>>> ff00c6456a4d3ce5dfdb91fe6c58c7fc2b64f059
%----------------------------------------------
% 图
......@@ -1680,11 +1563,7 @@ r_9: \quad \textrm{IP(}\textrm{NN}_1\ \textrm{VP}_2) \rightarrow \textrm{S(}\tex
\end{figure}
%-------------------------------------------
<<<<<<< HEAD
\parinterval 其中,源语言树片段中的叶子结点NN表示变量,它与右手端的变量NN对应。我们仍然可以使用基于树结构的规则对上面这个树到串的映射进行表示。参照规则形式$\langle\ \alpha_h, \beta_h\ \rangle \to \langle\ \alpha_r, \beta_r, \sim\ \rangle$,有:
=======
\parinterval 其中,源语言树片段中的叶子结点NN表示变量,它与右手端的变量NN对应。这里仍然可以使用基于树结构的规则对上面这个树到串的映射进行表示。参照规则形式$\langle\ \alpha_h, \beta_h\ \rangle \to \langle\ \alpha_r, \beta_r, \sim\ \rangle$,有:
>>>>>>> ff00c6456a4d3ce5dfdb91fe6c58c7fc2b64f059
\begin{eqnarray}
\alpha_h & = & \textrm{VP} \nonumber \\
\beta_h & = & \textrm{VP}\ (=\alpha_h) \nonumber \\
......@@ -1712,11 +1591,7 @@ r_9: \quad \textrm{IP(}\textrm{NN}_1\ \textrm{VP}_2) \rightarrow \textrm{S(}\tex
\parinterval 基于句法的机器翻译包括两个步骤:文法归纳和解码。其中,文法归纳是指从双语平行数据中自动学习翻译规则及规则所对应的特征;解码是指利用得到的文法对新的句子进行分析,并得到概率最高的翻译推导。
<<<<<<< HEAD
\parinterval 这里,我们首先介绍树到串文法归纳的经典方法 —— GHKM方法\cite{galley2004s,galley2006scalable}。所谓GHKM是四位作者名字的首字母。GHKM方法的输入包括:
=======
\parinterval 本节首先介绍树到串文法归纳的经典方法 —— GHKM方法\cite{galley2004s,galley2006scalable}。所谓GHKM是四位作者名字的首字母。GHKM方法的输入包括:
>>>>>>> ff00c6456a4d3ce5dfdb91fe6c58c7fc2b64f059
\begin{itemize}
\item 源语言句子及其句法树;
......@@ -1824,11 +1699,7 @@ r_9: \quad \textrm{IP(}\textrm{NN}_1\ \textrm{VP}_2) \rightarrow \textrm{S(}\tex
\end{figure}
%-------------------------------------------
<<<<<<< HEAD
\parinterval 至此,对于任何一个树片段我们都能够判断它是否合法。如果合法,就可以抽取相应的树到串规则。但是,枚举句子中的所有树片段并不是一个很高效的方法,因为对于任何一个节点,以它为根的树片段数量随着其深度和宽度的增加呈指数增长。在GHKM方法中,为了避免低效的枚举操作,可以使用另一种方法抽取规则。实际上,可信节点告诉了我们哪些地方可以作为规则的边界(合法树片段的根节点或者叶子节点),可以把所有的可信节点看作是一个{\small\sffamily\bfseries{边缘集合}}(Frontier Set)。所谓边缘集合就是定义了哪些地方可以被``切割'',通过这种切割可以得到一个个合法的树片段,这些树片段无法再被切割为更小的合法树片段。图\ref{fig:tree-cutting-defined-by-edge-nodes}给出了一个通过边缘集合定义的树切割。图右侧中的矩形框表示的是切割得到的树片段。
=======
\parinterval 至此,对于任何一个树片段都能够使用上述方法判断它是否合法。如果合法,就可以抽取相应的树到串规则。但是,枚举句子中的所有树片段并不是一个很高效的方法,因为对于任何一个节点,以它为根的树片段数量随着其深度和宽度的增加呈指数增长。在GHKM方法中,为了避免低效的枚举操作,可以使用另一种方法抽取规则。实际上,可信节点确定了哪些地方可以作为规则的边界(合法树片段的根节点或者叶子节点),可以把所有的可信节点看作是一个{\small\bfnew{边缘集合}}(Frontier Set)。所谓边缘集合就是定义了哪些地方可以被``切割'',通过这种切割可以得到一个个合法的树片段,这些树片段无法再被切割为更小的合法树片段。图\ref{fig:tree-cutting-defined-by-edge-nodes}给出了一个通过边缘集合定义的树切割。图右侧中的矩形框表示的是切割得到的树片段。
>>>>>>> ff00c6456a4d3ce5dfdb91fe6c58c7fc2b64f059
%----------------------------------------------
% 图
......@@ -1861,11 +1732,7 @@ r_9: \quad \textrm{IP(}\textrm{NN}_1\ \textrm{VP}_2) \rightarrow \textrm{S(}\tex
\parinterval 空对齐是翻译中的常见现象。比如,一些虚词经常找不到在另一种语言中的对应,因此不会被翻译,这种情况也被称作空对齐。比如,在图\ref{fig:minimum-rule-from-tree-cutting}中目标语中的``was''就是一个空对齐单词。实际上,空对齐的使用可以大大增加翻译的灵活度。具体到树到串规则抽取任务,需要把空对齐考虑进来,这样能够覆盖更多的语言现象。
<<<<<<< HEAD
\parinterval 处理空对齐单词的手段非常简单。我们只需要把空对齐单词附着在它周围的规则上即可。也就是,我们检查每条最小规则,如果空对齐单词能够作为规则的一部分进行扩展,就可以生成一条新的规则。图\ref{fig:tree-to-string-rule-empty-alignment}展示了前面例子中``was''被附着在周围的规则上的结果。其中,含有红色``was''的规则是通过附着空对齐单词得到的新规则。比如,对于规则:
=======
\parinterval 处理空对齐单词的手段非常简单。只需要把空对齐单词附着在它周围的规则上即可。也就是,检查每条最小规则,如果空对齐单词能够作为规则的一部分进行扩展,就可以生成一条新的规则。图\ref{fig:tree-to-string-rule-empty-alignment}展示了前面例子中``was''被附着在周围的规则上的结果。其中,含有红色``was''的规则是通过附着空对齐单词得到的新规则。比如,对于规则:
>>>>>>> ff00c6456a4d3ce5dfdb91fe6c58c7fc2b64f059
\begin{eqnarray}
\textrm{NP(PN(他))} \rightarrow \textrm{he} \nonumber
\end{eqnarray}
......@@ -1900,8 +1767,8 @@ r_9: \quad \textrm{IP(}\textrm{NN}_1\ \textrm{VP}_2) \rightarrow \textrm{S(}\tex
% 图
\begin{figure}[htp]
\centering
\begin{tabular}{l l}
\subfigure{\input{./Chapter4/Figures/combine-minimum-rule-1}} & \subfigure{\input{./Chapter4/Figures/combine-minimum-rule-2}}
\begin{tabular}{l l l}
& \subfigure{\input{./Chapter4/Figures/combine-minimum-rule-1}} & \subfigure{\input{./Chapter4/Figures/combine-minimum-rule-2}}
\end{tabular}
\caption{对最小规则进行组合(绿色矩形)}
\label{fig:combine-minimum-rule}
......@@ -1915,11 +1782,7 @@ r_9: \quad \textrm{IP(}\textrm{NN}_1\ \textrm{VP}_2) \rightarrow \textrm{S(}\tex
\parinterval 组合规则固然有效,并不是所有组合规则都非常好用。比如,在机器翻译中已经发现,如果一个规则含有连续词串(短语),这种规则往往会比较可靠。但是由于句法树结构复杂,获取这样的规则可能会需要很多次规则的组合,规则抽取的效率很低。
<<<<<<< HEAD
\parinterval 针对这个问题,一种解决办法是直接从词串出发进行规则抽取。这种方法被称为SPMT方法\cite{marcu2006spmt:}。它的思想是:对于任意一个与词对齐兼容的短语,可以找到包含它的``最小''翻译规则,即SPMT规则。如图\ref{fig:tree-segment-corresponding-to-phrase}所示,我们可以得到短语翻译:
=======
\parinterval 针对这个问题,一种解决办法是直接从词串出发进行规则抽取。这种方法被称为SPMT方法\cite{marcu2006spmt:}。它的思想是:对于任意一个与词对齐兼容的短语,可以找到包含它的``最小''翻译规则,即SPMT规则。如图\ref{fig:tree-segment-corresponding-to-phrase}所示,可以得到短语翻译:
>>>>>>> ff00c6456a4d3ce5dfdb91fe6c58c7fc2b64f059
\begin{eqnarray}
\textrm{}\ \textrm{形式} \rightarrow \textrm{about}\ \textrm{the}\ \textrm{situation} \nonumber
\end{eqnarray}
......@@ -1956,11 +1819,7 @@ r_9: \quad \textrm{IP(}\textrm{NN}_1\ \textrm{VP}_2) \rightarrow \textrm{S(}\tex
\end{figure}
%-------------------------------------------
<<<<<<< HEAD
\parinterval 这种扁平的结构会给规则抽取带来麻烦。图\ref{fig:tree-binarization}给出了一个实例,其中的名词短语(NP),包含四个词,都在同一层树结构中。由于``唐纳德$\ $特朗普''并不是一个独立的句法结构,因此我们无法抽取类似于下面这样的规则:
=======
\parinterval 这种扁平的结构会给规则抽取带来麻烦。图\ref{fig:tree-binarization}给出了一个实例,其中的名词短语(NP),包含四个词,都在同一层树结构中。由于``唐纳德$\ $特朗普''并不是一个独立的句法结构,因此无法抽取类似于下面这样的规则:
>>>>>>> ff00c6456a4d3ce5dfdb91fe6c58c7fc2b64f059
\begin{eqnarray}
\textrm{NP(NN(唐纳德))}\ \textrm{NN(特朗普))} \rightarrow \textrm{Trump} \nonumber
\end{eqnarray}
......@@ -1975,11 +1834,7 @@ r_9: \quad \textrm{IP(}\textrm{NN}_1\ \textrm{VP}_2) \rightarrow \textrm{S(}\tex
\end{figure}
%-------------------------------------------
<<<<<<< HEAD
\parinterval 对于这个问题,一种解决办法是把句法树变得更深,使局部的翻译片段更容易被抽取出来。常用的手段是树{\small\sffamily\bfseries{二叉化}}(Binarization)。比如,图\ref{fig:result-of-tree-binarization}就是一个树二叉化的实例。二叉化生成了一些新的节点(记为X-BAR),其中``唐纳德$\ $特朗普''被作为一个独立的结构体现出来。这样,就能够抽取到规则:
=======
\parinterval 对于这个问题,一种解决办法是把句法树变得更深,使局部的翻译片段更容易被抽取出来。常用的手段是树{\small\bfnew{二叉化}}(Binarization)。比如,图\ref{fig:result-of-tree-binarization}就是一个树二叉化的实例。二叉化生成了一些新的节点(记为X-BAR),其中``唐纳德$\ $特朗普''被作为一个独立的结构体现出来。这样,就能够抽取到规则:
>>>>>>> ff00c6456a4d3ce5dfdb91fe6c58c7fc2b64f059
\begin{eqnarray}
&& \textrm{NP-BAR(NN(唐纳德))}\ \textrm{NN(特朗普))} \rightarrow \textrm{Trump} \nonumber \\
&& \textrm{NP-BAR(}\textrm{NN}_1\ \textrm{NP-}\textrm{BAR}_2) \rightarrow \textrm{NN}_1\ \textrm{NP-}\textrm{BAR}_2 \nonumber
......@@ -2006,11 +1861,7 @@ r_9: \quad \textrm{IP(}\textrm{NN}_1\ \textrm{VP}_2) \rightarrow \textrm{S(}\tex
\textrm{VP(VBZ(was)}\ \textrm{VP(}\textrm{VBN}_2\ \textrm{PP}_1\textrm{))}\ \rangle \nonumber
\end{eqnarray}
<<<<<<< HEAD
\parinterval 我们也可以把它写为如下形式:
=======
\parinterval 也可以把它写为如下形式:
>>>>>>> ff00c6456a4d3ce5dfdb91fe6c58c7fc2b64f059
\begin{eqnarray}
\textrm{VP(}\textrm{PP}_1\ \textrm{VP(VV(表示)}\ \textrm{NN}_2\textrm{))} \rightarrow \textrm{VP(VBZ(was)}\ \textrm{VP(}\textrm{VBN}_2\ \textrm{PP}_1\textrm{))} \nonumber
\end{eqnarray}
......@@ -2051,11 +1902,7 @@ r_9: \quad \textrm{IP(}\textrm{NN}_1\ \textrm{VP}_2) \rightarrow \textrm{S(}\tex
\parinterval 同词对齐一样,节点对齐也会存在错误,这样就不可以避免的造成规则抽取的错误。既然单一的对齐中含有错误,那能否让系统看到更多样的对齐结果,进而提高正确规则被抽取到的几率呢?答案是肯定的。实际上,在基于短语的模型中就有基于多个词对齐(如$n$-best词对齐)进行规则抽取的方法,这种方法可以在一定程度上提高短语的召回率。在树到树规则抽取中也同样适用,比如可以使用多个节点对齐结果进行规则抽取。但是,简单使用多个对齐结果会使系统运行代价线性增长,而且即使是$n$-best对齐,也无法保证涵盖到正确的对齐结果。对于这个问题,另一种思路是使用对齐矩阵进行规则的``软''抽取。
<<<<<<< HEAD
\parinterval 所谓对齐矩阵,是描述两个句法树节点之间对应强度的数据结构。矩阵的每个单元中都是一个0到1之间的数字。规则抽取时,可以认为所有节点之间都存在对齐,这样可以抽取出很多$n$-best对齐中无法覆盖的规则。图\ref{fig:one-best-node-alignment-and-alignment-matrix}展示了一个用对齐矩阵的进行规则抽取的实例。其中矩阵1(Matrix 1)表示的标准的1-best节点对齐,矩阵2(Matrix 2)表示的是一种概率化的对齐矩阵。可以看到矩阵2可以帮助我们抽取到更多样的规则。另外,值得注意的是,基于对齐矩阵的方法也同样适用于短语和层次短语规则的抽取。关于对齐矩阵的生成可以参考相关论文的内容\cite{xiao2013unsupervised,liu2009weighted,sun2010exploring,sun2010discriminative}
=======
\parinterval 所谓对齐矩阵,是描述两个句法树节点之间对应强度的数据结构。矩阵的每个单元中都是一个0到1之间的数字。规则抽取时,可以认为所有节点之间都存在对齐,这样可以抽取出很多$n$-best对齐中无法覆盖的规则。图\ref{fig:one-best-node-alignment-and-alignment-matrix}展示了一个用对齐矩阵的进行规则抽取的实例。其中矩阵1(Matrix 1)表示的标准的1-best节点对齐,矩阵2(Matrix 2)表示的是一种概率化的对齐矩阵。可以看到使用矩阵2可以抽取到更多样的规则。另外,值得注意的是,基于对齐矩阵的方法也同样适用于短语和层次短语规则的抽取。关于对齐矩阵的生成可以参考相关论文的内容\cite{xiao2013unsupervised,liu2009weighted,sun2010exploring,sun2010discriminative}
>>>>>>> ff00c6456a4d3ce5dfdb91fe6c58c7fc2b64f059
%----------------------------------------------
% 图
......@@ -2076,11 +1923,7 @@ r_9: \quad \textrm{IP(}\textrm{NN}_1\ \textrm{VP}_2) \rightarrow \textrm{S(}\tex
\parinterval 这里,可以使用最小错误率训练对特征权重进行调优(\ref{subsection-4.2.6}节)。而特征函数可参考如下定义:
<<<<<<< HEAD
\parinterval {\small\sffamily\bfseries{基于短语的特征}}(对应于每条规则$r : \langle\ \alpha_h, \beta_h\ \rangle \to \langle\ \alpha_r, \beta_r, \sim\ \rangle$
=======
\parinterval {\small\bfnew{基于短语的特征}}(对应于每条规则$r : \langle\ \alpha_h, \beta_h\ \rangle \to \langle\ \alpha_r, \beta_r, \sim\ \rangle$
>>>>>>> ff00c6456a4d3ce5dfdb91fe6c58c7fc2b64f059
\begin{itemize}
\item (h1-2)短语翻译概率,即规则源语言和目标语言树结构的叶子节点序列的翻译概率。首先,令函数$\tau(\cdot)$返回一个树片段的叶子节点序列,比如对于规则:
......@@ -2094,19 +1937,11 @@ r_9: \quad \textrm{IP(}\textrm{NN}_1\ \textrm{VP}_2) \rightarrow \textrm{S(}\tex
\begin{displaymath}
\tau( \beta_r ) = \textrm{was}\ \textrm{VBN}\ \textrm{PP}
\end{displaymath}
<<<<<<< HEAD
\noindent 于是,可以定义短语翻译概率为$\textrm{P(}\tau( \alpha_r )|\tau( \beta_r ))$$\textrm{P(}\tau( \beta_r )|\tau( \alpha_r ))$。它们的计算方法与基于短语的系统是完全一样的\footnote[9]{对于树到串规则,$\tau( \beta_r )$就是规则目标语端的符号串。}
\item (h3-4) 词汇化翻译概率,即$\textrm{P}_{\textrm{lex}}(\tau( \alpha_r )|\tau( \beta_r ))$$\textrm{P}_{\textrm{lex}}(\tau( \beta_r )|\tau( \alpha_r ))$。这两个特征的计算方法与基于短语的系统也是一样的。
\end{itemize}
\parinterval {\small\sffamily\bfseries{基于句法的特征}}(对应于每条规则$r : \langle\ \alpha_h, \beta_h\ \rangle \to \langle\ \alpha_r, \beta_r, \sim\ \rangle$
=======
\noindent 于是,可以定义短语翻译概率为$\textrm{P(}\tau( \alpha_r )|\tau( \beta_r ))$$\textrm{P(}\tau( \beta_r )|\tau( \alpha_r ))$。它们的计算方法与基于短语的系统是完全一样的\footnote[9]{对于树到串规则,$\tau( \beta_r )$就是规则目标语端的符号串。}
\item (h3-4) 词汇化翻译概率,即$\textrm{P}_{\textrm{lex}}(\tau( \alpha_r )|\tau( \beta_r ))$$\textrm{P}_{\textrm{lex}}(\tau( \beta_r )|\tau( \alpha_r ))$。这两个特征的计算方法与基于短语的系统也是一样的。
\end{itemize}
\parinterval {\small\bfnew{基于句法的特征}}(对应于每条规则$r : \langle\ \alpha_h, \beta_h\ \rangle \to \langle\ \alpha_r, \beta_r, \sim\ \rangle$
>>>>>>> ff00c6456a4d3ce5dfdb91fe6c58c7fc2b64f059
\begin{itemize}
\item (h5)基于根节点句法标签的规则生成概率,即$\textrm{P(}r|\textrm{root(}r\textrm{))}$。这里,$\textrm{root(}r)$是规则所对应的双语根节点$(\alpha_h,\beta_h)$
......@@ -2114,11 +1949,7 @@ r_9: \quad \textrm{IP(}\textrm{NN}_1\ \textrm{VP}_2) \rightarrow \textrm{S(}\tex
\item (h7)基于目标语言端的规则生成概率,即$\textrm{P(}r|\beta_r))$,给定目标语言端生成整个规则的概率。
\end{itemize}
<<<<<<< HEAD
\parinterval {\small\sffamily\bfseries{其它特征}}(对应于整个推导$d$
=======
\parinterval {\small\bfnew{其他特征}}(对应于整个推导$d$
>>>>>>> ff00c6456a4d3ce5dfdb91fe6c58c7fc2b64f059
\begin{itemize}
\item (h8)语言模型,即$\textrm{P}_{\textrm{lm}}(\textbf{t})$,用于度量译文的流畅度;
......@@ -2163,11 +1994,7 @@ r_9: \quad \textrm{IP(}\textrm{NN}_1\ \textrm{VP}_2) \rightarrow \textrm{S(}\tex
\end{figure}
%-------------------------------------------
<<<<<<< HEAD
\parinterval 不难发现,超图提供了一种非常紧凑的数据结构来表示多个推导,因为不同推导之间可以共享节点。如果把图\ref{fig:example-of-hyper-graph}中的蓝色和红色部分看作是两个推导,那么它们就共享了同一个节点NN[1,2]。能够想象,简单枚举一个句子所有的推导几乎是不可能的,但是用超图的方式却可以很有效的对指数级数量的推导进行表示。另一方面,超图上的运算常常被看作是一种基于半环的代数系统,而且人们发现许多句法分析和机器翻译问题本质上都是{\small\sffamily\bfseries{半环分析}}(semi-ring parsing)。不过,由于篇幅有限,这里我们不会对半环等结构展开讨论。感兴趣的读者可以查阅相关文献\cite{goodman1999semiring,eisner2002parameter}
=======
\parinterval 不难发现,超图提供了一种非常紧凑的数据结构来表示多个推导,因为不同推导之间可以共享节点。如果把图\ref{fig:example-of-hyper-graph}中的蓝色和红色部分看作是两个推导,那么它们就共享了同一个节点NN[1,2]。能够想象,简单枚举一个句子所有的推导几乎是不可能的,但是用超图的方式却可以很有效的对指数级数量的推导进行表示。另一方面,超图上的运算常常被看作是一种基于半环的代数系统,而且人们发现许多句法分析和机器翻译问题本质上都是{\small\bfnew{半环分析}}(Semi-ring Parsing)。不过,由于篇幅有限,这里不会对半环等结构展开讨论。感兴趣的读者可以查阅相关文献\cite{goodman1999semiring,eisner2002parameter}
>>>>>>> ff00c6456a4d3ce5dfdb91fe6c58c7fc2b64f059
\parinterval 从句法分析的角度看,超图最大程度的复用了局部的分析结果,使得分析可以``结构化''。比如,有两个推导:
%公式--------------------------------------------------------------------
......@@ -2228,11 +2055,7 @@ d_1 = {d'} \circ {r_5}
\end{eqnarray}
%公式--------------------------------------------------------------------
<<<<<<< HEAD
\noindent 这也是一种标准的{\small\sffamily\bfseries{基于串的解码}}(string-based decoding),即通过句法模型对输入的源语言句子进行翻译,得到译文串。不过,搜索所有的推导会导致巨大的解码空间。对于树到串和树到树翻译来说来说,源语言句法树是可见的,因此可以使用另一种解码方法–{\small\sffamily\bfseries{基于树的解码}}(tree-based decoding),即把输出入的源语句法树翻译为目标语串。
=======
\noindent 这也是一种标准的{\small\bfnew{基于串的解码}}(String-based Decoding),即通过句法模型对输入的源语言句子进行翻译,得到译文串。不过,搜索所有的推导会导致巨大的解码空间。对于树到串和树到树翻译来说来说,源语言句法树是可见的,因此可以使用另一种解码方法\ \dash \ {\small\bfnew{基于树的解码}}(Tree-based Decoding),即把输出入的源语句法树翻译为目标语串。
>>>>>>> ff00c6456a4d3ce5dfdb91fe6c58c7fc2b64f059
\parinterval\ref{tab:decode-base-string-vs-base-tree}对比了基于串和基于树的解码方法。可以看到,基于树的解码只考虑了与源语言句法树兼容的推导,因此搜索空间更小,不过解码速度会更快。
......@@ -2333,11 +2156,7 @@ d_1 = {d'} \circ {r_5}
\textrm{喜欢}\ \textrm{V103} &\rightarrow& \textrm{VP}(\textrm{VBZ}(\textrm{likes})\ \textrm{V103} ) \nonumber \\
\textrm{VP}_1\ \textrm{NP}_2 &\rightarrow& \textrm{V103(}\ \textrm{VP}_1\ \textrm{NP}_2 ) \nonumber
\end{eqnarray}
<<<<<<< HEAD
\noindent 可以看到,这两条新的规则源语言端只有两个部分,代表两个分叉。V103是一个新的标签,它没有任何句法含义。不过,为了保证二叉化后规则目标语部分的连续性,需要考虑源语言和目标语二叉化的同步性\cite{zhang2006synchronous,Tong2009Better}。这样的规则与CYK方法一起使用完成解码,具体内容可以参考4.3.4节的内容。
=======
\noindent 可以看到,这两条新的规则源语言端只有两个部分,代表两个分叉。V103是一个新的标签,它没有任何句法含义。不过,为了保证二叉化后规则目标语部分的连续性,需要考虑源语言和目标语二叉化的同步性\cite{zhang2006synchronous,Tong2009Better}。这样的规则与CYK方法一起使用完成解码,具体内容可以参考\ref{subsection-4.3.4}节的内容。
>>>>>>> ff00c6456a4d3ce5dfdb91fe6c58c7fc2b64f059
\end{itemize}
\parinterval 总的来说,基于句法的解码器较为复杂。无论是算法的设计还是工程技巧的运用,对开发者都有一定要求。因此开发优秀的基于句法的机器翻译系统也是一项有挑战的工作。
......@@ -2354,8 +2173,4 @@ d_1 = {d'} \circ {r_5}
\item 统计机器翻译的另一个基础问题是如何表示并获取翻译单元(如短语)。这个问题在本章介绍的三种模型中都有涉及。传统方法中,研究者大多使用词对齐或者句法树等结构化信息,通过启发性方法进行短语或者规则的获取。不过这类方法最大的问题是上游系统(比如,词对齐、句法分析等)的错误会产生蔓延。因此,很多研究者尝试使用更多样的对齐或者句法分析来指导翻译单元的获取。比如,可以绕过词对齐,直接进行短语对齐\cite{koehn2003statistical};也可以使用多个句法树或者句法森林来覆盖更多的句法现象,进而增加规则抽取的召回率\cite{mi2008forest,xiao2010empirical}。另一个有趣的方向是用更紧凑的方式表示更多样的翻译假设,比如,直接将翻译结果用有限状态自动机进行表示,进行更大搜索空间上的解码\cite{de2010hierarchical,Casacuberta2004Machine}
\item 系统融合是具有统计机器翻译时代特色的研究方向。某种意义上说,系统融合的兴起源于本世纪初各种机器翻译比赛。因为当时提升翻译性能的主要方法之一就是将多个翻译引擎进行融合。系统融合的出发点是:多样的翻译候选有助于生成更好的译文。有很多思路,比较简单的方法是假设选择,即从多个翻译系统的输出中直接选择一个译文\cite{bangalore2001computing,rosti2007combining,xiao2013bagging};另一种方法是用多个系统的输出构建解码格或者混淆网络,这样可以生成新的翻译结果\cite{Yang2009Lattice,He2008Indirect,Li2009Incremental};此外,还可以在解码过程中动态融合不同模型\cite{Yang2009Joint,Mu2009Collaborative}。另一方面,也有研究者探讨如何在一个翻译系统中让不同的模型进行互补,而不是简单的融合,比如,可以控制句法在机器翻译中使用的程度,让句法模型和层次短语模型处理各自擅长的问题\cite{Tong2016Syntactic}
\item 语言模型是统计机器翻译系统所使用的重要特征。但是,即使引入$n$-gram语言模型,机器翻译系统仍然会产生语法上不正确的译文,甚至会生成结构完全错误的译文。对于这个问题,研究者尝试使用基于句法的语言模型。早期的探索有Charniak等人\cite{charniak2001immediate}和Och等人\cite{och2004smorgasbord}的工作,不过当时的结果并没有显示出基于句法的语言模型可以显著提升机器翻译的品质。后来,BBN的研究团队提出了基于依存树的语言模型\cite{shen2008a},这个模型可以显著提升层次短语模型的性能。正是凭借这这项技术,BBN的系统也在多个机器翻译评测比赛中名列前茅,引起了广泛关注。除此之外,也有研究工作探索基于树替换文法等结构的语言模型\cite{xiao2011language}。实际上,树到树、串到树模型也可以被看作是一种对目标语言句法合理性的度量,只不过目标语言的句法信息被隐含在翻译规则中。这时,可以在翻译规则上设计相应的特征,以达到引入目标语句法语言模型的目的。
<<<<<<< HEAD
\end{itemize}
=======
\end{itemize}
>>>>>>> ff00c6456a4d3ce5dfdb91fe6c58c7fc2b64f059
......@@ -74,13 +74,9 @@
% BIBLIOGRAPHY AND INDEX
%----------------------------------------------------------------------------------------
<<<<<<< HEAD
\usepackage[style=numeric,citestyle=numeric,sorting=nyt,sortcites=true,autopunct=true,babel=hyphen,hyperref=true,abbreviate=false,backref=true,backend=biber,maxcitenames=2,maxbibnames=9999]{biblatex}
=======
\usepackage[style=numeric,citestyle=numeric,sorting=nyt,sortcites=true,maxbibnames=4,minbibnames=3,autopunct=true,babel=hyphen,hyperref=true,abbreviate=false,backref=true,backend=biber]{biblatex}
%maxbibnames 设置参考文献最多显示作者数目
%minbibnames 如果作者数目超过maxbibnames,则只显示minbibnames个作者
>>>>>>> ff00c6456a4d3ce5dfdb91fe6c58c7fc2b64f059
\addbibresource{bibliography.bib} % BibTeX bibliography file
\defbibheading{bibempty}{}
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论