\documentclass[portuges]{article}
\usepackage{babel}
\usepackage[latin1]{inputenc}
\usepackage{t1enc}
\usepackage{fancyvrb}
\usepackage{jj}
\def\falta#1{[#1]}
\def\too#1{\texttt{#1}}
\def\tindex#1{}
\def\dpl{{\sf dpl}}
\def\ddmf{{\sf ddmf}}
\def\co#1{\texttt{#1}}


\begin{document}
% \pagestyle{jj}
\title{Dicionário aberto de Calão e Idiomáticas}
\author{J. João Dias de Almeida 
\and Alberto Simões
\and Pedro Rangel Henriques}
\date{2000}

\maketitle
\tableofcontents
\newpage

Nesta secção, descreve-se uma experiência que tem vindo a decorrer no
âmbito do projecto Natura, \tindex{Natura} envolvendo a criação de um dicionário aberto
de calão e de expressões idiomáticas (DAC), consultável e extensível
via Internet.  Trata-se de procurar um compromisso aceitável entre o
gosto de coleccionar e partilhar, com uma vontade de obter qualidade,
equilíbrio e coerência da informação.

=Introdução

O desenho de um dicionário é uma tarefa reconhecidamente complexa, quer
devido à enorme quantidade de informação que tem que ser processada, quer ao 
nível da delicada coerência e equilíbrio, tão difícil e trabalhosa de conseguir.

Um projecto de construção de um dicionário pode corresponder a situações e
objectivos muito díspares.

No projecto DAC considerou-se importante o permitir que o dicionário
estivesse \emph{no ar} 
logo desde o início, de modo a prestar um serviço e funcionar como ponto de
partilha e intercâmbio com contribuições externas.
Ou seja, decidiu-se proceder à construção de um dicionário \emph{em directo},
\emph{à vista}.

Sabe-se que um dicionário não está (nem nunca vai estar!) acabado
e defende-se que um dicionário que esteja em construção, 
com elevadas assimetrias e entradas de completude muito díspares, 
pode ainda ser um trabalho válido e constituir um recurso útil.

=Motivação e características da área

A área particular das expressões idiomáticas \cite{Simoes} e do calão
\cite{nobre2000} tem um interesse especial e envolve um rico 
património linguístico cujo registo é complexo.

Saliente-se no entanto que:
 . ameaças infantis tão ricas como ``\emph{levas um biqueiro no céu da boca 
que ficas com a tosse nos calcanhares}'' são tão contundentes que, por certo,
vencem uma disputa antes de esta se iniciar;
 . expressões de calão tão fortes como ``\emph{falhar por um pentelho seco de 
velha}''\footnote{Usada no Minho, com o sentido de \emph{falhar por muito 
pouco}.} ou ``\emph{confundir o olho do cu com a feira de 
Montemor}''\footnote{Centro-Sul de Portugal.}, têm uma riqueza expressiva 
notável; 
 . o registo de expressões como estas, usando uma postura arquivística, é 
uma tarefa de inegável utilidade patrimonial.
 #

Esta área constitui um domínio muito rico, um filão inesgotável mas 
ao mesmo tempo apresenta um conjunto de dificuldades e desafios ligados a:
  . envolver termos multipalavra, com variantes flexionadas
  . os seus elementos serem pouco normalizados, tanto pela existência dum
grande número de variantes, como pelas dificuldades na grafia de termos que
raramente aparecem escritos.
  . haver um grande número de equivalências semânticas
  . haver um grande dependência do contexto:
      . quem os usa
      . situação de uso, época
      . nível de linguagem
      #
  . envolver grandes dificuldades de catalogação.
  #

=Ambiente de desenvolvimento usado -- \dpl

Dadas as condicionantes atrás referidas, houve que optimizar o processo de 
construção do dicionário que passou a ser definido/mantido na linguagem
de programação de dicionários -- \dpl{} descrita na Secção \ref{sec:dpl}.

Esta linguagem é orientada ao conceito (definido através de conjuntos de 
sinónimos) e com possibilidade de usar notação específica para abreviar 
e evidenciar
partes da informação e fenómenos tão variados como:
   . origem etimológica
   . origem geográfica
   . exemplos e paráfrases
   . classes a que pertence
   . variantes (especialmente importantes em relação a termos multipalavra)
   . adivinhas e provérbios
   . trocadilhos fonéticos
   . etc
   #

