2006/11/14

SEQUENCE & FORGETTING

说起来有趣,一个以智能为目标的输入法设计,其核心的数据结构要考虑一个遗忘的问题。

巨硬一中没有特别设计遗忘算法,不过如果要实现的话并不复杂;因为巨硬一中没有设计记忆序列,所以所有词组可以放在26个序列中,至于为什么以S开头的字词和以K开头的字词都要遵守同样的空间限制,并不是一个非要解决的问题,即使K开头的字词浪费了存储空间,用户并不会有什么实际的使用障碍,浪费的那些存储空间也无关紧要。

但是巨硬二不同了,对于记忆序列的存储需要解决这个问题,不然浪费的空间就不是几百K的问题,而可能是几百M的问题。所以巨硬一的那种简单算法不再够用了。

解决这个问题有两个思路,一个是在记忆序列的时候记录使用次数,另一个是对所有记忆序列整体排序。前面一种方式比较可行。需要注意的地方是(1)排序的依据并不是使用次数,(2)该值的目的是遗忘,所以能记录有限的几次就可以了。基本上所有曾经被多次使用的记录都不应该被遗忘。

No comments: