Corretor Ortografico

11 respostas
C

Bom preciso de um corretor ortografico para uma aplicação swing…

Alguem tem algo do tipo…

Obrigado desde ja…

11 Respostas

C

Alguem ja utilizou um corretor em um aplicação swing…

L

bah… eh exatamente isso que to precisando tb…

ninguem ???

A

Hum… podem começar a fazer, pelo jeito… tão afim de montar um projetinho?

A idéia é ter um dicionário e buscar as palavras nele. Se a palavra não for encontrada, o corretor tem que oferecer sugestões.

O truque das sugestões, imagino fazer trigramas (trigramas é contar qtos segmentos de tres letras diferentes existem na palavra. eg: teste = {tes, est, ste} e procurar outra palavra que tenham trigramas parecidos (tipo 75, 80% dos trigramas iguais).

Tem estudos por ai que dizem que as palavras mais usadas do nosso vocabulario estao em uns 5% do dicionário. Então a base nem precisa ser mto grande…

A

Fiz um programinha aqui esse fds… Usei o dicionario do OpenOffice. Testem um pouco… Nao tive muito tempo pra testar, mas parece funcionar.

http://www.bandarra.org/downloads/CorretorOrtografico.zip

Esse programinha abaixo sugere correcoes para a palavra “inconsitucional”. O zip tem um pacote do jakarta commons-lang tambem. Nao esquecam de coloca-lo também no classpath.

import org.bandarra.corretorortografico.*
    public class Teste{
        public static void main(String[] args){
            CorretorOrtografico corretor =   new CorretorOrtografico();
            for (String s: corretor.corrigePalavra("inconsitucional")){
                System.out.println(s);
            }
        }
    }

[]s!!

R

andreban:
Hum… podem começar a fazer, pelo jeito… tão afim de montar um projetinho?

A idéia é ter um dicionário e buscar as palavras nele. Se a palavra não for encontrada, o corretor tem que oferecer sugestões.

O truque das sugestões, imagino fazer trigramas (trigramas é contar qtos segmentos de tres letras diferentes existem na palavra. eg: teste = {tes, est, ste} e procurar outra palavra que tenham trigramas parecidos (tipo 75, 80% dos trigramas iguais).

Tem estudos por ai que dizem que as palavras mais usadas do nosso vocabulario estao em uns 5% do dicionário. Então a base nem precisa ser mto grande…

hehe e os cara da ciência da computação ainda estudam Automatos!!!

A
Se o pessoal achar que  razoável, vou abrir um projeto em um sourceforge da vida e colocar ... como Open Souce. Inclusive é fácil usar ele em qualquer lingua, basta ter os dicionários.
C

Pessoal.
A um tempo atrás, corri atrás de um corretor ortográfico.
No final das contas, acabamos comprando uma classe que é muito boa. segue o link
www.wintertree-software.com.

se for para uma aplicação comercial, eu recomendo. é muito bom e o preço é razoável pois é uma classe e não tem limite de distribuição

Mas, pra quem quer pegar algo pronto, de uma olhada neste editor open source,
http://www.hexidec.com/ekit.php

ele usa um corretor ortográfico - Jazzy - Java Spell Check API
http://sourceforge.net/projects/jazzy.

Quanto as palavras, peguei do open office. ele tem mais de 300.000 palavras cadastradas.

Outra dica é usar as apis do openoffice para o corretor ortográfico e embutir no sistema.

Espero ter ajudado

Carlos

B

olá, alguem sabe o email do cubas?
tow querendo saber onde encontrar a api do corretor ortografico do openoffice e algum tutorial de como usa-lo de preferencia em java.
até mais,

M

Eu utilizei o jazzy com o dicionário obtido a partir do aspell (linux):

aspell --master=pt_BR dump master pt_BR > /home/pt_BR.dic

Inicializei o jazzy com:

SpellDictionary dic =new SpellDictionaryHashMap(new File("/home/pt_BR.dic"));

Espero ter ajudado

Marcos Duma

D

andreban:
Fiz um programinha aqui esse fds… Usei o dicionario do OpenOffice. Testem um pouco… Nao tive muito tempo pra testar, mas parece funcionar.

http://www.bandarra.org/downloads/CorretorOrtografico.zip

Esse programinha abaixo sugere correcoes para a palavra “inconsitucional”. O zip tem um pacote do jakarta commons-lang tambem. Nao esquecam de coloca-lo também no classpath.

import org.bandarra.corretorortografico.*
    public class Teste{
        public static void main(String[] args){
            CorretorOrtografico corretor =   new CorretorOrtografico();
            for (String s: corretor.corrigePalavra("inconsitucional")){
                System.out.println(s);
            }
        }
    }

[]s!!

O único problema é a acentuação.

M

Vou fazer uns testes com a API, também vou analisar a questão de acentuação e posto depois aqui.

Mas também já usei uma API do OpenOffice, que é muito funcional.

Criado 28 de setembro de 2006
Ultima resposta 21 de nov. de 2011
Respostas 11
Participantes 9