SunPinyin-MacOS-2.0 Official Release (10.5/10.6)

感谢大家的一直以来的支持,今天我们正式发布SunPinyin for MacOS的2.0版本了!这个正式版本和之前的beta 4.2并没有什么大的差别,主要是加入了候选窗口圆角风格的支持,调整了一些缺省的配置参数(包括颜色和缺省字符集)。

欢迎下载试用,SunPinyin-MacOS-2.0.zip。已安装之前beta版本的朋友,无需删除已安装的版本,直接运行安装程序即可。

首次安装的朋友请注意,当安装程序进行到“下载数据文件”步骤时,请点击“开始…”按钮下载必要的数据文件(文件较大,可能比较耗时)。

更新SunPinyin-MacOS-2.0 beta 4.2 (10.5/10.6)

因为是比较小的更新,就没升beta的主版本号 ...
  • 加入了用Ctrl+数字键删除用户自造词的功能。之所以用Ctrl,是因为Alt+数字键会输入特殊字符,且输入法无法收到该键盘事件;也没有用Command+数字键,也是担心和其他程序自身的快捷键相冲突。下一步我们会加入各类快捷键自定义的功能(估计会推迟到2.0.1)。

在使用该功能时,你可能会发现,无法删除掉某个候选词,可能的原因包括:

  1. 该候选不是自造词,而是系统词库中的词
  2. 该候选不是自造词,也不是系统词库的词,而是计算得到的最佳句子。

如果用户自造了一个词,例如“册使贫”,这个词对应的音节在系统词库中没有词,下次你再输入ceshipin的时候,这个词会出现在第一候选;但是在用户用ctrl+1将其删除之后,可能会发现候选词列表没有改变,这是因为虽然我们在用户词典中删除了这个词,并在history cache中删除了和这个词有关的unigram和bigram,但是这三个字(册、使、贫)依然位于history cache之中,使得这三个字的组合成为了计算得到的最佳句子。

理想的解决方法是,把这个词中所有的bigram组,在history cache中一并删除。因为我们并不知道,当初组成这个词时,所用的词序列(例如,是册使+贫,还是册+使贫,或者是册+使+贫)。因此,找到所有的bigram组,是一个开销比较大的操作。所以,目前并没有采用这种方法。要完善的解决这个问题,需要我们在用户词典中记录下是哪种组合(即这个自造词是由那些word id构成的),涉及到的改动比较多,而且和目前用户词典的schema不兼容。希望我们能在2.1中实现。

因此,虽然可能有些时候的确令人困惑,但是这个自造词的确是已经被删掉了,并且随着你的使用过程,这个“伪”最佳句子也会逐渐不见的 ...

如果没有意外,这将是我们的最后一个beta release,之后一些小的bug fixes会通过minor release的方式进行更新 ...

欢迎下载试用,SunPinyin-MacOS-2.0.zip。已安装之前beta版本的朋友,无需删除已安装的版本,直接运行安装程序即可。首次安装的朋友请注意,当安装程序进行到“下载数据文件”步骤时,请点击“开始…”按钮下载必要的数据文件(文件较大,可能比较耗时)。

更新SunPinyin-MacOS-2.0 beta 4.1 (10.5/10.6)

因为是比较小的更新,就没升beta的主版本号 ...
  • 加入了输入数字键之后紧跟着的句点用英文句点的功能,例如在中文状态下,输入1.0.0得到的结果是'1.0.0',而非'1。0。0'。

欢迎下载试用,SunPinyin-MacOS-2.0.zip。已安装之前beta版本的朋友,无需删除已安装的版本,直接运行安装程序即可。首次安装的朋友请注意,当安装程序进行到“下载数据文件”步骤时,请点击“开始…”按钮下载必要的数据文件(文件较大,可能比较耗时)。

更新 sunpinyin-2.0 beta 4 for mac os (10.5/10.6)

