Legaltech
June 28, 2022

El uso de la Inteligencia Artificial para categorizar tus contratos

La Inteligencia Artificial (IA) se refiere a la capacidad de una máquina de realizar tareas propias de la inteligencia humana. Este concepto está teniendo un impacto muy significativo en nuestras vidas aunque muchas veces no nos demos cuenta. El traductor de Google o la publicidad que nos aparece en las diferentes páginas web son ejemplos de cómo la Inteligencia Artificial se mete en nuestro día a día. En concreto, el traductor de Google aprende a partir de millones de ejemplos y es capaz de proporcionar resultados para nuestra consulta concreta, mientras que la publicidad en las diferentes páginas web se apoya en nuestro amplio historial de 'clicks'. 

Inteligencia Artificial para gestionar contratos

En Bounsel queremos utilizar estas técnicas para hacer que tus contratos sean más inteligentes y más humanos, creando funcionalidades en nuestra herramienta que ayuden a ejecutar tareas que de otro modo serían inabarcables. Aquí os contamos los diferentes pasos que hemos seguido para establecer las diferentes categorías en las que podemos clasificar nuestros contratos, lo cual constituye el primer paso para la creación de un amplio corpus jurídico con diferentes tipos de documentos. Y es que éstas son las claves para poder exprimir todo el potencial de las técnicas de IA: la creación de una amplia base de datos junto al empleo de un conjunto de algoritmos que sean capaces de extraer información útil de la misma para realizar una tarea concreta.

Existen muchísimos tipos de documentos. Solo dentro del sector legal, nos encontramos con miles de posibilidades. En este sentido, nos enfrentamos al reto de reducir este inmenso número de categorías a un número de grupos más manejable. Una persona se vería ante el mayúsculo reto de revisar las miles de categorías disponibles para buscar patrones y establecer nuevos grupos. Afortunadamente, podemos aprovechar las técnicas de aprendizaje automático (ML o machine learning por su nombre en inglés), de tal forma que sea nuestro ordenador el que realice esta tarea. Esto nos permite encontrar patrones que a simple vista nosotros no seríamos capaces de detectar, además de ahorrarnos horas y horas de trabajo manual.

No obstante, a los ordenadores no les gustan las palabras. Las máquinas son más de números. Por ello, si a nuestro ordenador le pasamos las posibles miles de categorías, no va a saber muy bien qué hacer con esa información (como podemos ver en la imagen, nuestro ordenador se encuentra confundido con tanta palabrería 😵‍💫). Para convertir las palabras en números, existe el llamado Procesamiento del Lenguaje Natural (NLP por su nombre en inglés, Natural Language Processing). Estas técnicas tienen por objetivo hacer que las máquinas comprendan los textos no estructurados y sean capaces de extraer información relevante de los mismos. En este caso nos apoyamos en un modelo entrenado con más de un billón de oraciones que es capaz de convertir frases y palabras a un vector numérico o embedding, de tal forma que nuestros ordenadores puedan empezar a trabajar. Y podemos preguntarnos... En la práctica, ¿cómo es capaz una máquina de convertir una secuencia de palabras en un vector numérico? La clave es el entrenamiento. Las técnicas de Inteligencia Artificial se fundamentan en muchísimos ejemplos de todo tipo. Así, nuestros ordenadores son capaces de detectar patrones, aprender los contextos en los que aparece una palabra, e incluso captar el significado global de un párrafo o de un texto completo.

Uno de los ejemplos más característicos de NLP en nuestra lengua española lo encontramos en el proyecto MarIA, entrenado con más de 570GB de datos recogidos por la Biblioteca Nacional de España (BNE), con un corpus de más de 135.000 millones de palabras resultantes de los rastreos web realizados entre 2009 y 2019. Analizar semejante base de datos es efectivamente una tarea hercúlea, pero gracias a la revolución de los procesadores en este último siglo se convierte en una labor asequible. Y al final nos tenemos que quedar con una idea clave: los datos son información y, como se suele decir, la información es poder. Camufladas entre esa enorme base de datos están las raíces de nuestra lengua, de tal manera que, mediante el uso de la IA, nuestros ordenadores son capaces de discernir esos patrones y aprender todos los entresijos del lenguaje. Y ese proceso de aprendizaje, a nivel computacional, se traduce en una conversión numérica de la información que puede ser utilizada para realizar tareas concretas.

