SlideShare une entreprise Scribd logo
1  sur  25
Télécharger pour lire hors ligne
beta
                      CoGrOO 4.0
                                                                 26 de julho de 2012
FISL 13
13º Fórum Internacional de Software Livre – A tecnologia que liberta

                                      Arthur Branco Costa
                                             William Colen




                                      cogroo.org                                       1
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.




                   cogroo.org                 2
●   Usuário entra um texto
●   O verificador executa
    uma análise
    gramatical e busca
    padrões de erros na
    estrutura gerada
●   O verificador sugere correções para o texto.




                             cogroo.org            3
Integração BrOffice.org




           cogroo.org     4
Integração BrOffice.org




           cogroo.org     5
Integração BrOffice.org




           cogroo.org     6
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 aplicados nas estruturas resultantes




                                    cogroo.org                     7
Como funciona?




   http://ccsl.ime.usp.br/cogroo/comunidade/grammar
      cogroo.org                                      8
Como funciona?




   http://ccsl.ime.usp.br/cogroo/comunidade/grammar
      cogroo.org                                      9
Analisador de Textos
●   Delimitador de sentenças e tokens
●   Etiquetador morfológico
●   Identificador de sintagmas
●   Identificador de sujeitos
●   Etc...




                                cogroo.org   10
Como funciona?




      http://ccsl.ime.usp.br/cogroo/comunidade/rules
     cogroo.org                                    11
As versões do CoGrOO
●   CoGrOO 1.0 – 2005 (Poli-USP, FINEP)
    ●   Perl – n-gramas
    ●   Primeiro corretor gramatical integrado ao OO (no mundo!)
    ●   Regras XML
●   CoGrOO 2.0 – 2007 (Poli-USP, TCC)
    ●   Primeira versão usando Java + OpenNLP
●   CoGrOO 3.0 – 2009 (órfão, depois CCSL)
    ●   Primeira versão totalmente integrada ao OO (instalador OXT, cobrinha
        azul – OO 3.0)
    ●   CoGrOO Comunidade




                                    cogroo.org                                 12
CoGrOO 4.0 (2012)
●   Nova licença: Apache 2.0 (antes era LGPL)
    ●   Compatível tanto com o LibreOffice quanto com o Apache
        OpenOffice
    ●   Menores restrições de uso




                              cogroo.org                         13
Novidades
●   Núcleo reescrito do zero!
    ●   Desde 2009 → colaboração com o Apache OpenNLP
         –   Grande parte do código de avaliação e treinamento foi transferido
             para o Apache OpenNLP
    ●   Benefícios:
         –   Maior qualidade na implementação (mais olhos)
         –   Menor quantidade de linhas de código para manutenção
         –   Maior proporção do código trata apenas de correção gramatical


                                             Apache




                                     cogroo.org                                  14
Novidades
●   Regras plugáveis: checkers
    ●   3 tipos
         –   XML: arquivo de configuração
         –   Regras em Java
              ● Tipadas (deprecated)
              ● Livres


         –   Regras de regência (em implementação, participação de alunas da
             UFMG)




                                    cogroo.org                                 15
Novidades
●   Novos recursos linguísticos (meu mestrado)
    ●   Modelos linguíticos treinados com um novo corpus
    ●   Novo dicionário (Jspell.br)
    Ganho nas análises gramaticais!




                                cogroo.org                 16
Novidades
●   Repositório central Maven (quanto tivermos
    release)
●   Nova API
    ●   Muito mais modular
    ●   Pronta para novos idiomas!
    ●   http://ccsl.ime.usp.br/redmine/projects/cogroo/wiki/API_CoGrOO_4x




                                   cogroo.org                               17
API




cogroo.org   18
API




cogroo.org   19
API




cogroo.org   20
E está pronto para usar!!




          cogroo.org        21
Código no GitHub




      cogroo.org   22
Código no GitHub




      cogroo.org   23
Código no GitHub




      cogroo.org   24
Obrigado pela oportunidade e pela atenção!


               http://cogroo.org
             http://ccsl.ime.usp.br




                     cogroo.org              25

Contenu connexe

Tendances

Python e Django na Globo.com
Python e Django na Globo.comPython e Django na Globo.com
Python e Django na Globo.comricobl
 
Engenharia rever sa mentebinaria
Engenharia rever sa   mentebinariaEngenharia rever sa   mentebinaria
Engenharia rever sa mentebinariaPatrese Renan
 
Tutorial Django + Python
Tutorial Django + PythonTutorial Django + Python
Tutorial Django + PythonMateus Padua
 
Logging e depuração enterprise-level com Log4perl
Logging e depuração enterprise-level com Log4perlLogging e depuração enterprise-level com Log4perl
Logging e depuração enterprise-level com Log4perlgarux
 
Introdução a linguagem Python
Introdução a linguagem PythonIntrodução a linguagem Python
Introdução a linguagem PythonLuciano Ramalho
 
Globo.com - Porque amamos open-source?
Globo.com - Porque amamos open-source?Globo.com - Porque amamos open-source?
Globo.com - Porque amamos open-source?Igor Macaubas
 
A importância dos padrões na comunidade PHP
A importância dos padrões na comunidade PHPA importância dos padrões na comunidade PHP
A importância dos padrões na comunidade PHPklaussilveira
 
PHPSP TestFest 2010
PHPSP TestFest 2010PHPSP TestFest 2010
PHPSP TestFest 2010Rafael Dohms
 
Python para programadores Ruby
Python para programadores RubyPython para programadores Ruby
Python para programadores RubyEric Hideki
 
Desmistificando web2py - #TDC2011
Desmistificando web2py - #TDC2011Desmistificando web2py - #TDC2011
Desmistificando web2py - #TDC2011Bruno Rocha
 

Tendances (20)

Python 3k
Python 3kPython 3k
Python 3k
 
Python e Django na Globo.com
Python e Django na Globo.comPython e Django na Globo.com
Python e Django na Globo.com
 
Trabalhando com Logs no PostgreSQL
Trabalhando com Logs no PostgreSQLTrabalhando com Logs no PostgreSQL
Trabalhando com Logs no PostgreSQL
 
Como tornar-se um programador Python melhor
Como tornar-se um programador Python melhorComo tornar-se um programador Python melhor
Como tornar-se um programador Python melhor
 
Escalando apps com React e Type Script e SOLID
Escalando apps com React e Type Script e SOLIDEscalando apps com React e Type Script e SOLID
Escalando apps com React e Type Script e SOLID
 
Calourada2010
Calourada2010Calourada2010
Calourada2010
 
Engenharia rever sa mentebinaria
Engenharia rever sa   mentebinariaEngenharia rever sa   mentebinaria
Engenharia rever sa mentebinaria
 
Tutorial Django + Python
Tutorial Django + PythonTutorial Django + Python
Tutorial Django + Python
 
Logging e depuração enterprise-level com Log4perl
Logging e depuração enterprise-level com Log4perlLogging e depuração enterprise-level com Log4perl
Logging e depuração enterprise-level com Log4perl
 
Hack Thursday - NodeJS
Hack Thursday - NodeJSHack Thursday - NodeJS
Hack Thursday - NodeJS
 
Por que PostgreSQL?
Por que PostgreSQL?Por que PostgreSQL?
Por que PostgreSQL?
 
Trabalhando com Logs no PostgreSQL
Trabalhando com Logs no PostgreSQLTrabalhando com Logs no PostgreSQL
Trabalhando com Logs no PostgreSQL
 
Python, CPython, Pythonico, Cython
Python, CPython, Pythonico, CythonPython, CPython, Pythonico, Cython
Python, CPython, Pythonico, Cython
 
Introdução a linguagem Python
Introdução a linguagem PythonIntrodução a linguagem Python
Introdução a linguagem Python
 
Globo.com - Porque amamos open-source?
Globo.com - Porque amamos open-source?Globo.com - Porque amamos open-source?
Globo.com - Porque amamos open-source?
 
