O corretor gramatical CoGrOO - IX Evidosol

23
http://cogroo.sourceforge.net 1 O Corretor Gramatical CoGrOO 5 de junho de 2012 Arthur Branco Costa William Colen Apresentado no IX EVIDOSOL e VI CILTEC-online IX EVIDOSOL e VI CILTEC-online IX Encontro Virtual de Documentação em Software Livre e VI Congresso Internacional de Linguagem e Tecnologia online

description

Apresentado no dia 05 de junho de 2012 no IX Evidosol http://gkosmos.com/evidosol/

Transcript of O corretor gramatical CoGrOO - IX Evidosol

Page 1: O corretor gramatical CoGrOO - IX Evidosol

http://cogroo.sourceforge.net 1

O Corretor Gramatical CoGrOO5 de junho de 2012

Arthur Branco Costa

William Colen

Apresentado no

IX EVIDOSOL e VI CILTEC-onlineIX EVIDOSOL e VI CILTEC-onlineIX Encontro Virtual de Documentação em Software Livre e VI Congresso Internacional de Linguagem e Tecnologia online

Page 2: O corretor gramatical CoGrOO - IX Evidosol

http://cogroo.sourceforge.net 2

O que é o CoGrOO?

CoGrOO é um corretor gramatical para português do Brasil, que pode ser usado nas

principais suítes livres de escritório.

Page 3: O corretor gramatical CoGrOO - IX Evidosol

http://cogroo.sourceforge.net 3

Exemplo

● Usuário digita um texto

● O verificador executa uma análise gramatical, buscando padrões de erros na estrutura gerada

● O verificador sugere correções

Page 4: O corretor gramatical CoGrOO - IX Evidosol

http://cogroo.sourceforge.net 4

Integração BrOffice.org

Page 5: O corretor gramatical CoGrOO - IX Evidosol

http://cogroo.sourceforge.net 5

Integração BrOffice.org

Page 6: O corretor gramatical CoGrOO - IX Evidosol

http://cogroo.sourceforge.net 6

Integração BrOffice.org

Page 7: O corretor gramatical CoGrOO - IX Evidosol

http://cogroo.sourceforge.net 7

Analisador de Textos● Delimitador de sentenças e tokens

● Etiquetador morfológico

● Identificador de sintagmas

● Identificador de sujeitos

● Etc...

Page 8: O corretor gramatical CoGrOO - IX Evidosol

http://cogroo.sourceforge.net 8

Analisador de Textos● USP

● Pesquisa IME/Hospital AC Camargo: análise de laudos clínicos (CID)

● IME: auxilia a extração automática de ontologias de transcrições de vídeos e entrevistas (OnAir)

● Poli: interação homem-máquina (robô sociável)

● UFMG● Projeto Dados Semiótica: análise automatizada dos dados coletados

● PUC-PR● Classificação automática de laudos clínicos (CID)

● UFPA● Auxílio na transcrição e geração automática de texto (projeto Fale)

Page 9: O corretor gramatical CoGrOO - IX Evidosol

http://cogroo.sourceforge.net 9

Analisador de textos que vocês podem usar● Análise automatizada inicial de corpus

● Parte de um processamento mais complexo

...

Livremente!● Mas... cite nossos artigos :)

● Divulgue nosso trabalho

● Colabore com o desenvolvimento

Page 10: O corretor gramatical CoGrOO - IX Evidosol

http://cogroo.sourceforge.net 10

Como funciona?● Processamento de Linguagem Natural probabilística +

sistema de regras:● Aprendizado de máquina usando corpus na fase de análise

● Regras de erros são aplicadas nas estruturas resultantes

● Usa bibliotecas livres como Apache OpenNLP (aprendizado de máquina), Jspell (léxico) e Morfologik-Stemming (compactação do léxico)

Apache

Page 11: O corretor gramatical CoGrOO - IX Evidosol

http://cogroo.sourceforge.net 11

Como funciona?

http://ccsl.ime.usp.br/cogroo/comunidade/grammar

Page 12: O corretor gramatical CoGrOO - IX Evidosol

http://cogroo.sourceforge.net 12

Como funciona?

http://ccsl.ime.usp.br/cogroo/comunidade/grammar

Page 13: O corretor gramatical CoGrOO - IX Evidosol

http://cogroo.sourceforge.net 13

Como funciona?

http://ccsl.ime.usp.br/cogroo/comunidade/rules

Page 14: O corretor gramatical CoGrOO - IX Evidosol

http://cogroo.sourceforge.net 14

Recursos linguísticos: corpus para treinamento● Usado no treinamento dos módulos estatísticos

● CoGrOO “aprende” português

● Usamos os corpora Bosque e Floresta Virgem do projeto Floresta Sintática (abertamente distribuídos)

● Textos jornalísticos (Folha): sem primeira pessoa, linguagem jornalística

● Apesar de revisados ainda encontramos erros: o CoGrOO aprende errado

● Os conhecimentos que ele obtém no treinamento são usados para analisar novos textos.

Page 15: O corretor gramatical CoGrOO - IX Evidosol

http://cogroo.sourceforge.net 15

