Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Chinese Input Encode

高效求解特定输入法下中文文本的全局最优编码

Latest Release Tech Stack License MIT

✨ 特性

  • 🚀 极致性能:每秒编码数百万字
  • 🎯 精确优化:DP 算法确保编码全局最优
  • 🌊 内存友好:分块流式处理,内存占用恒定
  • 📊 编码分析:直接获取 30+ 项编码统计数据
  • 🚂 配置驱动:通过 TOML 文件配置所有参数

📥 使用

预编译包

  1. Releases 下载压缩包并解压
  2. cfg/config.toml 中配置参数
  3. 运行 cn-input-encode,结果将输出至输入文件所在目录,默认为 {原名}-code.txt,若已存在则自动加编号,无覆写风险

原理

特定输入法下,同一文本往往有多种打法(如不同的分词方案)。软件通过动态规划求出总开销最小的打法。这里的“开销”是一个抽象权重,由配置文件定义。

词库要求

  1. RIME 格式:每行格式为 词\t编码词\t编码\t权重
  2. 无需选重键:软件可自动计算选重数字和翻页符
  3. 如实反映击键:不含不代表按键的字符

配置说明

  • cost-map.tsv(键对开销表):定义两键连击的开销,数值越小越优,可自由修改。例如将所有值设为相同常数,即可求解“全局最短码长”。默认数据源自 [1]陈一凡,张鹿,周志农. 键位相关速度当量的研究[J].中文信息学报,1990,(04):12-18+11. 的击键时间间隔实测均值。
  • 词库第三列(权重):决定重码时的出词顺序,数字越大越优先上屏

ℹ 关于

📝 版本

1.0.2 (20260520)

添加各平台的预编译包

1.0.0 (20260502)

首发

🕰️ 前身(废弃):

About

Optimal input-method encoding solver for Chinese text | 特定输入法下中文文本的最优编码

Topics

Resources

Stars

3 stars

Watchers

0 watching

Forks

Releases

Used by

Contributors

Languages