我编写了一个“单手笔顺输入法”的码表,请问如何利用、修改和调试Python写的ibus-table输入法程序?

软件和网站开发以及相关技术探讨
回复
头像
Ping-Wu
帖子: 1822
注册时间: 2012-11-14 9:34
系统: Debian 12

Re: 我编写了一个“单手笔顺输入法”的码表,请问如何利用、修改和调试Python写的ibus-table输入法程序?

#8

帖子 Ping-Wu » 2018-02-04 8:37

yq-ysy 写了: 说服红帽?我没有信心。
这跟 “信心” 无关,而是如何 “建立” 我们的 “实力”,让我们讲的话有 ”说服“ 力。

上个礼拜我参加了一个大型的国际电信会议(Pacific Telecommunications Conference),国内的电信大户如中国电信,中国联通,和记(香港),中信(CITIC),华为技术,中华电信(台湾)等都派了高级主管率团参与。今年红帽(Red Hat),英特尔(Intel),甲骨文(Oracle), 微软(Microsoft)等电脑软硬体公司也有派团参加。很有意思的,去年这个会议里还有人谈到 Linux,今年我发现,根本没有人在谈了。这么快就失去兴趣了?刚好完全相反。现在全世界的电信界讲的是虚拟系统,如 SDN (software defined network),VNF (virtualized network functions)*,SD-WAN 等。一提到虚拟 “系统”,那就完全是 Linux 的天下了。问这个问题一定会被笑的。
笔顺输入法.a.jpg
我跟几位与会人士谈了一下您发明的单手笔顺输入法,他们第一个问题总是:谁会去使用呢?如果大家的预设前提(preconception)已经被套牢在 ”没有人会去学习新的输入系统“,有谁会有兴趣去协助开发呢?花钱请人来写也不是解决办法。第一,这不是写代码(code)的问题,而是表达运算法则(algorithm)的问题。美国人常常说,会写代码的人一毛钱可以请到一打(coders are a dime a dozen),但会把一套复杂的发明清楚的转换成 algorithm,则少之又少。第二,代码初稿写出来了,以后除臭虫,修改功能,以及其他维护等的费用怎么办?后者的费用跟前者比例一般是 90 : 10!

当时我谈话的对象都是管理人士,而且时间很短,因此不能代表一般的想法。不过有一个地方倒是引起他们的注意:目前我们在视窗里使用的中文输入,不管是微软预设的或搜狗,都可以把我们打入的字 cache 去。久而久之,一不注意,我们的习惯,想法,还有其他隐私(以及公司机密!)都会被包装起来卖给出价最高的人。这是一颗很恐怖的定时炸弹,但没有发生以前,谁也不会去注意的。

我们是否需要一套更好的中文输入法呢?答案一定是肯定的。但开发出来以后,有多少人会日常的使用来回馈 “使用者经验” 呢?根据我的经验,答案是 “零”! 缺乏这种回馈机制,根本无法开发出任何可使用的软件。这就跟 Linux 桌面一样,很多人都觉得 Linux 桌面很重要,但有多少人愿意花时间,真正的去改善 Linux 桌面可被接受的环境呢?答案也是很令人沮丧!我所谓的 “Linux 桌面可被接受的环境” 主要是指 Linux 环境下的应用套件。东西是有,但真正有使用经验,可以提供 “付费” 服务的专业人员,好像还没有。

因为缺乏专业的 Linux 桌面套件服务人才,没有公司会接受 Linux 桌面系统。反过来讲,没有后者,前者也无法培养。Linux 伺服器跟桌面最大不同点之一,在于伺服器的使用者常常本身就是开发者(例如我们很早以前写了一个RAID5套件)。Linux 桌面使用者,“几乎” 唯一可以贡献的地方,在于收集使用者经验(不只是自己的)提供给套件开发者。不过像这么简单的事,也没有人愿意花功夫作。另外一个贡献管道,就是出钱啦。不过,捐给谁呢?

