C6.12.1IME ranking uses context and personal history设计研究

候选排序依赖上下文与个人历史

别名: 输入法排序 · 上下文候选 · 个人词频

概念解释

拼音、字形码等编码把一次按键串映射成许多可能的字词,候选窗要把这个集合排成一条人能挑的列表。排序不是按字典序,也不是按编码长度:它跟着上文已经提交的字,以及这个人平时选过什么。同一串 shiji,在谈会议时和在谈实验时,第一位不应是同一个词。

机制

编码到汉字是一对多。输入法先在编码上展开一棵分词格子:不同切分对应不同的词序列,每个节点挂着同音或同码的竞争者。没有上下文时,只能按通用频率把高频字放前面,于是“的、是、不”会长期霸占短码的首位。上文给出的是格子的左约束:前一个已上屏的词让某些后续边变重。个人历史给出的是这个用户的边权:专业词、人名、口头禅被抬到通用频率达不到的位置。排序因此是给格子打分,不是给单字打分。用户看见的只是打分后截断的一条列表;他们无法从列表读出格子,只会觉得“这次怎么换了”。

怎么研究

用受控上文(空、偏向词 A、偏向词 B)和是否加载个人词库,测量同一编码串的首位命中。自变量包括上文长度、个人词库大小、是否允许本会话学习;因变量包括首位命中、目标落在第几位、以及用户是否察觉顺序变了。只在孤立单字上测排序,会把通用字频写成输入法的全部能力。

边界

无上文的句首、新设备空词库,排序退回通用频率。编码本身已经唯一确定字形时(某些字形码的全码),列表可以很短,上下文的影响变小。不要把“排序会变”理解成列表可以在手指已经按下时改写位置——那是另一层交互问题。

怎么落地

  • 让候选窗的第一位对应当前句子的上文,而不是永远展示全局最高频字。
  • 个人词库的学习要能关掉或清掉,避免在共用设备上把一个人的历史当成下一个人的默认排序。
  • 用带上文的句子而非孤立编码串来验收首位命中;句首和句中要分开报。

延伸

  • 同组C6.12.2 候选翻页成本高于重新输入 · C6.12.3 输入法状态是一种隐性模式
  • 相邻C6.26 输入法候选与排序 · C6.10 自动补全
  • 站内检索IME ranking · composition lattice · personal language model

同组卡片

快捷操作

分享

分享当前页面

ios_share

https://hci.top/zh/handbook/C6.12.1