Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- % System Combination
- % Harish K Krishnamurthy <www.ece.neu.edu/~hkashyap/>
- documentclass{article}
- usepackage{tikz}
- usetikzlibrary{shapes,arrows,shadows}
- usepackage{amsmath,bm,times}
- %%%<
- usepackage{verbatim}
- usepackage[active,tightpage]{preview}
- PreviewEnvironment{tikzpicture}
- setlengthPreviewBorder{5pt}%
- %%%>
- begin{comment}
- :Title: System Combination
- :Author: Harish K Krishnamurthy
- A block diagram of system combination technique of combining several Automatic Speech Recognition Systems (ASRs) to determine best word sequence outputs is shown here. The training and validation phase are the important phases.
- end{comment}
- newcommand{mx}[1]{mathbf{bm{#1}}} % Matrix command
- newcommand{vc}[1]{mathbf{bm{#1}}} % Vector command
- begin{document}
- % Define the layers to draw the diagram
- pgfdeclarelayer{background}
- pgfdeclarelayer{foreground}
- pgfsetlayers{background,main,foreground}
- % Define block styles used later
- tikzstyle{sensor}=[draw, fill=blue!20, text width=5em,
- text centered, minimum height=2.5em,drop shadow]
- tikzstyle{ann} = [above, text width=5em, text centered]
- tikzstyle{wa} = [sensor, text width=10em, fill=red!20,
- minimum height=6em, rounded corners, drop shadow]
- tikzstyle{sc} = [sensor, text width=13em, fill=red!20,
- minimum height=10em, rounded corners, drop shadow]
- % Define distances for bordering
- defblockdist{2.3}
- defedgedist{2.5}
- begin{tikzpicture}[
- hid/.style 2 args={
- rectangle split,
- rectangle split horizontal,
- draw=#2,
- rectangle split parts=#1,
- fill=#2!20,
- outer sep=1mm}]
- % draw input nodes
- foreach i [count=step from 1] in {the,blue,house,{{$<$eos$>$}}}
- node (istep) at (2*step, -2) {i};
- % draw output nodes
- foreach t [count=step from 4] in {la,casa,azul,{{$<$eos$>$}}} {
- node[align=center] (ostep) at (2*step, +2.75) {t};
- }
- % draw embedding and hidden layers for text input
- foreach step in {1,...,3} {
- node[hid={3}{red}] (hstep) at (2*step, 0) {};
- node[hid={3}{red}] (estep) at (2*step, -1) {};
- draw[->] (istep.north) -> (estep.south);
- draw[->] (estep.north) -> (hstep.south);
- }
- % draw embedding and hidden layers for label input
- foreach step in {4,...,7} {
- node[hid={3}{yellow}] (sstep) at (2*step, 1.25) {};
- node[hid={3}{blue}] (hstep) at (2*step, 0) {};
- node[hid={3}{blue}] (estep) at (2*step, -1) {};
- draw[->] (estep.north) -> (hstep.south);
- draw[->] (hstep.north) -> (sstep.south);
- draw[->] (sstep.north) -> (ostep.south);
- }
- % edge case: draw edge for special input token
- draw[->] (i4.north) -> (e4.south);
- % draw recurrent links
- foreach step in {1,...,6} {
- pgfmathtruncatemacro{next}{add(step,1)}
- draw[->] (hstep.east) -> (hnext.west);
- }
- % draw predicted-labels-as-inputs links
- foreach step in {4,...,6} {
- pgfmathtruncatemacro{next}{add(step,1)}
- path (ostep.north) edge[->,out=45,in=225] (enext.south);
- }
- end{tikzpicture}
- end{document}
Add Comment
Please, Sign In to add comment