Análisis del sentimiento en vídeos con CLIP CLAP
Ahora realizarás el análisis emocional del anuncio que preparaste anteriormente utilizando CLIP/CLAP. Para realizar una clasificación multimodal de las emociones, combinarás las predicciones de estos modelos utilizando la media (lo que se conoce como fusión tardía).
El vídeo (video) y el audio correspondiente (audio_sample) que creaste anteriormente siguen estando disponibles:

Se ha cargado una lista de emociones en emotions.
Este ejercicio forma parte del curso
Modelos multimodales con Hugging Face
Instrucciones del ejercicio
- Crea un proceso de clasificación de audio para
zero-shot-audio-classificationutilizando el modelolaion/clap-htsat-unfused. - Crea un proceso de clasificación de imágenes para
zero-shot-image-classificationutilizando el modeloopenai/clip-vit-base-patch32(una variante más pequeña de la que utilizamos en el vídeo). - Utiliza el proceso de clasificación de imágenes para generar predicciones para cada imagen del vídeo.
- Utiliza el canal de clasificación de audio para generar predicciones para el
audio_sample.
Ejercicio interactivo práctico
Prueba este ejercicio y completa el código de muestra.
# Make an audio classifier pipeline
audio_classifier = ____(model="____", task="____")
# Make an image classifier pipeline
image_classifier = ____(model="____", task="____")
# Create emotion scores for each video frame
predictions = image_classifier(video, candidate_labels=emotions)
scores = [
{l['label']: l['score'] for l in prediction}
for prediction in predictions
]
avg_image_scores = {emotion: sum([s[emotion] for s in scores])/len(scores) for emotion in emotions}
# Make audio scores
audio_scores = ____(____, candidate_labels=____)
audio_scores = {l['label']: l['score'] for l in audio_scores}
multimodal_scores = {emotion: (avg_image_scores[emotion] + audio_scores[emotion])/2 for emotion in emotions}
print(f"Multimodal scores: {multimodal_scores}")