Preserve Before You Align: Order-Preserving Local-to-Global Speaker Assignment for Modular Speaker-Attributed ASR
Abstract
End-to-end conversational speech models produce speaker-attributed, time-stamped transcripts, but their speaker labels are often local to a bounded decoding chunk. Meeting-level diarization supplies global speaker tracks. A simple integration baseline splits transcript segments at diarization boundaries; doing so can alter decoder-generated structure and sharply increase time-constrained permutation word error rate (tcpWER). We introduce PreserveAlign, a training-free reconciliation method that treats each chunk's ASR labels as a local permutation. It accumulates temporal overlap with the global tracks, solves a one-to-one maximum-overlap assignment, uses conservative fallback only for unmatched labels, and leaves every retained ASR segment, timestamp, and token sequence intact. We evaluate all 160 single-channel sessions in the released NOTSOFAR-1 eval-small set (80 meetings, 235,740 reference words). Hypotheses for 94 sessions from 47 entirely unseen meetings were frozen before any reference access; 33 additional second-device sessions from previously seen meetings were frozen before scoring. Session-macro tcpWER falls from 49.11% to 29.90% against split-on-RTTM assignment and from 36.23% to 29.90% against independent row assignment. The latter 6.33-point difference has a meeting-clustered 95% bootstrap interval of 5.18–7.54 points. With primary DiariZen hypotheses frozen before reference scoring, pooled tcpCER falls from 22.29% to 19.54% on 18 held-out AISHELL-4 meetings and from 31.51% to 18.44% on all eight AliMeeting-Eval meetings; the AliMeeting difference favors PreserveAlign in every meeting (p = 0.0078). A separately declared post-hoc AliMeeting swap to pyannote Community-1 keeps the ASR rows fixed and again favors PreserveAlign, reducing tcpCER from 36.32% to 20.39%. Ablations, boundary perturbations, and failure analysis identify when preserving local speaker identity helps and when it does not.