Beta 4中更新的内容:

  1. 加入了用户自定义标点的功能,用户可以选择打开、关闭或修改某个映射,但是貌似command+v快捷键粘贴不管用,好像后台应用弹出的对话框都不支持这个快捷键;不过还好,可以用右键菜单的拷贝功能。
  2. 修正了用户数据文件存放目录的bug (#59),大家在安装新版本之前,烦请将~/.sunpinyin拷贝到~/Library/Application\ Support/SunPinyin。

由于修改的代码比较多,且会break ibus-sunpinyin2的build,考虑到ibus-sunpinyin2最终发布在即,这部分改动暂时还没有同步到github上。

欢迎下载试用,SunPinyin-MacOS-2.0.zip。已安装之前beta版本的朋友,无需删除已安装的版本,直接运行安装程序即可。首次安装的朋友请注意,当安装程序进行到“下载数据文件”步骤时,请点击“开始…”按钮下载必要的数据文件(文件较大,可能比较耗时)。

接下来,我们将集中精力,提高sunpinyin在mac平台上的兼容性,包括chrome和其他的一些应用程序,并争取加入快捷键删除用户自造词的功能。然后就可以正式发布2.0了。之后的计划,是希望能改进全拼切分器以支持模糊切分,并改进双拼切分器以支持双拼上的易混淆音。当然,词库和语言模型也是重中之重啦 ...

Migrated sunpinyin-2.0's repo to github

由于mercurial对rename的糟糕支持,导致我们现在的repository太大了,用户初次clone时间太长,严重打击普通开发者了解代码和参与项目的热情 :)。因此,sunpinyin开发团队经过慎重的考虑,决定将sunpinyin2的代码,挪到github上面。

非常感谢JJgod介绍了fast-export这套工具集,以及git-filter-branch(1)的使用技巧,使得我们这次的导入十分顺畅。因为在导入时,删除了sunpinyin和许多renamed的二进制文件,现在repository的大小基本在8M左右。因此在build时,会从open-gram项目上得到必要的数据文件。余下的步骤,和以前一样。


我在这里把mac平台上的构建再介绍一下:

首先安装MacPorts,以安装必要的autotools软件包:

$ sudo /opt/local/bin/port install glib2 sqlite3
$ export PATH=$PATH:/Developer/usr/bin:/opt/local/bin
(为了将来方便,可将此行加入到~/.bash_profile中)

接下来,从github上check out项目的代码:

$ git clone git://github.com/sunpinyin/sunpinyin.git

然后进入到sunpinyin目录中,执行autogen.sh

$ cd sunpinyin
$ ACLOCAL_FLAGS=-I/opt/local/share/aclocal ./autogen.sh \
> --enable-debug --disable-ibus

因为系统自带的libtool版本不兼容,需要使用MacPorts的glibtoolize重新生成一下libtool,否则无法进行链接,

$ /opt/local/bin/glibtoolize --force --copy
$ ./configure --enable-debug --disable-ibus
$ make

最后就是build基于IMKit的输入法前端了,

$ cd wrapper/macos
$ make clean; make
$ sudo make install

现在,sunpinyin-2.0应该已经安装到系统中了,需要re-login才可以看到这个输入法。


另外,jjgod还为mac平台上的build,加入了cmake的方式,

$ cd sunpinyin
$ mkdir cmakebuild
$ cd cmakebuild
$ cmake ../
$ make genpyt && make lexicon
$ cd ../wrapper/macos
$ make
$ sudo make install

其中 cmake 负责生成 config.h 和 host_os.h (替代 configure 的作用),并编译 genpyt 和词表 (替代 sunpinyin2/build/Makefile.am 的作用),SunPinyin.app 仍然由 Xcode 生成。但是目前需要先有一个lm_sc.t3g的文件,这个文件可以从 lm_sc.t3g.le下载,并重命名为lm_sc.t3g,放到data目录中。

紧急更新 sunpinyin-2.0 beta 3 for mac os (10.5/10.6)

