¿Qué es el procesamiento de documentos?
El procesamiento de documentos es el proceso de automatización de la extracción de datos estructurados de los documentos. Esto podría ser para cualquier documento, digamos una factura, un currículum, tarjetas de identificación, etc. La parte desafiante aquí no es solo el OCR. Hay muchas opciones disponibles a bajo costo que pueden extraer texto y brindarle la ubicación. El verdadero desafío es etiquetar estos fragmentos de texto de forma precisa y automática.
Impacto comercial del procesamiento de documentos
Varias industrias dependen en gran medida del procesamiento de documentos para sus operaciones diarias. Las organizaciones financieras necesitan acceso a las presentaciones de la SEC, las presentaciones de seguros, una empresa de comercio electrónico o cadena de suministro podría necesitar acceso a las facturas que se están utilizando, y la lista continúa. La precisión de esta información es tan importante como el tiempo que se ahorra, por lo que siempre recomendamos utilizar métodos avanzados de aprendizaje profundo que generalicen más y sean más precisos.
Según este informe de PwC, [liga] incluso la cantidad más rudimentaria de extracción de datos estructurados puede ayudar a ahorrar entre un 30 % y un 50 % del tiempo que los empleados dedican a copiar y pegar manualmente datos de archivos PDF a hojas de cálculo de Excel. Los modelos como LayoutLM ciertamente no son rudimentarios, se han creado como agentes extremadamente inteligentes capaces de extraer datos precisos a escala, en diferentes casos de uso. Incluso con muchos de nuestros propios clientes, hemos reducido el tiempo necesario para extraer datos manualmente de 20 minutos por documento a menos de 10 segundos. Ese es un cambio masivo, que permite a los trabajadores ser más productivos y lograr un mayor rendimiento en general.
Entonces, ¿dónde se puede aplicar una IA similar a LayoutLM? En Nanonets, hemos utilizado esta tecnología para
- Automatización del procesamiento de facturas
- Extracción de datos de tabla
- Extracción de datos de formulario
- Reanudar análisis
y muchos otros casos de uso.
¿Por qué LayoutLM?
¿Cómo entiende un modelo de aprendizaje profundo si un fragmento de texto determinado es una descripción de artículo en una factura o el número de factura? En pocas palabras, ¿cómo aprende un modelo a asignar etiquetas correctamente?
Un método es usar incrustaciones de texto de un modelo de lenguaje masivo como BERT o GPT-3 y ejecutarlo a través de un clasificador, aunque esto no es muy efectivo. Hay mucha información que uno no puede medir usando únicamente texto. O bien, se podría hacer uso de información basada en imágenes. Esto se logró mediante el uso de modelos R-CNN y Faster R-CNN. Sin embargo, esto todavía no utiliza completamente la información disponible en los documentos. Otro enfoque utilizado fue con Graph Convolutional Neural Networks, que combinaba información de ubicación y textual, pero no tenía en cuenta la información de la imagen.
Entonces, ¿cómo usamos las tres dimensiones de la información, es decir, el texto, la imagen y la ubicación del texto dado también? Ahí es donde entran modelos como LayoutLM. A pesar de ser un área activa de investigación durante muchos años antes, LayoutLM fue uno de los primeros modelos que logró el éxito combinando las piezas para crear un modelo singular que realiza el etiquetado utilizando información posicional, información basada en texto, y también información de la imagen.
Tutorial de LayoutLM
Este artículo asume que entiendes lo que es un modelo de lenguaje. Si no, no te preocupes, ¡también escribimos un artículo sobre eso! Si desea obtener más información sobre qué son los modelos de transformadores y qué es la atención, aquí es un artículo increíble de Jay Alammar.
Asumiendo que hemos quitado estas cosas del camino, comencemos con el tutorial. Usaremos el documento original de LayoutLM como referencia principal.
Extracción de texto OCR
Lo primero que hacemos con un documento es extraer la información basada en texto del documento y encontrar sus ubicaciones respectivas. Por ubicación, nos referimos a algo llamado 'cuadro delimitador'. Un cuadro delimitador es un rectángulo que encapsula el fragmento de texto en la página.
En la mayoría de los casos, se supone que el cuadro delimitador tiene su origen en la esquina superior izquierda y que el eje x positivo se dirige desde el origen hacia la derecha de la página, y el eje y positivo se dirige desde el origen hacia la parte inferior de la página, siendo un píxel la unidad de medida.
Inserciones de idioma y ubicación
A continuación, utilizamos cinco capas de incrustación diferentes. Uno, es codificar la información relacionada con el idioma, es decir, incrustaciones de texto.
Los otros cuatro están reservados para incrustaciones de ubicación. Suponiendo que conocemos los valores de xmin, ymin, xmax e ymax, podemos determinar el cuadro delimitador completo (si no puedes visualizarlo, Aquí hay un enlace para vos). Estas coordenadas se pasan a través de sus respectivas capas de incrustación para codificar la información de ubicación.
Las cinco incrustaciones, una para el texto y cuatro para las coordenadas, se suman para crear el valor final de la incrustación que se pasa a través de LayoutLM. La salida se conoce como incrustación de LayoutLM.
Incrustaciones de imágenes
Bien, hemos logrado encontrar el texto y la información relacionada con la ubicación combinando sus incrustaciones y pasándola a través de un modelo de lenguaje. Ahora, ¿cómo recorremos el proceso de combinar información relacionada con la imagen en él?
Mientras se codifica la información de texto y diseño, en paralelo, usamos Faster R-CNN para extraer las regiones de texto relacionadas con el documento. Faster R-CNN es un modelo de imagen utilizado para la detección de objetos. En nuestro caso, lo usamos para detectar diferentes fragmentos de texto (asumiendo que cada frase es un objeto) y luego pasamos las imágenes segmentadas a través de una capa completamente conectada para ayudar a generar incrustaciones también para las imágenes.
Las incrustaciones de LayoutLM, así como las incrustaciones de imágenes, se combinan para crear una incrustación final, que luego se puede usar para realizar el procesamiento posterior.
LayoutLM previo al entrenamiento
Todo lo anterior tiene sentido solo si entendemos el método en el que se entrenó LayoutLM. Después de todo, no importa qué tipo de conexiones establezcamos en una red neuronal, a menos que esté entrenada con el objetivo de aprendizaje correcto, no es del todo inteligente. Los autores de LayoutLM querían seguir un método similar al que se usó para el BERT previo al entrenamiento.
Modelo de lenguaje visual enmascarado (MVLM)
Para ayudar al modelo a aprender qué texto podría haber en una determinada ubicación, los autores enmascararon aleatoriamente algunas muestras de texto mientras conservaban la información relacionada con la ubicación y las incrustaciones. Esto permitió a LayoutLM ir más allá del simple modelado de lenguaje enmascarado y también ayudó a asociar incrustaciones de texto con modalidades relacionadas con la ubicación.
Clasificación de documentos multietiqueta (MDC)
El uso de toda la información del documento para clasificarlo en categorías ayuda al modelo a comprender qué información es relevante para una determinada clase de documentos. Sin embargo, los autores señalan que para conjuntos de datos más grandes, es posible que los datos sobre clases de documentos no estén fácilmente disponibles. Por lo tanto, han proporcionado resultados basados tanto en el entrenamiento MVLM solo como en el entrenamiento MVLM + MDC.
Ajuste fino de LayoutLM para tareas posteriores
Hay varias tareas posteriores que se pueden ejecutar con LayoutLM. Estaremos discutiendo los que los autores emprendieron.
Comprensión de formularios
Esta tarea implica vincular un tipo de etiqueta a un fragmento de texto determinado. Con esto, podemos extraer datos estructurados de cualquier tipo de documento. Dado el resultado final, es decir, incrustaciones de LayouLM + incrustaciones de imágenes, se pasan a través de una capa completamente conectada y luego a través de un softmax para predecir las probabilidades de clase para la etiqueta de un texto determinado.
Entendimiento del recibo
En esta tarea, varios espacios de información quedaron vacíos en los recibos y el modelo tuvo que colocar correctamente los fragmentos de texto en sus respectivos espacios.
Clasificación de imágenes de documentos
La información del texto y la imagen del documento se combina para ayudar a comprender la clase del documento simplemente pasándolo a través de una capa softmax.
Diseño de cara abrazadaLM
Una de las razones principales por las que se habla tanto de LayoutLM es porque el modelo era de código abierto hace un tiempo. Está disponible en Hugging Face, por lo que usar LayoutLM es mucho más fácil ahora.
Antes de sumergirnos en los detalles de cómo puede ajustar LayoutLM para sus propias necesidades, hay algunas cosas que debe tener en cuenta.
Instalación de bibliotecas
Para ejecutar LayoutLM, necesitará la biblioteca de transformadores de Hugging Face, que a su vez depende de la biblioteca PyTorch. Para instalarlos (si aún no están instalados), ejecute los siguientes comandos
En cuadros delimitadores
Para crear un esquema de incrustación uniforme independientemente del tamaño de la imagen, las coordenadas del cuadro delimitador se normalizan en una escala de 1000
Configuración
Con la clase transformers.LayoutLMConfig, puede establecer el tamaño del modelo para que se adapte mejor a sus requisitos, ya que estos modelos suelen ser pesados y necesitan bastante potencia informática. Establecerlo en un modelo más pequeño podría ayudarlo a ejecutarlo localmente. Puede Conoce más sobre la clase aquí.
LayoutLM para clasificación de documentos (Enlace)
Si desea realizar una clasificación de documentos, necesitará la clase transformers.LayoutLMForSequenceClassification. La secuencia aquí es la secuencia de texto del documento que ha extraído. Aquí hay una pequeña muestra de código de Hugging Face.co que explicará cómo usarlo
LayoutLM para etiquetado de texto (Enlace)
Para realizar el etiquetado semántico, es decir, asignar etiquetas a diferentes partes del texto del documento, necesitará la clase transformers.LayoutLMForTokenClassification. Puede encontrar más detalles en el igual que aquí.Aquí hay una pequeña muestra de código para que vea cómo puede funcionar para usted
Algunos puntos a tener en cuenta sobre el diseño de cara abrazadaLM
- Actualmente, el modelo Hugging Face LayoutLM hace uso de la biblioteca de código abierto Tesseract para la extracción de texto, que no es muy precisa. Es posible que desee considerar el uso de una herramienta OCR paga diferente como AWS Textract o Google Cloud Vision
- El modelo existente solo proporciona el modelo de lenguaje, es decir, las incrustaciones de LayoutLM, y no las capas finales que combinan características visuales. DiseñoLMv2 (discutido en la siguiente sección) utiliza la biblioteca Detectron para permitir también la incorporación de características visuales.
- La clasificación de las etiquetas ocurre a nivel de palabra, por lo que realmente depende del motor de extracción de texto OCR garantizar que todas las palabras en un campo estén en una secuencia continua, o que un campo se prediga como dos.
DiseñoLMv2
LayoutLM surgió como una revolución en la forma en que se extraían los datos de los documentos. Sin embargo, en lo que respecta a la investigación del aprendizaje profundo, los modelos solo mejoran cada vez más con el tiempo. LayoutLM fue reemplazado de manera similar por LayoutLMv2, donde los autores realizaron algunos cambios significativos en la forma en que se entrenó el modelo.
Incluidas incrustaciones espaciales 1-D e incrustaciones de tokens visuales
LayoutLMv2 incluía información sobre la ubicación relativa 1-D, así como información general relacionada con la imagen. La razón por la que esto es importante se debe a los nuevos objetivos de capacitación, que ahora discutiremos
Nuevos Objetivos de Entrenamiento
LayoutLMv2 incluyó algunos objetivos de entrenamiento modificados. Estos son los siguientes:
- Modelado de lenguaje visual enmascarado: esto es lo mismo que en LayoutLM
- Alineación de imagen de texto: el texto se cubrió aleatoriamente de la imagen, mientras que los tokens de texto se proporcionaron al modelo. Para cada ficha, el modelo tenía que saber si el texto dado estaba cubierto o no. A través de esto, el modelo pudo combinar información de modalidades tanto visuales como textuales.
- Coincidencia de imagen de texto: se le pide al modelo que verifique si la imagen dada corresponde al texto dado. Las muestras negativas se alimentan como imágenes falsas o no se proporcionan incrustaciones de imágenes en absoluto. Esto se hace para garantizar que el modelo aprenda más sobre cómo se relacionan el texto y las imágenes.
Usando estos nuevos métodos e incrustaciones, el modelo pudo lograr puntajes F1 más altos en casi todos los conjuntos de datos de prueba como LayoutLM.
- Acerca
- de la máquina
- Mi Cuenta
- preciso
- alcanzado
- a través de
- lector activo
- avanzado
- agentes
- AI
- Todos
- ya haya utilizado
- Aunque
- cantidad
- Otra
- enfoque
- Reservada
- en torno a
- artículo
- Autorzy
- Hoy Disponibles
- AWS
- base
- "Ser"
- MEJOR
- Poco
- Box
- Tarjetas
- cases
- Reto
- clasificación
- Soluciones
- código
- combinado
- compañía
- Calcular
- Configuración
- Conexiones
- consideración
- Precio
- podría
- Clientes
- datos
- día
- A pesar de las
- Detección
- HIZO
- una experiencia diferente
- documentos
- DE INSCRIPCIÓN
- comercio electrónico
- Eficaz
- permitiendo
- establecer
- Excel
- Cara
- más rápida
- Feature
- Caracteristicas
- Fed
- financiero
- Nombre
- siguiendo
- generar
- GitHub
- ayuda
- ayuda
- esta página
- Cómo
- Como Hacer
- HTTPS
- imagen
- Impacto
- importante
- mejorar
- incluido
- industrias
- información
- aseguradora
- De Operación
- IT
- etiquetado
- Etiquetas
- idioma
- mayores
- APRENDE:
- aprendizaje
- Nivel
- Biblioteca
- LINK
- Lista
- localmente
- Ubicación
- .
- a mano
- masivo
- pareo
- Materia
- modelo
- modelos
- MEJOR DE TU
- del sistema,
- telecomunicaciones
- habiertos
- de código abierto
- Operaciones
- Opciones
- solicite
- para las fiestas.
- Otro
- dinero
- Papel
- pieza
- industria
- proporciona un
- PWC
- razones
- recomiendan
- reporte
- Requisitos
- Requisitos
- la investigación
- Resultados
- currículum
- Ejecutar
- Escala
- esquema
- SEG
- sentido
- set
- pólipo
- Turno
- importante
- similares
- sencillos
- Tamaño
- chica
- inteligente
- So
- algo
- fundó
- comercial
- suministro
- cadena de suministro
- tareas
- Tecnología
- test
- A través de esta formación, el personal docente y administrativo de escuelas y universidades estará preparado para manejar los recursos disponibles que derivan de la diversidad cultural de sus estudiantes. Además, un mejor y mayor entendimiento sobre estas diferencias y similitudes culturales permitirá alcanzar los objetivos de inclusión previstos.
- equipo
- ficha
- Tokens
- parte superior
- Formación
- entender
- utilizan el
- utilizar
- propuesta de
- ¿
- sean
- palabras
- Actividades:
- los trabajadores.
- años