O problema que resolve
Checadores de fatos conseguem pesquisar plataformas de texto, mas o vídeo é em grande parte opaco. Alegações são repetidas com formulações ligeiramente diferentes em dezenas de canais, e documentar sua disseminação exige assistir a horas de gravação. Pesquisadores precisam de transcrições pesquisáveis, correspondência semântica para paráfrases e um registro verificável de cada ocorrência.
O que incluir na primeira versão
- Monitoramento de um conjunto definido de canais
- Busca semântica por paráfrases de uma alegação, não só pela formulação exata
- Uma linha do tempo mostrando a primeira aparição e a disseminação
- Citações com links com timestamp para verificação
- Evidências exportáveis para relatórios e publicações
Como criar, passo a passo
- 01
Colete as transcrições
Resolva os canais do escopo e processe em lote os vídeos do seu período. Continue monitorando novos uploads se o estudo estiver em andamento.
- 02
Gere embeddings dos segmentos
Crie embeddings para cada parágrafo da transcrição para encontrar declarações com significado parecido.
- 03
Pesquise a alegação
Gere embeddings de várias formulações da alegação, recupere trechos semelhantes e peça a um revisor ou a um LLM que confirme quais realmente fazem a alegação.
- 04
Monte a linha do tempo
Ordene as correspondências confirmadas pela data de publicação e exporte-as com canal, citação e link com timestamp.
Código inicial
Esta ideia segue o padrão "Receita 2: monitore canais e receba alertas de novos uploads". 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"}
WATCHLIST = ["@somechannel", "@anotherchannel"]
KEYWORDS = ["your brand", "competitor"]
seen = set() # persist this in a database in production
for handle in WATCHLIST:
latest = requests.post(f"{API}/channels/resolve", headers=HEADERS,
json={"handle": handle, "limit": 10}).json()
for video in latest["items"]:
if video["video_id"] in seen:
continue
seen.add(video["video_id"])
t = requests.post(f"{API}/transcribe", headers=HEADERS,
json={"video": video["video_id"]}).json()
text = t.get("data", {}).get("transcript", {}).get("text", "").lower()
hits = [k for k in KEYWORDS if k in text]
if hits:
print(f"ALERT {video['title']}: {hits}")Por que vale a pena criar
Organizações de checagem e grupos de pesquisa ganham velocidade e evidências verificáveis. Equipes de trust and safety e empresas de monitoramento de mídia pagam por ferramentas que cubram vídeo.
Erros a evitar
- Tratar correspondências automáticas como conclusões: sempre tenha uma pessoa confirmando antes de publicar.
- Pesquisar só frases exatas: alegações mudam, então use busca semântica com várias formulações.
- Perder a procedência: guarde o ID do vídeo, o timestamp e a data de coleta de cada citação.
Dúvidas sobre esta ideia
Como checadores de fatos pesquisam vídeos do YouTube?
Transcrevendo os vídeos e pesquisando o texto. A busca semântica encontra paráfrases que a busca por palavra-chave deixaria passar.
Consigo provar quando uma alegação foi feita pela primeira vez no YouTube?
Você pode documentar a ocorrência mais antiga dentro dos canais que monitora, com a data de publicação e o timestamp. A cobertura determina quão completo é esse retrato.
E os vídeos sem legenda?
Ative o reconhecimento de fala por IA para que vídeos sem legenda também sejam transcritos e pesquisáveis.