Así pues, utilizando un modelo pre-entrenado con una amplia base de datos, la IA es capaz de ayudarnos a cumplir nuestro objetivo. En concreto, ahora somos capaces de convertir cada tipo de documento en una secuencia de números, y nuestro ordenador es capaz de comparar esas secuencias entre sí y establecer grupos o clusters, cuyos elementos presentan características o patrones comunes. Llega entonces el momento de establecer una etiqueta para cada uno de los clusters formados. Con este fin, podemos extraer los documentos más representativos dentro de cada cluster, así como las palabras más frecuentes (apoyándonos en la similitud existente entre sus representaciones numéricas), y de esta forma podemos definir de manera sencilla una categoría común para todo este tipo de documentos.

Llegados a este punto podemos asumir que el resultado que nos proporciona nuestro ordenador es correcto y tomarlo como válido. No obstante, las películas de ciencia ficción nos enseñan que no es bueno confiar hasta tal punto en nuestras computadoras, así que resulta razonable buscar una forma de comprobar que nuestros resultados son correctos. Cuando hablamos de la representación numérica que realiza nuestro ordenador de un texto, no hablamos de un número del 1 al 10, ni siquiera de un número de -∞a ∞. Hablamos de vectores numéricos de grandes dimensiones (en este caso concreto, hablamos de un vector de 384 dimensiones, es decir 384 números por tipo de contrato 😱). ¿Cómo podemos comprobar entonces que el resultado es correcto? ¿Nos vemos de nuevo ante un reto imposible como es analizar 384 números por cada tipo de contrato, y comprobar que son correctos? Afortunadamente, de nuevo la IA acude al rescate. 

Otra de las muchas funcionalidades que tiene la IA es la capacidad de reducir la complejidad de un problema. En este caso concreto, es capaz de reducir estas 384 dimensiones a sus dimensiones más características, lo que se conoce como análisis de componentes principales (PCA por sus siglas en inglés, Principal Component Analysis). Un ejemplo para que podamos entender esta reducción de dimensionalidad es la búsqueda de correlaciones. En este sentido, la IA se fundamenta (de nuevo, sí) en una amplia base de datos (en este caso todos nuestros documentos) para establecer dimensiones correlacionadas que se pueden ir agrupando hasta reducir las dimensiones de nuestro vector a algo más tangible.

Mediante el empleo de estas técnicas reducimos las dimensiones de nuestro problema a tan solo dos. Así, podemos representar gráficamente nuestros resultados y comprobar que efectivamente cada cluster (o cada color en el diagrama de la figura) se corresponde con una región bien definida del espacio. Cada uno de estos clusters tiene asociada una categoría concreta (entre otros ejemplos encontramos compraventa, garantía...), y con esto hemos cumplido nuestro objetivo: empleando IA hemos sido capaces de reducir el inmenso número de categorías (cada punto del diagrama) a un número con el que podemos trabajar (cada color del diagrama, ~50).

Gracias a este proceso ya es posible añadir la categoría de tu documento cuando gestionas tus contratos con Bounsel. Y éste es sólo el primer paso. En Bounsel queremos ser pioneros en aprovechar las técnicas de NLP aplicadas al idioma español para hacer tus contratos más inteligentes y más humanos, proporcionándote nuevas y alucinantes aplicaciones en nuestra herramienta que te ayuden a ser más productivo al trabajar con documentos. ¿Te interesa saber más? ¡Mantente atento y no te pierdas nada!