Tema
Collaborative Academic Text Advisor (CATA): um verificador de estilo para textos acadêmicos de Computação.
Orientador
Professor Marco Aurélio Gerosa
Aluna
Ana Luiza Domingues Fernandez Basalo
Resumo da monografia a ser desenvolvida
Linguagens formais - como as linguagens de programação - são desenvolvidas
artificialmente e possuem uma sintaxe bem definida. Línguas humanas,
por sua vez, surgem naturalmente como instrumento de comunicação e estão sujeitas
a ambiguidades e múltiplas interpretações. O ramo da Computação que lida com
este último tipo de linguagem é chamado de Processamento de Linguagens Naturais
(PLN). Dentre os problemas comuns de PLN estão extração e recuperação de informação,
assim como correção, resumo e tradução de textos. Existem, atualmente, muitos
programas que usam algoritmos de PLN para efetuar diversos tipos de correção de
textos (ortográfica, gramatical e de estilo), mas nenhum que realize correção de
estilo para a área de Computação especificamente.
Assim sendo, neste trabalho, será desenvolvido um sistema de verificação de estilo
para textos acadêmicos de Computação. Tal sistema analisará textos levando em conta
aspectos linguísticos e estéticos, para, por exemplo, detectar ocorrências de traduções
incorretas e estrangeirismos: como o uso de "testes unitários" como tradução para "unit
tests", em vez da forma correta "testes de unidade"; ou ainda, "a função retorna um
determinado valor" (tradução de "return"), quando mais elegante seria "a função devolve
um determinado valor".
Ademais, o sistema implementado deverá ser colaborativo, fazendo uso de inteligência
coletiva, cujo propósito é combinar o conhecimento de várias pessoas para criar
soluções e ferramentas mais poderosas. Mais especificamente, a partir de
informações obtidas voluntariamente dos usuários, o software desenvolvido neste trabalho
deverá aperfeiçoar sua avaliação. Com esse objetivo, serão estudados e descritos
algoritmos de aprendizagem de máquina.
Objetivos
Objetivo geral
O objetivo do trabalho é produzir um software que seja capaz de
detectar problemas de estilo em textos acadêmicos de Computação (tanto em português como
em inglês), bem como sugerir possíveis correções para tais problemas.
Objetivos específicos
Como objetivo específico temos um levantamento do estado da arte
de algumas áreas de pesquisa em Processamento de Linguagens Naturais: serão
realizados estudos sobre etiquetadores morfológicos, analisadores gramaticais
e corretores de textos. Além deste, outro objetivo secundário do
trabalho é que o software a ser desenvolvido seja colaborativo: os usuários
poderão avaliar se os problemas de estilo apontados eram realmente problemas
(isto é, indicar a ocorrência de "falsos positivos"). Com base nesses dados e,
valendo-se técnicas de aprendizagem computacional, o sistema deverá melhorar a
qualidade da análise dos textos ao longo do tempo.
Atividades já realizadas
- Estudos sobre PLN: conceitos básicos, técnicas de Stemming, Lemmatization e Part-of-speech tagging. Em particular, foi investigada a ferramenta CoGrOO (um corretor gramatical para a língua portuguesa).
- Criação do blog sobre o trabalho no Stoa (que pode ser acessado através desse link).
- Preparação do ambiente de desenvolvimento.
- Criação de um repositório no GitHub para hospedar o código (que pode ser acessado através desse link).
- Desenvolvimento de um protótipo inicial do sistema, que detecta erros de estilo por meio de casamentos exatos entre termos.
- Aperfeiçoamento do protótipo inicial, tanto no que concerne à interface
como no que se refere à detecção dos problemas de estilo (introdução de técnicas de PLN).
Segue uma imagem da página inicial do supracitado protótipo:
Cronograma de atividades
Atividades | Mar | Abr | Mai | Jun | Jul | Ago | Set | Out | Nov |
---|---|---|---|---|---|---|---|---|---|
Verificação de estilo para textos em língua portuguesa | X | X | X | X | X | ||||
Verificação de estilo para textos em língua inglesa | X | X | X | X | |||||
Cadastro de regras/sugestões de estilo | X | X | X | ||||||
Filtragem colaborativa de regras/sugestões de estilo | X | X | X | X | |||||
Outros formatos de entrada além de .txt (.pdf, .doc, .odt, etc.). | X | X | X | ||||||
Testes | X | X | X | X | X | X | X | X | X |
Documentação | X | X | X | X | X | X | X | X | X |
Monografia | X | X | X | X | X | ||||
Pôster | X | ||||||||
Apresentação | X | ||||||||
Estrutura esperada da monografia
-
Parte técnica
- Introdução
- Fundamentação teórica
- Trabalhos relacionados
- Arquitetura do sistema
- Avaliação
- Conclusão ANEXO - Regras e detalhes de implementação
-
Parte subjetiva
- Descrição dos desafios encontrados
- Paralelo entre o trabalho e as disciplinas do curso de Ciência da Computação
- Comentários
Referências bibliográficas
Wikipedia, Língua Natural - http://pt.wikipedia.org/wiki/Língua_natural