\documentclass{beamer}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{lmodern}
\usepackage[portuguese]{babel}
\usepackage{graphicx}
\usepackage{transparent}
\usepackage{hyperref}

\mode<presentation>{
  \usetheme{Darmstadt}    % or try Darmstadt, Madrid, Warsaw, ...
  \usecolortheme{default} % or try albatross, beaver, crane, ...
  \usefonttheme{default}  % or try serif, structurebold, ...
  \setbeamertemplate{navigation symbols}{}
  \setbeamertemplate{caption}[numbered]
}

\title{Sistema \textit{web} de arquitetura modular para processamento de corpora}
\author{Ádler Oliveira Silva Neves}
\date{}

\begin{document}

\begin{frame}
  \centerline{Instituto Federal do Espírito Santo}
  \centerline{Bacharelado em Sistemas de Informação}
  \titlepage
  \centerline{Orientador: Me. Ernani Leite Ribeiro Filho}
\end{frame}

\begin{frame}{Sumário}
  \tableofcontents
\end{frame}

\section{Introdução ao tópico}

\begin{frame}{O título do trabalho}
  \begin{itemize}
    \item Sistema {\transparent{.5} (“elementos que interagem para realizar objetivos”\footnote{STAIR, R. M.; REYNOLDS, G. W. \textbf{Princípios de Sistemas de Informação}. 9ª ed. São Paulo: Cengage Learning, 2011. ISBN: 978-85-221-0797-1. p. 7.})}
    \begin{itemize}
      \item \textit{web} {\transparent{.5} (navegadores, cliente-servidor, HTML, HTTP)}
    \end{itemize}
    \item de arquitetura {\transparent{.5} (como os elementos estão organizados)}
    \begin{itemize}
    	  \item modular {\transparent{.5} (baixo acoplamento, \textit{plug-ins})}
    \end{itemize}
    \item para processamento de {\transparent{.5} (o objetivo é processar \textit{algo})}
    \begin{itemize}
      \item corpora {\transparent{.5} (entrada do sistema)}
    \end{itemize}
  \end{itemize}
\end{frame}

\begin{frame}{Corpus}{plural: corpora}
  \begin{itemize}
    \item O que é?\\
    Um conjunto de textos relevante para estudar um determinado grupo de pessoas ou um ramo do conhecimento\footnote{TAGNIN, S. E. \textbf{Glossário de linguística de corpus}. São Paulo: HUB Editorial, 2010. p. 358.}.
    \item Uma aplicação?
    \begin{itemize}
      \item Compilação das palavras mais frequentes da língua inglesa em 1921;
      \item Revolução no ensino de inglês enquanto língua estrangeira.
    \end{itemize}
    \item De qual área do conhecimento estamos falando?
    \begin{itemize}
      \item Processamento automático da linguagem natural;
      \item Linguística de corpus.
    \end{itemize}
  \end{itemize}
\end{frame}

\begin{frame}
  \begin{block}{Processamento automático da linguagem natural}
    Tratamento computacional das estruturas da língua que se repetem.
  \end{block}
  \begin{block}{Linguística de corpus}
    O estudo da língua a partir de seus usos em conjuntos de documentos que representam a área estudada.
  \end{block}
\end{frame}

\begin{frame}{Processamento automático de corpora}
  \begin{itemize}
    \item É o que o WordSmith faz;
    \item É o que o CorpusEye faz;
    \item É o que o SketchEngine faz;
    \item É o que o Unitex/Gramlab faz;
    \item É o que o COCA Online Corpus faz;
    \item É o que o sistema proposto pelo título fará:
    \begin{itemize}
      \item O que ele faz que os outros não fazem?
    \end{itemize}
  \end{itemize}
  \begin{description}
    \item[Público alvo:] pesquisadores linguistas, professores de letras, alunos de línguas ou tradutores que não programam.
  \end{description}
\end{frame}

\begin{frame}{O que falta nos atuais?}
  \begin{table}[h]
    \hspace*{0mm}\centerline{\includegraphics[width=\textwidth ,height=\textheight ,keepaspectratio]{tabela-comparacao-cs/model.pdf}}
    \caption{Tabela comparativa resumida de softwares de Processamento de Linguagem Natural}
    {\usebeamercolor[fg]{structure} Fonte:} O autor
    \label{tab:compplnres}
  \end{table}
