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