Recuperación de portadas y metadatos de libros mediante OCR y la API de Google Libros
Con KNIME, extraer piezas críticas de información de las imágenes se vuelve tan fácil como ABC.
By roberto cadili, científico de datos, KNIME & Lada Rudnitckaia, científico de datos, KNIME
Figura 1: Ejemplos de avisos de edición de libros donde se puede extraer información gracias a OCR.
La mayoría de las veces, los datos sin procesar que necesitamos para nuestro proyecto de ciencia de datos no están organizados en una tabla ordenada, bien estructurada y detallada. Más bien, esto a veces se almacena como texto en un documento escaneado. Luego, las palabras del documento deben extraerse una por una para formar una celda de datos con formato de texto. Esta es la tarea que realiza el reconocimiento óptico de caracteres (OCR).
A medida que lee las palabras de este artículo, ya sea texto o número, sus ojos pueden procesarlas al reconocer patrones claros y oscuros que componen los caracteres (por ejemplo, letras, números, signos de puntuación, etc.). Luego, su cerebro decodifica las diferentes combinaciones de caracteres y patrones para comprender el significado de las palabras. En ese sentido, sus ojos y su cerebro son el motor OCR más sofisticado y refinado que pueda imaginar, y funcionan sin que usted se dé cuenta.
Las computadoras tienen capacidades similares, pero deben abordar una limitación crucial: la ausencia de ojos. Si queremos que las computadoras vean y lean un documento de texto físico, debemos ingresar un archivo gráfico generado con un escáner óptico o una cámara digital. En lo que respecta a las computadoras, no hay diferencia entre un documento adquirido con cualquiera de esas opciones y una fotografía de la Torre Eiffel: ambos se consideran colecciones sin sentido de cuadrados de colores, también conocidos como píxeles, que constituyen cualquier imagen gráfica de computadora. Como tal, este último es solo una imagen del texto que pretendemos leer en lugar del texto en sí.
Aquí es donde OCR puede ser útil. Esta poderosa tecnología es capaz de extraer datos impresos, mecanografiados o escritos a mano, ya sean facturas, tarjetas de presentación, textos legales o impresiones, y convertirlos en un formato digital editable y con capacidad de búsqueda. Aunque durante muchos años se ha considerado que el OCR es un servicio caro, que solo unas pocas grandes empresas pueden permitirse, desde mediados de la década de 2000 en adelante, su costo se ha ido hundiendo gradualmente mientras que su precisión y capacidades han evolucionado para soportar hoy en día varios cientos de idiomas y codificación de caracteres. , de UTF-8 a GB2312.
El beneficio de poder buscar y extraer texto de las imágenes puede no tener precio. Por ejemplo, en la industria legal o contable, puede representar un importante ahorro de tiempo y costos, ya que permite recuperar partes de texto o números en artículos o estados financieros en cuestión de segundos. Comparar este proceso con el costo de contratar a un grupo de personas para leer miles de documentos solo para encontrar una única pieza de información crítica da una idea de cómo OCR puede beneficiar a las empresas.
Más recientemente, la tecnología OCR está experimentando una revolución silenciosa a medida que los proveedores de este servicio la combinan con IA. Como resultado, no solo se capturan datos, se pueden buscar y editar, sino que el sistema de inteligencia artificial realmente comprende el contenido para llevar a cabo tareas específicas. Por ejemplo, después de OCR de un texto, la IA puede proporcionar su traducción mediante la traducción automática neuronal con una intervención humana mínima. Otro ejemplo clásico proviene de la sección de auditoría, donde las facturas fraudulentas se pueden reconocer después de OCRing el contenido del documento pdf, utilizando técnicas de detección de valores atípicos. Y así. Esta sinergia combina lo mejor de ambos mundos para optimizar los procesos y aumentar la productividad de las empresas y los clientes.
En el caso de uso descrito en este artículo, el OCR se usa para identificar un libro y luego recuperar los metadatos del libro del repositorio de Google Books.
Más específicamente, vamos a echar un vistazo a:
- Cómo se puede llevar a cabo el OCR en Plataforma de análisis KNIME.
- Cómo podemos integrar el procesador OCR de KNIME y la API de Google Books para el caso de uso de recuperación de metadatos y portadas de libros.
OCR en la plataforma de análisis KNIME
OCRing una imagen que contiene texto en KNIME es una tarea muy fácil. Todo lo que se necesita es instalar el Procesamiento de imágenes KNIME: integración Tess4J extensión en tu local Plataforma de análisis KNIME, y para arrastrar y soltar el tess4j nodo en su editor de flujo de trabajo.
El nodo Tess4J integra el Biblioteca Tesseract OCR, uno de los procesadores OCR de código abierto más utilizados y precisos disponibles. Tesseract fue desarrollado originalmente como un software patentado por Hewlett-Packard Laboratories a principios de la década de 1990 y luego se hizo de código abierto en 2005. Desde entonces, Google adoptó el proyecto y patrocinó su desarrollo.
El nodo Tess4J se ejecuta en Tesseract 3, que funciona reconociendo patrones de caracteres en un procedimiento de dos pasos.
- En la primera pasada, el motor intenta reconocer cada carácter individual. Luego pasa los caracteres que fueron reconocidos con alta confianza en el primer paso a un clasificador adaptativo como datos de entrenamiento. De esta forma, el clasificador adaptativo tiene la oportunidad de aprender a reconocer el texto subsiguiente con mayor precisión.
- Sin embargo, puede suceder que el clasificador adaptativo aprenda información útil demasiado tarde para hacer una contribución significativa. Para resolver este problema y aprovechar el conocimiento adquirido por el clasificador adaptativo, el motor opera un segundo paso donde los caracteres que no fueron reconocidos lo suficientemente bien son reconocidos nuevamente [1].
Tesseract 3 maneja cualquier carácter Unicode (codificado con UTF-8) y puede procesar texto en varios idiomas y diseños de escritura: de izquierda a derecha (p. ej., inglés, italiano, ruso, etc.), de derecha a izquierda (p. ej., árabe, hebreo, urdu, etc.) y de arriba hacia abajo (por ejemplo, japonés, coreano, chino, etc.) [2].
Renuncia. Los usuarios de Mac actualmente no pueden usar el nodo Tess4J. Los desarrolladores de KNIME están trabajando para restaurar el buen funcionamiento.
Caso de uso: recuperación de metadatos y portadas de libros
Ahora que hemos adquirido una comprensión básica de cómo funciona OCR en la plataforma de análisis KNIME, echemos un vistazo a un caso de uso interesante. Supongamos que hemos recopilado imágenes que ilustran los avisos de edición de varios libros y con esta información queremos recuperar metadatos y portadas de libros. Los datos recuperados podrían usarse, por ejemplo, para construir una biblioteca digital personalizada y entrenar un sistema de recomendación de libros.
El flujo de trabajo de la Figura 2 cubre todos los pasos: desde la lectura de imágenes, OCRing, procesamiento de texto y extracción de referencias ISBN, hasta metadatos de libros y recuperación y visualización de portadas. Echemos un vistazo a los diferentes pasos en detalle.
Figura 2: Este flujo de trabajo realiza una tarea de OCR simple en los avisos de edición de libros y recupera los metadatos y la portada del libro mediante la API de Google Books.
1 — Leer datos de imagen
El primer paso es importar las imágenes del aviso de edición del libro a KNIME. El aviso de edición es la página de un libro que contiene información sobre la edición actual, como un aviso de derechos de autor, avisos legales, información de publicación, historial de impresión y un código ISBN (Figura 1).
El metanodo "Leer datos de imagen" se encarga de eso de una manera fácil y programática (Figura 3). Identificamos la ubicación donde se almacenan los archivos de imagen con el Listar archivos / carpetas nodo y usar el Lector de imágenes (tabla) nodo para importar correctamente las imágenes. En el nodo Lector de Imágenes (Tabla), solo necesitamos especificar la “Columna de Entrada de Archivo”, es decir, la columna con las rutas a los archivos donde se almacenan nuestras imágenes. Todas las demás configuraciones se pueden dejar como predeterminadas.
El Image Reader (Table) es parte del Procesamiento de imágenes KNINE extensión y, al igual que otros nodos en esta extensión, ofrece una vista interactiva que contiene la imagen y sus metadatos simplemente haciendo clic derecho en el nodo, seleccionando "Ver: Visor de imágenes" y haciendo doble clic en cualquier imagen en la vista de tabla.
Figura 3: Dentro del metanodo "Leer datos de imagen". El nodo Image Reader (Table) importa imágenes al flujo de trabajo y nos permite explorarlas interactivamente en su vista.
2 — reconocimiento óptico de caracteres
Después de leer los archivos de imagen de los avisos de edición de libros, podemos OCR.
La configuración del nodo Tess4J es muy simple y requiere solo unos pocos clics (Figura 4). En el Ajustes pestaña, el nodo ofrece la posibilidad de corregir cualquier rotación o imagen sesgada seleccionando la casilla "Enderezar imágenes de entrada" en la sección "Preprocesamiento" del cuadro de diálogo de configuración. Por lo general, se recomienda hacerlo, ya que es posible que los archivos gráficos no estén alineados correctamente. Además, el nodo Tess4J produce automáticamente una imagen binarizada detrás del capó.
A continuación, seleccionamos la “Ruta Tessdata”. Por defecto, está configurado en "Usar interno", lo que nos permite elegir el idioma del texto que queremos procesar. En esta configuración, el inglés es el idioma predeterminado, pero el nodo Tess4J admite otros idiomas naturales, como danés, italiano, español, ruso, griego, eslovaco, alemán y francés. Vale la pena mencionar que al seleccionar "Usar externo", podemos expandir las capacidades del nodo Tess4J para incluir idiomas que no son compatibles internamente. De hecho, podemos elegir nuestros propios modelos de lenguaje de datos entrenados externos especificando el directorio donde se almacenan. Elegimos "Usar interno" porque preferimos confiar en los modelos internos de Tess4J para nuestros documentos en inglés.
En la sección "Configuración de reconocimiento", encontramos las dos configuraciones de lista desplegable más importantes, a saber, el "Modo de segmentación de página" y el "Modo de motor OCR". El primero define cómo se segmenta nuestra página.
En la Figura 4, seleccionamos "Full Auto Pageseg", que garantiza una segmentación de página completamente automática. Dependiendo del caso de uso específico en cuestión, seleccionar otro modo de los 13 disponibles (por ejemplo, "Columna única" o "Texto disperso") podría ser una opción más adecuada.
La segunda configuración nos pide que elijamos el motor OCR. Aquí, seleccionamos "Solo Tesseract", lo que garantiza la ejecución más rápida. Otras opciones incluyen "Solo cubo", un modo de reconocimiento alternativo para Tesseract, que es más lento pero a menudo produce mejores resultados; o “Tesseract And Cube”, que combina lo mejor de ambos mundos. Elegir un motor u otro depende mucho de la calidad de la imagen y la complejidad del texto que queremos procesar.
Además de la configuración básica, el nodo Tess4J ofrece una Configuración avanzada pestaña donde podemos definir un conjunto de Parámetros de control. Esta pestaña hace que el nodo sea extremadamente flexible y ayuda a los usuarios expertos a personalizar y ajustar el motor Tesseract OCR a sus necesidades específicas. Sin embargo, no se preocupe, en la mayoría de los casos, las configuraciones básicas le llevarán un largo camino.
Figura 4: Diálogo de configuración del nodo Tess4J.
Además de ajustar las configuraciones del nodo Tess4J al caso de uso en cuestión, es una buena práctica preprocesar minuciosamente las imágenes de entrada, si es necesario. En particular, Tesseract funciona mejor cuando las imágenes se amplían lo suficiente como para que el recuento de píxeles de la altura x de los caracteres sea de al menos 20 píxeles; las imágenes están correctamente alineadas y tienen una resolución suficientemente alta; y se eliminan los bordes oscuros, o podrían malinterpretarse como caracteres [3]. los Procesamiento de imágenes KNINE La extensión incluye varios nodos para la limpieza, manipulación y transformación de imágenes, y muchos flujos de trabajo de ejemplo se puede encontrar en la Centro KNIME.
La salida del nodo Tess4J es una tabla que contiene el texto extraído como tipo de datos String y, como tal, se puede buscar y editar.
3 — Procesamiento de texto para extracción de ISBN
Una vez que las imágenes se OCRed, finalmente se puede acceder al texto que contienen y recuperar información útil.
En particular, los avisos de edición suelen informar del código ISBN asignado al libro. El código ISBN es un identificador de libro comercial único de 13 dígitos (solía tener 10 dígitos antes de 2007) y, como tal, se asigna a cada edición y variación separadas de una publicación. Extraer el código ISBN nos permite referirnos a cada libro sin ambigüedades cuando queremos recuperar metainformación. Para lograr eso, podemos confiar en los nodos incluidos en KNIME — Procesamiento de texto extensión, algunos de los cuales se utilizan en el metanodo de "extracción de ISBN" (Figura 5).
En el metanodo “Limpieza de texto”, comenzamos transformando el texto OCRed de tipo de datos String a Document. A continuación, convertimos el texto a minúsculas, eliminamos la puntuación, los espacios en blanco, los guiones y reemplazamos las letras "o" por "0" (ceros) para corregir los caracteres mal reconocidos en los códigos ISBN.
Extraemos los códigos ISBN aislando los 13 caracteres que siguen a la cadena “isbn”, y usamos el Motor de reglas nodo para verificar si los caracteres extraídos no contienen valores perdidos y tienen una longitud esperada de 13 caracteres. Luego, explotamos la capacidad de este nodo para agregar una columna que etiqueta la extracción exitosa como 1 y la extracción fallida como 0.
Figura 5: Dentro del metanodo de "extracción de ISBN".
4 — Recuperación y visualización de metainformación
En el paso final, usamos los códigos ISBN para recuperar metainformación y portadas de libros de la API de Google Books. El metanodo "Obtener metadatos y portadas de libros" se encarga de eso (Figura 6). Sin embargo, la recuperación de metadatos solo es posible si los códigos ISBN se extrajeron correctamente. Para garantizar un manejo fluido de la extracción ISBN exitosa o fallida, incluimos varios nodos de control de flujo de trabajo. Puede encontrar una descripción detallada en el Hoja de trucos: control y orquestación con la plataforma de análisis KNIME.
Si el código ISBN se extrae con éxito, usamos el OBTENER solicitud nodo para enviar una solicitud GET a API de Google Books, un servicio web RESTful gratuito con tecnología de Google que permite la recuperación de metainformación como título del libro, subtítulo, autores, fecha de publicación, descripción, recuento de páginas, idioma, calificación promedio, recuento de calificaciones y portada. Además, este servicio web RESTful no requiere la creación de una cuenta de desarrollador. La configuración del nodo Solicitud GET es muy sencilla. Requiere la simple selección de una "columna de URL" significativa que construimos en el Manipulación de cuerdas nodo uniendo el URL de la API de Google Libros con el código ISBN de cada aviso de edición. Todas las demás configuraciones se pueden dejar como predeterminadas.
Luego analizamos la salida JSON del nodo Solicitud GET usando el Ruta JSON nodo y unir metainformación extraída con portadas de libros antes de recopilar los resultados finales.
Por último, creamos el componente "Visualizar metadatos y portadas de libros" para una visualización clara de la metainformación y las portadas de los libros recuperados.
En el componente, envolvemos el Widget de filtro deslizante de rango interactivo para habilitar el filtrado dinámico de libros en función del recuento de calificación promedio (0-terrible; 5-fantástico) asignado por los lectores en Google Books, y el Vista de mosaico nodo para mostrar los resultados.
Luego, el componente adquiere una vista que incluye el control deslizante para seleccionar los libros según la calificación promedio y una tabla que contiene las portadas y la descripción de los libros seleccionados. Para este artículo, hemos seleccionado extraer libros con calificaciones entre 3 y 5, y los resultados se muestran en la Figura 6.
Figura 6: metainformación recuperada y portadas de libros para los libros con calificaciones superiores a 3.
Resumen
En este artículo, hemos ilustrado cómo se puede realizar fácilmente OCR en KNIME Analytics Platform. Con este fin, presentamos el nodo Tess4J y brindamos detalles sobre el funcionamiento de la biblioteca Tesseract OCR en la que se basa este nodo.
Además, hemos mostrado un caso de uso simple donde OCR puede ser un recurso poderoso y útil. Hemos extraído información de los avisos de edición de libros –en particular, los códigos ISBN– para enviar una solicitud GET al servicio web RESTful de Google Books. Esto nos ha permitido recuperar metadatos y portadas de libros.
Con KNIME, OCRing imágenes para extraer información crítica se vuelve tan fácil como ABC. ¡Pruébelo usted mismo! ¿Cuál es su caso de uso de OCR?
El flujo de trabajo presentado en este artículo se puede descargar de forma gratuita desde el Centro KNIME.
Referencias
[1] Smith, R. (2007). "Una descripción general del motor Tesseract OCR". Novena Conferencia Internacional sobre Análisis y Reconocimiento de Documentos (ICDAR 2007), págs. 629–633. Accesible en:
https://static.googleusercontent.com/media/research.google.com/en//pubs/archive/33418.pdf
[Consultado: 15.07.2021].
[2] Proyecto Tesseract OCR en GitHub — https://github.com/tesseract-ocr/tesseract
[3] Documentación de Tesseract OCR en GitHub — https://tesseract-ocr.github.io/tessdoc/
roberto cadili es científico de datos en KNIME, entusiasta de la PNL y amante de la historia. Editor de Low Code para ciencia de datos avanzada.
Lada Rudnitckaia es un científico de datos en KNIME.
Como se publicó por primera vez en Low Code para ciencia de datos avanzada.
Original. Publicado de nuevo con permiso.
Relacionado:
Fuente: https://www.kdnuggets.com/2021/11/book-metadata-cover-retrieval-ocr-google-books-api.html
- "
- &
- 2021
- Mi Cuenta
- Contabilidad
- AI
- Todos
- análisis
- Analytics
- abejas
- artículo
- Autorzy
- auto
- MEJOR
- Libros
- Box
- build
- negocios
- servicios sociales
- Propósito
- cases
- reconocimiento de caracteres
- chino
- clasificación
- Limpieza
- clientes
- código
- El cobro
- Columna
- completo
- Empresas
- componente
- computadoras
- Congreso
- confianza
- Configuración
- contenido
- derechos de autor,
- Current
- página de información de sus operaciones
- datos
- Ciencia de los datos
- científico de datos
- detalle
- Detección
- Developer
- desarrolladores
- Desarrollo
- digital
- documentos
- Soltar
- Temprano en la
- editor
- ingeniero
- Inglés
- etc.
- ejecución
- Expandir
- Explotar
- Extracción
- Figura
- Finalmente
- financiero
- Nombre
- seguir
- formulario
- formato
- Gratuito
- Francés
- GitHub
- candidato
- Grupo procesos
- Manejo
- práctico
- esta página
- Alta
- Contratación
- historia
- hosting
- Cómo
- Como Hacer
- HTTPS
- idea
- Identifique
- imagen
- Incluye
- por
- aumente
- energético
- información
- interactivo
- Internacional
- IT
- únete
- especialistas
- Coreano
- Etiquetas
- idioma
- Idiomas
- large
- APRENDE:
- aprendizaje
- Legal
- Apalancamiento
- Biblioteca
- luz
- Etiqueta LinkedIn
- Lista
- Ubicación
- Largo
- máquina de aprendizaje
- máquina traductora
- Manipulación
- mediano
- a saber
- Neat
- Neural
- nlp
- nodos
- números
- OCR
- Ofertas
- habiertos
- de código abierto
- reconocimiento óptico de caracteres
- Optión
- Opciones
- Otro
- (PDF)
- Personas
- los libros físicos
- imagen
- pixel
- plataforma
- productividad
- proyecto
- Python
- calidad
- distancia
- Calificaciones
- Crudo
- datos en bruto
- Testimoniales
- lectores
- Reading
- reporte
- Recurso
- Resultados
- Ciencia:
- Buscar
- seleccionado
- sentido
- set
- pólipo
- sencillos
- So
- Software
- RESOLVER
- Español
- Patrocinado
- comienzo
- Historias
- exitosos
- SOPORTE
- Soportado
- soportes
- te
- técnicas
- Tecnología
- tesseract
- equipo
- parte superior
- Formación
- transformadora
- Traducción
- Unicode
- us
- usuarios
- Ver
- visualización
- web
- Que es
- palabras
- Actividades:
- flujo de trabajo
- funciona
- valor
- la escritura
- X
- años