GUIDE DE CRÉATION · CHERCHEURS

Comment créer un jeu de données vocales multilingue à partir des transcriptions YouTube

Les corpus écrits reflètent mal la façon dont les gens parlent vraiment, surtout pour les langues et dialectes peu publiés. YouTube contient de la parole conversationnelle dans presque toutes les langues. Des transcriptions avec timing au niveau du mot en font des données de recherche exploitables.

Pour qui
Linguistes computationnels, laboratoires de TAL, équipes d'évaluation IA
Temps de développement
1 mois
Endpoints de l'API
/transcripts/{video_id}/languagesasr_options.codeSwitchingformat.words

Le problème résolu

Les chercheurs qui étudient la langue parlée, l'alternance codique ou les langues peu dotées peinent à trouver assez de données naturelles et conversationnelles. Beaucoup de vidéos n'ont pas de sous-titres, et celles qui en ont mélangent sources humaines et automatiques de qualité variable. Les équipes ont besoin d'un pipeline cohérent qui gère de nombreuses langues et enregistre l'origine de chaque transcription.

Ce que doit inclure votre première version

  • Détection des langues de sous-titres disponibles pour chaque vidéo
  • Reconnaissance vocale IA en 99 langues pour les vidéos sans sous-titres
  • Prise en charge de l'alternance codique pour la parole qui mélange les langues
  • Horodatages au niveau du mot pour l'alignement
  • Métadonnées de langue et de source des sous-titres pour chaque transcription

Comment le construire, étape par étape

  1. 01

    Trouver des vidéos candidates

    Résolvez des chaînes ou playlists connues pour présenter vos langues cibles et appelez /transcripts/{video_id}/languages pour voir quelles pistes de sous-titres existent.

  2. 02

    Utiliser les sous-titres quand ils existent

    Récupérez les sous-titres manuels lorsqu'ils existent, car ce sont généralement les plus précis.

  3. 03

    Combler les manques par la reconnaissance vocale

    Pour les vidéos sans sous-titres, demandez l'ASR avec la langue définie ou détectée automatiquement, et activez codeSwitching pour la parole multilingue.

  4. 04

    Stocker avec les données d'alignement

    Demandez format.words pour obtenir les horodatages au niveau du mot et stockez la langue et la source de chaque transcription avec le texte.

Code de démarrage

Cette idée repose sur le modèle « Recette 3 : charger une playlist en masse dans une base de connaissances ». Remplacez par vos propres chaînes, prompts et stockage.

import requests

API = "https://www.youtubetranscript.dev/api/v2"
HEADERS = {"Authorization": "Bearer yt_sk_live_YOUR_KEY"}

playlist = requests.post(f"{API}/playlists/resolve", headers=HEADERS,
                         json={"playlist_url": "https://www.youtube.com/playlist?list=PLAYLIST_ID",
                               "limit": 100}).json()

ids = [v["video_id"] for v in playlist["items"]]
batch = requests.post(f"{API}/batch", headers=HEADERS, json={
    "video_ids": ids,
    "format": {"timestamp": True, "paragraphs": True},
}).json()

# Large batches run async: poll GET /batch/{batch_id} until status is "completed"
for r in batch.get("results", []):
    if r["status"] == "completed":
        for p in r["data"]["transcript"].get("paragraphs") or []:
            store(video_id=r["video_id"], start=p["start"], text=p["text"])  # your vector DB

Pourquoi ça vaut la peine de le construire

Laboratoires et équipes IA obtiennent des données d'évaluation et de recherche dans des langues coûteuses à collecter autrement. Des jeux de données propres et bien documentés pour des langues ou domaines spécifiques ont aussi de la valeur pour les concepteurs de modèles.

Erreurs à éviter

  • Considérer les sous-titres automatiques comme une vérité de référence : étiquetez les sources et validez un échantillon à la main.
  • Mélanger les dialectes sans métadonnées : enregistrez la chaîne et la région pour pouvoir interpréter les résultats.
  • Négliger les licences : vérifiez les conditions de la plateforme et le droit d'auteur avant de redistribuer un jeu de données.

Questions sur cette idée

Combien de langues la reconnaissance vocale prend-elle en charge ?

La reconnaissance vocale IA prend en charge 99 langues, avec détection automatique de la langue et alternance codique en option pour la parole multilingue.

Peut-on obtenir des horodatages au niveau du mot ?

Oui. Demandez format.words pour recevoir le timing de chaque mot, utile pour l'alignement et la recherche en phonétique.

Peut-on redistribuer un jeu de données construit à partir de YouTube ?

Cela dépend des conditions de YouTube, du droit d'auteur et des règles de votre établissement. Beaucoup de chercheurs partagent les identifiants de vidéos et le code plutôt que les transcriptions elles-mêmes.

Commencez à construire dès aujourd'hui

10 crédits gratuits chaque mois. Aucune carte bancaire requise.

Créer un dataset vocal multilingue à partir de YouTube | YouTubeTranscript.dev