专有名词的纠错风险最高
别名: 专名纠错 · OOV names · 品牌名被纠正
概念解释
纠错模型爱把罕见字符串拉向词表里的常见词。专有名词——人名、品牌、产品代号、药品名、内部项目名——恰恰是罕见字符串,而且那个「错」往往就是身份本身。把「Figma」收成「figure」、把少见姓氏收成常见字、把药品商品名收成一个普通名词,纠正在语言模型里更像对的,在任务里是把目标删掉。专名的纠错风险最高,不是因为专名更容易敲错,是因为对了和错了对用户来说不对称:错纠正会指向另一个实体,对纠正才指向拼写。
这条不讨论索引如何容忍字符差异。那是匹配层的事。这里只处理:一旦纠错模块要改写查询,专名是最不该被自动改写的一类 token。
机制
纠错靠的是「像哪一个更常见的词」。常见性来自通用语料和全站热门查询,专名来自长尾。先验把专名判成「更可能是打错了的高频词」。用户键入专名通常是已知项:那串字符就是钥匙,改掉钥匙等于换锁。普通词被纠错,最坏是近义;专名被纠错,最坏是另一个人、另一个产品、另一份档案。
大小写、连字符、内部大写(iPhone、工单号里的字母数字)又是专名的合法形态,被当成拼写噪声清掉后,身份碎片化。用户对专名的自信也更高——那是他们要找的那个名字——所以更不容易去怀疑系统改写,直到打开一条完全无关的结果。风险来自先验与任务结构叠在一起,不是来自编辑操作本身。
怎么研究
把语料里的专名查询单独抽样,不要混进普通拼写错误的总准确率。
- 范式:拼写纠错 UX 研究中按词类分层(普通词 / 人名 / 品牌 / 标识符);已知项任务用真实专名(含非常见拼写)看自动纠正是否改道;日志中纠正前后点击的实体是否仍是同一对象。
- 自变量:是否对大小写敏感、是否有专名表或用户词表可豁免、纠正阈值在专名上是否更高。
- 因变量:专名被改写率、改写后实体是否切换、用户发现改写的比例。
- 方法论注意点:用通用拼写测试集报一个总准确率,会把专名的高伤害摊薄。要以「实体是否保持」为金标准,不以「更像一个词」为金标准。实验室若只用著名品牌,豁免表看起来很有效;长尾内部代号才是生产里的失败点。
边界
专名本身就被写错(用户记错药名、记错同事名)时,完全豁免纠错会走向零结果,这时应提供可点的近似查询,而不是自动改写。通用词偶尔也是专名(Apple、中文里的「小米」),需要靠集合里是否存在该实体来决定,不能只靠词性标注。多语言站点里,一门语言的普通词是另一门的专名,全局词表会误伤。用户词典、最近打开的对象、通讯录是比通用语料更安全的豁免源。
怎么落地
- 对人名、品牌、标识符和大小写敏感的 token,默认不要自动改写;最多在结果页上提供「你是不是要搜 [常见词]」,原文仍执行。
- 用本集合的标题、通讯录、产品名做豁免,而不是只用通用词典的「正确拼写」。
- 纠正一旦改了专名,横幅的措辞要指出可能换了对象(「已改为更常见的词,原专名仍可搜」),不要只说「已修正拼写」。
- 验证:拿十条真实存在的长尾专名(含非常见大小写和连字符)提交。被改成常见词且结果实体变了,风险未被处理;豁免只覆盖著名品牌、内部代号仍被改,词表不够。