鸿雁五笔输入法(拥有230万词库及精确词频,支持拼音输入,立志成为新时代的极点五笔)

自从发布鸿雁拼音后,得到不少网友的热心反馈。在群体智慧的帮助下,得到不少有益的改进。

在一个出版业的专业论坛,有几个网友给出回复:

  • 有五笔版吗?只会这个………………
  • 重码太多,打字快吗?
  • 习惯了五笔。现在用的是百度输入法。。。能五笔拼音混合输入吗

著名的博主善用佳软推崇极点五笔,CPC中文印刷社区站长也提到用了十年的极点五笔,知乎上不少网友都说极点五笔是他使用时间最长的输入法。
现在的情况是极点五笔已经停止更新,对win 10兼容性不好。
CPC中文印刷社区站长自己打造了一个黄狗五笔,其他的网友有的使用精灵五笔,有的使用冰凌五笔作为继任者。

对单个汉字、单个词语的频率使用220亿字的语料库得出精确的词频数据,用于鸿雁拼音输入法的输入过程中的候选列表排序。
这个词库数据如果移植到五笔平台,会不会有更多受众呢?

我发现百度贴吧中对拼音输入法的关注比较低,而与五笔相关的吧,感兴趣的人比较多。我到医院就医,看到挂号处的医生使用的是五笔输入法。
在前面提到的出版业的专业论坛上,网友给出的几个回复比较犀利,指出拼音输入法重码多的缺点。
虽然230万的词库足以覆盖日常工作生活的绝大部分词语组合,拼音重码多的缺点还是无法从根本上解决录入速度的问题。

看来,在专业的文字录入领域,还是五笔一家独大。对文字录入有高速化职业化需求的从业者中,五笔可能是唯一的选择。

既然有需求,经过2天时间的紧张制作,鸿雁五笔诞生了。

之前有制作鸿雁拼音码表的相关脚本,输入法框架、词频数据都是现成的,只需要改为五笔码表即可。

移植工作非常顺利,用perl语言处理文本,感觉so easy。拼音存在多音字,而汉字->五笔编码对是唯一的,处理难度简单一些。

根据(98五笔资源库/五笔小筑)的说法,“86、98、新世纪、这三版五笔中,98版是拆字最为和谐自洽,字根数量最多,击键协调性最好,对大字符集适应最好的一版。”
并提到“98版五笔早已无专利问题”,原因是王码公司没有缴纳专利费用,2004年专利权视为放弃,百度五笔相关法务团队曾经做过详尽的专利调查。

万一哪天王码表公司补缴专利费,又重新获得98版五笔专利权呢?目前市面上另一个现实是,windows自带五笔输入法,让86版的五笔使用者最为广泛。

86版的五笔早已没有版权问题,感谢联想集团,给网友带来免费的午餐。

鸿雁五笔采用的是86版的王码五笔方案。
最新版的王码五笔,支持输入27533个汉字。
鸿雁五笔输入法可以输入的汉字有41442个。增补的码表主要来源于CPC中文印刷社区站长在制作黄狗输入法时对生僻字的整理工作,黄狗输入法支持的汉字有10万多。

为什么不全部支持?这里讲一下原因。

制作鸿雁拼音时词频来自以下语料库:

  • 百度百科约560万个词条(14.5GB,约59亿字)
  • 维基百科约400万个词条(10.1GB,约40亿字)
  • 微博语料(7.4GB,约30亿字)
  • 微信公众号语料(2.9GB,约12亿字)
  • 新闻语料(12.6GB,约51亿字)
  • 1946年-2003年人民日报全部数据纯文本(3.1GB,约11.6亿字)
  • 联合国平行语料库中文部分(1.4GB,约5.5亿字)
  • 殆知阁古代文献txt大全集(4.8GB,约17亿字)

在220亿字的典型语料库中,使用的汉字仅有3.8万个。出现次数3次及以上的汉字只有2.5万个。

