
Open-source
Cómo etiquetar datos de forma más rápida utilizando Active Learning
01/08/2022
El prototipo desarrollado, bautizado con el nombre de “Annotify”, nos permite etiquetar grandes conjuntos de datos de forma más eficaz. Este desarrollo se enmarca dentro de una iniciativa de exploración e innovación premiada por Fast Company
Con la inteligencia artificial somos capaces de traducir textos automáticamente, buscar una imagen similar en Google o incluso dibujar; pero hasta que estos sistemas sean capaces de aprender cosas por sí mismos, seguirán dependiendo de los humanos para que preparen, limpien y etiqueten los datos que los alimentan. Y es que cuando recurrimos a un sistema de inteligencia artificial para automatizar una tarea, por ejemplo la de traducir un texto, es porque un equipo de humanos lo han alimentado con miles o millones de entradas (frases en el idioma original) y salidas (frases en el idioma deseado) verificadas, proceso que se conoce como etiquetado. Esa modalidad de la inteligencia artificial, que funciona “imitando” el proceso mediante el cual entra un dato conocido y sale su etiqueta, es lo que conocemos como aprendizaje supervisado (supervised learning).
En BBVA AI Factory diseñamos productos de datos basados en modelos de aprendizaje automático (machine learning) con el objetivo de automatizar tareas que aporten valor a los usuarios, como clasificar movimientos bancarios o detectar si un mensaje de un cliente es urgente. Para estas tareas, nos encontramos con el reto de tener que preparar y etiquetar conjuntos de datos.
Tanto si las etiquetas se pueden obtener de alguna manera inteligente, como si -en el peor de los casos-, se tienen que introducir manualmente, la obtención de un conjunto de datos etiquetado de suficiente calidad, o de suficiente tamaño, es uno de los cuellos de botella de los sistemas de aprendizaje automático, hasta el punto de que a veces estamos ayudando a etiquetar datos sin saberlo1.
Por estos motivos, hace unos meses lanzamos un proyecto para prototipar un sistema de anotación rápida. El ingrediente para conseguirlo es una técnica estadística llamada active learning.
![]() |
Este prototipo es el primero desarrollado dentro del Programa X, una iniciativa interna de exploración e innovación con datos premiada por Fast Company, que amplía su reconocimiento a BBVA AI Factory como uno de los 100 mejores lugares de trabajo del mundo para innovadores y la primera posición en la categoría de pequeñas compañías (menos de 100 empleados). Más información → |
---|