我觉得您这么有热忱想改善中文输入结构,应该稍微忍耐一下目前不利的客观环境*,把眼光放远一点,从改善 Linux 桌面套件的接受度这方面着手,先打造一个环境让更多的人能接受 Linux 桌面。使用的人多了,讲话就比较大声,提出的建议,Linux 公司像红帽等也比较愿意考虑。 不过这种事绝对不可能只是一个人在干,对 Linux 桌面有兴趣的人也必须踊跃的出钱出力。如果方向正确(即可以促进公司及ZF机构考虑 Linux 桌面),我可以提供一点种子基金(额度 $1,500USD,~1万人民币)。 以后慢慢熬把 ibus-libpinyin 的 algorithm 搞熟了,再来开发笔顺法就容易了。(我敢挂保单到时候你就可以自己写程序了,更重要以后的维持的问题也不必烦恼了。) 我们应该都知道战国时代围魏救赵的故事吧?爱因斯坦的相对论也指出,直线距离并不一定是最短的。

* 我在这里提到很多次,我们以前办了一个相当成功的老人电脑班(学员们包括退休的医生,公司领导,大学教授,蓝领工人等)。我觉得我们成功的最大因素乃是一开始我就规定成员必须先买一台我指定新的(但很便宜)笔记电脑,作业系统则是我根据一般需要,配合先前收集的使用者经验,烧出来的 customized Ubuntu LiveUSB。“学生” 们把进门的功夫练好了,当然可以使用自己买的电脑(包括 Mac),装设自己的系统,但很少人有这个需要。唯读的 LiveUSB 使用起来一般比从硬盘开机还要快,而且不必烦恼电脑病毒,这就是 Linux 桌面最大的优点之一。做得好的话,很容易推广。

反观目前大部分的 Linux 论坛,不同的软体硬体到处泛滥。有经验的大牛们,把时间放在帮助解决零零散散(有些甚至是
esoteric)的问题上,对整个 Linux 桌面的进展,大体上完全没有帮助。举个例子,今天我们这个论坛上有两个关于中文输入及中文乱码的问题。我在 Ubuntu 18.04 里无法重复他们的问题(表示已解决了),老调重谈很浪费宝贵的资源。开源软件是一个 “双向道路”,基础乃是建立在 "有取有给" 这个精神上,但很少人这么想。大多数人来这里,拉个屎,撒泡尿,卫生纸是免费的(感谢坛主们!),有人还期望我们可敬的大牛老牛们帮他们擦屁屁。

* 2018中国SDN/NFV大会 将在 4月17-18日 在 北京新云南皇冠假日酒店 举行:

http://www.infoexevents.com.cn/chinasdn/sponsor_c.htm
上次由 Ping-Wu 在 2018-03-08 13:02,总共编辑 1 次。
头像
yq-ysy
论坛版主
帖子: 4448
注册时间: 2008-07-19 12:44
来自: 广西(桂)南宁(邕)

Re: 我编写了一个“单手笔顺输入法”的码表,请问如何利用、修改和调试Python写的ibus-table输入法程序?

#9

帖子 yq-ysy » 2018-02-08 12:58

Ping-Wu 写了: 这跟 “信心” 无关,而是如何 “建立” 我们的 “实力”,让我们讲的话有 ”说服“ 力。
上个礼拜我参加了一个大型的国际电信会议(Pacific Telecommunications Conference),
我跟几位与会人士谈了一下您发明的单手笔顺输入法,
感谢您向业内人士推荐“单手笔顺输入法”。看了您的叙述,不论是输入法,还是桌面套件,我觉得我们都需要研究三个关键问题:
(1)谁需要——是否符合用户的需求;
(2)谁来做——他是否能从中获取利益;
(3)如何做——万事开头难。
Ping-Wu 写了: 他们第一个问题总是:谁会去使用呢?如果大家的预设前提(preconception)已经被套牢在 ”没有人会去学习新的输入系统“,
(1)谁需要——是否符合用户的需求;
这些天,我学习到两个知识点,一是细化拆分用户需求,就能逐步发现潜在的市场需求,然后开发出能帮助他们解决问题的产品。二是所谓“创新”并不是普通人理解的那样,非得全部推到重来、搞一个别人没见过的东西才是“创新”,其实,在已有的产品上改善用户体验、改进功能,这也是“创新”。

