Introducción
Una vez ya hemos superado el primera paso correspondiente a la corrección ortográfica de un texto, no nos podemos quedar ahí, puesto que aunque aparentemente no tengamos ninguna falta de ortografía, hay que indicar que los correctores habituales son incapaces de detectar errores tipo incongruencias entre el género o el número, detectar palabras repetidas o paréntesis sin cerrar, etc. Es en este ámbito donde nace LanguageTool
LanguageTool
LanguageTool es un corrector de estilo y gramática de código abierto, capaz de detectar errores que un simple corrector ortográfico no detectaría. Se trata de una herramienta compuesta por reglas definidas específicamente para cada lenguaje. Algunas reglas son definidas en base a patrones, y otras mas complicadas se definen en java.
Esta herramienta trabaja tanto de forma independiente, como integrada en LibreOffice, así como puede ser utilizada desde otras aplicaciones. Lo primero es descargar la aplicación desde la página web de LanguageTool.
Como extensión de LibreOffice/OpenOffice.org
Desde Writer, por ejemplo, en el menú, seleccionas Herramientas > Administrador de extensiones > Añadir. Una vez añadido el complemento, cierras LibreOffice y reinicias. Con el fin de comprobar su correcto funcionamiento, escribe algún error que LanguageTool sea capaz de detectar, por ejemplo, repite una palabra dos veces o dos espacios entre una palabra y otra, y verás una línea azul remarcando el error. Los errores ortográficos en LibreOffice/OpenOffice aparecen en rojo, y estos aparecerán en azul.
Como aplicación independiente
Para utilizarla como una herramienta independiente, tienes que renombrar el archivo que has descargado con extensión *.oxt, para que tenga extensión *.zip, y descomprimirlo. Una vez descomprimido, puedes ejecutar la aplicación desde el terminal ejecutando el siguiente comando:
java -jar LanguageToolGUI.jar
Otra posibilidad para ejecutarlo, es hacerlo ejecutable:
chmod +x LanguageToolGUI.jar
Como parte de otras aplicaciones Java
Para emplearlo en otras aplicaciones java, tendrás que crear un objeto JLanguageTool, que utilizarás para comprobar si existe algún error en el texto. Por ejemplo:
[java]
JLanguageTool langTool = new JLanguageTool(Language.ENGLISH);
langTool.activateDefaultPatternRules();
List matches = langTool.check(«A sentence » +
«with a error in the Hitchhiker’s Guide tot he Galaxy»);
for (RuleMatch match : matches) {
System.out.println(«Potential error at line » +
match.getEndLine() + «, column » +
match.getColumn() + «: » + match.getMessage());
System.out.println(«Suggested correction: » +
match.getSuggestedReplacements());
}
[/java]
Conclusiones
Se trata de una herramienta muy potente, pero que en la actualidad está poco desarrollada. En el siguiente cuadro extraído de la página de LanguageTool, puedes ver la situación en la que se encuentra los idiomas soportados por esta herramienta:
Si te fijas, en español, apenas se llegan a las 70 reglas, mientras que otros idiomas, como el inglés o el alemán, están por encima de las 700 y 800 reglas, por no hablar del francés que supera las 2.000.
Al tratarse de una herramienta de código abierto, y eminentemente colaborativa, se puede desarrollar mucho mas, y mucho mas rápido. Solo se trata de dar a conocer las posibilidades, el uso, así como divulgar sus prestaciones, por aquello de escribir un poco mejor.
Más información | LanguageTool
Hola, puede que en Ubuntu no funcione, se soluciona instalando:
en openoffice: openoffice.org-java-common
en libreoffice: libreoffice-java-common
Saludos
Gracias por el tip, lo fui a probar y no lo podía usar.
Me encanta tu blog, no se donde encuentras todas estas cosas
Pero existe un gran problema: El desarrollo de esta aplicación esta suspendido para la lengua española. Desde finales de 2012 no se agrega nada nuevo a este corrector, a pesar de que las reglas que tiene son muy básicas. Es decir, a pesar de estar en braguitas y haber mil reglas que pueden agregarse, y diez mil correcciones para hacerle a las reglas que ya tiene, no se agrega nada nuevo desde hace mucho.
¿Podrías hacer una actualización de esta entrada de hace 10 años? 🙂