Modelo de projeto de qualificação de mestrado. - IC

Propaganda
Proposta de tese
Um Analisador Sint0atico para o Portugu^es
Instituto de Computa7ca~o 9 UNICAMP
Lucien Ismael Fantin
24 de Janeiro de 2003
1
Introdu(
c~
ao
Esse projeto tem por objetivo a constru0ca~o de um analisador sint4atico 5ou parser6 robusto
para o portugu^es que possa servir de base para pesquisas subseq:uentes em processamento de
l4;ngua natural, como tradu0c~ao autom4atica, interfaces com usu4arios, resolu0c~ao de an4aforas e
elipses etc. Para atingir esses objetivos o parser deve ser robusto o su@ciente para processar
textos t4;picos em dom4;nios arbitr4arios, e como resultado da an4alise deve produzir uma ou
mais a4rvores de deriva0c~ao plaus4;veis.
A principal di@culdade no desenvolvimento de analisadores autom4aticos est4a no fato
de que existe uma enorme variedade de constru0c~oes lingu4;sticas, assim como uma enorme
quantidade de conhecimento l4exico, sint4atico, sem^antico e pragm4atico a ser incorporado no
sistema. Quando se fala de analisadores robustos, capazes de lidar com qualquer tipo de
texto, sem se restringirem a determinados dom4;nios, contextos ou di4alogos, a tarefa se torna
extremamente dif4;cil. Constru0c~oes lingu4;sticas complexas, como por exemplo elipse e an4afora,
di@cultam ainda mais essa tarefa.
2
An.
alise Sint.
atica
A an4alise sint4atica consiste em determinar a estrutura lingu4;stica de uma senten0ca, identi@candose as fun0c~oes gramaticais das palavras e frases, e suas rela0c~oes gramaticais. As fun0c~oes e
rela0c~oes sint4aticas s~ao as que restringem e controlam as seq:u^encias de palavras permitidas. Elas se manifestam em fen^omenos lingu4;sticos bem de@nidos, como ordem dos termos,
concord^ancia de g^enero e n4umero, tempo, pessoa etc.
Por exemplo, a seguinte ora0c~ao
5a6 Meus vizinhos arranjaram um cachorro horrivelmente barulhento.
1
e constituda de sete palavras, arranjadas em uma determinada ordem, o que e chamado
de estrutura linear 4LYON 1970=. Estes s~
ao os constituintes imediatos da oraA
c~
ao. Podemos
fazer um primeiro corte, deEnindo os grandes constituintes Gou sintagmasH da oraA
c~
ao, da
seguinte forma:
4Meus vizinhos= 4arranjaram= 4um cachorro horrivelmente barulhento=
Cada um deles tera uma funAc~
ao: sujeito, predicado e objeto direto, respectivamente. O fato
que a sentenA
ca possui um outro tipo de estrutura sintaticamente caracterizavel, alem de sua
ordem linear, e bastante intuitivo. Assim, Nmeus vizinhos" se divide em Nmeus" e Nvizinhos",
e cada uma dessas palavras tem a sua funAc~
ao dentro do sintagma Gpossessivo e nucleo do sintagma nominalH. O constituinte Narranjaram" e sintaticamente simples, por ser formado por
uma unica palavra Gum verboH e, portanto, n~
ao pode mais ser decomposto em outros termos
sintaticos. O constituinte Num cachorro horrivelmente barulhento" e complexo e precisa ser
analisado. Ele se constitui em um determinante GNum"H, um nucleo do sintagma nominal
GNcachorro"H e um modiEcador desse sintagma GNhorrivelmente barulhento"H. Finalmente o
modiEcador, ou sintagma adjetivo, pode ser sintaticamente decomposto em um intensiEcador
GNhorrivelmente"H e um nucleo do sintagma adjetivo GNbarulhento"H.
Podemos agora observar a estruturaA
c~
ao da oraAc~
ao: o termo Nmeus vizinhos" e o sujeito
da oraAc~
ao, mas o termo Nmeus" n~
ao e o possessivo da oraAc~
ao; ele e o possessivo do sintagma
nominal Nmeus vizinhos". NMeus" so e parte da oraAc~
ao indiretamente, porque faz parte de
um sintagma nominal que, por sua vez, faz parte da oraAc~
ao. Da mesma forma, Nhorrivelmente" n~
ao e um intensiEcador da oraA
c~
ao, nem do sintagma nominal Num cachorro horrivelmente
barulhento"; e o intensiEcador do sintagma adjetivo Nhorrivelmente barulhento". Este sintagma adjetivo faz parte do sintagma nominal Num cachorro horrivelmente barulhento", que
por sua vez faz parte da oraAc~
ao. Essa estruturaA
c~
ao hierarquica e muitas vezes apresentada
em forma de arvore, conforme mostrado na Figura1.
Cada constituinte tem uma funAc~
ao de acordo com seu comportamento gramatical, isto
e, sua posiAc~
ao na sequ^
encia de constituintes, suas relaAc~
oes de reg^
encia ou concord^
ancia com
outros elementos etc. Assim, temos que atribuir funA
c~
oes diferentes a Nmeus vizinhos" e
Num cachorro horrivelmente barulhento" pois somente Nmeus vizinhos" esta em relaAc~
ao de
concord^
ancia com o verbo. Adicionalmente, Narranjaram" esta em uma forma especial para
se harmonizar com os traAcos de numero e pessoa de Nmeus vizinhos". Se Nmeus vizinhos"
fosse substituWdo por Nmeu vizinho" o verbo teria que assumir a forma Narranjou". Todavia, nenhuma modiEcaAc~
ao de numero ou pessoa no sintagma Num cachorro horrivelmente
barulhento" acarretaria a necessidade de mudanA
cas na forma do verbo. Portanto, o comportamento gramatical do sintagma Nmeus vizinhos" na frase e diferente do comportamento
gramatical de Num cachorro horrivelmente barulhento". Por isso, atribuWmos a cada um deles
uma funAc~
ao diferente: sujeito e objeto direto, respectivamente.
Resumindo, uma oraAc~
ao se estrutura em constituintes hierarquicamente organizados e
cada um desses constituintes possui um comportamento gramatical proprio, ou seja, uma
funAc~
ao propria.
Ha que se disting[
uir tr^
es tipos de analise liguWstica:
2
Oração
SN
possessivo
SN
verbo
N
determinante
N
SAdj
intensificador
meus
vizinhos
arranjaram um
cachorro horrivemente
adjetivo
barulhento
Figura 1: A( rvore de deriva.ca~o para 2Meus vizinhos arranjaram um cachorro horrivelmente
barulhento".
1. [email protected]~ao das palavras e frases em categorias sint(aticas como
sintagma verbal, determinante, adjetivo, verbo, etc.
sintagma nominal,
2. [email protected]~ao da fun.c~ao sint(atica de cada palavra ou frase, como por exemplo sujeito,
predicado, etc. Note-se que uma categoria sint(
atica, como sintagma nominal pode
representar v(arias fun.c~oes distintas, como sujeito, objeto direto etc.
3. An(alise sem^antica, que procura identi@car as a.c~oes e rela.c~oes descritas pelas palavras,
por exemplo o elemento que pratica a a4ca~o, ou o elemento sobre o qual se faz uma
declara4
ca
~o, ou qualquer outra no.
c~ao sem^antica.
3 Metodologia
Para realizar o trabalho aqui proposto ser~ao necess(arios:
Uma gram(atica detalhada da l(Mngua portuguesa;
Um dicion(ario, que reconhe.ca e categorize as palavras existentes na l(Mngua;
Um analisador sint(atico que, dada a gram(atica e o dicion(ario, produza a (arvore de
deriva.c~ao correspondente aO an(alise da senten.ca.
Na pr(oximas se.c~oes esses compoentes ser~ao descritos em detalhes.
3
3.1 A Gram(atica
A constru(ca~o da gram.atica provavelmenteser.a baseada no modelo de M.ario Perini 7PERI 1996>,
que prop~oe que se considere as fun(c~oes dos termos dentro da estrutura da frase e a regra que
deBne as posi(c~oes desses termos na estrutura para obtermos a sintaxe completa da l.Dngua.
Por outro lado, ele evita entrar em quest~oes sem^anticas Gou seja, trata-se de uma gram.atica
de n.Dvel 2 na nossa classiBca(c~aoK.
Por exemplo, se considerarmos apenas tr^es fun(c~oes - sujeito GSujK, predicado GPredK e
objeto direto GODK, e a regra abaixo que deBne as posi(c~oes desses termos dentro da frase
REG: O ! GSujK + Pred + GODK
podemos deBnir um n.umero consider.avel de estruturas bem formadas e outras tantas mal formadas. As diferentes formas de aplicar REG nos fornecem quatro alternativas de estruturas
aceit.aveis, a saber:
GaK
GbK
GcK
GdK
Suj + Pred + OD
Suj + Pred
Pred + OD
Pred
Essas quatro estruturas s~ao exempliBcadas, respectivamente, pelas ora(c~oes:
G1K
G2K
G3K
G4K
O gato mordeu Aninha.
O gato fugiu.
Mordi Aninha.
Cheguei.
Como pode ser visto, a partir de um u.nica regra REG podemos especiBcar uma boa fatia
da sintaxe do Portugu^es. Entretanto, esta regra n~ao cobre todas as estruturas sint.aticas de
ora(c~oes do Portugu^es. Se levarmos em conta as rela(c~oes de correspond^encia, que servem para
descrever certas rela(c~oes formais entre estruturas sint.aticas diferentes, podemos acrescentar
ainda as seguintes estruturas, descritas pelas regras abaixo e exempliBcadas pelas ora(c~oes
correspondentes.
GeK OD, + Suj + Pred GTopicaliza(c~aoK
G5K Aninha, o gato mordeu.
GfK OD, + Pred GTopicaliza(c~aoK
4
6"
g"
7"
h"
8"
i"
9"
Aninha, mordi.
Pred + Suj Posposi%c~ao de sujeito"
Chegou um amigo meu.
ser Suj que Pred + OD Clivagem"
Foi o gato que mordeu Aninha.
ser OD que Suj + Pred Clivagem"
Foi Aninha que o gato mordeu.
Por outro lado, h?a uma s?erie de estruturas de oraAco~es sintaticamente mal formadas, justamente porque n~ao h?a meio de ger?a-las a partir das regras acima.
Por exemplo, a seguinte estrutura n~ao ?e aceit?avel
* Pred + Suj + OD
pois essa ordenaAc~ao n~ao ?e autorizada por REG e n~ao h?a nenhuma relaAc~ao de correspond^encia
que permita colocar o predicado antes do sujeito.
Portanto, a oraAc~ao
12" * Mordeu o gato Aninha.
?e considerada agramatical o asterisco *" ?e utilizado para representar agramaticalidade".
Da mesma forma, constata-se a inaceitabilidade das seguintes estruturas:
* Pred + OD + Suj
* OD + Pred + Suj
* OD + Suj + Pred
* Suj + OD
* Suj
* OD
* ser Pred + que Suj + OD
Alguns exemplos de oraAc~oes agramaticais que reTetem essas estruturas s~ao:
13" * O gato Aninha.
14" * O gato.
5
15# * Foi mordeu que o gato Aninha.
Dizemos ent~ao que esses mecanismos enumeram o conjunto de estruturas oracionais
poss<=veis na l<=ngua. Ampliando esta gram<atica com mais regras e@ou regras mais abrangentes, deveremos chegar a uma enumeraDc~ao suEcientemente completa das estruturas sint<aticas
da l<=ngua.
Munidos dessa descriDc~ao, estaremos aptos a implementar o analisador sint<atico para o
portugu^es, que <e o prop<osito desse trabalho.
3.2 O Dicion)ario
A funDc~ao do dicion<ario <e efetuar o mapeamento inicial de cada palavra para sua categoria
gramatical. Devido Ia exist^encia de hom^onimos, como Kcanto" verbo# e Kcanto" substantivo#, uma certa fraDc~ao das palavras ser<a rotulada com duas ou mais categorias. Algumas
destas alternativas mas nem todas# ser~ao geralmente eliminadas no decorrer da an<alise
sint<atica. Ser<a utilizado o dicion<ario desenvolvido no NILC R N<ucleo Interdepartamental
de Lingu<=stica Computacional da USP de S~ao Carlos UNUNE 1996Y, que cont<em mais de
um milh~ao de palavras e que d<a suporte a duas tarefas: revis~ao ortogr<aEca e gramatical
UMART 1998Y. O dicion<ario foi constru<=do a partir de v<arios dicion<arios da l<=ngua portuguesa UBIDE 1992Y; UFERR 1994Y; UKoogan and Bresman 1982Y#. Entretanto, dado que o
dicion<ario <e utilizado para duas tarefas distintas, ele <e extremamente abrangente, contendo
informaDc~oes desnecess<arias para os prop<ositos deste projeto. Portanto, a utilizaDc~ao do dicion<ario envolver<a duas tarefas: 1# uma Klimpeza", razoavelmente simples, visando descartar
informaDc~oes desnecess<arias; e 2# escrita de rotinas que possibilitem acesso eEciente ao dicion<ario. O desenvolvimento de um dicion<ario pr<oprio demandaria tempo e esforDco, n~ao sendo
o objetivo maior desse projeto.
3.3 O Analisador Sint)atico
Infelizmente, a an<alise completa nos n<=veis 1 e 2 pode exigir an<alise no n<=vel 3, que ainda
est<a fora do alcance do Kestado da arte". Felizmente parece poss<=vel resolver uma grande
fraDc~ao das ambigeuidades nos dois primeiros n<=veis, mesmo sem recorrer ao n<=vel 3. E< nesta
hip<otese que se fundamenta grande parte da pesquisa corrente em processamento de l<=ngua
natural. E <e neste n<=vel que, forDcosamente, teremos que nos limitar nesse projeto.
Devido Ia impossibilidade pr<atica de efetuarmos uma an<alise de n<=vel 3, o resultado do
analisador que pretendemos construir ser<a necessariamente incompleto. Esta incompletude
pode assumir duas formas:
1. O analisador poder<a devolver duas ou mais <arvore poss<=veis para a mesma sentenDca;
ou
2. O analisador poder<a deixar de identiEcar a funDc~ao gramatical de algumas palavras ou
frases.
6
Os analisadores sint+aticos podem ser classi/cados como descendentes 0top-down1 ou ascendentes 0bottom-up1 4GRIS 1986=. Um analisador descendente constr+oi a +arvore de derivaAca~o a partir do s+Cmbolo inicial da gram+atica, em direAc~ao Gas palavras da sentenAca. Um
analisador ascendente, por outro lado, constr+oi a +arvore a partir das palavras que formam
as folhas da +arvore de derivaAc~ao, em direAc~ao ao s+Cmbolo inicial da gram+atica.
Analisadores tamb+em podem ser classi/cados em algoritmos de retrocesso 0ou backtracking1, que tentam uma derivaA
c~ao e retrocedem para tentar uma nova alternativa quando a
alternativa atual falha, e algoritmos paralelos, que tentam todas as sequ^encias de derivaAc~oes
concorrentemente.
O analisador sint+atico mais comum +e o descendente, com retrocesso, que enumera as
derivaAc~oes at+e encontrar uma derivaAc~ao que gere a sentenAca de entrada. Pelo fato de ser o
mais conhecido e utilizado, ser+a este o analisador sint+atico a ser implementado neste trabalho.
4 Trabalhos relacionados
Existem na literatura v+arios projetos que envolvem an+alise sint+atica para a l+Cngua portuguesa.
Entretanto, muitos s~ao projetos comerciais e, portanto, indispon+Cveis para pesquisa, ou s~ao
para dom+Cnios muito restritos.
Descreveremos a seguir dois trabalhos que se relacionam mais diretamente ao nosso S
ReGra e VISL S e sobre os quais temos informaAc~oes su/cientes. Uma an+alise de outros
projetos possivelmente relevantes, como LEXIS 4LEXI=, ser+a parte do trabalho proposto.
4.1 ReGra
O ReGra +e um analisador sint+atico desenvolvido no NILC, especi/camente para subsidiar
uma ferramenta para revis~ao ortogr+a/ca 4MART 1998=. Por estar comprometido com a
tarefa de revis~ao ortogr+a/ca, ele parte do princ+Cpio de que a sentenAca est+a incorreta, o que
de imediato limita bastante seus objetivos.
O analisador sint+atico do ReGra particiona as sentenAcas compostas de maneira [quase
arbitr+aria" pois, como n~ao tem o objetivo de gerar uma +arvore sint+atica, ele analisa as
sentenAcas subordinadas como [trechos de an+alise" independentes, sem procurar junt+a-las
numa u+nica +arvore. Quem comanda esses [corte" +e a ferramenta de revis~ao. Portanto, seria
dif+Ccil isolar o analisador sint+atico do revisor; provavelmente o analisador resultante n~ao seria
capaz de analisar construAc~oes complexas.
Adicionalmente, o analisador do ReGra gera somente uma an+alise sint+atica 0supostamente
a mais prov+avel1 o que, para os prop+ositos deste projeto, +e insu/ciente.
Um outro problema na utilizaAc~ao do analisador sint+atico do ReGra +e o fato de que seu
projeto foi dominado por quest~oes de e/ci^encia, o que levou ao uso de heur+Csticas cuja funAc~ao
+e otimizar o mecanismo de recurs~ao. Assim, o analisador n~ao utiliza o mecanismo de recurs~ao
0ou backtracking1, fundamental para a tarefa de parsing robusto.
Portanto, embora a professora Maria das GraAcas Volpe Nunes, coordenadora deste projeto, tenha se mostrado bastante receptiva quanto a possibilidade de utilizaAc~ao do analisador
7
sint$
atico no nosso projeto, podemos a/rmar com certa convic1
c~
ao que n~
ao ser$
a poss$
5vel adaptar o analisador aos nossos prop$
ositos.
4.2 Visual Interactive Syntax Learning 5 VISL
Este trabalho est$
a sendo desenvolvido no Departamento de L$
5ngua e Comunica1
c~
ao da University of Southern Denmark, em Odense, por Eckhard Bick, e consta de um analisador
sint$
atico autom$
atico para o portugu^
es.
O analisador aparentemente n~
ao est$
a dispon$
5vel para /ns de pesquisa Hque exigiria necessariamente acesso ao c$
odigo fonteJ. Entretanto o analisador pode ser utilizado para demonstra1
c~
oes via Internet MVISLO. A interface impressiona pela parte visual e pela variedade
de formas em que o resultado da an$
alise pode ser apresentado. Existe a possibilidade de
usar textos dispon$
5veis, ou de fornecermos o nosso pr$
oprio texto.
Entretanto, embora o analisador VISL seja capaz de fornecer $
arvores de deriva1
c~
ao para
textos complexos, o sistema n~
ao $
e capaz de detectar que senten1
cas simples, como por exemplo
H16J abaixo, s~
ao agramaticais.
H16J Foi mordeu que o gato Aninha.
Al$
em disso, o analisador est$
a sendo desenvolvido para posterior utiliza1
c~
ao como parte de
um tradutor autom$
atico comercial, o que inviabiliza a sua utiliza1
c~
ao total ou parcial neste
projeto.
5 Plano de Trabalho
O roteiro de trabalho proposto envolve as seguintes atividades:
1. Cumprimento dos cr$
editos obrigat$
orios para o mestrado no Instituto de Computa1
c~
ao.
2. Levantamento da bibliogra/a b$
asica relacionada com analisadores sint$
aticos e sistemas
de processamento de l$5ngua natural.
3. De/ni1
c~
ao do tipo e da gram$
atica, e da forma de represent$
a-la.
4. Especi/ca1
c~
ao das regras da gram$
atica, a serem utilizadas no processamento das senten1
cas.
5. Adapta1
c~
ao do dicion$
ario desenvolvido no NILC para que a informa1
c~
ao fornecida por
ele esteja compat$5vel com a informa1
c~
ao necessitada pelo analisador.
6. Implementa1
c~
ao do analisador sint$
atico descendente e com mecanismo de retrocesso,
que gere como resultado da an$
alise a $
arvore de deriva1
c~
ao da senten1
ca.
7. Teste e avalia1
c~
ao da e/ci^
encia do analisador atrav$
es de textos reais e da compara1
c~
ao
com outros analisadores, como o ReGra e o VISL, e an$
alise manual.
8
8. Identi(ca+
ca
~o de problemas e car^
encias no analisador.
Sempre que poss8
9vel propor
alternativas para sua resolu+
c~
ao ou salientar as decis~
oes que tenham levado a
< de(ci^
encia
identi(cada. Explicitar as possibilidades de expans~
ao para o sistema.
9. Escrita da tese, que deve ser feita em paralelo a
< investiga+
c~
ao, sendo esta etapa reservada
para revis~
ao gramatical e de estilo do texto, corrigindo poss8
9veis inconsist^
encias.
5.1 Cronograma
Esta proposta deve ser cumprida dentro de um prazo de um ano e seis meses, incluindo os
cr8
editos obrigat8
orios do mestrado restantes, seguindo a distribui+
c~
ao a seguir:
Set-Fev
S O N DJ
Mar-Ago
F M A M J J
Set-Fev
A S O N D J
F
1 Créditos
2 Bibliografia
3 Definição
4 Gramática
5 Dicionário
6 Analisador
7 Testes *
8 Problemas *
9 Tese
* Provavelmente auxiliado por alunos de iniciação científica
Refer^encias
EBIDE 1992J Biderman, M. T.
1992.
Dicion%ario Contempor^aneo de Portugu^es. Petr8opolis: Vozes,
EFERR 1994J Ferrreira, A. B. H.
Novo dicion%ario da l%6ngua portuguesa. Nova Fronteira, 1994.
9
GRIS 1986) Grishman, R. Computational Linguistics: An Introduction. Cambridge University Press, 1986.
Koogan and Bresman 1982) Enciclop4edia e dicion4ario ilustrado. Delta, 1994.
LEXI) http:JJwww.inf.pucrs.brJgruposJlinaturalJlexisJindex.html
LYON 1970) Lyons, J. New Horizons in Linguistics Editado por John Lyons, 1970.
MART 1998) Martins, R.T.; Hasegawa, R.; Nunes, M.G.V.; Montilha, G.; Oliveira Jr.,
O.N.. Linguistic issues in the development of ReGra: a Grammar Checker for Brazilian Portuguese. Natural Language Engineering, Volume 4, Part, December 1998.
NUNE 1996) Nunes, M.G.V. et alii. The design of a Lexiconfor Brazilian Portuguese: Lessons learned and Perspectives. Proceedings of the II Workshop on Computational
Processing of Written and Speak Portuguese. CEFET-PR, Curitiba, pp. 61-70,
1996.
PERI 1996) Perini, A. M. Gram4atica Descritiva do Portugu^es. Editora A_ tica, 1996.
VISL) http:JJvisl.hum.ou.dkJLinguistics.html.
10
Download