首页> 中国专利> 一种基于按键记录的中英文混合输入内容识别方法

一种基于按键记录的中英文混合输入内容识别方法

摘要

本发明公开了基于按键记录的中英文混合输入内容识别方法,具体步骤包括将用户的键盘消息转换成键盘序列;读取记录文件并将当前输入状态转换为标准翻译格式;读取标准翻译格式并从用户特定还原词库、标准还原词库中查找,或找一个最优候选项进行替代,完成还原步骤;展示翻译结果并修改。本发明将用户键盘消息关联于消息窗口上的用户键盘序列标准,用基于窗口的状态自动识别算法识别当前输入状态,提高了识别的准确率,对于用户省略的一些键盘序列,在词库中查找,选择一个最优候选项替代,针对单个键盘序列串,通过基于逆向词库条目法的前缀查找算法提高了查找的效率,本发明同时设有用户更正接口,用户可对还原出来的文件进行人工修正。

著录项

  • 公开/公告号CN104391589A

    专利类型发明专利

  • 公开/公告日2015-03-04

    原文格式PDF

  • 申请/专利权人 西安电子科技大学;

    申请/专利号CN201410764964.3

  • 发明设计人 宋胜利;高海昌;覃桂敏;褚华;

    申请日2014-12-11

  • 分类号G06F3/023(20060101);G06F17/28(20060101);

  • 代理机构贵阳天圣知识产权代理有限公司;

  • 代理人杜胜雄

  • 地址 710071 陕西省西安市雁塔区太白南路2号

  • 入库时间 2023-12-17 04:14:53

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2019-12-06

    未缴年费专利权终止 IPC(主分类):G06F3/023 授权公告日:20180928 终止日期:20181211 申请日:20141211

    专利权的终止

  • 2018-09-28

    授权

    授权

  • 2016-10-12

    实质审查的生效 IPC(主分类):G06F3/023 申请日:20141211

    实质审查的生效

  • 2015-03-04

    公开

    公开

说明书

技术领域

本发明涉及计算机领域,具体是一种基于按键记录的中英文混合输入内容识别方法。

背景技术

随着信息化的发展,计算机深入到人们生活中的方方面面,键盘输入作为主要的交互方式,在网络交流和日常办公中起到了重要的作用,但是针对于根据键盘消息还原用户原始输入的问题,还没有一个有效的解决方案。在当前的输入还原领域,还没有成熟的技术方案,主要存在的问题体现在以下方面:

首先,用户在输入的过程中,可能随时切换窗口,而且切换窗口的频率比较高,一般方法不能将窗口和输入消息关联起来。

其次,用户在输入的过程中,由于输入法的自动补全功能,用户会省略一些键盘序列,典型的是省略拼音的后半部分,这样就导致还原的过程中出现问题,得不到正确的匹配结果。

再者,输入法确定状态比较困难,由于市面上有多种输入法,并且输入法之间的切换键不相同,输入法内部切换方法不同,造成还原用户输入的时候,输入法的状态确定不准确。

最后,还原的结果准确率不高,并且其中出现同音异形字的概率比较高。

如果能够通过一些方法直接或者间接解决上述问题,将是键盘输入还原领域的一大突破。

发明内容

本发明的目的在于提供一种查找效率高、识别准确率高的基于按键记录的中英文混合输入内容识别方法,以解决上述背景技术中提出的问题。

为实现上述目的,本发明提供如下技术方案:

一种基于按键记录的中英文混合输入内容识别方法,具体步骤如下:

(1)在用户输入的过程中将用户的键盘消息转换成键盘序列,去除键盘序列中的噪声信息,按照windows输入框的编号对用户键盘序列进行归并处理,并且持久化;

(2)读取记录文件,使用基于窗口的状态自动识别算法识别当前输入状态,然后将识别结果转换为标准翻译格式;

(3)读取标准翻译格式,首先使用针对用户特定还原词库进行查找,然后再使用标准还原词库,对每个标准格式中的字符串使用基于逆向词库条目的前缀查找算法,得到翻译结果,对于匹配不到的结果在词库中找一个最优候选项进行替代,完成还原步骤;

(4)将翻译结果展示给用户,用户通过用户更正接口进行修改,针对其中翻译不正确的结果和同音异形字进行修正,并将这些修改添加到用户特定还原词库中,保存最终结果。

与现有技术相比,本发明的有益效果是:

