对滑动输入轨迹进行识别的系统及其识别方法

文档序号:9597114阅读:533来源:国知局
对滑动输入轨迹进行识别的系统及其识别方法
【技术领域】
[0001]本发明涉及滑动输入技术领域,具体涉及一种对滑动输入轨迹进行识别的系统及其识别方法。
【背景技术】
[0002]随着电子设备的流行,越来越多的技术方案被提出来用于解决触摸屏上基于软键盘的输入问题。传统的输入法通常在触摸屏幕上模拟出一个完整的键盘,让用户通过按压屏幕上的虚拟键位完成输入。但是由于屏幕大小的限制,虚拟按键所占据的区域十分有限,用户输入的时候容易发生误触,同时这种输入方式需要用户依次准确的点击单词的每一个字母,用户输入的速度受到限制。后来发展出的另一种输入方法是让用户在触摸屏上使用手指依次划过单词的每一个字母所在的位置,这一过程中用户的手指不需要离开屏幕,根据所使用的算法的不同,也不需要用户精确的定位到每一个字母,所以可以极大的提高用户的输入速度,改善了用户的输入体验。
[0003]现有的滑动输入法的思想通常继承于手势识别算法,记录用户滑动的轨迹,并和单词库中的标准轨迹进行相似度的对比,从而选出相似度最高的结果。这种方法的缺点在于限制了用户滑动的方式,比如对于单词“right”,用户可以按照最短的轨迹,如图1所示,划出单词,也可能由于某些原因,按照图2的方式划出单词,如果基于轨迹相似度来判断,第二种方式的相似度是非常低的,从而无法给出正确的预测。其次,如果用户在输入较长的单词时,有可能会漏掉个别字母,从而导致轨迹变形,预测失败。最后轨迹相似度的比对会消耗较大的计算量,其实现方法也非常复杂,需要做抽样和坐标变化等预处理操作。

【发明内容】