\end{frame}

\section{Objetivos}

\subsection{Geral}

\begin{frame}{Objetivo geral}
  \begin{block}{}
    Desenvolver uma aplicação \textit{web} de código aberto para marcação e busca de partes do discurso em corpora, visando ampliar as funcionalidades em relação a \textit{softwares} similares existentes e com interface amigável ao usuário.
  \end{block}
\end{frame}

\subsection{Específicos}

\begin{frame}{Objetivos específicos}
  \begin{itemize}
    \item Analisar comparativamente os recursos das ferramentas WordSmith, CorpusEye, COCA Online Corpus, Unitex/GramLab e Sketch Engine;
    \item Desenvolver ou adaptar um módulo extrator de sentenças;
    \item Desenvolver ou adaptar um módulo extrator de lista de palavras;
    \item Desenvolver ou adaptar um módulo etiquetador de partes do discurso que atue sobre sentenças;
    \item Desenvolver ou adaptar um módulo concordanciador que suporte busca por etiquetas;
    \item Integrar os módulos desenvolvidos ou adptados numa aplicação web;
    \item Disponibilizar uma ferramenta livre para uso educacional.
  \end{itemize}
\end{frame}

\section{Desenvolvimento}

\subsection{Um \textit{overview} sobre os objetivos}

\begin{frame}{Análise comparativa}
  \begin{itemize}
    \item Tabela 4, seção 3.1; {\transparent{.5} (p. 29)}
    \item Várias funcionalidades desejáveis:
    \begin{itemize}
      \item Não há tempo hábil para implementar todas;
    \end{itemize}
    \item A tabela \ref{tab:compplnres} era uma versão resumida desta;
    \item Gerou os objetivos subsequentes.
  \end{itemize}
\end{frame}

\begin{frame}{Separador de sentenças}{Separador de frases}
  \begin{description}
    \item[O que faz:] Separa um texto em frases;
    \item[Desafios:] Siglas, abreviações e abreviaturas; {\transparent{.5} (Sr., Sra., V.Exa.)}
    \item[Implementação:] Adaptada do Unitex/Gramlab;
  \end{description}
\end{frame}

\begin{frame}{Extrator de lista de palavras}
  \begin{description}
    \item[O que faz:] Identifica as palavras do texto e as classifica como simples ou composta, seu lema, e suas possíveis flexões;
    \item[Implementação:] Adaptada do Unitex/Gramlab;
  \end{description}
\end{frame}

\begin{frame}{Etiquetador de partes do discurso}
  \begin{description}
    \item[O que faz:] Atribui etiquetas de partes do discurso a cada palavra da sentença;
    \item[Desafios:] Ambiguidades; {\transparent{.5} (“casa” é verbo ou substativo?)}
    \item[Implementação:] Se o treinamento do Unitex/Gramlab obtiver precisão maior que 75\%, será utilizado o etiquetador deste; caso contrário, serão utilizados os etiquetadores treinados por Aires\footnote{AIRES, R. V. X. Implementaçao, adaptaçao, combinação e avaliação de etiquetadores para o português do Brasil. 154 p. Tese (Doutorado) — Universidade de São Paulo, São Carlos, 2000.}, priorizados por precisão.
  \end{description}
\end{frame}

\begin{frame}{Concordanciador}
  \begin{description}
    \item[O que faz:] “extrai todas as ocorrências de uma palavra de busca num corpus juntamente
com seu cotexto [...]”\footnote{TAGNIN, S. E. \textbf{Glossário de linguística de corpus}. São Paulo: HUB Editorial, 2010. p. 358.};
    \item[Implementação:] Própria.
  \end{description}
\end{frame}

\begin{frame}{Tecnologias escolhidas}
  \begin{itemize}
    \item Django 1.11;
    \item Bootstrap 4.0b1;
    \item FontAwesome 4.7.0;
  \end{itemize}
  Na época que o projeto iniciou, estas eram as versões mais recentes.
