CORRECCIÓN DE TEXTO

STILUS: Corrector ortográfico, gramatical y de estilo

STILUS es el corrector ortográfico, gramatical y de estilo de gran calidad para textos en castellano desarrollado por DAEDALUS.

Existen versiones disponibles de STILUS integradas en algunas de las herramientas software más populares del mercado. Además, realizamos soluciones a medida e integramos STILUS en su propia aplicación.

También hay disponible un portal web (http://stilus.daedalus.es) donde puede revisar sus propios documentos y páginas web de forma gratuita.

  • Acceso al portal STILUS (http://stilus.daedalus.es)
  • Acceso a la página del producto STILUS

Fundamentos lingüísticos

El corrector se basa, por una parte, en una base léxica con información morfosintáctica/semántica de palabras (STILUS Core) y, por otro, en una colección de reglas de corrección.

Cada regla sigue la estructura general:

SI
   foco
ENTONCES
   acciones
FIN

  • Detección del foco: dada una frase, el primer paso es detectar qué es diferente en el contexto fuente respecto de la cadena pretendida, es decir, qué palabra o secuencia de palabras hay que cambiar en el texto original para que se respete adecuadamente la norma lingüística.
  • Acciones: la segunda parte de la regla es la que se encarga de llevar a cabo expresamente dicho cambio, es decir, de ejecutar cuantas modificaciones sean necesarias en la frase original para reescribir la frase en la forma correcta.

Por ejemplo, un par de posibles reglas podrían ser:

// *Me dijo de que viniera -> Me dijo que viniera
SI
   entre los lemas de la palabra N están "decir” O “pensar" O “saber” Y
   la palabra N+1 es “de”
   la palabra N+2 es “que”
ENTONCES
   eliminar la palabra N+1
FIN


(se comprueba el lema para poder detectar todas las formas conjugadas de dichos verbos y no simplemente la palabra entrecomillada)

// *En contra mío -> En mi contra
SI
   la palabra N es “en” Y
   la palabra N+1 es “contra” Y
   la palabra N+2 es “mío”
ENTONCES
   inserta detrás de la N la palabra “mi” Y
   borra la N+2
FIN

Entre otras posibles funciones, el foco permitirá realizar comprobaciones en la palabra N-ésima de la frase en el sentido, por ejemplo, de que:

  • la palabra completa sea igual a una dada
  • la palabra empiece por la cadena proporcionada
  • la palabra acabe por la cadena proporcionada
  • exista el lema dado (pudiendo haber otros lemas) – operador "existencial"
  • exista el lema dado, y sólo ese – operador "universal"
  • exista la etiqueta morfosintáctica dada (pudiendo haber otras) – existencial
  • exista la etiqueta morfosintáctica dada, y sólo esa – universal
  • la palabra esté al principio de la frase
  • la palabra esté al final de la frase
  • etc.

Esto en combinación con:

  • el operador NOT para comprobar que no se cumple la condición
  • los operadores binarios AND y OR
  • el uso de paréntesis para modificar la prioridad de los operadores

En cuanto a las acciones más habituales que se pueden realizar sobre la palabra N-ésima de la frase en la segunda parte de la regla tenemos, entre otras, las siguientes posibilidades:

  • obtener el lema que corresponde a una etiqueta determinada
  • obtener la palabra (para su procesamiento posterior)
  • obtener el género de la palabra
  • obtener el número de la palabra
  • generar una palabra (nominal o general) a partir de un lema y una etiqueta (en la generación nominal, se intenta que la palabra generada tenga el mismo género y número que la palabra dada; en la general se genera una palabra con igual etiqueta completa)
  • generar una palabra cambiando una cadena por otra en una palabra dada
  • añadir prefijos a una palabra dada
  • añadir sufijos a una palabra dada
  • eliminar la palabra N-ésima de la frase
  • insertar una nueva palabra delante de la palabra N-ésima
  • insertar una nueva palabra detrás de la palabra N-ésima
  • cambiar la palabra N-ésima por otra palabra dada
  • copiar delante de la palabra N-ésima la palabra M-ésima
  • copiar detrás de la palabra N-ésima la palabra M-ésima
  • intercambiar entre sí la palabra N-ésima y la M-ésima
  • ajustar la capitalización de las palabras
  • etc.

En general, el lenguaje creado para la especificación de fenómenos lingüísticos permite una gran expresividad, flexibilidad y precisión, así como una facilidad de uso por parte del equipo de lingüistas que no tiene por qué tener amplios conocimientos técnicos de informática.

El procesador de reglas es el encargado de la compilación de las reglas lingüísticas y de su aplicación concreta en una frase.

Para cada una de las frases del texto (o pila de tokens detectada por el segmentador), comprueba cada una de las reglas de forma sucesiva (desde la primera regla –que se trata como regla más prioritaria de todas– hasta la última –menos prioritaria–), analizando si el foco expresado coincide con una palabra o secuencia de palabras de la frase. Si éste es el caso, es decir, si la regla se ha activado, el módulo ejecuta las operaciones expresadas por la regla, y pasa a la regla siguiente. En caso contrario, comprueba la regla que sigue, así hasta el final de la frase, y lo mismo para todas las frases del texto.

Cada operación ejecutada se apunta en una lista de modificaciones al texto, que es la que se devuelve como salida del módulo para su tratamiento posterior por el módulo de presentación.