LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
楼主: trotsky

四种拼音输入法的比较以及拼音输入法开发[讨论篇]

[复制链接]
发表于 2003-6-20 17:28:06 | 显示全部楼层

关于词组的问题

我是刚用fcitx,不太清楚情况。不知道它有没有导入文本文件词库的功能。
如果没有,加上这个功能想必不太费力。这样的话,就可以导入其他输入法的“海量”词库。比如网上可以找到的windows平台的紫光、拼音加加的词库。
另外我觉得这两个输入法可以通过space、左右shift选字的功能也挺方便,不知道可不可以加上?
发表于 2003-6-20 20:57:01 | 显示全部楼层
最初由 liuspider 发表
我现在使用SCIM

我最先使用的也是 mandrake 自带的 chinput, 但是我的感觉是极不习惯,也许是用惯了 整句输入了

后来用了很久的 xsim, 感觉还是不错的,虽然界面有点点土,但是用得很舒服

改用二笔后, 我就转而使用 ebf-fcitx,因为这是 linux 下二笔的唯一解决方案,(当然现在不是了),期间也给作者 tram 提交了一些修改、更新补丁

现在我正在使用的就是 SCIM,并且使用的输入法是我刚刚为其增加的二笔输入法(使用的SCIM中的 generic_table 类实现的,当然我也提交了一些修正和更新补丁)。我之所以选择SCIM,为其增加二笔输入法,有如下原因:
1。最重要的是代码结构组织好,完全基于C++,当然,C的程序也有结构好的,但我看过的输入法--chinput, fcitx(ebf-fcitx)以及 xsim, scim -- 中,除了 xsim 较接近 scim 的水平外,其他的在代码的规范性,代码的组织结构上,都不及 SCIM。
2。作者 james_su 一直保持更新和维护,这使我觉得放心,

我写以上文字,绝对没有攻击任何人的意思,我也仅仅是希望大家可以团结一致的开发好一个输入法, 而不是大家分散精力的同时开发好几个。

我在前几天也给 tram 私下谈过,希望他放弃 ebf-fcitx 的开发,而是转向SCIM,提高scim 的功能,或为其写新的界面、模块,但最后是不了了之。所以我就为 SCIM 增加了 二笔输入法功能。

忠心希望中文输入法能够变的功能更全、更易用。

一点个人看法,如果冒犯了谁,还请海涵





看了liuspider的帖子,我感到很担心。我不是scim的拥护者,也不是紫光的拥护者。因为,我根本就没有办法使用他们,我使用的操作系统是freebsd。对于只有发行包,而没有

源代码的拼音输入法,我感到无能为力。

我现在只有fcitx。但liuspider劝导fcitx的作者放弃fcitx,我感觉是一个不好的,不可理喻的消息。我期望fcitx的作者能够坚持下去。

我对fcitx有好感,因为它是完全free的。前些日子我在这个论坛上发布了不满scim不公开拼音输入法的帖子,在帖子中我说过要推动fcitx的发展。当时我首先感到的是fcitx在词

频上的弱点。我开发了一个词频统计程序。现在,该程序已经统计了在1.9G纯汉字信息内容的词频。后来,我在简单看了fcitx代码的情况下,发现fcitx在吞吐海量词库上可能存

在的一些问题。我现在正在对检索海量词库的算法上做一些研究。相信,在1个月内,能够在该论坛上提交一个完整的研究报告,并附加数千行的代码。

我现在感觉fcitx的主要问题在于协作开发上。我不知道fcitx是否是个人开发,如果是这是相当不好的。我想没有人会对一个输入法献身的。每个人的精力是有限的。如果能够集

中大家的力量,我们会得到一个理想的fcitx的。在这一点上,我感觉最深的是fcitx没有一个完整的FAQ。到底是使用者的个人能力问题,还是操作系统问题,还是fcitx本身的问

题?能不能对那些感兴趣的人分工一下?我对KDE/QT开发环境比较熟悉,我愿意参与这方面的开发。我现在使用FreeBSD我愿意参与这方面的测试工作。

中国人使用的众多输入法,可能只有中国人才使用。
发表于 2003-6-20 21:17:17 | 显示全部楼层
呵呵,楼上这位,我开始就是不想试用 SCIM 的原因也是因为他的拼音输入法是不开源的。

其实,作者有他自己的考虑,也是完全可以理解的,而且现在,他也是可以完全免费使用的。而作为SCIM这个输入法平台以及 通用码表输入模块,则都是完全开源的,而且可以在 CVS 上得到最新的开发版本。这些的结构是很好的,非常易于扩充和维护,在这点上,我觉得其他几个输入法做的都不够好

所以,你完全可以将 fcitx 中的现在的拼音模式,方便的在 SCIM 下实现,我相信 james_su 也会将这些代码 merge 入 CVS 的。

