[Share Experiences] 在Deepin/UOS上快速生成搜狗细胞词库的探索
Tofloor
poster avatar
MeGusta
deepin
2024-10-19 01:42
Author

20241021更新:

在写入.bashrc命令别名的时候,没有使用换行,导致.bashrc上一行的环境变量或者命令失败,现在修复:
举个例子:

之前:
alias arcpypro='conda activate arcgispro-py3'alias scdmaker='/home/gisadmin/.deepinwine/Deepin-ScdMaker/scdmaker.sh'

alias arcpypro='conda activate arcgispro-py3'-->这一句会失效*

修复之后:
alias arcpypro='conda activate arcgispro-py3'
alias scdmaker='/home/gisadmin/.deepinwine/Deepin-ScdMaker/scdmaker.sh'

sogou-scdmaker-wine20241021.zip

20241020更新:

在从未运行过deepin-wine的机器上,并没有~/.deepinwine目录,脚本在创建wine环境的时候,先创建这个目录

20241019更新:
安装:下载解压之后,运行install.sh开始安装
使用命令:scdmaker 搜狗文本词库.txt
注意事项:因为scdmaker是通过往.bashrc写命令别名的形式调用的,安装完之后,要关掉终端再打开,才可以直接调用scdmaker命令。

注意事项:
1.需要安装deepin-wine8-stable,hexdump,xxd
2.搜狗文本词库的格式(可以使用notepad--查看):
a.单行词条的格式:'shi'li'ci'tiao 示例词条;
b.字符编码集为ANSI、GBK或GB18030;
c.换行符为Windows风格,即Windows(CR LF)。

录屏_deepin-terminal_20241019201444.gif

=================分割线=============

由于到目前为止,搜狗输入法NG版仍然没有导入txt词库到scel细胞词库的工具,这个任务只能使用Windows虚拟机下的搜狗输入法,这种比较ugly的方式实现。

所以稍微好一点点的思路,是使用Wine来运行搜狗输入法win版的词库导入工具。

绕了几天的弯路,发现新一点的输入法版本采用了一些加密的方式,故意隐藏SGTools.exe这个转换程序的命令参数,期间又尝试用IDA Pro来逆向分析,也只获得了部分参数,SGTools.exe --appid=scdmaker -usr "%s", 但还是运行不成功,只能在GUI界面中操作。但是如果整体把输入法扔到wine中运行的话,那还不如用虚拟机呢。

趁着中午吃饭的时间,思考了一下,既然现在搜狗把功能藏得这么深,是为了限制用户的迁移,那早期的程序版本会是怎样的呢?

找来找去,还真找到了古早的版本,比较惊讶的是,到现在居然还可以用迅雷下载到。这是最开始支持细胞词库的3.x,发布于2008年。

官方地址(现在已经404):

http://ime.sogou.com/dl/sogou_pinyin_36.exe

云盘地址(密码:37ty):

https://thesats.lanzout.com/ieU8i2cw3cgd

在windows xp虚拟机环境下安装了一下,确实有独立的程序ScdMaker.exe,而且直接使用命令: ScdMaker TXT文本词库.txt 就可以完成导入了,经过剥离之后,只需要很少几个文件,两条注册表信息,就可以运行了,体积更是缩小到1MB。

而且意外的惊喜是,旧版的ScdMaker.exe程序生成的细胞词库除了没有词库ID信息之外,其他结构与官方词库一模一样。

而新版的windows搜狗,会按QQ输入法qcel细胞词库的数据结构来生成词库,导致搜狗ng版直接不给导入,而且即便是通过修改文件头导入之后,打出来的词条也是不很准确的。

还是以前的开发者良心啊。。。

后面就是围绕着编写wine安装脚本、wine命令简化、修复词库文件缺陷、手动操作脚本化、编写qt5或者pyqt5的GUI程序展开,这些基本上可以让ChatGPT代劳,然后修改修改就完事了。

最后可以实现TXT词库制作、TXT词库转scel、导入到搜狗输入法NG词库列表,整个流程一键完成,非常方便快捷。

具体的成果,等有空了再整理发布。

最后,下面是一些截图:

Reply Favorite View the author
All Replies
明月夜
deepin
2024-10-19 02:36
#1

沙发~

Reply View the author
明月夜
deepin
2024-10-19 02:36
#2

感谢分享~辛苦。

Reply View the author
小鱼贝壳
deepin
2024-10-19 02:48
#3

明天会试试

Reply View the author
MeGusta
deepin
2024-10-19 20:18
#4

20241019更新:添加了安装脚本。

Reply View the author
MeGusta
deepin
2024-10-19 21:30
#5
小鱼贝壳

明天会试试

把安装脚本写好了,可以试一下

Reply View the author
王文昊·(Wenhao Wang)
deepin
2024-10-19 23:05
#6

agree

Reply View the author
放屁大王
deepin
2024-10-20 07:00
#7

like like like

Reply View the author
Oli
deepin
2024-10-21 00:54
#8

大神又来分享了

Reply View the author
先秦淑女步
deepin
2024-10-21 01:34
#9

你吃午饭还想着这些 shocked

Reply View the author
MeGusta
deepin
2024-10-21 16:31
#10
小鱼贝壳

明天会试试

今天有个小错误更新了一下,如果你安装了之前的版本,请编辑~/.bashrc文件,在下面这段文字之前加上一个回车,让它另起一行:
alias scdmaker='/home

Reply View the author