¿Cómo se entrena, testea y mantiene un modelo de Machine Learning para NLP?


Te contamos las etapas necesarias para desarrollarlo con inteligencia artificial 

Por Sara Buch, NLP Analyst y Federico Wilhelem, AI Consultant en etermax AI Labs

La Inteligencia artificial aplicada al lenguaje puede tener una enorme variedad de utilidades prácticas que van desde la traducción instantánea hasta la generación automática de textos, entre muchas otras. Estas capacidades están siendo aplicadas en las empresas para automatizar tareas repetitivas, agilizar la toma de decisiones y brindar información oportuna y confiable a empleados y clientes. Si bien los beneficios potenciales son muy grandes en términos de eficiencia, productividad y ahorro, esto no se produce por arte de magia. Detrás de todos esos procesos automáticos que parecen predecir cada acción que vamos a realizar, se encuentra el desarrollo de modelos de Machine Learning a través de procesos y metodologías rigurosas. Un minucioso trabajo por etapas que te contamos acá.  

Metodología NLP
1. Discovery

La primera tarea es entender cuál es el problema que queremos abordar y cuál es el objetivo que queremos alcanzar. En esta etapa debemos preguntarnos qué buscamos que nuestro modelo haga. Partiendo de un objetivo claro podremos definir con qué datos vamos a trabajar y cuál es su naturaleza: ¿vamos a usar textos escritos?, ¿imágenes?, ¿grabaciones de voz? Por último, nos preguntaremos por la factibilidad y utilidad de esos datos: ¿con qué problemas podemos encontrarnos al trabajar con ellos? ¿Cuál es la calidad de las grabaciones o las imágenes? ¿Son datos sensibles o confidenciales? ¿Es necesario “limpiarlos” o mejorarlos de algún modo antes de procesarlos? 

2. Recopilar los datos: crear un dataset

Una vez definido con qué tipo de datos vamos a trabajar, necesitamos reunir un buen número de ejemplos de esos datos. Idealmente, con características diversas, de modo que nuestro modelo pueda aprender de datos variados. Es importante tener presente que los modelos de Machine Learning “aprenden” memorizando pautas e identificando patrones con los datos que les suministramos durante su entrenamiento, por lo tanto, solo pueden sistematizar aquello que hayan visto antes. Cuanto más representativo sea el conjunto de datos de entrenamiento, mejor preparado estará nuestro modelo para enfrentarse a datos nuevos en el futuro

3. Manos a la obra: procesar, anotar y entrenar

Con los datos recolectados es momento de explorarlos, conocer qué tenemos y procesarlos o “prepararlos” para que los algoritmos de NLP puedan aprovecharlos de la mejor manera. Algunas de las tareas habituales en esta etapa son la tokenización (separar un texto en unidades más pequeñas como oraciones y palabras), lematización (reducir la cantidad de palabras considerandolas como una misma entrada de diccionario, por ejemplo, “escribo”, “escribieron”, “escribirías” corresponden todas a ESCRIBIR) y stemming (similar al mecanismo anterior pero considerando la raíz de la palabra: “inscribir”, “escritura”, “adscripción” comparten la misma raíz *scrib).

Ahora es momento de anotar o etiquetar nuestros datos. Si, por ejemplo, estamos entrenando un modelo que analice el sentimiento en comentarios en redes sociales, tenemos que asignar a los comentarios recolectados etiquetas que indiquen si estos son positivos o negativos. Estos datos etiquetados serán las “instrucciones” que nuestro algoritmo utilizará para entrenar nuestro modelo y le permitirán predecir si una nueva crítica es buena o mala.

4. Medir la calidad 

Ya contamos con un modelo entrenado para realizar predicciones, pero ¿cómo sabemos si nuestro modelo es “bueno” en lo que hace? La calidad debe reflejarse en una métrica o indicador observable que esté alineada con los objetivos que planteamos en la primera etapa. Debemos definir, por un lado, qué consideraremos como aciertos o errores y, por otro, qué métricas priorizaremos. Hoy en día existe una enorme variedad de métricas y protocolos de evaluación por lo que podemos seleccionar aquellos que se ajusten a las características específicas de nuestro proyecto.

Esta última etapa es fundamental porque nos permitirá detectar oportunidades de mejora para continuar entrenando y evolucionando nuestro modelo.

Entender los datos, compilarlos, etiquetarlos y luego medir los resultados que arrojan con métricas fiables son los primeros pasos para poner en marcha un modelo de Machine Learning para NLP, pero no son los únicos. Una vez que tenemos nuestro modelo, monitorearlo y re-entrenarlo en forma periódica para obtener una mejor performance es un aspecto clave para que nuestros clientes logren una ventaja competitiva en su negocio a partir de la Inteligencia Artificial, y ese es el valor agregado que aportamos desde etermax AI Labs.