Introdução à linguagem python
Introdução à linguagem pythonIntrodução à linguagem python
Introdução à linguagem python
 
A importância dos padrões na comunidade PHP
A importância dos padrões na comunidade PHPA importância dos padrões na comunidade PHP
A importância dos padrões na comunidade PHP
 
PHPSP TestFest 2010
PHPSP TestFest 2010PHPSP TestFest 2010
PHPSP TestFest 2010
 
Python para programadores Ruby
Python para programadores RubyPython para programadores Ruby
Python para programadores Ruby
 
Desmistificando web2py - #TDC2011
Desmistificando web2py - #TDC2011Desmistificando web2py - #TDC2011
Desmistificando web2py - #TDC2011
 

Similaire à CoGrOO 4.0 no FISL 13

O corretor gramatical CoGrOO - IX Evidosol
O corretor gramatical CoGrOO - IX EvidosolO corretor gramatical CoGrOO - IX Evidosol
O corretor gramatical CoGrOO - IX EvidosolWilliam Colen
 
Desenvolvimento de aplicações embarcadas utilizando Python
Desenvolvimento de aplicações embarcadas utilizando PythonDesenvolvimento de aplicações embarcadas utilizando Python
Desenvolvimento de aplicações embarcadas utilizando PythonFlávio Ribeiro
 
Cogroo Google Oss Jam Sao Paulo V01
Cogroo Google Oss Jam Sao Paulo V01Cogroo Google Oss Jam Sao Paulo V01
Cogroo Google Oss Jam Sao Paulo V01William Colen
 
Introdução à Programação Python e Tk
Introdução à Programação Python e TkIntrodução à Programação Python e Tk
Introdução à Programação Python e TkCarlos Campani
 
Cogroo Comunidade no FISL XI
Cogroo Comunidade no FISL XICogroo Comunidade no FISL XI
Cogroo Comunidade no FISL XIWilliam Colen
 
PHP Turbinado com CodeIgniter - Conisli 2011
PHP Turbinado com CodeIgniter - Conisli 2011PHP Turbinado com CodeIgniter - Conisli 2011
PHP Turbinado com CodeIgniter - Conisli 2011Evaldo Junior
 
A lógica do Python e seus termos
A lógica do Python e seus termosA lógica do Python e seus termos
A lógica do Python e seus termosValore I/O
 
Dez dicas para_acompanhamento_de_bugs
Dez dicas para_acompanhamento_de_bugsDez dicas para_acompanhamento_de_bugs
Dez dicas para_acompanhamento_de_bugsPaulo Mattos
 
BeavOps : Como o Python ajudou a integrar o mundo DevOps
BeavOps : Como o Python ajudou a integrar o mundo DevOpsBeavOps : Como o Python ajudou a integrar o mundo DevOps
BeavOps : Como o Python ajudou a integrar o mundo DevOps4LinuxCursos
 
Desenvolvimento web com python e django
Desenvolvimento web com python e djangoDesenvolvimento web com python e django
Desenvolvimento web com python e djangoIgor Sobreira
 
LIVRO PROPRIETÁRIO - PROGRAMAÇÃO I
LIVRO PROPRIETÁRIO - PROGRAMAÇÃO ILIVRO PROPRIETÁRIO - PROGRAMAÇÃO I
LIVRO PROPRIETÁRIO - PROGRAMAÇÃO IOs Fantasmas !
 
TDC2018SP | Trilha Kotlin - Kodando com Kotlin aplicacoes front-end.
TDC2018SP | Trilha Kotlin - Kodando com Kotlin aplicacoes front-end.TDC2018SP | Trilha Kotlin - Kodando com Kotlin aplicacoes front-end.
TDC2018SP | Trilha Kotlin - Kodando com Kotlin aplicacoes front-end.tdc-globalcode
 
TDC2016POA | Trilha .NET - O que esperar do C# 7
TDC2016POA | Trilha .NET - O que esperar do C# 7TDC2016POA | Trilha .NET - O que esperar do C# 7
TDC2016POA | Trilha .NET - O que esperar do C# 7tdc-globalcode
 
