Reconocimiento Óptico de Caracteres y Procesamiento del Lenguaje Natural

Se define como la utilización de algoritmos en la obtención de texto desde imágenes.

8 enero, 2019

El crecimiento de los procesos que involucran la generación o consumo de datos hace que sea relativamente sencillo hacerse de volúmenes suficientes de datos, provechosamente procesables.

Es por ello, que como parte de la innovación tecnológica que desarrollamos en las empresas de nuestro Holding, se ha estado trabajando en la elaboración de tres herramientas, principalmente. El propósito de éstas es apoyar en las tareas existentes, así como en la generación de nuevas soluciones, en las diversas unidades de negocio. Cada herramienta procura emplear las metodologías state of the art en los ámbitos de la computación estadística, machine learning y lenguajes de programación.

Nuestro proyecto de Reconocimiento óptico de caracteres (OCR)

Se define como la utilización de algoritmos en la obtención de texto desde imágenes. Es una de las mejores aplicaciones de las ANN (Artificial Neural Networks), ya que estos algoritmos obtienen resultados bastante precisos, sobre todo con las llamadas CNN (Convolutional Neural Networks). Las aplicaciones son varias, desde la digitalización de documentos escaneados, hasta la identificación inmediata de datos escritos en una forma o credencial.[1]

Se utilizó para esto la librería Tesseract dentro del lenguaje R, dispuesto a manera de servicio web para ser consumido por una página web.

Análisis semántico de textos

Es una metodología que se conoce como PLN (Procesamiento del Lenguaje Natural; NLP, por sus siglas en inglés). El análisis semántico busca obtener automáticamente el significado de un texto; a través de la extracción de las entidades (sustantivos relevantes) que ahí se mencionan. Los modelos de esta metodología requieren de una gran cantidad de datos y de preprocesamiento para su correcto funcionamiento. Una de sus aplicaciones es la clasificación de textos, aunque lo que se busca desarrollar es el sentimiento (positivo o negativo) sobre una entidad en un texto, para utilizarse en la interpretación masiva de artículos periodísticos.

En este caso se utilizaron dos métodos para realizar la extracción: la librería OpenNLP de Apache y la API (Application Programming Interface) de Aylien. El segundo también obtiene el sentimiento sobre la entidad extraída, pero es menos exacto.

Análisis de sentimiento

El análisis de sentimiento es también una metodología dentro de NLP.  Este modelo nos da como resultado la polarización (negativo/positivo) de un texto en general, en forma de un número, normalmente entre -1 y 1, aunque la escala depende del algoritmo utilizado. A sus aplicaciones, sobre todo en conjunto con otras herramientas, se le conoce como Opinion Mining; muy utilizado en empresas que reciben opiniones sobre productos, como Amazon, para tener una idea más exacta sobre lo que gusta o disgusta a los compradores.

Te puede interesar: Inclusión digital

Para este elemento se usó la librería Syuzhet del lenguaje R, junto con una base de palabras traducidas con ponderación, hecha por la NRC (National Research Council, de Canadá).

Existen varios servicios que ya proveen de soluciones parecidas a lo que se encuentra en desarrollo, pero con grandes problemáticas que impiden sean la mejor opción, o siquiera que sean consideradas como opciones; principalmente: la especificidad de su aplicación.

El utilizar servicios ya existentes llevaría, por lo tanto, a resultados no óptimos, o hasta incorrectos.

Es la esencia de nuestro Holding, promover la innovación tecnológica, y el desarrollo de soluciones que permitan siempre generar una mejor experiencia de servicio para todos y cada uno de nuestros clientes.


[1] Bartz, C., Yang, H., & Meinel, C. (2017). STN-OCR: A single Neural Network for Text Detection and Text Recognition. arXiv:1707.08831 , 1-9.

Categorías