用于向电子设备输入文本的方法与流程

文档序号:12038729阅读:201来源:国知局
用于向电子设备输入文本的方法与流程
用于向电子设备输入文本的方法本申请为申请日是2008年4月18日、申请号是200810036302.9、发明名称是“一种可实现灵活键盘布局的系统”的发明专利申请的分案申请。技术领域本发明涉及电子设备领域,特别涉及电子设备信息输入技术领域,具体是指一种用户向电子设备输入文本的可实现灵活键盘布局的系统。

背景技术:
现代生活中,随着集成电路技术的不断发展,已经出现了各种各样的电子设备,在这些众多的电子设备(如掌上电脑、智能手机、嵌入式系统、袖珍型电脑等)上,由于受到体积,制造成本等因素的制约,无法配备全尺寸的硬件键盘,因而在这类设备上进行输入通常是充满挑战的。传统的手机或便携式设备键盘采用复合多个字符的按键,通过配套的软件和自带的词典文件,根据用户的输入按键序列预测出用户想输入的单词。一种常见的输入方法是对击键序列构造索引树,一个特定的击键序列可以固定地对应为多个单词。当用户按键时,根据击键序列查找索引树,找到对应的多个候选词并显示在屏幕上供用户选择。这种方法在词典结构上与键盘的布局密切相关,每当键盘布局改变就需要重新构造词典结构甚至重新设计软件。尤其对于触摸屏上的软件键盘而言,这种方法灵活性较差,主要缺点有三个:第一,无法灵活改变键盘布局。如果字母的布局发生改变,例如从QWERTY标准电脑键盘布局(美、亚洲国家常用),切换到AZERTY键盘布局(欧洲国家常用)时,就需要彻底改写软件及词典文件;第二,无法智能纠错。如果用户按错了一个或多个按键,就无法显示出纠正后的单词;第三,无法方便地输入词典中没有的单词,例如一些人名,地名,Email地址,专用名词,等等。同时,由于缩小的键盘尺寸,用户很容易按错键,尤其是按到邻近的键上。因此在软件上实现自动纠错的功能是很有用的。一种常见的自动纠错方法是利用查找常见错误列表来实现自动纠错功能。例如,用户经常将“can”错误拼成“csn”,因为在QWERTY布局的键盘 上,字母“a”和“s”在相邻的位置上,很容易按错。这种方法通过查阅一个预定义的常见错误列表,其中包括错误按键序列和正确单词,例如“csn”->“can”,以此将错误按键序列修改为正确单词。但这种方法的局限性是显而易见的:它只能判断有限的已知错误类型,对于更一般的邻近按键错误无法有效识别,而且容易误判。另一种自动纠错方法是通过判断屏幕触点的位置,计算出其到各个键之间的距离,并以此计算击键序列与各个可能的单词之间的加权距离,最后选取加权距离最小的、在词典中的单词。这种方法在理论上可行,但在实际中过于复杂,由于一般便携式设备上的计算能力有限,很难实现。

