Redes no automático|INEMA.CLUB-PRO

Aula 4 · 18 min

A base com fonte: cada número com o trecho literal

A base.md é o coração do canal com fonte. Cada número que vai para a tela entra com quem disse, o vídeo, a data e um trecho copiado da transcrição, sem editar. Um script confere cada trecho; se algum não estiver lá, o vídeo é descartado. Aqui você monta a sua base e o seu conferidor.

Começar a aula
Tela com uma transcrição longa e um trecho destacado sendo copiado para uma tabela.

Nesta aula você vai

  1. 1Do vídeo à transcrição, no seu computador
  2. 2As cinco colunas da base.md
  3. 3O que é um trecho literal (e o que não é)
  4. 4Um conferidor de 15 linhas, como o checar.py

Objetivo: montar a base.md de um vídeo do seu nicho, com trecho literal em cada linha, e conferir cada trecho na transcrição com um script.

01Do vídeo à linha conferida

Clique em cada bloco.

Clique em cada bloco do diagrama para ver o que ele faz.

A conferência não julga se o número é verdadeiro no mundo: ela garante que alguém disse exatamente aquilo, no vídeo citado. Por isso tudo é atribuído ("segundo ele").

02Trecho literal: certo e errado

Exemplos ilustrativos, a partir de uma transcrição inventada para o nicho de imóveis.

1. Certo

Copie direto da transcrição, do jeito que está, mesmo com a fala solta. Entre 6 e 30 palavras, o bastante para provar o número.

Trecho"o aluguel médio aqui na região subiu doze por cento em um ano"

03Os modelos: transcrever, anotar, conferir

Rode na pasta do agente. Troque <URL> pelo vídeo escolhido.

terminal: áudio + transcrição local
yt-dlp -x --audio-format mp3 -o "audio.%(ext)s" "<URL>"
# com o inemavox (ou outro transcritor local):
python transcrever_v1.py --in audio.mp3 --outdir tx --whisper-model large-v3
base.md
| Número usado | Quem disse | Vídeo | Data | Trecho da transcrição |
|---|---|---|---|---|
| | | <id do YouTube> | dd/mm/aaaa | "<6 a 30 palavras copiadas>" |
confere.py
#!/usr/bin/env python3
"""uso: python3 confere.py base.md transcript.txt
Cada trecho entre aspas da base está na transcrição? Sai 1 se algum não estiver."""
import re, sys, unicodedata

def n(s):  # minúsculas, sem acento, sem pontuação
    s = unicodedata.normalize("NFD", s.lower()).encode("ascii", "ignore").decode()
    return re.sub(r"\s+", " ", re.sub(r"[^a-z0-9%]+", " ", s)).strip()

base = open(sys.argv[1], encoding="utf-8").read()
tx = n(open(sys.argv[2], encoding="utf-8").read())
fora = 0
for trecho in re.findall(r'"([^"]{20,})"', base):
    ok = n(trecho) in tx
    fora += not ok
    print("OK  " if ok else "FORA", trecho[:70])
sys.exit(1 if fora else 0)
Simulação: exemplo ilustrativo
OK   o aluguel médio aqui na região subiu doze por cento em um ano
FORA o valor médio do aluguel na região aumentou 12% no último ano

Uma linha FORA: corrija copiando de novo da transcrição. O checar.py dos radares faz o mesmo para cada vídeo citado.

04Veja a conferência funcionando

Cada linha da base passa pelo conferidor. Interrompa no meio e rode de novo.

base.md

conferindo

achado

fora da transcrição

Simulação ilustrativa no navegador. A linha que falha é proposital: o trecho dela foi "melhorado" e já não é literal.

05Prática: a sua base com fonte

Exercício 3 da sequência 4.

E3 · A base com fonte

30 min

Transcreva um vídeo de um dos seus 5 canais e monte a base.md com número, quem disse, vídeo, data e trecho literal. Rode o confere.py.

Pronto quando: cada linha tem o trecho literal entre aspas e o confere.py imprime só OK.

Exercício completo: jornada-agentes/exercicios/04-redes.md.

06Teste o que aprendeu

A explicação aparece depois da sua resposta.

Pergunta 1 de 3

Você trocou "doze por cento" por "12%" no trecho da base para ficar mais limpo. O que acontece na conferência?competência

Para aprofundar

Aula anteriorPróxima aula