OpenLess 中文文档 下载 App

词典词条优先级——按命中频率排序 + 手动添加保留席位

为什么需要优先级

ASR 提供商给热词 hotwords 的字符预算是有限的——通常只有几百个字符。如果你的词典有上千个词条,不可能全部塞进热词参数。

OpenLess 的解决方案是:给所有词条排一个优先级,热词预算优先给排名靠前的词条。

优先级排序规则

词典词条的优先级分数由两个因素决定:

因素权重说明
累计命中次数主要这个词条在 ASR 识别中被正确匹配过多少次——用得越多、排名越靠前
手动添加标记次要手动新添加的词条(还没被实际命中过)获得几个额外保留席位,不会被老词条挤掉

实际排序效果

假设热词预算能塞下 100 个词条:

  1. 前 5 个名额预留给最近手动添加、还没被高频使用的词条——确保新词条立即生效
  2. 剩下 95 个名额按命中次数从高到低填充——最常用的 95 个词条永远有热词位置
  3. 低频词条排在 100 名之后——不进热词参数,但润色环节的语义提示仍然全量注入(不受字符预算限制)

优先级的动态变化

每次录音都会影响词条优先级:

优先级不需要你手动操作——系统自动维护。

润色环节不受热词预算限制

重要:润色 LLM 的语义提示不需要 ASR 那种热词预算。词典词条的完整列表(不管几千个)都会作为 semantic hints 注入润色模型的 prompt。热词预算限制只影响 ASR 识别环节。

所以即使某个词条不在 ASR 热词列表里,它仍然能在润色环节帮助模型做同音字/形近字的语义消歧。

如何查看词条命中情况

在「词典」tab 里,每个词条旁边显示一个命中次数:

手动干预优先级

目前 OpenLess 不支持手动给词条加减优先级权重——优先级完全由自动规则驱动。

如果你觉得某个词条「应该排在前面但没排上」,最直接的办法是:确认它在词典里是启用状态;用它所在的录音场景多录几次——它的命中次数会自动上升、排名自动靠前。