togatoga/karukan
GitHub: togatoga/karukan
一款基于神经网络的日语输入法系统,通过 GPT-2 模型实现高质量的假名汉字转换,支持 Linux 和 macOS 平台。
Stars: 679 | Forks: 43
Karukan
Linux・macOS向け日本語入力システム — ニューラルかな漢字変換エンジン
[](https://github.com/togatoga/karukan/actions/workflows/karukan-engine-ci.yml)
[](https://github.com/togatoga/karukan/actions/workflows/karukan-im-ci.yml)
[](https://github.com/togatoga/karukan/actions/workflows/karukan-fcitx5-ci.yml)
[](https://github.com/togatoga/karukan/actions/workflows/karukan-macos-ci.yml)
[](LICENSE-MIT)
## 项目结构
| Crate | 说明 |
|---------|------|
| [karukan-fcitx5](karukan-fcitx5/) | 面向 Linux 的 IME 前端 — fcitx5 插件 + C FFI |
| [karukan-macos](karukan-macos/) | 面向 macOS 的 IME 前端 — Swift/InputMethodKit |
| [karukan-im](karukan-im/) | 共享 IME 引擎 — 状态机、罗马音转换、karukan-imserver(面向 macOS 的 JSON-RPC 服务器) |
| [karukan-engine](karukan-engine/) | 核心库 — 罗马音→平假名转换 + 基于 llama.cpp 的神经网络假名汉字转换 |
| [karukan-cli](karukan-cli/) | CLI 工具及服务器 — 词典构建、Sudachi 词典生成、词典查看器、AJIMEE-Bench、HTTP 服务器 |
## 特性
- **神经网络假名汉字转换**:使用 llama.cpp 对基于 GPT-2 的模型进行推理,实现高级日语转换
- **实时转换**:输入的同时实时显示转换结果。无需按下空格键即可进行转换(通过 `Ctrl+Shift+L` 开启/关闭)
- **上下文感知**:结合周围文本进行日语转换
- **转换学习**:记忆用户选择的转换结果,在后续转换中优先显示。同时支持预测转换(前缀匹配),即使在输入过程中也能提示已学习的候选词
- **系统词典**:基于 [SudachiDict](https://github.com/WorksApplications/SudachiDict) 的词典数据构建系统词典
- **候选词重写器(从 Mozc 移植)**:自动生成半角片假名、英文字母大小写及全半角、符号的关联候选词,以及数字的各种表记形式(汉字数字、大写数字、罗马数字、圆圈数字、十六/八/二进制)。每个候选词都会附带源自 Mozc 的注释(如“半角片假名”、“十六进制”等)
- **Emoji 输入**:同时支持假名读音(`ぴえん` → 🥺、`きんにく` → 💪)和 Slack 风格的 `:trigger` 查询(`:smile` → 😄、`:halo` → 😇)
## 安装
- **Linux (fcitx5)**:请参阅 [karukan-fcitx5 的 README](karukan-fcitx5/README.md#install)
- **macOS**:请参阅 [karukan-macos 的 README](karukan-macos/README.md)
## 许可证
本项目采用 MIT OR Apache-2.0 双重许可证授权。
- [MIT License](LICENSE-MIT)
- [Apache License 2.0](LICENSE-APACHE)
[karukan-engine/data/](karukan-engine/data/) 目录下包含派生自 [Mozc](https://github.com/google/mozc)(Google 开发的日语输入系统)的数据,这些数据根据 [BSD 3-Clause License](http://opensource.org/licenses/BSD-3-Clause) 进行分发。有关各派生文件的来源及 Mozc 的版权声明,请参阅 [THIRD_PARTY_LICENSES](THIRD_PARTY_LICENSES)。
标签:Fcitx5, 假名汉字转换, 可视化界面, 日语输入法, 神经网络, 输入法引擎, 通知系统