Dicas para sua carreira de Desenvolvedor PHP
Dicas para sua carreira de Desenvolvedor PHPDicas para sua carreira de Desenvolvedor PHP
Dicas para sua carreira de Desenvolvedor PHPDouglas V. Pasqua
 

Similaire à CoGrOO 4.0 no FISL 13 (20)

O corretor gramatical CoGrOO - IX Evidosol
O corretor gramatical CoGrOO - IX EvidosolO corretor gramatical CoGrOO - IX Evidosol
O corretor gramatical CoGrOO - IX Evidosol
 
Desenvolvimento de aplicações embarcadas utilizando Python
Desenvolvimento de aplicações embarcadas utilizando PythonDesenvolvimento de aplicações embarcadas utilizando Python
Desenvolvimento de aplicações embarcadas utilizando Python
 
Cogroo Google Oss Jam Sao Paulo V01
Cogroo Google Oss Jam Sao Paulo V01Cogroo Google Oss Jam Sao Paulo V01
Cogroo Google Oss Jam Sao Paulo V01
 
Python e Golang - Parte 1
Python e Golang - Parte 1Python e Golang - Parte 1
Python e Golang - Parte 1
 
Introdução à Programação Python e Tk
Introdução à Programação Python e TkIntrodução à Programação Python e Tk
Introdução à Programação Python e Tk
 
Cogroo Comunidade no FISL XI
Cogroo Comunidade no FISL XICogroo Comunidade no FISL XI
Cogroo Comunidade no FISL XI
 
PHP Turbinado com CodeIgniter - Conisli 2011
PHP Turbinado com CodeIgniter - Conisli 2011PHP Turbinado com CodeIgniter - Conisli 2011
PHP Turbinado com CodeIgniter - Conisli 2011
 
A lógica do Python e seus termos
A lógica do Python e seus termosA lógica do Python e seus termos
A lógica do Python e seus termos
 
Dez dicas para_acompanhamento_de_bugs
Dez dicas para_acompanhamento_de_bugsDez dicas para_acompanhamento_de_bugs
Dez dicas para_acompanhamento_de_bugs
 
Go
Go Go
Go
 
Slide
SlideSlide
Slide
 
BeavOps : Como o Python ajudou a integrar o mundo DevOps
BeavOps : Como o Python ajudou a integrar o mundo DevOpsBeavOps : Como o Python ajudou a integrar o mundo DevOps
BeavOps : Como o Python ajudou a integrar o mundo DevOps
 
Revista Programar 01
Revista Programar 01Revista Programar 01
Revista Programar 01
 
PostgreSQL
PostgreSQLPostgreSQL
PostgreSQL
 
PostgreSQL
PostgreSQLPostgreSQL
PostgreSQL
 
Desenvolvimento web com python e django
Desenvolvimento web com python e djangoDesenvolvimento web com python e django
Desenvolvimento web com python e django
 
LIVRO PROPRIETÁRIO - PROGRAMAÇÃO I
LIVRO PROPRIETÁRIO - PROGRAMAÇÃO ILIVRO PROPRIETÁRIO - PROGRAMAÇÃO I
LIVRO PROPRIETÁRIO - PROGRAMAÇÃO I
 
TDC2018SP | Trilha Kotlin - Kodando com Kotlin aplicacoes front-end.
TDC2018SP | Trilha Kotlin - Kodando com Kotlin aplicacoes front-end.TDC2018SP | Trilha Kotlin - Kodando com Kotlin aplicacoes front-end.
TDC2018SP | Trilha Kotlin - Kodando com Kotlin aplicacoes front-end.
 
TDC2016POA | Trilha .NET - O que esperar do C# 7
TDC2016POA | Trilha .NET - O que esperar do C# 7TDC2016POA | Trilha .NET - O que esperar do C# 7
TDC2016POA | Trilha .NET - O que esperar do C# 7
 
