Análise de sentimento em vídeo com CLIP CLAP
Agora você vai realizar a análise de emoções do anúncio que preparou anteriormente usando CLIP/CLAP. Para fazer uma classificação multi-modal de emoções, você vai combinar as previsões desses modelos usando a média (conhecida como late fusion).
O vídeo (video) e o áudio correspondente (audio_sample) que você criou anteriormente ainda estão disponíveis:

Uma lista de emoções foi carregada como emotions.
Este exercício faz parte do curso
Modelos multimodais com Hugging Face
Instruções do exercício
- Crie um pipeline de classificação de áudio para
zero-shot-audio-classificationusando o modelolaion/clap-htsat-unfused. - Crie um pipeline de classificação de imagem para
zero-shot-image-classificationusando o modeloopenai/clip-vit-base-patch32(uma variante menor do que usamos no vídeo). - Use o pipeline de classificação de imagem para gerar previsões para cada imagem do vídeo.
- Use o pipeline de classificação de áudio para gerar previsões para o
audio_sample.
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
# 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}")