Il problema che risolve
I fact-checker possono fare ricerche sulle piattaforme testuali, ma il video resta in gran parte opaco. Le affermazioni vengono ripetute con formulazioni leggermente diverse su decine di canali, e documentarne la diffusione significa guardare ore di filmati. I ricercatori hanno bisogno di trascrizioni ricercabili, di corrispondenze semantiche per le parafrasi e di una documentazione verificabile di ogni occorrenza.
Cosa includere nella prima versione
- Monitoraggio di un insieme definito di canali
- Ricerca semantica delle parafrasi di un'affermazione, non solo della formulazione esatta
- Una timeline che mostra la prima apparizione e la diffusione
- Citazioni con link e timestamp per la verifica
- Prove esportabili per report e pubblicazioni
Come realizzarla, passo dopo passo
- 01
Raccogli le trascrizioni
Risolvi i canali inclusi nello studio e recupera in batch i loro video per il tuo intervallo di tempo. Continua a monitorare i nuovi caricamenti se lo studio è in corso.
- 02
Crea gli embedding dei segmenti
Crea gli embedding di ogni paragrafo delle trascrizioni per trovare dichiarazioni con significato simile.
- 03
Cerca l'affermazione
Crea gli embedding di diverse formulazioni dell'affermazione, recupera i passaggi simili e fai confermare a un revisore o a un LLM quali la sostengono davvero.
- 04
Costruisci la timeline
Ordina le corrispondenze confermate per data di pubblicazione ed esportale con canale, citazione e link con timestamp.
Codice di partenza
Questa idea si basa sullo schema "Ricetta 2: monitora i canali e ricevi avvisi sui nuovi video". 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"}
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}")Perché vale la pena realizzarla
Le organizzazioni di fact-checking e i gruppi di ricerca guadagnano in velocità e in prove verificabili. I team di trust and safety e le società di media monitoring pagheranno per strumenti che coprono anche il video.
Errori da evitare
- Trattare le corrispondenze automatiche come conclusioni: fai sempre confermare a una persona prima di pubblicare.
- Cercare solo frasi esatte: le affermazioni mutano, quindi usa la ricerca semantica con più formulazioni.
- Perdere la provenienza: conserva ID video, timestamp e data di recupero per ogni citazione.
Domande su questa idea
Come fanno i fact-checker a cercare nei video di YouTube?
Trascrivono i video e cercano nel testo. La ricerca semantica trova parafrasi che la ricerca per parole chiave non individuerebbe.
Posso dimostrare quando un'affermazione è stata fatta per la prima volta su YouTube?
Puoi documentare la prima occorrenza all'interno dei canali che monitori, con data di pubblicazione e timestamp. La copertura determina quanto è completo il quadro.
E i video senza sottotitoli?
Attiva il riconoscimento vocale AI così anche i video senza sottotitoli vengono trascritti e diventano ricercabili.