技术实现要素:
本发明的目的是克服上述现有技术中的缺点,提供一种可以灵活改变键盘布局并具有智能纠错功能的系统。相比传统方法,本发明的优势体现在以下几个方面:第一,本发明系统可以灵活采用各种键盘布局。对于设备厂商而言,针对每一种新语言或输入方法都需要花费大量人力物力改造原有软件和输入系统,或采购新的软件。而采用本系统之后,只需简单地定义新的键盘布局,无需改变配套软件。这为多国语言版本的本地化提供了更快更便捷的方案。同时,对于用户而言,可以根据自身使用习惯自定义键盘布局,更加灵活实用。第二,本发明系统可以实现一种更有效、更实用的纠错方法,解决用户在缩小的键盘上经常按错键的问题。相对与传统的两种纠错方法,本发明系统可以在普通便携式设备的实际计算能力下,快速全面地纠错,并可以让用户设置纠错范围,是一种真正实用的纠错方法。第三,本发明系统可以根据文本的上下文环境,结合语法分析,判断出最适合当前语境的候选词,提高候选词的正确率。根据本发明的一个方面,提供了一种用于向电子设备输入文本的可实现灵活键盘布局的系统,包括用于检测用户的输入的输入模块;连接至所述输入模块的布局映射模块,所述布局映射模块根据当前的键盘布局,将用户的至少一次输入映射成相应的至少一个字符集合;用于存储候选单词的词典模块;连接至所述词典模块和所述布局映射模块的候选词模块,所述候选词模块根据所述相应的多个字符集合生成输入序列,并根据输入序列查找出可能的候选词并将其排序;以及连接至所述候选词模块并输出所述候选词的输出模块。根据本发明的另一个方面,提供了一种用于向电子设备输入文本的可实现灵活键盘布局的方法,包括等待用户输入信号的第1步骤;将用户输入信号根据当前键盘布局转换为一个 字符集合,所述字符集合包含所述用户输入的可能对应的字符的第2步骤;将所述字符集合加入当前输入序列的第3步骤;根据所述当前输入序列,生成候选词并按优先级排序的第4步骤;显示所述候选词的第5步骤。根据本发明的另一个方面,一种快速切换键盘布局的方法,包括在带触感的显示设备上显示一个键盘布局的第1步骤;等待用户触点在触摸屏上移动的动作的第2步骤;将原先的键盘布局沿触点移动方向移出屏幕的第3步骤;将新的键盘布局沿触点移动方向移入屏幕的第4步骤。根据本发明的另一个方面,一种动态改变键盘布局的方法,包括在带触感的显示设备上显示多个按键的第1步骤;检测用户在一个按键上按下后移动触点动作的第2步骤;检测用户放开触点的位置的第3步骤;调整键盘布局,将所述的按键调整至所述放开触点位置所对应的位置,并显示更新的键盘布局的第4步骤。附图说明附图1A-1E是举例说明根据本发明实施例的各种不同键盘布局的示意图;附图2A是举例说明根据本发明实施例的一种候选词及其相关词的示意图;附图2B是举例说明根据本发明实施例的一种由上下文判断候选词的示意图;附图2C-2D是举例说明根据本发明实施例的一种根据前文预测下一单词的示意图;附图3是举例说明根据本发明实施例的一种硬件方块图;附图4是举例说明根据本发明实施例的一种系统模块结构图;附图5是举例说明根据本发明实施例的一种用户完成一次输入的流程图;附图6是举例说明根据本发明实施例的一种布局模块中每个键所包含的信息的示意图;附图7是举例说明根据本发明实施例的一种将一个键展开进行精确输入的示意图;附图8是举例说明根据本发明实施例的一种实现快速查找候选词的词典结构示意图;附图9是举例说明根据本发明实施例的一种生成候选词的流程图;附图10是举例说明根据本发明实施例的用于向电子设备输入文本的可实现灵活键盘布局的方法的一般流程图;附图11A-11C是举例说明根据本发明实施例的一种快速切换键盘布局过程的示意图;附图12是举例说明根据本发明实施例的实现快速切换键盘布局的一般流程图;附图13A-13B是举例说明根据本发明实施例的一种动态改变键盘布局过程的示意图;附图14是举例说明根据本发明实施例的动态改变键盘布局的一般流程图;具体实施方式在详细说明根据本发明的实施例前,应该注意到的是,所述实施例主要在于与向电子设备中输入文本有关的方法步骤和设备组件的组合。因此,所属设备组件和方法步骤已经在附图中通过常规符号在适当的位置表示出来了,并且只示出了与理解本发明的实施例有关的细节,以免因对于得益于本发明的本领域普通技术人员而言显而易见的那些细节而模糊了本公开内容。在本文中,诸如左和右,上和下,前和后,第一和第二之类的关系术语仅仅用来区分一个实体或动作与另一个实体或动作,而不一定要求或暗示这种实体或动作之间的任何实际的这种关系或顺序。术语“包括”、“包含”或任何其他变体旨在涵盖非排他性的包含,由此使得包括一系列要素的过程、方法、物品或者设备不仅包含这些要素,而且还包含没有明确列出的其他要素,或者为这种过程、方法、物品或者设备所固有的要素。出于本公开的目的,术语“键盘”是广义定义的,包括任何具有确定区域的输入部件,包含但不局限于硬件机械式键盘、硬件感应式键盘、触摸屏上的软件键盘等。本发明的实施例默认以触摸屏上的软件键盘为例说明,但本领域的普通技术人员可以理解,本发明所提及的方法和系统也可以应用于硬件键盘。1.基本功能及操作图1A描述了本发明所涉及的一个可实现灵活键盘布局的键盘系统100及其载体便携式设备101。用户在键盘110上按键后,其输入内容显示在文本区域102中。键盘110为QWERTY布局,包含了26个英文字母,数字、符号和空格键,且每个按键可代表三个字符。图1B描述了另一种布局的键盘120,为单键QWERTY布局,每个按键代表一个字符,两个键之间可有数字和符号。图1C描述了另一种布局的键盘130,为AZERTY布局,每个按键可代表三个字符。图1D描述了另一种布局的键盘140,为9键布局,每个按键可代表三至四个字母和一个数字,在手机键盘上广泛应用。图1E描述了一种用户自定义布局的键盘150,每个按键可代表三个字符,字符的内容和顺序由用户根据使用习惯定制。出于本公开的目的,为了避免附图标识过于复杂,下文中将用各个键盘布局中每个键的第一行中央字符标识每个键。例如,用键“qw”标识图1A中键盘最左上角的按键111;用键“p”标识图1B中键盘最右上角的按键121;用键“wx”标识图1C中键盘最左下角的按键;用键“wxyz”标识图1D中键盘最右下角的按键141。当在同一个图中出现据此方法定义的重复的标识时,则使用序号标识区分,以确保该标识方法的唯一性。需要指出的是,本发明所描述的方法也可以运用于除英语外的其他语种,其他的键盘布局,且字母、数字、符号的具体内容和位置也都可任意改变。回到图1A,当用户点击键盘输入区域上的键产生击键序列时,系统将候选的单词显示在候选区域103中,同时可在文本区域中显示默认的候选词。当用户点击候选词,或按下确认键(例如空格键或某些标点符号时)时,所选取的单词就会输入至文本区域102中。例如,在图1A中,当用户顺序按下键“ty”,键“ui”,键“er”时,系统找到词典中对应此键序列的所有单词,并将其排序显示在候选区域103中。由于单词“tie”,“turn”,“tired”,“yield”具有最高词频,故显示在候选词列表的第一页。其中“tie”同时作为默认的候选词也显示在文本区域内,并以特殊格式(如下划线)以示其为尚未确认的文本。当用户按下空格键时,该候选词就被确认并输入至文本中。由于用户在按键时并不明确指定每个按键所代表的具体字符,而是由词典匹配候选词,因此称为“模糊输入”。依照本发明的某些实施例,用户还可以进行精确输入。例如,参考图1A,在触摸屏的键盘110上,用户可在键“ty”上按下并左移后放开,精确输入字母“t”;在键“ui”上按下并右移放开,精确输入字母“i”;在键“er”上按下并右移放开,精确输入字母“r”。此时系统找到的是所有“tir”开头的单词:“tired”,“tiring”,“tire”,“tirade”。依照本发明的某些实施例,用户可以通过向下滑动触点输入键下方的符号或数字。例如,参考图1A,用户可以在键“gh”上向下移动触点,则输入数字“3”。这样用户就无需切换到专用的数字模式或符号模式。又例如,参考图1B,用户可以在键“q”或键“s”或其中间区域向下滑动触点,输入两者之间的符号“;”。依照本发明的某些实施例,符号和数字也可以成为单词中的一部分。例如“I’m”,“I’ll”,“let’s”,“C++”,“part-time”等。用户可以在同一个键盘模式上方便地模糊输入符号或数字,而不需要切换到另外的符号模式。例如,参考图1A,在键盘110上,单引号“’”在键“ui”上,用户只需顺序按下键“ui”,键“ui”,键“m/”,系统便能找到单词“I’m”并将其显示在候选区域中。依照本发明的某些实施例,当用户想要改变键盘布局,例如从图1A的QWERTY布局改为图1D的9键布局时,只需要通过一个预定义的动作,即可实现快速切换。例如,在触摸屏的键盘上,用户可以用手指快速地从键盘区域的左端滑动到右端,则QWERTY布局向右移动并移出屏幕的右端,而9键布局从屏幕的左端滑入,产生连贯的动态效果。同样的,用户也可以切换到图1B所示的单键QWERTY布局,或图1C所示的AZERTY布局,或图1E 所示的用户自定义布局。切换布局的方式可以有很多种:可以检测用户的手势,可以使用一个特定的按键,也可以通过声音控制。在这种切换过程中,由于系统的布局与词典搜索功能相互独立,所以可以使用相同的词典文件和软件。由于在较小的键盘区域上,用户在输入时经常会按到相邻的键位上,依照本发明的一种优选实施例,可以根据词典自动纠正这种错误。例如,在图1B中,当用户想按键“t”时,很可能错误地按到了键“f”上。系统会搜索键“f”周围的字母“r”,“g”,“d”,“v”并根据用户之前的输入判断出可能的正确单词。在本发明的实施例中,即使用户所有输入的字母都是错误的,系统也可能找出正确的单词。例如,用户输入了“v”,“i”,“p”,“l”,系统可以提示用户候选词“book”,因为“v”,“i”,“p”,“l”分别为“b”,“o”,“o”,“k”的邻近字母。值得一提的是,当字母位置相隔较大时,需要扩大纠错的范围(如相隔两个键的纠错)。但扩大纠错范围的副作用是候选词数量会增加。为了解决这一矛盾,本发明的一个优选实施例是纠错范围可以根据用户偏好进行调节。用户可以设置在所按字母多大的范围内进行纠错,例如在所有相邻的字母中纠错,或只在左右相邻的字母中纠错,或只在上下相邻的字母中纠错,或相隔两个字母(如“t”和“u”)之间纠错,或者不纠错。依照本发明的某些实施例,可以快速地选择候选词的相关词。例如,参考图2A,当候选区域出现候选词211“compare”时,用户在“compare”上向下滑动触点,则键盘区域出现“compare”所对应的相关词,“comparing”,“compared”,“compares”,和“comparison”。用户点击其中的一个相关词即可将其输入至文本区域。在很多语言中,这种相关词是很常见的。例如在英语中的动词有很多不同时态,名词有复数形式,一个词可以有多种词性等等。本发明的实施例可以将这些词关联起来,因而当用户可以快速地从一个候选词中延伸至其他相关词。依照本发明的某些实施例,可根据文本的上下文关联候选词并提供短语预测。例如,参考图2B,用户之前输入了“I”后需要输入“am”,但在输入“m”时却按在了邻近的键“bn”上。此时,系统可根据上下文关联规则,判断出“Iam”是常用短语,因此调整候选词221“am”比原先的候选词“an”优先级更高。在很多语言中,这种短语、特定搭配、习惯语法的现象很常见,因此一个单词的出现概率不仅取决于该单词的词频,更取决与该单词与上下文之间搭配的概率。在此例中,尽管“an”是一个比“am”词频更高的单词,但在I之后跟的几乎总是“am”,而非“an”。因此根据上下文选择合适的单词可以大大提高选词的有效性,进而提高输入效率。又例如,参考图2C,用户输入了单词231“look”之后,候选词列表中自动预测到与“look”形成短语搭配的候选词“forwardto”,“at”,“into”,“for”,供用户选 择。依照本发明的某些实施例,可以在相关词的基础上提供上下文关联和词组联想。例如,参考图2D,当用户输入了“look”的相关词“looking”时,候选词区域仍能预测出“look”对应的短语搭配“forwardto”、“at”、“into”、“for”等。2.系统结构及原理图3描述了适用本发明的一种便携设备300的概要框图。输入装置301、显示装置302和存储装置303通过电子线路与处理器304相连。输入装置301可以是键盘或触摸板;显示装置302可以是液晶屏;存储装置303可以是任何记忆介质,例如随机访问内存(RAM),只读内存(ROM),闪存(Flash),硬盘等;处理器304可以是CPU或专用集成电路芯片。很多情况下,输入装置301也可能与显示装置302合成,如触摸屏。存储装置303可保存所有的软件,包含操作系统311和本发明涉及的键盘软件310等,可选地,存储装置也可以包括其他应用程序312,如文本编辑器等。本发明的键盘系统是由键盘软件310所管理的。图4描述了该键盘软件的一种优选系统结构400。该系统主要由输入模块401、布局映射模块402、设置模块403、候选词模块404、词典模块405及输出模块406组成。输入模块401负责检测用户的输入,例如用户的按键、在触摸屏上的触点动作等,并输出至布局映射模块402。布局映射模块根据当前的键盘布局,将用户输入映射成本次输入所对应的字符集合,并输出至候选词模块404。词典模块405负责为候选词模块404提供词典中的单词。候选词模块404负责将历次的字符集合生成输入序列,并根据输入序列查找出可能的候选词并将其排序。输出模块406负责将候选词以一定方式输出至设备,供用户选择。设置模块403存储了用户和系统设定,例如是否启用纠错、是否检测上下文等,供布局映射模块402与候选词模块404使用。图5描述了键盘软件主程序在完成用户输入选词时的主要流程500,具备以下步骤:等待用户输入(步骤501);判断是否确认操作(步骤502);若是,在文本区域中输入确认的词,并清空输入序列(步骤503);若否,在布局映射模块402中生成本次输入对应的字符集合(步骤504);将本次输入的字符集合与之前输入的字符集合构成输入序列(步骤505);在候选此模块中生成候选词列表,并进行优先级排序(步骤506);输出更新的候选词列表(步骤507)。对于步骤502,输入模块401判断本次输入是否确认操作。确认操作可以是按空格键或确认健(选定默认候选词),或是直接点击候选词,或是通过方向键选中候选词后按空格键或确 认健,或是输入标点符号自动选定默认候选词,或是其他任意事先指定的操作。对于步骤504,布局映射模块402可根据当前的键盘布局,将本次输入映射为对应的字符集合。该字符集合中包含可能对应于本次输入的所有字符。例如,当用户在图1A所示的QWERTY键盘布局中按下键“qw”时,字符集合包含该键上的模糊输入字符“q”、“w”。而当设置启用纠错时,字符集合中还可包含邻近键上的字符,如“a”、“s”、“e”。对于步骤505,候选词模块404可将本次输入的字符集合加入到输入序列中。例如,在图1A所示的QWERTY键盘布局中,当用户先后按下键“ty”、键“ui”和键“er”后,输入序列包含三次输入的字符集合:{“t”,“y”},{“u”,“i”},{“e”,“r”}。随后,候选词模块404可根据各种可能的组合,在词典模块405中搜索出可能的候选词,例如“tie”,“turn”等。最后,可根据优选顺序将候选词排序。在某些优选实施例中,,可指定优先级最高的候选词为默认候选词,即当用户输入空格或其他符号时,自动确认默认候选词为输入到文本区域的单词。对于步骤506,输出模块406可将更新后的候选词列表显示在屏幕上,供用户选择。在某些实施例中,可以将默认候选词显示在文本区域内,并以一种特殊格式高亮标记出来。回到图4,下面详细描述本实施例中每个模块的实现方法。输入模块401检测用户的按键动作,并将每一次按键的相关数据记录并输出。一次按键的相关数据可以包含但不限于:●用户按下触点的起点位置●用户放开触点的终点位置●用户移动触点的轨迹●用户保持触点的停留时间例如,在图1A中,当用户按下键“qw”并右移后放开时,输入模块401的输出可包含用户按下该键的起点坐标以及放开该键的终点坐标。回到图4,设置模块403包含与系统运行相关的各种设置信息,包括用户使用偏好、系统工作模式等。例如,用户可以关闭纠错。那么所有按到相邻按键的错误就不会被纠正;又如,用户可以选择纠错的级别:只纠正上下相邻按键的错误、只纠正左右相邻按键的错误、纠正周边相邻按键的错误、或纠正相邻两层按键的错误(如在图1B所示的单键QWERTY布局上按“g”可以纠正到“d”,“f”,“h”,“j”)。设置模块403是可选的。回到图4,布局映射模块402具有三个主要功能。布局映射模块402的第一功能是定义并存储有不同键盘的各种布局参数,例如键盘上有哪些字符,哪几个字符复合在一个键上,如何精确选择键上的字符等等。例如,在图1A中,字母“q”、“w”,和符号“;”复用一个键“qw”。图6则描述了一种在内存中描述键“qw”的数据结构,其中可包含(但不限于)以下字段:●该键在键盘布局区域上的位置和大小●该键上所显示的字符及其相应位置区域:“q”,“w”,“;”●用户不同的动作所对应输入的字符组:○点击后直接放开:模糊输入“q”,“w”,“;”○上移:模糊输入“q”,“w”的大写形式(“Q”,“W”)○左移:精确输入“q”○右移:精确输入“w”○左上移:精确输入“Q”○右上移:精确输入“W”○下移精确输入“;”精确输入的方式可以有很多种。一种优选的方式是根据用户的触点移动来判断精确输入的字符;另一种优选的方式是长按某个键后将该键上的多个字符展开供用户选择。例如,在图1A中,当用户长按键“as”超过一个预设时间后,该键盘就展现为图7所示的精确输入模式,显示出所有该键所代表的字符组701,供用户选择。选完后返回图1A的初始模式。在西欧语言中,这种方式可以用来选择重音字符,例如等。值得注意的是,该数据结构的各个字段可以根据需要进行删减修改,而不影响本发明的实质。例如,可以增加一个字段,描述按键后在键的上方是否显示放大的图片,用来提示用户当前的输入;又如,当键的位置或大小固定时,可以省略该键在键盘区域上的位置大小信息字段。同时,用户的不同触摸动作定义也可以是扩展的。例如可以增加定义“用户长按该键超过X秒”的对应输入,其中X可以是一个可配置的值;又如,可以增加定义“用户双击该键”的对应输入。由此可见,不同的按键动作可以对应于不同的字符集合。布局映射模块402的第二功能是存储可能用到的所有键盘布局并根据需要切换。在某一时刻,有且仅有一个是当前激活的键盘布局。这就是用户在键盘输入区域可以看到的当前键 盘布局。在本发明的优选实施例中,用户可以利用在触摸屏上的手势切换当前键盘布局,也可以利用硬件键盘上某个特定的按键切换当前键盘布局。布局映射模块402的第三功能是根据当前的键盘布局,将用户的原始输入映射为本次输入可能对应的字符集合。一种优选的字符集合的数据结构可包含模糊输入字符组,精确输入字符,及纠错字符组。例如在图1A所示的QWERTY布局上,当用户按下键“qw”并直接放开后,该模块先从输入模块401中获取了触点的坐标,根据当前布局可判断出按键在键“qw”上。由于动作是点击后直接放开,根据键“qw”的布局数据可得其对应的模糊输入字符组为(“q”,“w”,“1”,“;”)。从设置模块403中读取当前纠错设置为垂直纠错,于是从当前布局中获得下方的字符“a”和“s”作为纠错字符。最终本次按键中,布局映射模块402的输出字符集合为:模糊输入字符组(“q”,“w”,“1”,“;”),精确输入字符(空),纠错输入字符组(“a”,“s”)。又例如,在图1D所示的9键布局中,键“jkl”对应的布局信息如下:●该键在键盘布局区域上的位置和大小●该键上所显示的字符及其相应位置区域:“j”,“k”,“l”,数字“5”,句号“.”●用户不同的动作所对应输入的字符:○点击后直接放开:模糊输入“j”,“k”,“l”,“5”○长按:进入SHIFT模式(如同电脑键盘上按住SHIFT键)○左移:在普通模式下,精确输入“j”;在SHIFT模式下,精确输入“J”○右移:在普通模式下,精确输入“l”;在SHIFT模式下,精确输入“L”○上移:在普通模式下,精确输入“k”;在SHIFT模式下,精确输入“K”○下移:在普通模式下,精确输入句号“.”;在SHIFT模式下,精确输入“5”当用户在键“jkl”上直接点击后放开时,布局映射模块402得到键jkl的上述布局信息。由于本次动作为点击后直接放开,因此模糊输入字符组为(“j”,“k”,“l”,“5”);同时由于设置模块403中的纠错设置为左右纠错,因此纠错字符组为键“jkl”周边的相邻字符组(“m”,“i”)。如果用户在键“jkl”上左移后长按(或长按后左移),由于本次按键中包含一个长按动作,因此切换至SHIFT模式,精确输入字符为(“J”),模糊输入字符组(空)。根据设置模块403的设定信息,当精确输入不为空时,系统无需纠错。因此纠错字符组也为(空)。由此可见,布局映射模块402有效地将用户的输入转换成与键盘布局无关的字符集合, 因此之后的候选词模块404无需根据布局的不同而改变软件或数据结构。当键盘布局改变之后,布局映射模块402得到的布局信息也相应改变,因此输出的字符集合也随之改变。由于有了独立的键盘布局设计,键盘布局完全可以由手机厂商预定义,或由用户自定义,而不会影响任何系统功能。例如,用户可以自己定义键位的布局,每个键上对应的字符,以及动作对应的字符组,从而编写出适合自己使用习惯的键盘布局。同时,不同语言版本的输入法也可以对应与不同的键盘布局。回到图4,候选词模块404将本次输入对应的字符集合加入到输入序列中,以此查找词典模块405中对应的单词,并根据一定规则(如词频、上下文短语、相关词等)对候选单词进行优先级排序,最终将候选词输出到输出模块406。本领域的普通技术人员可以理解,词典的结构可以采用很多种实现方式,例如存储在数据库,或以树状结构存储。相应地,在词典中查找出可能的候选词也有很多种方法。下面为了完整地描述本系统的可行性,举例说明一种可以快速查找单词的词典实现方法,但本发明并不依赖于这种方法。该方法将词典中的单词排列在树状结构中,如图8所示。在树状词典中的每一个节点Ni-1,Ni-2…Ni-m代表一个字符,其中i代表该节点在树中的深度(第i层)。位于第i层的节点代表了单词的第i个字符。m代表了该层中的字符总数,例如在英语中有26个字母,则m可以不超过26;如果词典内可以包含由其他符号组成的单词,如don’t,则m可以大于26。这些节点由路径Pi-j-1,Pi-j-2,…,Pi-j-m连接起来,其中i-j代表该路径所连接父节点为Ni-j。从根节点向下到达某一节点的路径所途径的节点序列,称为该节点(或该路径)的字符序列。如果一个节点的字符序列是词典中的一个单词,则称该节点为单词节点。如果某一条路径不存在,则代表该路径的字符序列在词典中不存在。例如,英语单词apple所对应的节点,就是从根节点向下顺序寻找节点a-p-p-l-e。其中第1个字母a所对应的节点在树的第1层,第2个字母p的节点在树的第2层,而最后一个字母e的节点是单词节点,其字符序列就是“apple”。这种树状结构的好处是可以快速地找到一个特定的字母序列是否是词典里的一个单词,以及该单词对应的节点。每一个单词节点可对应于一个单词对象,但单词对象的数据结构是独立于词典结构的。一个单词对象可包含以下信息:单词的统计词频,相关词,上下文关联规则,替代格式等。单词的统计词频可以用一个数值表示,例如数字1到8,8代表最常用的词,1代表最不常用的词。统计词频可成为候选词优先级排序的一个重要考虑因素。在不考虑其他因素时,词频越高,单词的优先级就越高。单词的相关词是指与该单词相关联的单词,例如名词的复数形式,动词的不同时态,该 词的不同词性等等。例如英文单词“jump”的相关词包括“jumps”,“jumping”,“jumped”等。相关词列表可以用指针方式实现,即一个单词对象可以指向其相关联的其他单词对象。保留相关词信息的目的是方便用户从一个单词快速选择其关联的单词。例如当用户看到“jump”出现在候选词中时,可以通过某种事先指定的动作(例如在单词上向下滑动)让系统显示出所有的相关词,并从中选择。上下文关联规则包含了该单词的常见短语搭配、语法准则等与上下文环境相关的信息。例如,单词“look”的上下文关联规则可包含常见短语搭配“lookat”,“lookforwardto”,“lookfor”等。又如,单词“am”的上下文关联规则可包含常见短语搭配“Iam”等。又如,单词“of”的上下文关联规则可包含语法规则:“其后跟的词应为名词或动名词”。有了这些信息后,系统即可通过上下文智能判断候选词的优先级。在本实施例中,上下文关联规则在相关词之间中也可以互相生效。例如,当上下文关联规则中有“lookforwardto”时,文中即使出现“looking”也可以关联到“forwardto”,因为“looking”是“look”的相关词。替代格式是该单词的某种表现形式,例如“asap”是“assoonaspossible”的缩写形式,那么如果用户输入了“asap”,系统可以自动对应到“assoonaspossible”。因此“assoonaspossible”就是单词对象“asap”的替代格式。又如,用户输入“dont”能自动纠正为“don’t”,因为单词对象“dont”上含有替代格式“don’t”。此时单词对象“dont”实际上是一种索引。当一个单词有替代格式时,候选词模块可以优先将替代格式输出。图9描述了本实施例中一种生成候选词的方法,包含以下步骤:根据输入序列,在词典中寻找相应的单词对象作为候选词(步骤901);将包含纠错字符组中字符的候选词标记为纠错候选词(步骤902);找到候选词所对应的相关词列表(步骤903);找到候选词所对应的替代形式(步骤904);将候选词进行优先级排序(步骤905)。对于步骤901,候选词模块404将从布局映射模块402获得的各次按键对应的字符集合所构成的输入序列组合成可能的候选词。理论上,只要将输入序列的所有字符排列组合,并挑选出所有在词典模块中存在的已有单词,即可构成候选词列表。但实际上,一次按键可能包含多个可能的字符,而多次按键可能形成的字符序列就会更多。随着输入序列的长度增加,如果要列出所有字符序列的全排列后再查找词典的话,计算量会非常大。因此,本发明的一种优选的候选词查找方法是利用词典树的特点,通过检索数的节点快速排除不可能的字符序列。例如,若用户第一次按键的字符集合为(“a”,“s”),第二次按键的字符集合为(“b”,“n”),第三次按键的字符集合为(“t”,“y”,“u”),则三次按键的字符序列组合是2*2*3=12个。 但如果分析前两次按键可能的字符序列:“ab”,“an”,“sb”,“sn”,可发现词典中不存在“sb”序列开头的单词(路径为空),因此只需考虑“ab”,“an”,“sn”与后三个字符的组合可能。进一步分析后发现,在所有三个字符的排列中,只有“ant”,“any”,“aby”和“abu”可能成为单词或单词的开头部分。因此实际的可能组合远远低于12个。随着用户按键次数的增加,尽管理论上字符序列的可能组合在增加,但利用这种方法,随着不断排除不可能的路径,计算量始终保持在较低水平。对于步骤902,当输入序列包含了纠错字符组时,步骤901所找出的候选词中包含了纠错后的单词,因此为了便于将其与未经纠错的普通候选词区分,将其标记为纠错候选词。根据统计,用户按对键的概率要高于按错成某个键的概率。因此,在后续的优先级排序中,纠错候选词的优先级可低于普通候选词。对于步骤904,所找到的替代形式可以代替原先的候选词,加入候选词列表。对于步骤905,候选词查找模块404需要对候选词进行优先级排序。影响优先级的因素可包含:上下文关联规则,统计词频,候选词长度等。首先,可优先考虑上下文关联规则。例如,如果前文输入了“lookforward”,则下面输入的单词很有可能是“to”,而不是与其相近且同样词频很高的“go”。此时,可以通过比对候选词的上下文关联规则以及当前文本位置的前文与后文,如果发现某个候选词与前后文形成短语搭配,便可将该候选词的优先级提高。其次,系统可考虑单词在该语言中的统计词频,词频越高,则出现概率越大,因此优先级越高。此外,当候选词长度等于或接近用户按键次数时,该词的优先级可以被提高。如果某个候选词中包含了纠错字符,则其优先级可以降低。在一种优选的实施例中,最终的优先级可以由多种因素加权后计算而得。回到图4,输出模块406将候选词列表显示给用户。在本发明的某些实施例中,对于具有相关词的候选词,可以用特殊状态标出,并可定义一种快捷方式让用户进入到该单词相关词的选择模式。例如,参照图2A,单词“compare”的下方有一个箭头,表示找到了它的相关词列表。用户在“compare”上向下滑动触点可进入相关词选择模式。在本发明的某些实施例中,对于纠错候选词,可以用不同的格式标识以示区分。依据本发明的一个实施例,当用户确认某个候选词并将其输入至文本区域后,候选区域将显示下一个或多个可能出现的词。参考图2C,当用户输入“look”后,候选区域出现对下词的预测“forwardto”,“at”,“into”,“for”。这是由于单词对象“look”的上下文关联规则里有短语搭配“lookforwardto”,“lookat”,“lookinto”和“lookfor”。当用户确认候选词“look” 后,候选词模块404从该单词的上下文关联规则中找出这些规则,并将“look”后面的部分作为候选词显示在候选区域中。依据本发明的一个实施例,当用户确认某个候选词并将其输入至文本区域后,其相关词的短语搭配也可出现在候选区域中。参考图2D,当用户输入“I’mlooking”后,候选词区域也能出现对下词的预测“forwardto”,“at”,“into”,“for”。这是由于在单词对象“looking”的相关词列表里有“look”,而候选词模块会在相关词对应的上下文关联归责中找出对应的短语搭配,并显示在候选区域中。图10描述了本发明所设计的用于向电子设备输入文本的可实现灵活键盘布局的方法,具备以下步骤:等待用户输入信号(步骤1001);将用户输入信号根据当前键盘布局转换为一个字符集合,所述字符集合包含所述用户输入的可能对应的字符(步骤1002);将所述字符集合加入当前输入序列(步骤1003);根据所述当前输入序列,生成候选词并按优先级排序(步骤1004);显示所述候选词(步骤1005)。3.布局的切换与动态调整由于有了灵活的键盘布局设计,本发明的键盘系统可以随时改变键盘布局而不影响方法实现和用户使用。依据本发明的某些实施例,用户可以通过某个预定义的操作,将键盘布局随时切换。例如,在触摸屏上,当用户在键盘区域快速滑过触点时,系统便可以动态地将当前布局由如图1A所示的QWERTY布局切换为如图1C所示的AZERTY布局。在带有硬件键盘的设备上,当用户按下某个快捷键时,系统也同样可以动态切换键盘布局。依据本发明的某些实施例,在键盘布局的切换过程中,可以通过动画效果来使切换更加自然。例如,参照图11A,当用户的手指在触摸屏上的键盘区域从左向右快速移动时,旧的键盘布局从左向右平滑地移动淡出,新的键盘布局从屏幕左端向右平滑地移动淡入。图11B描述了在手指在移动过程中,旧的键盘布局1102移出到一半,新的键盘布局1103移入一半时的情形。图11C描述了新的键盘布局完全移入之后的情形。在本实施例中,动画效果可以流畅地进行,且移动速度可根据用户触点的移动速度决定,让用户感觉键盘布局是在被用户手指挪动。图12描述了本实施例中一种快速切换键盘布局的方法1200,包含以下步骤:在带触感的显示设备上显示一个键盘布局(步骤1201);等待用户触点在触摸屏上移动的动作(步骤1202);将原先的键盘布局沿触点移动方向移出屏幕(步骤1203);将新的键盘布局沿触点移 动方向移入屏幕(步骤1204)。本方法所指的键盘布局不仅仅代表字母的不同布局,也可广义地泛指为多页内容中的某一页。例如,在符号选择页面上有多页选择,用户可以通过本方法来进行翻页操作。依据本发明的某些实施例,用户还可以动态地更改键盘的布局,如改变按键的位置等。例如,在图13A中,当用户按下“SPACE”空格键1301不放,并将其拖动到键盘区域的左下角后放开,该键便被安排在了如图13B所示的新的位置1302。同时键盘布局会被相应更新,例如原本在空格键上的数字“8”变为了数字“6”,以保持数字的连续性。图14描述了本实施例中一种动态改变键盘布局的方法,包含以下步骤:在带触感的显示设备上显示多个按键(步骤1401);检测用户在一个按键上按下后移动触点动作(步骤1402);检测用户放开触点的位置(步骤1403);调整键盘布局,将所述的按键调整至所述放开触点位置所对应的位置,并显示更新的键盘布局(步骤1404)。对于步骤1402,可以预先设定某些键为可移动的键,设定某些键为不可移动的键。例如,图13A中“SPACE”键为可移动的键,而其他按键为不可移动的建。对于步骤1404,按键调整后的位置往往可以在放开触点位置附近的某些预定义的位置上。例如,当用户放开触点的位置落在图13B中“SPACE”键所覆盖的区域或其周围距离不超过X像素的范围内(X可为一个预定的值)时,对应的调整后位置均为屏幕最左下角的按键位置。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1