• Nenhum resultado encontrado

16denovembrode2010 TrabalhodeConclus˜aodeCursoThiagoMacielbatista CorretorGramaticalParaoEmacs

N/A
N/A
Protected

Academic year: 2022

Share "16denovembrode2010 TrabalhodeConclus˜aodeCursoThiagoMacielbatista CorretorGramaticalParaoEmacs"

Copied!
43
0
0

Texto

(1)

Introdu¸c˜ao Processamento de Linguagem Natural CoGrOO Emacs Acoplamento Resultados

Corretor Gramatical Para o Emacs

Trabalho de Conclus˜ ao de Curso

Thiago Maciel batista

Orientador: Prof. Dr. Marcelo Finger Instituto de Matem´ atica e Estat´ıstica

Universidade de S˜ ao Paulo

16 de novembro de 2010

(2)

Introdu¸c˜ao Processamento de Linguagem Natural CoGrOO Emacs Acoplamento Resultados

Roteiro

1 Introdu¸ c˜ ao

2 Processamento de Linguagem Natural PLN Estat´ıstico

3 CoGrOO Estrutura

4 Emacs

5 Acoplamento

Estrutura

(3)

Introdu¸c˜ao Processamento de Linguagem Natural CoGrOO Emacs Acoplamento Resultados

Antes de come¸carmos...

N˜ ao confundir

Corretor gramatical n˜ ao ´ e corretor ortogr´ afico

(4)

Introdu¸c˜ao Processamento de Linguagem Natural CoGrOO Emacs Acoplamento Resultados

Principal objetivo do trabalho

Acoplar um corretor gramatical ao emacs

(5)

Introdu¸c˜ao Processamento de Linguagem Natural CoGrOO Emacs Acoplamento Resultados

Usar o corretor gramatical CoGrOO

(6)

Introdu¸c˜ao Processamento de Linguagem Natural CoGrOO Emacs Acoplamento Resultados

Mas como?

Como o CoGrOO consegue corrigir um texto?

Usando processamento de linguagem natural

(7)

Introdu¸c˜ao Processamento de Linguagem Natural CoGrOO Emacs Acoplamento Resultados

Processamento de Linguagem Natural(PLN)

Defini¸c˜ ao

Area da inteligˆ ´ encia artificial que se concentra no desenvolvimento de algoritmos para manipular linguagens naturais.

Serve para que?

O computador poder´ a interpretar e gerar textos em linguagem

humana.

(8)

Introdu¸c˜ao Processamento de Linguagem Natural CoGrOO Emacs Acoplamento Resultados

PLN Estat´ıstico

PLN Estat´ıstico

Defini¸c˜ ao

Utiliza modelos prababil´ısticos para processar a linguagem.

(9)

Introdu¸c˜ao Processamento de Linguagem Natural CoGrOO Emacs Acoplamento Resultados

PLN Estat´ıstico

Conceitos e t´ ecnicas

Token

N-grama

Modelos n-grama

O principio da m´ axima entropia Corpus

Aprendizado de m´ aquina

(10)

Introdu¸c˜ao Processamento de Linguagem Natural CoGrOO Emacs Acoplamento Resultados

PLN Estat´ıstico

Conceitos e t´ ecnicas

Token N-grama

Modelos n-grama

O principio da m´ axima entropia Corpus

Aprendizado de m´ aquina

(11)

Introdu¸c˜ao Processamento de Linguagem Natural CoGrOO Emacs Acoplamento Resultados

PLN Estat´ıstico

Conceitos e t´ ecnicas

Token N-grama

Modelos n-grama

O principio da m´ axima entropia Corpus

Aprendizado de m´ aquina

(12)

Introdu¸c˜ao Processamento de Linguagem Natural CoGrOO Emacs Acoplamento Resultados

PLN Estat´ıstico

Conceitos e t´ ecnicas

Token N-grama

Modelos n-grama

O principio da m´ axima entropia

Corpus

Aprendizado de m´ aquina

(13)

Introdu¸c˜ao Processamento de Linguagem Natural CoGrOO Emacs Acoplamento Resultados

PLN Estat´ıstico

Conceitos e t´ ecnicas

Token N-grama

Modelos n-grama

O principio da m´ axima entropia Corpus

Aprendizado de m´ aquina

(14)

Introdu¸c˜ao Processamento de Linguagem Natural CoGrOO Emacs Acoplamento Resultados

PLN Estat´ıstico

Conceitos e t´ ecnicas

Token N-grama

Modelos n-grama

