输入法的时间局部性和空间局部性

《输入法的时间局部性和空间局部性》
by RayWill

闪念。

现在的输入法显得过于智能,也就是我们常说的聪明过了头。比如:
某个词组偶尔输入过一次,以后它就永远记住了,导致后来某个时候输入同音或同声母的词组时它立刻荣登榜首,俺还得去按数字键。对于习惯了智能ABC的用户,还很容易出现误输入。

正在搞扭曲的系统结构翻译,突然有个闪念,输入法中为何不也来引入时间局部性和空间局部性原理呢?

时间局部性:

用户输入了某个新的词组,输入法程序可以将其暂时记住,并且在一段时间内(比如几个小时或者后来的几千次击键时间内)将这个词组放置在输入提示栏靠前的位置。
在这段时间之后的很长时间中,如果这个词组再也没有出现过,则降低其优先级,往后排。若经常性出现,则说明这是该用户的一个常用词,通过逐步训练,可以稳定其优先级。
好比人的记忆,分为暂时记忆和长期记忆,只有那些不断复习的内容才能纳入长期记忆的范围。当然了,暂时记忆也很重要,这对于我们在某个时间段内完成一定的任务十分有价值。

 

 

空间局部性:

这点要求比较高,需要输入法识别当前的输入范围。其做法是,对于A文档,输入法启用a类常用词,对于B文档,输入法启用b类常用词,等等。a类、b类等词汇可以是动态学习得到的,同时还可以结合既有词汇库。
比如,输入法探测到当前是在逛论坛聊天的时候,则启动网络词汇策略,提高网络词汇的优先级。如果探测到是在输入计算机技术文档的时候,则启动计算机词汇策略,将计算机类词汇放到提示框的靠前位置上。

实现:

从程序实现角度来讲,时间局部性比较容易做到,空间局部性则相对较为困难。当前的输入法,比如sogou,google等都实现了某种时间策略,而空间策略则是一块待开发的处女地。谁先做到,谁就占尽了先机!

 

支持Sogou~~~

 

http://raywill.blog.sohu.com

发表评论

邮箱地址不会被公开。 必填项已用*标注