逆文本规范化(Inverse Text Normalization,ITN)指的是:把语音识别吐出来的口语化文字,自动改写成符合书面习惯、能被下游程序直接处理的格式。最典型的动作,就是把「二零二五年三月五号下午三点半」变成「2025 年 3 月 5 日 15:30」。
先打个比方
自动语音识别(Automatic Speech Recognition,ASR)像一位速记员,负责把听到的声音变成字。ITN 则是速记员下班后的整理工序:把速记稿里的口语说法,誊写成可以直接归档的正式文档。速记员听错字,你一眼能看出来;整理员改错数,你一眼看不出来——这就是 ITN 的核心风险。
为什么它比识别本身更容易出错
1. 歧义不在声音里,在上下文里。「一百二」到底是 120 还是 102,光看这几个字判断不了,得看说话场景。ASR 只需要回答「听起来像不像」,ITN 要回答「到底是什么意思」,后者要的信息更多。
2. 错误被「洗白」了。 ASR 把「三点半」听成「三点伴」,输出很扎眼;ITN 把「一百零二」写成「102」,输出却完全正常。错得越自然,越难被发现,等到金额、房号、身份证号出问题时已经晚了。
3. 边界难定。 哪几个字属于同一个数字串、在哪断开,没有唯一答案。「二零二五」是年份,也可能是密码的前四位;「一二三」可能是 123,也可能就是「一二三」这串字。
4. 本来就没有唯一正确答案。「三点五」写成 3.5 对,保留「三点五」在某些场景也对。这让训练数据和评测都带着噪声——同一句话,两个标注员可能给出两种都说得通的结果。
和相邻概念的区别
TTS 前端做的是反方向:把「2025」读成「二零二五」,那一步叫文本规范化(Text Normalization,TN)。ITN 是它的逆过程,通常挂在 ASR 之后。
| 维度 | ASR 声学识别 | ITN |
|---|---|---|
| 输入 | 声音波形 | 口语文本 |
| 判断依据 | 声学 + 语言模型 | 上下文 + 领域规则 |
| 典型错误 | 字听错,读着别扭 | 字全对,意思变了 |
| 评测 | 相对客观 | 多种写法都算对,噪声大 |
对从业者和普通人的意义
搜索、日历、发票、客服工单、大模型的工具调用,下游几乎都只认规范格式。ITN 错一位数字,整条链路跟着错。所以工程上常见做法是规则打底、模型兜底,再对金额、号码、时间这类高风险字段加约束和校验;具体某个产品支持哪些格式,以官方页面为准。
对普通职场人来说:用语音转写做会议纪要、记账、记地址时,最该回头核对的恰恰是数字和日期——那正是最容易被「整理得很顺眼、却整理错了」的地方。
