同音词错误无法从文本本身发现
别名: 同音词 · homophone · 谐音错误 · 听写歧义
概念解释
同音词错误把用户说的词写成另一个读音相同或极近的词。输出文本在字面上是合法的,听起来也对,所以从转写本身往往看不出错。中文的大量同音字、英文的 there/their、专名与普通名词的碰撞,都会生成这种错误。它是替换的一个子类,破坏性在于对用户不可见:没有红线和乱码提醒“这里不对”。
机制
声学模型给出的是音位或字音上的近邻分布,真正选定哪一个词要靠语言模型、领域词表和上下文偏置(contextual biasing)。当上下文证据弱——句首、孤立槽位、罕见人名——解码器会落到训练里更常见的那个同音项上。中文尤其如此:同一拼音串对应多个字,语言模型的先验几乎单独决定输出。用户校对时若只扫视字形的“通顺”,同音替换会滑过去;他们要对照自己的发音意图,才能发现“会议”变成了“会意”。语音回放可以暴露问题,但听写场景默认交付的是文本,不是音频。置信度分数在同音项之间往往都高,因为声学确实吻合。
怎么研究
构造最小对:相同音、不同字、不同槽位后果(人名/普通词,地名/动词)。让人在只看文本、只听回放、看文本加音频三种条件下找错。因变量包括检出率、检出时间和错误执行率。把同音替换从普通替换里分开报。实验室若用罕见词表,会高估用户凭文本发现错误的能力;高频同音词才是日常漏检来源。
边界
有声调或上下文极强的句子里,同音项会被压下去,错误更多表现为非同音的声学混淆。方言和口音会把“同音”集合改写:对一组说话人同音的字,对另一组并不同音。已经显示拼音或注音的输入法,用户能在音和字之间核对,纯文本听写没有这层。不要把所有看不出来的错误都叫同音:数字位错、语序错同样可以看起来通顺,机制不同。
怎么落地
- 对人名、地址、账号这类同音密集槽位,强制复述、候选列表或与通讯录的偏置,而不是只丢一行字。
- 校对界面提供原句回放,让用户用耳朵而不是只靠扫读抓同音替换。
- 验收时加入“文本看起来对、执行却错”的用例,统计未被用户改正就提交的同音错误。