Commit 13865730 by xiaotong

new pages

parent c20b437c
......@@ -143,275 +143,110 @@
\subsection{基于树结构的文法}
%%%------------------------------------------------------------------------------------------------------------
%%% 规则实例(树到树)
\begin{frame}{基于树的翻译规则}
\begin{itemize}
\item 上述文法定义了一种树结构到树结构的映射,例子:
\end{itemize}
\begin{center}
\begin{tikzpicture}
{\scriptsize
\begin{scope}[sibling distance=5pt, level distance = 22pt]
\Tree[.\node(s1){VP}; [.\node(s2){PP}; ] [.\node(s3){VP}; [.\node(s4){VV}; \node[fill=white](w1){表示}; ] [.\node(s5){NN}; ] ] ]
\end{scope}
\begin{scope}[xshift=2in,sibling distance=5pt, level distance = 22pt]
\Tree[.\node(t1){VP}; [.\node(t2){VBZ}; \node(w2){was}; ] [.\node(t3){VP}; [.\node(t4){VBN}; ] [.\node(t5){PP}; ] ] ]
\end{scope}
\begin{pgfonlayer}{background}
\node [anchor=west] (arrow) at ([xshift=3em]s5.east) {\Large{\textbf{$\to$}}};
\visible<2->{
\node [inner sep=0,fill=orange!20] [fit = (s2)] (snode1) {};
\node [inner sep=0,fill=green!20] [fit = (s5)] (snode2) {};
\node [inner sep=0,fill=green!20] [fit = (t4)] (tnode1) {};
\node [inner sep=0,fill=orange!20] [fit = (t5)] (tnode2) {};
\draw [<->,dotted,thick] (snode2.south) ..controls +(south:2.5em) and +(south:2.5em).. (tnode1.south);
\draw [<->,dotted,thick] (snode1.south) ..controls +(south:8em) and +(south:4.5em).. (tnode2.south);
}
\end{pgfonlayer}
}
\end{tikzpicture}
\end{center}
\vspace{-2.0em}
\begin{itemize}
\item 由规则定义$\langle\ \alpha_h, \beta_h\ \rangle \to \langle\ \alpha_r, \beta_r, \sim\ \rangle$知道
\vspace{-1.3em}
{\small
\begin{eqnarray}
\langle\ \alpha_h,\beta_h\ \rangle & = & \langle\ \textrm{VP}, \textrm{VP}\ \rangle \nonumber \\
\alpha_r & = & \textrm{VP(PP:}x\ \textrm{VP(VV(表示) NN:}x)) \nonumber \\
\beta_r & = & \textrm{VP(VBZ(was) VP(VBZ:}x\ \textrm{PP:}x)) \nonumber \\
\sim & = & \{1-2,2-1\} \nonumber
\end{eqnarray}
}
\vspace{-1.7em}
\visible<2->{
$x$表示叶子非终结符(可替换的变量),显然这是调序规则
}
\end{itemize}
\end{frame}
\subsection{翻译规则抽取}
%%%------------------------------------------------------------------------------------------------------------
%%% 规则实例(树到树)
\begin{frame}{基于树的翻译规则(续)}
%%% 基于树结构的翻译文法 - 树到串/串到树
\begin{frame}{树到串规则抽取 - GHKM方法}
\begin{itemize}
\item 可以省略``$\sim$'',把规则重新写为易于计算机处理的格式 \\
\vspace{-1em}
\begin{eqnarray}
\langle\ \textrm{VP}, \textrm{VP}\ \rangle & \to & \langle\ \textrm{VP(PP}_{\alert{1}}\ \textrm{VP(VV(表示) NN}_{\alert{2}})), \nonumber \\
& & \ \ \textrm{VP(VBZ(was) VP(VBZ}_{\alert{2}}\ \textrm{PP}_{\alert{1}}))\ \rangle \nonumber
\end{eqnarray}
其中变量的对应关系用下标数字表示,比如:$\textrm{PP}_1 \leftrightarrow \textrm{PP}_1$$\textrm{NN}_2 \leftrightarrow \textrm{VBZ}_2$
\item<2-> 在这个规则的树结构中,每个叶子非终结符本质上定义了一个变量,这个节点也被称作边缘节点(frontier node)。边缘节点可以被其它树结构替换,组合为更大的树结构,这个操作被称作组合(composition) 或树替换
\item 基于句法的翻译系统的核心有两个部分
\begin{enumerate}
\item \textbf{文法归纳}:从带有句法分析结果的双语数据中自动学习翻译规则
\item \textbf{解码}:使用学习到的翻译规则对新的句子进行翻译
\end{enumerate}
\item<2-> 首先要解决的是如何获取翻译规则,即\alert{规则抽取} - 这里先从GHKM方法开始,它是经典的树到串翻译规则的抽取方法(Galley et al., 2004; 2006)
\begin{itemize}
\item 方法的名字是由四位作者的名字首字母构成 :)
\end{itemize}
\item<3-> GHKM方法的输入包括
\begin{itemize}
\item 源语言句子和和它的短语分析树
\item 目标语句子
\item 源语和目标语句子之间的词对齐
\end{itemize}
\item<3-> 注意:
\begin{itemize}
\item 句法树可以由句法分析器自动生成
\item 词对齐可以由词对齐系统(如IBM模型)自动生成
\end{itemize}
\end{itemize}
\visible<2->{
\begin{center}
\begin{tikzpicture}
{\scriptsize
\begin{scope}[sibling distance=5pt, level distance = 22pt]
\Tree[.\node(s1){VP}; [.\node(s2){PP}; ] [.\node(s3){VP}; [.\node(s4){VV}; \node[fill=white](w1){表示}; ] [.\node(s5){NN}; ] ] ]
\end{scope}
\begin{scope}[xshift=1.2in, yshift=-0.2in, sibling distance=5pt, level distance = 22pt]
\Tree[.\node(ws1){NN}; \node(ws2){满意}; ]
\end{scope}
\node (anchor=west] (arrow) at ([xshift=0.4in]ws2.east) {\large{$\Rightarrow$}};
\begin{pgfonlayer}{background}
\node [inner sep=0,fill=green!20] [fit = (ws1)] (snode1) {};
\node [inner sep=0,fill=green!20] [fit = (s5)] (snode2) {};
\draw [<-,thick,dotted] ([xshift=0.1em]s5.east) ..controls +(east:3em) and +(west:3em).. ([xshift=-0.1em]ws1.west);
\end{pgfonlayer}
\begin{scope}[xshift=2.5in, sibling distance=5pt, level distance = 22pt]
\Tree[.\node(s1){VP}; [.\node(s2){PP}; ] [.\node(s3){VP}; [.\node(s4){VV}; \node[fill=white](w1){表示}; ] [.\node(s5){NN}; \node(w2){满意}; ] ] ]
\end{scope}
}
\end{tikzpicture}
\end{center}
}
\end{frame}
%%%------------------------------------------------------------------------------------------------------------
%%% 规则的组装对应翻译过程
\begin{frame}{使用规则定义翻译过程}
%%% 翻译规则抽取本质上是要完成对树结构的切割
\begin{frame}{树片段}
\begin{itemize}
\item 规则的推导描述双语句子同步生成(和分析)的过程
\item 树到串翻译规则实际上是一个树片段到一个词串的映射。一个合理的树到串翻译规则,不应该违反任何的词对齐信息
\begin{itemize}
\item \raisebox{0.3em}{\tikz{\draw[*-*] (0,0)--(0.5,0);}}表示对边缘阶段(变量)的替换操作
\item 显然这种树片段可以有很多
\item 一棵句法树也可以被切割成多个树片段
\end{itemize}
\end{itemize}
\begin{center}
\begin{tikzpicture}
% target side
\begin{scope}[xshift=-1em, level distance=25pt]
\node[scale=0.8] at (1.5, 2.2) {目标语言};
{\footnotesize
\begin{scope}[sibling distance=25pt, level distance=20pt]
\Tree[.\node(n1){IP};
[.\node(n2){NP}; [.\node(n3){PN}; \node(cw1){}; ]]
[.\node(n4){VP};
[.\node(n5){PP};
[.\node(n6){P}; \node(cw2){}; ]
[.\node(n7){NP};
[.\node(n8){NN}; \node(cw3){回答}; ]
]
]
[.\node(n9){VP};
[.\node(n10){VV}; \node(cw4){表示}; ]
[.\node(n11){NN}; \node(cw5){满意}; ]
]
]
]
\node[anchor=north,minimum size=18pt] (tw1) at ([yshift=-6.0em]cw1.south){he};
\node[anchor=west,minimum size=18pt] (tw2) at ([yshift=-0.1em,xshift=1.1em]tw1.east){was};
\node[anchor=west,minimum size=18pt] (tw3) at ([yshift=0.1em,xshift=1.1em]tw2.east){satisfied};
\node[anchor=west,minimum size=18pt] (tw4) at ([xshift=1.1em]tw3.east){with};
\node[anchor=west,minimum size=18pt] (tw5) at ([xshift=1.1em]tw4.east){the};
\node[anchor=west,minimum size=18pt] (tw6) at ([yshift=-0.1em,xshift=1.1em]tw5.east){answer};
\draw[dashed] (cw1.south) -- ([yshift=-0.4em]tw1.north);
\draw[dashed] (cw2.south) .. controls +(south:1.6) and +(north:0.6) .. ([yshift=-0.4em]tw4.north);
\draw[dashed] (cw3.south) -- ([yshift=-0.4em]tw5.north);
\draw[dashed] (cw3.south) -- ([yshift=-0.4em]tw6.north);
\draw[dashed] (cw4.south) .. controls +(south:2.0) and +(north:0.6) .. ([yshift=-0.4em]tw3.north);
\draw[dashed] (cw5.south) .. controls +(south:2.0) and +(north:0.6) .. ([yshift=-0.4em]tw3.north);
\node[scale=0.6, inner sep=0.1cm, draw,xshift=1em] (tfrag1) at
(0,0.05) {\Tree[.NP [.DT the ] [.NNS imports ]]};
\visible<4->{
\node[scale=0.6, inner sep=0.1cm, draw, sibling distance=100pt] (tfrag2) at
(1.4,1.4) {\Tree[.S [.NP ] [.VP ]]};
}
\visible<3->{
\node[scale=0.6, inner sep=0.1cm, draw, sibling distance=30pt] (tfrag3) at
(3,-0.2) {\Tree[.VP [.VBZ have ] [.ADVP [.RB ] [.VBN fallen ]]]};
}
\begin{pgfonlayer}{background}
\visible<2->{
\node[scale=0.6, inner sep=0.1cm, draw,xshift=-1.5em] (tfrag4) at
(2.8,-1.8) {\Tree[.RB drastically ]};
}
\visible<4->{\draw[*-*] (0.15,0.7) -- (0.15,1.05);}
\visible<4->{\draw[*-*] (2.7,0.7) -- (2.7,1.05);}
\visible<3->{\draw[*-*] (2.4,-1.4) .. controls +(north:0.6) and +(south:0.6) .. (3.0,-0.6);}
\end{scope}
% source side
\begin{scope}[scale=0.8, level distance=25pt, xshift=-20em, yshift=1em]
\node[scale=0.8] at (2.1, 2.45) {源语言};
\visible<1->{
\node[scale=0.6, inner sep=0.1cm, draw] (sfrag1) at
(0,0) {\Tree[.NN 进口 ]};
}
\visible<4->{
\node[scale=0.6, inner sep=0.1cm, draw, sibling distance=135pt] (sfrag2) at
(2.0,1.4) {\Tree[.IP [.NN ] [.VP ]]};
\node [rectangle,inner sep=0em,fill=red!20] [fit = (cw2) (cw3) (n5)] (rule1s) {};
\node [rectangle,inner sep=0em,fill=red!20] [fit = (tw4) (tw5) (tw6)] (rule1t) {};
}
\visible<3->{
\node[scale=0.6, inner sep=0.1cm, xshift=1em, draw] (sfrag3) at
(4,-0.7) {\Tree[.VP [.AD ] [.ADVP [.VV 下降 ] [.AS 了 ]]]};
\node [rectangle,inner sep=0em,fill=blue!20] [fit = (cw5) (n11)] (rule2s) {};
\node [rectangle,inner sep=0em,fill=blue!20] [fit = (tw3)] (rule2t) {};
}
\end{pgfonlayer}
\visible<2->{
\node[scale=0.6, inner sep=0.1cm, draw] (sfrag4) at
(1.3,-1.3) {\Tree[.AD 大幅度 ]};
}
\visible<4->{\draw[*-*] (0.05,0.5) -- (0.05,0.95);}
\visible<4->{\draw[*-*] (4.15,0.5) -- (4.15,0.95);}
\visible<3->{\draw[*-*] (1.55,-0.95) .. controls +(east:1.0) and +(south:0.4) .. (3.5,-0.6);}
\end{scope}
% rule 1
\begin{scope}[scale=0.6, xshift=-22em, yshift=-12em, level distance=20pt]
\begin{scope}[anchor=north east, xshift=-6em] \Tree[.NN 进口 ] \end{scope}
\draw[->] (-1.7,0.1) -- (-0.9,0.1);
\begin{scope}[anchor=north west] \Tree[.NP [.DT the ] [.NNS imports ]] \end{scope}
\end{scope}
% rule 2
\begin{scope}[scale=0.6, xshift=-11em, yshift=-12em, level distance=20pt]
\begin{scope}[anchor=north east, xshift=-6em] \Tree[.AD 大幅度 ] \end{scope}
\draw[->] (-1.7,0.1) -- (-0.9,0.1);
\begin{scope}[anchor=north west] \Tree[.RB drastically ] \end{scope}
\end{scope}
% rule 3
\begin{scope}[scale=0.6, xshift=2em, yshift=-12em, level distance=20pt]
\begin{scope}[anchor=north east, xshift=-7em] \Tree[.VP [.AD ] [.ADVP [.VV 下降 ] [.AS 了 ]]] \end{scope}
\draw[->] (-1.7,0.1) -- (-0.9,0.1);
\begin{scope}[anchor=north west, xshift=1em] \Tree[.VP [.VBZ have ] [.ADVP [.RB ] [.VBN fallen ]]] \end{scope}
\end{scope}
% rule 4
\begin{scope}[scale=0.6, xshift=16em, yshift=-12em, level distance=20pt]
\begin{scope}[anchor=north east, xshift=-6em] \Tree[.IP [.NN ] [.VP ]] \end{scope}
\draw[->] (-1.7,0.1) -- (-0.9,0.1);
\begin{scope}[anchor=north west,xshift=-1em] \Tree[.S [.NP ] [.VP ]] \end{scope}
\end{scope}
% red rule 1
\begin{scope}[red, scale=0.6, xshift=-22em, yshift=-12em, level distance=20pt]
\visible<1>{
\begin{scope}[anchor=north east, xshift=-6em] \Tree[.NN 进口 ] \end{scope}
\draw[->] (-1.7,0.1) -- (-0.9,0.1);
\begin{scope}[anchor=north west] \Tree[.NP [.DT the ] [.NNS imports ]] \end{scope}
}
\end{scope}
\visible<2>{
% red rule 2
\begin{scope}[red, scale=0.6, xshift=-11em, yshift=-12em, level distance=20pt]
\begin{scope}[anchor=north east, xshift=-6em] \Tree[.AD 大幅度 ] \end{scope}
\draw[->] (-1.7,0.1) -- (-0.9,0.1);
\begin{scope}[anchor=north west] \Tree[.RB drastically ] \end{scope}
\end{scope}
\node [anchor=south] (rule1label) at ([xshift=1em]rule1s.north west) {\scriptsize{\textbf{\alert{正确的规则}}}};
}
\visible<3>{
% red rule 3
\begin{scope}[red, scale=0.6, xshift=2em, yshift=-12em, level distance=20pt]
\begin{scope}[anchor=north east, xshift=-7em] \Tree[.VP [.AD ] [.ADVP [.VV 下降 ] [.AS 了 ]]] \end{scope}
\draw[->] (-1.7,0.1) -- (-0.9,0.1);
\begin{scope}[anchor=north west, xshift=1em] \Tree[.VP [.VBZ have ] [.ADVP [.RB ] [.VBN fallen ]]] \end{scope}
\end{scope}
\visible<3->{
\node [anchor=north west,align=left] (rule2label) at (rule2s.north east) {\scriptsize{\textbf{\color{blue} 错误的规则}}\\\scriptsize{因为``satisfied''会}\\\scriptsize{对齐到规则外,}\\\scriptsize{也就是这条规则}\\\scriptsize{与词对齐不相容}};
}
\visible<4>{
% rule 4
\begin{scope}[red, scale=0.6, xshift=16em, yshift=-12em, level distance=20pt]
\begin{scope}[anchor=north east, xshift=-6em] \Tree[.IP [.NN ] [.VP ]] \end{scope}
\draw[->] (-1.7,0.1) -- (-0.9,0.1);
\begin{scope}[anchor=north west,xshift=-1em] \Tree[.S [.NP ] [.VP ]] \end{scope}
\end{scope}
}
\end{tikzpicture}
\end{center}
\end{frame}
%%%------------------------------------------------------------------------------------------------------------
\subsection{翻译规则抽取}
%%%------------------------------------------------------------------------------------------------------------
\subsection{规则匹配}
\end{CJK}
......
......@@ -2220,8 +2220,8 @@ d = r_1 \circ r_2 \circ r_3 \circ r_4
& 解码器一般都是基于串的解码方法 \\ \hline
基于森林 & (源语言)使用句法森林,这里森林只是对多个\\
& 句法树的一种压缩表示 \\ \hline
分析 & 给定一个词串,使用文法规则得到推导 \\ \hline
树分析 & 给定一棵句法树,使用文法规则得到推导 \\ \hline
词汇化规则 & 含有终结符的规则 \\ \hline
非词汇规则 & 不含有终结符的规则 \\ \hline
句法约软束 & 不强制规则推导匹配语言学句法树,通常把 \\
& 句法信息作为特征使用 \\ \hline
句法硬约束 & 强制推导必须符合语言学句法树,不符合的 \\
......@@ -2634,12 +2634,186 @@ $x$表示叶子非终结符(可替换的变量),显然这是调序规则
\end{frame}
%%%------------------------------------------------------------------------------------------------------------
%%% 树到串规则
\begin{frame}{树到串翻译规则}
\begin{itemize}
\item 对于只有一端使用句法树的情况,仍然可以用上述规则定义进行描述
\begin{itemize}
\item 树到串翻译可以看做是句法树到词串的转换,串到树类似,只是反过来看
\end{itemize}
\end{itemize}
\begin{center}
\begin{tikzpicture}
\begin{scope}[scale=0.9]
\Tree[.\node(sn1){VP};
[.\node(sn2){VV}; \node(scw1){提高}; ]
[.\node(sn3){NN}; ]
]
\path [draw, ->, thick] ([xshift=1em]sn3.east) -- ([xshift=2.5em]sn3.east);
\node [anchor=west] (tw1) at ([xshift=3.5em]sn3.east) {increases};
\node [anchor=west] (tw2) at ([xshift=0.3em]tw1.east) {NN};
\draw[dotted,thick] ([yshift=-0.1em]sn3.south)..controls +(south:1.2) and +(south: 1.2)..([yshift=-0.1em]tw2.south);
\end{scope}
\end{tikzpicture}
\end{center}
\vspace{-0.3em}
\begin{itemize}
\item<2-> 由规则定义$\langle\ \alpha_h, \beta_h\ \rangle \to \langle\ \alpha_r, \beta_r, \sim\ \rangle$,可得
\vspace{-1.3em}
{\small
\begin{eqnarray}
\alpha_h & = & \textrm{VP} \nonumber \\
\beta_h & = & \textrm{VP}\ (=\alpha_h) \nonumber \\
\alpha_r & = & \textrm{VP(VV(提高) NN:}x) \nonumber \\
\beta_r & = & \textrm{increases\ NN:}x \nonumber \\
\sim & = & \{1-1\} \nonumber
\end{eqnarray}
}
\end{itemize}
\end{frame}
%%%------------------------------------------------------------------------------------------------------------
%%% 树到串规则
\begin{frame}{树到串翻译规则}
\begin{itemize}
\item 这里,目标端是一个词串,因此
\begin{itemize}
\item $\beta_h$实际上并不是树的根节点标记,直接复制$\alpha_h$即可,也就是说目标语端和源语端共享同一个非终结符集合
\item $\beta_s$是一个词串,可以被看作是树的叶子节点序列,或者一个单层的树结构
\end{itemize}
\item<2-> 可以把这条规则简记为
\begin{center}
\vspace{0.5em}
$\textrm{VP} \to \langle\ \textrm{VP(VV(提高) NN}_1),\ \textrm{increases\ NN}_1\ \rangle$ \\
\vspace{0.5em}
\end{center}
\\
\begin{center}
\vspace{0.5em}
$\textrm{VP(VV(提高) NN}_1) \to \textrm{increases\ NN}_1$ \\
\end{center}
\vspace{0.5em}
上述规则也被称作\alert{树到串翻译规则}
\item<3-> 类似的,层次短语规则也可以被看作是一种特殊的基于树结构的规则,它的源语和目标语都是由单层树结构构成,且源语和目标语共享同一个非终结符集合
\end{itemize}
\end{frame}
%%%------------------------------------------------------------------------------------------------------------
\subsection{翻译规则抽取}
%%%------------------------------------------------------------------------------------------------------------
%%% 基于树结构的翻译文法 - 树到串/串到树
\begin{frame}{GHKM方法}
% 我的一个ppt
\begin{frame}{树到串规则抽取 - GHKM方法}
\begin{itemize}
\item 基于句法的翻译系统的核心有两个部分
\begin{enumerate}
\item \textbf{文法归纳}:从带有句法分析结果的双语数据中自动学习翻译规则
\item \textbf{解码}:使用学习到的翻译规则对新的句子进行翻译
\end{enumerate}
\item<2-> 首先要解决的是如何获取翻译规则,即\alert{规则抽取} - 这里先从GHKM方法开始,它是经典的树到串翻译规则的抽取方法(Galley et al., 2004; 2006)
\begin{itemize}
\item 方法的名字是由四位作者的名字首字母构成 :)
\end{itemize}
\item<3-> GHKM方法的输入包括
\begin{itemize}
\item 源语言句子和和它的短语分析树
\item 目标语句子
\item 源语和目标语句子之间的词对齐
\end{itemize}
\item<3-> 注意:
\begin{itemize}
\item 句法树可以由句法分析器自动生成
\item 词对齐可以由词对齐系统(如IBM模型)自动生成
\end{itemize}
\end{itemize}
\end{frame}
%%%------------------------------------------------------------------------------------------------------------
%%% 翻译规则抽取本质上是要完成对树结构的切割
\begin{frame}{树片段}
\begin{itemize}
\item 树到串翻译规则实际上是一个树片段到一个词串的映射。一个合理的树到串翻译规则,不应该违反任何的词对齐信息
\begin{itemize}
\item 显然这种树片段可以有很多
\item 一棵句法树也可以被切割成多个树片段
\end{itemize}
\end{itemize}
\begin{center}
\begin{tikzpicture}
{\footnotesize
\begin{scope}[sibling distance=25pt, level distance=20pt]
\Tree[.\node(n1){IP};
[.\node(n2){NP}; [.\node(n3){PN}; \node(cw1){}; ]]
[.\node(n4){VP};
[.\node(n5){PP};
[.\node(n6){P}; \node(cw2){}; ]
[.\node(n7){NP};
[.\node(n8){NN}; \node(cw3){回答}; ]
]
]
[.\node(n9){VP};
[.\node(n10){VV}; \node(cw4){表示}; ]
[.\node(n11){NN}; \node(cw5){满意}; ]
]
]
]
\node[anchor=north,minimum size=18pt] (tw1) at ([yshift=-6.0em]cw1.south){he};
\node[anchor=west,minimum size=18pt] (tw2) at ([yshift=-0.1em,xshift=1.1em]tw1.east){was};
\node[anchor=west,minimum size=18pt] (tw3) at ([yshift=0.1em,xshift=1.1em]tw2.east){satisfied};
\node[anchor=west,minimum size=18pt] (tw4) at ([xshift=1.1em]tw3.east){with};
\node[anchor=west,minimum size=18pt] (tw5) at ([xshift=1.1em]tw4.east){the};
\node[anchor=west,minimum size=18pt] (tw6) at ([yshift=-0.1em,xshift=1.1em]tw5.east){answer};
\draw[dashed] (cw1.south) -- ([yshift=-0.4em]tw1.north);
\draw[dashed] (cw2.south) .. controls +(south:1.6) and +(north:0.6) .. ([yshift=-0.4em]tw4.north);
\draw[dashed] (cw3.south) -- ([yshift=-0.4em]tw5.north);
\draw[dashed] (cw3.south) -- ([yshift=-0.4em]tw6.north);
\draw[dashed] (cw4.south) .. controls +(south:2.0) and +(north:0.6) .. ([yshift=-0.4em]tw3.north);
\draw[dashed] (cw5.south) .. controls +(south:2.0) and +(north:0.6) .. ([yshift=-0.4em]tw3.north);
\begin{pgfonlayer}{background}
\visible<2->{
\node [rectangle,inner sep=0em,fill=red!20] [fit = (cw2) (cw3) (n5)] (rule1s) {};
\node [rectangle,inner sep=0em,fill=red!20] [fit = (tw4) (tw5) (tw6)] (rule1t) {};
}
\visible<3->{
\node [rectangle,inner sep=0em,fill=blue!20] [fit = (cw5) (n11)] (rule2s) {};
\node [rectangle,inner sep=0em,fill=blue!20] [fit = (tw3)] (rule2t) {};
}
\end{pgfonlayer}
\visible<2->{
\node [anchor=south] (rule1label) at ([xshift=1em]rule1s.north west) {\scriptsize{\textbf{\alert{正确的规则}}}};
}
\visible<3->{
\node [anchor=north west,align=left] (rule2label) at (rule2s.north east) {\scriptsize{\textbf{\color{blue} 错误的规则}}\\\scriptsize{因为``satisfied''会}\\\scriptsize{对齐到规则外,}\\\scriptsize{也就是这条规则}\\\scriptsize{与词对齐不相容}};
}
\end{scope}
}
\end{tikzpicture}
\end{center}
\end{frame}
%%%------------------------------------------------------------------------------------------------------------
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论