就输入法来说,在电脑和手机里输入中文汉字,这是基本的用户需求。目前拼音输入是主流,但重码多、找字难;曾经红极一时的五笔输入法现在几乎没人用了;手机上的语音转换功能适合懒人,但在很多场合下不想泄漏隐私还是得打字;手写输入适合不会拼音的老人,但一笔一笔写仍是缓慢乏力。但是,目前有没有像拼音一样不用学习就会用、不用背字根、又比拼音更准确更快、既能在电脑使用、也能在手机上使用的输入法呢?没有。

乔布斯曾说:靠用户调查来设计产品太难,很多时候,要等到你把产品摆在面前,用户才知道想要什么。(但显然这样也会耗费大量的失败成本)。就输入法来说,各种各样的输入法有很多,但似乎只有我的“单手笔顺输入法”刚好能兼顾上述这些问题。而且,单手笔顺输入法和拼音输入法一样,每个人在上小学时就已经会了,不用再另花时间学习,不用背字根。我目前从事的是影视行业,一部影片,每个画面都要考虑到:“如何吸引观众继续看下去?”

同样地,我在做“单手笔顺输入法”的编码时,也时时在考虑着:如何让用户体验到这个输入法简单、方便、快捷?普通的手机已经带有1~5的笔顺输入,但这样的输入效率很低,我设计的0~9带边旁部首的编码,能提高输入速度。数字小键盘7在1上面都是“横”,8在2上面都是“竖”,9在3上面都是“撇”,4左6右都是“捺”,中5下0都是“折”。这些是在使用了多年原“数字五笔输入法”后,总结经验改进的成果。如何让用户“不必背字根”也能记住边旁部首的编码?——这是我在设计0~9笔顺编码时首先考虑的问题,对于第一次使用的人来说,提示信息是很重要的。如下图所示,边旁部首的编码位置也是符合笔顺规律的,并且兼顾了人类的视觉和记忆习惯,所以不必费心记忆,一边打字就能一边很快牢记在心。
Code_Table.jpg
Ping-Wu 写了: 我们是否需要一套更好的中文输入法呢?答案一定是肯定的。但开发出来以后,有多少人会日常的使用来回馈 “使用者经验” 呢?根据我的经验,答案是 “零”! 缺乏这种回馈机制,根本无法开发出任何可使用的软件。这就跟 Linux 桌面一样,很多人都觉得 Linux 桌面很重要,但有多少人愿意花时间,真正的去改善 Linux 桌面可被接受的环境呢?答案也是很令人沮丧!我所谓的 “Linux 桌面可被接受的环境” 主要是指 Linux 环境下的应用套件。东西是有,但真正有使用经验,可以提供 “付费” 服务的专业人员,好像还没有。

因为缺乏专业的 Linux 桌面套件服务人才,没有公司会接受 Linux 桌面系统。反过来讲,没有后者,前者也无法培养。Linux 伺服器跟桌面最大不同点之一,在于伺服器的使用者常常本身就是开发者(例如我们很早以前写了一个RAID5套件)。Linux 桌面使用者,“几乎” 唯一可以贡献的地方,在于收集使用者经验(不只是自己的)提供给套件开发者。不过像这么简单的事,也没有人愿意花功夫作。另外一个贡献管道,就是出钱啦。不过,捐给谁呢?
(2)谁来做——他是否能从中获取利益;
很不幸,按佛学的术语来说,我们现在正处于“减劫”,大部分人的生存目标都是为了“追求自我利益”。(相反的“增劫”则是大部分人的生存目标是为了“帮助别人”。)所以,在现代社会,金钱确实是能让人去做某一件事情的最大驱动力。我同意您说的“花钱请人来写也不是解决办法”,是的,虽然重赏之下必有勇夫,但很多人的思想是“不必做得很完美,只要能拿到钱就行。”感谢您愿意提供种子基金,但显然,这笔钱是吸引不了优秀程序员的,他们一周的工资都不止一万元了。也许,能吸引三、四线城市的大学生参与?突然发现,一场NFL超级碗橄榄球决赛的门票钱,这中国能办很多事情呢。诶,我还是继续幻想吧,也许,已经有某个满怀热情的程序员在默默地写这个“单手笔顺输入法”程序了?(都不介意这程序是否完美、是否日后维护、修改简单了。)

