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 Garabito,
Javier 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!