[Share Experiences] 搜狗输入法细胞词库制作及导入工具(命令行版)
Tofloor
poster avatar
MeGusta
deepin
2025-07-17 14:19
Author

注意:此工具为个人学习Linux系统的作品,其中含有搜狗输入法组件,版权属于原软件开发商,请勿商用。

关于搜狗输入法NEXT版用户数据的友情提示:

# 用户配置目录
$HOME/.config/cpis/
# 细胞词库目录
$HOME/.config/cpis/sogou/pcpy/scd/
# 当前用户词库文件
$HOME/.config/cpis/sogou/pcpy/sgim_usr_v3new.bin

安装包:

搜狗文本词库制作工具20250717-1.zip

scdmaker_3.6.0.0_amd64.deb(密码:833y)

scdmaker_3.6.0.0_arm64.deb(密码:3e0r) 注意:arm64架构仅在飞腾d3000平台上的UOS1070中测试

解析scel工具.zip

示例文本词库.zip

image.png

使用方法:

一、运行环境部署:

1.安装deb

2.在启动器菜单点击”初始化scdmaker容器“

image.png

出现以下提示框,则为初始化成功:

image.png

3.在启动器菜单点击“添加scdmaker命令”

image.png

4.打开一个新的终端,输入命令 scdmaker

如果返回如下消息,则表示命令添加成功。如果没有生效,请注销并重新登录。

image.png

二、制作搜狗拼音输入法的文本词库

自动版:

1.按照说明安装“搜狗文本词库制作工具”

image.png

2.使用以下命令将含有中文词条的文本转换为搜狗拼音文本词库

# deepin23/25环境
python sgdict-maker.py inputtext.txt

或者

# UOS环境
python3 sgdict-maker.py inputtext.txt

手动版:

使用wps表格等工具手动制作,步骤如下:

1.一个词条一行

2.词条及文件格式要求:

a.单行词条的格式:'shi'li'ci'tiao 示例词条
b.字符编码集为 ANSIGBKGB18030
c.换行符为Windows风格,即 Windows(CR LF)

如果编码集与换行符不符合要求,请使用 notepad--这个软件来转换。

image.png

三、生成词库:

命令如下:

scdmaker your_dict.txt

将在 your_dict.txt同样的位置生成 your_dict.scel

注意:txt文件名即为生成的词库名称,按需修改。

image.png

四、导入词库:

方法1.使用搜狗输入法next内置的功能导入

方法2.使用脚本 解析scel.sh your_dict.scel

image.png

六、删除工具

1.卸载运行环境包

sudo apt remove com.scdmaker.deepin

2.删除添加的scdmaker命令

rm -f $HOME/.local/bin/scdmaker

====================↓啰嗦的话↓=================

在去年的时候,简单研究了一下搜狗输入法细胞词库,具体见下面的几个帖子:

[经验分享] 搜狗输入法ng版导入细胞词库过程的简要分析

[经验分享] UOS v20 1070中的搜狗输入法导入自定义词库

[交流分享] 搜狗输入法ng版本自制细胞词库无法导入的问题解决

[经验分享] 在Deepin/UOS上快速生成搜狗细胞词库的探索

[经验分享] 演示一个搜狗拼音细胞词库生成、制作、修改的小工具

最终的成果是一个借助chagpt,用qt写的细胞词库生成、自定义的工具。那个工具在整理完自己的词库之后,就放仓库没用了,其间心血来潮修改了几次,还给改坏了,后来忙别的去了,没时间弄了,就扔下没管了。

最近几天,有群友在问,想要用一下。我就把以前制作的命令行版贴出来,先用着再说。

Reply Favorite View the author
All Replies
飘逸浪风
deepin
2025-07-17 17:14
#1

谢谢分享,学习中

Reply View the author
MeGusta
deepin
2025-07-17 17:30
#2

啊?置顶了?shocked

Reply View the author
卢少骅
deepin
2025-07-17 17:37
#3

like

Reply View the author
comicfans
deepin
2025-07-17 17:58
#4

大佬 我的电脑是飞腾啊 有没有arm架构版本 或者其他方式 生成scel

搜狗文本词库制作工具20250717.zip这个工具是干什么的?

Reply View the author
MeGusta
deepin
2025-07-17 18:08
#5
comicfans

大佬 我的电脑是飞腾啊 有没有arm架构版本 或者其他方式 生成scel

搜狗文本词库制作工具20250717.zip这个工具是干什么的?

那个“搜狗文本词库制作工具”是针对deepin25写的,是一个python工具,用来把含有中文的文本文件转换成搜狗文本词库,方便后续转换用的。

办公室刚才发了飞腾d3000的主机,我正在这个平台上测试。

Reply View the author
comicfans
deepin
2025-07-17 18:15
#6
MeGusta

那个“搜狗文本词库制作工具”是针对deepin25写的,是一个python工具,用来把含有中文的文本文件转换成搜狗文本词库,方便后续转换用的。

办公室刚才发了飞腾d3000的主机,我正在这个平台上测试。

替代的路上什么都能忍 就是没词库感觉崩溃啊 感谢老大救人于水火

