巨硬II的进展依旧缓慢。
周末偷懒休息了两天,看prison break到天昏地暗,没写代码,罪过罪过。
今天挤出了点儿时间修改了Filter类的设计,原来的Filter类是Attach到数据库的一张表上,其结果是在查询过程中不能改动表,在目前的假设中这不构成问题,但是以后就不好说了。当前的假设是在用户部分选定了候选词之后,预测词库自动失效,检索被设定为精确匹配状态,但是我发现在实际的输入过程中,有时会有把一些本不该划为一个词组的内容一起输入的情况,在这种情况下,能启用预测词库对减少选字还是有帮助的。
另外一个小小的改进是把多级预测词库并为一个数据库,其好处是,在遗忘的时候可以体现出不同级别的预测序列之间的频率比较;否则分开存储的话,那些本该属于短期记忆的序列会大量挤占存储空间,不上算。虽然还没有实际输入过,我估计1,2级预测序列肯定是最多的,3级应该比较少才对。
总的来说,目前已经完成了大部分框架类,包括所有的数据库存储,文件存储,字库词库Alpha库,统一的dataStore界面,0级和n级序列库,查询填充队列,过滤器,以及composition/candidate/nominee/history工具类,剩下的主要类就只有popup类和window类,对巨硬来说,这都是比较简单的UI和事件处理了,就是要花些时间上去。理论上说,这些类都完成之后就可以工作了,但实际上还有不短的路要走,因为巨硬II的算法和传统输入法改动很大,需要准备一个非常好的初始化序列数据库,才能比较理想的工作。另外我还在犹豫是不是在第一个版本中就加入支持键盘对象和被动匹配的代码,这样做的好处是在training过程中可以直接得到一个词频排序良好的0级词库。ANYWAY,离进入调试阶段不会很远了。
Subscribe to:
Post Comments (Atom)

No comments:
Post a Comment