Transcription et diarisation
Diarisation par pyannote.audio et transcription par Whisper
Pipeline de mise à jour continue
Comment ça fonctionne
La segmentation des locuteurs est réalisée à l'aide de pyannote.audio, permettant l'identification et la délimitation des interventions des différents locuteurs au sein de chaque vidéo.
Whisper, le modèle de transcription open-source d'OpenAI, est utilisé pour générer les transcriptions des pistes audio. Chaque segment transcrit est réassigné à son locuteur respectif identifié lors de la diarisation.
Les transcriptions sont structurées avec des timestamps et des identifiants de locuteurs, assurant l'alignement entre le texte, la diarisation et l'audio. Les transcriptions finales sont ensuite agrégées dans la base de données SQL finale, stockée sur un serveur privé.
La diarisation et la transcription sont exécutées en continu sur le réseau de machines collaboratives des chercheurs du projet, avec accélération GPU.
Cliquez sur chaque carte pour voir les détails
La segmentation des locuteurs a été réalisée à l'aide de pyannote.audio pour la diarisation, permettant l'identification et la délimitation des interventions des différents locuteurs au sein de chaque vidéo. Whisper, le modèle de transcription open-source d'OpenAI, a ensuite été utilisé pour générer les transcriptions des pistes audio, chaque segment étant réassigné à son locuteur respectif identifié lors de la diarisation. Les transcriptions ont ensuite été structurées avec des timestamps et des identifiants de locuteurs, assurant l'alignement entre le texte, la diarisation et l'audio. Le traitement est exécuté en continu sur le réseau de machines collaboratives des chercheurs du projet.
Outils utilisés
Schéma de la base de données
Six tables dans un schéma relationnel normalisé, des métadonnées brutes aux annotations NLP au niveau de la phrase.
| # | Table | Description | Échelle |
|---|---|---|---|
| 1 | videos | Une ligne par vidéo : ID, métadonnées de la chaîne, vues, likes, commentaires, tags, durée, date de mise en ligne, orientation politique, pays, genre. | 23,658 rows |
| 2 | comments | Tous les commentaires YouTube avec infos auteur, likes, horodatages, structure de réponses imbriquées et colonne d'analyse JSONB. | 7.6M+ rows |
| 3 | video_transcripts | Transcriptions diarisées complètes avec étiquettes de locuteurs et versions nettoyées du texte. | 20,998 rows |
| 4 | transcription_speakers | Segments individuels de locuteurs issus de la diarisation, ordonnés par position dans chaque vidéo. | 601,346 rows |
| 5 | comments_processed | Commentaires tokenisés au niveau de la phrase avec entités NER (PER, ORG, LOC) et colonnes de prédiction ML. | 9.8M+ rows |
| 6 | transcription_speakers_processed | Segments de locuteurs au niveau de la phrase avec extraction NER et suite complète d'annotations. | 5.3M+ rows |
Observatoire en continu
La base est mise à jour en continu : scan des chaînes, transcription et annotation des vidéos, extraction de commentaires, mise à jour des métadonnées (vues, likes, abonnés). Chaque scan produit un historique longitudinal exploitable via l'API.