Una herramienta de etiquetado para entrenar un modelo de OCR jurídico

Una interfaz de etiquetado a medida para entrenar un modelo de OCR jurídico, con asistentes legales como etiquetadores: cada corrección se convertía en datos de entrenamiento etiquetados

Mi papel

Diseñador independiente

Año
2014
Sector
Jurídico, aprendizaje automático
Equipo
Único diseñador, con un ingeniero en la parte del reentrenamiento
  1. Acompañé y entrevisté a tres asistentes legales en una oficina regional y dibujé con ellos un mapa de recorrido de su trabajo.
  2. Diseñé y construí una interfaz de etiquetado a medida para entrenar el modelo de OCR jurídico: los asistentes legales etiquetaban los fragmentos de baja confianza que el modelo señalaba, eligiendo entre una taxonomía de errores de cuatro tipos.
  3. Trabajé con nuestro ingeniero, que construyó la parte que devolvía cada corrección al modelo para volver a entrenarlo.
  • 86%→93% de seguridad del modelo en sus puntos dudosos, en 1,250 documentos de entrenamiento; más seguro, sin pruebas de que sea más preciso
  • 4 de 6 votos de tres asistentes legales al momento más estresante fueron para la revisión manual del texto transcrito
  • 4 tipos de error que los asistentes legales definieron con nuestro ingeniero, las primeras pistas de las que aprendió el modelo

Resumen

Antes de un juicio, cada parte tiene que entregar sus documentos, un paso llamado exhibición de pruebas (discovery), y eso sepulta a los equipos legales bajo miles de páginas escaneadas. El software de OCR, siglas de reconocimiento óptico de caracteres, convierte la imagen de una página en texto. En historiales médicos muy desgastados lee mal lo suficiente como para que haya que revisarlo a mano, y los asistentes legales no tenían forma de saber qué páginas necesitarían ese trabajo.

Diseñé y construí una interfaz de etiquetado a medida para entrenar un modelo de OCR jurídico. Los asistentes legales eran los etiquetadores: corregían los fragmentos de los que el modelo estaba menos seguro, y cada corrección se convertía en datos de entrenamiento etiquetados. El modelo ganó seguridad. Después el proyecto se estancó, no por el modelo, sino por quién era su dueño.

Quiénes participaron

  • Asistentes legales Tres en una oficina regional, que convertían historiales médicos desgastados en texto. Ellos fijaron el límite de qué puntos revisar.
  • Nuestro ingeniero El ingeniero de aprendizaje automático que construyó la parte del reentrenamiento y pidió una lista corta y fija de tipos de error.
La herramienta de corrección en un navegador: un historial de urgencias escaneado a la izquierda con cada pasaje dudoso rodeado en rojo, y a la derecha un panel que lista cada uno de esos pasajes como un campo editable junto a un menú de tipo de error. Captura de la herramienta de corrección terminada. El documento es una prueba presentada ante un tribunal; los datos personales están tachados.
La página, con las palabras dudosas rodeadas. Solo los puntos de los que el software estaba seguro en menos de un 86% aparecen rodeados en rojo, y el resto de la página queda intacto.

Contexto

Los asistentes legales que preparaban historiales médicos muy desgastados para transcribirlos no tenían forma de saber qué páginas necesitarían trabajo manual. Todo lo que estaba borroso o sucio se apartaba y se volvía a escribir desde cero, así que una página limpia y una arruinada costaban el mismo esfuerzo.

Las correcciones se guardaban en archivos de Word con el texto reescrito y nada más: ni dónde estaba en la página, ni qué tipo de error era. Así que el modelo que cometía el error nunca se enteraba de que lo habían corregido. Además, el proceso existente era obligatorio y el nuestro era un experimento, así que lo que viniera después tenía que encajar dentro de él.

Investigación

Acompañé a tres asistentes legales mientras cargaban los escáneres y preparaban las ejecuciones del OCR. Al final de cada día los entrevistaba, y juntos dibujamos un mapa de recorrido aproximado, una imagen de cada paso del trabajo y de cómo se vivía, marcando cada tarea con un sentimiento, un pensamiento y la tecnología que se usaba.

Di a cada uno dos votos para poner en el momento más estresante y les pedí que dijeran por qué. Cuatro fueron a revisar el texto a mano y dos a esperar el escaneo. Cuando probamos Tesseract, un programa de OCR gratuito, frente al software de escaneo que ya tenían, los asistentes legales decidieron dónde estaba el límite de la revisión manual: querían ver todo aquello de lo que el software estuviera seguro en menos de un 86%.

Mapa de supuestos
Un mapa de recorrido del trabajo de los asistentes legales: los pasos para preparar registros escaneados para el OCR, lo que hacían en cada uno y dónde dijeron que el trabajo fallaba.
El mapa de recorrido. Dibujado con los tres asistentes legales; la votación puso cuatro de seis en la revisión manual, aunque el mapa muestra siete puntos por un error de conteo durante la sesión.

Diseño