O principio da m´ axima entropia Corpus

Aprendizado de m´ aquina

(15)

Introdu¸c˜ao Processamento de Linguagem Natural CoGrOO Emacs Acoplamento Resultados

CoGrOO

A vers˜ ao usada neste trabalho foi a 3.0.5

(16)

Introdu¸c˜ao Processamento de Linguagem Natural CoGrOO Emacs Acoplamento Resultados

Descri¸c˜ ao

O que ´ e o CoGrOO?

Corretor gramatical para a l´ıngua portuguesa do Brasil Feito para o editor OpenOffice.org

Atualmente usa a linguagem java

Utiliza PLN estat´ıstico para processar os textos

(17)

Introdu¸c˜ao Processamento de Linguagem Natural CoGrOO Emacs Acoplamento Resultados

Descri¸c˜ ao

O que ´ e o CoGrOO?

Corretor gramatical para a l´ıngua portuguesa do Brasil Feito para o editor OpenOffice.org

Atualmente usa a linguagem java

Utiliza PLN estat´ıstico para processar os textos

(18)

Introdu¸c˜ao Processamento de Linguagem Natural CoGrOO Emacs Acoplamento Resultados

Descri¸c˜ ao

O que ´ e o CoGrOO?

Corretor gramatical para a l´ıngua portuguesa do Brasil Feito para o editor OpenOffice.org

Atualmente usa a linguagem java

Utiliza PLN estat´ıstico para processar os textos

(19)

Introdu¸c˜ao Processamento de Linguagem Natural CoGrOO Emacs Acoplamento Resultados

Descri¸c˜ ao

O que ´ e o CoGrOO?

Corretor gramatical para a l´ıngua portuguesa do Brasil Feito para o editor OpenOffice.org

Atualmente usa a linguagem java

Utiliza PLN estat´ıstico para processar os textos

(20)

Introdu¸c˜ao Processamento de Linguagem Natural CoGrOO Emacs Acoplamento Resultados

Tipos de erros que s˜ ao detectados

S˜ ao detectados erros relacionados a...

Coloca¸ c˜ ao pronominal Concordˆ ancia nominal

Concordˆ ancia entre sujeito e verbo Concordˆ ancia verbal

Uso de crase

Regˆ encia nominal

Regˆ encia verbal

(21)

Introdu¸c˜ao Processamento de Linguagem Natural CoGrOO Emacs Acoplamento Resultados

Estrutura

Ferramentas auxiliares

Dependˆ encias

OpenNLP - Framework para auxiliar no desenvolvimento de projetos de PLN

MAXENT - Pacote que utiliza o conceito do modelo da

m´ axima entropia para fazer aprendizado de m´ aquina

(22)

Introdu¸c˜ao Processamento de Linguagem Natural CoGrOO Emacs Acoplamento Resultados

Estrutura

Ferramentas auxiliares

Dependˆ encias

OpenNLP - Framework para auxiliar no desenvolvimento de projetos de PLN

MAXENT - Pacote que utiliza o conceito do modelo da

m´ axima entropia para fazer aprendizado de m´ aquina

(23)

Introdu¸c˜ao Processamento de Linguagem Natural CoGrOO Emacs Acoplamento Resultados

Estrutura

Estrutura Geral

(24)

Introdu¸c˜ao Processamento de Linguagem Natural CoGrOO Emacs Acoplamento Resultados

Estrutura

Estrutura do n´ ucleo

Principais m´ odulos do n´ ucleo do cogroo e o fluxo para processar

textos

(25)

Introdu¸c˜ao Processamento de Linguagem Natural CoGrOO Emacs Acoplamento Resultados

Estrutura

M´ odulos do n´ ucleo do cogroo

Fun¸c˜ ao dos m´ odulos

SentenceDetect : Separa o texto em senten¸cas Tokenizer : Separa senten¸ cas em tokens

ProperNameFinder : Identifica nomes pr´ oprios no texto ContractionSeparator : Identifica contra¸ c˜ oes

Pretagger : Prepara os tokens para receber classifica¸ c˜ ao morfol´ ogica

Postagger : Atribui a cada token uma classifica¸ c˜ ao morfol´ ogica

RulesApplier : Aplica as regras gramaticas e gera uma lista de

erros

(26)

Introdu¸c˜ao Processamento de Linguagem Natural CoGrOO Emacs Acoplamento Resultados

Estrutura

M´ odulos do n´ ucleo do cogroo

Fun¸c˜ ao dos m´ odulos

