%------------------------------------------------------------------------------------------------------------ %%% 翻译规则抽取 % 还是David Chiang的论文 \begin{center} \begin{tikzpicture} \tikzstyle{elementnode} = [rectangle,text=white,anchor=center] \tikzstyle{srcnode} = [rotate=45,font=\small,anchor=south west] \tikzstyle{tgtnode} = [left,font=\small,anchor=north east] \tikzstyle{alignmentnode} = [rectangle,draw,minimum height=3.6*1.1cm,minimum width=0.36*1.1cm] \tikzstyle{probnode} = [fill=blue!30,minimum width=0.4*1.1cm] \tikzstyle{labelnode} = [above] % alignment matrix \begin{scope}[scale=1.0,yshift=0.12in] \foreach \i / \j / \c in {0/5/0.15, 1/5/0.15, 2/5/0.15, 3/5/0.15, 4/5/0.15, 5/5/0.15, 6/5/0.15, 7/5/0.15, 0/4/0.15, 1/4/0.15, 2/4/0.15, 3/4/0.15, 4/4/0.15, 5/4/0.15, 6/4/0.15, 7/4/0.15, 0/3/0.15, 1/3/0.15, 2/3/0.15, 3/3/0.15, 4/3/0.15, 5/3/0.15, 6/3/0.15, 7/3/0.15, 0/2/0.15, 1/2/0.15, 2/2/0.15, 3/2/0.15, 4/2/0.15, 5/2/0.15, 6/2/0.15, 7/2/0.15, 0/1/0.15, 1/1/0.15, 2/1/0.15, 3/1/0.15, 4/1/0.15, 5/1/0.15, 6/1/0.15, 7/1/0.15, 0/0/0.15, 1/0/0.15, 2/0/0.15, 3/0/0.15, 4/0/0.15, 5/0/0.15, 6/0/0.15, 7/0/0.15} \node[elementnode,minimum size=0.6*1.1cm*\c,inner sep=0.1pt,fill=blue] (a\i\j) at (0.5*1.1cm*\i-5.4*0.5*1.1cm,0.5*1.1cm*\j-0.05*1.1cm) {}; % source \node[srcnode] (src1) at (-5.4*0.5*1.1cm,-1.05*1.1cm+7.5*0.5*1.1cm) {\scriptsize{The}}; \node[srcnode] (src2) at ([xshift=0.5*1.1cm]src1.south west) {\scriptsize{weather}}; \node[srcnode] (src3) at ([xshift=0.5*1.1cm]src2.south west) {\scriptsize{is}}; \node[srcnode] (src4) at ([xshift=0.5*1.1cm]src3.south west) {\scriptsize{very}}; \node[srcnode] (src5) at ([xshift=0.5*1.1cm]src4.south west) {\scriptsize{good}}; \node[srcnode] (src6) at ([xshift=0.5*1.1cm]src5.south west) {\scriptsize{today}}; \node[srcnode] (src7) at ([xshift=0.5*1.1cm]src6.south west) {\scriptsize{.}}; \node[srcnode] (src8) at ([xshift=0.5*1.1cm]src7.south west) {\scriptsize{EOS}}; % target \node[tgtnode] (tgt1) at (-6.0*0.5*1.1cm,-1.05*1.1cm+7.5*0.5*1.1cm) {\scriptsize{今天}}; \node[tgtnode] (tgt2) at ([yshift=-0.5*1.1cm]tgt1.north east) {\scriptsize{天气}}; \node[tgtnode] (tgt3) at ([yshift=-0.5*1.1cm]tgt2.north east) {\scriptsize{真}}; \node[tgtnode] (tgt4) at ([yshift=-0.5*1.1cm]tgt3.north east) {\scriptsize{好}}; \node[tgtnode] (tgt5) at ([yshift=-0.5*1.1cm]tgt4.north east) {\scriptsize{。}}; \node[tgtnode] (tgt6) at ([yshift=-0.5*1.1cm]tgt5.north east) {\scriptsize{EOS}}; % word alignment \node[align=center,elementnode,minimum size=0.3cm,inner sep=0.1pt,fill=blue!50] (l04) at (a04) {}; \node[align=center,elementnode,minimum size=0.3cm,inner sep=0.1pt,fill=blue!50] (l14) at (a14) {}; \node[align=center,elementnode,minimum size=0.3cm,inner sep=0.1pt,fill=blue!50] (l55) at (a55) {}; \node[align=center,elementnode,minimum size=0.3cm,inner sep=0.1pt,fill=blue!50] (l33) at (a33) {}; \node[align=center,elementnode,minimum size=0.3cm,inner sep=0.1pt,fill=blue!50] (l42) at (a42) {}; \node[align=center,elementnode,minimum size=0.3cm,inner sep=0.1pt,fill=blue!50] (l61) at (a61) {}; \node[align=center,elementnode,minimum size=0.3cm,inner sep=0.1pt,fill=blue!50] (l70) at (a70) {}; \begin{pgfonlayer}{background} { \node [rectangle,draw=red,thick,inner sep=0.6em,fill=white,drop shadow] [fit = (a04) (a14) (a24) (a33) (a42)] (phrase1) {}; } { \node [rectangle,draw=ugreen,thick,inner sep=0.4em,fill=white,drop shadow] [fit = (a04) (a14)] (phrase2) {}; } \end{pgfonlayer} \end{scope} \begin{scope}[xshift = 1.3in, yshift = 1.8in] {\scriptsize \node (phrase) {\textbf{抽取得到的短语:}}; \draw[-] (phrase.south west)--([xshift=1.9in]phrase.south west); \node[anchor=north west] (rules) at ([yshift=-7.5em]phrase.south west) {\textbf{抽取得到的层次短语规则:}}; \draw[-] (rules.south west)--([xshift=1.9in]rules.south west); { \node[anchor=north west] (p1) at ([yshift=-0.3em]phrase.south west) {天气\ \ 真好 -- The weather is very good}; } { \node[anchor=north west] (r1) at ([yshift=-0.3em]rules.south west) {$\mathrm{X_1}$\ \ 真好 -- $\mathrm{X_1}$ is very good}; \node[anchor=east] (r2) at ([yshift=-2.65cm]p1.east) {}; } \begin{pgfonlayer}{background} { \node [rectangle,thick,inner sep=0.1em,fill=red!20] [fit = (p1)] (pb1) {}; } { \node [rectangle,thick,inner sep=0.1em,fill=ugreen!20] [fit = (r1)] (rb1) {}; \draw [->,thick,dotted] ([xshift=0.1em]phrase1.east) .. controls +(east:2) and +(west:1.5) .. ([xshift=-0.1em]r1.west); } { \node [rectangle,thick,inner sep=0.1em,fill=red!20] [fit = (p1)] (pb2) {}; \node [rectangle,thick,inner sep=0.1em,fill=ugreen!20] [fit = (r1) (r2)] (rb2) {}; } \end{pgfonlayer} } \end{scope} \end{tikzpicture} \end{center}