Prototipando active learning
Active learning es una técnica automática que permite a una persona que está etiquetando datos saber cuáles son los que tienen las etiquetas más valiosas, y por tanto, los que más “vale la pena” etiquetar. Es una técnica que se remonta casi a los principios del aprendizaje automático y que ha demostrado en estudios ser capaz de reducir la cantidad de datos a anotar. Sin embargo, hasta hace poco la mayoría de la documentación se reducía a estudios académicos y había pocos ejemplos documentados del estado de la práctica2 o de sistemas industriales.Por qué active learning funciona
Para explicar mejor por qué active learning funciona, utilizaremos un ejemplo sencillo. Imaginemos que tenemos muchas cajas cerradas en el suelo de una habitación. Por fuera, estas cajas son exactamente iguales, pero por dentro están pintadas de un color determinado. Nuestra misión es saber de qué color están pintadas las cajas por dentro y anotar esta información. Es decir, disponemos de un conjunto de datos (las cajas) y queremos anotar sus características o información (color). La manera más sencilla y directa de hacerlo es abrir las cajas una a una y observar de qué color están pintadas por dentro.El beneficio de active learning
En aplicaciones reales de aprendizaje autónomo, el objetivo es descubrir dónde está la frontera entre las categorías, como hemos visto en el ejemplo anterior. Aplicando active learning podemos hacerlo de forma eficaz porque está constantemente verificando los puntos cercanos a la frontera y corrigiendo el modelo. Es fácil observar cómo, si simplemente hubiésemos levantado las cajas del ejemplo de forma aleatoria, o por ejemplo de izquierda a derecha y de arriba a abajo, hubiésemos tardado más movimientos en descubrir la frontera entre las regiones azul y roja. Por eso, el uso de algoritmos de active learning puede repercutir en un ahorro de tiempo a la hora de etiquetar datos. Esta ganancia se puede representar de manera teórica en la siguiente figura.
Del ejemplo a la realidad
Aunque la animación anterior es un ejemplo simplificado, el proceso de active learning se puede usar en aplicaciones de clasificación reales, por ejemplo clasificar una conversación. Una diferencia es que en dichas aplicaciones no tenemos dos atributos (posición horizontal y vertical) sino cientos o miles. Por ejemplo, en muchas tareas de clasificación es habitual usar un atributo por cada palabra, que toma como valor el número de veces que ha aparecido en un texto. Otra diferencia es el número de categorías. Por ejemplo, una conversación se puede clasificar en decenas de categorías, correspondientes a las distintas acciones que puede querer realizar el usuario. Y otra dificultad podría ser que estas categorías fuesen no separables. Esto significaría que, a diferencia del ejemplo anterior donde había una frontera clara entre las regiones azul y roja, las muestras de diferentes categorías se solaparan en el espacio de atributos. Vamos a aplicar el mismo mecanismo de active learning del ejemplo -que corresponde a una variante básica llamada uncertainty sampling– a un conjunto de datos más complejo. En concreto, la base de datos pública “Banking intents”, que consiste en mensajes cortos de usuarios solicitando realizar una de las 77 acciones posibles en una aplicación de banca. Entrenamos un primer modelo con 2000 muestras etiquetadas, y a partir de aquí realizamos iteraciones de active learning para seguir etiquetando. En cada repetición, solicitamos que se etiqueten 10 conversaciones nuevas, siguiendo el criterio de uncertainty sampling, es decir, aquellas en las que el modelo tiene más dudas. Con las etiquetas disponibles, simulamos cómo iría mejorando el modelo con cada iteración. Observamos cómo esta gráfica coincide con la gráfica teórica que hemos mostrado anteriormente, manifestando una mejora de la productividad en la fase del etiquetado.
Más allá del ejemplo sencillo
El concepto de active learning lleva décadas demostrando que es viable. Aun así, la variante que hemos explicado es la más básica y no es extraño que en una aplicación industrial requiera más complejidad. A nivel académico, se han diseñado muchos otros mecanismos más complejos que el uncertainty sampling, por ejemplo para adaptarlos a arquitecturas muy recientes como los transformers 3. También existen ciertas precauciones a la hora de desplegar estos sistemas de manera industrial y evitar sesgos 4. Un claro problema de guiar el proceso de etiquetado exclusivamente con técnicas de active learning mostradas anteriormente es que corremos el riesgo de no descubrir zonas de separación entre las categorías que queremos etiquetar. Imaginemos que en el ejemplo anterior de las cajas existe otro pequeño conjunto de cajas de color rojo en la esquina inferior izquierda. Nuestro modelo ha descubierto que existe una separación de cajas rojas y azules en la parte superior derecha, pero se centra excesivamente en esa zona y podríamos no llegar a descubrir que en la zona inferior izquierda también hay algunas cajas de color rojo. Por esta razón, es muy importante es muy importante combinar estas técnicas de active learning con una estrategia que aporte aleatoriedad y permita “descubrir” comportamientos no esperados por el modelo, como vemos en la siguiente animación.
Notas
Referencias
Agradecimientos
A todos los compañeros y compañeras que han participado en el proyecto Annotify: Filippo Buoncompagni, Noelia Chía Bejarano, César de Pablo Sánchez, Pedro Hernández Manzano y Aaron Rubio Fernández. También a Laura Vera de Juan y Simon Sternberg por su ayuda en la edición y traducción de este artículo.