miércoles, marzo 29, 2023

Summify.ai: Transforma la forma en la que consumes y buscas información en vídeos con IA

La semana pasada, durante los días 23 y 24 de Marzo, realizamos en Telefónica el Equinox, ese hackathon de 24 horas que hacemos cada seis meses coincidiendo con los equinoccios de primavera y de otoño y donde, junto a otros muchos compañeros, damos rienda suelta a nuestras ideas o nos atrevemos a jugar con nuevas tecnologías con las que no estamos acostumbrados a trabajar en nuestro día a día como VR o Open Gateway

Figura 1: Summify.ai: Transforma la forma en la que
consumes y buscas información en vídeos con IA

En ediciones anteriores, ya había participado en proyectos junto a otros compañeros como Latch´sApp, LiLaS o Latch (Voice) Assistant, pero desde este último, en el equinoccio de primavera del 2018, no había vuelto a participar. En esta nueva edición, he participado junto a mis compañeros de equipo de Ideas Locas: Chema Garabito, Javier del Pino y Sergio Sancho. A media noche tuvimos la visita del gran Félix Brezo, que siempre es una alegría encontrarte. Agradecemos su visita, sus ideas y su interés por nuestro proyecto. 

Summify.ai: Mejorad la experiencia de consumo de vídeos con IA

La idea en cuestión era crear una pequeña herramienta que mejorase la experiencia del consumo de vídeos, podcasts u otro material de consumo multimedia. Para ello se quería trabajar con varios objetivos como la extracción de transcripciones con inteligencia artificial, la creación de resúmenes a partir de las transcripciones obtenidas, la identificación de los principales temas de interés a partir también de la transcripción, y, por último, la creación de búsquedas inteligentes gracias al contexto. Y con estas ideas en la cabeza nos pusimos manos a la obra para crear lo que terminamos llamamos “Summify.ai”.

La extracción de transcripciones con IA es el primer paso que se realiza en el proceso de creación de resúmenes y búsqueda inteligente de vídeos. Para lograrlo, utilizamos la API de Whisper, una plataforma de reconocimiento de voz de última generación que nos permite obtener una transcripción de audio con una gran precisión. Esta tecnología utiliza técnicas de inteligencia artificial como el Deep Learning y el procesamiento de lenguaje natural para lograr una transcripción precisa.

Figura 2: Obtención del resumen del vídeo analizado

Una vez que hemos obtenido la transcripción de audio con Whisper, se procede a crear un resumen del vídeo. Este resumen se realiza de manera automática gracias al uso de la inteligencia artificial que analiza el contenido de la transcripción y selecciona las partes más relevantes del vídeo. Para ello, hicimos uso de la API de OpenAI para que nos permiten identificar las partes más importantes del vídeo y resumirlas de manera efectiva.

Para la obtención de los principales temas de interés, de nuevo, contamos con OpenAI para realizar esta labor. Un prompt del estilo: “Dime que topics puedes identificar en este texto, máximo 4 topics, en formato Topic 1:, Topic 2:…” nos ha funcionado bastante bien, aunque es cierto que tuvimos algunos problemas al pasar textos demasiado largos, algo que pudimos solucionar haciendo uso de proyectos libres como LlamaIndex.


Por otro lado, otro problema que iba a demorar mucho tiempo a la hora de realizar la demostración era obtener un número no conocido de temas, por lo que hicimos pruebas con la identificación limitada a 2, 3 y 4 temas, ya que en video largos llegamos a obtener más de 10 resultados, lo que ralentizaba mucho la obtención de la información. Además, de cada tema también queríamos obtener las principales ideas, por lo que hicimos un nuevo prompt sobre cada uno de los resultados de los temas obtenidos con anterioridad, utilizando un prompt del estilo a:

“Hemos identificado el topic "{topic}" en el texto. Dame tres bullet points que resuman este topic en el texto a modo de conclusión.” 

De esta manera conseguimos el objetivo que teníamos propuesto, y que ademas puede dar pie a una fácil categorización de los videos, como si se tratasen de etiquetas.

Figura 4: Obtención de los principales temas e ideas

Para finalizar y aprovechar al máximo las posibilidades que OpenAI nos esta dando, decidimos realizar un prompt para la obtención de información en texto a través de las consultas que pueda hacer un usuario. Algo así como un chatbot que encuentra la información consultada pero que se deba encontrar en la información del vídeo, es decir, que se analice dentro de la transcripción, que es la fuente principal de información de este proyecto.