Como referido atrás, o \dpl{} permite: fazer
definições de conceitos independentemente do seu uso;
dispor de geração de vários tipos de saídasr; funcionar de um  modo
\emph{declarativo}; manter informação \emph{etiquetada} ou facetada; definir 
e usar funções.

A partir desta notação, e usando o compilador da linguagem de programação
\dpl, é gerado todo o sistema de consulta por rede que contém a
informação necessária à inserção de termos desconhecidos ou à completação
da informação associada.

O sistema de pesquisa -- baseado no módulo \ddmf{} (ver Sec. \ref{sec:ddmfimp})
contempla mecanismos para procurar termos e seus derivados morfológicos.

=Abreviaturas e funções

Um dos aspectos importantes da linguagem \dpl, é a capacidade de definição de
funções, ou seja de poder definir os conceitos metalinguísticos
a usar nas definições de termos. Esses conceitos vão desde a simples
abreviatura, até construtores que criam mais que um termo.

As funções ajudam à coerência geral e a evidenciar certos fenómenos
linguísticos e correspondem de um modo geral a construtores usados na 
composição de novos termos.

Alguns exemplos de definição de abreviaturas:

\begin{Verbatim}
sub ptn { +{local  => 'norte de Portugal'}}
sub n2  { +{nivel  => 'coloquial'} }
sub n4  { +{nivel  => 'calão carroceiro'} }
sub sm  { +{genero => 'masculino',
            gram   => 'só usado no masculino'} }  
sub diabo { +{sem => 'ordem de não aborrecer e de se ir embora',
              cat => 'interjeição'} }   
\end{Verbatim}
As abreviaturas são, portanto, funções zero-árias que devolvem \ef{}.

Uma função com parâmetros, pode corresponder a uma abreviatura mais complexa,
ou pode já descrever conceitos metalinguísticos mais interessantes.

Considere-se o seguinte exemplo de definição de funções com parâmetro:

\begin{Verbatim}
sub seems{ +{ isa    => 'eufemismo por semelhança sonora',
              syn    => shift } }  

<dict>
  Júlio++seems(chulo)+"esse? é cá um júlio"++pt:;
</dict>
\end{Verbatim}
\begin{com}
\linha{1 2} \co{Seems} é uma função que recebe um termo e devolve uma
  \ef{} em que o parâmetro é posto como sinónimo.
\linha{4} Na definição do termo \emph{Júlio} é acrescentado a
  \ef{} referida.
\end{com}

A função \co{seems} está a constituir uma representação explícita de um
construtor linguístico muito usado em calão que corresponde a substituir um
termo calão de nível elevado por um outro termo que tem semelhanças a nível
fonético e que não é calão. Deste modo, está-se a constituir um novo termo
calão de nível menos elevado (e portanto possível de utilizar em situações
diferentes).

A escrita de funções como esta, ajuda a clarificar conceitos metalinguísticos
e a tornar mais eficaz o processo de descrição dos termos.\\

Seguidamente, apresenta-se exemplos de entradas usando 3 funções habituais em
expressões idiomáticas e calão, mostrando-se em seguida o resultado de
consultar o dicionário especificado.

\begin{Verbatim}
+trocfon(gay ; entreguei+{sem = estar cercado de homossexuais});
+adivinha([pi;piolho;olho];
   qual é o animal que tem mais que três olhos e menos que quatro?; 
   piolho);
taveirada+"ela só pensa em taveiradas..."++n3++pt 
   ++afterevent(1986?; termo que apareceu após a circulação de um 
   vídeo clandestino documentando algumas orgias do arquitecto Tomás 
   Taveira)
   : sexo em posições criativas;
\end{Verbatim}
\begin{com}
\linha{1} Uso da função trocadilho fonético.
\linha{2} Uso da função adivinha.
%
% \campretty{ 
%   func adivinha(a:termo-set,pergunta:STR, resposta:STR): entry-set
%   returns nyavail{};
% }
\linha{6} Uso da função afterevent.
\end{com}

Exemplo: resultado de procurar \emph{taveirada}

\begin{Verbatim}
* taveirada
    sem -- sexo em posições criativas 
    ex -- ela só pensa em taveiradas... 
    local -- Portugal 
    isa -- Termo nascido de evento
    nivel -- calão 
    evento origem -- 
        termo que apareceu após a circulação de um vídeo clandestino 
        documentando algumas orgias do arquitecto Tomás Taveira
    data -- aparecimento -- 1986 ? 
\end{Verbatim}

Exemplo: procurar \emph{gay}

