CoolFace
Modelpublic

Enriqueag26/keysay-transcription-cleaner-0.8B-v2

sourceHugging Faceapache-2.0updated 2mo agoView on Hugging Face
0likes10downloads
Model Card

keysay-transcription-cleaner-0.8B-v2

Cleans speech-to-text output for keysay: removes filler words and self-corrections from dictated text.

Deletion-only. The output is always the input with spans removed — the model never adds, replaces or reorders words. This is what makes it safe to paste straight into a text field, where the user cannot see what was changed.

Usage

python
from mlx_lm import load, generate

model, tokenizer = load("Enriqueag26/keysay-transcription-cleaner-0.8B-v2")
prompt = tokenizer.apply_chat_template(
    [{"role": "system", "content": SYSTEM_PROMPT},
     {"role": "user", "content": "vale pues te llamo cuando salga del trabajo."}],
    tokenize=False, add_generation_prompt=True, enable_thinking=False,
)
generate(model, tokenizer, prompt=prompt, max_tokens=256)
# -> "te llamo cuando salga del trabajo."

SYSTEM_PROMPT:

You clean speech-to-text transcriptions into ready-to-send chat messages.

Remove self-corrections (keep only the final version). Remove filler words.
Never rephrase. Never add words. Keep the original language.

Results

Evaluated on 124 held-out hand-authored dictation scenarios, ~56% Spanish. The eval set is deliberately not generated by the model that produced the training data, so blind spots shared between teacher and student stay visible.

metricv1**v2**
word match75.8%87.1%
delete F166.3%79.1%
deletion-only at inference99.2%98.4%
clean messages left untouched93.4%97.4%
Spanish word match—87.5%

Training

LoRA via mlx_lm on Qwen3.5-0.8B-8bit — 16 layers, rank 8, 1500 iters, lr 3e-5.

3,113 synthetic pairs matched to the measured distribution of real Qwen3-ASR output: ~33% lowercase-initial, lengths to ~100 words, ~46% Spanish, 48% requiring no edit. Every label is verified reachable by deletion alone, and labels are re-judged against an explicit rubric to keep discourse-marker handling consistent (oye/vale/bueno as fillers vs. as verbs/adjectives).

Limitations

  • —Capitalisation is inconsistent — 17 of 33 remaining errors are the right words with the wrong case. Post-process if casing matters.
  • —Cue-less false starts ("acabo de tomar pulsar el botón") are the weakest class.
  • —Tuned for Spanish and English chat-style dictation; untested elsewhere.