Blog de Amazon Web Services (AWS)

Generador Autónomo de Escrituras, basado servicio de AI de AWS

Por Aldo Luévano Ibarra, CEO de Rommie

y Hugo Iván Valdés Chávez, COO de Roomie

y José Alfredo Polito Delgado, CTO de Roomie

y Dimas Jesus Cañas Sanchez, Arquitecto de Soluciones para Sector Público de AWS

 

Introducción

Roomie es una organización enfocada en la creación de soluciones Deep Tech de robótica humanoide, inteligencia artificial (AI) y data para el mercado de América Latina, bajo un modelo de negocio B2B.

Desde hace 3 años trabaja de la mano de AWS, generando soluciones con una base instalada de servicios de nube. Permiten reducir el “time to market” de la puesta en producción de proyectos de innovación para organizaciones en diversos sectores de la industria. Su plantilla se compone de un equipo especialistas en ciencia de datos, ingenieros de robótica y especialistas en machine learning certificados en la tecnología de AWS.

Roomie es un socio de negocios diferenciado de AWS en LATAM, y cuenta con un área de investigación y desarrollo (R&D), donde se genera la integración de tecnología propietaria y servicios nativos de nube brindados por AWS. Roomie fue reconocida como una institución innovadora en LATAM por MIT Technology Review y Forbes.

Uno de los últimos proyectos desarrollados por Roomie enfocado en la gestión documental y procesamiento de lenguaje natural para el sector legal, ha considerado uno de los principales retos en materia de implementación de modelos de machine learning basados en procesamientos de datos no estructurados.

 

El Reto

Cuando se habla de aplicaciones de AI para casos de uso en materia legal o notarial, un común denominador es la abstracción del conocimiento de los expertos en la materia, lo cual científicamente hablando implica el entrenamiento de modelos de Procesamiento de Lenguaje Natural (Natural-Language Processing, NLP) para entender el contexto de negocio que en muchos casos proviene del histórico de documentos, como lo pueden ser escrituras notariales, documentos legales o manuales procedurales. Esta es una tarea realmente compleja ya que no basta con entrenar el modelo con un data set básico de datos discretos, si no que se tienen que considerar varios modelos encadenados para dar lugar a aplicaciones reales que representen una verdadera innovación para el sector.

Dicho lo anterior; una aplicación basada en procesamiento de lenguaje natural para el sector legal / notarial, puede ser la redacción inteligente de documentos, como es bien sabido este tipo de organizaciones monetiza la venta de sus servicios por la generación de documentos, los cuales, dependiendo de su complejidad, pueden ser escritos por pasantes, profesionistas semi-expertos, o expertos en la materia.

Como ejemplo de lo anterior tenemos la generación de un contrato, el cual debe de ser redactado con los insumos del caso en cuestión, para reflejar las repercusiones legales en caso de un incumplimiento. Los despachos de abogados y notarias generan este tipo de documentos con el apoyo de plantillas pre diseñadas para los diversos tipos de trámites, sin embargo, las plantillas solo constituyen una base y en el 100% de los casos se necesita la experiencia humana para llenar los campos específicos del caso en cuestión o inclusive para redactar un documento específico a la medida del cliente que contrata el servicio.

 

La Solución

Para lograr la automatización de este proceso de redacción inteligente de documentos, mediante la incorporación de AI, se debe de dividir el problema en varios bloques de arquitectura, los cuales se enumeran a continuación:

  • Capa de ingesta de información
  • Capa de lago de datos (Data Lake)
  • Capa de reconocimiento de datos no estructurados
  • Capa de generación de documentos
  • Capa de inteligencia de negocios

 La idea general del caso de uso implica un proceso de extracción e ingesta de documentos históricos (corpus documental) en un repositorio centralizado de datos crudos (data lake), una vez que la información se encuentra condensada en este repositorio, se ingesta a una capa de procesamiento donde se realiza un primer entrenamiento de un modelo de machine learning, el cual busca higienizar los datos crudos y extraer entidades, para posteriormente persistir nuevamente la información en el data lake.

Hasta este punto, el primer modelo de machine learning permite que cuando uno de los documentos se utilice para el entrenamiento del segundo modelo, se haga una inferencia por documento, que higieniza la data no estructurada extrayendo las entidades del contexto de negocio.

Posteriormente este segundo corpus documental (higienizado con entidades extraídas), se utilizará para el entrenamiento del segundo modelo, una vez que este segundo modelo se encuentra entrenado, entonces se puede generar una inferencia nueva que permitirá la creación de un nuevo documento.

 

Arquitectura

La arquitectura de la solución es modular, y ello permite que los datos persistentes en los buckets del data lake puedan ser explotados para fines de inteligencia de negocios, independiente al caso de uso central de la generación de documentos.

A continuación, se explica el objetivo de cada una de las capas de la arquitectura propuesta.

 

Ingesta de Información

Debido a que este tipo de organizaciones normalmente mantiene el histórico de documentos en distintos repositorios, la capa de ingesta de información tiene como objetivo extraer los datos de las diversas fuentes en su formato original, para posteriormente depositarlos en el Data Lake bajo el concepto de datos crudos (raw data).

Esta aproximación se le conoce ELT (Extracción Carga y Transformación) ideal en arquitecturas para Data Lake ya que deposita la data en su estado más puro y difiere de los conceptos ETL tradicionales para Data Warehouse, en dónde se higieniza y transforma la data antes de ser depositada.

Para materializar la implementación de esta capa se utilizan los servicios de AWS Lambda, para el consumo de API expuestas en combinación con AWS Kinesis, que nos permite la utilización de un servicio de streaming de datos en tiempo real al Data Lake.

 