\begin{Verbatim}
* gay
  .  genero -- masculino 
     sem -- homossexual masculino 
            indivíduo afeminado 
     syn -- 
         maricas; bicha; ......
     en -- homossexual mail 
     nivel -- calão carroceiro 

  .  trocadilho -- 
        name -- entreguei 
        isa -- trocadilho fonético 
               anedota 
        sem -- estar cercado de homossexuais 
                                      
\end{Verbatim}

Exemplo: resultado de procurar \emph{entregar}

\begin{Verbatim}
* entreguei
    sem -- estar cercado de homossexuais 
    referente -- gay 
    isa -- trocadilho fonético 

* (encomendar*|entregar) a alma a Deus

* entregar-se de corpo e alma
    sem -- dedicar-se muito a uma tarefa 

* (estar*|ficar*) entregue à bicharada

* estar* bem entregue*N
\end{Verbatim}


=Definição orientada ao conceito

O facto de se fazer definições orientadas ao conceito permite uma grande
economia de descrição. O simples facto de se juntar um conjunto de
termos que têm uma acepção comum, é suficiente para definir essa mesma acepção.
Considere-se os seguintes exemplos que incluem a palavra \emph{cachimónia}:

\begin{Verbatim}
mona++n2| 
  cachimónia++n2| 
  tola++fon(tóla)++n2|
  bestunto++n2+"puxar pelo bestunto"=pensar|
  bestunteira++n2|
  cornos++n3+"tens de meter nos cornos essa matéria"|
  cabeça| 
  caixa dos pirolitos:;     

dar*-lhe na (cachimónia|cabeça|mona|veneta)++n2|
  dar*-lhe na (real|) gana++n2
   :lembrar-se de;

faltar*-lhe*PN (um parafuso|parafusos)++n2|
  ter* um parafuso a menos++n2|
  ter* a rosca moída++n2|
  não bater* bem da (bola|mona|cachimónia|tola)++n2|
  não ser* bom da cabeça
   :ser ou parecer maluco; 
\end{Verbatim}

A definição estruturada por conjuntos de sinónimos é especialmente
útil em situações em que haja grande quantidade de representantes 
do mesmo conceito, como é o caso do \dac.

Cada conceito dá origem a várias entradas no dicionário descrito.

Exemplo: resultado de procurar \emph{cachimónia}

\begin{Verbatim}
* cachimónia
    syn -- 
        mona 
        tola 
        bestunto 
        bestunteira 
        cornos 
        cabeça 
        caixa dos pirolitos 
    nivel -- coloquial

* dar*-lhe na (cachimónia|cabeça|mona|veneta) 
    syn -- dar*-lhe na (real|) gana 
    sem -- lembrar-se de 
    nivel -- coloquial

* não bater* bem da (bola|mona|cachimónia|tola) 
    syn -- 
        faltar*-lhe*PN (um parafuso|parafusos) 
        ter* um parafuso a menos 
        ter* a rosca moída 
        não ser* bom da cabeça 
    sem -- ser ou parecer maluco 
    nivel -- coloquial 
\end{Verbatim}

=Meta-informação\label{sec:dacmeta}

Como é sabido, um dicionário é algo mais que um conjunto de definições de 
termos.
Para além da definição dos termos, qualquer dicionário contém um conjunto de 
informação, como seja o título, as notas prévias, os autores, etc.


No dicionário aberto de calão, a metadata associada ao dicionário aparece
explícita e consultável (internamente é guardada como se de um termo normal
se tratasse).


