Redes en automático|INEMA.CLUB-PRO

Clase 4 · 18 min

La base con fuentes: cada número con el fragmento literal

base.md es el corazón del canal con fuentes. Cada número que aparece en pantalla incluye quién lo dijo, el video, la fecha y un fragmento copiado de la transcripción, sin editar. Un script verifica cada fragmento; si alguno no aparece, se descarta el video. Aquí crearás tu base y tu verificador.

Empezar la clase
Pantalla con una transcripción larga y un fragmento destacado que se copia a una tabla.

En esta clase vas a

  1. 1Del video a la transcripción, en tu computadora
  2. 2Las cinco columnas de base.md
  3. 3Qué es un fragmento literal (y qué no)
  4. 4Un verificador de 15 líneas, como checar.py

Objetivo: crear la base.md de un video de tu nicho, con un fragmento literal en cada fila, y verificar cada fragmento en la transcripción con un script.

01Del video a la fila verificada

Haz clic en cada bloque.

Haz clic en cada bloque del diagrama para ver qué hace.

La verificación no determina si el número es cierto en el mundo real: garantiza que alguien dijo exactamente eso en el video citado. Por eso todo se atribuye ("según él").

02Fragmento literal: correcto e incorrecto

Ejemplos ilustrativos basados en una transcripción inventada para el nicho inmobiliario.

1. Correcto

Copia directamente de la transcripción, tal como está, incluso si la frase queda suelta. Entre 6 y 30 palabras, suficientes para demostrar el número.

Fragmento"el alquiler promedio aquí en la zona subió doce por ciento en un año"

03Los modelos: transcribir, anotar, verificar

Ejecútalo en la carpeta del agente. Cambia <URL> por el video elegido.

terminal: audio + transcripción local
yt-dlp -x --audio-format mp3 -o "audio.%(ext)s" "<URL>"
# con inemavox (u otro transcriptor local):
python transcrever_v1.py --in audio.mp3 --outdir tx --whisper-model large-v3
base.md
| Número usado | Quién lo dijo | Video | Fecha | Fragmento de la transcripción |
|---|---|---|---|---|
| | | <id do YouTube> | dd/mm/aaaa | "<6 a 30 palabras copiadas>" |
confere.py
#!/usr/bin/env python3
"""uso: python3 confere.py base.md transcript.txt
¿Cada fragmento entre comillas de la base está en la transcripción? Sale 1 si alguno no está."""
import re, sys, unicodedata

def n(s):  # minúsculas, sin acento, sin puntuación
    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)
Simulación: ejemplo ilustrativo
OK   el alquiler promedio aquí en la zona subió doce por ciento en un año
FORA el valor promedio del alquiler en la zona aumentó 12% el último año

Una línea FORA: corrige copiándola de nuevo de la transcripción. El checar.py de los radares hace lo mismo con cada video citado.

04Mira la verificación en acción

Cada línea de la base pasa por el verificador. Interrúmpelo a mitad y vuelve a ejecutarlo.

base.md

verificando

encontrado

fuera de la transcripción

Simulación ilustrativa en el navegador. La línea que falla es intencional: su fragmento fue "mejorado" y ya no es literal.

05Práctica: tu base con fuente

Ejercicio 3 de la secuencia 4.

E3 · La base con fuentes

30 min

Transcribe un video de uno de tus 5 canales y arma la base.md con número, quién lo dijo, video, fecha y fragmento literal. Ejecuta el confere.py.

Listo cuando: cada línea tiene el fragmento literal entre comillas y el confere.py imprime solo OK.

Ejercicio completo: jornada-agentes/exercicios/04-redes.md.

06Pon a prueba lo que aprendiste

La explicación aparece después de tu respuesta.

Pregunta 1 de 3

Cambiaste "doce por ciento" por "12%" en el fragmento de la base para que se viera más limpio. ¿Qué pasa en la verificación?competencia

Para profundizar

Clase anteriorClase siguiente