%% LaTeX Beamer presentation template (requires beamer package)
%% see http://latex-beamer.sourceforge.net/
%% idea contributed by H. Turgut Uyar
%% template based on a template by Till Tantau
%% this template is still evolving - it might differ in future releases!
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%  Uncomment version below for creating normal slides  %%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\documentclass[c]{beamer}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%  Uncomment version below for creating handouts  %%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% \documentclass[handout]{beamer}
% \usepackage{pgfpages}
% \pgfpagesuselayout{4 on 1}[a4paper, landscape, border shrink=5mm]
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\mode<presentation>
%\ Make sure the GATE theme is used
\usetheme{GATE}
%%%%% AF:
\usepackage{hhline}
\newcommand{\slug}{\hspace{1.0em}}
%%%%%
\input{slides-preamble}
\title{Implementing a Variety of Linguistic Annotations}
\subtitle{ through a Common Web-Service Interface}
% - Use the \inst{?} command only if the authors have different
%   affiliation.
\author{Adam Funk, Ian Roberts, Wim Peters}
% - Use the \inst command only if there are several affiliations.
% - Keep it simple, no one is interested in your street address.
\institute{University of Sheffield}
\date{18 May 2010}
% This is only inserted into the PDF information catalog. Can be left
% out.
\subject{Implementing a Variety of Linguistic Annotations through a Common
  Web-Service Interface}
% If you have a file called "university-logo-filename.xxx", where xxx
% is a graphic format that can be processed by latex or pdflatex,
% resp., then you can add a logo as follows:
%\pgfdeclareimage[height=2cm]{university-logo}{../../images/logo.png}
%\logo{\pgfuseimage{university-logo}}
% Delete this, if you do not want the table of contents to pop up at
% the beginning of each subsection:
\AtBeginSubsection[]
{
\begin{frame}<beamer>
\frametitle{Outline}
\tableofcontents[currentsection, currentsubsection]
\end{frame}
}
% If you wish to uncover everything in a step-wise fashion, uncomment
% the following command:
%\beamerdefaultoverlayspecification{<+->}
\begin{document}
\begin{frame}
\titlepage
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}{Outline}
\tableofcontents
% You might wish to add the option [pausesections]
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{Introduction}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}[fragile]{Introduction}
Goals:
\begin{itemize}
\item contribute to the CLARIN European Demonstrator prototype
\item web-services
\item reusability
\item re-use
\item uniform interface
\end{itemize}
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{Web service implementation}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}{Web service implementation}
  \begin{itemize}
  \item SOAP
  \item MTOM specification (send binary data as binary, saving $1/3$ compared
    with Base64 encoding
  \item common WSDL specification
    \begin{description}
    \item[input] binary data to be turned into a GATE \emph{Document} (XML,
      HTML, PDF, etc.)
    \item[output] any valid XML Element
    \end{description}
  \end{itemize}
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}{Web service implementation}
  \begin{itemize}
  \item Spring configuration framework
  \item Apache CXF toolkit (which uses Spring)
  \item an instance of GATE's \emph{DocumentProcessor} interface at the core of
    each service
  \end{itemize}
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}{the \emph{DocumentProcessor} interface}
  \begin{itemize}
  \item one method: \emph{processDocument(gate.Document)}
  \item API description: ``Very simple interface for a component that processes
    GATE documents. Typical implementations of this interface would contain a
    Controller but the interface is deliberately generic.''
  \item implemented by \emph{LanguageAnalyserDocumentProcessor}, which also has
    a \emph{setAnalyser(LanguageAnalyser)} method (including \emph{Controller})
  \item can be implemented by a more complicated class
  \end{itemize}
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{Services currently available}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 
\begin{frame}{Services currently available}
  \begin{description}
  \item[annie-alpha] runs the ANNIE NER and co-reference pipeline and returns
    the fully annotated document in GATE XML format (including original HTML or
    XML mark-up).
  \item[maf-en] runs GATE's basic NLP components (sentence-splitter, tokenizer,
    POS-tagger, and lemmatizer) for English and returns an XML document
    according to the MAF standard.
  \end{description}
  (XML document {\ldots} root element in the SOAP response)
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}{Services currently available}
  \begin{description}
  \item[chunking-synaf-en] runs the \emph{maf-en} components and NP, VP, and PP
    chunkers for English; composes a simple syntactic tree from the chunks based
    on containment, and returns a SYNAF XML document.
  \item[annie-rdf] runs ANNIE, analyses the annotations by type and features,
    generates RDF representing the entities according to the PROTON ontology,
    and returns an RDF-XML document.
  \end{description}
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}{Chunking example}
  \begin{center}
    \includegraphics[width=0.95\textwidth]{../chunking-spans.png}
  \end{center}
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}{Chunking example}
  \begin{center}
    \includegraphics[width=0.95\textwidth]{tree.png}
  \end{center}
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{Reference client}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}{Reference client}
  Our reference client
  \begin{itemize}
  \item is supplied as a ZIP file with all necessary libraries, requiring only a
    Java 1.5 runtime environment;
  \item comes with a menu of the four current services (updated as more are
    added);
  \item sends the file contents, file URL, and selected encoding to the service;
  \item presents the service's output and allows the user to save it to an XML
    file.
  \end{itemize}
  But developers can produce their own client(s) from the services' WSDL files.
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}{Reference client}
  \begin{center}
    \includegraphics[width=0.75\textwidth]{../client-ss-controls.png}
  \end{center}
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}{Reference client}
  \begin{center}
    \includegraphics[width=0.75\textwidth]{../client-ss-output.png}
  \end{center}
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{Conclusions}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 
\begin{frame}{Future work}
  \begin{itemize}
  \item We are adding harvestable metadata for CLARIN integration.
  \item We want to deploy MAF services for other European languages, and we can
    do more (better, faster) if others can share with us
    \begin{itemize}
    \item processing tools---especially if they are easy to integrate into GATE
      (a Java API works best); and
    \item language resources---especially tagged corpora.
    \end{itemize}
    GATE is most fully developed for English---support for other languages
    varies, and we always welcome contributions to improve this.
  \end{itemize}
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 
\begin{frame}{Shameless promotion}
  GATE is free and open (LGPL) and community-supported (Sourceforge mailing
  list).  We also offer customization services, formal training, and
  certification.\\
  \url{http://gate.ac.uk/customisation/}\\
  \url{http://gate.ac.uk/conferences/montreal-2010/}
  \begin{center}
    \includegraphics[width=0.60\textwidth]{logo-colour-powered.png}
  \end{center}
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 
\end{document}
