输入法词库转换工具使用指南
1. 功能概述
如何实现不同输入法之间的词库互通?深蓝词库转换工具(imewlconverter)提供一站式解决方案,支持搜狗、百度、谷歌等30+种输入法格式的双向转换。无论是通过图形界面直观操作,还是使用命令行批量处理,都能满足个性化词库管理需求。
核心功能
- 🔄 多格式转换:支持搜狗细胞词库(.scel)、百度分类词库(.bdict)、谷歌拼音(.txt)等主流格式
- 🛠️ 灵活过滤:可按词长、词频、字符类型等条件筛选词条
- 📊 词频生成:通过百度/谷歌搜索结果数量自动生成词频权重
- ⚡ 批量处理:支持多文件并行转换与合并导出
2. 核心组件
2.1 目录结构与模块关系
imewlconverter/
├── src/
│ ├── IME WL Converter Win/ # Windows图形界面
│ ├── ImeWlConverterCmd/ # 命令行工具
│ └── ImeWlConverterCore/ # 核心转换引擎
│ ├── IME/ # 输入法格式处理
│ ├── Filters/ # 词条过滤系统
│ ├── Generaters/ # 编码生成器
│ └── Resources/ # 编码映射表
└── 参考/ # 词库样例与编码参考
模块协作流程:
图形界面/命令行 → 核心引擎 → 输入法格式处理 → 编码生成 → 过滤 → 导出
2.2 核心文件解析
🔧 核心引擎
ImeWlConverterCore/MainBody.cs
转换流程的总控中心,协调导入、过滤、编码生成和导出环节:
public class MainBody {
public void Convert(string[] filePaths) {
// 1. 导入词库
// 2. 应用过滤规则
// 3. 生成编码
// 4. 导出目标格式
}
}
🖥️ 图形界面
IME WL Converter Win/Forms/MainForm.cs
提供拖放文件、格式选择、参数配置等可视化操作:
public partial class MainForm : Form {
private void btnConvert_Click(object sender, EventArgs e) {
// 处理用户点击转换按钮事件
var files = GetSelectedFiles();
var targetFormat = GetTargetFormat();
mainBody.Convert(files, targetFormat);
}
private void MainForm_DragDrop(object sender, DragEventArgs e) {
// 处理文件拖放导入
}
}
📟 命令行工具
ImeWlConverterCmd/Program.cs
支持无界面批量转换,核心参数说明:
# 基础语法
dotnet ImeWlConverterCmd.dll -i:<输入格式> <文件1> <文件2> -o:<输出格式> <输出路径>
# 示例:搜狗词库转谷歌拼音
dotnet ImeWlConverterCmd.dll -i:scel ./test.scel -o:gg ./output.txt
2.3 配置文件说明
虽然项目未包含传统.config文件,但提供运行时参数配置:
命令行参数
| 参数 | 说明 | 示例 |
|---|---|---|
-i | 输入格式与文件 | -i:scel ./a.scel ./b.scel |
-o | 输出格式与路径 | -o:google ./result.txt |
-r | 词频生成方式 | -r:baidu(百度搜索量) |
-ft | 过滤条件 | -ft:"len:2-5|rm:eng"(2-5字词,去英文) |
图形界面配置
通过菜单栏「高级设置」可配置:
- 编码生成规则(拼音/五笔/郑码)
- 词条过滤条件(长度、词频、字符类型)
- 输出文件拆分/合并策略
3. 快速上手
3.1 图形界面使用
-
导入词库
点击「打开文件」或直接拖放词库文件(如搜狗.scel)到主窗口 -
选择输出格式
在右侧下拉框选择目标输入法(如「谷歌拼音」) -
配置高级选项(可选)
- 🔍 词频生成:「词频设置」→ 选择百度/谷歌排名
- 🚦 过滤规则:「过滤设置」→ 设置词长范围、排除数字/英文
-
开始转换
点击「转换」按钮,完成后可预览结果并保存
主界面操作流程
图:图形界面转换流程(拖放文件→选择格式→转换)
3.2 命令行批量处理
批量转换搜狗词库到百度格式
# 转换多个scel文件到百度bdict格式
dotnet ImeWlConverterCmd.dll \
-i:scel ./游戏术语.scel ./网络流行语.scel \
-o:baidu ./baidu_dict/ \
-r:baidu \ # 使用百度搜索量生成词频
-ft:"len:2-8|rm:pun" # 保留2-8字词,移除标点
自定义编码导出
# 使用自定义郑码表导出文本词库
dotnet ImeWlConverterCmd.dll \
-i:qpyd ./成语.qpyd \
-o:self ./custom.txt \
-c:./参考/郑码5_6.6编码表.txt \ # 自定义编码文件
-f:"213,|yyn" # 格式:拼音+汉字,无词频
3.3 常见问题解决
❓ 转换后词库乱码?
检查源文件编码,在导入设置中指定正确编码(如GBK/UTF-8)
❓ 词频生成失败?
- 百度/谷歌排名需要网络连接
- 本地模式:使用
-r:100指定固定词频
❓ 大文件转换卡顿?
启用「流式导出」(命令行-stream参数),减少内存占用
3. 扩展资源
- 📚 编码参考:
参考/郑码5_6.6编码表.xls提供标准编码映射 - 🧪 测试词库:
src/ImeWlConverterCoreTest/Test/包含各类格式样例 - 🔄 更新日志:项目根目录
README.md查看版本特性
通过灵活运用这些工具和资源,您可以轻松打造个性化输入法词库,让输入体验更高效、更精准。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考



