Karukan:基于神经网络的日语输入系统,实现实时、上下文感知的高级日语转换
【导语:Karukan 是一款面向 Linux 和 macOS 的日语输入系统,它基于神经网络的假名汉字转换引擎,具有实时转换、上下文感知等特点,为日语输入带来了新的体验。】
Karukan 项目由多个组件构成,以满足不同平台的需求。其中,karukan - fcitx5 是面向 Linux 的 IME 前端,作为 fcitx5 的插件,支持 C FFI;karukan - macos 则是面向 macOS 的 IME 前端,基于 Swift/InputMethodKit 开发。此外,还有通用 IME 引擎 karukan - im,包含状态机、罗马字转换功能等;核心库 karukan - engine 负责罗马字到平假名的转换及神经网络假名汉字转换;karukan - cli 是命令行工具和服务器,具备多种功能。
Karukan 的核心亮点在于其神经网络假名汉字转换功能。它使用基于 GPT - 2 的模型,通过 llama.cpp 进行推理,实现高级日语转换。这种转换方式不仅能实时显示转换结果,无需按 Space 键即可推进转换(可通过 Ctrl + Shift + L 开启或关闭此功能),还具有上下文感知能力,在转换时会考虑周边文本信息。
同时,系统具备转换学习功能,会记住用户选择的转换结果,在后续转换中优先显示,并且支持预测转换(前方匹配),在输入过程中就能提示已学习的候选词。
Karukan 的系统字典依据 SudachiDict 的字典数据构建,还移植了候选词改写器(从 Mozc 移植),能自动生成半角片假名、英文字母大小写及全角半角、相关符号候选词,以及数字的各种表示形式,每个候选词都带有来自 Mozc 的注释。
在表情符号输入方面,支持假名读音输入和 Slack 风格的 :trigger 查询,为用户提供了更多的输入选择。
对于不同平台,Karukan 提供了相应的安装方法。Linux (fcitx5) 用户可参考 karukan - fcitx5 的 README 文件,macOS 用户则参考 karukan - macos 的 README 文件。需要注意的是,首次启动时,系统会从 Hugging Face 下载模型,首次开始转换可能需要一些时间,后续启动将使用已下载的模型。
本项目采用 MIT 或 Apache - 2.0 的双重许可证,在 karukan - engine/data/ 目录下包含了从 Mozc 派生的数据,这些数据遵循 BSD 3 - Clause 许可证进行分发。
编辑观点:Karukan 凭借其先进的神经网络技术和丰富的功能,为 Linux 和 macOS 用户提供了优质的日语输入解决方案,有望在日语输入领域占据一席之地。
