martes, 13 de noviembre de 2012

petraREV: La importancia de los espacios en blanco

La comprobación de la coherencia en la traducción es, sin duda, una de las funciones más populares de cualquier sistema de revisión asistida. Resulta fácil de comprender que un mismo texto de origen debe traducirse siempre con el mismo texto de destino, a excepción de unas cuantas excepciones que justifican que esta norma se incumpla.

Precisamente por ser una de las operaciones más eficaces, resulta particularmente frustrante que se nos muestren como distintos dos segmentos que, a simple vista, parecen exactamente idénticos. petraREV utiliza varios métodos para resaltar las diferencias pero en ocasiones no parecen capaces de hallar las diferencias entre dos segmentos. ¿Qué ocurre en esos casos?

La respuesta a esta pregunta se halla, principalmente, en los espacios en blanco. Dado que la comparación se realiza a nivel de token y no de caracteres intersticiales (principalmente espacios en blanco), el algoritmo actual es incapaz de detectar donde están las diferencias.

En realidad, hay un buen motivo para que se haya programado de ella manera. La comparación de segmentos es una tarea compleja que se complica aún más si tenemos que tratar con los espacios en blanco, ya que los seres humanos adoptamos acerca de la posición de los espacios en blanco que no son evidentes para una máquina. ¿Está asociado un espacio en blanco con la palabra anterior o con la siguiente? ¿Al mover una palabra es implícito que se traslada con ella sus espacios en blanco? ¿Se aplican estos criterios también a los espacios inicial de una frase o su posición les independiza de todas las palabras que la componen?

Aparte de toda esta complejidad, lo cierto es que cuando dos textos son sustancialmente diferentes, los espacios parecen perder importancia. Cuando una frase se ha reformulado, añadiendo palabras, cambiándolas de lugar o eliminándolas, no parece que los espacios en blanco sean tan importantes. Los espacios en blanco parecen ser importantes solo cuando todo lo demás coincide.

A partir de esta idea, se ha incorporado un algoritmo a petraREV que solo comprueba los espacios en blanco cuando todo lo demás coincida y resulta admisible exigir una correspondencia de uno a uno entre dos textos.

Aún así, siguen planteándose algunos problemas, por ejemplo, cuando hay tres segmentos con diferentes traducciones y las diferencias se concentran en espacios presentes solo en el primer segmento. Dado que al presentar las incoherencias entre más de dos segmentos, la comparación solo se establece entre los segmentos a partir del segundo y el primero, los espacios en blanco no serían visibles y, una vez mas, todos los segmentos parecerían idénticos. Rebuscado, ¿verdad?

La experiencia demuestra que estas alineaciones de circunstancias extrañas acaban pasando en la realidad. No obstante, al crear un programa de esta índole, rara vez es posible atender el 100% de los casos que acabaran sucediendo. No obstante, poder pasar del 98% al 99% ya es un logro y lo que quede será un estupendo tema sobre el que plantearse preguntas y crear una nueva versión, aún más completa.

No hay comentarios:

Publicar un comentario