ASR confidence (transcript_quality)

Foundations module that surfaces word-level ASR confidence as reviewable evidence.

What it is

  • Model-produced uncertainty evidence from accepted word score fields (WhisperX imports today).

  • Not estimated word error rate.

  • Not proof that a word is incorrect.

  • No synthetic overall “transcript quality” score.

User-facing label: ASR Confidence.

Status semantics

Status

Definition

absent

scored_word_count == 0

partial

0 < scored_word_count < eligible_word_count

present

every eligible word has a valid accepted score

Counters distinguish missing scores, invalid scores, out-of-range scores, and unusable words (bad timing/text).

Score policy

accept_unit_interval_omit_otherwise: finite numeric scores in [0, 1] are accepted; others are omitted (never clamped). Diagnostics record raw/accepted/invalid/out-of-range counts.

Provenance

Each result records import_adapter, asr_engine, model_identifier (nullable), source_score_field, normalisation_policy, and a comparable_key.

Group pooling and group charts compare sessions only within the same comparable_key. Incompatible members are counted and excluded from pooled confidence metrics.

Outputs

  • Coverage, score distribution (histogram), percentiles

  • Low-confidence spans and clusters with playback refs (start, end, segment_index)

  • Insights block ASR Confidence with Open-in-transcript actions

Config

Owned subtree analysis.transcript_quality:

  • low_score_threshold (default 0.5)

  • max_gap_seconds (0.75)

  • cluster_merge_seconds (2.0)

  • max_spans / max_clusters

Out of scope (v1)

  • Filler density / co-occurrence (deferred; use tics / stats)

  • Invented confidence for non-WhisperX imports

  • WER / reference alignment