ASR 噪声下的结构化抽取评测:从文本相似到实体归因

在 ASR 输出上做 NER 或结构化抽取,不能只把它当成普通文本任务。语音转写会带来插入、删除、替换、同音错误和边界错位,导致实体在参考文本和识别文本中的位置天然不稳定。

如果仍然用严格字符 span 评测,很多可接受的识别会被误判为错误,真正严重的问题反而可能被掩盖。

ASR 噪声改变了评测对象

普通 NER 评测默认输入文本是稳定的,实体 span 可以精确定位。ASR 场景里,输入本身就是模型输出,错误会先发生在转写阶段。

例如一个实体被识别成同音近似词,结构化抽取模型可能仍能恢复语义;也可能 ASR 多插入几个字,导致后续 span 全部错位。严格按字符位置对齐,会把这些情况混在一起。

因此评测目标应该从“span 是否完全相等”扩展为“关键信息是否被正确恢复,以及错误来自哪里”。

两阶段评测更稳

第一阶段评估 ASR 文本本身:WER、CER、关键词召回、数字和专名错误类型。

第二阶段评估结构化抽取结果:实体类型是否正确,实体值是否可接受,归一化结果是否一致,缺失和误报分别是多少。

这两阶段要能关联。否则抽取失败时,很难判断是 ASR 没听对,还是抽取模型没有理解。

模糊匹配不是放松标准

ASR 噪声下需要允许局部模糊匹配,但这不等于随意放宽标准。合理的做法是把匹配规则显式化:

  • 文本规范化后比较;
  • 在局部窗口内匹配实体;
  • 对同音、数字读法和简繁差异单独处理;
  • 对不同实体类型使用不同容忍度;
  • 输出 exact、partial、normalized 三类结果。

这样可以保留评测的可解释性。

错误归因比单个 F1 更有用

实体 F1 能说明总体效果,但不能指导修复。更有价值的是错误归因:

  • ASR 删除导致实体缺失;
  • ASR 替换导致实体值错误;
  • 文本规范化导致格式不一致;
  • 抽取模型漏召回;
  • 抽取模型误报;
  • 后处理归一化失败。

有了归因,后续才知道应该改 ASR、改抽取模型、改 normalizer,还是改评测规则。

开源工具形态

一个通用评测工具可以设计成三层输入:

  1. REF:参考文本和实体标注;
  2. HYP:ASR 文本和抽取结果;
  3. normalization config:实体类型、匹配窗口、归一化规则。

输出包括样本级报告、实体级 precision/recall/F1、错误归因分布和可人工复核的 bad case 列表。

这类工具不需要绑定特定模型,反而更适合开源:它提供的是评测语言,而不是某个单点模型。

小结

ASR 噪声下的结构化抽取评测,核心是把文本错误、实体错误和归一化错误拆开。只有错误类型被看见,系统优化才有方向。

Alignment-aware scorer

Noisy ASR text should be scored with an alignment-aware extractor. The scorer first aligns reference and hypothesis text, then evaluates entity value, entity type, local window match, normalization result, and error source.

This avoids treating every span mismatch as an extraction failure. Some misses come from ASR substitution or deletion, some from normalization, and some from the downstream extractor. The repair path is different for each category.