V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
dfgddgf
V2EX  ›  软件

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

  •  
  •   dfgddgf · 172 天前 · 1669 次点击
    这是一个创建于 172 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

    著名的博主善用佳软推崇极点五笔,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 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

    词语码表规则如下: 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

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

    image image

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

    image

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

    windows 平台

    image image image

    安卓平台

    image

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

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

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

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

    22 条回复    2022-09-19 08:23:24 +08:00
    explorerproxy
        1
    explorerproxy  
       172 天前   ❤️ 2
    看到有新的五笔输入法出现还提到了极点,挺兴奋的
    感觉就是用自己的理解做了一款输入法,跟极点没关系,跟五笔关系也不大,失望
    dfgddgf
        2
    dfgddgf  
    OP
       172 天前
    @explorerproxy 您别这么说,试用一下再失望也不迟。

    极点五笔貌似是首个支持五笔拼音混合输入的输入法,我把词库扩充到 230 万,支持拼音,就算蹩脚的继承者,也算是继承者吧。

    其次,虽然我不是五笔的用户,没有多少使用经验,不代表这款输入法一定会让人失望。还是详细评测一下,再作判断。
    Jacobson
        3
    Jacobson  
       172 天前
    到今年算是打了二十年五笔了,一路试过来各种输入法,目前暂停在微软自带的五笔上了,为了省事。

    无论如何,楼主为五笔这个群体添砖加瓦值得赞赏和鼓励!
    2bad4u
        4
    2bad4u  
       172 天前
    在用 MAC 自带的五笔
    Salticey
        5
    Salticey  
       172 天前
    自己是一个五笔小白(只用了不到 5 年)但是感觉五笔打起来挺爽快的,支持一下楼主吧~
    Ansen
        6
    Ansen  
       172 天前 via iPhone
    rime?
    Ansen
        7
    Ansen  
       172 天前 via iPhone
    挺好,作者有心了
    CRVV
        8
    CRVV  
       172 天前
    五笔的词不是这么打的,五笔通常只打四个键,词和字都是四下出来,每四个键中间不按空格。如果有的字或者词只打 1-3 下就出来了,才会按一下空格。连续输入的字母会直接拆成四个一组来处理。

    k 空格 /kh 空格 /khk 空格:中
    khwx:中华,(khk 中)和(wxfj 华)的前两个键
    atlg:共和国,(awu 共)(tkg 和)的第一个加(lgyi 国) 的前两个
    kwwl: 中华人民共和国,(中华人国)这四个字的第一个键
    xedhgggcntgg: 缓存(xedh)一致(gggc)性(ntgg)
    khwxwwnaatlg:中华(khwx)人民(wwna)共和国(atlg)
    trywku 空格:不是物质文化遗产,而是 射手座(tryw)啼(ku 空格)

    所以
    一致性高速缓存非均匀存储访问模型
    肯定不是 rrbujbjtq ,而是拆成好几个词来打,一致 /性 /高速缓存 /非 /均匀 /存储 /访问 /模型

    五笔输入法的词库并不是越大越好,最好是只包含用户确信是词组的词,这样既能打词组,又能让重码最少
    比如高速缓存虽然在我这里是一个词组,但我通常不会打 ygxd ,而是打 ymgk(高速)xedh(缓存),因为要思考四个字的首键比较花时间,万一打出来又不是一个词,这些时间就浪费了。

    我也写过一个五笔输入法,https://github.com/crvv/android_wubi_input
    这玩意完全符合我自己的使用习惯,以致于用了好几年都没有再改进它的动力。
    iOS 和 macOS 上的清歌输入法也符合我的使用习惯。
    ispinfx
        9
    ispinfx  
       172 天前
    这叫十六笔了,不叫五笔。。
    dfgddgf
        10
    dfgddgf  
    OP
       172 天前
    @CRVV 现在情况不同了,如果按照你的简码方案,230 万的词语 2-4 个字的词语重码率非常高,这个时候词语已经没有意义了。如果五笔输入的词语需要翻几个页才能找到,需要词组干嘛呢,还不如使用单字输入。以前的极点五笔词汇量也就几万,并没有使用语料分析,数量也没有这么庞大。本来我准备词汇量干到 1000 万的,奈何小狼毫引擎无法生成索引,需要改动源代码,这个成本较高。

    目前的选择虽然算不上最完美的,不过可以看作比较实际的、折衷的方案。
    stiekel
        11
    stiekel  
       172 天前
    给 op 点赞,这也是一个不错的思路。
    funnypc
        12
    funnypc  
       172 天前 via Android
    @CRVV 发现作者了!之前在 play 商店有看到。

    可以加入键盘自动纠错功能吗?触宝的这个功能很好用。如果有自动纠错的话就可以替换下触宝了。

    自动纠错就是打错邻位的键,仍然能出候选词。

    例如 wygd 今天
    qygd
    eygd
    都能打出来,只不过不是在首位。
    funnypc
        13
    funnypc  
       172 天前 via Android
    @dfgddgf 打五笔的人很少打五字以上词,你展示的那些长词输入,并不是五笔日常使用的场景。甚至可以说并不是五笔,五笔是确定的 4 位码长。
    dfgddgf
        14
    dfgddgf  
    OP
       172 天前
    @funnypc 2-4 个字的词语可以尝试一下,相信基本上没有你打不出的词。
    dfgddgf
        15
    dfgddgf  
    OP
       172 天前
    安装包有一个 bat 脚本,删除 rime 用户文件夹所有文件。

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

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

    这是在线杀毒结果,可以看看,尽管放心使用。
    CRVV
        16
    CRVV  
       172 天前 via Android
    @dfgddgf
    所以我说的是 符合我自己的使用习惯,没说非得这么做。
    五笔有个和拼音不一样的地方,把每个字拼音的第一个字母打出来很容易,但把五笔的第一个字母打出来没那么容易,需要思考一下。尤其现在绝大多数人不是打字员,不是看着字来打字的。

    其实从某一年那种高级的拼音输入法出现的时候开始,五笔已经没什么速度上的优势了,反正我没有拼音熟手打得快。
    CRVV
        17
    CRVV  
       172 天前 via Android
    @funnypc
    这个功能本身不难,但问题是这输入法现在没有翻页。加了这个肯定需要翻页,翻页它就不太好做了。
    dfgddgf
        18
    dfgddgf  
    OP
       172 天前
    @CRVV 请您随便输入一个拼音、或者五笔重码比较多的字符,按下“-”和“=”试试,看看有没有惊喜。
    nonwill
        19
    nonwill  
       172 天前
    二次创作一定要有创新点支撑,这点儿挺支持 OP 主的

    但输入法这东东吧,带键盘钩子的,还是系统自带的最好 -- 虽没有 OP 主大作的强大,但安全性无虞

    还挺好奇这“个出版业的专业论坛”是干啥子的,还遮遮掩掩的不能讲😎
    dfgddgf
        20
    dfgddgf  
    OP
       172 天前
    论坛是 CPC 中文印刷社区

    确实如你所说,系统自带的输入法兼容性最好。比如微软五笔兼容性优于一般的输入法。WubiLex ( 五笔助手 )就是对微软五笔进行 DIY ,看重的就是它的稳定性。

    缺点是那个是闭源的,无法随心所欲定制,而且微软五笔词库质量真的很一般,不信你用 winhex 查看微软五笔输入法的码表,估计是请的临时工。比如辱日之类的词语有不少,而且出现在堂堂的 windows 10 正式发行版中,闹出了国际笑话。盖茨不想在日本做生意了。有兴趣可以在微软五笔码表搜索“日本”一词,看看有没有意外收获。
    mrpzx001
        21
    mrpzx001  
       166 天前
    建议增加特殊符号
    TerraNova
        22
    TerraNova  
       136 天前
    黄狗五笔输入法好用 http://www.cnprint.org/bbs/forum/197/
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   广告投放   ·   实用小工具   ·   1701 人在线   最高记录 5497   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 49ms · UTC 14:19 · PVG 22:19 · LAX 06:19 · JFK 09:19
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.