本发明将用户键盘消息关联于消息窗口上的用户键盘序列标准,用基于窗口的状态自动识别算法识别当前输入状态,提高了识别的准确率,对于用户省略的一些键盘序列,在词库中查找,选择一个最优候选项替代,针对单个键盘序列串,通过基于逆向词库条目法的前缀查找算法提高了查找的效率,本发明同时设有用户更正接口,用户可对还原出来的文件进行人工修正。

附图说明

图1为本发明的流程图。

图2为本发明中将键盘消息转换成键盘序列的流程图。

图3为本发明中基于逆向词库条目的前缀查找算法的原理示意图。

具体实施方式

下面结合具体实施方式对本专利的技术方案作进一步详细地说明。

请参阅图1-3,一种基于按键记录的中英文混合输入内容识别方法,具体步骤如下:

(1)在用户输入的过程中将用户的键盘消息转换成键盘序列,去除键盘序列中的噪声信息,按照windows输入框的编号对用户键盘序列进行归并处理,并且持久化;

(2)读取记录文件,使用基于窗口的状态自动识别算法识别当前输入状态,然后将识别结果转换为标准翻译格式;

所述标准翻译格式G=WQ,是由窗口编号W和输入序列Q构成的,其中:W表示一个窗口编号,是用来标识同一个窗口下的键盘输入序列,这样就可以在窗口频繁切换的时候能够将对应的输入对号入座;Q表示针对窗口编号W所标识的窗口上的输入序列,Q=T1,T2,T3…,输入序列是由至少一个输入单元构成的一个序列。

对于每个输入单元是由输入状态、字符串和分隔符构成的,即T=[State]S[Separator],其中:T表示输入单元,[state]表示这个输入单元T的输入状态,S表示一个字符串,[Separator]表示一个分隔符。

所述输入状态[state]∈{P,E,W},其中:P表示拼音输入法,E表示英文输入法,W表示五笔输入法。

所述字符串S[i]∈{0-9,a-z,A-Z},字符串S[i]中的每个字符都属于数字、大写字母金额小写字母中的一种。

所述分隔符

[Separator]∈{回车符、换行符、空格、Shift、Tab、Cpas Lock、Esc、标点符号},分隔符[Separator]是用来将用户的输入分割开来的,对于每一个输入单元有一个唯一的输入状态。

所述基于窗口的状态自动识别算法的原理为:

在步骤(2)中,首先读取记录文件,读取记录文件的格式转换为标准翻译格式为:

G=WT1T2T3...Tn

标准翻译格式的输入状态Ti.[State]不确定,在日常输入的过程中,用户在每一次的输入过程中都有一个输入法状态,但是对于识别的过程中,不能判断当前的输入法状态,因为在用户输入的过程中是没法捕捉到输入法状态的,假设P(i,x)表示第i个输入单元的状态为x的一个概率值,x的值域为{P,E,W};对于每个输入单元的输入法状态可能与前n-1个的输入单元的状态有关,并且两个输入单元之间的距离不一样,则影响因子不一样,假设R(m,i)表示第m个输入单元的状态对第i个输入单元状态为x的影响因子;同时能够得到输入在用户词库中的匹配结果,D(i,x)表示第i个输入单元的状态为x的概率值,x的值域为{P,E,W}。

α表示前面i-1个输入单元对当前输入i状态的影响因子,1-α则表示词库对当前输入i状态的影响因子,则有:P(i,x)=F(i,x)α+D(i,x)(1-α),F(i,x)表示前i-1个输入单元的状态对i输入单元状态为x的影响值,

>F(i,x)=(Σm=1i-1P(m,x)·R(m,i)Σm=1i-1R(m,i))>

则有:P(i,x)x=P表示状态为拼音输入法的概率,P(i,x)x=E表示状态为英文输入法的状态,P(i,x)x=W表示状态为五笔输入法的概率,则第i个输入单元的输入状态为:这三个值中最大的x值。

在输入法输入状态判断中,Rmi表示第m个输入单元的状态对第i个输入单元状态为x的影响值,这个影响值本质上反映了相差i-m个位置两个输入单元之间的状态影响关系,因此可以定义一个窗口W,表示对于第i个输入单元来说,只有前W长度范围内的输入单元的状态有意义,这样就可以减少参数值,同样能够达到理想的效果。则上述改进后为:

P(i,x)=F(i,x)α+D(i,x)(1-α)