鸿雁五笔输入法支持的的41442个汉字,是含有拼音数据的。一个拼音都找不到的汉字被使用的概率是多少?应该非常低,没有读音意味着这个字几乎没有人用。
4.1万的汉字已经足够覆盖日常工作生活中所需所有汉字。

我不是五笔输入法使用者,请专业人士品鉴一下码表是否合适。

单个字的码表:
〇 llll
㐀 gjgg
㐁 glwi
㐂 aaab
㐄 ahk
㐅 qty
饤 qnsh
饥 qnmn
饦 qnta
饧 qnnr
饨 qngn
饩 qnrn
饪 qntf
饫 qntd
饬 qntl
饭 qnrc
饮 qnqw

2个字到4个字的词语码表:

特仑 trff wxb
特仑苏 trff wxb alwu
特他 trff wbn
特代 trff way
特令 trff wycu
特以 trff nywy
特以及 trff nywy eyi
特们 trff wun
特价 trff wwjh
特价只 trff wwjh kwu
特价只要 trff wwjh kwu svf
特价房 trff wwjh ynye
特价机 trff wwjh smn
特价机票 trff wwjh smn sfiu
特价秒杀 trff wwjh titt qsu
特价车 trff wwjh lgnh
特任 trff wtfg
特企 trff whf
特伊 trff wvtt
特伍 trff wgg
特伍德 trff wgg tfln
特伐 trff way
特优 trff wdnn
特优势 trff wdnn rvyl
特会 trff wfcu
特伟 trff wfnh
特传 trff wfny
特伦 trff wwxn
特伦扎诺 trff wwxn rnn yadk
今天一个 w g g w
今天一大 w g g d
今天一天 w g g g
今天一定 w g g p
今天一早 w g g j
今天上午 w g h t
今天上班 w g h g
今天下之 w g g p
今天下午 w g g t
今天不回家 w g g l p
今天不是 w g g j
今天不苦 w g g a
今天不起 w g g f
今天中午 w g k t
今天一个 wynb gdi ggll whj
今天一大 wynb gdi ggll dddd
今天一天 wynb gdi ggll gdi
今天一定 wynb gdi ggll pghu
今天一早 wynb gdi ggll jhnh
今天三 wynb gdi dggg
今天上 wynb gdi hhgg
今天上午 wynb gdi hhgg tfj
今天上班 wynb gdi hhgg gytg
今天下 wynb gdi ghi
今天下之 wynb gdi ghi pppp
今天下午 wynb gdi ghi tfj
今天不 wynb gdi gii

四个字以上的词语码表:

国际奥林匹克委员会 l b t s a d t k w
国际奥林匹克委员会主席 l b t s a d t k w y y
国际奥林匹克委员会全体会议 l b t s a d t k w w w w y
国际奥林匹克委员会委员 l b t s a d t k w t k
国际奥林匹克数学竞赛 l b t s a d o i u p

最大支持16个字的词语码表:

一致性高速缓存非均匀存储访问模型 g g n y g x d h f q d w y u s g
三区革命政府政治文化活动中心旧址 d a a w g y g i y w i f k n h f
三方协商促进实施国际劳工标准公约 d y f u w f p y l b a a s u w x
三角齿马先蒿三角齿亚种三角齿变种 d q h c t a d q h g t d q h y t
上海佳豪船舶工程设计股份有限公司 h i w y t t a t y y e w d b w n
上海图书馆上海科学技术情报研究所 h i l n q h i t i r s n r d p r
上海市实有人口服务和管理若干规定 h i y p d w k e t t t g a f f p
上海神开石油化工装备股份有限公司 h i p g d i w a u t e w d b w n
上海耀华皮尔金顿玻璃股份有限公司 h i i w h q q g g g e w d b w n
上海锦江国际酒店发展股份有限公司 h i q i l b i y n n e w d b w n
世界自然保护联盟濒危物种红色名录 a l t q w r b j i q t t x q q v
东北抗日暨爱国自卫战争烈士纪念塔 a u r j v e l t b h q g f x w f
中华人民共和国中央人民政府委员会 k w w n a t l k m w n g y t k w