\begin{Verbatim}
<meta>
 title:Dicionário aberto de calão e expressões idiomáticas;
 latex:{package="\usepackage{a4wide}"};
 author:{name = José João Almeida;
         email = jj@di.uminho.pt;
         project = Natura;
         org = Universidade do Minho, Departamento de Informática};
 introduction:
     /{ Acreditamos que as expressões idiomáticas e o calão são uma
     parte nobre e rica da Língua Portuguesa. Ao mesmo tempo que
     ..............
     colaboração de vários +daci!informantes!agradecimentos! a quem 
     muito agradecemos <p> } ;
 sources : [/{http://natura.di.uminho.pt/~jj/pln/calao.dic};
            /{http://natura.di.uminho.pt/~jj/pln/proverbio.dic}];
 descs:{ syn = sinónimos;
          isa = é um;
          ex  = exemplo } ;
 skell:{
       syn = sinónimos (separados por ,);
       isa = [termo; frase pitoresca; interjeição; provérbio; 
              insulto; termo calão; idiomática; outra; adivinha];
       semantica = significado;
       level = [normal; calão; erudito; coloquial;
                     calão carroceiro ;
                     calão muito carroceiro ;
                     calão estupidamente carroceiro];
       local = [pt; pt norte ; pt centro ; pt sul ; Brasil ; Angola ;
                     Madeira; Açores; particular];
       outrolocal = origem geográfica;
       from = {nome = nome;
                    email = email (não fica público)} ;
       ex = { frase = exemplo de uso;
                   paraf = explicação}
       } ;
 copyright: Projecto Natura, J.Joao, Licença GNU;
 keywords: slang, calão, expressões idiomática;
</meta>
\end{Verbatim}     
\begin{com}
 \linha{2} O título é uma informação que provavelmente será usada por todos
os processadores do dicionário.
 \linha{3} Esta informação vai ser usada apenas pelo processador
\LaTeX{}.\tindex{LaTeX}
\end{com}

As ferramentas que processam o dicionário fazem uso parcial dessa 
meta-informação, ou seja tiram partido desta informação de acordo com as suas
necessidades.\\
Exemplo: para geração da página Internet de consulta ao dicionário, 
o título, a nota introdutória e os ficheiros fonte da página inicial, 
são retirados dinamicamente da referida meta-informação. 

Do mesmo modo, quando um termo é desconhecido, a ferramenta vai consultar o 
campo \too{skel} da metadata e com base nessa informação constrói-se uma
\eng{form} (ver Figura \ref{fig:termodesc}) cujo preenchimento alimenta um 
ficheiro que será posteriormente revisto manualmente e incorporado no 
dicionário oficial.

\jjfig2eps{fig/TermoDesconhecido.pdf}{Resultado da pesquisa de
\emph{gambozinar}}{fig:termodesc}{1.0}

Ver também as Figuras \ref{fig:dpltex} e \ref{fig:dplcgi} da Secção
\ref{sec:dpl}.

=Criação duma CGI de consulta \label{sec:cgidac}

Na versão actual,
a criação do dicionário consultável, envolve
compilar o dicionário, construindo uma \too{DB\_File} perl. 
Esta base de dados permite rápido acesso a partir do termo origem, ao mesmo
tempo que permite aceitar uma enorme quantidade de chaves (termos).
\begin{Verbatim}
  lpdc dac.dpl
\end{Verbatim}

Após esta operação está a ser feita a junção (composição paralela)
com um outro dicionário constituído por pesquisa sobre uma lista de 
provérbios (cuja informação tem uma natural ligação às expressões idiomáticas).

Para realizar esta tarefa está a ser usado o módulo \co{ddmf.pm}, que será explicado
no próximo capítulo, e que aceita expressões de construção de dicionários como
esta:
\begin{Verbatim}
  $d1 = mkparcom(
          mkdplddmf("dac.dpl"),
          mkmttab("proverbios",
                  { sep => ":", type => "ff", lang => "pt"},
                  ["proverbio.txt","name","tipo","result"] ));
\end{Verbatim}
\begin{com}
\linha{1} Fazer a composição paralela dos dois dicionários que se seguem.
\linha{2} Construir um dicionário a partir dum texto \dpl{}. Internamente,
  é determinado o conjunto dos lemas de modo a permitir pesquisa por lema --
ou seja pesquisa a menos de normalização morfológica.
\linha{3} Construir um dicionário a partir duma tabela textual (contendo os
provérbios), 
\linha{4} 
... em que o separador de campo é ":", a língua usada é o Português (activa a
pesquisa com normalização morfológica),
\linha{5}
... contidos no ficheiro \co{proverbios.txt}, sendo cada registo da tabela
textual composto por um \co{nome}, um \co{tipo} e um \co{resultado} (utilizado
quando o tipo é adivinha).
\end{com}
Alguns detalhes deste módulo serão descritos no Capítulo \ref{sec:ddmfimp}.

=Conclusões

Com a construção / manutenção do \dac{}, constatou-se que:
. o campo em causa é muito interessante.
. neste domínio, é indispensável tentar assumir uma postura arquivística,
documentalista.
. como exercício de especificação que é, dispor de possibilidade de definir os 
operadores metalinguísticos a usar nas definições, é algo que ajuda a estudar 
e entender um domínio.
. o efeito de \emph{disponibilizar tem efeito multiplicativo}, levou a uma
grande quantidade de contribuições\footnote{Estando a situação 
presentemente ligeiramente fora de controle!}.
#
\end{document}
