[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 设置 > 字典 > 个人字典 > 中文(简体) 查看最终导入的数据。

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

20918 次点击
所在节点    分享创造
69 条回复
vector2axis
2020-11-03 11:08:55 +08:00
miku831
2020-11-03 12:25:39 +08:00
@haozi1986 那我还是用原版吧,其实还好,习惯了已经
YAHOOQQ
2020-11-03 15:29:54 +08:00
赞一个,已使用。
haozi1986
2020-11-03 18:52:36 +08:00
@ryh #38

已对所有发现的错误进行了修正
0A0
2020-11-06 12:16:57 +08:00
基础词库修正好的话,以后更新就可以通过导入词库的增量更新了。不需要每次都替换 db 。
haozi1986
2020-11-06 14:55:32 +08:00
@0A0

我测试了一下,大概是这样:
如果词库里已有词汇,当达到一定数量后,通过手动导入的词库似乎就不会出现在列表中,好像是有条数限制。
也就是说,还是得替换数据库……

我不确定这个是普遍现象,但在我这边几台设备上面都是
uestc
2020-11-07 09:48:17 +08:00
赞👍已经用上,希望能不断优化!
0A0
2020-11-07 15:02:58 +08:00
@haozi1986 每更换数据库时会连带着把用户词频和使用习惯一起清空,相当于每次都从头开始再养。
以及这几天试下来还是有很多词频出现问题。gboard 最影响输入体验的其实到不是词库,而是词频的准确性。没有云库的前提下,词频完全只能靠长时间养成比较麻烦。
haozi1986
2020-11-08 09:48:14 +08:00
@0A0 #48

从词库方面来说,其实我也不知道该怎么处理

词频问题暂时无解,因为 Gboard 的逻辑实在有点蠢,要么无脑把用户词典放首位,要么就把用户的输入分割成好几部分给你一堆不知所以的词,即便你要输入的词在词库里存在,并且你的输入也正确,但它就是不给你提示你需要的……


这个数据库里存储的只有用户自定义词语,即便没使用我修改的这个也是如此,你所担心的用户词频和使用习惯等相关数据并不是存储在这个里面的,并且更换数据库其实也可以不必清空缓存,重启之后应该也是可以生效的。我建议清空缓存,只是为了可以快速生效,仅仅是清空缓存的话,似乎也并不会影响那些数据。

Gboard 的云词库其实有很多错字错词,并且出现得很频繁,我之前以为只有它是这样,结果这段时间经过整理网上各大流行输入法的词库后发现,这是个普遍现象,应该是词汇和词频被所谓的大数据带偏了,所以我从一开始就准备不再依赖云词库,但如果全部放在本地,数据量又成了一个大问题,并且不是谁都需要这么多这么杂乱的词汇的。现在我也只是靠自己的想当然,觉得哪一部分词汇是不怎么常用但的确有很大输入需要的,然后把它们加到这个数据库里。

我觉得最理想的解决方式,大概就是国内这几家做得还不错的输入法厂商,提供给用户一个纯净的、不耍流氓的输入法版本,只有输入法相关的功能,而不是一个个都做成“带广告的操作系统”,毕竟也只有它们具备这个实力,但这可能永远都不可能发生。
vzhvmb
2020-11-10 14:29:43 +08:00
相信用 gboard 的小伙伴很多看重双拼纠错的,大佬,请问怎么转成小鹤双拼词库?
shangrenxi
2020-11-11 10:41:50 +08:00
ios 能用吗 ?
haozi1986
2020-11-11 12:39:10 +08:00
@shangrenxi

不知道
但我觉得就算是相同的数据格式,ios 应该也需要越狱之类的操作才能替换掉数据文件,相比 Android 的 Root,这个前提在当前环境下更不现实
haozi1986
2020-11-11 12:40:32 +08:00
@vzhvmb

双拼我还不会,所以……很抱歉这个真的不知道了
live2490
2020-11-23 23:14:23 +08:00
支持一下
namio
2020-12-18 23:08:13 +08:00
挺不错的。
gricn
2021-01-24 21:32:39 +08:00
深蓝词库转换 PC 端个人词库并导入不就可以了吗,不用 root 那么麻烦
https://github.com/studyzy/imewlconverter
haozi1986
2021-01-25 10:27:34 +08:00
@gricn

你试试就知道了,这个数量的词库是不可能直接导入成功的
gricn
2021-01-25 12:06:34 +08:00
@haozi1986 100 万词库,打扰了。我一直以为一两个专业领域词库+三四个兴趣领域词库+常用词库就够用了……
mizuki
2021-02-04 21:20:21 +08:00
感谢,顺便提供一个不需要 root 的方法,需要解锁 BL
可以用 fastboot boot 刷临时 REC,进 rec 后 mount data,再复制进去,注意修改权限,之后重启就行
haozi1986
2021-02-05 09:54:27 +08:00
@mizuki

也是个不错的方法,多谢!
不过我觉得既然都解锁 BL 了,还是顺带 root 了吧,至少更换这种文件的时候不用重启,如果要规避大多数检测是否 root 的应用,magisk hide 已经足够了

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

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

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

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

© 2021 V2EX