[0004]为解决上述技术问题,本发明提供了一种更快速,自由度更高,更易于实现的对滑动输入轨迹进行识别的系统及其识别方法。
[0005]本发明一种对滑动输入轨迹进行识别的系统,其技术方案是:包括
[0006]输入模块:用于向用户提供虚拟键位的坐标信息,辅助用户完成输入和滑动操作;
[0007]滑动轨迹记录模块:用于采集输入模块内的滑动轨迹,并对滑动轨迹进行预处理,将轨迹序列转换为键位序列发送至搜索模块;
[0008]搜索模块:根据输入的键位序列,从词库存储模块内搜索有可能为用户输入目标的单词,生成单词集合,并将单词集合发送给排序模块;
[0009]排序模块:综合滑动轨迹的匹配得分和词频得分,对单词集合内的单词进行排序,并将多余单词删除,将排序后新形成的单词集合发送给输出模块;
[0010]输出模块:用于将接收到的排序后的单词集合显示输出;
[0011]词库存储模块:用于存储常用单词。
[0012]本发明一种对滑动输入轨迹进行识别的方法,其技术方案是,包括以下步骤,
[0013]步骤S1:采集用户滑动输入的轨迹,生成轨迹序列;
[0014]步骤S2:将轨迹序列转化为键位序列,同时记录轨迹与各个键位相交的坐标以及相交点与相邻键位相交点连线夹角;
[0015]步骤S3:根据键位序列从词库中搜索有可能为用户输入目标的单词,生成单词集合,并依据评分标准对单词集合内的各个单词进行评分;
[0016]步骤S4:依据各个单词的评分高低对单词集合内的各个单词进行排序,并将多余单词删除;
[0017]步骤S5:将排序后的单词集合显示输出;
[0018]进一步的,所述步骤S2中,滑动轨迹记录模块将轨迹序列与输入模块上的键盘布局进行对照,依据轨迹与键盘上不同键位相交的顺序将轨迹序列转换成由各个键位组成的键位序列;
[0019]记录并存储轨迹与键位序列中各个键位的相交坐标、键位序列中各个键位中心点坐标、相交点与相邻键位相交点连线夹角;
[0020]记录轨迹滑动时手指停留在各个键位上的时长,并与键位序列中每个键位停留的平均时长进行比对,若某个键位停留时长与键位序列中每个键位停留的平均时长的比值超过阈值,则认为该输入键位为重叠键位。
[0021]进一步的,所述步骤S3中,搜索模块对词库存储模块内的单词查找树进行多轮遍历,遍历过程中将匹配到的单词进行存储;
[0022]所述遍历过程根据键位序列中的键位顺序依次进行,遍历过程中将每轮遍历得到的所有中间状态进行存储,所述中间状态内保存的信息包括本轮遍历起始节点和待匹配键位,所述遍历过程如下:
[0023]步骤a,对所有中间状态进行匹配操作和删除操作;
[0024]匹配操作,以起始节点为起点,待匹配键位为遍历目标,在起始节点的子节点中寻找可与待匹配键位匹配的目标子节点,若找到可与待匹配键位匹配的目标子节点,则生成新中间状态并将原中间状态删除,更新后的中间状态内包括目标子节点和新的待匹配键位;
[0025]删除操作,从键位序列中与起始节点对应的键位开始依次删除i个键位,i依次取
1、2、3......n,依次以第i+Ι个键位为遍历目标,在起始节点的子节点中寻找可与之匹配的目标子节点,生成新中间状态并将原中间状态删除,更新后的中间状态数量与可匹配目标子节点数量相对应,每个更新后的中间状态内包括一个可匹配目标子节点和新的待匹配键位,所述新的待匹配键位为可匹配目标子节点对应键位的下一个键位;
[0026]步骤b,对所有新的中间状态进行新一轮的匹配与删除操作;
[0027]重复步骤b,直至键位序列中所有键位遍历完成;
[0028]所述遍历过程中,匹配目标节点后可形成一个单词时,则将该单词进行存储。
[0029]进一步的,所述步骤S3中,搜索模块对词库存储模块内的单词查找树进行多轮遍历,遍历过程中将匹配到的单词进行存储;
[0030]所述遍历过程根据键位序列中的键位顺序依次进行,遍历过程中将每轮遍历得到的所有中间状态进行存储,所述中间状态内保存的信息包括本轮遍历起始节点和待匹配键位,所述遍历过程如下:
[0031]步骤a,对所有中间状态进行匹配操作和删除操作;
[0032]匹配操作,以起始节点为起点,待匹配键位为遍历目标,在起始节点的子节点中寻找可与待匹配键位或键盘上与待匹配键位相邻其它键位匹配的目标子节点,若找到可与待匹配键位以及键盘上与其相邻其它键位匹配的目标子节点,则生成新中间状态并将原中间状态删除,更新后的中间状态内包括目标子节点和新的待匹配键位;
[0033]删除操作,从键位序列中与起始节点对应的键位开始依次删除i个键位,i依次取
1、2、3......n,依次以第i+Ι个键位为遍历目标,在起始节点的子节点中寻找可与之匹配或可与其键盘上相邻键位匹配的目标子节点,生成新中间状态并将原中间状态删除,更新后的中间状态数量与可匹配目标子节点数量相对应,每个更新后的中间状态内包括一个可匹配目标子节点和新的待匹配键位,所述新的待匹配键位为可匹配目标子节点对应键位的下一个键位;
[0034]步骤b,对所有新的中间状态进行新一轮的匹配与删除操作;
[0035]重复步骤b,直至键位序列中所有键位遍历完成;
[0036]所述遍历过程中,匹配目标节点后可形成一个单词时,则将该单词进行存储。
[0037]进一步的,所述匹配操作过程中,若起始节点的子节点中存在与起始节点相同的节点,则将该节点自动匹配,在该节点的子节点中寻找可与待匹配键位匹配的目标子节点,同时以起始节点为起点,在起始节点的子节点中寻找可与待匹配键位匹配的目标子节点。
[0038]进一步的,所述每轮遍历均对中间状态进行评分,所述评分过程考虑匹配得分与惩罚得分,所述匹配得分与惩罚得分综合运算后生成该中间状态的状态得分,每次遍历的中间状态得分进行叠加形成遍历所得的每个单词的得分,将最终生成的单词得分进行存储;
[0039]所述匹配得分用于匹配操作,根据轨迹与键位序列中各个键位的相交坐标、键位序列中各个键位中
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1