Dicas para sua carreira de Desenvolvedor PHP
Dicas para sua carreira de Desenvolvedor PHPDicas para sua carreira de Desenvolvedor PHP
Dicas para sua carreira de Desenvolvedor PHP
 

Plus de William Colen

Sistemas de Processamento de Linguagem Natural na Prática
Sistemas de Processamento de Linguagem Natural na PráticaSistemas de Processamento de Linguagem Natural na Prática
Sistemas de Processamento de Linguagem Natural na PráticaWilliam Colen
 
Falando com a máquina: Desenvolvimento de assistentes pessoais virtuais
Falando com a máquina: Desenvolvimento de assistentes pessoais virtuaisFalando com a máquina: Desenvolvimento de assistentes pessoais virtuais
Falando com a máquina: Desenvolvimento de assistentes pessoais virtuaisWilliam Colen
 
Processamento Automático da Língua Portuguesa - Campus Party Br 6
Processamento Automático da Língua Portuguesa - Campus Party Br 6Processamento Automático da Língua Portuguesa - Campus Party Br 6
Processamento Automático da Língua Portuguesa - Campus Party Br 6William Colen
 
Programabilida de BrOffice.org - Fisl 11
Programabilida de BrOffice.org - Fisl 11Programabilida de BrOffice.org - Fisl 11
Programabilida de BrOffice.org - Fisl 11William Colen
 
Criando extensões para o BrOffice (Serpro 2010)
Criando extensões para o BrOffice (Serpro 2010)Criando extensões para o BrOffice (Serpro 2010)
Criando extensões para o BrOffice (Serpro 2010)William Colen
 
Tutorial: Criando extensões para o OpenOffice
Tutorial: Criando extensões para o OpenOfficeTutorial: Criando extensões para o OpenOffice
Tutorial: Criando extensões para o OpenOfficeWilliam Colen
 
Mini-curso Processamento de linguagens naturais: pondo em prática
Mini-curso Processamento de linguagens naturais: pondo em prática Mini-curso Processamento de linguagens naturais: pondo em prática
Mini-curso Processamento de linguagens naturais: pondo em prática William Colen
 
Processamento Automático da Língua Portuguesa: DevInSampa 2011
Processamento Automático da Língua Portuguesa: DevInSampa 2011Processamento Automático da Língua Portuguesa: DevInSampa 2011
Processamento Automático da Língua Portuguesa: DevInSampa 2011William Colen
 

Plus de William Colen (8)

Sistemas de Processamento de Linguagem Natural na Prática
Sistemas de Processamento de Linguagem Natural na PráticaSistemas de Processamento de Linguagem Natural na Prática
Sistemas de Processamento de Linguagem Natural na Prática
 
Falando com a máquina: Desenvolvimento de assistentes pessoais virtuais
Falando com a máquina: Desenvolvimento de assistentes pessoais virtuaisFalando com a máquina: Desenvolvimento de assistentes pessoais virtuais
Falando com a máquina: Desenvolvimento de assistentes pessoais virtuais
 
Processamento Automático da Língua Portuguesa - Campus Party Br 6
Processamento Automático da Língua Portuguesa - Campus Party Br 6Processamento Automático da Língua Portuguesa - Campus Party Br 6
Processamento Automático da Língua Portuguesa - Campus Party Br 6
 
Programabilida de BrOffice.org - Fisl 11
Programabilida de BrOffice.org - Fisl 11Programabilida de BrOffice.org - Fisl 11
Programabilida de BrOffice.org - Fisl 11
 
Criando extensões para o BrOffice (Serpro 2010)
Criando extensões para o BrOffice (Serpro 2010)Criando extensões para o BrOffice (Serpro 2010)
Criando extensões para o BrOffice (Serpro 2010)
 
Tutorial: Criando extensões para o OpenOffice
Tutorial: Criando extensões para o OpenOfficeTutorial: Criando extensões para o OpenOffice
Tutorial: Criando extensões para o OpenOffice
 