你所说的词频功能,不论是词频统计还是词频的使用上,SCIM 中都已经实现了,你完全可以参考一下,为什么要重头做起呢?
发表于 2003-6-20 21:36:48 | 显示全部楼层
to liuspider:

    呵呵,拼音是最简单的输入法,但在程序上可能是最复杂的输入法。我不喜欢遮遮掩掩。只要肯花心思,会出现最好的拼音输入法的。只要找到拼音输入法的特点,就可以非常轻松的移植到其他输入法上。甚至检索机制都不用改变。

    词频管理,只是一个非常非常小的方面。在我的实验早期,只用了几百行的代码就实现了高速统计功能。12万条的的词库统计1.9G的的信息只用了10分钟。

    我为什么要支持scim?这个不free的输入法?只要fcitx能够吸纳更多的程序员。提高它的品质,fcitx会无可限量的。
发表于 2003-6-21 10:37:25 | 显示全部楼层
最初由 stormful 发表
to liuspider:

    呵呵,拼音是最简单的输入法,但在程序上可能是最复杂的输入法。我不喜欢遮遮掩掩。只要肯花心思,会出现最好的拼音输入法的。只要找到拼音输入法的特点,就可以非常轻松的移植到其他输入法上。甚至检索机制都不用改变。

    词频管理,只是一个非常非常小的方面。在我的实验早期,只用了几百行的代码就实现了高速统计功能。12万条的的词库统计1.9G的的信息只用了10分钟。

    我为什么要支持scim?这个不free的输入法?只要fcitx能够吸纳更多的程序员。提高它的品质,fcitx会无可限量的。


拜托你把 scim 和 scim-chinese 区别开来好不好。scim 是一个输入法平台,完全公开源码而且是 LGPL 版权的,比 GPL 还公开。scim-chinese 目前包含一个拼音输入法,是不公开源码的。

我真是搞不明白为什么大家总死抓着 scim-chinese 不公开源码不放呢?难道 scim 公开的3万多行源码全是垃圾不成?

如果大侠有兴趣开发拼音输入法,完全可以在 scim 平台上开发,相信会方便很多。而且你有公开/不公开自己代码的权力和自由,因为 scim 本身是 LGPL 的。你完全可以帮助把 scim 移植到 freebsd 上,然后再自己开发一个比 scim-chinese 还好的拼音输入法用着。你完全可以不去关心 scim-chinese 是否公开源码呀。

scim-chinese 是我个人的劳动成果,不公开源码是我的自由和权力,所以我觉得评论 scim-chinese 公不公开源码没有什么意义吧。
发表于 2003-6-21 20:04:16 | 显示全部楼层
scim 不free吗? 好像是 free 的吧,就算是不开源的 scim-chinese 也是可以免费使用的啊
发表于 2003-6-21 21:18:57 | 显示全部楼层
最初由 james_su 发表
拜托你把 scim 和 scim-chinese 区别开来好不好。scim 是一个输入法平台,完全公开源码而且是 LGPL 版权的,比 GPL 还公开。scim-chinese 目前包含一个拼音输入法,是不公开源码的。

我真是搞不明白为什么大家总死抓着 scim-chinese 不公开源码不放呢?难道 scim 公开的3万多行源码全是垃圾不成?

如果大侠有兴趣开发拼音输入法,完全可以在 scim 平台上开发,相信会方便很多。而且你有公开/不公开自己代码的权力和自由,因为 scim 本身是 LGPL 的。你完全可以帮助把 scim 移植到 freebsd 上,然后再自己开发一个比 scim-chinese 还好的拼音输入法用着。你完全可以不去关心 scim-chinese 是否公开源码呀。

scim-chinese 是我个人的劳动成果,不公开源码是我的自由和权力,所以我觉得评论 scim-chinese 公不公开源码没有什么意义吧。



呵呵,谈到版权和公开源代码,问题好像就谈的太远了。这就好像Linux和Windows之间的关系。没有人要求Linux公布代码,但它这么做了,而且有很多人跟着做了。这是Linux的招牌,是人们喜欢它的原因。

我并没有要求你公布你的代码,呵呵,我根本就没有这个权利。我只是说这样隐秘的东西在free世界里我不喜欢,也不支持。我把它同紫光划等号我感觉没有任何概念上的错误。最近一年,我在Linux下开发商业产品。我根本就不会公开代码,想都别想。但你的拼音输入法是商业软件么?我在这个论坛上没有看到,可能是我孤陋寡闻吧。