我一直很想研究出Blender发展模式的成功之道,很多blender用户很积极地反馈使用经验、提出改进意见,更有很多人自愿捐款以支持Blender的发展。不过有一点不同的是,Blender之前是一个公司自己使用的商业软件,已经有了一定的成熟度,后来才开源的(类似Netscape网景浏览器,即开源后成为后来的mazilla也即Firefox火狐浏览器)。

从影视的角度看,也有类似的例子:国外的“大片”,很多电影特效都是影视公司自己聘请程序员开发专门的特效软件来实现的,而国内的影视工厂仍是在使用盗版的“准专业级”软件,甚至连开发一个plug-in插件都没有考虑,所以国产电影“五毛特效”铺天盖地——没事,中国人傻钱多,电影赚到钱了,这就行了,干嘛还浪费钱去开发什么软件呢……
Ping-Wu 写了: 有谁会有兴趣去协助开发呢?花钱请人来写也不是解决办法。第一,这不是写代码(code)的问题,而是表达运算法则(algorithm)的问题。美国人常常说,会写代码的人一毛钱可以请到一打(coders are a dime a dozen),但会把一套复杂的发明清楚的转换成 algorithm,则少之又少。第二,代码初稿写出来了,以后除臭虫,修改功能,以及其他维护等的费用怎么办?后者的费用跟前者比例一般是 90 : 10!

我觉得您这么有热忱想改善中文输入结构,应该稍微忍耐一下目前不利的客观环境,把眼光放远一点,从改善 Linux 桌面套件的接受度这方面着手,先打造一个环境让更多的人能接受 Linux 桌面。使用的人多了,讲话就比较大声,提出的建议,Linux 公司像红帽等也比较愿意考虑。 不过这种事绝对不可能只是一个人在干,对 Linux 桌面有兴趣的人也必须踊跃的出钱出力。如果方向正确(即可以促进公司及ZF机构考虑 Linux 桌面),我可以提供一点种子基金(额度 $1,500USD,~1万人民币)。 以后慢慢熬把 ibus-libpinyin 的 algorithm 搞熟了,再来开发笔顺法就容易了。(我敢挂保单到时候你就可以自己写程序了,更重要以后的维持的问题也不必烦恼了。) 我们应该都知道战国时代围魏救赵的故事吧?爱因斯坦的相对论也指出,直线距离并不一定是最短的。

我在这里提到很多次,我们以前办了一个相当成功的老人电脑班(学员们包括退休的医生,公司领导,大学教授,蓝领工人等)。我觉得我们成功的最大因素乃是一开始我就规定成员必须先买一台我指定新的(但很便宜)笔记电脑,作业系统则是我根据一般需要,配合先前收集的使用者经验,烧出来的 customized Ubuntu LiveUSB。“学生” 们把进门的功夫练好了,当然可以使用自己买的电脑(包括 Mac),装设自己的系统,但很少人有这个需要。唯读的 LiveUSB 使用起来一般比从硬盘开机还要快,而且不必烦恼电脑病毒,这就是 Linux 桌面最大的优点之一。做得好的话,很容易推广。

反观目前大部分的 Linux 论坛,不同的软体硬体到处泛滥。有经验的大牛们,把时间放在帮助解决零零散散(有些甚至是esoteric)的问题上,对整个 Linux 桌面的进展,大体上完全没有帮助。举个例子,今天我们这个论坛上有两个关于中文输入及中文乱码的问题。我在 Ubuntu 18.04 里无法重复他们的问题(表示已解决了),老调重谈很浪费宝贵的资源。开源软件是一个 “双向道路”,基础乃是建立在 "有取有给" 这个精神上,但很少人这么想。大多数人来这里,拉个屎,撒泡尿,卫生纸是免费的(感谢坛主们!),有人还期望我们可敬的大牛老牛们帮他们擦屁屁。
(3)如何做——万事开头难。
我设计的“单手笔顺输入法”,您提出的Linux桌面套件,以及您所说的这不是写代码(code)的问题,而是表达运算法则(algorithm)的问题。我不大理解algorithm是什么意思,之前给Rime输入法引擎的开发者“弓辰”写过邮件,他的回复是:“目前我主要精力放在輸入法算法庫及相關支持工具的開發上,具體的輸入方案已經陸續從輸入法獨立出來,由社區編寫、維護。”Rime应该是很成熟了吧?也已经有很多个输入法挂在Rime上了,但对于我这个程序盲来说,现在也并不觉得“开发笔顺输入法很容易啊”,我发这个帖子想自己写程序修改数字小键盘的功能,到现在也依然找不到一个入口啊。

