PARSER: UM ANALISADOR SINTATICO E SEMANTICO PARA SENTEN«;AS DO PORTUGlltS Joao Luis Garcia ROSA (PUCCAMP) ABSTRACT: This work aims at the analysis and implementation 0/ a semantic parser for oral portuguese sentences. Its approach is based on word thematic role networks. A subset 0/ Portuguese grammar is implemented in Prolog, a programming language based on predicate logic. The system includes morphological analysis, syntactic analysis, and semantic analysis that generates a logical/orm o/the input sentence. KEY WORDS: parser, semantic analysis, logical fonn, natural language processing. o objetivo deste projeto 6 propor a analise e implementacao de urn "parser semantic 0" para sentencas da lfngua portuguesa oral, utilizando uma abordagem baseada nas redes de pap6is tematicos das palavras. Esta em desenvolvimento no Instituto de Estudos da Linguagem da UNICAMP, urn projeto de urn sintetizador de /ala em conjunto com a Faculdade de Engenharia El6trica da UNICAMP. A id6ia deste projeto 6 gerar a linguagem oral, a partir de urn texto escrito. E necessario urn parser que transformara 0 texto escrito, num determinado padrao, com marcas hierarquicas, que alimentara urn outro m6dulo, que se encarregara do restante da analise (analise fonol6gica, etc.). Como parte do meu projeto de tese de Doutorado, devo participar deste parser, que devera estabelecer fronteiras sintaticas (relacoes entre as palavras) e informacoes relativas as relevancias das palavras, etc. 0 parser pode ser assim descrito: o lexico deve conter 0 vocabulario usado pelo parser. Deve conter elementos de analise lingiiistica, estrutura e inter-relacionamento das palavras. A semiintica deve incluir a
forma 16gica, etc., mecanismos para pennitir a inferetlcia logica. Em rela~jio ao parser propriamente dito, vmas abordagens podem ser consideradas. A implementa~lio computacional de um fragmento de gramatica foi feita atraves da linguagem de programa~lio 16gica Prolog (do frances, Programmation en Logique), onde os comandos da linguagem SaG transposi~oes de formulas da 16gica de predicados de primeira ordem. lustamente por este fato preferiu-se implementar uma gramatica livre de contexto, baseada em eventos e papeis tematicos. Este analisador semantico fornece vanas formas logicas possiveis de senten~as declarativas da l{ngua portuguesa, analisando 0 determinante usado e fornecendo 0 q,antificador para 0 mesmo. A gramatica inclui a conjun~ao de senten~as, possibilitando a utiliza~ao de anaforas (pronomes pessoais) na segunda senten~a da conjunylio. Inclui tambem sintagmas preposicionais, atraves das chamadas com-sn, isto e, urn sintagma nominal iniciando com a palavra com. Isto permite com que 0 analisador forneya duas leituras para senten~as como obtendo-se uma forma 16gica onde maleta e 0 instrumento de abateu e tambem a forma onde maleta e objeto de posse de menino. o programa inclui tambem, uma analise morfol6gica, que classifica cada verba regular, em todos os tempos verbais e cada substantivo, adjetivo, etc. em genero e mlmero. Alguns verbos irregulares foram incluldos, como ser, estar, etc. Deve-se considerar, entretanto, que se trata apenas de uma primeira verslio de urn parser, que certamente servira de base para 0 projeto maior. Vcirias considera~oes lingillsticas terao de ser revistas. o sistema inclui divers os adverbios, segundo a classifica~ao de l1ari et alii (1990), entre os quais os predicativos qualitativos e intensificadores, os sentenciais (modalizadores e aspectualizadores) e os nao-predicativos (neg~ao). Como a analise fornece a forma 16gica baseada em eventos, optou-se por declarar como adjunto 0 adverbio que acompanha 0 verbo, 0 nome ou 0 adjetivo. Na linguagem Prolog. nao e trivial, talvez nem mesmo possivel, a implement~ao de predicaylio de segunda ordem. Optou-se por usar a nota~lio baseada em eventos, onde 0 verba e 0 elemento principal da sentenya que atribui papeis tematicos aos outros elementos que 0 acompanham. A implementaylio consiste de urn lexico pequeno, onde se define apenas as formas singulares das palavras (a analise morfol6gica se encarregara de descobrir 0 numero). Consiste tambem das terminayoes dos verbos regulares, para todos os tempos do modo indicativo. Foram incluidos tambem alguns verb os irregulares. 0 programa dispoe de uma tela de informaylio sobre 0 lexico armazenado. A analise se baseia numa gramatica
sintagmatica. a Gramatica de Clausulas Definidas, de Pereira e Wmen (1980). Caso a senten~a seja agramatical, ou caso 0 sistema nao possua previsao de analise, 0 parser rejeita a senten~a. RESUMO: Este trabalho propoe a analise e implementa~iio de um parser semfintico para senten~as da lingua portuguesa oral, utilizando uma abordagem baseada nas redes de papeis tematicos das palavras. Foi implementado umfragmento de gramatica em Prolog, uma linguagem de programa~jjo baseada em logica. 0 sistema inclui uma analise moifol6gica. uma analise sintdtica e uma analise semantica que gera uma forma 16gicapara a sente~a de entrada. PALAVRAS-CHAVB: parser, analise semantica. forma 16gica. processamento de linguagem natural Analise Morfo16gica Analise Sintlitica Gera~lio de Forma L6gica * Jolio Luis Garcia Rosa * *********************
Determinantes: um,uma,algum,alguma,o,a,todo,toda. Substantivos: homem,menino,menina,mulher,bola,maleta,faca,gente. Nomes Pr6prios:. joao,maria. Adjetivos: bonito,bonita,posta., Adverbios: bem,muito,mais,demais,meio,nao,felizmente, normalmente,realmente,humanamente. Verbos Transitivos: abater,matar. Verbos Intransitivos: viver, partir. Verbos de C6prila: ser, estar. Pronomes Pessoais. Outras: que, e, com. Se 0 usucirio digitar "n", 0 sistema volta a pedir a entrada de uma frase ("f'). As entradas do usucirioestao em italico, para diferenciar das safdas do sistema. Digite a frase para a geracao da(s) forma(s) 16gica(s)(entre "aspas"): "0 menino bonito matou as mulheres". existe(x) : (menino(x) & bonito(x» & qualquer(y) : mulher(y) -> existe(e,pret-p erf) : matar(e) & agente(e,x) & tema(e,y)
Caso se digite wna senten~a ambigua, 0 sistema da as leituras possfveis (uma de cada vez). Suponha a entrada de wna senten~a, na qual maleta pode ser instrwnento da a~ao de abater ou posse de menina: Digite a frase para a gera~ao da(s) forma(s) 16gica(s) (entre "aspas"): "0 menino abateu a menina com a maleta ". existe(x) : menino(x) & existe(z) : maleta(z) & existe(y) : menina(y) & existe(e,precperf) : abater(e) & agente(e,x) & tema(e,y) & instr(e,z) existe(x): menino(x) & existe(z) : maleta(z) & existe(y) : menina(y) & existe(e,precperf) : abater(e) & agente(e,x) & tema(e,y) & possui(y,z)
Uma outra sentenr;a ambfgua, na qual a palavra /aca tambem pode ser 'interpretada como instrumento ou posse: Digite a frase para a gerar;ao da(s) forma(s) 16gica(s) (entre "aspas"): "10110 matou a mulher bonita com a/aca". existe(x) : joao(x) & existe(z) : faca(z) & existe(y) : (mulher(y) & bonita(y» & existe(e,precperf) : matar(e) & agente(e,x) & tema(e,y) & instr(e,z) existe(x) : joao(x) & existe(z) : faca(z) & existe(y) : (mulher(y) & bonita(y» & existe(e,precperf): matar(e) & agente(e,x) & tema(e,y) & possui(y,z) ILARI, R. et alii (1990). Coosidera es sobre a Posi~ dos Adv&bios. In Gramdlica do Portugues Falado - Volume I: A Ordem. Editora da UnicamplFapesp. PEREIRA, F. C. N. & WARREN, D. H. D. (1980). Definite Clause Grammars for Language Analysis - A Survey of the Formalism and a Comparison with Augmented Transition Networks. Artificial Intelligence 13, 231-278.