我对scim不了解,今天才知道scim和scim-chinese的关系。看来你要把scim做成通用输入平台。这真是一件好事情。但平台是平台,输入法是输入法。平台是主体还是输入法是主体?这好像是鸡和蛋的关系了。在我看来,最近几年成功的众多输入法证明了一个硬道理,在必要的最小环境下,蛋是主体。说实在的,我很为scim惋惜。看来你做了很多前期工作,但你的scim-chines破坏了人们的印象。这好像又回到了Linux的精神上了。

你在写scim-chinese的时候,是否感觉到很多算法非常有趣?这里面有非常宽广的优化空间和可以讨论的东西。说实在的,我需要能够讨论的对象。这个论坛只是提供输入法具体使用方面的内容么?

我今天很高兴。我重要在控制台上验证了我的算法。呵呵,我看到了汉字和词组。
发表于 2003-6-21 21:22:47 | 显示全部楼层
最初由 liuspider 发表
scim 不free吗? 好像是 free 的吧,就算是不开源的 scim-chinese 也是可以免费使用的啊


谁知道哪?每个人的看法不同吧。或许GNU和BSD才是最最Free的吧。
发表于 2003-6-21 23:11:34 | 显示全部楼层
当然是 SCIM 更重要一些了,拼音输入法只是一个模块而已,也只是大陆中国人才用。不会普通汉语的人才不会用呢。而 SCIM 的目标用户群是所有使用 CJK 语言的人。我已经有一个简单的日文输入模块可以用了,很快还要有繁体注音模块,甚至韩文输入模块。

你说是 scim-chinese 重要还是 scim 重要呢?


另外,商业软件和开放源代码软件根本就不是对立的。scim-chinese 恰巧不是开放源代码软件但目前也不是商业软件。scim-chinese 目前属于 free to use 的软件。

我只是不希望你把 scim-chinese 和 scim 搞混了,也不希望你因为 scim-chinese 不公开源码而迁怒于 scim。你大可认为不存在 scim-chinese 这个软件。

另外,说道算法。scim 里面也使用了很多算法,虽然都不是很复杂,但也可以讨论呀。比如 通用码表输入法模块里面就有关于词频统计和调整的算法,还有编码的算法,你要是有兴趣可以研究一下,至少我认为还是很有意思的。尤其是我用的编码算法,我还没看到果哪个开放源码的中文输入法使用类似的算法。

你如果想和我讨论拼音输入法的算法也可以呀,拼音输入法的算法博大精深,可讨论的东西多了,不一定要牵扯到源码。比如拼音切分算法,智能匹配算法等等。词频统计只是一个很小的算法而已。


最初由 stormful 发表
呵呵,谈到版权和公开源代码,问题好像就谈的太远了。这就好像Linux和Windows之间的关系。没有人要求Linux公布代码,但它这么做了,而且有很多人跟着做了。这是Linux的招牌,是人们喜欢它的原因。

我并没有要求你公布你的代码,呵呵,我根本就没有这个权利。我只是说这样隐秘的东西在free世界里我不喜欢,也不支持。我把它同紫光划等号我感觉没有任何概念上的错误。最近一年,我在Linux下开发商业产品。我根本就不会公开代码,想都别想。但你的拼音输入法是商业软件么?我在这个论坛上没有看到,可能是我孤陋寡闻吧。

我对scim不了解,今天才知道scim和scim-chinese的关系。看来你要把scim做成通用输入平台。这真是一件好事情。但平台是平台,输入法是输入法。平台是主体还是输入法是主体?这好像是鸡和蛋的关系了。在我看来,最近几年成功的众多输入法证明了一个硬道理,在必要的最小环境下,蛋是主体。说实在的,我很为scim惋惜。看来你做了很多前期工作,但你的scim-chines破坏了人们的印象。这好像又回到了Linux的精神上了。

你在写scim-chinese的时候,是否感觉到很多算法非常有趣?这里面有非常宽广的优化空间和可以讨论的东西。说实在的,我需要能够讨论的对象。这个论坛只是提供输入法具体使用方面的内容么?

我今天很高兴。我重要在控制台上验证了我的算法。呵呵,我看到了汉字和词组。
发表于 2003-6-21 23:40:16 | 显示全部楼层
是么?你不是大陆的么?你不会说不通话么?我曾经很多一个普通的政府员工艰难的录入汉字。

说到算法,就非常有意思了。这可能让这个帖子长期至顶。

首先,就说说拼音拆分算法吧。因为我今天早上才开始玩他。我没有使用正规的拼音规则,因为我根本就找不到相关的国家标准。我使用了一个非常野蛮的方法。

在我使用过的拼音输入法中,对于拼音拆分我的最大感受是最小匹配模式。在统计和管理词库的时候,我有一个副结构,拼音表。它不是简单的拼音组合,而是拼音递减结构。为了实现最小匹配。我从倒序匹配。

当然了,必要的数据结构就是hash表和联表了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表