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

文档序号:9597114阅读:来源:国知局
.....n,n为设定的最多可删除键位数或键位序列的总键位数,依次以第i+Ι个键位为遍历目标,在起始节点的子节点中寻找可与之匹配的目标子节点,生成新中间状态存储进数组B中,数组B存储的新生成的中间状态数量与可匹配目标子节点数量相对应,每个更新后的中间状态内包括一个可匹配目标子节点(即下一轮遍历的起始节点)和新的待匹配键位,所述新的待匹配键位为可匹配目标子节点对应键位的下一个键位;
[0065]步骤b,将数组B内的值赋予A,对数组A内所有新的中间状态进行新一轮的匹配与删除操作;
[0066]重复步骤b,直至键位序列中所有键位遍历完成。在遍历的过程中,若匹配目标节点后可形成一个单词时,则将该单词进行存储。
[0067]遍历为初始状态时,数组B为空,初始状态的起始节点设置为单词查找树的根节点,键位序列置为开头。如果当前节点N的子节点中存在和键位序列下一个键位Pk匹配的节点N。,那么生成一个新状态(NyPk+1)加入数组B,k为当前键位在键位序列中的位置。新状态以当前匹配的子节点N。和序列中下一个待匹配键位Pk+1作为唯一索引。如对于单词right,从初始节点开始,存在以r开头的字母,所以词典中也能够找到一个和根节点相连的子节点其关联的路径是字母r,这时能够进行一次成功的匹配。
[0068]由于用户想滑动包括重叠字母的单词,如单词是good,但是输入序列只会包含一个字母0,输入序列实际上不存在完整的g-o-o-d序列,因此,在匹配操作过程中,需要进一步考虑重叠字母的问题。本发明在进行匹配操作时,若起始节点的子节点中存在与起始节点相同的节点,则将该节点自动匹配,在该节点的子节点中寻找可与待匹配键位匹配的目标子节点,同时以起始节点为起点,在起始节点的子节点中寻找可与待匹配键位匹配的目标子节点,以此来实现重叠字母的匹配。比如需要在匹配到前缀go时,判断当前树节点是否包含以0作为路径的子节点,如果存在,则认为输入0同时匹配了当前节点和其以0作为路径的子节点。
[0069]对于同一个中间状态,除去匹配操作以外,还需要进行删除操作。删除操作采用枚举法,依次删除i个键位,i依次取1、2、3......n,即第一次删除一个键位,第二次删除该键位和与它相邻的下一个键位,以此类推,直至下一个键位可以匹配为止。删除操作中可以删除连续的多个输入键位,但是删除多个输入键位后,一个输入键位必须能够在当前树节点N的子节点中找到一个匹配的路径。如,一次性删除了键位P2—Pk,而键位Pk+1可以实现与树节点的匹配,则该删除操作成立,并将该树节点和待匹配键位Pk+2作为下一轮遍历的索弓丨。对于图2提供的输入序列“rdfcvbjiuyghjiuyt”,假设此时考虑的中间状态已经匹配了字母r,并且词典中只包含一个以r开头的单词right,这时进行删除操作,依次考虑删除
d, df, dfc, dfcvb----,均不能成功完成之后的匹配,只有删除到dfcvbj时,发现存在r到i
的连接,能够完成匹配,这时便进行了一次成功的删除操作。
[0070]根据用户要求,本发明还以开启模糊匹配模式,在该模式下允许输入键位可以和虚拟键盘上对应字母的相邻字母匹配,这种扩展使得用户不需要完全准确的滑过目标单词的所有键位,而只需要经过目标键位附近的区域即可。采用该模式在遍历过程中,匹配操作,以起始节点为起点,待匹配键位为遍历目标,在起始节点的子节点中寻找可与待匹配键位或键盘上与待匹配键位相邻其它键位匹配的目标子节点,若找到可与待匹配键位匹配的目标子节点,则生成新中间状态存储进数组B中,数组B内存储的中间状态包括实现匹配的目标子节点(即下一轮遍历的起始节点)和新的待匹配键位。
[0071]删除操作,从键位序列中与起始节点对应的键位开始依次删除i个键位,i依次取
1、2、3......n,依次以第i+Ι个键位为遍历目标,在起始节点的子节点中寻找可与之匹配或可与其键盘上相邻键位匹配的目标子节点,生成新中间状态存储进数组B中,数组B存储的新生成的中间状态数量与可匹配目标子节点数量相对应,每个更新后的中间状态内包括一个可匹配目标子节点(即下一轮遍历的起始节点)和新的待匹配键位,所述新的待匹配键位为可匹配目标子节点对应键位的下一个键位。
[0072]在特定模式下,本发明还可以实现省略操作,在该模式下可以在用户滑动时无意中跳过部分字母时,避免遍历时无法找到目标单词。对中间状态执行省略时,直接认为当前节点的所有子节点都能够匹配。省略后的状态不是一个合法的新状态,需要再进行一次删除或者匹配操作。加入省略操作后,用户即使完全不经过某一个键位或其临近区域,也能够在最终的搜索状态中包含目标单词。
[0073]每轮遍历均对中间状态进行评分,评分过程考虑匹配得分与惩罚得分,匹配得分与惩罚得分综合运算后生成该中间状态的状态得分,每次遍历的中间状态得分进行叠加形成遍历所得的每个单词的得分,所述每个单词得分与该单词的词频得分综合运算后,将最终生成的排序得分进行存储。评分过程中,若单词中包含可与输入重叠键位相对应的重叠字母,则给予该单词更高的单词得分。匹配得分用于匹配操作,根据轨迹与键位序列中各个键位的相交坐标、键位序列中各个键位中心点坐标、相交点与相邻键位相交点连线夹角进行计算。所述匹配操作完成后,滑动轨迹与对应键位的相交点坐标至键位中心点坐标之间的距离越小,该中间状态的匹配得分越高,相交点与相邻键位相交点连线夹角越大,匹配得分越高。惩罚得分用于删除操作,所述删除操作完成后,若删除键位为单个,则根据该删除键位的轨迹相交点与相邻键位相交点连线夹角的大小进行计算。夹角越大,惩罚得分越高;若删除键位为多个,则根据这几个键位与前后两个键位构成的多边形面积大小进行计算,面积越大,惩罚得分越高。
[0074]步骤S4:将每个单词得分与该单词的词频得分进行综合运算,生成排序得分,根据排序得分进行单词排序,并将多余单词删除。在遍历过程中,可以将每个单词得分与该单词的词频得分综合运算后所得的排序得分进行存储,利用排序模块排序后一次输出,也可以将中间状态的得分实时统计,枚举可能为用户输入目标的单词实时输出。词频得分为语料库中单词使用频率根据用户输入习惯修正后的修正得分。若用户希望在没有滑出完整单词的时就给出正确结果,可以在用户滑动的过程中,每隔一段时间触发一次搜索算法,使用当前的输入序列进行搜索,将数组A中遍历到得状态进行补全操作,比如用户希望输入experience,但是实际已经完成的输入时experie,此时当遍历算法已经枚举完所有的输入序列时,单词集合中依然不会出现目标单词,而数组A中包含了能够到达目标单词结尾的中间状态,这时需要对数组A中的结果进行补全操作,即将所有能够通过A中的中间状态访问到的单词加入单词集合中。根据每个单词内中间状态的累计得分生成排序,从而使得用户输入单词出现在最终的预测结果中。
[0075]步骤S5:将排序后的单词集合显示输出,供用户选择。
[0076]基于本发明的方案在识别图2所示第二种滑动轨迹的时候,输入轨迹会被首先转换为键位序列“rdfcvbjiuyghjiuyt”,然后按照在词典中搜索,搜索过程中目标单词需要依次删除dfcvbj、uy,jiuy这些字符,这里有两个明显的多余转折轨迹分别在dfcvbj序列中的字母c处,和jiuy中的i处,由于删除惩罚的存在,他们会降低目标单词的最终得分,最终的搜索结果中会包含序列中所有可能组合出的单词,排序后right依然出现在最靠前的位置。
[0077]以上所述,仅为本发明的【具体实施方式】,应当指出,任何熟悉本领域的技术人员在本发明所揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。
【主权项】
1.一种对滑动输入轨迹进行识别的系统,其特征在于,包括 输入模块(1):用于向用户提供虚拟键位的坐标信息,辅助用户完成输入和滑动操作;滑动轨
当前第3页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1