BYGGGUIDE · FORSKARE

Så bygger du ett flerspråkigt taldataset från YouTube-transkript

Skriftliga textkorpusar underrepresenterar hur människor faktiskt pratar, särskilt på språk och dialekter med lite publicerad text. YouTube innehåller vardagligt tal på nästan alla språk. Transkript med tidsangivelser på ordnivå gör det till användbar forskningsdata.

Vem det är för
Datorlingvister, NLP-labb, team för AI-utvärdering
Byggtid
1 månad
API-endpoints
/transcripts/{video_id}/languagesasr_options.codeSwitchingformat.words

Problemet det löser

Forskare som studerar talat språk, kodväxling eller resurssvaga språk har svårt att hitta tillräckligt med naturlig, vardaglig data. Många videor saknar undertexter, och de som finns blandar mänskliga och automatiska källor av varierande kvalitet. Team behöver ett konsekvent flöde som hanterar många språk och registrerar var varje transkript kommer ifrån.

Vad den första versionen bör innehålla

  • Identifiering av tillgängliga undertextspråk per video
  • AI-taligenkänning på 99 språk för videor utan undertexter
  • Stöd för kodväxling för tal som blandar språk
  • Tidsstämplar på ordnivå för alignment
  • Metadata om språk och undertextkälla för varje transkript

Så bygger du det, steg för steg

  1. 01

    Hitta kandidatvideor

    Slå upp kanaler eller spellistor som är kända för att innehålla dina målspråk och anropa /transcripts/{video_id}/languages för att se vilka undertextspår som finns.

  2. 02

    Använd undertexter där de finns

    Hämta manuella undertexter där de finns, eftersom de oftast är mest korrekta.

  3. 03

    Fyll luckorna med taligenkänning

    För videor utan undertexter begär du ASR med angivet eller automatiskt identifierat språk, och aktiverar codeSwitching för tal som blandar språk.

  4. 04

    Spara med alignment-data

    Begär format.words för tidsstämplar på ordnivå och spara språk och källa för varje transkript tillsammans med texten.

Startkod

Den här idén bygger på mönstret "Recept 3: Läs in en hel spellista i en kunskapsbas". Byt till dina egna kanaler, promptar och lagring.

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

Därför är det värt att bygga

Labb och AI-team får utvärderings- och forskningsdata på språk som annars är dyra att samla in. Rena, väldokumenterade dataset för specifika språk eller domäner är också värdefulla för modellbyggare.

Misstag att undvika

  • Att anta att automatiska undertexter är facit: märk källorna och validera ett urval manuellt.
  • Att blanda dialekter utan metadata: registrera kanal och region så att resultaten kan tolkas.
  • Att förbise licensfrågor: kontrollera plattformens villkor och upphovsrätten innan du sprider något dataset.

Frågor om den här idén

Hur många språk stöder taligenkänningen?

AI-taligenkänningen stöder 99 språk, med automatisk språkidentifiering och valfri kodväxling för tal som blandar språk.

Kan jag få tidsstämplar på ordnivå?

Ja. Begär format.words för att få tidsangivelser för varje ord, vilket är användbart för alignment och fonetisk forskning.

Får jag sprida ett dataset byggt från YouTube?

Det beror på YouTubes villkor, upphovsrättslagen och ditt lärosätes policyer. Många forskare delar video-ID:n och kod snarare än själva transkripten.

Börja bygga i dag

10 gratis krediter varje månad. Inget kreditkort behövs.

Bygg ett flerspråkigt taldataset från YouTube | YouTubeTranscript.dev