著录项信息
专利名称 | 字符串输入方法和输入装置 |
申请号 | CN201310713133.9 | 申请日期 | 2013-12-20 |
法律状态 | 授权 | 申报国家 | 中国 |
公开/公告日 | 2014-04-02 | 公开/公告号 | CN103699233A |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | G06F3/023 | IPC分类号 | G;0;6;F;3;/;0;2;3;;;G;0;6;F;3;/;0;4;8;7查看分类表>
|
申请人 | 百度在线网络技术(北京)有限公司 | 申请人地址 | 北京市海淀区上地十街10号百度大厦三层
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 百度在线网络技术(北京)有限公司 | 当前权利人 | 百度在线网络技术(北京)有限公司 |
发明人 | 王光远 |
代理机构 | 北京品源专利代理有限公司 | 代理人 | 胡彬 |
摘要
本发明公开了一种字符串的输入方法和输入装置。所述方法包括:获取与输入指令对应的输入字符;获取输入字符对应的替换字符;将输入字符加入当前字符串中,并获取当前字符串中输入字符及输入字符的替换字符,生成与当前字符串对应的近似字符串;计算近似字符串的第一权值;根据近似字符串与词库中标准字符串的差异,获取近似字符串的第二权值;计算近似字符串的总权值;对近似字符串进行排序,按排序结果顺序显示近似字符串。本发明使得用户端在字符串输入过程中,即使因为失误而点击或者点触期望按键周围的其他按键,仍然能够在可选字符串选项中获取正确的输入字符串。
字符串输入方法和输入装置\n技术领域\n[0001] 本发明涉及通信技术领域,尤其涉及一种字符串输入方法和输入装置。\n背景技术\n[0002] 随着移动通信终端的不断发展,市面上出现了各种各样的便携式电子设备,例如:\n个人计算机、移动电话、平板电脑等。随着触摸屏技术的高速发展,越来越多的电子设备使用了虚拟键盘。但是,受限于触摸屏幕的尺寸,输入错误时有发生。\n[0003] 在输入过程中,大多数的输入错误是由于用户点触区域接近实际应点的按键区域却有一定的偏差造成的,而这类错误按照现有的音型纠错方式是无法有效纠错的。例如,现有拼音输入法能对“zonghe”纠错后得到“中和”这一可选词项;但是如果由于用户的误操作,将“Z”键误点为“X”键,输入变成了“xhonghe”,那么现有的技术方案是无法提示“中和”这个选项词的。当字符串中多个字符同时输入错位的情况发生时,现有的技术方案就更加难以有效纠错了。类似的,由于用户按下的按键偏离实际的期望按键而带来的输入错误,在物理键盘上也是时有发生的。\n发明内容\n[0004] 有鉴于此,本发明提供一种字符串输入方法和输入装置,使得用户端在字符串输入过程中,即使因为失误而点击或点触期望按键周围的其他按键,仍然能够在可选字符串选项中获取正确的输入字符串,提高了字符串的输入效率。\n[0005] 在第一方面,本发明实施例提供了一种字符串的输入方法,包括:\n[0006] 获取与输入指令对应的当前输入字符;\n[0007] 获取所述当前输入字符对应的替换字符,其中,所述替换字符相对于所述当前输入字符具有相似度权值;\n[0008] 将所述当前输入字符加入当前字符串中,并获取当前字符串中输入字符及输入字符的替换字符;\n[0009] 将当前字符串中的至少一个输入字符和与所述至少一个输入字符的替换字符进\n行组合生成与所述当前字符串对应的至少两个近似字符串;\n[0010] 根据所述替换字符的相似度权值,计算近似字符串的第一权值;\n[0011] 根据所述近似字符串与词库中标准字符串的差异,获取近似字符串的第二权值;\n[0012] 根据所述第一权值与所述第二权值,计算近似字符串的总权值;\n[0013] 按照所述总权值从大到小的顺序对所述近似字符串进行排序,按排序结果顺序显示所述近似字符串。\n[0014] 在第二方面,本发明实施例提供了一种字符串的输入装置,包括:\n[0015] 当前字符获取单元,用于获取与输入指令对应的当前输入字符;\n[0016] 替换字符获取单元,用于获取所述当前输入字符对应的替换字符,其中,所述替换字符相对于所述当前输入字符具有相似度权值;\n[0017] 当前字符串信息获取单元,用于将所述当前输入字符加入当前字符串中,并获取当前字符串中输入字符及输入字符的替换字符;\n[0018] 近似字符串获取单元,用于将当前字符串中的至少一个输入字符和与所述至少一个输入字符的对应替换字符进行组合并生成与所述当前字符串对应的至少两个近似字符\n串;\n[0019] 第一权值计算单元,用于根据所述替换字符的相似度权值,计算近似字符串的第一权值;\n[0020] 第二权值计算单元,用于根据所述近似字符串与词库中标准字符串的差异,获取近似字符串的第二权值;\n[0021] 总权值计算单元,用于根据所述第一权值与所述第二权值,计算近似字符串的总权值;\n[0022] 排序显示单元,用于按照所述总权值从大到小的顺序对所述近似字符串进行排\n序,按排序结果顺序显示所述近似字符串。\n[0023] 本发明实施例通过为输入字符设置多个替换字符,生成与用户端输入字符串相似的多个近似字符串,将生成的近似字符串按照权值大小进行排序,并将排序结果顺序显示的方式,解决了当用户因为错点了期望按键周围的其他按键而造成输入错误时,正确的输入无法被有效提示的问题,达到用户端只需要点击或者点触到键盘大致正确的按键位置就能被系统识别出输入需求,并实现正确输入的效果,提高了用户端的输入效率。\n附图说明\n[0024] 图1A是本发明第一实施例的一种字符串的输入方法的流程图;\n[0025] 图1B是本发明第一实施例中一种显示近似字符串的应用场景的示意图;\n[0026] 图2是本发明第二实施例的一种字符串的输入方法的流程图;\n[0027] 图3是本发明第二实施例中所适用的一种按键之间距离的计算方法的示意图;\n[0028] 图4是本发明第三实施例的一种字符串的输入方法的流程图;\n[0029] 图5是本发明第三实施例所适用的一种用户端点触区域同时覆盖多个虚拟按键对\n应的触摸区域时的输入场景示意图;\n[0030] 图6是本发明第四实施例的一种字符串的输入方法的流程图;\n[0031] 图7是本发明第六实施例的一种字符串的输入方法的流程图;\n[0032] 图8是本发明第六实施例所适用的一种显示近似字符串对应的标准中文词的应用\n场景的示意图;\n[0033] 图9是本发明第六实施例所适用的一种显示近似字符串对应的标准中文词的应用\n场景的示意图;\n[0034] 图10是本发明第七实施例的字符串的输入装置的结构图;\n[0035] 图11是可用于实施本发明方案的移动终端的结构示意图。\n具体实施方式\n[0036] 为了使本发明的目的、技术方案和优点更加清楚,下面结合附图对本发明具体实施例作进一步的详细描述。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部内容。\n[0037] 一般来说,不同的输入按键对应的输入字符可能是大写字母,也有可能是小写字母,例如:用户点击按键“A”时,根据当前环境的大小写锁定情况,可对应于大写字母“A”或者小写字母“a”,为了本说明书便于说明,文中提到的按键(包括物理按键和虚拟按键)均使用大写字母表示,例如:按键“D”,按键“K”等,文中提到的对应于按键的输入字符,均使用小写字母表示,例如:输入字符“d”,输入字符“k”等。\n[0038] 图1A是本发明第一实施例的一种字符串的输入方法的流程图。该方法可以由字符串的输入装置来执行,该装置可以由软件和/或硬件来实现,通常可集成于终端设备等需要执行字符输入的设备中。如图1A所示,所述方法包括:\n[0039] 110、获取与输入指令对应的当前输入字符。\n[0040] 在本实施例中,输入指令是用户通过操作输入设备来实现的,可以为敲击物理按键,还可以为点触触摸屏来按动虚拟按键。当前输入字符为用户通过操作输入设备在当前状态下输入的字符。举例而言,用户通过物理按键按下了R键,会向输入设备发送相应的输入指令,根据该输入指令,获取的当前输入字符为R。\n[0041] 120、获取所述当前输入字符对应的替换字符,其中,所述替换字符相对于所述当前输入字符具有相似度权值。\n[0042] 基于当前输入字符可基于设定替换规则获取至少一个替换字符,替换字符是与输入字符之间有一定关联性的字符,且不同的替换字符与输入字符之间可以有相同或不同的相似度权值。相似度权值可以是预先设定的,也可以通过用户端输入的操作实时确定相似度权值。\n[0043] 130、将所述当前输入字符加入当前字符串中,并获取当前字符串中输入字符及输入字符各自的替换字符。\n[0044] 当前字符串可以至少包括当前输入字符,或者可以进一步包括此前输入且没有被确认输入的至少一个历史字符。例如,通常用户连续输入几个字符来产生某个中文字或中文词。而用户点击确认当前字符串的输入后,重新开始下一个字符和字符串的显示。\n[0045] 140、将当前字符串中的至少一个输入字符和与所述至少一个输入字符的替换字\n符进行组合并生成与所述当前字符串对应的至少两个近似字符串。\n[0046] 在本操作中,将当前字符串的所有输入字符和各自的替换字符进行组合,可构成近似字符串。在典型的中文输入状态下,近似字符串不仅包括组合形成的拼音字符串,还可以包括由拼音字符串生成的中文字符串。\n[0047] 150、根据所述替换字符的相似度权值,计算近似字符串的第一权值;\n[0048] 每个近似字符串的第一权值是由替换字符各自的相似度权值来确定的,例如是近似字符串中所有替换字符相似度权值之积,由输入字符直接构成的字符串,可以设置其第一权值最大。\n[0049] 160、根据所述近似字符串与词库中标准字符串的差异,获取近似字符串的第二权值;\n[0050] 所述近似字符串与词库中标准字符串的差异,可以基于预设规则来确定,例如相差字符的数量,相差中文的数量等,由此确定整个近似字符串的第二权值。此外,按照中文输入习惯,可以设置中文字符串的第二权值整体高于拼音字符串的第二权值。\n[0051] 170、根据所述第一权值与所述第二权值,计算近似字符串的总权值;\n[0052] 在本实施例中,根据所述第一权值和所述第二权值,构造随所述第一权值和所述第二权值单调递增的总权值。\n[0053] 在一个例子中,可以构造计算公式:总权值R=k1*第一权值+k2*第二权值,计算每个近似字符串的总权值,其中,k1与k2为加权系数,k1+k2=1。\n[0054] 具体的,k1和k2可以根据实际情况预先设定。优选的,根据用户端对近似字符串的选择情况对k1和k2进行实时的修正。\n[0055] 举例而言,预先设定k1=0.3,k2=0.7,某个近似字符串的第一权值为0.9,第二权值为0.48,则该近似字符串的总权值R=0.3*0.9+0.7*0.48。\n[0056] 当然,本领域技术人员应该理解,根据第一权值与第二权值构造的计算总权值的函数还可以采取其他的类型,在实际应用中,本领域技术人员可以根据实际情况构造合适的单调递增函数计算总权值。\n[0057] 180、按照所述总权值从大到小的顺序对各所述近似字符串进行排序,按排序结果顺序显示各所述近似字符串。\n[0058] 在本实施例中,用户端输入字符串后,除了在字符的输入框内显示用户端的输入字符串之外,还在其他位置,例如:输入框的下端,将多个近似字符串按照总权值从大到小的顺序,进行显示。用户端可以通过选择相应的近似字符串来替换输入框中的输入字符串。\n[0059] 在图1B中示出了本发明第一实施例中一种显示近似字符串的应用场景的示意图。\n如图1B所示:使用百度输入法输入的字符串为“bsidu”,在输入框的下端按照顺序显示该输入字符串对应的多个近似字符串,用户端可以通过选择相应的近似字符串来替换输入框中的输入字符串。\n[0060] 举例而言,可以选择预定数目的近似字符串进行显示,例如:5个,具体的,在显示近似字符串时,在输入框的下端将总权值位于前5位的近似字符串进行显示。在实际应用中,本领域技术人员可以根据实际情况对显示的近似字符串数目进行设置,对此并不限定;\n同时,提供下拉菜单或者翻页按钮,若当前状态下提供的近似字符串中没有用户端的期望字符串,用户端可以通过下拉菜单或者翻页按钮继续查找近似字符串。\n[0061] 本实施例通过为输入字符设置至少一个替换字符,生成与用户端的输入字符串相似的多个近似字符串,将生成的近似字符串按照权值大小进行排序,并将排序结果顺序显示的方式,解决了当用户因为错点了期望按键周围的其他按键而造成输入错误时,正确输入无法被有效提示的问题,达到用户端只需要点击或者点触到键盘大致正确的按键位置就能被系统识别出输入需求并实现正确输入的效果,提高了用户的输入效率。通过设定一种当至少两个物理按键在预定时间内先后被按下的处理机制,解决了当用户端同时按下多个物理按键时,无法获取输入字符与替换字符的问题,提高了近似字符串输入方法的通用性。\n[0062] 第二实施例\n[0063] 图2为本发明第二实施例的字符串的输入方法的流程图,本实施例以上述实施例\n为基础,提供了一种基于物理按键的获取输入字符和对应的替换字符的方法。\n[0064] 本发明第二实施例中,用户端可以通过点击物理按键发送输入指令,具体是,读取用户端输入指令,获取与所述输入指令对应的当前输入字符,并按照设定替换规则获取所述当前输入字符对应的替换字符的操作具体包括:\n[0065] 当读取到用户端的所述输入指令为点击单个物理按键时,选取所述单个物理按键对应的字符作为输入指令对应的当前输入字符;\n[0066] 选取所述单个物理按键周围的物理按键对应的字符作为所述输入字符对应的替\n换字符。\n[0067] 或者,上述操作具体包括:\n[0068] 当读取到用户端的所述输入指令为在设定时间阈值内点击多个物理按键时,根据设定的多键选择规则选取所述多个物理按键中的一个按键对应的字符作为输入指令对应\n的当前输入字符;\n[0069] 选取所述多个物理按键中的未被选取的其它按键对应的字符作为所述输入字符\n对应的替换字符。\n[0070] 实际操作中,单击或同时多击多个物理按键的操作有可能是交替出现的,所以如图2所示,可通过如下操作进行输入指令的读取:\n[0071] 211、读取用户端输入指令,该输入指令为在阈值时间内至少一个物理按键的点\n击。该阈值时间可以配置的较短,通常按照经验设置为用户点击一次的时间;\n[0072] 212、判断输入指令是否为点击单个物理按键的输入指令:若是,执行213;否则,执行214。\n[0073] 在本实施方式中,通过在一段阈值时间内判断输入指令是否为点击单个物理按键的输入指令。若在阈值时间内检测到单个按键的点击,判断输入指令为点击单个物理按键的输入指令;若在阈值时间内检测到至少两个按键的点击,判断输入指令为点击多个物理按键的输入指令。\n[0074] 作为示例而非限定,可以将上述阈值时间设为0.05s,当然,在实际应用中,本领域技术人员可根据实际情况对阈值时间的大小进行预设。\n[0075] 213、选取单个物理按键对应的字符作为输入字符,获取与输入字符对应的替换字符。\n[0076] 在本实施方式中,选取单个物理按键对应的字符作为输入指令对应的输入字符,选取单个物理按键周围的物理按键对应的字符作为所述输入字符对应的替换字符,其中,替换字符相对于对应输入字符具有预定的相似度权值,该相似度权值可按照替换字符与输入字符的按键距离来预设。\n[0077] 如表1所示的为一种输入字符与替换字符对应关系表。\n[0078] 表1\n[0079]\n[0080]\n[0081] 如表1所示,根据用户端点击按键“D”的输入指令,获取的输入字符为d,输入字符d对应于s、f、e和x等替换字符,每个替换字符相对于输入字符d具有预定的相似度权值。\n[0082] 在一个例子中,根据替换字符对应的按键与输入字符对应的按键之间的距离,设定替换字符与输入字符之间相似度权值的大小。优选的,设定相似度权值的取值范围为[0,\n1]。\n[0083] 图3是本发明第二实施例中所适用的一种按键之间距离的计算方法的示意图。如\n图3所示,根据用户端输入字符对应的物理按键的几何中心与替换字符对应的物理按键的几何中心之间的距离,设定所述相似度权值的大小。\n[0084] 具体的,用户端输入字符对应的按键的几何中心与替换字符对应按键的几何中心的距离越近,为该替换字符设定的相似度权值越高。与用户端输入字符对应的按键的几何中心距离相等的按键相对于输入字符对应的按键具有相同的相似度权值。\n[0085] 当然,本领域技术人员应该理解,还可以采用其他方式计算按键之间的距离,例如:将与某一按键相邻的按键与该按键的距离统一定义为1距离,将与某一按键相隔1距离的按键与该按键的距离定义为2距离,举例而言,按键“S”、“E”、“R”、“F”、“C”、“X”与按键“D”的距离为1距离,按键“Q”、“T”、“G”、“V”和“Z”与按键“D”的距离为2距离。\n[0086] 在一个优选的实施例中,为不同取值范围的距离值设定不同的相似度权值,如表2所示的为一种距离范围和相似度权值的对应关系表。\n[0087] 表2\n[0088]\n距离范围 相似度权值\n0~1cm 0.9\n1~1.5cm 0.8\n1.5~2cm 0.7\n2~3cm 0.6\n[0089] 如表2所示,根据用户端输入字符对应的按键的几何中心与替换字符对应的按键\n的几何中心之间的距离范围,为输入字符对应的替换字符设定相应的相似度权值。\n[0090] 举例而言,替换字符s对应的按键“S”的几何中心与输入字符d对应的按键“D”的几何中心的距离为0.8cm,则根据表2设定替换字符s相对于输入字符d的相似度权值为0.9。\n[0091] 在另一个优选的实施例中,预先设定距离与相似度权值的对应函数关系,根据该函数关系,计算相应的相似度权值。\n[0092] 举例而言,设定函数关系:S=1/(L+1),其中:S代表相似度权值,L代表输入字符对应的按键的几何中心与替换字符对应的按键的几何中心之间的距离。\n[0093] 相应的,还可以采用其他方式为输入字符对应的替换字符设定相应的相似度权\n值,对此并不限定。\n[0094] 在本实施例的一个优选的实施方式中,获取所述输入字符对应的替换字符包括:\n根据预定的相似度权值的阈值条件,选取相对于输入字符的相似度权值满足阈值条件的替换字符。\n[0095] 通过预先设定相似度权值阈值,仅对满足相似度权值的阈值设定条件的替换字\n符,生成对应的一个或多个近似字符串,解决了由于近似字符串数目过大造成的计算量复杂的问题,大大减少了生成的近似字符串的个数,简化了后续的计算量,达到加快近似字符串显示速度的效果。\n[0096] 举例而言,预先设定相似度权值阈值下限为0.9,也就是说,只能将与输入字符的相似度权值大于等于0.9的字符作为上述输入字符的替换字符,则如表1所示,输入字符d对应的替换字符中仅有s和f满足设定的相似度权值阈值条件。\n[0097] 214、选取多个物理按键中的一个按键对应的字符作为输入指令对应的输入字符;\n选取多个物理按键中的其它按键对应的字符作为输入字符对应的替换字符,其中,替换字符相对于对应输入字符具有预定的相似度权值。\n[0098] 在一个优选的实施例中,选取多个物理按键中最先被按下的物理按键对应的字\n符,作为输入指令对应的输入字符,选取多个按键中的其他按键对应的字符,作为与输入字符对应的替换字符。\n[0099] 举例而言,在0.05s内,物理按键“D”、“E”和“R”被先后按下,选择字符d作为输入字符,选择字符e和r作为输入字符d的替换字符,替换字符e和r相对于输入字符d具有预定的相似度权值。\n[0100] 在另一个优选的实施例中,随机选取多个物理按键中的一个按键对应的字符,作为输入指令对应的输入字符,选取多个按键中的其他按键对应的字符,作为与输入字符对应的替换字符。\n[0101] 220、将所述当前输入字符加入当前字符串中,并获取当前字符串中各输入字符及输入字符各自的替换字符,进行组合并生成与所述当前字符串对应的至少两个近似字符\n串。\n[0102] 举例而言,根据用户端输入指令,先后获取输入字符a和输入字符b,构成的输入字符串为ab。其中,与输入字符a对应的替换字符为:q、w、s和z共4个;与输入字符b对应的替换字符为:v和n共2个。\n[0103] 根据上述替换字符和输入字符串,一共可以生成(4+1)*(2+1)-1,共14个近似字符串,分别为:av、an、qb、qv、qn、wb、wv、wn、sb、sv、sn、zb、zv和zn。\n[0104] 更一般的,输入字符串L包含M个输入字符:L1、L2、…、LM,其中,L1对应N1个替换字符,L2对应N2个替换字符、…、LM对应NM个替换字符,根据上述替换字符和输入字符串,一共可以生成:\n[0105] [(N1+1)*(N2+1)*…*(NM+1)-1]个近似字符串。\n[0106] 230、根据所述替换字符的相似度权值,计算每个近似字符串的第一权值。\n[0107] 240、根据所述近似字符串与词库中标准字符串的差异,获取每个近似字符串的第二权值;\n[0108] 250、根据所述第一权值与所述第二权值,计算每个近似字符串的总权值;\n[0109] 260、按照所述总权值从大到小的顺序对各所述近似字符串进行排序,按排序结果顺序显示各所述近似字符串。\n[0110] 本实施例进一步考虑了单击或多击物理按键时选择替换字符的情况,能最大限度的避免用户因错误点击而操作的输入错误。\n[0111] 第三实施例\n[0112] 在本实施例中,进一步提供了用户端通过虚拟按键发送输入指令的实施方式。\n[0113] 图4是本发明第三实施例的一种字符串的输入方法的流程图,具体是一种基于虚\n拟按键的获取输入字符和对应的替换字符的方法。如图4所示,所述方法包括:\n[0114] 401、读取用户端通过点触触摸屏幕中的虚拟按键输入的输入指令,获取点触的覆盖区域。\n[0115] 在本实施例中,用户端通过点触虚拟按键发送输入指令,其中,所述输入指令为用户端点触触摸屏幕某覆盖区域的输入指令。\n[0116] 其中,获取的点触可触摸屏幕的覆盖区域的输入指令包括:点触位于单个虚拟按键对应的触摸区域的输入指令和点触同时覆盖多个虚拟按键对应的触摸区域对应的输入\n指令。\n[0117] 402、判断覆盖区域是否位于单个虚拟按键对应的触摸区域内:若是,执行403;否则,执行404。\n[0118] 403、获取所述单个虚拟按键对应的字符作为所述输入指令对应的输入字符;获取所述单个虚拟按键周围的虚拟按键对应字符作为所述输入字符对应的替换字符。此操作可类似于单个物理按键的点击操作。\n[0119] 404、获取所述覆盖区域的中心点像素坐标,按照至少一个虚拟按键与所述中心点像素坐标之间的相似度权值,选择相对于所述中心点像素坐标具有最大相似度权值的虚拟按键对应的字符作为所述输入指令对应的当前输入字符。\n[0120] 本操作可以适用在多个虚拟按键点触的识别,也可以适用在一个虚拟按键点触的识别,则可相应省略402和403的操作。\n[0121] 在现有技术中,不同分辨率的触摸屏幕具有不同数目的像素点。例如:一个分辨率为1024×768的屏幕,每一条水平线上包含有1024个像素点,共有768条线。每一个像素点具有唯一的坐标,例如:坐标为(512,32)的像素点代表触摸屏上第32条水平线上的第512个点的位置。其中,不同的点触区域对应不同的像素点或者像素块。\n[0122] 在本实施方式中,将点触区域的区域中心定义为点触区域的中心点像素。通过计算点触区域的区域中心所在位置,获取该区域的中心点像素坐标。\n[0123] 如表3所示的为一种中心点像素坐标与虚拟按键对应关系表,其中,每一个虚拟按键对该中心点像素坐标具有对应的相似度权值。\n[0124] 举例而言,计算得到的中心点像素坐标为(512,128),查询表3中的中心点像素坐标与虚拟按键的对应关系,获取与该中心点像素坐标对应的全部虚拟按键:“T”、“Y”、“G”和“H”。\n[0125] 在一个例子中,建立中心点像素坐标区间与虚拟按键的对应关系,根据计算得到的中心点像素坐标,查询中心点像素坐标区间与虚拟按键的对应关系,获取相应的虚拟按键。\n[0126] 表3\n[0127]\n[0128] 405、选取所述覆盖区域中未被选择的其它虚拟按键对应的字符作为所述当前输\n入字符对应的替换字符;\n[0129] 406、选取各替换字符对应的虚拟按键相对于中心点像素坐标的相似度权值,作为所述替换字符相对于当前输入字符的相似度权值。\n[0130] 举例而言,根据触摸区域计算得到的中心点像素坐标为(512,128),选择相似度权值最大的虚拟按键“T”对应的字符t作为输入字符,在输入框中显示。选择虚拟按键“Y”、“G”和“H”对应的字符y、g和h作为输入字符t的替换字符。\n[0131] 图5是本发明第三实施例所适用的一种用户端点触区域同时覆盖多个虚拟按键对\n应的触摸区域时的输入场景示意图。如图5所示,当用户端的点触区域同时覆盖虚拟按键“T”、“Y”、“G”和“H”对应的触摸区域时,选择虚拟按键“T”对应的字符t作为输入字符在输入框中显示,将虚拟按键“Y”、“G”和“H”对应的字符作为替换字符排序后,在提示框中顺序显示。\n[0132] 本实施方式通过预先设定中心点像素坐标或者中心点像素坐标区间与替换字符\n的对应关系,解决了当用户端点触区域同时覆盖多个虚拟按键对应的触摸区域时,无法获取输入字符与替换字符的问题,提高了近似字符串输入方法的通用性。\n[0133] 第四实施例\n[0134] 图6是本发明第四实施例的一种字符串的输入方法的流程图,本实施例以前述实\n施例为基础,提供了计算近似字符串的第一权值的优选方法,如图6所示,所述方法包括:\n[0135] 601、顺序读取近似字符串中的一个替换字符。\n[0136] 602、获取替换字符相对于对应的输入字符的相似度权值。\n[0137] 603、将第一权值与上述相似度取值的乘积作为新的第一权值,其中,第一权值被初始化为1。\n[0138] 604、判断上述替换字符是否为近似字符串中的最后一个替换字符:若是,执行\n605;否则,执行601。\n[0139] 605、返回第一权值的计算值。\n[0140] 举例而言,字符串zn为输入字符串ab的近似字符串,其中替换字符z相对于输入字符a的相似度权值为0.8,替换字符n相对于输入字符b的相似度权值为0.9,则近似字符串zn的第一权值R1=1*0.9*0.8=0.72。\n[0141] 相应地,也可以通过在生成近似字符串的同时计算相应的替换字符对应的相似度权值的乘积,将计算结果作为生成的近似字符串的第一权值。\n[0142] 当然,本领域技术人员应该理解,根据替换字符的相似度权值计算每个近似字符串的第一权值还可以采取其他的方式,在实际应用中,本领域技术人员可以根据实际情况选择合适的方式计算近似字符串的第一权值。\n[0143] 第五实施例\n[0144] 本发明第五实施例提供的字符串的输入方法,基于上述各实施例提供了所述根据所述近似字符串与词库中标准字符串的差异,获取每个近似字符串的第二权值的优选实施方式。\n[0145] 在本实施例中,词库中存储的标准字符串可包括:标准拼音字符串和标准英文字符串。\n[0146] 在本实施例的一个优选的实施方式中,根据所述近似字符串与词库中标准字符串的差异,计算每个近似字符串的第二权值包括:\n[0147] 获取与近似字符串编辑距离最小的标准字符串,作为近似字符串对应的标准字符串;\n[0148] 根据近似字符串和近似字符串对应的标准字符串的编辑距离,计算所述第二权\n值。\n[0149] 具体的,编辑距离指是指两个字符串,由一个转成另一个所需的最少编辑操作次数。其中,许可的编辑操作包括将一个字符替换成另一个字符,插入一个字符,删除一个字符。\n[0150] 优选的,使用动态规划的算法计算两个字符串的最小编辑方法。\n[0151] 可以理解的是,动态规划的算法只是计算编辑距离的常用算法,本实施例中还可以采用其他任何形式的算法来获取与近似字符串编辑距离最小的标准字符串,对此并不限定。\n[0152] 在本实施方式中,获取与所述近似字符串编辑距离最小的标准字符串后,根据两者的编辑距离,计算所述第二权值。\n[0153] 在一个例子中,预先设定第二权值与编辑距离的对应函数关系,根据该函数关系,计算相应的第二权值。其中,所述预定的函数关系为单调递减的函数关系,也就是说,近似字符串与标准字符串的编辑距离越近,该近似字符串的第二权值越高。\n[0154] 举例而言,设定函数关系:R2=1/(D+1),其中:R2代表近似字符串的第二权值,D代表近似字符串与标准字符串之间的编辑距离。\n[0155] 假设近似字符串为zn,与zn编辑距离最短的标准字符串为zen,zn与zen之间的编辑距离为1,则近似字符串zn的第二权值R2=1/2。\n[0156] 当然,还可以通过其他形式的单调递减的函数设定R2与D之间的关系,对此并不限定。\n[0157] 在另一个例子中,可以预先设定编辑距离范围与第二权值的对应关系,根据计算得到的编辑距离,查表得到相应的第二权值。\n[0158] 如表4所示的为一种编辑距离范围和第二权值的对应关系表。\n[0159] 表4\n[0160]\n编辑距离范围 第二权值\n0-1 90%\n2-4 80%\n[0161] 当然,本领域技术人员应该理解,根据编辑距离计算每个所述近似字符串的第二权值还可以采取其他的方式,在实际应用中,本领域技术人员可以根据实际情况选择合适的方式计算近似字符串的第二权值。\n[0162] 进一步的,在本发明实施例中,词库中还存储了每一个标准字符串的频率权值。\n[0163] 在本实施例的一个优选的实施方式中,根据所述近似字符串与词库中标准字符串的差异,获取每个近似字符串的第二权值包括:\n[0164] 获取与近似字符串编辑距离最小的标准字符串,作为近似字符串对应的标准字符串;\n[0165] 获取所述近似字符串对应的标准字符串的第一频率权值;\n[0166] 根据近似字符串和近似字符串对应的标准字符串的编辑距离与所述第一频率权\n值,计算所述第二权值。其中,第一频率权值可以通过对预定数目的文本进行词频统计来获取;或者可以通过对多个用户端历史输入的字符串进行词频统计来获取;或者可以通过对单个用户端历史输入的字符串进行词频统计来获取。\n[0167] 具体的,当上述词库存储于一个大型服务器中,该词库被用户端共享查询时,上述第一频率权值可以通过对预定数目的文本进行词频统计或者对多个用户端历史输入的字\n符串进行词频统计来获取;当上述词库分别存储于单个用户端,用户端通过查询自身词库获取相应标准字符串信息时,上述第一频率权值通过对单个用户端历史输入的字符串进行词频统计来获取。\n[0168] 如表5所示的为一种标准字符串与第一频率权值的对应表。\n[0169] 表5\n[0170]\n标准字符串 第一频率权值\nbaidu 37.5%\nbaide 11.2%\nbaidi 3.7%\n[0171] 在一个例子中,预先设定第二权值与编辑距离和第一频率权值之间对应的函数关系,根据该函数关系,计算相应的第二权值。\n[0172] 举例而言,设定函数关系:R2=1/(D+1)*r1,其中:R2代表近似字符串的第二权值,D代表近似字符串与标准字符串之间的编辑距离,r1代表标准字符串对应的第一频率权值。\n[0173] 例如:近似字符串zn与标准字符串zen的编辑距离D为1,标准字符串zen的第一频率权值r1为0.15,计算的到近似字符串zn的第二权值R2=(1/2)*0.15。\n[0174] 本实施例,通过使用标准字符串的频率权值来计算与该标准字符串编辑距离最小的近似字符串的第二权值,解决了在显示近似字符串时,用户端经常输入的频率字符串被靠后显示甚至无法显示的问题,进一步提高了用户端的输入效率,用户体验好。\n[0175] 第六实施例\n[0176] 图7是本发明第六实施例的一种字符串的输入方法的流程图,具体为同时显示拼\n音字符串和标准中文词的方法,如图7所示,所述方法包括:\n[0177] 710、获取与输入指令对应的当前输入字符,获取所述当前输入字符对应的替换字符,其中,每个所述替换字符相对于所述当前输入字符具有相似度权值。\n[0178] 720、将所述当前输入字符加入当前字符串中,并获取当前字符串中各输入字符及输入字符各自的替换字符,将当前字符串中的至少一个输入字符和与所述至少一个输入字符的替换字符进行组合生成与所述当前字符串对应的至少两个近似字符串。\n[0179] 本操作中的近似字符串为拼音字符串。\n[0180] 730、顺序读取一个近似字符串,计算该近似字符串的总权值。\n[0181] 740、判断该近似字符串是否有对应的标准中文词:若是,执行750;否则,执行760。\n[0182] 在本实施例中,词库中包括标准拼音字符串和标准中文字符串,标准拼音字符串对应至少一个标准中文字符串,也称标准中文词,标准中文词具有至少一个汉字。\n[0183] 举例而言,词库中存储的与标准拼音字符串“baidu”对应的标准中文词有“百度”、“拜读”、“摆渡”和“白度”等。\n[0184] 750、将该近似字符串总权值和与该近似字符串对应的标准中文词的第二频率权\n值的乘积作为与该标准中文词的总权值。\n[0185] 如表6所示的为一种标准中文词与第二频率权值的对应表。\n[0186] 表6\n[0187]\n标准中文词 第二频率权值\n百度 73.34%\n拜读 14.47%\n摆渡 12.13%\n白度 0.06%\n[0188] 其中,第二频率权值可以通过对预定数目的中文文本进行词频统计来获取;或者可以通过对多个用户端历史输入的汉字字符串进行词频统计来获取;或者可以通过对单个用户端历史输入的汉字字符串进行词频统计来获取。\n[0189] 具体的,当上述词库存储于一个大型服务器中,该词库被用户端共享查询时,上述第二频率权值可以通过对预定数目的中文文本进行词频统计或者对多个用户端历史输入\n的标准中文词进行词频统计来获取;当上述词库分别存储于单个用户端,用户端通过查询自身词库获取相应的标准中文词信息时,上述第二频率权值通过对单个用户端历史输入的标准中文词进行词频统计来获取。\n[0190] 具体的,一种第二频率权值的获取方法可以为:通过词频统计获取与同一个近似字符串对应的标准中文词的词频;根据所述词频,计算上述标准中文词的第二频率权值。\n[0191] 举例而言,与“baidu”对应的全部标准中文词为:“百度”、“拜读”、“摆渡”和“白度”,其中“百度”的词频为37.5%,“拜读”的词频为7.4%,“摆渡”的词频为6.2%,“白度”的词频为0.03%。计算:\n[0192] “百度”的第二频率权值为:\n[0193] r2=37.5%/(37.5%+7.4%+6.2%+0.03%)*100%=73.34%\n[0194] “拜读”的第二频率权值为:\n[0195] r2=7.4%/(37.5%+7.4%+6.2%+0.03%)*100%=14.47%\n[0196] “摆渡”的第二频率权值为:\n[0197] r2=6.2%/(37.5%+7.4%+6.2%+0.03%)*100%=12.13%\n[0198] “白度”的第二频率权值为:\n[0199] r2=0.03%/(37.5%+7.4%+6.2%+0.03%)*100%=0.06%\n[0200] 其中,若与一个近似字符串对应的标准中文词唯一,该标准中文词的第二频率权值为1。\n[0201] 可以理解的是,上述对标准中文词第二频率权值的计算过程还可以采取其他的方式,对此并不限定。\n[0202] 在本实施例中,与近似字符串对应的标准中文词的总权值R’的计算方法为:标准中文词的总权值R’=与该标准中文词对应的近似字符串的总权值R*该标准中文词的第二频率权值r2。\n[0203] 举例而言,近似字符串“baidu”在词库中对应了一个标准中文词“百度”。其中“baidu”的总权值为0.78,“百度”的第二频率权值为73.34%,则:“百度”的总权值为0.78*\n73.34%=0.572。\n[0204] 760、判断该近似字符串是否为生成的最后一个近似字符串:若是,执行770;否则,返回730。\n[0205] 770、按照所述总权值从大到小的顺序对近似字符串的和标准中文词进行排序,按排序结果顺序显示标准中文词及近似字符串。\n[0206] 图8是本发明第六实施例所适用的一种显示近似字符串对应的标准中文词的应用\n场景的示意图。如图8所示,在输入框下方,除了显示与输入字符串对应的近似字符串之外,还显示与近似字符串对应的标准中文词。\n[0207] 在本实施的一个优选的实施方式中,当输入字符串本身对应于所述词库中的标准中文词时,计算该标准中文词的总权值,按照所述总权值从大到小的顺序将该标准中文词与其他字符串进行排序,按排序结果顺序显示多个字符串。\n[0208] 举例而言,输入字符串为“baidu”,词库中有与输入字符串对应的多个标准字符串。例如:“百度”、“拜读”、“摆渡”和“白度”,分别计算这四个标准字符串的总权值。\n[0209] 具体的,总权值R’=与该标准中文词对应的输入字符串的总权值R*该标准中文词的第二频率频率权值r2。\n[0210] 其中,输入字符串的总权值R=k1*第一权值+k2*第二权值,其中k1和k2为加权系\n数,且k1+k2=1。\n[0211] 当不考虑输入字符串的第一频率权值时,该输入字符串的第一权值为1,该输入字符串的第二权值为1;\n[0212] 当考虑输入字符串的第一频率权值时,该输入字符串的第一权值为1,该输入字符串的第二权值为该输入字符串的第一频率权值。\n[0213] 图9是本发明第六实施例所适用的一种显示输入字符串对应的标准中文词的应用\n场景的示意图。如图9所示,在输入框下方,还显示与该输入字符串对应的标准中文词。\n[0214] 本实施例通过为输入字符设置至少一个替换字符,生成与用户端的输入字符串相似的多个近似字符串,将生成的近似字符串按照权值大小进行排序,并将排序结果顺序显示的方式,解决了当用户因为错点了期望按键周围的其他按键而造成输入错误时,正确输入无法被有效提示的问题,达到用户端只需要点击或者点触到键盘大致正确的按键位置就能被系统识别出输入需求并实现正确输入的效果,提高了用户的输入效率。通过增加显示近似字符串对应的标准中文词的步骤,增加了输入提示的多样性与灵活性,进一步提高了用户端的输入效率,用户体验好。\n[0215] 图10是本发明第七实施例的字符串的输入装置的结构图。如图7所示,所述输入装置包括:\n[0216] 当前字符获取单元A10,用于获取与输入指令对应的当前输入字符;\n[0217] 替换字符获取单元A20,用于获取所述当前输入字符对应的替换字符,其中,所述替换字符相对于所述当前输入字符具有相似度权值;\n[0218] 当前字符串信息获取单元A30,用于将所述当前输入字符加入当前字符串中,并获取当前字符串中输入字符及输入字符的替换字符;\n[0219] 近似字符串获取单元A40,用于将当前字符串中的至少一个输入字符和与所述至\n少一个输入字符的对应替换字符进行组合并生成与所述当前字符串对应的至少两个近似\n字符串;\n[0220] 第一权值计算单元A50,用于根据所述替换字符的相似度权值,计算近似字符串的第一权值;\n[0221] 第二权值计算单元A60,用于根据所述近似字符串与词库中标准字符串的差异,获取近似字符串的第二权值;\n[0222] 总权值计算单元A70,用于根据所述第一权值与所述第二权值,计算近似字符串的总权值;\n[0223] 排序显示单元A80,用于按照所述总权值从大到小的顺序对所述近似字符串进行\n排序,按排序结果顺序显示所述近似字符串。\n[0224] 本实施例的输入装置通过为输入字符设置至少一个替换字符,生成与用户端的输入字符串相似的多个近似字符串,将生成的近似字符串按照权值大小进行排序,并将排序结果顺序显示的方式,解决了当用户因为错点了期望按键周围的其他按键而造成输入错误时,正确输入无法被有效提示的问题,达到用户端只需要点击或者点触到键盘大致正确的按键位置就能被系统识别出输入需求并实现正确输入的效果,提高了用户的输入效率。\n[0225] 在上述各实施例的基础上,所述当前字符获取单元具体用于:\n[0226] 当读取到用户端的所述输入指令为在设定时间阈值内点击多个物理按键时,根据设定的多键选择规则选取所述多个物理按键中的一个按键对应的字符作为输入指令对应\n的当前输入字符;\n[0227] 选取所述多个物理按键中的未被选取的其它按键对应的字符作为所述输入字符\n对应的替换字符。\n[0228] 在上述各实施例的基础上,所述当前字符获取单元具体用于:\n[0229] 读取用户端通过点触触摸屏幕中的虚拟按键输入的输入指令,获取点触的覆盖区域;\n[0230] 获取所述覆盖区域的中心点像素坐标,按照至少一个虚拟按键与所述中心点像素坐标之间的相似度权值,选择相对于所述中心点像素坐标具有最大相似度权值的虚拟按键对应的字符作为所述输入指令对应的当前输入字符;\n[0231] 选取所述覆盖区域中未被选择的其它虚拟按键对应的字符作为所述当前输入字\n符对应的替换字符;\n[0232] 选取各替换字符对应的虚拟按键相对于中心点像素坐标的相似度权值,作为所述替换字符相对于当前输入字符的相似度权值。\n[0233] 在上述各实施例的基础上,所述第二权值计算单元具体用于:\n[0234] 获取与近似字符串编辑距离最小的标准字符串,作为近似字符串对应的标准字符串;\n[0235] 获取所述近似字符串对应的标准字符串的第一频率权值;\n[0236] 根据近似字符串和近似字符串对应的标准字符串的编辑距离与所述频率权值,计算所述第二权值。\n[0237] 在上述各实施例的基础上,所述装置还包括:\n[0238] 标准中文词总权值计算单元,用于如果所述近似字符串为标准拼音字符串并且对应于至少一个标准中文词,根据所述近似字符串总权值和与该近似字符串对应的所述标准中文词的第二频率权值的乘积获取与所述近似字符串对应的所述标准中文词的总权值;\n[0239] 所述排序显示单元具体用于:\n[0240] 按照所述总权值从大到小的顺序对所述近似字符串的和所述标准中文词进行排\n序,按排序结果顺序显示所述标准中文词及所述多个近似字符串。\n[0241] 图11为可用于实施本发明方案的移动终端的结构示意图。所述移动终端1100可以用于实施上述实施例中提供的方法。典型地,移动终端1100包括:输入设备1110、至少一个处理器1120、至少一个存储装置1130和显示设备1140。\n[0242] 输入设备1110可用于接收用户端输入指令,将收到的输入指令发送至处理器\n1120。在一个优选方式中,其可以为虚拟按键。\n[0243] 存储装置1130可用于存储程序以及数据,处理器1120通过读取和/或运行存储在\n存储装置1130中的数据和程序,从而执行各种指令以及进行对应的数据处理。存储装置\n1130所存储的程序包括操作系统、至少一个功能或所需的应用程序等;存储装置1130所存储的数据包括如上所述的输入按键与替换按键的对应关系以及词库等信息。\n[0244] 显示设备1140可用于显示信息,显示的数据包括输入字符串以及输入字符串对应的多个近似字符串等。\n[0245] 显然,本领域技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个计算装置上,或者分布在多个计算装置所组成的网络上,可选地,他们可以用计算机装置可执行的程序代码来实现,从而可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件的结合。\n[0246] 注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
法律信息
- 2019-04-09
- 2014-04-30
实质审查的生效
IPC(主分类): G06F 3/023
专利申请号: 201310713133.9
申请日: 2013.12.20
- 2014-04-02
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 |
1
| |
2009-11-18
|
2008-05-12
| | |
2
| |
2012-07-11
|
2011-11-15
| | |
3
| |
2010-06-02
|
2010-01-05
| | |
4
| |
2013-11-13
|
2013-07-23
| | |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |