一种英文的输入方法和装置制造方法
【专利摘要】本发明实施例提供了一种英文的输入方法和装置,所述的方法包括:接收输入的英文字符串;所述英文字符串具有原始长度;根据所述英文字符串的原始长度计算目标长度;查找长度介于所述原始长度与所述目标长度之间的目标英文单词;计算所述目标英文单词与所述英文字符串的最长的公共长度;所述公共长度为相同字母的长度;当所述最长的公共长度为所述原始长度的N倍时,返回所述目标英文单词;所述N为小于等于1的正数。本发明实施例使得用户在忘记英文单词拼写或者在较少输入等的情境下,输入英文单词中部分的英文字母串则可以得到需要的英文单词,大大提高了操作的简便性。
【专利说明】一种英文的输入方法和装置
【技术领域】
[0001] 本发明涉及英文输入的【技术领域】,特别是涉及一种英文的输入方法和一种英文的 输入装置。
【背景技术】
[0002] 随着电子设备的广泛普及,尤其是移动设备的广泛应用,用户经常使用电子设备 处理各种事情,例如通讯、浏览网页、发微博等等,随之用户经常需要使用输入法程序输入 文字内容,其中包括英文单词。
[0003] 在输入英文单词时,一般的输入法程序,大多采用末尾补全的策略来实现英文单 词的联想功能,以期用户在记不清楚英文单词拼写的情况下,通过输入单词前缀也能得到 正确的单词。
[0004] 例如,用户打算输入"successful",当输入"succe"这5个字母的时候,输入法程 序会查找词库中所有长度大于或等于5的英文单词,如果前5位字母与"succe"完全匹配, 则该英文单词出现在候选中,如"success'"succeed"、"successful"等,使得用户可以不 用完整输入,通过查看候选,就可以提交自己想要输入的英文单词。
[0005] 但是如果用户输入的字母串属于多个英文单词的前缀,输入法程序会返回较多候 选,用户需要经过翻页等操作进行查找。
[0006] 例如,"succe" 与 "success"、"succeed"、"successful"、"successsion,'、 "successive"等多个英文单词的前缀相同,用户清楚知道它们的后缀不同,输入法程序却 无法快速区分。
[0007] 多次翻页等操作使得用户的操作和时间成本很大,输入效率很低,并且,电子设备 多次响应翻页等操作,耗费大量的系统资源。
【发明内容】
[0008] 本发明实施例所要解决的技术问题是提供一种英文的输入方法,用以降低用户的 操作和时间成本,提高输入效率,降低系统资源消耗。
[0009] 相应的,本发明实施例还提供了一种英文的输入装置,用以保证上述方法的实现 及应用。
[0010] 为了解决上述问题,本发明实施例公开了一种英文的输入方法,包括:
[0011] 接收输入的英文字符串;所述英文字符串具有原始长度;
[0012] 根据所述英文字符串的原始长度计算目标长度;
[0013] 查找长度介于所述原始长度与所述目标长度之间的目标英文单词;
[0014] 计算所述目标英文单词与所述英文字符串的最长的公共长度;所述公共长度为相 同字母的长度;
[0015] 当所述最长的公共长度为所述原始长度的N倍时,返回所述目标英文单词;所述N 为小于等于1的正数。
[0016] 优选地,所述公共长度所属的相同的字母的顺序相同。
[0017] 优选地,所述根据所述英文字符串的原始长度计算目标长度的步骤包括:
[0018] 计算所述英文字符串的原始长度与预设的相似度阈值的比值,获得目标长度。
[0019] 优选地,所述查找长度介于所述原始长度与所述目标长度之间的目标英文单词的 步骤包括:
[0020] 将所述英文字符串的原始长度赋值给预设的中间变量;
[0021] 判断所述中间变量是否大于所述目标长度;
[0022] 若否,则从预置的英文词库中提取长度与所述中间变量相等的英文单词,获得目 标英文单词;
[0023] 对所述中间变量增加数值一,返回执行所述判断所述中间变量是否大于所述目标 长度的步骤。
[0024] 优选地,所述英文词库中包括一个或多个分组,每个分组中的英文单词的长度相 同,每个分组中的英文单词按照使用频率排序。
[0025] 优选地,所述计算目标英文单词与所述英文字符串的最长的公共长度的步骤包 括:
[0026] 采用动态规划计算目标英文单词与所述英文字符串的最长的公共长度。
[0027] 优选地,所述返回所述目标英文单词的步骤包括:
[0028] 对所述目标英文单词进行排序;
[0029] 返回排序后的目标英文单词。
[0030] 本发明实施例还公开了一种英文的输入装置,包括:
[0031] 英文字符串接收模块,用于接收输入的英文字符串;所述英文字符串具有原始长 度;
[0032] 目标长度计算模块,用于根据所述英文字符串的原始长度计算目标长度;
[0033]目标英文单词查找模块,用于查找长度介于所述原始长度与所述目标长度之间的 目标英文单词;
[0034] 公共长度计算模块,用于计算所述目标英文单词与所述英文字符串的最长的公共 长度;所述公共长度为相同字母的长度;
[0035] 英文单词返回模块,用于在所述最长的公共长度为所述原始长度的N倍时,返回 所述目标英文单词;所述N为小于等于1的正数。
[0036] 优选地,所述公共长度所属的相同的字母的顺序相同。
[0037] 优选地,所述目标长度计算模块包括:
[0038] 比值计算子模块,用于计算所述英文字符串的原始长度与预设的相似度阈值的比 值,获得目标长度。
[0039] 优选地,所述目标英文单词查找模块包括:
[0040] 赋值子模块,用于将所述英文字符串的原始长度赋值给预设的中间变量;
[0041] 判断子模块,用于判断所述中间变量是否大于所述目标长度;若否,则调用提取子 模块;
[0042] 提取子模块,用于从预置的英文词库中提取长度与所述中间变量相等的英文单 词,获得目标英文单词;
[0043] 增值子模块,用于对所述中间变量增加数值一,返回调用判断子模块。
[0044] 优选地,所述英文词库中包括一个或多个分组,每个分组中的英文单词的长度相 同,每个分组中的英文单词按照使用频率排序。
[0045] 优选地,所述公共长度计算模块包括:
[0046] 动态规划计算子模块,用于采用动态规划计算目标英文单词与所述英文字符串的 最长的公共长度。
[0047] 优选地,所述英文单词返回模块包括:
[0048] 排序子模块,用于对所述目标英文单词进行排序;
[0049] 返回子模块,用于返回排序后的目标英文单词。
[0050] 与现有技术相比,本发明实施例包括以下优点:
[0051] 本发明实施例根据接收的英文字符串的原始长度计算目标长度,查找长度介于原 始长度与目标长度之间的目标英文单词,在目标英文单词与所述英文字符串的最长的公共 长度与原始长度相同时,返回目标英文单词,使得用户在忘记英文单词拼写或者在较少输 入等的情境下,输入英文单词中部分的英文字母串则可以得到需要的英文单词,大大提高 了操作的简便性,并且该英文字母不必相连,容错性大,大大提高了查找英文单词的准确 性,在补全英文单词的情况下,通过计算公共长度大大减少了返回的英文单词的数量,去除 了冗余的英文单词,减少了展示的位置,减少了用户翻页等操作,大大降低了用户的操作和 时间成本,提高了输入效率,并且,减少了电子设备多次响应翻页等操作,减少了系统资源 的消耗。
【专利附图】
【附图说明】
[0052] 图1是本发明的一种英文的输入方法实施例的步骤流程图;
[0053] 图2A至图2B是本发明的一种虚拟键盘的示例图;
[0054] 图3是本发明的一种英文的输入方法的示例流程图
[0055] 图4是本发明的一种英文的输入方装置实施例的结构框图。
【具体实施方式】
[0056] 为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实 施方式对本发明作进一步详细的说明。
[0057] 参照图1,示出了本发明的一种英文的输入方法实施例的步骤流程图,具体可以包 括如下步骤:
[0058] 步骤101,接收输入的英文字符串;
[0059] 需要说明的是,本发明实施例可以应用于具有输入装置的电子设备中,该电子设 备可以包括手机、PDA (Personal Digital Assistant,个人数字助理)、膝上型计算机、掌上 电脑等等,本发明实施例对此不加以限制。
[0060] 该电子设备可以支持包括Windows、Android (安卓)、IOS、WindowsPhone等操作 系统,通常可以运行通过虚拟键盘或语音或物理键盘等方式进行输入的应用程序。其中,该 虚拟键盘或物理键盘可以包括九宫格键盘、全键盘(如QWERT键盘)等等,该应用程序可以 包括输入法程序、即时聊天工具、浏览器等等。
[0061] 该虚拟键盘或物理键盘通常可以具有一个或多个按键,该按键经常被复用,可以 用于输入字符串,具体可以包括但不限于输入数字字符串、英文字符串、中文字符串和符号 字符串中的至少一个。
[0062] 在具体实现中,用户可以通过点击虚拟键盘的按键、或者在虚拟键盘的按键上滑 行(即滑行输入)、或者点击物理键盘的按键、或者输入语言(即语音输入)等方式输入英 文字符串。
[0063] 进一步地,本发明实施例可以在电子设备的显示器屏幕前面、两侧或者后面检测 用户针对虚拟键盘的触控信息,以检测触发的按键。
[0064] 例如,参照图2A和图2B,示出了本发明实施例的一种虚拟键盘的示例图。
[0065] 虚拟键盘200可以称为九宫格键盘或9键键盘,主要可以包括9个虚拟按键。若 点击或者滑行按键201,可以输入英文字符串"0"、1"、,",或者,"(1"、" 6"、"广。
[0066] 虚拟键盘210可以称为全键盘或26键键盘,一个典型的全键盘或26键键盘可以 为QWERT键盘,主要可以包括26个虚拟按键。若点击或者滑行按键211,可以输入英文字符 串"W"或者、",若点击或者滑行按键212,可以输入英文字符串"G"或者"g"。
[0067] 所述英文字符串可以具有原始长度,该原始长度可以为英文字符串中英文字符的 数量。
[0068] 例如,若输入的英文字符串为"scful",则该英文字符串"scful"的原始长度为5 ; 又例如,若输入的英文字符串为"ssful",则该英文字符串"ssful"的原始长度为5。
[0069] 步骤102,根据所述英文字符串的原始长度计算目标长度;
[0070] 在本发明实施例中,目标长度可以为补全/改正英文字符串后的英文单词长度最 大/最短的值。
[0071] 在本发明的一种优选实施例中,步骤102可以包括如下子步骤:
[0072] 子步骤S11,计算所述英文字符串的原始长度与预设的相似度阈值的比值,获得目 标长度。
[0073] 在具体实现中,该相似度可以为输入的英文字符串与预置的英文词库中的英文单 词的相似度,具体可以计算该英文字符串的长度与英文单词的长度的比值(即相似度=英 文字符串的长度/英文单词的长度),获得相似度。
[0074] 在本发明实施例中,可以预先设置一个相似度的阈值,计算英文字符串的原始长 度与该相似度阈值的比值,获得补全英文字符串后的英文单词长度最大的值。
[0075] 需要说明的是,该相似度阈值可以根据学习的情况进行相应的调整。
[0076] 例如,若输入的英文字符串为"scful",假设相似度阈值为1/2,那么目标长度 为5八1/2) = 5*2 = 10,返回的英文单词可以包括"successful";假设相似度阈值为 1/3,那么目标长度为5八1/3) = 5*3 = 15,返回的英文单词可以包括"successful"和 "successfully"。
[0077] 步骤103,查找长度介于所述原始长度与所述目标长度之间的目标英文单词;
[0078] 在具体实现中,英文单词可以存储在英文词库中,则可以在该英文词库中查找长 度介于原始长度与目标长度之间的目标英文单词。
[0079] 在本发明实施例的一种优选示例中,所述英文词库中可以包括一个或多个分组。 具体地,英文单词可以按照单词长度进行分组,该分组可以称为单词段,单词段的段长可以 为该单词段中英文单词的长度,每个分组中的英文单词的长度可以相同(即段长);
[0080] 每个分组中的英文单词可以按照使用频率排序,即在单词段中,英文单词可以按 照使用频率进行从大到小的递减排序。
[0081] 需要说明的是,英文词库可以分为两种,系统词库和用户词库。系统词库可以保存 群体用户对某个英文单词的使用频率,不会根据当前用户的输入而改变;用户词库保存当 前用户对某个英文单词的使用频率,可以会随着当前用户的输入而进行调整。
[0082] 本发明实施例中可以优先搜索用户词库,按照当前用户对某个英文单词的使用频 率排序,然后搜索系统词库,按照群体用户对某个英文单词的使用频率排序。
[0083] 当然,本发明实施例中也可以优先然后搜索系统词库,按照群体用户对某个英文 单词的使用频率排序,再搜索用户词库,按照当前用户对某个英文单词的使用频率排序;或 者,按照搜索系统词库,按照群体用户对某个英文单词的使用频率排序;或者,搜索用户词 库,按照当前用户对某个英文单词的使用频率排序,等等,本发明实施例对此不加以限制。 [0084] 在实际应用中,因为输入法程序等对反应速度的要求比较高,所以英文词库可以 以二进制格式保存在内存中。
[0085] 以下以一个英文词库的示例:
[0086] 英文词库中的英文单词包括 "hi ","he 11 〇 "," good","happy ","how","what ", ''name,'。
[0087] 英文词库中的分段表可以如下所示:
[0088]
【权利要求】
1. 一种英文的输入方法,其特征在于,包括: 接收输入的英文字符串;所述英文字符串具有原始长度; 根据所述英文字符串的原始长度计算目标长度; 查找长度介于所述原始长度与所述目标长度之间的目标英文单词; 计算所述目标英文单词与所述英文字符串的最长的公共长度;所述公共长度为相同字 母的长度; 当所述最长的公共长度为所述原始长度的N倍时,返回所述目标英文单词;所述N为小 于等于1的正数。
2. 根据权利要求1所述的方法,其特征在于,所述公共长度所属的相同的字母的顺序 相同。
3. 根据权利要求1所述的方法,其特征在于,所述根据所述英文字符串的原始长度计 算目标长度的步骤包括: 计算所述英文字符串的原始长度与预设的相似度阈值的比值,获得目标长度。
4. 根据权利要求1或2或3所述的方法,其特征在于,所述查找长度介于所述原始长度 与所述目标长度之间的目标英文单词的步骤包括: 将所述英文字符串的原始长度赋值给预设的中间变量; 判断所述中间变量是否大于所述目标长度; 若否,则从预置的英文词库中提取长度与所述中间变量相等的英文单词,获得目标英 文单词; 对所述中间变量增加数值一,返回执行所述判断所述中间变量是否大于所述目标长度 的步骤。
5. 根据权利要求4所述的方法,其特征在于,所述英文词库中包括一个或多个分组,每 个分组中的英文单词的长度相同,每个分组中的英文单词按照使用频率排序。
6. 根据权利要求1或2或3或5所述的方法,其特征在于,所述计算目标英文单词与所 述英文字符串的最长的公共长度的步骤包括: 采用动态规划计算目标英文单词与所述英文字符串的最长的公共长度。
7. 根据权利要求1或2或3或5所述的方法,其特征在于,所述返回所述目标英文单词 的步骤包括: 对所述目标英文单词进行排序; 返回排序后的目标英文单词。
8. -种英文的输入装置,其特征在于,包括: 英文字符串接收模块,用于接收输入的英文字符串;所述英文字符串具有原始长度; 目标长度计算模块,用于根据所述英文字符串的原始长度计算目标长度; 目标英文单词查找模块,用于查找长度介于所述原始长度与所述目标长度之间的目标 英文单词; 公共长度计算模块,用于计算所述目标英文单词与所述英文字符串的最长的公共长 度;所述公共长度为相同字母的长度; 英文单词返回模块,用于在所述最长的公共长度为所述原始长度的N倍时,返回所述 目标英文单词;所述N为小于等于1的正数。
9. 根据权利要求8所述的装置,其特征在于,所述公共长度所属的相同的字母的顺序 相同。
10. 根据权利要求8所述的装置,其特征在于,所述目标长度计算模块包括: 比值计算子模块,用于计算所述英文字符串的原始长度与预设的相似度阈值的比值, 获得目标长度。
11. 根据权利要求8或9或10所述的装置,其特征在于,所述目标英文单词查找模块包 括: 赋值子模块,用于将所述英文字符串的原始长度赋值给预设的中间变量; 判断子模块,用于判断所述中间变量是否大于所述目标长度;若否,则调用提取子模 块; 提取子模块,用于从预置的英文词库中提取长度与所述中间变量相等的英文单词,获 得目标英文单词; 增值子模块,用于对所述中间变量增加数值一,返回调用判断子模块。
12. 根据权利要求11所述的装置,其特征在于,所述英文词库中包括一个或多个分组, 每个分组中的英文单词的长度相同,每个分组中的英文单词按照使用频率排序。
13. 根据权利要求8或9或10或12所述的装置,其特征在于,所述公共长度计算模块 包括: 动态规划计算子模块,用于采用动态规划计算目标英文单词与所述英文字符串的最长 的公共长度。
14. 根据权利要求8或9或10或12所述的装置,其特征在于,所述英文单词返回模块 包括: 排序子模块,用于对所述目标英文单词进行排序; 返回子模块,用于返回排序后的目标英文单词。
【文档编号】G06F3/023GK104281275SQ201410475386
【公开日】2015年1月14日 申请日期:2014年9月17日 优先权日:2014年9月17日
【发明者】王燚, 赵虹 申请人:北京搜狗科技发展有限公司