Lago de Datos (Data Lake)

Como se mencionó anteriormente, la capa de Data Lake almacena los datos en su forma más pura y funciona de antesala para el procesamiento de datos no estructurados mediante machine learning. Esta capacidad es habilitada con el servicio de Amazon S3, el cual permite la elasticidad del Data Lake en medida que se persistan más datos y mediante la incorporación de buckets se puede gobernar y agrupar de forma ordenada los tipos de datos para ingesta.

Por otra parte, el Data Lake se considera como la columna vertebral para habilitar la capacidad Data Driven para las organizaciones digitales, al habilitar esta capa se prepara la plataforma de la organización para incorporar nuevos casos de uso ya sea en el contexto de machine learning o en otros contextos como lo pueden ser: data science, master data management, advanced analytics, etc.

 

Reconocimiento de Datos No Estructurados

Una vez que la data proveniente de distintas fuentes se encuentra en el Data Lake, se realiza una integración con el servicio de Amazon Sage Maker para la generación del primer modelo el cual llamaremos modelo de reconocimiento de datos no estructurados.

AWS SageMaker es un motor para la generación y administración del ciclo de vida de modelos de machine learning (MLOps), el cual cuenta con algoritmos out of the box que mediante un hyperparameter tunning, puede generar modelos específicos para impactar distintas problemáticas de la industria. Dentro de los algoritmos disponibles Blazing Text se posiciona como la mejor opción para poder realizar el reconocimiento de patrones de texto en datos no estructurados. Blazing Text es a la vez una versión optimizada del algoritmo Word2Vec.

Word2Vec convierte palabras en documentos en vectores, llamados incrustaciones.  Estos preservan las relaciones semánticas, y Blazing Text puede operar a nivel de sub-palabras, lo que lo hace más generalizable. Las incrustaciones se utilizan como entrada para otros algoritmos de NLP como el análisis de sentimientos.

Por lo anterior este primer modelo basado en Word2Vec permite interpretar en vectores la mayoría de las palabras presentes en los documentos históricos de las notarías, sin embargo, para escenarios donde se debe de interpretar un contexto más complejo se utiliza el algoritmo Object2Vec.

Object2Vec está diseñado para aprender una variedad mucho más amplia de incrustaciones que Word2Vec. Maneja tanto palabras como secuencias de palabras. Puede ser utilizado en bioinformática, reconocimiento de señales y más, además de sistemas de documentos complejos.

La utilización de Object2Vec vs Blazing Text dependerá del contexto de negocio del cliente, así como del punto de vista del científico de datos al analizar los documentos del corpus documental de cada notaría, también se puede complementar el procesamiento de datos no estructurados con otros servicios como lo pueden ser Amazon Textract o Amazon Comprehend según sea el caso.

 

Generación de Documentos

Una vez que se entrena el primer modelo de reconocimiento de datos no estructurados, se detona una inferencia masiva utilizando la capacidad de batch transform job de AWS SageMaker.

 Este proceso toma el histórico de documentos de la notaría o despacho jurídico y los infiere masivamente en batch, depositando los documentos ya transformados (Entidades extraídas) en un nuevo bucket de S3 dentro del data lake. Para higienizar la data se incorporan ciertas reglas de negocio básicas a los documentos mediante AWS Glue y nuevamente se depositan en S3.

Finalmente, con el histórico de datos ya higienizado, se entrena un nuevo modelo que infiere la creación de un nuevo escrito, este nuevo modelo se gestiona mediante AWS SageMaker pero es desarrollado con bajo un enfoque de implementación a la medida por el equipo de Roomie IT, considerando técnicas avanzadas de procesamiento de lenguaje natural, con base en entrenamiento supervisado.

Este nuevo modelo se expone mediante un SageMaker Endpoint, el cual recibe en una petición JSON parámetros del tipo de escrito a generar, los cuales se generan a partir de formularios web desarrollados en una aplicación donde el usuario final captura información del tipo de trámite a realizar.

Inteligencia de Negocios

Finalmente, la data histórica higienizada por AWS Glue se deposita en Amazon Redshift bajo un enfoque de Datawarehouse en la nube, para habilitar la explotación de la información con fines estratégicos por medio de Amazon Quicksight. Otorgando en un enfoque SaaS una potente herramienta de seguimiento a indicadores para las notarías y despachos jurídicos.

 

Conclusiones

En resumen, las capacidades de AWS permiten habilitar un ciclo de MLOps que reduce el time to market de aplicaciones de inteligencia artificial, y que en situaciones comunes serían muy complejas de implementar.

Los servicios de ML de AWS en conjunto con el talento de los científicos de datos de Roomie permitieron el desarrollo de una solución capaz de abstraer el conocimiento experto que poseen los notarios y abogados, y por medio de este conocimiento la misma herramienta permite la generación automática de escrituras, permitiendo reducir hasta en un 60% el tiempo de escrituración, que se realiza en un despacho jurídico en promedio.

Dentro de los planes a futuro de esta solución digital se proyecta el despliegue mediante un enfoque de SaaS (Software as a Service), que permita a los usuarios finales la escrituración de diversos trámites en formato Self Service, bajo demanda.

 

Enlaces de Interés

 

 


Sobre los Autores

Aldo Raúl Luévano Ibarra, CEO de Roomie

 

 

 

 

Hugo Iván Valdés Chávez, COO de Roomie

 

 

 

 

José Alfredo Polito Delgado, CTO de Roomie

 

 

 

 

Dimas Jesus Cañas Sanchez, Arquitecto de Soluciones para Sector Público de AWS