El panel de corrección titulado Text Extractions, con filas que contienen las lecturas en bruto del OCR, como Pg4of34, po, i y wi, cada una junto a un menú de tipo de error, y el borde del documento escaneado visible a su izquierda. Captura del panel de corrección terminado. El plegado y el fondo translúcido se describen a partir de la herramienta en uso; ninguno se ve en una imagen fija.
El panel es la libreta. Una fila por cada pasaje dudoso, cada una con la lectura del OCR que hay que corregir y un menú de tipo de error.

Tesseract indica lo seguro que está de cada fragmento de texto, y todo lo que queda por debajo del límite del 86% aparece rodeado en rojo sobre la propia página. La idea venía del diseño editorial, donde una prueba de imprenta se corrige sobre la página misma y no en una lista aparte.

Al ver escribir a los asistentes legales, noté que bajaban la vista a una libreta de líneas y palabras clave, la subían a la pantalla y la volvían a bajar. Así que un panel junto a la página es esa libreta llevada a la pantalla, con una fila por cada punto dudoso y un menú de tipos de error. Se pliega cuando no hace falta, y su fondo translúcido nunca tapa del todo la página.

Iteración

Dos cosas que al principio di por hechas no se sostuvieron. La primera ronda de correcciones mostró que el texto corregido no bastaba para que el modelo aprendiera, así que los asistentes legales definieron con nuestro ingeniero cuatro tipos de error: Misread (lectura errónea), Incomplete (incompleto), Bad format (formato incorrecto) y Other (otro). Una lectura errónea es culpa del modelo y un formato incorrecto es culpa de la página, así que mantenerlos separados le permite aprender la lección correcta de cada uno.

El zoom del propio navegador separaba los contornos de las palabras a las que pertenecían, así que el zoom pasó a ser un control dentro de la herramienta, y los contornos crecen con la página. Cada corrección se guarda como un pequeño registro marcado con el número de su punto, lo que basta para que el paso de reentrenamiento la devuelva exactamente al lugar del que salió.

El panel de corrección con el menú de tipo de error abierto en una fila, mostrando sus cuatro opciones: Misread, Incomplete, Bad format y Other. Los campos de al lado contienen las lecturas en bruto del software, como po, Complaint; y aiey. Captura del panel de corrección terminado. Las cuatro etiquetas son la lista tal como se lanzó; ningún revisor podía agregar una quinta.
Cuatro palabras, y una de ellas es Other. Other permite que la lista siga siendo corta y aun así sea honesta sobre lo que no cubre.
El mismo registro con el control deslizante del zoom al máximo. La página aparece ampliada varias veces su tamaño normal y el contorno rojo sigue exactamente sobre la palabra Complaint, con el panel de corrección sin cambios a su lado. Captura de la herramienta de corrección terminada con el zoom al máximo. El documento es una prueba presentada ante un tribunal; los datos personales están tachados.
El zoom tenía que ser nuestro. Con el zoom al máximo, el contorno rojo sigue sobre la palabra a la que pertenece.
El panel de corrección junto a la consola de desarrollo del navegador. La consola registra cada corrección como un pequeño registro de cuatro partes: index, originalDescription, correctedDescription y errorType, con valores como po corregido a smudge y clasificado como Other. Captura de la herramienta de corrección terminada con su consola abierta. Cada registro lleva las cuatro partes que se ven; dónde está el punto en la página y lo seguro que estaba el software se quedan con las lecturas originales y se vuelven a emparejar por número.
Cada corrección sale lista para usar. El número del punto, lo que leyó Tesseract, lo que escribió el asistente legal y el tipo de error, guardados como un solo registro.

Resultados

En 1,250 documentos de entrenamiento, la seguridad del modelo en sus puntos dudosos subió del 86% al 93%. Eso mide lo seguro que estaba, no prueba que acertara. Nunca apartamos un lote de páginas de las que no hubiera aprendido para probarlo, así que lo único que puedo decir es que ganó seguridad en sí mismo, no precisión.

El tiempo ahorrado nunca se midió formalmente. El costo con el que se comparaba, unos 12 puntos dudosos por documento a 30 segundos cada uno, a $35 la hora, es una estimación mía a partir de observar las sesiones, no un estudio formal de tiempos.

  • Una lista de cuatro tipos de error elaborada por los asistentes legales y nuestro ingeniero.

  • Un zoom integrado, porque el zoom del navegador separaba los contornos de sus palabras.

Retrospectiva: lo que lo frenó

La lección más útil llegó después de que funcionara. Nadie había acordado de quién era. Una vez que estuvo claramente en marcha, surgieron las preguntas: ¿quién controla las correcciones de los asistentes legales, quién puede usar los resultados en trabajo real, quién aprueba volver a entrenar el modelo? Nadie tenía la autoridad legal o técnica para responderlas, y el proyecto se quedó ahí. Acertar con el modelo era la mitad del trabajo. Lograr que las personas a su alrededor se pusieran de acuerdo era la otra mitad, y nadie lo había previsto.