Reply View the author
MeGusta
deepin
2025-07-17 18:20
#7
comicfans

替代的路上什么都能忍 就是没词库感觉崩溃啊 感谢老大救人于水火

好了,飞腾d3000上的打包好了:

scdmaker_3.6.0.0_arm64.deb(密码:3e0r)

Reply View the author
姬志远(白菜男)
deepin
2025-07-18 11:30
#8

我只想添加几个自己常用的词,就几个,有没有简便的方法?

Reply View the author
jjcui8595
deepin
Resources Team Moderator
a day ago
#9
姬志远(白菜男)

我只想添加几个自己常用的词,就几个,有没有简便的方法?

同问

Reply View the author
MeGusta
deepin
a day ago
#10
jjcui8595

同问

那倒是没见到搜狗NG提供这样的功能。

说错了,有帖子说自定义短语不生效吧。花点时间做个细胞词库,一劳永逸吧。

Reply View the author
comicfans
deepin
20 hours ago
#11
MeGusta

那倒是没见到搜狗NG提供这样的功能。

说错了,有帖子说自定义短语不生效吧。花点时间做个细胞词库,一劳永逸吧。

大佬 我原机是麒麟v10 因为依赖库太少 改用了deepin25 wine环境和统信好像不太一致 折腾几次没弄好 我学了一些您研究的资料 发现 scdmaker主要还是win下命令 所以用wine运行器下的deepin-wine8 解包提取器进了容器代替安装 wine下运行 scdmaker出现了初始化这一步 后面不知道怎么搞了😂 运行器下添加scdmaker命令怎么开展?

Reply View the author
雷子哥deepin
deepin
17 hours ago
#12

感谢大佬分享方法和工具!deepin因你而更加精彩!!

Reply View the author
MeGusta
deepin
17 hours ago
#13
comicfans

大佬 我原机是麒麟v10 因为依赖库太少 改用了deepin25 wine环境和统信好像不太一致 折腾几次没弄好 我学了一些您研究的资料 发现 scdmaker主要还是win下命令 所以用wine运行器下的deepin-wine8 解包提取器进了容器代替安装 wine下运行 scdmaker出现了初始化这一步 后面不知道怎么搞了😂 运行器下添加scdmaker命令怎么开展?

解释一下原理:

1.wine环境:

无论你用什么版本的wine程序部署的容器,请务确认在容器c盘中按照如下结构组织文件,缺一不可:

“InstallPath64bit.reg“是wine容器中需要你手动导入的注册表。

整个程序文件是经过测试,从搜狗输入法3.6版本中剥离出来的最小子集,并且生成的.scel词库文件头,符合搜狗ng的导入要求,只是缺少词库ID。scdmaker_win_files.zip
截图_选择区域_20250718230318.png

2.scdmaker.sh脚本:scdmaker.zip

脚本需要复制到 $HOME/.local/bin/,并重命名为 scdmaker。这样,终端就可以直接用 scdmaker命令调用。

这个脚本调用的是 c:\windows\scdmaker.bat ,另外,脚本依赖两个linux包:xxdutil-linux(这个包中的 hexdump程序)

scdmaker将输入的 搜狗文本词库.txt路径,转换为windows风格,传递给 scdmaker.bat,再传递给 scdmaker.exe,经由 scdmaker.exe处理之后,生成的.scel文件缺少词库ID,scdmaker负责给词库加上随机的ID,并复制处理好的.scel到与文本词库相同的目录下,最终,打印出词库的详细信息。

如果是自定义的wine环境,你需要按下图的方式,来修改 scdmaker.sh的变量值:
截图_选择区域_20250718231008.png

总体就是这样的。

Reply View the author
comicfans
deepin
6 hours ago
#14
MeGusta

解释一下原理:

1.wine环境:

无论你用什么版本的wine程序部署的容器,请务确认在容器c盘中按照如下结构组织文件,缺一不可:

“InstallPath64bit.reg“是wine容器中需要你手动导入的注册表。

整个程序文件是经过测试,从搜狗输入法3.6版本中剥离出来的最小子集,并且生成的.scel词库文件头,符合搜狗ng的导入要求,只是缺少词库ID。scdmaker_win_files.zip
截图_选择区域_20250718230318.png

2.scdmaker.sh脚本:scdmaker.zip

脚本需要复制到 $HOME/.local/bin/,并重命名为 scdmaker。这样,终端就可以直接用 scdmaker命令调用。

这个脚本调用的是 c:\windows\scdmaker.bat ,另外,脚本依赖两个linux包:xxdutil-linux(这个包中的 hexdump程序)

scdmaker将输入的 搜狗文本词库.txt路径,转换为windows风格,传递给 scdmaker.bat,再传递给 scdmaker.exe,经由 scdmaker.exe处理之后,生成的.scel文件缺少词库ID,scdmaker负责给词库加上随机的ID,并复制处理好的.scel到与文本词库相同的目录下,最终,打印出词库的详细信息。

如果是自定义的wine环境,你需要按下图的方式,来修改 scdmaker.sh的变量值:
截图_选择区域_20250718231008.png

总体就是这样的。

麻烦了 感谢感谢

Reply View the author