Mini-curso Processamento de linguagens naturais: pondo em prática
Mini-curso Processamento de linguagens naturais: pondo em prática Mini-curso Processamento de linguagens naturais: pondo em prática
Mini-curso Processamento de linguagens naturais: pondo em prática
 
Processamento Automático da Língua Portuguesa: DevInSampa 2011
Processamento Automático da Língua Portuguesa: DevInSampa 2011Processamento Automático da Língua Portuguesa: DevInSampa 2011
Processamento Automático da Língua Portuguesa: DevInSampa 2011
 

CoGrOO 4.0 no FISL 13

  • 1. beta CoGrOO 4.0 26 de julho de 2012 FISL 13 13º Fórum Internacional de Software Livre – A tecnologia que liberta Arthur Branco Costa William Colen cogroo.org 1
  • 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. cogroo.org 2
  • 3. Usuário entra um texto ● O verificador executa uma análise gramatical e busca padrões de erros na estrutura gerada ● O verificador sugere correções para o texto. cogroo.org 3
  • 7. 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 aplicados nas estruturas resultantes cogroo.org 7
  • 8. Como funciona? http://ccsl.ime.usp.br/cogroo/comunidade/grammar cogroo.org 8
  • 9. Como funciona? http://ccsl.ime.usp.br/cogroo/comunidade/grammar cogroo.org 9
  • 10. Analisador de Textos ● Delimitador de sentenças e tokens ● Etiquetador morfológico ● Identificador de sintagmas ● Identificador de sujeitos ● Etc... cogroo.org 10
  • 11. Como funciona? http://ccsl.ime.usp.br/cogroo/comunidade/rules cogroo.org 11
  • 12. As versões do CoGrOO ● CoGrOO 1.0 – 2005 (Poli-USP, FINEP) ● Perl – n-gramas ● Primeiro corretor gramatical integrado ao OO (no mundo!) ● Regras XML ● CoGrOO 2.0 – 2007 (Poli-USP, TCC) ● Primeira versão usando Java + OpenNLP ● CoGrOO 3.0 – 2009 (órfão, depois CCSL) ● Primeira versão totalmente integrada ao OO (instalador OXT, cobrinha azul – OO 3.0) ● CoGrOO Comunidade cogroo.org 12
  • 13. CoGrOO 4.0 (2012) ● Nova licença: Apache 2.0 (antes era LGPL) ● Compatível tanto com o LibreOffice quanto com o Apache OpenOffice ● Menores restrições de uso cogroo.org 13
  • 14. Novidades ● Núcleo reescrito do zero! ● Desde 2009 → colaboração com o Apache OpenNLP – Grande parte do código de avaliação e treinamento foi transferido para o Apache OpenNLP ● Benefícios: – Maior qualidade na implementação (mais olhos) – Menor quantidade de linhas de código para manutenção – Maior proporção do código trata apenas de correção gramatical Apache cogroo.org 14
  • 15. Novidades ● Regras plugáveis: checkers ● 3 tipos – XML: arquivo de configuração – Regras em Java ● Tipadas (deprecated) ● Livres – Regras de regência (em implementação, participação de alunas da UFMG) cogroo.org 15
  • 16. Novidades ● Novos recursos linguísticos (meu mestrado) ● Modelos linguíticos treinados com um novo corpus ● Novo dicionário (Jspell.br) Ganho nas análises gramaticais! cogroo.org 16
  • 17. Novidades ● Repositório central Maven (quanto tivermos release) ● Nova API ● Muito mais modular ● Pronta para novos idiomas! ● http://ccsl.ime.usp.br/redmine/projects/cogroo/wiki/API_CoGrOO_4x cogroo.org 17
  • 21. E está pronto para usar!! cogroo.org 21
  • 22. Código no GitHub cogroo.org 22
  • 23. Código no GitHub cogroo.org 23
  • 24. Código no GitHub cogroo.org 24
  • 25. Obrigado pela oportunidade e pela atenção! http://cogroo.org http://ccsl.ime.usp.br cogroo.org 25