SentenceDetect : Separa o texto em senten¸cas Tokenizer : Separa senten¸ cas em tokens

ProperNameFinder : Identifica nomes pr´ oprios no texto ContractionSeparator : Identifica contra¸ c˜ oes

Pretagger : Prepara os tokens para receber classifica¸ c˜ ao morfol´ ogica

Postagger : Atribui a cada token uma classifica¸ c˜ ao morfol´ ogica

(27)

Introdu¸c˜ao Processamento de Linguagem Natural CoGrOO Emacs Acoplamento Resultados

Estrutura

M´ odulos do n´ ucleo do cogroo

Fun¸c˜ ao dos m´ odulos

SentenceDetect : Separa o texto em senten¸cas Tokenizer : Separa senten¸ cas em tokens

ProperNameFinder : Identifica nomes pr´ oprios no texto ContractionSeparator : Identifica contra¸ c˜ oes

Pretagger : Prepara os tokens para receber classifica¸ c˜ ao morfol´ ogica

Postagger : Atribui a cada token uma classifica¸ c˜ ao morfol´ ogica

RulesApplier : Aplica as regras gramaticas e gera uma lista de

erros

(28)

Introdu¸c˜ao Processamento de Linguagem Natural CoGrOO Emacs Acoplamento Resultados

Estrutura

M´ odulos do n´ ucleo do cogroo

Fun¸c˜ ao dos m´ odulos

SentenceDetect : Separa o texto em senten¸cas Tokenizer : Separa senten¸ cas em tokens

ProperNameFinder : Identifica nomes pr´ oprios no texto ContractionSeparator : Identifica contra¸ c˜ oes

Pretagger : Prepara os tokens para receber classifica¸ c˜ ao morfol´ ogica

Postagger : Atribui a cada token uma classifica¸ c˜ ao morfol´ ogica

(29)

Introdu¸c˜ao Processamento de Linguagem Natural CoGrOO Emacs Acoplamento Resultados

Estrutura

M´ odulos do n´ ucleo do cogroo

Fun¸c˜ ao dos m´ odulos

SentenceDetect : Separa o texto em senten¸cas Tokenizer : Separa senten¸ cas em tokens

ProperNameFinder : Identifica nomes pr´ oprios no texto ContractionSeparator : Identifica contra¸ c˜ oes

Pretagger : Prepara os tokens para receber classifica¸ c˜ ao morfol´ ogica

Postagger : Atribui a cada token uma classifica¸ c˜ ao morfol´ ogica

RulesApplier : Aplica as regras gramaticas e gera uma lista de

erros

(30)

Introdu¸c˜ao Processamento de Linguagem Natural CoGrOO Emacs Acoplamento Resultados

Estrutura

M´ odulos do n´ ucleo do cogroo

Fun¸c˜ ao dos m´ odulos

SentenceDetect : Separa o texto em senten¸cas Tokenizer : Separa senten¸ cas em tokens

ProperNameFinder : Identifica nomes pr´ oprios no texto ContractionSeparator : Identifica contra¸ c˜ oes

Pretagger : Prepara os tokens para receber classifica¸ c˜ ao morfol´ ogica

Postagger : Atribui a cada token uma classifica¸ c˜ ao morfol´ ogica

(31)

Introdu¸c˜ao Processamento de Linguagem Natural CoGrOO Emacs Acoplamento Resultados

Estrutura

M´ odulos do n´ ucleo do cogroo

Fun¸c˜ ao dos m´ odulos

SentenceDetect : Separa o texto em senten¸cas Tokenizer : Separa senten¸ cas em tokens

ProperNameFinder : Identifica nomes pr´ oprios no texto ContractionSeparator : Identifica contra¸ c˜ oes

Pretagger : Prepara os tokens para receber classifica¸ c˜ ao morfol´ ogica

Postagger : Atribui a cada token uma classifica¸ c˜ ao morfol´ ogica

RulesApplier : Aplica as regras gramaticas e gera uma lista de

erros

(32)

Introdu¸c˜ao Processamento de Linguagem Natural CoGrOO Emacs Acoplamento Resultados

O que ´ e?

Editor de texto

Poderoso ambiente de trabalho para diversos tipos de projeto Vers˜ ao mais popular ´ e o GNU Emacs

Facilmente extens´ıvel e customiz´ avel por meio da linguagem emacs lisp

H´ a varias extens˜ oes dispon´ıveis

(33)

Introdu¸c˜ao Processamento de Linguagem Natural CoGrOO Emacs Acoplamento Resultados