\end{frame}

\subsection{Aprofundando nos objetivos}

\begin{frame}{Arquitetura modular}
  \begin{itemize}
    \item Eventos com tipo:
    \begin{itemize}
      \item Provedor;
      \item Busca;
      \item Filtro;
      \item Ação.
    \end{itemize}
    \item Desacoplamento entre partes;
    \item Módulos substituíveis;
    \item Uma tela mostrando todas as ações disponíveis sobe um corpus.
  \end{itemize}
\end{frame}

\begin{frame}{Concordanciador}
  \begin{itemize}
    \item Problemas a serem resolvidos:
    \begin{itemize}
      \item Distância entre o usuário e o manual ou referência;
      \item Usabilidade.
    \end{itemize}
    \item Ações possíveis:
    \begin{itemize}
      \item Busca por etiqueta;
      \item Busca por palavra exata ou partes desta;
      \item Intervalo de fixo ou variável de palavras a ignoradas;
      \item Combinação das anteriores.
    \end{itemize}
  \end{itemize}
\end{frame}

\begin{frame}{Treino do etiquetador}{1 de 3}
  \begin{description}
    \item[Corpus:] Floresta Sintática\footnote{LINGUATECA. Projecto Floresta Sinta(c)tica. 2010.} {\transparent{.5} (ordem de milhão de amostras)}
    \item[Etiquetador:] \textit{Unitex/GramLab}
    \vspace{1em}
    \item[Problema:] Qual o significado das etiquetas de saída?
    \begin{itemize}
      \item Documentação incompleta;
      \item Dos 5 artigos citados, apenas um era de acesso público e não trazia dados sobre o significado das etiquetas.
    \end{itemize}
    \vspace{1em}
    \item[Problema:] O resultado obtido se compara a quê? O que seria um resultado ruim?
  \end{description}
\end{frame}

\begin{frame}{Treino do etiquetador}{2 de 3}
  Desenvolvido outro etiquetador, para ser o parâmetro de ruim:
  \vspace{1em}
  \begin{description}
    \item[Corpus:] Floresta Sintática\footnote{LINGUATECA. Projecto Floresta Sinta(c)tica. 2010.} {\transparent{.5} (ordem de milhão de amostras)}
    \item[Etiquetador:] \textit{YAS-Tagger}
    \item[Funcionamento:] Tabela associativa de vizinhança para etiqueta;
  \end{description}
  \vspace{1em}
  Resultados inesperados levaram à dúvida: “qual seria o impacto se o corpus fosse uma ordem de grandeza menor?”
\end{frame}

\begin{frame}{Treino do etiquetador}{3 de 3}
  \begin{description}
    \item[Corpus:] Aires\footnote{AIRES, R. V. X. Implementaçao, adaptaçao, combinação e avaliação de etiquetadores para o português do Brasil. 154 p. Tese (Doutorado) — Universidade de São Paulo, São Carlos, 2000.} {\transparent{.5} (ordem de centena de milhar de amostras)}
    \item[Etiquetador:] \textit{YAS-Tagger}
  \end{description}
\end{frame}

\begin{frame}{Treinos dos etiquetadores}
  \begin{enumerate}
    \item Floresta Sintática + Unitex/GramLab
    \item Floresta Sintática + YAS-Tagger
    \item Aires + YAS-Tagger
  \end{enumerate}
\end{frame}

\section{Resultados obtidos}

\subsection{Treino do etiquetador}

\begin{frame}{Floresta Sintática + Unitex/GramLab}
  \begin{itemize}
    \item Precisão $\approx$ 60,76\%;
    \item Precisão concentrada em 3 das 4 etiquetas mais prevalentes:
    \begin{itemize}
      \item PREP;
      \item PRON;
      \item V;
    \end{itemize}
    \item A prevalência da saída do etiquetador não apresenta uma clara relação com a frequência no treino e teste. 
  \end{itemize}
\end{frame}
\begin{frame}{Floresta Sintática + Unitex/GramLab}
\begin{figure}[h]
  \begin{center}
    \includegraphics[width=.65\textwidth ,height=.65\textheight ,keepaspectratio]{prevalency_charts/fs_unitextagger_prev.pdf}
    \caption[Prevalência de etiquetas do \textit{Unitex/GramLab}]{Prevalência das 15 etiquetas mais frequentes do conjunto de treino, teste e etiquetado pelo \textit{Unitex/GramLab}}
    {\usebeamercolor[fg]{structure} Fonte:} {O autor}
    \label{fig:t1:prev}
  \end{center}
\end{figure}
\end{frame}


\begin{frame}{Floresta Sintática + YAS-Tagger}
  \begin{itemize}
    \item Precisão $\approx$ 76,93\%;
    \item Precisão distribuída mais uniformemente por etiqueta;
    \item A prevalência no conjunto de saída do etiquetador é sempre menor que a frequência no treino e teste;
  \end{itemize}
\end{frame}
\begin{frame}{Floresta Sintática + YAS-Tagger}
\begin{figure}[h]
  \begin{center}
    \includegraphics[width=.65\textwidth ,height=.65\textheight ,keepaspectratio]{prevalency_charts/fs_yastagger_prev.pdf}
    \caption[Prevalência de etiquetas do \textit{YAS-Tagger}]{Prevalência das 15 etiquetas mais frequentes do conjunto de treino, teste e etiquetado pelo \textit{YAS-Tagger}}
    {\usebeamercolor[fg]{structure} Fonte:} {O autor}
    \label{fig:t2:prev}
  \end{center}
\end{figure}
\end{frame}


\begin{frame}{Aires + YAS-Tagger}
  \begin{itemize}
    \item Precisão $\approx$ 53,40\% (queda de 23,56\%);
    \item A etiqueta “???” agora representa 33,74\% da saída do etiquetador:
    \begin{itemize}
      \item aumento de 138\%
    \end{itemize}
  \end{itemize}
\end{frame}
\begin{frame}{Aires + YAS-Tagger}
\begin{figure}[h]
  \begin{center}
    \includegraphics[width=.65\textwidth ,height=.65\textheight ,keepaspectratio]{prevalency_charts/nilc_yastagger_prev.pdf}
    \caption[Prevalência de etiquetas do \textit{YAS-Tagger} sobre corpus de Aires]{Prevalência das 15 etiquetas mais frequentes do conjunto de treino, teste e etiquetado pelo \textit{YAS-Tagger} sobre o copus de Aires}
    {\usebeamercolor[fg]{structure} Fonte:} {O autor}
    \label{fig:t3:prev}
  \end{center}
\end{figure}
\end{frame}


\begin{frame}
  \begin{table}[h]
  \begin{center}
    \begin{tabular}{c|c}
      \hline
      Etiquetador & Precisão \\
      \hline
      \hline
      MXPOST & $89,66\%$ \\
      \hline
      Brill Tagger & $88,76\%$ \\
      \hline
      Tree Tagger & $88,47\%$ \\
      \hline
      YAS-Tagger & $76,93\%$ \\
      \hline
      Unitex/GramLab & $60,76\%$ \\
      \hline
    \end{tabular}
  \end{center}
  \caption[Comparação da precisão entre cinco etiquetadores]{Comparação da precisão entre os etiquetadores \textit{MXPOST}, \textit{Brill Tagger}, \textit{Tree Tagger}, \textit{YAS-Tagger} e \textit{Unitex/GramLab}}
  {\usebeamercolor[fg]{structure} Fonte:} Aires\footnote{AIRES, R. V. X. Implementaçao, adaptaçao, combinação e avaliação de etiquetadores para o português do Brasil. 154 p. Tese (Doutorado) — Universidade de São Paulo, São Carlos, 2000. p. 82.} e o autor.
  \label{tab:taggercomp}
  \end{table}
\end{frame}

\subsection{O sistema desenvolvido}