最近经常晚睡,加上忧心小小的幼儿园入托,睡得也不踏实。结果晕了头,修改代码的时候不小心引入了两个大bug :(

  1. 修正了在关闭输入法时可能导致sunpinyin crash的问题(#42
  2. 修正了设置易混淆音和自动纠错无效的bug(#48
  3. 加入了自动检查更新的选项,可以禁止自动更新(感谢jjgod)

欢迎下载试用,SunPinyin-MacOS-2.0.zip。已安装beta 1/2版本的朋友,无需删除已安装的版本,直接运行安装程序即可。首次安装的朋友请注意,当安装程序进行到“下载数据文件”步骤时,请点击“开始…”按钮下载必要的数据文件(文件较大,可能比较耗时)。

Update:

2010/03/13: 使 用sunpinyin-2.0的双拼用户,烦请重新下载beta 3并安装,@billxue刚刚fix了一个双拼的bug,http://code.google.com/p/sunpinyin/issues/detail?id=43 ...

sunpinyin-2.0 beta 2 for mac os (10.5/10.6)

Beta 2中更新的内容:

  1. 修正了一个导致crash的bug (#36)
  2. 修正了无法安装到~/Library/Input\ Methods的bug (#30)
  3. 加入了在切换中英文时提交的选项 (#18)
  4. 加入了中文的本地化界面
  5. 将全角半角切换快捷键从Shift+Space改为Alt+Space,避免和Safari的向上翻页键冲突
  6. 提供了安装包,同时支持Mac OS 10.5和10.6,并支持PowerPC系统 (未验证)
  7. 将升级检测和数据文件校验等配置文件迁移到sunpinyin.googlecode.com

欢迎下载试用,SunPinyin-MacOS-2.0.zip。已安装beta 1版本的朋友,无需删除已安装的版本,直接运行安装程序即可。首次安装的朋友请注意,当安装程序进行到“下载数据文件”步骤时,请点击“开始...”按钮下载必要的数据文件(文件较大,可能比较耗时)。

open-gram项目简介

open-gram项目是由sunpinyin开发团队发起的一个open-source项目,主要是tchaikov同学在drive,主要目标是为中文输入法在内的NLP类项目,提供开放的词表和n-gram频率数据。项目中的代码将以GPLv3发布,数据文件将以creative-common license发布。

open-phrase对于词表和unigram(词频)数据来说,已经做得很好了。但是对于其词库的原始来源,以及生成数据的发布协议,都不是很清晰。(也许这也是ubuntu至今没有收录ibus-pinyin-data包的原因之一?)其仅在项目页面上提到,采用GPLv2协议。如果的确如此,这个协议对于广大软件开发者来说,无疑是过于严苛了。

open-gram将采用cc-cedict的词库(同样以creative-common license发布)为基础,在处理语料时发现的新词也将采用相同的协议,并希望能贡献回cc-cedict。open-gram不仅仅针对简体中文,我们希望将来也能包括繁体中文、甚至中英混合的统计信息。最终提供给大家的包括词表和n-gram频率数据,都会采用文本文件的方式。

tchaikov同学已经发布了一个适用于sunpinyin-2.0的,基于cc-cedict和zh.wikipedia的词库和语言模型,可以在此下载,用以替换sunpinyin-2.0中原有的数据文件。替换之后,可能有些词条会和您的用户词典中有重叠(我们将尽快加入删除用户自造词的功能),而且建议您清除掉history cache文件。

tchaikov同学做了大量艰苦的工作,训练了用于新词发现的CRF模型,手工校对了许多词条及其注音,等等。我们也热切盼望更多朋友的加入!

Updated by tchaikov:

ibus-pinyin-data 现在叫 ibus-pinyin-db-open-phrase,已经进入了 ubuntu 和 debian。license 是 GPLv2。

Mini-summit of SunPinyin developers


(由左到右,分别是我,江疆,薛伟和柴可夫)

柴可夫是SunPinyin项目的主力开发人员之一。这次来京,终于有机会一聚,得以一见Kov同学的真容,让人相见恨晚啊。席间大家相谈甚欢,也讨论了SunPinyin下一步的开发规划,希望我们新的一年做得更好 ... 同时也期待Mike同学回国一聚 :)

sunpinyin-2.0 beta for mac snowleopard

Beta 2版本已发布安装包,请参考:sunpinyin-2.0 beta 2 for mac os (10.5+)

过年期间把sunpinyin-2.0的mac porting搞了搞,有一个基本可用的版本了。和前一版相比,2.0加入了双拼、易混淆音、拼音自动纠错、用户词典等新特性。欢迎下载试用: SunPinyin-2.0-beta.zip

下载解压之后,请用下面的步骤进行安装:

  1. $ sudo rm -rf /Library/Input\ Methods/SunPinyin.app
    (
    注意:仅当已安装1.0版本时需要此步骤)
  2. $ sudo mv ~/Downloads/SunPinyin.app /Library/Input\ Methods/
  3. $ for i in {1..10}; do killall -9 SunPinyin; done
    (
    注意:仅适用于升级旧版本,初次安装请重新登录,并在系统的语言设置中选中SunPinyin)

leopard(10.5.x)的用户,可先执行上面前2步,然后下载 SunPinyin-2.0-beta-leopard.zip,解压缩之后,覆盖已安装的snow-leopard的版本:

  • $ sudo cp -r SunPinyin.app /Library/Input\ Methods/

再执行第三步,就可以了。

还有很多易用性的功能还未完善,包括支持用快捷键删除用户自造词、在输入数字后将句点设为英文句点等。希望在下个minor release中加入进来。欢迎大家多提宝贵意见 :)