词语码表规则如下:
2-3个字词语只能使用单字的全部码表输入,不能使用简写。
4个字的词语可以使用单字的全部码表输入,也可以使用码表首字母组合输入。
5-16个字的词语只可以使用码表首字母组合输入。

这样的选择是因为,五笔编码单字使用3-4个字母,如果2-3个字使用五笔编码的的一个字母或者前两个字母作为简略输入,会出现大量重复的码表。
4个字及其以上的词语对应的拉丁字母组合重码率已经很低,可以使用简略输入。

4个字的简略码表有4个字符,可能会与单字的4个字符竞争,不过不用担心。本输入法的优先级排序来自220亿字典型语料库统计数据。一般情况下, 词语出现的频率低于单字的频率。只要不是生僻字或者繁体字,单字排名靠前,词语排名靠后,不会影响输入体验。

上图

86版五笔编码中,单个字使用3-4个拉丁字母

image

image

两个字的词语输入

image

三个字的词语输入

image

四个字的词语输入

image

四个字,类似拼音输入法的简拼的输入方式,使用五笔编码的第一个字母组合输入

image

唐诗三百首、宋词三百首、老子道德经、论语、诗经、李白诗句全集可以信手拈来

image

16个字的词语

image

百度百科的词条标题,这样的词语有50万个

image

五笔编码仅适用25个字母键,“z”键没有使用。
如果记不得单字的码表,可以在先输入“z”,进入临时拼音模式,再输入拼音

image

在临时拼音模式可以反查五笔码表

image

临时拼音模式下,支持简拼输入,临时拼音模式调用的是鸿雁拼音库,同样拥有230万词库。

image

软件在安卓平台也有移植版本
五笔简码输入词语


安卓平台进入临时拼音模式

鸿雁输入法安装后默认启用的是鸿雁拼音·全拼模式。
在鸿雁输入法中切换到鸿雁五笔的方法:

windows平台

image
image
image

安卓平台

软件压缩包中“五笔86版全码(41442个汉字).txt”文件包含全部的单字码表。供有需要的朋友查阅。
本软件开源免费,采用的rime系列输入法框架,这些框架都是开源的。码表、配置文件是纯文本格式。

有人在网络上发帖,希望极点五笔作者出山,他愿意付费,可惜现在还没有等到杜先生回应。

希望鸿雁五笔能够成为新时代的极点五笔。

下载链接:
https://hong-yan.lanzouw.com/b00vvkivc
密码:1234

2 个赞

安装包有一个bat脚本,删除rime用户文件夹所有文件。

其他的并没有什么可疑的地方。

https://www.virscan.org/report/644ecbdba0ee8884c5466f535906f963a927994ac2008c0afe23632718e478df

这是在线杀毒结果,可以看看,尽管放心使用。

请发发现频道 🔍 - 小众软件官方论坛

能不能提供一下dict.yaml,MAC下替换试试。

安装后,在输入法文件夹中就有配置方案。

就算你不安装,直接用7-zip解压提取也可以

不容易啊2022年了还有人开发五笔输入法,不过五笔确实是时代的眼泪了,新一代年轻人都没见谁用了。另外个人其实不怎么看好长词输入这一模式,记忆难度是比较大的。打字到后期其实基本都是肌肉记忆了,不像拼音的组合那么少,五笔的组合量是比较大的,打字的时候可以直接输出,但你突然问我拆字第一码是什么,我要反应一段时间的。
自从极点失势之后已经使用系统自带的五笔输入法很多年了,个人对输入法的期望是能够比较方便的对输入习惯进行调整,比如自定词组,调整顺序等。至于真的很长的词,我可能直接用AHK定义成Hot string来输入了。
一点想法,仅供参考。

两个或者三个汉字组成的词语的输入方式既反传统更反人性,五笔输入法讲究的是肌肉记忆,2字词语的编码从80年代其出生开始就是取每个字的前两个字根,3字词语取前两个汉字的首字根+最后一个汉字的前两个字根;若我必须全码输入组成词组的每个汉字的全码,那么我为何不用五笔输入法中的单字输入方案?