\begin{frame}{O sistema desenvolvido}
  \begin{center}
    \includegraphics[width=.65\textwidth ,height=.65\textheight ,keepaspectratio]{logo/logo.pdf}
    \\
    \url{https://corpusslayer.com}
  \end{center}
\end{frame}

\begin{frame}
\begin{figure}[h]
  \begin{center}
    \includegraphics[scale=.5,trim={0 16mm 0 0},clip]{screenshots/home/deslogado_comform.pdf}
    \caption{Página inicial do sistema desenvolvido}
    {\usebeamercolor[fg]{structure} Fonte:} {O autor}
    \label{fig:ss:home}
  \end{center}
\end{figure}
\end{frame}

\begin{frame}
\begin{figure}[h]
  \begin{center}
    \includegraphics[scale=1.25,trim={43mm 113mm 120mm 10mm},clip]{screenshots/language_selector_desktop.pdf}
    \includegraphics[scale=.5,trim={0 150mm 0 0},clip]{screenshots/language_selector_mobile.pdf}
    \caption[Detalhe do seletor de idiomas]{Detalhe do seletor de idiomas, \textit{desktop} em cima e em dispositivos móveis em baixo}
    {\usebeamercolor[fg]{structure} Fonte:} {O autor}
    \label{fig:ss:langsel}
  \end{center}
\end{figure}
\end{frame}

\begin{frame}
\begin{figure}[h]
  \begin{center}
    \includegraphics[scale=.5,trim={0 35mm 0 0},clip]{screenshots/home/logado.pdf}
    \caption{Página inicial do sistema desenvolvido, mostrando a listagem dos corpora dum usuário}
    {\usebeamercolor[fg]{structure} Fonte:} {O autor}
    \label{fig:ss:corpora}
  \end{center}
\end{figure}
\end{frame}

\begin{frame}
  \begin{center}
    \includegraphics[scale=1,trim={34mm 60mm 85mm 10mm},clip]{screenshots/home/logado.pdf}
  \end{center}
\end{frame}

\begin{frame}
\begin{figure}[h]
  \begin{center}
    \includegraphics[scale=.45,trim={0 0 0 0},clip]{screenshots/corpus.pdf}
    \caption{Lista de documentos dum corpus}
    {\usebeamercolor[fg]{structure} Fonte:} {O autor}
    \label{fig:ss:corpus}
  \end{center}
\end{figure}
\end{frame}

\begin{frame}
  \begin{center}
    \includegraphics[scale=.75,trim={3mm 60mm 65mm 21mm},clip]{screenshots/corpus.pdf}
  \end{center}
\end{frame}

\begin{frame}
\begin{figure}[h]
  \begin{center}
    \includegraphics[scale=.3,trim={0 0 0 0},clip]{screenshots/analise.pdf}
    \caption{Opções de análises para um corpus}
    {\usebeamercolor[fg]{structure} Fonte:} {O autor}
    \label{fig:ss:analysis}
  \end{center}
\end{figure}
\end{frame}

\begin{frame}
  \begin{center}
    \includegraphics[scale=.75,trim={0 0 0 20mm},clip]{screenshots/analise.pdf}
  \end{center}
\end{frame}

\begin{frame}
  \begin{center}
    \includegraphics[scale=.75,trim={0 0 0 105mm},clip]{screenshots/analise.pdf}
  \end{center}
\end{frame}

\begin{frame}
\begin{figure}[h]
  \begin{center}
    \includegraphics[scale=.5,trim={0 16mm 0 0},clip]{screenshots/unitex/sentences.pdf}
    \caption{Lista de sentenças dum corpus}
    {\usebeamercolor[fg]{structure} Fonte:} {O autor}
    \label{fig:ss:sentences}
  \end{center}
\end{figure}
\end{frame}

\begin{frame}
\begin{figure}[h]
  \begin{center}
    \includegraphics[scale=.5,trim={0 90mm 0 0},clip]{screenshots/unitex/wordlist.pdf}
    \caption{Lista de palavras dum corpus}
    {\usebeamercolor[fg]{structure} Fonte:} {O autor}
    \label{fig:ss:wordlist}
  \end{center}
\end{figure}
\end{frame}

\begin{frame}
\begin{figure}[h]
  \begin{center}
    \includegraphics[scale=.5,trim={0 39mm 0 0},clip]{screenshots/etiquetado.pdf}
    \caption{Corpus processado pelo \textit{Tree Tagger}}
    {\usebeamercolor[fg]{structure} Fonte:} {O autor}
    \label{fig:ss:tted}
  \end{center}
\end{figure}
\end{frame}

\begin{frame}
\begin{figure}[h]
  \begin{center}
    \includegraphics[scale=.45,trim={0 0 0 0},clip]{screenshots/concordanciador/busca.pdf}
    \caption{Tela de busca do concordanciador}
    {\usebeamercolor[fg]{structure} Fonte:} {O autor}
    \label{fig:ss:concbusca}
  \end{center}
\end{figure}
\end{frame}

\begin{frame}
  \begin{center}
    \includegraphics[scale=1.25,trim={45mm 93mm 80mm 15mm},clip]{screenshots/concordanciador/busca.pdf}
  \end{center}
\end{frame}

\begin{frame}
  \begin{center}
    \includegraphics[scale=1.125,trim={45mm 48mm 70mm 55mm},clip]{screenshots/concordanciador/busca.pdf}
  \end{center}
\end{frame}

\begin{frame}
  \begin{center}
    \includegraphics[scale=1.375,trim={45mm 0 110mm 100mm},clip]{screenshots/concordanciador/busca.pdf}
  \end{center}
\end{frame}

\begin{frame}
\begin{figure}[h]
  \begin{center}
    \includegraphics[scale=.5,trim={0 20mm 0 0},clip]{screenshots/concordanciador/resultados.pdf}
    \caption{Tela de resultados do concordanciador}
    {\usebeamercolor[fg]{structure} Fonte:} {O autor}
    \label{fig:ss:concres}
  \end{center}
\end{figure}
\end{frame}

\begin{frame}
  \begin{center}
    \includegraphics[scale=.75,trim={35mm 61mm 35mm 15mm},clip]{screenshots/concordanciador/resultados.pdf}
  \end{center}
\end{frame}

\begin{frame}
  \begin{center}
    \includegraphics[scale=.85,trim={39mm 79mm 44mm 55mm},clip]{screenshots/concordanciador/resultados.pdf}
  \end{center}
\end{frame}

\begin{frame}
\begin{figure}[h]
  \begin{center}
    \includegraphics[scale=.5,trim={0 50mm 0 0},clip]{screenshots/concordanciador/backtrack.pdf}
    \caption{Visualização de documento a partir dum clique na \aspas{seta para trás}}
    {\usebeamercolor[fg]{structure} Fonte:} {O autor}
    \label{fig:ss:bts}
  \end{center}
\end{figure}
\end{frame}

\begin{frame}
\begin{figure}[h]
  \begin{center}
    \includegraphics[scale=.5,trim={0 42mm 0 0},clip]{screenshots/concordanciador/backtrack_many.pdf}
    \caption{Listagem de documentos a partir dum clique na \aspas{seta para trás}}
    {\usebeamercolor[fg]{structure} Fonte:} {O autor}
    \label{fig:ss:btm}
  \end{center}
\end{figure}
\end{frame}

\section{Conclusão}

\begin{frame}
  \begin{itemize}
    \item É possível conseguir uma ferramenta comparável às pagas apenas integrando softwares gratuitos existentes;
    \item Este trabalho deixa uma fonte de inspiração para concordanciadores existentes e futuros uma para aumentar a usabilidade destes por usuários inexperientes;
    \item Unitex/GramLab tem uma documentação incompleta que cobre apenas o uso da interface.
  \end{itemize}
\end{frame}

\subsection{Trabalhos futuros}

\begin{frame}{Trabalhos futuros}
  \begin{itemize}
    \item Garantir que o sistema desenvolvido seja acessível por surdos;
    \item Adicionar interoperabilidade do sistema desenvolvido com outros sistemas que usam este como execução remota de procedimento;
    \item Adicionar elementos de rede social, de foma a ser possível compartilhar resultados entre pesquisadores;
    \item Implementar todos os requisitos levantados, mas não concretizados neste trabalho;
    \item Implementar pontuador automático para auxiliar pessoas com dislexia.
  \end{itemize}
\end{frame}

\section[]{}

\begin{frame}
  \centerline{\huge Perguntas?}
\end{frame}

\end{document}