>F(i,x)=(Σm=i-w-1i-1{P(m,y)y=P·R(i-m,y,x)y=p+P(m,y)y=E·R(i-m,y,x)y=E+P(m,y)y=W·R(i-m,y,x)y=W}Σm=i-w-1i-1{R(i-m,y,x)y=p+R(i-m,y,x)y=E+R(i-m,y,x)y=W})>

R(l,y,x)表示两个输入单元距离为l,前一个输入单元的状态为y,这个值反映了前一个输入单元状态为y对后一个输入单元状态为x的影响因子。则对于F(i,x)来说,只关注与它相邻的前W窗口里面的状态,并不需要关注其它的状态。

(3)读取标准翻译格式,首先使用针对用户特定还原词库进行查找,然后再使用标准还原词库,对每个标准格式中的字符串使用基于逆向词库条目的前缀查找算法,得到翻译结果,对于匹配不到的结果在词库中找一个最优候选项进行替代,完成还原步骤;

(4)将翻译结果展示给用户,用户通过用户更正接口进行修改,针对其中翻译不正确的结果和同音异形字进行修正,并将这些修改添加到用户特定还原词库中,保存最终结果。

所述用户特定还原词库和标准还原词库的提出是由于用户输入信息的过程中使用输入法输入习惯确定的,当用户进行输入的时候,会使用某种特定品牌输入法,在长期使用的过程中,输入法会记录用户的使用习惯,并且在用户后来的输入过程中,会根据用户的输入习惯匹配输入;标准还原词库是系统词库,跟输入法中的标准词库类似,反映了输入法标准的词库,用户特定还原词库,是根据步骤(4)中的用户修正模块中,根据用户的修正结果构建用户特定还原词库的,每次的修改都会动态地添加进入用户特定还原词库,在以后的还原过程中会使用这些用户特定还原词库进行还原。

所述基于逆向词库条目的前缀查找算法:内存数据是计算机在内存中有效地组织词库条目的方式,对于每条词库条目来说,结构为:

item={message[],results[],result_length,pointers[],pointer_length}其中message表示词库中键盘序列,message中的键盘序列将被逆向,results用来表示匹配到的词库结果,result_length是用来表示词库结果的长度,pointers用来表示局部索引,pointer_length用来表示局部索引的长度。

results[]={vector<result>}

pointers[]={vector<pointer>}

索引是在内存中的一种数据结构,是为了更加快速的访问到用户使用的数据,本发明中索引包括基于输入单元全局索引global_index[]和基于本条目字符消息的局部内存索引;基于输入单元全局索引global_index[]是将根据词库条目前两个字符的异同将其所在内存中的真实地址信息real_addr记录下来,然后使用哈希函数标识间接索引内存地址ind_addr,每个间接索引内存地址ind_addr里面存的是真实地址信息real_addr。

哈希函数为:h(k)=(int)(k-'a');

表示间接索引内存地址的函数为:ind_addr=h(message[0])*26+h(message[1])

真实地址的函数为:real_addr=global_index[ind_addr]

正常查找词库是使用词库到内存中进行逐个进行查找,其中有些查找是无用的,例如要查找的词库条目是:abab,比对的词库条目为acab,后面一个词库条目为acad,那么后面的词库条目acad就没必要比对了,基于本条目字符消息的局部索引模型在每个词库条目中添加了一个pointers[],提高了查找效率,pointers[i]表示查找条目check_item.message的前i-1个字符和index_item.message的前i-1个字符相同、只是第i个字符不相同时下一个查找的地址。

基于逆向词库条目的前缀查找算法如下:

输入:查找条目check_item

输出:所在词库中的位置pos

在步骤(3)中,使用基于逆向词库条目的前缀查找算法在词库中进行匹配,如果找不到,则使用基于自然语言处理的方法,对前向输入单元的词性分析、句法分析、句义分析选择一个最优候选项,解决了用户由于输入法的自动补全功能,将用户需要输入的词联想出来从而省略了一些字符的问题。

本发明将用户键盘消息关联于消息窗口上的用户键盘序列标准,用基于窗口的状态自动识别算法识别当前输入状态,提高了识别的准确率,对于用户省略的一些键盘序列,在词库中查找,选择一个最优候选项替代,针对单个键盘序列串,通过基于逆向词库条目法的前缀查找算法提高了查找的效率,本发明同时设有用户更正接口,用户可对还原出来的文件进行人工修正。

上面对本专利的较佳实施方式作了详细说明,但是本专利并不限于上述实施方式,在本领域的普通技术人员所具备的知识范围内,还可以在不脱离本专利宗旨的前提下作出各种变化。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号