GUIA DE DESENVOLVIMENTO · PESQUISADORES

Como criar um dataset de fala multilíngue com transcrições do YouTube

Corpora de texto escrito sub-representam o jeito como as pessoas realmente falam, sobretudo em idiomas e dialetos com pouco texto publicado. O YouTube tem fala conversacional em quase todos os idiomas. Transcrições com tempo por palavra transformam isso em dados de pesquisa utilizáveis.

Para quem é
Linguistas computacionais, laboratórios de NLP, equipes de avaliação de IA
Tempo de desenvolvimento
1 mês
Endpoints da API
/transcripts/{video_id}/languagesasr_options.codeSwitchingformat.words

O problema que resolve

Pesquisadores que estudam língua falada, alternância de código ou idiomas com poucos recursos têm dificuldade para encontrar dados naturais e conversacionais em quantidade. Muitos vídeos não têm legendas, e as que existem misturam fontes humanas e automáticas de qualidade variável. As equipes precisam de um pipeline consistente que lide com muitos idiomas e registre a origem de cada transcrição.

O que incluir na primeira versão

  • Detecção dos idiomas de legenda disponíveis em cada vídeo
  • Reconhecimento de fala por IA em 99 idiomas para vídeos sem legenda
  • Suporte a alternância de código para fala que mistura idiomas
  • Timestamps por palavra para alinhamento
  • Metadados de idioma e origem da legenda para cada transcrição

Como criar, passo a passo

  1. 01

    Encontre vídeos candidatos

    Resolva canais ou playlists conhecidos por trazer seus idiomas alvo e chame /transcripts/{video_id}/languages para ver quais faixas de legenda existem.

  2. 02

    Use as legendas quando houver

    Busque as legendas manuais quando existirem, já que costumam ser as mais precisas.

  3. 03

    Preencha as lacunas com reconhecimento de fala

    Para vídeos sem legenda, solicite ASR com o idioma definido ou detectado automaticamente, e ative codeSwitching para fala com idiomas misturados.

  4. 04

    Armazene com dados de alinhamento

    Solicite format.words para obter timestamps por palavra e armazene o idioma e a origem de cada transcrição junto com o texto.

Código inicial

Esta ideia segue o padrão "Receita 3: carregue uma playlist inteira em uma base de conhecimento". Use seus próprios canais, prompts e armazenamento.

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

Por que vale a pena criar

Laboratórios e equipes de IA ganham dados de avaliação e pesquisa em idiomas que seriam caros de coletar de outra forma. Datasets limpos e bem documentados para idiomas ou domínios específicos também têm valor para quem desenvolve modelos.

Erros a evitar

  • Presumir que legendas automáticas são a verdade absoluta: identifique as fontes e valide uma amostra manualmente.
  • Misturar dialetos sem metadados: registre o canal e a região para que os resultados possam ser interpretados.
  • Esquecer o licenciamento: verifique os termos da plataforma e os direitos autorais antes de redistribuir qualquer dataset.

Dúvidas sobre esta ideia

Quantos idiomas o reconhecimento de fala suporta?

O reconhecimento de fala por IA suporta 99 idiomas, com detecção automática de idioma e alternância de código opcional para fala com idiomas misturados.

Consigo timestamps por palavra?

Sim. Solicite format.words para receber o tempo de cada palavra, o que é útil para alinhamento e pesquisa fonética.

Posso redistribuir um dataset construído a partir do YouTube?

Depende dos termos do YouTube, da lei de direitos autorais e das políticas da sua instituição. Muitos pesquisadores compartilham os IDs dos vídeos e o código, e não as transcrições em si.

Comece a criar hoje

10 créditos grátis todo mês. Sem cartão de crédito.

Como criar um dataset de fala multilíngue com o YouTube | YouTubeTranscript.dev