Trabalho de Formatura-MAC0499-2010
Corretor Gramatical Para o Emacs

Proposta

Aluno: Thiago Maciel Batista (5749922)
Supervisor: Marcelo Finger

Resumo da Monografia

PLN

As linguagens normalmente compreendidas e manipuladas por computadores são formais e precisas, diferentemente de linguagens humanas, que possuem características que dificultam ao computador compreendê-las, como por exemplo presença de ambiguidade, dependência do contexto, características culturais etc. Processamento de linguagem natural (PLN) é uma área da computação que pesquisa e desenvolve algoritmos para processar uma linguagem natural, de modo a torná-la compreenssível para um computador. Dessa forma, um computador será capaz de interpretar e gerar textos em linguagens naturais, tornando a comunicação homem-máquina o mais natural possível.

PLN é uma área em plena evolução e que ainda tem muito a evoluir, mas já existem muitas aplicações que utilizam os conceitos de PLN. Alguns exemplos da utilidade de PLN são, extração de informação, recuperação de informação, tradução automática, geração e interpretação de linguagem natural, resumos de textos e correção de textos.

CoGrOO

Um exemplo de um programa que utiliza PLN é o CoGrOO. Um corretor gramatical para a língua portuguesa do Brasil totalmente acoplável ao OpenOffice.org desenvolvido por alunos da Universidade de São Paulo. O CoGrOO utiliza análise sintática, morfológica e regras gramaticas para detectar erros em textos. O processo feito pelo CoGrOO para a análise gramatical de um texto é dividido em fases, que são executadas uma após a outra. Atualmente, o CoGrOO é composto por módulos, sendo que, cada módulo realiza uma fase do processo. Abaixo temos os módulos do CoGrOO.

O CoGrOO está em evolução e atualmente está sendo desenvolvido o CoGrOO UIMA, uma nova versão do corretor que utiliza a arquitetura padronizada do Apache UIMA, um aplicativo para manipulação de dados não estruturados.

Emacs usando o CoGrOO

Apesar de ser feito, a princípio, para o OpenOffice o CoGrOO pode ser acoplado a outros aplicativos. Aproveitando essa mobilidade do CoGrOO, vamos acoplá-lo ao editor de texto Emacs que, apesar de ser um editor de texto popular, ainda não possui um corretor para a língua portuguesa acoplado a ele.

Objetivos do Trabalho

Este trabalho tem como objetivo estudar formas de acoplar o corretor gramatical CoGrOO ao editor de textos Emacs. Usaremos duas versões do CoGrOO , a última versão sem utilizar o UIMA e o CoGrOO UIMA, com a finalidade de testar qual versão se adapta melhor ao projeto. Ao final do acoplamento, teremos o Emacs usando o CoGrOO para analisar e encontrar erros em textos digitados pelos usuários.

O CoGrOO processará um trecho de um texto enviado pelo Emacs a procura de erros e devolverá ao Emacs os erros encontrados e sugestões para correção. O emacs poderá usar os erros apontados pelo CoGrOO para mostrar ao usuário onde ocorreram erros no texto, de forma que o usuário possa identificá-los e arrumá-los. Para isso, o Emacs destacará trechos do texto onde foram detectados erros.

Após finalizarmos a parte de acoplar o CoGrOO ao Emacs, temos a intenção de disponibilizar o aplicativo para os usuários. Além disso, pretendemos usar opiniões e sugestões, em relação a erros encontrados no aplicativo e possíveis melhorias, para proporcionar uma evolução no projeto de acordo com as necessidades dos usuários.

Atividades já Realizdas

Cronograma de atividades

Estrutura Esperada da Monogafia

Parte Objetiva
Parte Subjetiva

Referências

[1] Robert J. Chassell. An introduction to programming in emacs lisp. Disponível em: http://www.gnu.org/software/emacs/emacs-lisp-intro/html_node/index.html., Acesso em: 2010.

[2] William Colen. Cogroo corretor gramatical para openoffice.org-guia do desenvolvedor. Disponível em: http://ccsl.ime.usp.br/cogroo/en/node/5., Acesso em: 2010.

[3] Apache UIMA Development Community. Apache uima documentation. Disponível em: http://uima.apache.org/documentation.html., Acesso em: 2010.

[4] Robert Krawitz, Bil Lewis, Dan LaLiberte, Richard M. Stallman, and Chris Welty. Gnu emacs lisp reference manual. Disponível em: http://www.gnu.org/software/emacs/ manual/html_node/elisp/index.html., Acesso em: 2010.

[5] Xah Lee. Xah's emacs lisp tutorial. Disponível em: http://xahlee.org/emacs/elisp.html., Acesso em: 2010.

[6] Christopher D. Manning and Hinrich Schutze. Foundations of Statistical Natural Language Processing. MIT press, second edition, 1999.