%-----------------------------------------------------------------------

\documentclass[serif, professionalfont, usenames, dvipsnames]{beamer}\usepackage[]{graphicx}\usepackage[]{color}
%% maxwidth is the original width if it is less than linewidth
%% otherwise use linewidth (to make sure the graphics do not exceed the margin)
\makeatletter
\def\maxwidth{ %
  \ifdim\Gin@nat@width>\linewidth
    \linewidth
  \else
    \Gin@nat@width
  \fi
}
\makeatother

\definecolor{fgcolor}{rgb}{0.345, 0.345, 0.345}
\newcommand{\hlnum}[1]{\textcolor[rgb]{0.686,0.059,0.569}{#1}}%
\newcommand{\hlstr}[1]{\textcolor[rgb]{0.192,0.494,0.8}{#1}}%
\newcommand{\hlcom}[1]{\textcolor[rgb]{0.678,0.584,0.686}{\textit{#1}}}%
\newcommand{\hlopt}[1]{\textcolor[rgb]{0,0,0}{#1}}%
\newcommand{\hlstd}[1]{\textcolor[rgb]{0.345,0.345,0.345}{#1}}%
\newcommand{\hlkwa}[1]{\textcolor[rgb]{0.161,0.373,0.58}{\textbf{#1}}}%
\newcommand{\hlkwb}[1]{\textcolor[rgb]{0.69,0.353,0.396}{#1}}%
\newcommand{\hlkwc}[1]{\textcolor[rgb]{0.333,0.667,0.333}{#1}}%
\newcommand{\hlkwd}[1]{\textcolor[rgb]{0.737,0.353,0.396}{\textbf{#1}}}%
\let\hlipl\hlkwb

\usepackage{framed}
\makeatletter
\newenvironment{kframe}{%
 \def\at@end@of@kframe{}%
 \ifinner\ifhmode%
  \def\at@end@of@kframe{\end{minipage}}%
  \begin{minipage}{\columnwidth}%
 \fi\fi%
 \def\FrameCommand##1{\hskip\@totalleftmargin \hskip-\fboxsep
 \colorbox{shadecolor}{##1}\hskip-\fboxsep
     % There is no \\@totalrightmargin, so:
     \hskip-\linewidth \hskip-\@totalleftmargin \hskip\columnwidth}%
 \MakeFramed {\advance\hsize-\width
   \@totalleftmargin\z@ \linewidth\hsize
   \@setminipage}}%
 {\par\unskip\endMakeFramed%
 \at@end@of@kframe}
\makeatother

\definecolor{shadecolor}{rgb}{.97, .97, .97}
\definecolor{messagecolor}{rgb}{0, 0, 0}
\definecolor{warningcolor}{rgb}{1, 0, 1}
\definecolor{errorcolor}{rgb}{1, 0, 0}
\newenvironment{knitrout}{}{} % an empty environment to be redefined in TeX

\usepackage{alltt}
\usepackage[T1]{fontenc}

% ATTENTION: preamble.tex contains all style definitions.
\input{config/preamble.tex}
\input{config/preamble-author.tex}



%-----------------------------------------------------------------------

\title{Distribuições, leis e riqueza em texto}
% \subtitle{Visão geral e funcionamento}
% \date{\small{ sprintf('Atualizado em %s', Sys.Date()}}

%-----------------------------------------------------------------------
\IfFileExists{upquote.sty}{\usepackage{upquote}}{}
\begin{document}

{\setbeamertemplate{footline}{}
  \frame{\titlepage} %--------------------------------------------------
}

%-----------------------------------------------------------------------
\begin{frame}[allowframebreaks]{Lei de Zipf}

  \begin{itemize}
  \item A lei de Zipf descreve um interessante fenêmeno de ocorrência
    universal.
  \item A distribuição de frequência das palavras em um \hi{corpus} não
    é uniforme.
  \item A lei de Zipf estabele que a \hi{frequência} de uma palavra tem
    descrescimento não linear conforme o \hi{posicionamento} da
    frequência.
    \begin{equation*}
      f(w) = \frac{C}{r(w)^a} = C \cdot r(w)^{-a},
    \end{equation*}
    em que
    \begin{itemize}
    \item $f(w) > 0$: a freq. da palavra $w$.
    \item $r(w) \in \mathbb{N}^{*}$: o posicionamento da freq. de $w$
      (ranking).
    \item $C > 0$: a freq. da palavra mais frequente.
    \item $a > 0$: o fator de decaimento.
    \end{itemize}
  \item É uma lei de potência.
  \item Extraindo o logaritmo, tem-se que uma relação linear
    \begin{equation*}
      \log(f(w)) = \log(C) - a \log(r(w)).
    \end{equation*}
  \end{itemize}

\end{frame}

%-----------------------------------------------------------------------

\begin{frame}[fragile, allowframebreaks]{Exemplo}

\begin{knitrout}
\definecolor{shadecolor}{rgb}{0.969, 0.969, 0.969}\color{fgcolor}\begin{kframe}
\begin{alltt}
\hlstd{C} \hlkwb{<-} \hlnum{79}
\hlstd{a} \hlkwb{<-} \hlnum{0.48}
\hlstd{r} \hlkwb{<-} \hlnum{1}\hlopt{:}\hlnum{100}
\hlstd{f} \hlkwb{<-} \hlstd{C} \hlopt{*} \hlstd{r}\hlopt{^}\hlstd{(}\hlopt{-}\hlstd{a)}

\hlkwd{plot}\hlstd{(f} \hlopt{~} \hlstd{r,}
     \hlkwc{type} \hlstd{=} \hlstr{"h"}\hlstd{,}
     \hlkwc{ylim} \hlstd{=} \hlkwd{c}\hlstd{(}\hlnum{0}\hlstd{, C),}
     \hlkwc{xlab} \hlstd{=} \hlstr{"r(w)"}\hlstd{,}
     \hlkwc{ylab} \hlstd{=} \hlstr{"f(w)"}\hlstd{)}
\end{alltt}
\end{kframe}

{\centering \includegraphics[width=\maxwidth]{figure/unnamed-chunk-2-1} 

}



\end{knitrout}

\framebreak

\begin{knitrout}
\definecolor{shadecolor}{rgb}{0.969, 0.969, 0.969}\color{fgcolor}\begin{kframe}
\begin{alltt}
\hlkwd{plot}\hlstd{(f} \hlopt{~} \hlstd{r,}
     \hlkwc{log} \hlstd{=} \hlstr{"xy"}\hlstd{,}
     \hlkwc{type} \hlstd{=} \hlstr{"h"}\hlstd{,}
     \hlkwc{xlab} \hlstd{=} \hlstr{"log r(w)"}\hlstd{,}
     \hlkwc{ylab} \hlstd{=} \hlstr{"log f(w)"}\hlstd{)}
\end{alltt}
\end{kframe}

{\centering \includegraphics[width=\maxwidth]{figure/unnamed-chunk-3-1} 

}



\end{knitrout}
\end{frame}

%-----------------------------------------------------------------------
\begin{frame}[allowframebreaks]{Lei de Heaps}

  \begin{itemize}
  \item A lei de Heaps é também conhecida como lei de Herdan.
  \item É uma lei empírica que estabelece relação entre tipo e termos em
    linguística.
  \item Ela define a relação entre o a contagem de palavras distintas no
    documento (\hi{vocabulário}) e o tamanho do documento (total de
    palavras).
    \begin{equation*}
      Vr(n) = C \cdot b \cdot n,
    \end{equation*}
    em que
    \begin{itemize}
    \item $Vr$: número de palavras distintas no documento.
    \item $n$: tamanho do documento (total de termos).
    \item $C$: parâmetro determinado empiricamente.
    \item $b$: parâmetro determinado empiricamente também.
    \end{itemize}
  \item Portanto, o número de termos distintos é uma função linear do
    tamanho do documento.
  \end{itemize}

\end{frame}

%-----------------------------------------------------------------------
\begin{frame}[allowframebreaks]{Riquesa léxica}

  \textbf{Léxico} significa dicionário, é o conjunto dos vocábulos de
  uma língua, dispostos em ordem alfabética e com as respectivas
  significações.

  Determinações sobre riqueza léxica são importantes em
  \begin{itemize}
  \item estilometria;
  \item linguística aplicada;
  \item linguística computacional;
  \item processamento da linguagem natural;
  \item lexicologia;
  \item etc.
  \end{itemize}

  Em linguítica, a riqueza léxica descreve a proeficiência do autor de
  um documento em termos de variação de linguagem e conhecimento de
  vocabulário.

  \framebreak

  \begin{itemize}

  \item Variação léxica
    \begin{itemize}
    \item Trata do típico bolacha ou biscoito.
    \item Decorre de variações geográficas e socio-culturais.
    \item Descocamento e amplicação semântica dão as palavras diferentes
      significados conforme o contexto.
    \item Existe a variação conceitual e a contextual.
    \item {\it Gol de bicicleta; gol de placa; a porca está frouxa}.
    \item O pacote \texttt{koRpus} mede a variação léxica.
    \end{itemize}

    \framebreak

  \item Densidade léxica.
    \begin{itemize}
    \item Em termos simples, descreve a leiturabilidade do texto.
      \begin{equation*}
        Ld = 100 \frac{\text{nlex}}{N}
      \end{equation*}
      em que $Ld$ é a densidade léxica, $\text{nlex}$ é o número de
      termos léxicas e $N$ o número total de termos.
    \end{itemize}

    \framebreak

  \item Originalidade léxica.
    \begin{itemize}
    \item Visa medir o tamanho do vocabulário do autor.
    \item Definido como a razão entre o número único de tipos de
      palavras pelo total de termos léxicos do texto.
    \end{itemize}

    \framebreak

  \item Sofisticação léxica.
    \begin{itemize}
    \item Mede a fração de termos avançados ou sofisticados em um texto.
    \item É definido como a razão entre o número de lexemas avançados
      (carece definição) e o total de termos léxicos.
    \end{itemize}

  \end{itemize}

  \framebreak

  \begin{itemize}
  \item Use o serviço para avaliar documentos em inglês:
    \url{https://www.paperrater.com/}.
  \item Recorte texto da internet e investigue a lei de Zipf e lei de Heaps.
  \item Faça usando o abordagem/pacote \href{https://www.tidytextmining.com/}{\texttt{tidytext}}.
  \end{itemize}

\end{frame}

%-----------------------------------------------------------------------
\begin{frame}[fragile]{Primeiras manipulações de texto}

\begin{knitrout}
\definecolor{shadecolor}{rgb}{0.969, 0.969, 0.969}\color{fgcolor}\begin{kframe}
\begin{alltt}
\hlkwd{library}\hlstd{(tidyverse)}
\hlkwd{library}\hlstd{(tidytext)}

\hlstd{text} \hlkwb{<-}
\hlstr{"Minha terra tem palmeiras,
Onde canta o Sabiá;
As aves, que aqui gorjeiam,
Não gorjeiam como lá.
Nosso céu tem mais estrelas,
Nossas várzeas têm mais flores,
Nossos bosques têm mais vida,
Nossa vida mais amores."}
\hlstd{text_df} \hlkwb{<-} \hlkwd{tibble}\hlstd{(}\hlkwc{text} \hlstd{= text)}
\hlstd{tidy_text} \hlkwb{<-} \hlkwd{unnest_tokens}\hlstd{(text_df, word, text)}
\hlstd{tidy_text} \hlopt{%>%}
    \hlkwd{count}\hlstd{(word)}
\end{alltt}
\begin{verbatim}
## # A tibble: 29 x 2
##    word         n
##    <chr>    <int>
##  1 amores       1
##  2 aqui         1
##  3 as           1
##  4 aves         1
##  5 bosques      1
##  6 canta        1
##  7 céu          1
##  8 como         1
##  9 estrelas     1
## 10 flores       1
## # ... with 19 more rows
\end{verbatim}
\end{kframe}
\end{knitrout}

\end{frame}

\begin{frame}[fragile]{Lei de Zipf}

Texto extraído dos 4 Evangelhos da Bíblia online: \url{https://www.bibliaon.com/}.

\begin{knitrout}
\definecolor{shadecolor}{rgb}{0.969, 0.969, 0.969}\color{fgcolor}\begin{kframe}
\begin{alltt}
\hlkwd{load}\hlstd{(}\hlstr{"../data/evang.RData"}\hlstd{)}
\hlkwd{str}\hlstd{(evang)}

\hlstd{text_df} \hlkwb{<-} \hlkwd{tibble}\hlstd{(}\hlkwc{verso} \hlstd{=} \hlkwd{seq_along}\hlstd{(evang}\hlopt{$}\hlstd{Mateus),}
                  \hlkwc{text} \hlstd{= evang}\hlopt{$}\hlstd{Mateus)}
\hlstd{tidy_text} \hlkwb{<-} \hlkwd{unnest_tokens}\hlstd{(text_df, word, text)}

\hlstd{freq} \hlkwb{<-} \hlstd{tidy_text} \hlopt{%>%}
    \hlkwd{count}\hlstd{(word)} \hlopt{%>%}
    \hlkwd{arrange}\hlstd{(}\hlopt{-}\hlstd{n)}

\hlkwd{plot}\hlstd{(n} \hlopt{~} \hlkwd{seq}\hlstd{(word),} \hlkwc{data} \hlstd{= freq[}\hlnum{1}\hlopt{:}\hlnum{300}\hlstd{, ])}
\hlkwd{plot}\hlstd{(n} \hlopt{~} \hlkwd{seq}\hlstd{(word),} \hlkwc{data} \hlstd{= freq[}\hlnum{1}\hlopt{:}\hlnum{300}\hlstd{, ],} \hlkwc{log} \hlstd{=} \hlstr{"xy"}\hlstd{)}
\end{alltt}
\end{kframe}
\end{knitrout}

\end{frame}

\begin{frame}[fragile]{Lei de Heaps}

\begin{knitrout}
\definecolor{shadecolor}{rgb}{0.969, 0.969, 0.969}\color{fgcolor}\begin{kframe}
\begin{alltt}
\hlstd{text_df} \hlkwb{<-} \hlstd{text_df} \hlopt{%>%}
    \hlkwd{mutate}\hlstd{(}\hlkwc{doc} \hlstd{=} \hlkwd{sample}\hlstd{(}\hlnum{1}\hlopt{:}\hlnum{30}\hlstd{,} \hlkwc{size} \hlstd{=} \hlkwd{n}\hlstd{(),} \hlkwc{replace} \hlstd{=} \hlnum{TRUE}\hlstd{))}

\hlstd{un_tk} \hlkwb{<-} \hlstd{text_df} \hlopt{%>%}
    \hlkwd{group_by}\hlstd{(doc)} \hlopt{%>%}
    \hlkwd{unnest_tokens}\hlstd{(word, text)}

\hlstd{n_tot} \hlkwb{<-} \hlstd{un_tk} \hlopt{%>%}
    \hlkwd{count}\hlstd{(doc)}

\hlstd{n_uniq} \hlkwb{<-} \hlstd{un_tk} \hlopt{%>%}
    \hlkwd{distinct}\hlstd{()} \hlopt{%>%}
    \hlkwd{summarise}\hlstd{(}\hlkwc{u} \hlstd{=} \hlkwd{n}\hlstd{())}

\hlstd{heaps} \hlkwb{<-} \hlkwd{full_join}\hlstd{(n_uniq, n_tot)} \hlopt{%>%}
    \hlkwd{mutate}\hlstd{(}\hlkwc{ratio} \hlstd{= u}\hlopt{/}\hlstd{n)}

\hlkwd{plot}\hlstd{(u} \hlopt{~} \hlstd{n,} \hlkwc{data} \hlstd{= heaps)}

\hlkwd{summary}\hlstd{(}\hlkwd{lm}\hlstd{(u} \hlopt{~} \hlstd{n,} \hlkwc{data} \hlstd{= heaps))}
\end{alltt}
\end{kframe}
\end{knitrout}

\end{frame}


%-----------------------------------------------------------------------
{
  \usebackgroundtemplate{\includegraphics[height=\paperheight, width=\paperwidth]{./img/looking-ahead.jpg}}
  \begin{frame}[b]{}

    \hspace*{0.5\linewidth}
    \begin{minipage}[t]{0.5\linewidth}

      \hi{Próximo assunto}
      \begin{itemize}
      \item Modelos de linguagem.
      \item Processamento de texto.
      \end{itemize}

      \hi{Dever de casa}
      \begin{itemize}
      \item Criar conta no Moodle do C3SL.
      \item Fazer matrícula na disciplina.
      \item Estar em dia com a conta no C3SL.
      \item Atualizar o R no computador pessoal.
      \end{itemize}

    \end{minipage}

\end{frame}
}
%-----------------------------------------------------------------------

\end{document}
