Ensaio das morfolimpíadas: Descrição e resultados
Avaliação conjunta para o português, organizada pela Linguateca
Devido a diversas contrariedades e peripécias ocorridas durante a execução do ensaio, ainda não se encontram disponíveis todos os resultados, facto pelo qual pedimos sinceras desculpas aos leitores. Este texto, e os resultados para que aponta, está em constante evolução neste momento. Pedimos pois para refrescarem estas páginas (sobretudo as de resultados) com alguma frequência enquanto esta mensagem não for daqui retirada.
Esta página descreve os programas e a organização do ensaio das morfolimpíadas, assim como os seus resultados, trabalho conjunto de Paulo Rocha, Luís Costa e Diana Santos.
Os recursos que usamos são de dois tipos:
- Uma lista -- a que chamamos dourada -- para conter, a priori, um conjunto de formas com o resultado "correcto", compilada em conjunto com os participantes.
- Um conjunto de textos de teste que incluam as formas presentes na lista dourada, e muito mais, ou seja, idealmente uma variedade de problemas e de formas complexas.
Para o ensaio, embora tenhamos tornado os textos públicos, a lista dourada só foi distribuída aos participantes.
Segue-se a descrição de como foram criados ambos os tipos de recursos. Note-se que, talvez ao contrário do que seria de esperar (e por razões apenas de não atrasar a organização do evento), os textos de teste foram criados antes da lista dourada, pegando apenas na lista de formas primeiro. (De forma a garantir uma lista dourada mais completa e representativa, ter-se-á de executar o processo pela ordem inversa nas verdadeiras morfolimpíadas.)
Primeira fase: vários castores
Começámos por desenvolver
um programa (a que chamámos castor) que vai a um corpus em formato CQP e obtém aleatoriamente extractos de textos incluindo as palavras ou expressões que se encontram na lista dourada. O castor obtém mini-textos contendo cada uma dessas palavras, em que a palavra escondida, além disso, se encontra aleatoriamente colocada (por vezes no princípio, outras vezes no fim, no meio, etc.). São parâmetros do programa o tamanho dos mini-textos (em unidades/tokens ou frases), e restrições a partes dos corpora (por exemplo, só textos traduzidos no COMPARA; só textos de prosa no CLASSLPPE, texto-não jornalístico no SAOCARLOS, etc.).
Esse programa foi aplicado a todos os corpora do projecto AC/DC (incluindo o CETEMPúblico, e o CETENFolha), ao COMPARA e à Floresta Sintá(c)tica, usando 8 frases como tamanho do mini-texto, com um mínimo de 2 frases antes e depois da palavra a esconder.
Fizemos depois uma variante do castor para a parte da Editorial Verbo do corpus PAROLE e para o texto oral transcrito contido no CD "Português Falado - Documentos Autênticos (CLUL/Instituto Camões)", em que o programa selecciona -- dentro de blocos fixos de oito "frases", um mini-texto que contenha as palavras a esconder.
Obtivemos, além disso, para as palavras que não existiam de todo nos corpora, textos da rede (Web), usando o motor de procura Google com a opção de procurar apenas em páginas em português, e seleccionámos manualmente um contexto de tamanho aceitável. Para palavras que não encontrámos na Web nem nos corpora, editámos alguns textos reais de forma a introduzi-las. Num único caso, utilizámos uma mensagem de correio electrónico escrita por nós.
Juntámos, além disso, textos para as quais está a ser criada a anotação manual, assim como extractos de folhetos publicitários com bastantes erros.
Segunda fase: Castor chefe
Dada essa primeira "caldeirada" de textos, executámos um novo programa (o castor chefe) que escolhe que extractos vão ser usados, tentando maximizar o número de corpora distintos envolvidos, assim como balançar questões como variante e género.
Esse programa de escolha produz um primeiro ficheiro grande, com todos os textos sem identificação, apenas separados por duas mudancas de linha contíguas, e outro ficheiro mais pequeno com a informação da origem e a forma associada, que publicaremos posteriormente.
Preparação dos ficheiros que foram distribuídos
Esse ficheiro grande foi, então, sujeito a uma revisão manual apressada (duas horas), sendo alguns extractos retirados e substituídos por outros, e algumas características de formatação retiradas, dando origem ao ficheiro usado no ensaio, na forma de texto seguido: ts.txt.
Depois, através de uns programas simples em Perl, na sua maioria já desenvolvidos no âmbito do projecto AC/DC, criámos os outros dois formatos, nomeadamente o de "uma unidade por linha" (uul) e o de "um tipo só" (uts).
Editámos manualmente os ficheiros nestes dois formatos, verificando casos óbvios de erros de atomização (tokenização) que corrigimos em ambos os ficheiros (o que correspondeu a meia hora de trabalho). A maior parte destes erros era devida à introdução da linguagem oral no conjunto dos textos, que usa uma pontuação diferente daquela para a qual os programas foram originalmente concebidos. Mas também tivemos de "limpar" à mão casos combinando parênteses e algarismos...
Os resultados encontram-se em uts.txt e uul.txt.
Já que houve um grupo que também incluiu pontuação na lista dourada, mantivemos a pontuação no formato uts. Também mantivemos números e outras não-palavras que apareceram no texto.
Quanto à questão das palavras compostas por várias peças, seguimos a filosofia do projecto AC/DC, considerando como uma unidade só verbos com clíticos e contracções, e não aceitando unidades com espaços. (Note-se, contudo, que tentaremos não prejudicar as pessoas que usam outra segmentação mais fina -- ver processo de comparação.)
Era preciso, contudo, arranjar uma lista de pares e/ou trios de palavras para esconder as poucas entradas na lista dourada com mais de uma palavra gráfica: alguns fazendo sentido, outros não. O algoritmo utlizado foi o seguinte: primeiro, obtivemos todos os digramas presentes no corpus (uts), depois seleccionámos manualmente uma série de casos com alguma fixidez, e escolhemos aleatoriamente mais dez. Repetimos o mesmo processo para os trigramas. Ordenámos, finalmente, por ordem alfabética, juntando as "palavras com espaços no meio" da lista dourada. O resultado é a lista mweuts.txt.
Distribuição dos textos em termos de origem
Preliminarmente, temos a seguinte distribuição (de notar que será refeita muito em breve).
A lista dourada é a destilação do resultado das várias listas enviadas pelos participantes, nos seus formatos privados, após consulta, discussão, esclarecimento de algumas opções com a organização. É para ser usada, num procedimento automático, para comparar com as soluções produzidas pelos participantes.
Recebemos 6 «listinhas», e juntámos a da organização, que foi compilada independentemente e não foi, portanto, pensada para colmatar ou balançar as listas individuais. (Não é possível, contudo, garantir que não tenha havido inspiração ou reacção em casos isolados. É interessante, aliás, indicar que um dos participantes afirmou ter-se inspirado numa lista enviada por outro participante, tornada pública por lapso.)
Foi preciso fazer um enorme conjunto de decisões -- apenas em relação àquelas formas. De qualquer maneira, decidimos não fazer alterações sem a aceitação expressa dos participantes (exceptuando as que se seguem e se referem, não a formas individuais, mas a pormenores de codificação ou de uniformização).
Decisões de codificação
- Quando tivermos duas entradas na lista dourada, referentes à mesma forma, enviadas por participantes diferentes, uma delas com mais informação que a outra, usamos a de maior informação.
- Tentámos inventar termos neutros/uma amálgama da terminologia dos vários participantes
- Juntámos uma etiqueta de "desvio" quando se sabia que a forma não era preferida
- Retirámos todas as classificações sublexicais, ou seja, partes de verbos com clíticos que não podem ocorreer isoladamente, partes de termos com mais de uma palavra, prefixos, etc.
- Juntámos a informação de derivação à última coluna
- Juntámos os clíticos ao verbo
- No caso de lemas com mais de uma palavra, juntámo-los e passámos a informação de mais do que uma cabeça para a última coluna
Questões de redundância
Nos casos em que existe uma sobreposição completa (sem excepções) entre dois conjuntos de formas, usámos apenas um:
- presente do conjuntivo em vez de (também) imperativo (negado);
- infinitivo pessoal terceira pessoa do singular em vez de (também) infinitivo impessoal
- terceira pessoa do plural do pretérito perfeito simples em vez de (também) do mais-que-perfeito simples
- terceira pessoa do presente do conjuntivo em vez de (também) quarta pessoa do imperativo (ex. compre do verbo comprar)
Nota: Não fizemos isto para os casos da primeira e terceira pessoas do imperfeito do indicativo e do conjuntivo/subjuntivo e do presente do conjuntivo/subjuntivo por admitir a possibilidade de alguns sistemas considerarem verbos defectivos.
Decisões completamente arbitrárias
Efectuámos além disso várias decisões necessárias para efeitos de homogeneização, tentando reduzir os formatos enviados pelos participantes a um formato interno, comum. Todos os campos ou tipo de informação que eram apanágio de apenas um participante foram retirados ou passados para um campo final "outros".
- Tirámos as formas que são únicas (tais como "que"), para as as quais sabemos que a priori não há consenso
- Retirámos a análise como substantivo das vogais (que ignorámos, também, no resultado dos sistemas)
- Adicionámos informação de derivação (quando as formas eram analisadas como derivadas)
- Aumentámos a informação de acordo com o máximo possível
- Pusemos análise de particípios passados e adjectivos
- Pusemos superlativo e diminutivo em advérbios
- No caso de formas com algumas análises consideravelmente mais raros do que outras, juntámos o marcador "raro"
- No caso de formas desviantes para as quais se conhecia a forma "certa", juntámo-la tb
Descrição detalhada da lista
Uma distinção que se mostrou extremamente pertinente, e que usaremos extensivamente no que se segue, foi a entre
- forma
- entrada distinta para o analisador, que lhe pode atribuir várias análises, informar que lhe é desconhecida, ou pura e simplesmente nem sequer identificar como forma
- análise
- uma classificação produzida pelo analisador. Considerámos como análise tb os casos "desconhecida"
No seguinte exemplo (fictício), a forma cara tem três análises:
cara
cara cara SUB F S
cara cara SUB M S
cara caro ADJ F S
A lista final contém 200 formas, correspondentes a 345 análises. Note-se que apenas houve seis casos de repetição, em que dois ou três participantes enviaram a mesma forma - quase sempre (uma excepção), no caso de palavras gramaticais. Por lapso da organização, três formas não foram incluídas e outras tantas tiveram de ser modificadas em relação a maisúsculas ou pontos.
A descrição da lista dourada na sua forma final encontra-se em
descrição detalhada da lista dourada.
Desenvolvimento dos programas de medição
A arquitectura informática global encontra-se representada na figura seguinte:
O resultado de cada sistema foi primeiro analisado por um programa a que chamamos zebra, desenvolvido especificamente para cada sistema participante, de forma a obter os dados num formato comum, formato esse para o qual a lista dourada também foi convertida.
Para alguns casos foi preciso também desenvolver hienas (seguindo as zebras), para obter maior homogeneidade. Especificamente, no caso dos sistemas que os separavam, foi preciso juntar os clíticos, as contracções e os prefixos.
Para ter algumas medidas quantitativas do resultado dos sistemas, criou-se o programa contabilista para produzir uma contabilização do resultado dos sistemas.
Para a comparação com os elementos da lista dourada, criou-se o programa alquimista, que seleccionava apenas os elementos de saída pertencentes à lista dourada.
Foi criado um programa genérico, o falcão, que compara dois conjuntos de resultados, e que pode ser usado para comparar cada sistema com a lista dourada, ou dois sistemas entre si.
O resultado da aplicação do falcão é depois convertido em vários tipos de medidas:
Medidas baseadas na lista dourada
Definimos as seguintes medidas
- Medida Z
- Percentagem de formas reconhecidas
- Medida Y
- Percentagem de formas com análise exactamente igual
- Medida X
- Percentagem de análises da lista dourada exactamente iguais
- Medida W
- Percentagem de análises do sistema exactamente iguais à lista dourada
- Medida V
- Percentagem de análises ponderada por forma (uma análise vale em razão invera do número de análises da forma a que se refere)
E os seguintes resultados parciais das várias medidas para
- nomes
- adjectivos
- advérbios, etc.
Medidas baseadas na saída final
- Medida U
- Percentagem de formas comuns
- Medida T
- Percentagem de formas comuns com pelo menos mais dois sistemas
- Medida S
- Percentagem de análises comuns
- Medida R
- Percentagem de análises comuns com pelo menos mais dois sistemas
Finalmente, o programa leoa separa os textos por característica, para ser possível avaliar a dependência dos sistemas em relação a vários factores.
Para o ensaio, as características sobre as quais tínhamos informação eram:
- variante (Portugal, Brasil, África, desconhecido)
- género textual (jornalístico -- regional, nacional, específico--, literário, comunicativo -- informação e discussão em listas electrónicas, conversa)
- meio de "publicação" (livro, jornal, correio electrónico, rede, panfleto, transcrição)
- original/traduzido
- assunto ou tema (apenas para alguns casos)
Primeiros resultados
Os resultados do contabilista encontram-se nas tabelas seguintes, para, respectivamente: 1) todos os casos, 2) tirando a pontuação, 3) contando como uma as várias classificações gramaticais, e 4) tirando as classificações gramaticais.
Apresentamos os resultados para os três formatos.
- Contas sobre os resultados crus
- Contas sem incluir a pontuação
- Contas incluindo uma análise por palavra gramatical (a pontuação reconhecida como pontuação é considerada gramatical)
- Contas sem incluir análises gramaticais nem pontuação
Fizemos também uma comparação mais fina em relação às diferenças de atomização simplesmente.
Inicialmente contámos as formas distintas que foram igualmente identificadas por todos os (cinco) sistemas; depois, para cada sistema, contámos quantas formas eram reconhecidas, quantas dessas formas fazem parte das formas comuns (reconhecidas por todos), e qual a percentagem das formas comuns nas formas reconhecidas por cada sistema.
Se considerarmos cada sistema por si como definindo a lista dourada, este é o mapa de cruzamento obtido (quantas análises iguais):
Em primeiro lugar, note-se que nem todos os sistemas reconheceram todas as formas da lista dourada como formas. Isso é indicado na coluna "formas" da tabela comparação por formas (de notar que estas tabelas se referem exclusivamente a unidades só com uma palavra).
Dividimos a comparação por análises e por formas
Com base nestes valores foi possível calcular algumas medidas.
Segundos resultados, depois da homogeneização
Depois de tratar dos clíticos, das contracções (e parcialmente dos prefixos), obtivemos os seguintes resultados:
Dividimos mais uma vez a comparação por análises e por formas
Terceiros resultados, depois da definição de maxif e minif
Como detectado e discutido durante o encontro presencial, havia diferenças que tinham a ver com opções (linguísticas) diferentes.
Fizemos então um conjunto de programas a que chamámos domadores e que tinha como objectivo tomar em conta essas diferenças.
O processo de compilação da lista dourada foi extremamente moroso, por isso pensámos suplementá-lo com uma versão semi-automática. Criámos assim um programa usurário que obtém várias listas prateadas segundo o seguinte algoritmo: Escolhe aleatoriamente palavras para as quais há discordância entre dois sistemas, cria a lista prateada como a soma de todas as análises (verificando depois), e aplicando todo o processo de comparação para ver se há concordância com os resultados obtidos com a lista dourada.
Tentámos contrabalançar o perigo de estarmos a classificar os sistemas com base em valores raros ou pouco relevantes através da comparação com a interpretação correcta no contexto. Para isso tínhamos um subconjunto anotado manualmente, e tínhamos todo o conteúdo analisado automaticamente por dois analisadores.
Usámos onze extractos do Diário Económico, analisados morfossintacticamente pelo projecto PAROLE (PAROLE Portuguese Sub-Corpus Version 1.0) de forma a executar essa comparação. Os resultados encontram-se aqui.
Resultados organizacionais
As perguntas a que queríamos responder com o ensaio eram as seguintes:
- É realizável? E que esforço requer?
- O formato dos textos é aceitável? A sua distribuição é apropriada?
- O processo de construção da lista dourada e o seu uso são defensáveis?
- É possível obter uma lista prateada semi-automaticamente?
Redacção: Diana Santos.
Última alteração: 12 de Março de 2009.
Perguntas, comentários e sugestões