Para complicar esto un poco más, no queríamos que únicamente se realizara la búsqueda en un único vídeo, sino que, dado un conjunto de vídeos, identificase el vídeo principal donde puede darse esta consulta y que encontrase la información más correcta. Este apartado fue, sin duda, el que nos llevo más tiempo del hackathon.


Figura 5: Vista principal del catálogo de vídeos procesados

Para la demostración final decidimos crear un frontal que representara un catálogo de vídeos y que pudiera mostrar la información individual procesada de cada uno de ellos. Desde la vista principal es posible lanzar la búsqueda global aunque también es posible realizar una búsqueda de manera individual desde la vista detalle del vídeo en cuestión.

Procesamos varios vídeos de “LA RESISTENCIA” de nuestro querido David Broncano - con el que puedes contactar en MyPublicInbox - , porque tienen una duración aproximada de 10 minutos y era algo abordable dentro de las 24 horas que teníamos disponibles, ya que haciendo algunas pruebas con podcasts más largos, el procesado de los videos se iba mucho de tiempo. Y a continuación, algunas de las preguntas que era capaz de contestar sin problemas:
  • ¿Qué le gusta a Jhay Cortez?
  • ¿Que comida recomienda Jhay Cortez?
  • ¿Quién ha discutido con Lola Índigo?
  • ¿Cuánto pesa Joan Pradells?
  • ¿En qué categoría compite Joan Pradells?
  • ¿Qué jugadores le caen mal al Kun Agüero?
  • ¿Con cuántos años debutó el Kun en la liga argentina?
En algunos casos identificaba el vídeo pero no encontraba la información, por ejemplo, “¿Cuánto pesa Joan Pradells?”, aunque sí que se indicaba que esa información no había sido encontrada en el vídeo en cuestión. En otros casos, se puede destacar que no hay que buscar por la persona concreta a la que le están haciendo la entrevista, sino por los temas que se hablan. De esta manera, la respuesta a la pregunta “¿Quién ha discutido con Lola Índigo?” puede encontrarse en el contexto de la entrevista con Ptazeta,

Figura 7: Ejemplo de consulta y su respuesta

Para finalizar, para hacer el flujo de trabajo automático, utilizamos como input un vídeo a partir de la URL de YouTube, que pasaba a descargarse en formato de audio, transcribirse con Whisper y realizar todo el procesamiento comentado a lo largo de este post.

Figura 8: Archivo JSON con la información procesa

En resumen, en el proyecto Summify.ai utilizamos técnicas de Inteligencia Artificial y procesamiento de lenguaje natural para mejorar la experiencia de consumo de vídeos. A través de la extracción de transcripciones precisas, la creación de resúmenes automáticos, la identificación de los principales temas de interés y la realización de búsquedas más eficientes gracias al contexto, Summify.ai nos ayuda a obtener la información que necesitamos de manera más rápida y efectiva. Pensemos el potencial que pueden tener estas búsquedas avanzadas dentro de un catalogo de películas, de los podcast más punteros o de las Living Apps que tenemos en Movistar+.

Reflexión final

Quiero agradecer a todos los integrantes de mi equipo, Chema GarabitoJavier del Pino y Sergio Sancho, por su dedicación y esfuerzo en este hackathon. Juntos hemos logrado entendernos y hemos superado muchos obstáculos que se dieron durante el evento. Ha sido un verdadero placer trabajar con ellos y aprender de sus conocimientos y habilidades.

También quiero agradecer a todos los competidores de esta edición por su participación y esfuerzo. Cabe mencionar que ha sido el Equinox de la Inteligencia Artificial, donde muchos de los compañeros han utilizado esta tecnología para crear proyectos espectaculares. Estoy seguro de que todos hemos salido de aquí con nuevas ideas y conocimientos que nos ayudarán a seguir mejorando en el futuro.

En definitiva, ha sido una gran experiencia y estamos contentos por haber tenido la oportunidad de participar en esta competición junto a personas tan talentosas y, además, haber conseguido hacernos hueco en el premio compartido de IA, aunque lo más importante de todo ha sido disfrutar de todos esos momentos.

¡Hasta la próxima!

No hay comentarios:

Publicar un comentario