Commit 3604de75 by xiaotong

pages of features

parent d5ac0ef2
......@@ -149,28 +149,70 @@
\subsection{引入双语句法信息}
%%%------------------------------------------------------------------------------------------------------------
%%% 翻译特征
\begin{frame}{特征}
\subsection{规则匹配}
%%%------------------------------------------------------------------------------------------------------------
%%% 基于树的解码 vs 基于串的解码
\begin{frame}{基于树的解码 vs 基于串的解码}
\begin{itemize}
\item 与短语和层次短语模型一样,句法模型也使用判别式模型进行建模 - $\textrm{P}(d,\textbf{t}|\textbf{s}) = \frac{\exp(\sum_{i=1}^{M} \lambda_i \cdot h_i(d,\textbf{s},\textbf{t}))}{\sum_{d',t'}\exp(\sum_{i=1}^{M} \lambda_i \cdot h_i(d',\textbf{s},\textbf{t}'))}$。其中特征权重$\{\lambda_i\}$可以使用最小错误率训练进行调优,特征函数$\{h_i\}$需要用户定义。
\item<2-> 这里,所有规则满足$\langle\ \alpha_h, \beta_h\ \rangle \to \langle\ \alpha_r, \beta_r, \sim\ \rangle$的形式
\begin{itemize}
\item $\alpha_h$$\beta_h$是规则左部的源语和目标语部分,对应树结构的根节点
\item $\alpha_r$$\beta_r$是规则右部的源语和目标语部分,对应树结构
\item $\sim$表示$\alpha_r$$\beta_r$中叶子非终结符的对应
\item 此外,定义$r(\alpha_r)$$r(\beta_r)$为源语和目标语树结构的叶子节点序列。例如,对于规则$\langle\ \textrm{VP}, \textrm{VP}\ \rangle \to \langle\ \textrm{VP(PP}_{1}\ \textrm{VP(VV(表示) NN}_{2})), \textrm{VP(VBZ(was) VP(VBZ}_{2}\ \textrm{PP}_{1}))$,有 \\
\vspace{-1.5em}
\begin{eqnarray}
r(\alpha_r) & = & \textrm{PP}_1\ \textrm{表示 NN}_2 \nonumber \\
r(\beta_r) & = & \textrm{was}\ \textrm{VBZ}_2\ \textrm{PP}_1\nonumber
\end{eqnarray}
\end{itemize}
\item 前面的公式本质上描述了一种基于串的解码,即对输入的源语言句子通过句法模型进行翻译,得到译文串。不过,搜索所有的推导导致巨大的解码空间。对于树到串和树到树翻译来说,源语言句法树是可见的,因此可以使用另一种解码方法 - 基于树的解码,即把输出入的源语句法树翻译为目标语串\\
\end{itemize}
\centering
\begin{tabular} {l | l l}
\textbf{对比} & \textbf{基于树的解码} & \textbf{基于串的解码} \\ \hline
解码方法 &
\parbox{0.35\textwidth}{
\begin{equation}
\hat{d} = \argmax_{d \in D_{\textrm{tree}}} \textrm{score}(d) \nonumber
\end{equation}
}
&
\parbox{0.35\textwidth}{
\begin{equation}
\hat{d} = \argmax_{d \in D} \textrm{score}(d) \nonumber
\end{equation}
}
\\ \hline
搜索空间 & 与输入的源语句法树 & 所有推导$D$ \\
& 兼容的推导$D_{\textrm{tree}}$ & \\ \hline
适用模型 & 树到串、树到树 & 所有句法模型 \\ \hline
解码算法 & CYK + 规则二叉化 & chart解码 \\ \hline
速度 && 一般较慢
\end{tabular}
\end{frame}
%%%------------------------------------------------------------------------------------------------------------
\subsection{规则匹配}
%%% 基于串的解码
\begin{frame}{二叉化+CKY}
% NiuTrans Manual 和我EMNLP的论文,还有以前的文档
\end{frame}
%%%------------------------------------------------------------------------------------------------------------
%%% 基于树的解码
\begin{frame}{基于树的解码}
% 我COLING的文章、博士论文、NiuTrans Manual
\end{frame}
%%%------------------------------------------------------------------------------------------------------------
\subsection{改进方法}
%%%------------------------------------------------------------------------------------------------------------
%%% 改进1
\begin{frame}{改进:基于森林的翻译模型}
\end{frame}
%%%------------------------------------------------------------------------------------------------------------
%%% 改进2
\begin{frame}{改进:句法软约束和模糊匹配}
\end{frame}
%%%------------------------------------------------------------------------------------------------------------
%%% 改进3
\begin{frame}{改进:控制句法信息使用的程度}
\end{frame}
\end{CJK}
\end{document}
......@@ -4381,21 +4381,100 @@ NP-BAR(NN$_1$ NP-BAR$_2$) $\to$ NN$_1$ NP-BAR$_2$
\item $\alpha_h$$\beta_h$是规则左部的源语和目标语部分,对应树结构的根节点
\item $\alpha_r$$\beta_r$是规则右部的源语和目标语部分,对应树结构
\item $\sim$表示$\alpha_r$$\beta_r$中叶子非终结符的对应
\item 此外,定义$r(\alpha_r)$$r(\beta_r)$为源语和目标语树结构的叶子节点序列。例如,对于规则$\langle\ \textrm{VP}, \textrm{VP}\ \rangle \to \langle\ \textrm{VP(PP}_{1}\ \textrm{VP(VV(表示) NN}_{2})), \textrm{VP(VBZ(was) VP(VBZ}_{2}\ \textrm{PP}_{1}))$,有 \\
\item 此外,定义$\tau(\alpha_r)$$\tau(\beta_r)$为源语和目标语树结构的叶子节点序列。例如,对于规则$\langle\ \textrm{VP}, \textrm{VP}\ \rangle \to \langle\ \textrm{VP(PP}_{1}\ \textrm{VP(VV(表示) NN}_{2})), \textrm{VP(VBZ(was) VP(VBZ}_{2}\ \textrm{PP}_{1}))$,有 \\
\vspace{-1.5em}
\begin{eqnarray}
r(\alpha_r) & = & \textrm{PP}_1\ \textrm{表示 NN}_2 \nonumber \\
r(\beta_r) & = & \textrm{was}\ \textrm{VBZ}_2\ \textrm{PP}_1\nonumber
\tau(\alpha_r) & = & \textrm{PP}_1\ \textrm{表示 NN}_2 \nonumber \\
\tau(\beta_r) & = & \textrm{was}\ \textrm{VBZ}_2\ \textrm{PP}_1\nonumber
\end{eqnarray}
\end{itemize}
\end{itemize}
\end{frame}
%%%------------------------------------------------------------------------------------------------------------
%%% 翻译特征(续)
\begin{frame}{特征()}
\begin{itemize}
\item \textbf{特征1-2: 短语翻译概率},即正向翻译概率$\textrm{P}(\tau(\beta_r)|\tau(\alpha_r))$和反向翻译概率$\textrm{P}(\tau(\alpha_r)|\tau(\beta_r))$。这里,$\tau(\alpha_r)$$\tau(\beta_r)$ 都被看做短语,因此可以直接复用短语系统的方法进行计算。
\item \textbf{特征3-4: 词汇翻译概率},即$\textrm{P}_{\textrm{lex}}(\tau(\beta_r)|\tau(\alpha_r))$$\textrm{P}_{\textrm{lex}}(\tau(\alpha_r)|\tau(\beta_r))$。可以用短语系统中的词汇翻译概率描述源语和目标语单词对应的情况。
\item<2-> \textbf{特征5$n$-gram语言模型},即$\textrm{P}_{\textrm{lm}}(\textbf{t})$。度量译文的流畅度,可以使用大规模目标语单语数据得到。
\item<2-> \textbf{特征6:译文长度},即$|\textbf{t}|$。避免模型倾向于短译文,同时让系统自动学习对译文长度的偏好。
\item<2-> \textbf{特征7:翻译规则数量}。这个特征是为了避免模型仅仅使用少量特征构成翻译推导(因为翻译概率相乘,因子少结果一般会大一些),同时让系统自动学习对使用规则数量的偏好。
\end{itemize}
\end{frame}
%%%------------------------------------------------------------------------------------------------------------
%%% 翻译特征(续)
\begin{frame}{特征(2)}
\begin{itemize}
\item \textbf{特征8:源语言被翻译为空的单词数量}。注意,空翻译规则(或特征)有时也被称作evil feature,这类特征在一些数据集上对BLEU有很好的提升作用,但是会造成人工评价的下降,因此需要谨慎使用。
\item<2-> \textbf{特征9: 翻译规则生成概率},即$\textrm{P}_{\textrm{rule}}(\alpha_r,\beta_r,\sim|\alpha_h,\beta_h)$。这个特征可以被看做是生成翻译推导的概率。
\item<2-> \textbf{特征10:组合规则的数量}。学习使用组合规则(或最小规则)的偏好。
\item<2-> \textbf{特征11:词汇化规则的数量}。学习使用含有终结符规则的偏好。
\item<2-> \textbf{特征12:低频规则的数量}。学习使用训练数据中出现频次低于3的规则的偏好。低频规则大多并不可靠,这个特征本质上也是为了区分不同质量规则。
\item<3-> \alert{注意!}特征9-12也被看做是句法特征。当然,还有很多很多特征,感兴趣可以自己设计或查阅相关论文。
\end{itemize}
\end{frame}
%%%------------------------------------------------------------------------------------------------------------
\subsection{规则匹配}
%%%------------------------------------------------------------------------------------------------------------
%%% 解码模型
\begin{frame}{解码}
\begin{itemize}
\item 翻译时可以用如下式子计算每个推导的模型得分\\
\vspace{-1em}
\begin{eqnarray}
\textrm{score}(d,\textbf{t},\textbf{s}) & = & \sum_{r\in d} \log(\textrm{score}(r)) + \lambda_{\textrm{lm}}\log(\textrm{P}_{\textrm{lm}}(\textbf{t})) + \lambda_{l} |\textbf{t}| \nonumber
\end{eqnarray}
其中,$\textrm{score}(r)$表示每条规则的得分,由特征1-4和特征7-12共同计算得到,因此也可以把特征1-4和特征7-12看做是规则特征
\item<2-> \alert{解码}是要找到使$\textrm{score}(d)$达到最大的翻译推导$d$\\
\begin{displaymath}
\hat{d} = \argmax_{d \in D} \textrm{score}(d)
\end{displaymath}
其中 $D$表示所有可能的推导构成的搜索空间。广义上来说,由于句法系统引入了非终结符和复杂的规则,它的推导空间会远大于短语系统,因此句法模型的解码器的好坏对性能影响很大
\end{itemize}
\end{frame}
%%%------------------------------------------------------------------------------------------------------------
%%% 基于树的解码 vs 基于串的解码
\begin{frame}{基于树的解码 vs 基于串的解码}
\begin{itemize}
\item 前面的公式本质上描述了一种基于串的解码,即对输入的源语言句子通过句法模型进行翻译,得到译文串。不过,搜索所有的推导导致巨大的解码空间。对于树到串和树到树翻译来说,源语言句法树是可见的,因此可以使用另一种解码方法 - 基于树的解码,即把输出入的源语句法树翻译为目标语串\\
\end{itemize}
\centering
\begin{tabular} {l | l l}
\textbf{对比} & \textbf{基于树的解码} & \textbf{基于串的解码} \\ \hline
解码方法 &
\parbox{0.35\textwidth}{
\begin{equation}
\hat{d} = \argmax_{d \in D_{\textrm{tree}}} \textrm{score}(d) \nonumber
\end{equation}
}
&
\parbox{0.35\textwidth}{
\begin{equation}
\hat{d} = \argmax_{d \in D} \textrm{score}(d) \nonumber
\end{equation}
}
\\ \hline
搜索空间 & 与输入的源语句法树 & 所有推导$D$ \\
& 兼容的推导$D_{\textrm{tree}}$ & \\ \hline
适用模型 & 树到串、树到树 & 所有句法模型 \\ \hline
解码算法 & CYK + 规则二叉化 & chart解码 \\ \hline
速度 && 一般较慢
\end{tabular}
\end{frame}
%%%------------------------------------------------------------------------------------------------------------
%%% 基于串的解码
\begin{frame}{二叉化+CKY}
% NiuTrans Manual 和我EMNLP的论文,还有以前的文档
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论