说得好有道理。

你所述的完美输入法,理论上应该存在,实现起来代价有些高。

以前的五笔输入法词库词库数量也就数万,现在数量是230万。
以前的五笔输入法分词是人工分词,现在是机械分词。

如果要做到四码词组上屏,需要对2-3个字的词语极度精简,输入法2-4个字的词语有180万,两个字的词语,机械分词有70-80万,来自词典和百科的标准词语有50多万。数量极其庞大。
你想象词组数量长了10倍,20倍,重码率涨了多少?

4个字以上上的词语数量不是很多,估计最多十万。

目前的方案下,就是2-3个字的词语虽然用全码,但是几乎不用选词。

你自己用全拼,会不会不习惯?

用全拼重码多,码长并不固定。

用五笔,码长固定,使用字形拆字,几乎不用对单字使用数字键,最多只需要对词组使用数字键,更多的情况,直接按空格候汉字进入输入法临时框,或者按下回车直接上屏。

空间换来效率,你说的2-4个字的拆词,本输入法的词语主要就是2-4个字的词语,刚好方便拆词。
唯一的代价就是按键次数多了,这是没有办法的事情。

你想按键少,还要词语多而且准确,那几乎不可能,

如果用阿尔法狗优化,那得花费多少时间精力?还不一定能够成功

我觉得吧,应该是之前的输入法使用短码把用户给惯坏了。

4次按键,输出一个词语,只适用于词库数量较小的时候。我想信息熵的理论可以解释。

1 个赞

本方案相对于单字模式不同的地方在于:
可以用词组作输出为单元。
五笔输入的时候,基本上不用按数字键了。

空间换效率,如果实在一时不能适应,可以在临时拼音模式,使用简拼。

看到 你的发言,我曾经考虑把词典的标准词汇和热门词汇用你的方案编码。

回头分析,究竟哪些词语才能算热门呢。

看到词频表,排在300万后面仍然有认识的词汇。

多按几次键盘,换来重码的大大减少。

你说的词语简码方案,我不敢确定,但可以怀疑:
1 这种编码只适用于词汇量小于10万的时候
2 这种方式对几百万的词汇量不再适用
3 可能习惯难以改变,是早期的五笔软件把用户给惯坏了。

上面的观点并不是强行为自己辩护,贬低某个输入法或者用户,也不是为了抬高 自己。
按照我的认知,就是这样。

如果有人发现我故意撒谎狡辩,另当别论。

鄙以为2˜3个字的词语数量不必追求大而全,如您所述大词库必然导致重码多,这是不符合五笔输入法的追求的。

1 个赞

同感, 如果词语要输入全码的话为什么不用单字呢,,

我希望词语可以和两字词一样,只输两码就可以的那种,,, 因为以为用双拼的时候那节奏感可太好了

支持,学电脑最早学会的技能应该就是五笔打字了

下载安装了,怎么觉得程序有点问题的,刚装完想去设置,窗口没有出现,重启后可以设置了,切换到五笔,打字很不习惯,后选字/词要按了空格才出现,选了还要再按空格才上屏,切换到其他输入法再切换回来,不出中文字了,只能输出英文,这么奇怪的?

安装包有详细文档说明,可以修改配置,改为空格直接上屏
或者你按回车也可以上屏幕。

目前中文输入法没有任何单词。

按下“shift”键可以切换到英文状态。

即使你在中文输入环境输入字母,想直接把这些英文字母上屏,按下shift键就可以了

其实我有60万的英语词汇数据,不过没想加入中文输入法中

中文输入法就应该老老实实只输入中文,混入英文单词总感觉有些别扭。多按下shift键应该不会别扭吧。

输入法采用的是语句流引擎,需要使用空格作为词语分割的字符。
你可以把一句话在输入法输入完毕后再按一次空格输出,或者标点输出。

或者不想改设置,两次空格多用几次就会习惯了