Águia, uma ferramenta de procura em árvores

logo
temporário da FS
Diana Santos
Projecto Floresta sintá(c)tica

Última actualização: 12 de Setembro de 2006


Neste documento descrevem-se as especificações do sistema de procura das árvores da Floresta Sintá(c)tica, a que chamámos Águia.

O Águia pretende ser uma extensão à interface AC/DC de procura em corpora anotados, que é baseada na unidade fundamental token/palavra, com informação sintáctica produzida pelo PALAVRAS, o parser desenvolvido por Eckhard Bick e usado no projeto VISL.

Como descrito na página da Floresta Sintá(c)tica, as árvores sintácticas são obtidas a partir de um programa que transforma esse formato num formato de árvores deitadas (identificando constituintes e especificando a ligação (attachment), que não é necessariamente resolvida numa gramática dependencial), programa esse também desenvolvido no projecto VISL por Eckhard Bick, e são depois revistas pela equipa linguística da Floresta.

O Águia pretende satisfazer dois objectivos

  1. permitir uma visualização / interrogação do resultado da anotação e revisão da Floresta para todos os interessados
  2. ajudar a própria equipa da Floresta a determinar e identificar problemas na anotação automática que possam ser resolvidos sistematicamente (em futuras versões do parser) sem necessidade de revisão e modificação manual repetitiva
O nosso trabalho consiste em traduzir o formato texto da floresta sintáctica para uma forma que permita fácil manuseamento num sistema de codificação de corpora (o IMS-CWB), e estabelecer um conjunto de formas de interrogação satisfatórias para um utilizador que esteja interessado em informação sintá(c)tica e não nos pormenores internos da sua codificação.

Especificações abstractas da procura

O Águia, como sistema de procura em árvores, deve permitir interrogar a Floresta (isto é, um conjunto de árvores sintácticas) das seguintes formas:
  1. poder interrogar um corpus usando sintagmas como unidades, ou seja, procura por sintagmas, em vez de, ou além de, palavras. Exemplos:
  2. poder fazer procuras por propriedades de sintagmas
  3. poder procurar características de palavras restritas a contextos sintagmáticos
  4. poder procurar casos de anotação por tipo de comentário do anotador
  5. e combinação de todos estes casos.
Aquilo que já é possível fazer, e que corresponde, por enquanto, a um subconjunto dos casos referidos acima encontra-se documentado na própria página da interface.

Especificação técnica

Para criar este sistema podemos identificar várias fases distintas:
  1. A conversão para um formato abre e fecha constituintes
  2. A criação das assinaturas de cada nó
  3. A codificação no sistema IMS-CWB
  4. A definição dos tipos de procura e de macros para os efectuar

Transformação para um formato explícito em termos de constituintes

O primeiro passo é transformar um objecto da forma padrão da Floresta (árvores deitadas), exemplificado aqui para as duas primeiras árvores
<t>

SOURCE: CETEMPúblico n=1 sec=clt sem=92b
C1-1  Um revivalismo refrescante
A1
UTT:np
>N:art( M S)      Um
H:n(M S)        revivalismo
N<:adj(M S)     refrescante
</t>
<p>
<s>

SOURCE: CETEMPúblico n=1 sec=clt sem=92b
C1-2  O 7 e Meio é um ex-libris da noite algarvia.
A1
STA:fcl
SUBJ:np
=>N:art(M S)    O
=H:prop(M S)    7_e_Meio
P:v-fin(PR 3S IND)      é
SC:np
=>N:art( M S)     um
=H:n(M P)       ex-libris
=N<:pp
==H:prp() de
==P<:np
===>N:art(<-sam> F S)   a
===H:n(F S)     noite
===N<:adj(F S)  algarvia
.

para uma codificação explícita e não ambígua das fronteiras dos constituintes, incluindo a assinatura do constituinte e a sua função como etiquetas de cada constituinte, a que chamamos aqui o "formato Águia":
<ext n=1 sec=clt sem=92b>
<u C1-1>
<t>
<np0 ass='art n adj ' fun="UTT">
Um      >N:art  <arti>_M_S      1
revivalismo     H:n     M_S     1
refrescante     N<:adj  M_S     1
</np0>
</t>
</u>

<p>
<u C1-2>
<s>
<fcl0 ass='np1 v-fin np1 ' fun="STA">
<np1 ass='art prop ' fun="SUBJ">
O       >N:art  M_S     2
7_e_Meio        H:prop  M_S     2
</np1>
é       P:v-fin PR_3S_IND       1
<np1 ass='art n pp2 ' fun="SC">
um      >N:art  <arti>_M_S      2
ex-libris       H:n     M_P     2
<pp2 ass='prp np3 ' fun="N<">
de      H:prp   <sam->  3
<np3 ass='art n adj ' fun="P<">
a       >N:art  <-sam>_F_S      4
noite   H:n     F_S     4
algarvia        N<:adj  F_S     4
</np3>
</pp2>
</np1>
.       pont    0       1
</fcl0>
</s>
</u>
De notar que cada constituinte está identificado por tipo e profundidade, e o seu âmbito está identificado por um "abre-constituinte" e um "fecha-constituinte". Por exemplo: <np1> e </np1>.

Codificação dos corpora

Os corpora CQP que criamos a partir do formato Águia te^m as seguintes campos (atributos posicionais): palavra, (lema), classificação (no formato função:forma) atributos morfologicos e profundidade.

Alem disso, temos centenas de atributos estruturais (conjugação do tipo de sintagma e do nivel): np de 0 a

Formulação dos tipos de perguntas em CQP

Escolhemos então o seguinte conjunto de macros para interrogar o corpus. Assinatura de tipo de constituinte; função do tipo de constituinte...

Corpora subjacentes

Parece útil ter dois corpora:

[ Página da floresta | Acesso à Floresta através do sistema Águia ]


Comentários, sugestões e perguntas sobre a Floresta Sintá(c)tica