Objetivo
El volumen masivo de llamadas diarias en las telco presenta desafíos significativos en términos de gestión y análisis de datos. El paso de estas llamadas a texto de forma manual es un proceso laborioso y costoso que resulta en demoras y errores. Además, la falta de un análisis en las interacciones con los clientes, impide la identificación de tendencias y problemas recurrentes que pueden afectar a la calidad del servicio.
Por ello, se ha desarrollado un sistema automatizado de tratamiento de llamadas, formado por un modelo de transcripción y diarización que permite el paso de audio a texto, además de un LLM que categoriza la llamada y la clasifica atendiendo a unas clases ya predefinidas.
El modelo de transcripción empleado es Whisper de OpenAI, y tras varias pruebas realizadas se toma que el mejor es su modelo Large-v2 que ofrece errores (WER) de 10% de media. Aunque se obtienen buenos resultados, se trata de un modelo sensible a la calidad del audio, ruido de fondo, acentos y tecnicismos. Necesita como entrada el audio y como salida ofrece las palabras pronunciadas en el audio con sus marcas de tiempo.
El modelo de transcripción es NeMo de Nvidia, que ofrece un mecanismo innovador para obtener las características de la voz del interlocutor a través de su Multi-scale Diarization Decoder. Además, Nvidia ofrece unos parámetros específicos para el dominio de llamadas telefónicas. Los resultados obtenidos con este modelo son buenos, pero su precisión disminuye cuando se tienen interrupciones y solapamientos. Necesita como entrada el audio y como salida devuelve los segmentos de habla indicando su inicio, su duración y el interlocutor que los pronuncia.
Una vez se tienen las marcas de tiempo de las palabras y de los segmentos de habla, se le asignan las palabras pronunciadas a cada interlocutor, dando por finalizado el paso de audio a texto.
Por último, se toma el texto y se realiza la clasificación del mismo en unas categorías preestablecidas de temática general Retención de clientes. Las llamadas, se clasifican según el motivo y submotivo por el cual el cliente decidió realizar la llamada para darse de baja. Se comparan distintos modelos de lenguaje como GPT, Gemini, LlaMA y Gemma, obteniendo los mejores resultados con gpt-3.5-turbo.
Es fundamental elaborar un buen prompt, con el que el modelo entienda la tarea a realizar y establecer unas categorías claras, concretas y diferentes, que no den lugar a conclusiones. De esta manera, se consiguen buenos resultados, confirmándose el uso de este tipo de herramientas para la clasificación de texto.
En conclusión, este proyecto aporta valor al crear un sistema que permita el paso de audio a texto, para clasificarlos más tarde dentro de unas categorías definidas. Además, sienta las bases para posibles trabajos futuros en busca de una mejor precisión y rendimiento, o una mayor funcionalidad.
TRABAJO FIN DE GRADO DE:
CARLOS CAMARERO FUENTE
Experiencia Académica
- Doble Grado en Ingeniería Informática y Administración de Empresas, Universidad Carlos III de Madrid (septiembre 2018 – junio 2024)
Experiencia Laboral
- AI Tech Specialist – Grupo MásMóvil (Septiembre 2024 – actualidad)
- Machine Learning Researcher – Universidad Carlos III de Madrid en colaboración con Grupo MásMóvil (Septiembre 2023 – Mayo 2024)
Premios y Certificaciones
- Beca de Excelencia de la Comunidad de Madrid 2022/23
- Best Creative Idea in Digital Transformation in the field of Occupational Health and Safety (2022)
- Beca de Excelencia de la Comunidad de Madrid 2021/22
- Beca de Excelencia de la Comunidad de Madrid 2020/21
- Beca de Excelencia de la Comunidad de Madrid 2019/2020
- Beca de Excelencia de la Comunidad de Madrid 2018/2019
- Beca de Excelencia de la Comunidad de Madrid 2018
Habilidades técnicas
- Lenguajes de programación: Python, C/C++, SQL, HTML/CSS/JS.
- Librerías de desarrollo: Pandas, Numpy, Tensorflow, Keras, Sci-kit Learn.
- Plataformas Cloud: Google Cloud.
- Frameworks: Git, Docker.