Recursos linguísticos: corpus para treinamentoSOURCE: CETENFolha n=904 cad="Esporte" sec="des" sem="94a"CF904-1 Desorganização e violência marcam torneio que consolida o 'efeito Copa'.A1STA:fcl=SUBJ:cu==CJT:np===H:n('desorganização' <np-idf> F S) Desorganização==CO:conj-c('e' <co-subj>) e==CJT:np===H:n('violência' <np-idf> F S) violência=P:vp==MV:v-fin('marcar' PR 3P IND) marcam=ACC:np==H:n('torneio' <np-idf> M S) torneio==N<:fcl===SUBJ:np====H:pron-indp('que' <rel> M S) que===P:vp====MV:v-fin('consolidar' <fs-rel> PR 3S IND) consolida===ACC:np====>N:art('o' <artd> M S) o===='====H:n('efeito' M S) efeito====N<:np=====H:prop('Copa' F S) Copa===='=.

Page 16: O corretor gramatical CoGrOO - IX Evidosol

http://cogroo.sourceforge.net 16

Recursos linguísticos: corpus para avaliação● Corpus Metrô

● Textos extraídos do site institucional do Metrô de São Paulo.

● Erros anotados manualmente (aproximadamente 800 sentenças e 51 erros)

● Corpus Probi● Desenvolvido pelo NILC (USP São Carlos – UFSCAR) para o projeto

ReGra (corretor gramatical proprietário do MS Office)

● 11.624 sentenças, 2.616 com alguma erros

Page 17: O corretor gramatical CoGrOO - IX Evidosol

http://cogroo.sourceforge.net 17

Recursos linguísticos: regras● Desenvolvidas por linguistas

● Regras simples que podem ser descritas usando sequência de tokens em um arquivo de configuração

Page 18: O corretor gramatical CoGrOO - IX Evidosol

http://cogroo.sourceforge.net 18

Recursos linguísticos: regras● Regras mais complexas são desenvolvidas em linguagem

de programação

● Por exemplo, estamos trabalhando hoje no mecanismo para regras de regência verbal

● Inspirado no artigo: Software livre e gramática: regência verbal no revisor de textos do BrOffice dos estudantes Luana Flávia Cotta Drumond, Cinara Kelly Alves Cruz e Felipe da Fonseca Martins, para o UEADSL 2011.1

● As estudantes Cinara Cruz e Ana Paula Queiroz continuam colaborando com o projeto.

Page 19: O corretor gramatical CoGrOO - IX Evidosol

http://cogroo.sourceforge.net 19

JSpell – o que é?● Analisador morfológico:

Gera a partir de palavras básicas as suas derivações, utilizando-se de regras simples.

Realizado pelo Projecto Natura, da universidade do Minho, Portugal;

● Como funciona:● O banco de dados contém, por exemplo, a palavra alugar com algumas

etiquetas;

● Para cada etiqueta uma regra de formação de palavras lhe é aplicada;

● Assim, criam-se todas as suas conjugações verbais, bem como, as palavras: alugador, alugável, subalugar e alugamento; e

● as derivações dessas, como: alugadoras, alugáveis, subalugou-se, subalugadores, subalugá-lo-íamos, alugamentos, etc;

● Resultado: a partir da palavra alugar, foram geradas 209 palavras.

Page 20: O corretor gramatical CoGrOO - IX Evidosol

http://cogroo.sourceforge.net 20

JSpell

Vantagens:● Abrangência: contém mais de 900.000 verbetes;

● Código Livre;

● Feito manualmente, a quantidade de erros é notoriamente menor que a de geradores automáticos;

● Regras simples, de fácil compreensão e que podem ser redefinidas.

Problemas:● Ainda contém alguns erros, algumas regras devem ser melhor

formuladas, devido à quantidade de exceções na língua portuguesa.

● Feito para português de Portugal: é necessário atualizar diversas palavras.

Colabore conosco nessa parte! =]

Page 21: O corretor gramatical CoGrOO - IX Evidosol

http://cogroo.sourceforge.net 21

JSpell – entradas do dicionário

#a: adjetivo

m: -mente → justamente - #av: advérbio

s: -íssimo → justíssimo

I: in- → injusto, injustamente

f: feminino → justa, justíssima, injusta

p: plural → justos, justíssimos, injustos, justas,

justíssimas, injustas.

Etiquetas

Justo / #a/msIfp/

Lema

Page 22: O corretor gramatical CoGrOO - IX Evidosol

http://cogroo.sourceforge.net 22

JSpell – funcionamento de uma flagFlag: m → Adiciona o sufixo -mente nas “palavras válidas”

“CAT = adj, N = s” → palavras válidas: adjetivos no singular que tenham a flag m.

Terminação da palavra

Acréscimo do sufixo Mudança de classificação

Exemplo

- O(palavras terminadas

com a letra 'o')

-O, AMENTE;(elimina a letra 'o' e

acrescenta “amente”)

“CAT = Adv”(o adjetivo torna-se

um advérbio)# Abertamente

- U AMENTE; “CAT = Adv” # Cruamente

- [^V][^E][^L](palavras que não acabam com -vel)

MENTE;(acrescenta o sufixo -mente)

“CAT = Adv” # Anteriormente

- ÁVEL -ÁVEL, AVELMENTE;(perda do acento)

“CAT = Adv” # Miseravelmente

- ÍVEL -ÍVEL, IVELMENTE; “CAT = Adv” # Horrivelmente

Page 23: O corretor gramatical CoGrOO - IX Evidosol

http://cogroo.sourceforge.net 23

Obrigado pela oportunidade e pela atenção!

http://cogroo.sourceforge.nethttp://ccsl.ime.usp.br