Que tal verificar a gramatica (crase, concordância etc) dos textos que o usuário do seu programa Java digitar? Isto é possível com o CoGrOO, o corretor gramatical para a língua portuguesa do BrOffice.org. Este pequeno tutorial pode servir como ponto de partida. Ele explica como utilizar o CoGrOO para verificar o texto digitado no console. Os requisitos são CoGrOO Base 3.0.5 e Java 1.5 ou melhor.
Obtenha o CoGrOO Base 3.0.5 aqui e extraia o conteúdo pasta. Isto resultará numa pasta com todos os jars necessários para executar o corretor gramatical, e ainda os arquivos de dados necessários (dicionários, modelos linguísticos e regras).

Todos os jars dessa pasta deverão ser incluídos no Java classpath do seu programa, e o diretório de execução deverá ser a raiz da pasta que contém os recursos (pastas bin, data e rules).
Vamos então criar nosso programa. Bem simples, ele aguarda o usuário digitar uma linha de texto e usa o método checkText da classe GrammarCheckerBrazilianPortuguese para obter a lista com dos possíveis erros. Dessa lista podemos extrair dados como o identificador da regra, texto de mensagem ao usuário (longo e curto), sugestões para correção (quando disponível) e a posição do erro no texto.
Vamos ao código. Crie o arquivo CorretorGramatical.java na pasta CoGrOOBase-3.0.5-bin com o seguinte conteúdo:
import java.util.List;
import java.util.Scanner;
import br.usp.pcs.lta.cogroo.entity.Mistake;
import br.usp.pcs.lta.cogroo.grammarchecker.GrammarCheckerBrazilianPortuguese;
public class CorretorGramatical {
public static void main(String[] args) {
// cria instância do corretor gramatical
GrammarCheckerBrazilianPortuguese corretorGramatical = new GrammarCheckerBrazilianPortuguese();
// prepara para obter o texto
Scanner kb = new Scanner(System.in);
System.out.println("Digite o texto seguido de Enter para verificar. Digite 't' seguido de Enter em uma nova linha para terminar: ");
String entrada = kb.nextLine();
// aguarda texto
while (!entrada.equals("t")) {
// verifica erros do texto
List<Mistake> erros = corretorGramatical.checkText(entrada);
int contador = 1;
// imprime detalhes de cada erro
for (Mistake erro : erros) {
System.out.println("Erro " + contador++ + " -");
System.out.println(" Regra '" + erro.getRuleIdentifier() + "'");
System.out.println(" Mensagem curta '" + erro.getShortMessage() + "'");
System.out.println(" Mensagem longa '" + erro.getFullMessage() + "'");
System.out.println(" Texto com erro '" + entrada.substring(erro.getStart(), erro.getEnd()) + "'");
System.out.print( " Sugestões " );
for (String sugestao : erro.getSuggestions()) {
System.out.print("[" + sugestao + "] ");
}
System.out.println();
}
// aguarda o próximo texto digitado
entrada = kb.nextLine();
}
}
}
Pronto, agora é só compilar e executar:
javac -classpath CoGrOOBase-3.0.5.jar CorretorGramatical.java
java -classpath CoGrOOBase-3.0.5.jar CorretorGramatical
2 comments:
Após muito custo, consegui instalar a extensão Speechoo no Brwritter.
Mas há um problema.
Eu dito as palavras e o BrWritter não dá nenhum sinal de vida. O BrWritter devia digitar as palavras automaticamente após eu clicar no botão Start Dictation.
Eu tinha dúvida se o problema seria q meu microfone não está instalado, mas testei através do gravador de som e constatei q o notebook consegue captar minha fala, com um pouco de ruído, mas capta. Meu notebook é um HP DV 1378
Alguém aí sabe como faço para o Ubuntu 11.04 com o LibreOffice (+ a extensão Speechoo) reconhecer e digitar o q falo?
Alguém já conseguiu fazer este programinha Speechoo funcionar no Ubuntu 11.04?
Ou pelo menos em alguma outra distru Linux. Se for o caso, eu instalo a distru correta...
A propósito será q tem alguma coisa a ver com o fato de eu estar usando o Ubuntu a partir do Wubi?
Oi, Carlos,
Desculpe, estou fora desse projeto agora. Participei mais no começo.
Vou tentar entrar em contato privado com você para tentar te colocar em contato com o pessoal que está trabalhando no SpeechOO hoje.
Um abraço,
William
Post a Comment