TIAGO Transcrição — Whisper ajustado para comunicação operativa

Modelo de reconhecimento de fala (ASR) ajustado a partir do openai/whisper-medium para transcrever comunicação operativa em português do Brasil — o diálogo por rádio e telefone entre centros de operação e agentes do setor elétrico.

Faz parte do TIAGO Transcrição, o mecanismo de transcrição de áudio da sala de controle do ONS (Operador Nacional do Sistema Elétrico). O código do pipeline completo — API, worker, diarização, enriquecimento por LLM e infraestrutura — está em ONSBR/TIAGO-Transcricao.

Para que serve

Áudio operativo é um caso difícil para ASR de propósito geral: canal estreito e ruidoso, sobreposição de fala, jargão técnico denso (equipamentos, instalações, manobras) e protocolo de comunicação próprio. Um modelo generalista erra justamente nos termos que importam para o registro operativo.

O ajuste corrige isso no vocabulário e no estilo de fala do domínio.

Uso

from transformers import pipeline

asr = pipeline(
    "automatic-speech-recognition",
    model="onsdevops/tiago-transcricao",
    return_timestamps=True,
    chunk_length_s=30,
)
resultado = asr("audio.wav", generate_kwargs={"language": "portuguese", "task": "transcribe"})
print(resultado["text"])

O repositório é autocontido: traz os pesos, as configurações e os arquivos de tokenizer, então from_pretrained funciona sem depender do modelo base.

Modelo de segmentação

A subpasta segmentation/ traz o modelo de segmentação de falantes (PyanNet) ajustado no mesmo domínio, usado pelo pipeline para diarização. Ele substitui o componente de segmentação de um pipeline pyannote; não é um modelo de ASR e não funciona sozinho.

# no pipeline completo, ver o repositorio do codigo
from huggingface_hub import snapshot_download
snapshot_download("onsdevops/tiago-transcricao", allow_patterns="segmentation/*")

Desempenho

Avaliação interna sobre um conjunto de 215 áudios de comunicação operativa real, com transcrição de referência anotada à mão. Comparação com o Amazon Transcribe sobre os mesmos áudios, após a mesma normalização de texto (minúsculas, sem acentos nem pontuação):

Métrica Amazon Transcribe Este modelo
WER ↓ 0,414 0,406
MER ↓ 0,404 0,354
CER ↓ 0,329 0,283
WIL ↓ 0,483 0,475
WIP ↑ 0,517 0,525

Leia com cuidado: o modelo fica à frente nas cinco métricas, mas a margem em WER é estreita (0,406 contra 0,414, com desvios-padrão em torno de 0,2) e mais folgada em CER e MER. Não há intervalo de confiança calculado, e os desvios são altos. Trate como ordem de grandeza, não como superioridade estabelecida.

O WER absoluto de ~0,4 reflete a dificuldade do material: áudio de rádio comprimido, com ruído de fundo e sobreposição de vozes.

Treino

  • Base: openai/whisper-medium (764M parâmetros)
  • Dados: comunicação operativa real, em português, do Sistema Interligado Nacional
  • Hiperparâmetros: batch 48, learning rate 1e-5, warmup 500 passos, 5000 passos no total, fp16, seleção do melhor checkpoint por WER
  • Precisão dos pesos publicados: float32

Nota de reprodutibilidade: 5000 passos com batch 48 correspondem a muitas épocas sobre o conjunto de treino, bem acima do usual para ajuste de ASR, e os splits não fixam semente. Quem for reproduzir deve revisar isso.

Limitações e riscos

  • Domínio estreito. Ajustado para diálogo operativo do setor elétrico em português. Fora desse domínio, tende a ter desempenho pior que o próprio whisper-medium, porque o ajuste especializa o vocabulário.
  • Viés de vocabulário. Aprendeu nomes de instalações, equipamentos e o protocolo de comunicação do SIN. Pode forçar esses termos em áudio que não os contém.
  • Memorização. O modelo foi ajustado em gravações reais de operação. Como qualquer modelo de sequência, pode reproduzir trechos memorizados do treino diante de entrada ambígua ou ruidosa — inclusive nomes próprios e identificadores raros. Não use a saída como evidência de que algo foi dito sem verificação contra o áudio.
  • Não é um sistema de identificação. Não identifica quem fala, e não deve ser usado para atribuir falas a pessoas específicas.
  • Dados de treino não são distribuídos. As gravações e as transcrições de referência são comunicação operativa real e não acompanham este modelo.

Licença e contato

Apache 2.0.

Mantido pela Comunidade de IA do ONS — cia@ons.org.br. Defeitos e sugestões: as issues do repositório de código.

Downloads last month
-
Safetensors
Model size
0.8B params
Tensor type
F32
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for onsdevops/tiago-transcricao

Finetuned
(945)
this model