您把各种Linux下软件,比喻成零散的工具,想希望整合成一个Linux 桌面套件,推广开来然后就能反过来,促进各个工具的发展。但这里有个比较严重的问题是:您说的“Linux 桌面套件”本身有没有一个庞大的用户需求?因为我是这样理解的:就像3D动画软件,很多人学会了建模,模型做得很精美,但也就这样而已了,依然找不到“能靠建模赚大钱”的工作,自己也依然没有什么名气。——为什么?因为没有“故事”。观众付钱去电影院,看的是“故事”,因为观众喜欢看故事,所以才有人投资拍电影,所以才有人聘请3D动画师来为电影做特效。而单单会3D建模人,自己很难找到“喜欢付钱看3D模型的用户”。——单单“有故事”还不行,还得是大部分观众喜欢的故事才行。所以每年电影市场上成百上千部电影,亏的是大部分,只有极少几部片子能赚到钱。要等“Linux 桌面套件”蓬勃发展起来,我已经等了20年了,是的,从1998年开始就期望着这一天了。现在发展到这个程度,已经很满意了。我觉得,开发一个“单手笔顺输入法”程序,缺的不是环境,而是人,一个和我一样看好这个输入法前途的程序员。

缺乏一个“利益导向的生态链”,所以很多事情,设想中很美好,但实施起来却举步维艰。很多年前写过一篇《完全在Linux下工作》的王垠,在近几年自己的博客里反思说“Linux其实并不完美,甚至还不如windows”,我看到他这篇文章时,我就在想,也许你能写出一个完美的操作系统,但你能让它普及开来吗?有办法能让许多人一起用这个完美的操作系统吗?同样地,手机的Android安卓系统也并不完美,但它产生出了一个“利益导向的生态链”,所以变得人人都离不开它,一边骂它,也仍在一边靠它赚钱。QQ也是这样,sogou搜狗输入法也是这样,一边骂它,也仍在一边使用它。

我觉得“Linux桌面套件”的前景并不美妙,因为现在手机的很多功能已经在替换台式电脑的工作,更何况还有一个(盗版)windows在世。我认为Linux的下一个突破口,是在“物联网”系统,例如“家电控制中心”,类似wifi路由器(或者,干脆可以直接整合进wifi/5G路由器内),然后只要家用电器带有兼容芯片(必须的硬件支持,能连接上wifi或5G路由器,这个芯片也是技术转换为金钱的重要渠道),手机和电脑就能轻易地控制家里的电器设备。回到家,饭已煮好、汤已煲好、冰箱里需要的菜已经解冻、空调已开到合适的温度、狗粮猫食已喂、开门时电视已经打开,走廊和卧室的灯已经亮起……现在已经有一些零星的设备能实现上述功能,但就如您所说,它们是在零零散散地解决各自的问题,没有整合到一起,效率不高,每个电器都要安装一个APP,用户使用反而觉得麻烦。也许已经有一些大公司在研究这样的“家电控制中心”,就像手机上先有Apple苹果公司在开发ios系统,后有Google谷歌公司开发Android安卓系统,这也是Linux的一个机会,继网络服务器系统、手机安卓系统之后的又一个机会,一个免费版的 Linux“家电控制中心”,它也是一个完整的“利益导向的生态链”,也许能让您赚到大钱(再一次,只能用“利益驱动”的方法来吸引人做这设想中的好事)——赚到大钱后,别忘了聘请程序员来写“单手笔顺输入法”程序。
头像
rosn
帖子: 1014
注册时间: 2006-01-14 18:33

Re: 我编写了一个“单手笔顺输入法”的码表,请问如何利用、修改和调试Python写的ibus-table输入法程序?

#10

帖子 rosn » 2019-03-14 21:00

我是初学python的新手,希望得到大家的耐心指教,先感谢大家对我的付出!
回复