Skip to content

智能联想

Kime 内置智能联想词功能,基于 Trie 树和 ONNX 模型实现,可在用户输入后自动预测下一个可能的词语,提升输入效率。

功能特点

  • 双引擎支持 - 中文联想基于 ONNX 模型,英文联想基于 Trie 树
  • N-gram 融合 - 结合 N-gram 统计模型优化预测结果
  • 用户学习 - 记录用户输入习惯,个性化联想结果
  • 离线运行 - 模型下载后无需联网即可使用

工作原理

中文联想

中文联想使用 ONNX Runtime 运行轻量级预测模型:

  1. 用户输入文字后,系统记录已提交的文本
  2. 基于 N-gram 模型分析上下文
  3. ONNX 模型预测可能的下一个词语
  4. 融合用户历史输入数据优化排序
  5. 在候选栏显示联想词

英文联想

英文联想使用 Trie 树实现:

  1. 加载内置英文词典(english.txt
  2. 根据当前输入前缀查找匹配单词
  3. 按词频排序返回候选词

启用方法

  1. 进入输入法设置页面
  2. 找到「智能联想」选项
  3. 开启开关即可启用

模型下载

智能联想需要下载预测模型才能使用:

  • 模型位置:应用私有目录/files/
  • 模型文件:model_int8_dynamic.onnxvocab.json
  • 模型来源:可配置模型仓库地址

配置模型仓库

在设置页面可自定义模型下载地址,默认使用 ModelScope 仓库。

技术细节

相关文件

文件说明
AssociationManager.kt联想管理器,统一调度各引擎
OnnxAssociationEngine.ktONNX 模型推理引擎
TrieAssociationEngine.ktTrie 树联想引擎
NgramFusionEngine.ktN-gram 融合引擎
PredictionManager.kt预测生命周期管理

性能优化

  • 模型采用 INT8 量化,减小体积和推理延迟
  • 异步初始化,不阻塞主线程
  • 懒加载机制,首次使用时才初始化
  • 候选词缓存,减少重复计算

基于 GPLv3 许可发布