Estrutura

E agora?

J´ a temos o emacs e o CoGrOO...

(34)

Introdu¸c˜ao Processamento de Linguagem Natural CoGrOO Emacs Acoplamento Resultados

Estrutura

E agora?

...mas e agora, como uni-los?

(35)

Introdu¸c˜ao Processamento de Linguagem Natural CoGrOO Emacs Acoplamento Resultados

Estrutura

Interfaces

Mas...

...ainda n˜ ao h´ a intera¸ c˜ ao

(36)

Introdu¸c˜ao Processamento de Linguagem Natural CoGrOO Emacs Acoplamento Resultados

Estrutura

Script para a comunica¸c˜ ao

(37)

Introdu¸c˜ao Processamento de Linguagem Natural CoGrOO Emacs Acoplamento Resultados

Estrutura

Arquivo para enviar o texto

(38)

Introdu¸c˜ao Processamento de Linguagem Natural CoGrOO Emacs Acoplamento Resultados

Estrutura

Arquivo para enviar os erros

(39)

Introdu¸c˜ao Processamento de Linguagem Natural CoGrOO Emacs Acoplamento Resultados

Estrutura

Fluxo para corre¸c˜ ao do texto

(40)

Introdu¸c˜ao Processamento de Linguagem Natural CoGrOO Emacs Acoplamento Resultados

Resultado

O emacs j´ a usa o cogroo para corrigir textos

(41)

Introdu¸c˜ao Processamento de Linguagem Natural CoGrOO Emacs Acoplamento Resultados

Caracter´ısticas

Disponibiliza comandos para o usu´ ario corrigir o texto Sublinha os trechos com erros

Explica porque est´ a errado

Mostra sugest˜ oes de corre¸c˜ ao, quando poss´ıvel

Aceita a sugest˜ ao escolhida pelo usu´ ario por meio do mouse

(42)

Introdu¸c˜ao Processamento de Linguagem Natural CoGrOO Emacs Acoplamento Resultados

Trabalhos futuros

Tarefas

Disponibilizar para os usu´ arios Usar sugest˜ oes para melhorias Melhorar intera¸ c˜ ao com os usu´ arios Aperfei¸ coar corre¸ c˜ ao

Reportagem autom´ atica de erros por meio do cogroo

comunidade

(43)

Introdu¸c˜ao Processamento de Linguagem Natural CoGrOO Emacs Acoplamento Resultados

Referˆ encias

Diogo M. Pires , F´ abio W. Gusukuma, Marcelo Suzumura, and William Colen.

Corretor gramatical acopl´ avel ao openoffice.org cogroo 2.0.

2006.

GNU.

Gnu emacs.

Dispon´ıvel em: http://www.gnu.org/software/emacs/., Acesso em:

2010.

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.

Referências

Documentos relacionados

rgeom(n, p) distribui¸ c˜ ao Geom´ etrica(p) runif(n, a, b) distribui¸ c˜ ao Uniforme(a,b) rexp(n, lambda) distribui¸ c˜ ao Exponencial(lambda) rnorm(n, mean, sd) distribui¸ c˜

Para evitar isso, vocˆ e pode mover os dois comandos do preˆ ambulo para algum lugar ap´ os o comando \tableofcontents ou definitivamente n˜ ao us´ a-los, porque vocˆ e ver´ a que

Estudar emacs lisp tomou bastante tempo, mas consegui implementar o que era ne- cessário, como comandos para o usuário interagir com o corretor, captura do texto para enviar ao

Corol´ ario: podemos utilizar arrays e hashes com seus elementos (escalares) sendo referˆ encias para outros arrays e hashes.. Uso de

Escreva um programa em Perl que leia da entrada padr˜ ao uma lista de strings e, ao final do processo, imprima a lista em ordem reversa (para fazer depois no PC, utilize Control+D ou

Uma colora¸c˜ ao das arestas de um grafo ´e uma atribui¸c˜ ao de cores ` as suas arestas tal que arestas adjacentes recebem cores diferentes... 2 Colora¸c˜ oes m´ınimas e

Uma colora¸c˜ ao das arestas de um grafo ´e uma atribui¸c˜ ao de cores ` as suas arestas tal que arestas adjacentes recebem cores diferentes... 2 Colora¸c˜ oes m´ınimas e

Caso o usu´ ario deseje executar novamente um mesmo comando ´ e necess´ ario apenas cha- mar na shell uma referˆ encia ao comando desejado com o caracter “!”, como mostra o exemplo