[Android] 困于 Gboard 孱弱的中文拼音词库,整理制作了一份一百万词汇量的词库

2020-11-01 15:57:57 +08:00
 haozi1986

首先回答一个肯定有人会问的问题

Q: 既然 Gboard 中文拼音输入这么弱,为什么不用 XX 输入法🙄:

A:因为不喜欢😏


⚠️为节约您的时间:


简介

一直以来都感觉 Gboard 的中文拼音输入词库过于奇葩,而网上的很多观点是这个词库需要自己养,自从谷歌砍了词库同步的功能(或许还存在但基本上我就没有一次成功),前几天碰巧更新一次系统忘记了备份,数据就全部丢失了,于是想自己创建一个词库,一劳永逸。

其实网络上相关的词库有很多,但 Gboard 在导入的时候动辄需要数分钟,经常性的无响应,最后还发现导入的数据不全,似乎是有条数限制,于是也只能从简化数据的方向入手,直到前些天无意间看见了这样一个 issues

(这个 issues 的发布者也提供了一个词库数据库,你也可以用他提供的词库)

尝试了一下,的确可行,于是开始整合自己手上的所有数据

当前词库共有 1,085,476 个词语,包含以下内容:

所有数据均已进行去重精简

因为暂不清楚 Gboard 自带的词汇范围,双方肯定存在大量重叠,如果后期找到相关数据,会进行进一步精简处理。


如何使用

前往 https://github.com/wuhgit/CustomPinyinDictionary/releases 下载压缩包。

下载后解压,得到 PersonalDictionary.db

releases 2020-11-01
PersonalDictionary.db
SHA1: FB0A45C087627DBD12D032E0B06359842F6291BE
MD5: 5B0CC9F85D942404F3608330C81608DE

将其复制到您手机这个目录中:

/data/data/com.google.android.inputmethod.latin/databases

如果你有用 Tasker ,可以将 PersonalDictionary.db 置于手机 Download 目录,再导入执行我提供的一个 Tasker 配置文件 即可。

由于是采用数据库替换的方式,您现有的个人词库将会被覆盖,请自行备份相关数据,数据位于:

/data/data/com.google.android.inputmethod.latin/databases/PersonalDictionary.db

在导入之前,请确保 Gboard 不是您手机上唯一的输入法,以免发送其它意外。

词库导入后,可能需要一点时间后才能在输入时感知到新词,期间 Gboard 可能会在通知栏以 正在改善您的打字输入体验 进行提示。

如果一切顺利,您可以在 Gboard 设置 > 字典 > 个人字典 > 中文(简体) 查看最终导入的数据。

好了,就这样,后续应该会有更新,也可能没有,随缘吧~

17984 次点击
所在节点    分享创造
69 条回复
minami
2020-11-01 15:59:00 +08:00
赞,回去试试
Blanke
2020-11-01 16:05:00 +08:00
好东西,之前我也自己制作过 gboard 词库
jianzhao123
2020-11-01 16:38:10 +08:00
额,我发现了一个问题 gboard 文件目录下,并没有 databases,一加 7T,氧。
haozi1986
2020-11-01 17:48:49 +08:00
@jianzhao123

确定完整目录正确吗?按理说这种地址应该是通用的吧……
如果还是没有,可能得做一下相关的搜索了
fatelight
2020-11-01 17:50:49 +08:00
为了皮肤,我屈服百度了
jianzhao123
2020-11-01 17:58:08 +08:00
@haozi1986 /data/data/com.google.android.inputmethod.latin/databases/PersonalDictionary.db
第一个 data 无法找到,找到的是 Android/data/com.google.android.inputmethod.latin/里面只有一个 cache,手动新建文件夹也不行,手机已 root 。
muayang
2020-11-01 18:09:40 +08:00
感谢了
1234rty
2020-11-01 18:13:43 +08:00
@jianzhao123 你这明显是内部存储下的路径 /sdcard/Android/data,正确的是绝对路径 /data/data
jianzhao123
2020-11-01 18:23:23 +08:00
@1234rty 感谢,已经找到了。
haozi1986
2020-11-01 18:23:48 +08:00
@jianzhao123

你安卓版本和 Gboard 版本是多少啊?

我这边看了一下,我主力机 Android 11 + Gboard 10.0.01 还有副机 Android 5.1.1 + Gboard 9.0.10 ,数据库目录都是在那里,莫不是氧 OS 改了什么路径?
haozi1986
2020-11-01 18:24:31 +08:00
@1234rty 哈哈,我就说不可能不对啊
jianzhao123
2020-11-01 18:24:41 +08:00
@haozi1986 大概翻了一下😂😂,词库全是全拼的吗,有没有双拼的?
haozi1986
2020-11-01 18:26:47 +08:00
@jianzhao123 因为我没有用双拼,所以没加这方面的数据,另外也考虑过非全拼,比如仅仅用首字母进行输入,但这样数据就会增加很多,所以暂时也没这个打算
Jirajine
2020-11-01 18:34:47 +08:00
感谢,已经用上。
sky96111
2020-11-01 18:52:48 +08:00
用上了,但出现了一些奇奇怪怪的候选词优先级问题
![]( https://i.niupic.com/images/2020/11/01/8WoT.jpg)
“不是”甚至直接失去了出现在首选词和第一页候选词的权利…
![]( https://i.niupic.com/images/2020/11/01/8WoU.jpg)
”但是“被奇怪的词语抢先
![]( https://i.niupic.com/images/2020/11/01/8WoV.jpg)
“词语”
![]( https://i.niupic.com/images/2020/11/01/8WoX.jpg)
“首选词”被强行拆分…
![]( https://i.niupic.com/images/2020/11/01/8WoZ.jpg)
总之…用户词典优先级过高,很多时候会冲散正常的连祠和名词,或者降低它们的出先权重,不太适合用于拓展词库。还世感谢 lz 对改善 gboard 词库的努力,但词库这东西还是自记养比较合适。。
miku831
2020-11-01 19:00:13 +08:00
不 ROOT 可以用吗?非要 ROOT 就算了,系统安卓 10 的 EMUI
haozi1986
2020-11-01 19:06:06 +08:00
@sky96111

不应该啊,我测试了你刚刚提到的这几个词语,都不是你图片上面的这种情况啊

![测试]( https://i.niupic.com/images/2020/11/01/8Wp5.jpg)
sky96111
2020-11-01 19:44:39 +08:00
@haozi1986 刚开始替换完成没出现异常,但也没感受到词库的变化,就重启了一下手机。生效后直接变得很奇怪,一个词拼音即使被完全命中,也会被词库里另一个部分命中的词替代。而且输入的分词也发生了改变,几乎每一个词都被拆成了单字命中比如上面我的“不是”,在不用词典的情况下是 bu shi,用了词典却变成了 b u s h i……
sky96111
2020-11-01 19:50:02 +08:00
@haozi1986 奇怪了。这不应该和版本有关系吧。但从理论上,用户词典是用来添加一些私有的词语,在匹配时优先级是最高的,用来补充平时输入的词语词典可能确实不太合适
imn1
2020-11-01 19:59:03 +08:00
root ... 我节省时间了
目前用同文输入法,只是缺手写输入,词库添加不成问题

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/720717

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX