Added initial segment overlap resolution logic

This commit is contained in:
2026-04-27 15:52:53 -05:00
parent e42a2326e8
commit 1b9f4bd922
16 changed files with 1357 additions and 59 deletions

View File

@@ -66,6 +66,37 @@ func (detectOverlaps) Process(ctx context.Context, in model.MergedTranscript, cf
}, nil
}
type resolveOverlaps struct{}
func (resolveOverlaps) Name() string {
return "resolve-overlaps"
}
func (resolveOverlaps) Process(ctx context.Context, in model.MergedTranscript, cfg config.Config) (model.MergedTranscript, []report.Event, error) {
if err := ctx.Err(); err != nil {
return model.MergedTranscript{}, nil, err
}
resolved, summary, err := overlap.Resolve(in, cfg.OverlapWordRunGap)
if err != nil {
return model.MergedTranscript{}, nil, err
}
return resolved, []report.Event{
report.Info(
"postprocessing",
"resolve-overlaps",
fmt.Sprintf(
"processed %d overlap group(s); changed %d; removed %d original segment(s); created %d replacement segment(s)",
summary.GroupsProcessed,
summary.GroupsChanged,
summary.OriginalsRemoved,
summary.ReplacementsCreated,
),
),
}, nil
}
type autocorrectPostprocessor struct{}
func (autocorrectPostprocessor) Name() string {