GUIDA ALLO SVILUPPO · RICERCATORI

Come creare un dataset vocale multilingue dalle trascrizioni di YouTube

I corpora di testi scritti rappresentano poco il modo in cui le persone parlano davvero, soprattutto nelle lingue e nei dialetti con pochi testi pubblicati. YouTube contiene parlato colloquiale in quasi tutte le lingue. Le trascrizioni con tempi a livello di parola lo trasformano in dati di ricerca utilizzabili.

A chi è rivolta
Linguisti computazionali, laboratori di NLP, team di valutazione AI
Tempo di sviluppo
1 mese
Endpoint API
/transcripts/{video_id}/languagesasr_options.codeSwitchingformat.words

Il problema che risolve

Chi studia la lingua parlata, il code-switching o le lingue a basse risorse fatica a trovare abbastanza dati naturali e colloquiali. Molti video non hanno sottotitoli, e quelli esistenti mescolano fonti umane e automatiche di qualità variabile. I team hanno bisogno di una pipeline coerente che gestisca molte lingue e registri la provenienza di ogni trascrizione.

Cosa includere nella prima versione

  • Rilevamento delle lingue di sottotitoli disponibili per ogni video
  • Riconoscimento vocale AI in 99 lingue per i video senza sottotitoli
  • Supporto al code-switching per il parlato che mescola più lingue
  • Timestamp a livello di parola per l'allineamento
  • Metadati su lingua e fonte dei sottotitoli per ogni trascrizione

Come realizzarla, passo dopo passo

  1. 01

    Trova i video candidati

    Risolvi canali o playlist noti per contenere le lingue che ti interessano e chiama /transcripts/{video_id}/languages per vedere quali tracce di sottotitoli esistono.

  2. 02

    Usa i sottotitoli quando disponibili

    Recupera i sottotitoli manuali quando esistono, perché di solito sono i più accurati.

  3. 03

    Colma le lacune con il riconoscimento vocale

    Per i video senza sottotitoli, richiedi l'ASR con la lingua impostata o rilevata automaticamente e attiva codeSwitching per il parlato in più lingue.

  4. 04

    Archivia con i dati di allineamento

    Richiedi format.words per i timestamp a livello di parola e salva lingua e fonte di ogni trascrizione insieme al testo.

Codice di partenza

Questa idea si basa sullo schema "Ricetta 3: carica in blocco una playlist in una knowledge base". Sostituisci canali, prompt e storage con i tuoi.

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

Perché vale la pena realizzarla

Laboratori e team AI ottengono dati di valutazione e di ricerca in lingue che altrimenti sarebbero costose da raccogliere. Dataset puliti e ben documentati per lingue o domini specifici sono preziosi anche per chi sviluppa modelli.

Errori da evitare

  • Considerare i sottotitoli automatici come verità di riferimento: etichetta le fonti e convalida manualmente un campione.
  • Mescolare dialetti senza metadati: registra canale e regione per poter interpretare i risultati.
  • Trascurare le licenze: verifica i termini della piattaforma e il diritto d'autore prima di ridistribuire qualsiasi dataset.

Domande su questa idea

Quante lingue supporta il riconoscimento vocale?

Il riconoscimento vocale AI supporta 99 lingue, con rilevamento automatico della lingua e code-switching opzionale per il parlato in più lingue.

Posso ottenere timestamp a livello di parola?

Sì. Richiedi format.words per ricevere i tempi di ogni parola, utili per l'allineamento e la ricerca fonetica.

Posso ridistribuire un dataset creato da YouTube?

Dipende dai termini di YouTube, dalla normativa sul diritto d'autore e dalle policy del tuo ateneo. Molti ricercatori condividono gli ID video e il codice invece delle trascrizioni stesse.

Inizia a costruire oggi

10 crediti gratuiti ogni mese. Nessuna carta di credito richiesta.

Come creare un dataset vocale multilingue da YouTube | YouTubeTranscript.dev