输入法编辑器的制作方法

文档序号:6352342阅读:276来源:国知局
专利名称:输入法编辑器的制作方法
输入法编辑器技术领域
本说明书涉及输入法。
背景技术
书写系统使用符号(例如,字符或字形)来表示语言的发音。在书写系统中符号集 合可以被称为文字。例如,在一个或多个罗马文字中包括罗马字符集合的拉丁书写系统可 以用来表示英语。拉丁书写系统可以包括块状罗马字符(例如,大写字母字符“B”)、类型化 罗马字符(例如,纯字符“b”)以及草书罗马字符(例如,草书字符“b”)。在拉丁书写系统中, 字符“b”的每一个可视化表示表示相同字形。
作为另一个示例,中文可以由多于一个书写系统表示。例如,中文可以由例如拼音 (或罗马化的中文)的第一书写系统表示。作为另一个示例,中文可以使用例如汉语拼音或 注音符号(“注音”)的第二书写系统来表示。作为又一个示例,中文可以使用例如汉字的第 三书写系统来表示。具体地,拼音和注音是用于表示汉字字符的语音系统。
使用其中例如字符的一个或多个符号大致对应于一个词或含义的语标书写系统 的语言,具有比在标准输入设备,诸如移动设备键区上的计算机键盘,上的键更多的字符。 然而,输入法编辑器帮助使用计算机键盘来输入这些书写系统中的字符。例如,输入法编辑 器可以采用拼音书写系统中的罗马字符输入,并且将输入映射到中文的许多汉字字符。因 此,为在第一书写系统中的输入设计的键盘可以用来输入第二书写系统中的文本,例如用 于罗马文字的键盘(例如,QWERTY键盘)可以用来输入中文、日文或韩文字符。发明内容
总的来说,在本说明书中描述的主题的一个方面可以在包括以下动作的方法中具 体化接收第一书写系统中的字符输入序列;在字符输入序列中识别一个或多个第一连续 字符子序列,其中每一个子序列表示在不同的第二书写系统中的音节;在字符输入序列中 识别一个或多个第二子序列,其中每一个第二子序列包括一个或多个连续第一子序列并且 表示在不同的第二书写系统中的项目(term);确定为一个或多个第二子序列划界的一个或 多个边界;以及生成一个或多个可选指示符以供在用户界面中显示,其中一个或多个可选 指示符中的每一个识别由一个或多个边界划界的相应第二子序列。本方面的其他实施例包 括对应的系统、装置和计算机程序产品。
这些和其他实施例可以可选地包括以下特征中的一个或多个。该方法进一步包 括从整个字符输入序列确定在第三书写系统中的一个或多个第一输入候选,其中第三书 写系统不同于第一书写系统和第二书写系统,以及其中每一个第一输入候选对应于一个或 多个连续第二子序列的序列;以及将一个或多个第一输入候选显示为对字符输入序列的可 选替选。
该方法进一步包括检测触发器事件(trigger event);以及响应于检测到触发器 事件,在用户界面中显示可选指示符,其中每一个可选指示符识别相应第二子序列。该方法进一步包括接收对第一可选指示符的用户选择;以及从第三字符子序列确定在第三书写 系统中的一个或多个第二输入候选,其中第三子序列包括如下顺序的所有第二子序列直 至第一可选指示符所识别的特定第二子序列为止的所有第二子序列在输入序列中出现的 顺序。该方法进一步包括将一个或多个第二输入候选而不是第一输入候选显示为对第三字 符子序列的可选替选。
该方法进一步包括接收将文本光标移动到特定第一子序列的用户输入,其中文 本光标识别当前的文本输入位置;以及从第三字符子序列确定第三书写系统中的一个或多 个第二输入候选,其中第三子序列包括如下顺序的所有完整第二子序列直至特定第一子 序列为止的所有完整第二子序列在输入序列中出现的顺序,后跟如下顺序的所有第一子序 列直至特定第一子序列为止并且包括该特定第一子序列的所有第一子序列在输入序列中 出现的顺序。该方法进一步包括将一个或多个第二输入候选而不是第一输入候选显示为对 第三字符子序列的可选替选。第一书写系统是拉丁,不同的第二书写系统是拼音,并且第三 书写系统是汉字。
在本说明书中描述的主题的另一个方面可以在包括以下动作的方法中具体化将 用户输入的多个字符分成一个或多个代符(token),其中代符是一个或多个字符的组;将 代符聚组成一个或多个代符组;根据操作粒度,生成用于代符组的一个或多个边界;以及 响应于接收指示触发器的激活的输入,可视地指示用于代符组的边界。本方面的其他实施 例包括对应的系统、装置以及计算机程序产品。
这些和其他实施例可以可选地包括以下特征中的一个或多个。操作粒度从包括 以下的粒度组中选择字符级,其中针对单个字符执行操作;代符级,其中针对代符执行操 作,以及其中代符表示音节;以及代符组级,其中针对代符组执行操作,以及其中代符组表示短语。
该方法进一步包括通过按下一个或多个热键来使插入符向左移动一个代符组或 向右移动一个代符组,其中插入符识别当前的文本输入位置。触发器由用户所按下的一个 或多个热键激活。当一个或多个热键被连续地按下时,使用数字来可视地指示用于代符组 的一个或多个边界。
使用语言模型来生成用于代符组的一个或多个边界。每一个代符组对应于语言模 型中的语言模型格阵(lattice)项,其中语言模型格阵项是词汇项或短语。该方法进一步 包括响应于接收选择用于代符组的边界的输入而选择代符组。选择边界的输入通过由控制 键和与用于边界的视觉指示符相对应的数字组成的热键生成。
可以实现在本说明书中描述的主题的特定实施例,以实现以下优势中的一个或多 个。在用户输入中自动识别可选文本序列,例如表示项目的文本序列,减少了修改用户输 入以及获取对输入的可选替选(例如,输入的音译)所需的用户交互的程度。自动识别可选 文本序列在浏览通过以及编辑所输入的字符组时节省了用户时间,因为可以减少导航输入 (例如,移动文本光标的输入)或编辑输入(例如,删除/添加字符的输入)的数量。
在附图和下面的描述中阐述了在本说明书中描述的主题的一个或多个实施例的 细节。本主题的其他特征、方面和优势从描述、附图和权利要求将变得显而易见。


图1A是图示显示输入和对该输入的可选替选的示例输入法编辑器界面的截屏。
图1B是图示显示带有打字错误的输入和对该输入的可选替选的示例输入法编辑器界面的截屏。
图2是图示图1A的示例输入法编辑器界面的截屏,其中输入的不同部分被加标签。
图3是图示观察到的文本输入序列和由观察到的文本输入序列表示的潜在项目序列的框图。
图4是示出用于在输入法编辑器中提供浏览和编辑功能的示例过程的流程图。
图5是图示显示输入的示例输入法编辑器界面的截屏,其中输入的不同部分被加标签。
图6-18是图示用于浏览和编辑输入的示例输入法编辑器界面和交互的截屏。
图19是示出用于在输入法编辑器中提供浏览和编辑功能的另一个示例过程的流程图。
图20是可以利用来实现在本文中描述的系统和方法的示例系统的框图。
图21包括可以利用来实现图20中的输入法编辑器的示例软件的框图。
具体实施方式
·
图1A是图示显示输入和对该输入的可选替选的示例输入法编辑器(ME)界面的截屏。IME界面可以包括用于提供第一书写系统(例如,拼音)中的输入的第一界面元素(例如,组合框),以及用于显示在不同的第二书写系统中的可选替选(例如,汉字-中文的候选音译)的第二界面元素(例如,候选窗口)。在图1A中,输入是“pin yin shu ru fa”,以及可选替选是汉字-中文的五个候选音译,即“拼音输入法”(例如,拼音的“ρ n yi n shu ru Μ”);“拼音输入”(例如,拼音的“ρ n yi n shu rii”);“拼音”(例如,拼音的“ρ n yi n,,);“品”(例如,拼音的“ρ η”);以及“拼”(例如,拼音的“pi η”)。
总的来说,输入可以包括一个或多个字符序列。作为示例,输入可以是字符、包含多个字符的项目(例如词或短语)、或包含多个项目的句子。有时,输入可以是期望音译的完整语音拼写。例如,在图1A中,输入“pin yin shu ru fa”可以是“拼音输入法”的完整语音拼写。在一些情况下,用户输入完全拼音表示(完整语音拼写)可能是不方便的,例如尤其在移动设备(例如,移动电话)上。因此,用户有时可能输入比完全拼音表示少的多个字符 (例如,缩写)。例如,用户可以将“pysrf”作为输入提供,并且ME可以将输入“pysrf”映射到完全拼音表示“pin yin shu ru fa”。
在两个示例中,例如,当输入包括打字错误时,用户对输入进行修改可能均是不方便的。在如同图1A的ME或用户界面中,用户将需要例如通过一次为将文本光标的当前位置与打字错误的位置分离的每一个可选对象(例如每一个可选替选、或每一个划界的罗马字符组)按下LEFT/RIGHT (左/右)光标键,将文本光标(例如,插入符或I条)移动到打字错误的位置。文本光标识别当前的文本输入或修改位置。
图1B是图示显示带有打字错误的输入和对该输入的可选替选的示例输入法编辑器界面的截屏。在图1B中,用户意在提供输入“Pin yinshu ru fa shi zhe yang gong zuo de”(增加了强调)。然而,用户在预期的字符序列“shu”(例如拼音音节)中没有输入字符“S”。因此,输入当前包括字符序列“Pin yin hu ru fa shi zhe yang gong zuo de”(增 加了强调)。因此,可选替选(例如,中文的音译候选)可能不同于用户意在获取的内容。
在图1B中,注意到,文本光标当前位于可选替选“拼音呼入法是这样工作的”上, 如第一可选替选的高亮所示。为了校正打字错误,用户将按下LEFT光标键九次(例如,以通 过(I) “de”,(2) “zu。”,(3) “gong”,(4) “yang”,(5) “zhe”,(6) “shi”,(7) “fa”,(8) “ru”以及(9) “hu”)、或RIGHT光标键七次(例如,以通过(I) “拼音”,(2) “品”,(3) “拼”, (4) “频”,(5) “pin”,(6) “yin”以及(7) “hu”),来将文本光标移动到“hu”并且插入缺少 的字符“S”。
图2是图示图1A的示例输入法编辑器界面的截屏,其中输入的不同部分被加标 签。不同部分对应于不同语言单元,例如关于字符的单元,关于音节的单元,关于项目(例 如,一个或多个词)的单元以及关于句子的单元。根据操作粒度,例如可以针对单元作为整 体执行浏览和编辑操作(例如,高亮、删除、复制、粘贴、替换)的级别,每一个语言单元对应 于可操作单元。
总的来说,操作粒度级包括字符级、代符级、项目级以及句子级。在字符级,可以针 对在原始输入的第一书写系统中的字符执行操作。在代符级,可以针对由第一书写系统中 的字符所表示的代符(例如,音节)执行操作。在代符组级,可以针对代符组(例如,项目或短 语)执行操作。句子级将整个输入看作操作单元,例如,该整个输入可以是或可以不是句子。
在图2中,根据用于拼音书写系统的示例操作粒度级,为拼音输入加标签。具体 地,字符级被加标签为“拼音字符”级,其中针对单个拉丁字符执行操作。代符级被加标签 为“拼音代符”级,其中针对拼音代符,例如拼音音节或拼音音节的缩写,对应于中文字符的 最小音译单元,执行操作。代符组级被加标签为“短语/代符组”级,其中针对代符组,例如 拼音项目或短语执行操作。句子级被加标签为“句子”级。注意到,图2中的级标签实际上 不在所图示的IME界面中显示。
在图2 中,输入“pin yin shu ru fa”包括五个拼音代符“pin”、“yin”、“shu”、 “ru”以及“fa”,其每一个可以表示中文字符的拼音音节。作为另一个示例,输入“P y shu r fa”也表示五个拼音音节,其中“p”、“y”、“r”是拼音音节的缩写。一个或多个五个拼音 代符的各种组合可以是拼音代符组,其对应于汉字-中文项目。
图3是图示观察到的文本输入序列和由观察到的文本输入序列表示的潜在项目 序列的框图。图3中所图示的数据可以被存储在语言模型中的格阵中。可以使用语言模型 来为观察到的文本序列,例如图3中的文本序列“pin yin shu ru fa”生成候选音译,如参 考图21进一步描述的。在图3的格阵中,可以通过遍历不同路径通过格阵项来选择最可能 的候选音译。具体地,一些示例候选音译包括“拼音输入法”、“拼因数入法”、“频因输入法” 以及“贫引书如发”。在示例中,最佳路径,即最可能的候选音译,是“拼音输入法”。将输入 分割成表示目标书写系统中的项目的字符子序列,可以由语言模型提供。可以使用常规方 法来生成并使用语言模型。
图4是示出用于在输入法编辑器中提供浏览和编辑功能的示例过程400的流程 图。过程400包括将用户输入的多个字符分成402 —个或多个代符。代符是一个或多个字 符的组。作为示例,当用户提供输入“Pinyinshurufa”时,将输入中的字符分成五个代符 “pin”、“yin,,、“Shu”、“ru”以及“fa”,如图2中所示。过程400还包括将代符聚组403成一个或多个代符组。在示例中,可以将五个字符代符“pin”、“yin”、“shu”、“ru”以及“fa” 聚组成两个代符组(也被称为“短语代符”)“pinyin”和“shurufa”。
过程400还包括根据操作粒度为代符组生成404—个或多个边界。在一些实施方式中,通过使用语言模型来识别最可能的音译候选,例如由通过语言模型的格阵的最可能路径所表示的音译候选,来生成一个或多个边界。在示例中,可以识别为代符组“pinyin” 和“shurufa”划界的边界。此外,可以识别为代符“pin”和“yin”划界的边界,以及为代符 “ shu ”、“ ru ”和“ fa ”划界的边界。
过程400还包括响应于接收指示触发器的激活的输入,可视地指示406用于代符组的边界。可视地指示边界可以包括为由边界划界的代符组加标签,例如紧挨每一个代符组显示数字或字母。还可以使用不同颜色、图案或用来区分代符组的其他视觉方面来可视地指示边界。
在对输入的浏览和编辑期间,用户可以使用视觉指示符来快速辨识代符组,并且直接导航到特定代符组,例如,不用将文本光标移动通过在特定代符组和文本光标的当前位置之间的代符组。
图5是图示显示输入的示例输入法编辑器界面的截屏,其中输入的不同部分被加标签。在图5中,输入“pinyinshurufadegongneng”是用来表示拼音的罗马字符序列。注意到,用户没有典型地输入分隔符(例如,空格、“ I ”字符)来明确划界该罗马字符之间的边界。
图5中的IME界面示出了在输入的拼音“pinyinshurufadegongneng”被分成八个拼音代符^^^^‘也^^”/^”/‘如”/^叩”以及“加叩”之后的输入版本。识别将八个拼音代符中的每一个与邻近拼音代符划界的边界,例如代符边界。此外,IME可以从八个拼音代符识别四个代符组“pinyin”、“ShUrUfa”、“de”以及“gongneng”。识别将四个代符组中的每一个与邻近拼音代符划界的边界,例如代符组边界。可以从使用语言模型来识别的分割确定边界。
图6-18是图示用于浏览和编辑输入的示例输入法编辑器界面和交互的截屏。具体地,图6-14示出浏览操作,例如执行来将文本光标从一个可操作单元直接移动到另一个可操作单元的操作。图15-18示出编辑操作,例如针对可操作单元作为整体执行来修改该可操作单元的操作。
图6示出在检测到触发器事件之前的示例IME界面。作为示例,触发器事件可以是从用户接收指示用户意在激活浏览通过或编辑输入的可操作单元的功能的命令输入。作为示例,命令输入可以是热键的激活,例如通过按下控制(“CTRL”)键。命令输入还可以是一个或多个物理键,例如在物理键盘设备上的键,或虚拟键,例如在显示器上键的可视表示, 的激活。
当按下CTRL键时,在ME界面上显示区分代符组“pinyin”、“Shurufa”、“de”以及“gongneng”的视觉指示符。在图7中,代符组“pinyin”被加标签有数字“0”,代符组 "shurufa"被加标签有数字“ I ”,代符组“de”被加标签有数字“2”,以及代符组“gongneng” 被加标签有数字“3”。
当触发器事件结束时,可以从显示移除视觉指示符。作为示例,触发器事件可以在 CTRL键被按下期间继续,并且在CTRL键被释放时结束。作为另一个示例,触发器事件可以在CTRL键被按下一次时开始,并且在CTRL键被再次按下时结束。在图8中,触发器事件已结束,并且ME界面返回到如图6中的状态,例如,其中标签“O ”、“ I ”、“ 2 ”和“ 3 ”消失。
当响应于触发器事件而显示标签时,图9中的IME界面示出与在图6中相同的状态。注意到,在用户界面中,例如插入符的文本光标当前位于代符组“gongneng”的右边。通过提供命令输入,可以选择特定代符组,并且可以将文本光标同时移动到与特定代符组邻近的位置,例如,在特定代符组和在输入中在特定代符组之前或之后发生的邻近代符组之间的位置。
在图10中,当同时按下CTR L键和数字键(CTRL+数字)时,文本光标被移动到以对应数字加标签的代符组边界。如图10中所图示,当同时按下CTRL键和数字“2”键时,文本光标被移动到以“2”加标签的代符组边界,例如紧靠代符组“de”的左边的位置。如图10 中所图示,在一些实施方式中,从显示移除与在输入中在所选择的、特定代符组之后发生的代符组相关联的视觉指示符。在图10中,已从显示移除了标签“2”和“3”。
在触摸屏显示器上显示ME界面的一些实施方式中,可以通过触摸在触摸屏显示器上的视觉指示符的图形表示来选择视觉指示符。
在一些实施方式中,对在输入中在选择的特定代符组之后发生的代符组的视觉属性(例如颜色、大小)进行修改,以指示从用于确定可选替选的考虑临时移除这些代符组。移除被认为是临时的,因为当触发器事件结束时,这些代符组可以被添加回到考虑作为输入的一部分。当触发器事件结束时,用户更可能具有输入的在这些代符组之前发生的完成编辑的部分。
在图10中,代符组“de”和“gong neng”的字体颜色已被修改,例如,被改变成更浅的颜色,以指示在頂E界面的当前状态下不考虑“de gong neng”。因此,ME确定并提供为输入的不包括“gong neng”的部分显示可选替选。注意到,在图9中,关于输入“pin yin shu rufa de gong neng”的第一可选替选“拼音输入法的公能”(例如,拼音的“ρ η yi n shu ru fa de g5 ng n6ng”)与关于输入的在图10中被考虑的部分即“pin yin shu ru fa”的第一可选替选“拼音输入法”(例如,ρ n yi n shu ru fd)不相同。
在图11中,ME用户界面的状态与图9中的相同。再次,注意到,在用户界面中, 文本光标位于代符组“gongneng”的右边。在一些实施方式中,通过提供方向输入将文本光标从一个代符组边界直接移动到另一个代符组边界。例如,在图12中,当同时按下CTRL键和LEFT键(例如,“一”光标键)时,文本光标从图11中所示的位置被移动到图12中所示的位置,即在文本光标的原始位置的左边的第一代符组边界的位置。
类似地,图13-14示出可以如何使用方向输入来将光标从一个代符边界直接移动到另一个代符边界。在示例中,CTRL+RIGHT (例如,CTRL+―)将文本光标移动到在文本光标的原始位置的右边的第一代符组的位置,即从紧靠代符“de”的右边的位置到紧靠代符 “gong”的右边的位置。其他浏览操作(例如,朝其他方向(例如,向上、向下)移动文本光标) 是可能的。
在图15-16中,针对代符执行编辑操作,例如退格操作。注意到,在图15中,在用户界面中,文本光标位于代符“fa”的右边。在图18中,当同时按下CTRL键和BACKSPACE 键时,位于紧靠文本光标的左边的地方的代符即“fa”被删除。
在图17-18中,针对代符执行编辑操作,例如删除操作。注意到,在图17中,在用户界面中,文本光标位于紧靠代符“fa”的左边的地方。在图18中,当同时按下CTRL键和 DELETE键(“DEL”键)时,位于紧靠文本光标的右边的地方的代符即“fa”被删除。其他编 辑操作(例如复制、粘贴、替换)是可能的。
上面的描述描述了特定实施方式。随后是这些和其他实施方式的一般特征的另外 描述。
在一些实施方式中,接收第一书写系统中的字符输入序列。例如,第一书写系统可 以是拉丁。在图5中,字符输入序列的示例是“pinyinshurufadegongneng”。
在字符输入序列中,识别一个或多个第一连续字符子序列。每一个子序列表示在 不同的第二书写系统中的音节。该不同的第二书写系统可以是中文拼音,其中音节对应于 汉字字符。在图5中,第一子序列的示例是“pin”、“yin”、“ShU”、“rU”、“fa”、“de”、“g0ng” 以及 “neng”。
在字符输入序列中,识别一个或多个第二子序列。每一个第二子序列包括一个或 多个连续第一子序列,并且表示在不同的第二书写系统中的项目。在图5中,示例第二子序 列包括“pinyin”(包括连续第一子序列“pin”和“yin”)、“shUrUfa”(包括连续第一子序 列“shu”、“ru” 和“fa”)、“de” 以及“gongneng”(包括连续第一子序列“gong” 和“neng”)。
确定为一个或多个第二子序列划界的一个或多个边界。在图5中,关于第二子序 列的边界的示例是在“Pinyin ”和“ shurufa”之间的代符组边界。
生成一个或多个可选指示符以在用户界面中显示。一个或多个可选指示符中的每 一个识别由一个或多个边界划界的相应第二子序列。在图7中,示例可选指示符包括识别 四个第二子序列 “pinyin”、“ shuruf a”、“ de ” 和 “ gongneng” 的标签 “O,,、“ I ”、“ 2 ” 和 “ 3 ”。
在一些实施方式中,从整个字符输入序列确定在第三书写系统中的一个或 多个第一输入候选,并且将一个或多个第一输入候选显不为对字符输入序列的可选 替选。例如,第三书写系统可以是汉字、片假名或谤文。在图5中,在用户界面上为 “pinyinshurufadegongneng”生成并显示示例第一输入候选“拼音输入法的功能”、“拼音输 入法”、“拼音输入”、“拼音”以及“品”。
在一些实施方式中,当接收了对第一可选指示符的用户选择时,从第三字符子序 列确定在第三书写系统中的一个或多个第二输入候选。第三子序列包括如下顺序的所有第 二子序列直至第一可选指示符所识别的特定第二子序列为止的所有第二子序列在输入序 列中出现的顺序。作为示例,在图10中,当用户选择第一可选指示符“2”时,从包括第二子 序列“pin yin”和“shurufa”的第三子序列“pinyin shurufa”确定第二输入候选“拼音输 入法”。
将一个或多个第二输入候选而不是第一输入候选显示为对第三字符子序列的可 选替选。作为示例,在图10中,从“pin yin shu ru fa”确定第二输入候选“拼音输入法”, 并且将其,而不是“pin yin shu rufa de gong neng”的第一输入候选“拼音输入法的功 能”,显示为对第三字符子序列的可选替选,如图9中所示。
在一些实施方式中,在接收将文本光标移动到特定第一子序列的用户输入之后, 从第三字符子序列确定第三书写系统中的一个或多个第二输入候选。第三子序列包括如下 顺序的所有完整第二子序列直至特定第一子序列为止的所有完整第二子序列在输入序列 中出现的顺序,后跟直至特定第一子序列为止并且包括该特定第一子序列的所有第一子序列在输入序列中出现的顺序。在图14中,当用户将文本光标移动到“neng”时,从“pinyin shurufa de gong”确定第二输入候选“拼音输入法的”。
将一个或多个第二输入候选而不是第一输入候选显示为对第三字符子序列的可 选替选。作为示例,在图12中,将“pin yin shu ru fa de”的第二输入候选“拼音输入法 的”,而不是“pin yin shu ru fa de gong neng”的第一输入候选“拼音输入法的功能”,显 示为对第三字符子序列的可选候选。
图19是示出用于在输入法编辑器中提供浏览和编辑功能的另一个示例过程1900 的流程图。过程1900包括接收1902第一书写系统中的字符输入序列。过程1900还包括 在字符输入序列中识别1903 —个或多个第一连续字符子序列。每一个子序列表示在不同 的第二书写系统中的音节。过程1900还包括在字符输入序列中识别1904 —个或多个第二 子序列。每一个第二子序列包括一个或多个连续第一子序列并且表示在不同的第二书写系 统中的项目。
过程1900还包括确定1905为一个或多个第二子序列划界的一个或多个边界。过 程1900还包括生成1906 —个或多个可选指示符以在用户界面中显示。一个或多个可选指 示符中的每一个识别由一个或多个边界划界的相应第二子序列。
图20是可以利用来实现在本文中描述的系统和方法的示例系统2000的框图。示 例系统2000可以例如在计算机设备,例如个人计算机设备、或其他电子设备,例如移动电 话、移动通信设备、个人数字助理(PDA)、全球定位系统(GPS)导航设备等中实现。
示例系统2000包括处理设备2002、第一数据存储2004、第二数据存储2006、输入 设备2008、输出设备2010以及网络接口 2012。可以使用包括例如数据总线和母板的总线 系统2014来建立并控制在组件2002、2004、2006、2008、2010和2012之间的数据通信。也 可以使用其他系统体系结构。
处理设备2002可以例如包括一个或多个微处理器。第一数据存储2004可以例如 包括随机存取存储器存储设备,诸如动态随机存取存储器、或其他类型的计算机可读介质 存储器设备。第二数据存储2006可以例如包括一个或多个硬盘驱动器、闪存和/或只读存 储器、或其他类型的计算机可读介质存储器设备。
示例输入设备2008可以包括键盘、鼠标、尖笔等,以及示例输出设备2010可以包 括显示设备、音频设备等。网络接口 2012可以例如包括可操作来将数据传送给网络2016 以及传送来自网络2016的数据的有线或无线网络设备。网络2016可以包括一个或多个局 域网(LAN)、广域网(WAN),诸如因特网、无线网络,诸如蜂窝网络、或所有上述的组合。
在一些实施方式中,系统2000可以包括来自诸如数据存储2006的数据存储的输 入法编辑器(ME)代码2001。输入法编辑器代码2001可以包括当执行时促使处理设备2002 执行输入法编辑功能的指令。输入法编辑器代码2001可以例如包括可以在web浏览器环 境中执行的解释指令,诸如脚本指令,例如JavaScript或ECMAScript指令。还可以使用其 他实施方式,例如单机应用、小应用程序、插件模块等,以供在用户界面中使用,例如显示对 于移动设备通过使用键区映射或对于移动设备或个人计算机通过使用键盘映射来接收的 用户输入的用户界面。
输入法编辑器代码2001的执行生成或启动输入法编辑器实例(IMEI) 2003。输入 法编辑器实例2003便于在系统2000处处理一个或多个输入法,在这期间,系统2000可以接收针对字符或符号的输入,诸如表示拼音的罗马字符。例如,用户可以使用输入设备2008 (例如,键盘,诸如针对罗马文字的键盘、与手写识别引擎一起使用的尖笔等)中的一个或多 个来输入拼音输入以识别汉字项目。在一些情况下,汉字项目由多于一个拼音输入组成。
第一数据存储2004和/或第二数据存储2006可以存储输入的关联。基于用户输 入,输入法编辑器实例2003可以使用数据存储2004和/或数据存储2006中的信息来识别 输入所表示的一个或多个候选选择。在一些实施方式中,如果多于一个候选选择被识别,则 在输出设备2010上显不候选选择。使用输入设备2008,用户可以从候选选择中选择例如用 户期望输入的汉字项目。
在一些实施方式中,在系统2000上的输入法编辑器实例2003可以接收一个或多 个拼音输入,并且将所述输入转换成汉字项目。输入法编辑器实例2003可以例如使用接收 自键击的拼音音节(例如,罗马字符)的组合来表示汉字项目。每一个罗马字符可以例如对 应于针对罗马文字的键盘中的键。使用拼音输入法编辑器,用户可以通过使用包括表示汉 字项目的发音的一个或多个拼音音节的输入来输入汉字项目。然而,也可以便于用于其他 语目和书写系统的输入法。
在一些实施方式中,还可以使用能够访问系统2000的远程计算系统2018来编辑 语标文字。例如,系统2000可以是经由网络2016提供语标文字编辑能力的服务器。在一个 示例中,用户可以使用例如客户端计算机的远程计算系统来编辑存储在数据存储2004和/ 或数据存储2006中的语标文字。系统2000可以例如选择字符,并且通过网络接口 2012从 用户接收输入。处理设备2002可以例如识别与所选择的字符邻近的一个或多个字符,并且 基于接收到的输入和邻近字符来识别一个或多个候选选择。系统2000可以将包括候选选 择的数据通信传送回远程计算系统。
图21包括可以利用来实现图20中的输入法编辑器(例如,IMEI2003)的示例软件 的框图。系统2100包括用户接口 2102和软件2104。用户2106可以通过用户接口 2102访 问系统2100。软件2104包括应用2105、ME引擎2106、操作系统(OS)2107、语言模型2108 以及检测引擎2110。操作系统2107是可以在软件2104(例如,应用2105和ME引擎2106) 和用户2106之间提供用户接口 2102的特定软件。
如图21中所示,语言模型2108独立于ME弓丨擎2106。具体地,语言模型2108被 包括在软件2104内作为单独软件组件。其他实施方式是可能的。例如,语言模型2108可 以位于远程的位置(例如,在图1的远程系统118处)。作为另一个示例,语言模型2108可 以被包括在ME引擎2106内。
语言模型2108可以定义一个或多个语言子模型,例如日语子模型、中文子模型 等。每一个语言子模型可以例如定义可以用来确定用户在输入一组输入(例如,用于生成为 翻译、音译或其他类型的语音表示的候选的输入)时的可能意图的特定规则集,例如特定于 语言的语法、短语集、非谓语动词等。每一个语言子模型还可以包括特定用户的用户历史, 例如特定用户经常使用的词和短语的词典。
检测引擎2110包括输入模块2112和计时模块2114。输入模块2112可以例如接 收到特定应用2105的输入(例如,表示第一书写系统中的字符的键击),并且将接收到的输 入发送给ME引擎2106。在一些实施方式中,检测引擎2110是ME引擎2106的组件。
检测引擎2110可以检测第一书写系统中的输入(例如,包括罗马字符的拼音输入),并且确定是否将该输入发送给ME引擎2106。ME引擎2106可以例如使用输入法编 辑器代码101以及相关联的数据存储104和106来实现,并且当输入(例如,诸如罗马字符 的字形)被检测到时或基于来自计时模块2114的预先确定的延时,向接口(例如,用户接口 2102)提供第二书写系统中的输出候选(例如,诸如汉字项目的词汇项目)。
系统2100的组件可以被通信地耦接到彼此中的一个或多个。尽管上面识别的组 件被描述为是独立或不同的,然而,可以将组件中的一个或多个组合成单个过程或例程。在 本文中提供的功能描述,包括对不同功能的职责的分离,是作为示例的。也可以使用其他存 储体系结构。具体地,必要时或依据设计偏好,可以进行功能职责的其他聚组或其他划分。 例如,IME引擎2106可以执行检测引擎2110的功能。作为另一个示例,输入模块2112和 计时模块2114可以被组合成单个模块。
在本说明书中描述的主题和功能操作的实施例可以以数字电子电路、或者以计算 机软件、固件或硬件,包括在本说明书中公开的结构以及其结构等同物、或者以以上一个或 多个的组合来实现。可以将在本说明书中描述的主题的实施例实现为一个或多个计算机程 序产品,即一个或多个计算机程序指令模块,其被编码在有形程序载体上以供数据处理装 置执行或控制数据处理装置的操作。有形程序载体可以是计算机可读介质。计算机可读介 质可以是机器可读存储设备、机器可读存储基片、存储器设备、或以上一个或多个的组合。
术语“数据处理装置”包含用于处理数据的所有装置、设备以及机器,包括作为示 例可编程处理器、计算机、或多个处理器或计算机。除硬件外,装置可以包括为讨论中的计 算机程序创建执行环境的代码,例如构成处理器固件、协议堆栈、数据库管理系统、操作系 统、或以上一个或多个的组合的代码。
计算机程序,也称作程序、软件、软件应用、脚本或代码,可以以任何形式的编程语 言编写,包括编译或解释语言、或者说明性或过程性语言,并且其可以以任何形式部署,包 括作为独立程序或作为模块、组件、子程序、或适于在计算环境中使用的其他单元。计算机 程序不必对应于文件系统中的文件。可以将程序存储在保留其他程序或数据的文件,例如 存储在标记语言文档中的一个或多个脚本的一部分、专用于讨论中的程序的单个文件或者 多个协调文件,例如存储一个或多个模块、子程序或部分代码的文件中。可以将计算机程序 部署为在一个计算机上或者在位于一个地点或跨多个地点分布并且由通信网络互连的多 个计算机上执行。
在本说明书中描述的过程和逻辑流可以由执行一个或多个计算机程序的一个或 多个可编程处理器执行以通过操作输入数据并且生成输出来执行功能。所述过程和逻辑流 还可以由专用逻辑电路执行,以及装置还可以被实现为专用逻辑电路,该专用逻辑电路例 如FPGA (现场可编程门阵列)或ASIC (专用集成电路)。
适于执行计算机程序的处理器包括作为示例通用和专用微处理器两者,以及任 何类型的数字计算机的任何一个或多个处理器。通常,处理器将从只读存储器或随机存取 存储器或两者接收指令和数据。计算机的主要元件是用于执行指令的处理器和用于存储指 令和数据的一个或多个存储器设备。通常,计算机还将包括用于存储数据的一个或多个海 量存储设备,例如磁的、磁光盘或光盘,或可操作地耦接以从所述一个或多个海量存储设备 接收数据或向所述一个或多个海量存储设备传送数据,或两者。然而,计算机不必具有这 样的设备。此外,可以将计算机嵌入另一个设备中,所述设备例如移动电话、个人数字助理(PDA),移动音频或视频播放器、游戏控制台、全球定位系统(GPS)接收器,仅列出一些。
适于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存 储器、介质和存储器设备,包括作为示例半导体存储器设备,例如EPROM、EEPROM和闪存设 备;磁盘,例如内部硬盘或可移动盘;磁光盘;以及⑶-ROM和DVD-ROM盘。处理器和存储器 可以由专用逻辑电路补充,或合并入专用逻辑电路。
为了提供与用户的交互,在本说明书中描述的主题的实施例可以在具有下述的计 算机上实现用于向用户显示信息的显示设备,例如CRT (阴极射线管)或LCD (液晶显示) 监视器;以及用户通过其可以向计算机提供输入的键盘和指示设备,例如鼠标或跟踪球。也 可以使用其他类型的设备来提供与用户的交互;例如,提供给用户的反馈可以是任何形式 的感知反馈,例如视觉反馈、听觉反馈或触觉反馈;以及可以以任何形式,包括声学、话音或 触觉的输入,接收来自用户的输入。
在本说明书中描述的主题的实施例可以在包括下述的计算系统中实现后端组 件,例如作为数据服务器;或者中间件组件,例如应用服务器;或者前端组件,例如具有用 户通过其可以与在本说明书中描述的主题的实施方式交互的图形用户界面或Web浏览器 的客户端计算机;或者一个或多个这样的后端、中间件或前端组件的任何组合。系统的组件 可以通过例如通信网络的任何形式或介质的数字数据通信互连。通信网络的示例包括局域 网(“LAN”)和广域网(“WAN”),例如因特网。
计算系统可以包括客户端和服务器。客户端和服务器通常彼此远离并且典型地 通过通信网络交互。客户端和服务器的关系依靠在各个计算机上运行并且彼此具有客户 端-服务器关系的计算机程序产生。
虽然本说明书包含许多特定实施方式细节,但是这些细节不应当被解释为对任何 实施方式或可以主张的内容的范围的限制,而应当被解释为对可以具体到特定实施方式的 特定实施例的特征的描述。还可以将在本说明书中在分离的实施例的情境下描述的某些特 征组合在单个实施例中实现。相反地,也可以将在单个实施例的情境下描述的各种特征分 离地在多个实施例中实现或在任何适当的子组合中实现。此外,尽管可能在上面将特征描 述为在某些组合中起作用,甚至最初主张如此,但是可以在一些情况下,将来自所主张的组 合的一个或多个特征从组合中删去,并且可以将所主张的组合指向子组合或者子组合的变 体。
类似地,虽然在附图中按照特定顺序描绘了操作,但是不应当将这理解为需要按 照所示的特定顺序或者按照连续顺序执行这样的操作、或者需要执行所有图示的操作,才 能达到期望的结果。在某些情况下,多任务以及并行处理可以是有利的。此外,不应当将在 上述实施例中的各种系统组件的分离理解为在所有实施例中均需要这样的分离,而应当理 解的是,通常可以将所述程序组分和系统集成到一起成为单个软件产品或封装成多个软件女口广叩ο
已描述了在本说明书中描述的主题的特定实施例。其他实施例在所附权利要求的 范围内。例如,在权利要求中记载的动作可以按照不同顺序来执行,并且仍然达到期望的结 果。作为一个示例,在附图中描绘的过程不必需要所示的特定顺序或连续顺序,来实现期望 的结果。在某些实施方式中,多任务以及并行处理可以是有利的。
权利要求
1.一种方法,包括 接收第一书写系统中的字符输入序列; 在所述字符输入序列中识别一个或多个第一连续字符子序列,其中每一个子序列表示在不同的第二书写系统中的音节; 在所述字符输入序列中识别一个或多个第二子序列,其中每一个第二子序列包括一个或多个连续第一子序列并且表示在所述不同的第二书写系统中的项目; 确定为所述一个或多个第二子序列划界的一个或多个边界;以及 生成一个或多个可选指示符以供在用户界面中显示,其中所述一个或多个可选指示符中的每一个识别由所述一个或多个边界划界的相应第二子序列。
2.根据权利要求1所述的方法,进一步包括 从整个所述字符输入序列确定在第三书写系统中的一个或多个第一输入候选,其中所述第三书写系统不同于所述第一书写系统和所述第二书写系统,以及其中每一个第一输入候选对应于一个或多个连续第二子序列的序列;以及 将所述一个或多个第一输入候选显不为对所述字符输入序列的可选替选。
3.根据权利要求2所述的方法,进一步包括 检测触发器事件;以及 响应于检测到所述触发器事件,在所述用户界面中显示所述可选指示符,其中每一个可选指示符识别相应第二子序列。
4.根据权利要求3所述的方法,进一步包括 接收对第一可选指示符的用户选择;以及 从第三字符子序列确定在所述第三书写系统中的一个或多个第二输入候选,其中所述第三子序列包括如下顺序的所有所述第二子序列直至所述第一可选指示符所识别的特定第二子序列为止的所有所述第二子序列在所述输入序列中出现的顺序。
5.根据权利要求4所述的方法,进一步包括 将所述一个或多个第二输入候选而不是所述第一输入候选显示为对所述第三字符子序列的可选替选。
6.根据权利要求2所述的方法,进一步包括 接收将文本光标移动到特定第一子序列的用户输入,其中所述文本光标识别当前的文本输入位置;以及 从第三字符子序列确定在所述第三书写系统中的一个或多个第二输入候选,其中所述第三子序列包括如下顺序的所有完整的所述第二子序列直至所述特定第一子序列为止的所述完整的第二子序列在所述输入序列中出现的顺序,后跟如下顺序的所有所述第一子序列直至所述特定第一子序列为止并且包括所述特定第一子序列的所有所述第一子序列在所述输入序列中出现的顺序。
7.根据权利要求6所述的方法,进一步包括 将所述一个或多个第二输入候选而不是所述第一输入候选显示为对所述第三字符子序列的可选替选。
8.根据权利要求2所述的方法,其中所述第一书写系统是拉丁,所述不同的第二书写系统是拼首,以及所述第二书写系统是汉字。
9.一种方法,包括 将用户输入的多个字符分成一个或多个代符,其中代符是一个或多个字符的组; 将所述代符聚组成一个或多个代符组; 根据操作粒度,生成用于所述代符组的一个或多个边界;以及 响应于接收指示触发器的激活的输入,可视地指示用于所述代符组的所述边界。
10.根据权利要求9所述的方法,其中所述操作粒度从包括以下的粒度组中选择 字符级,其中针对单个字符执行操作; 代符级,其中针对代符执行操作,以及其中代符表示音节;以及 代符组级,其中针对代符组执行操作,以及其中代符组表示短语。
11.根据权利要求9所述的方法,进一步包括通过按下一个或多个热键来使插入符向左移动一个代符组或向右移动一个代符组,其中所述插入符识别当前的文本输入位置。
12.根据权利要求9所述的方法,其中所述触发器由所述用户所按下的一个或多个热键激活。
13.根据权利要求12所述的方法,其中当所述一个或多个热键被连续地按下时,使用数字来可视地指示用于所述代符组的所述一个或多个边界。
14.根据权利要求9所述的方法,其中用于所述代符组的所述一个或多个边界是使用语言模型来生成的。
15.根据权利要求14所述的方法,其中每一个代符组对应于所述语言模型中的语言模型格阵项,其中所述语言模型格阵项是词汇项或短语。
16.根据权利要求9所述的方法,进一步包括响应于接收选择用于一个代符组的边界的输入,选择该代符组。
17.根据权利要求16所述的方法,其中选择所述边界的所述输入是通过由控制键和与用于所述边界的所述视觉指示符相对应的数字组成的热键来生成的。
18.—种系统,包括 包括程序产品的机器可读存储设备;以及 可操作来执行所述程序产品并且执行操作的一个或多个处理器,所述操作包括 接收第一书写系统中的字符输入序列; 在所述字符输入序列中识别一个或多个第一连续字符子序列,其中每一个子序列表示在不同的第二书写系统中的音节; 在所述字符输入序列中识别一个或多个第二子序列,其中每一个第二子序列包括一个或多个连续第一子序列并且表示在所述不同的第二书写系统中的项目; 确定为所述一个或多个第二子序列划界的一个或多个边界;以及生成一个或多个可选指示符以供在用户界面中显示,其中所述一个或多个可选指示符中的每一个识别由所述一个或多个边界划界的相应第二子序列。
19.一种系统,包括 包括程序产品的机器可读存储设备;以及 可操作来执行所述程序产品并且执行操作的一个或多个处理器,所述操作包括 将用户输入的多个字符分成一个或多个代符,其中代符是一个或多个字符的组; 将所述代符聚组成一个或多个代符组;根据操作粒度,生成用于所述代符组的一个或多个边界;以及 响应于接收指示触发器的激活的输入,可视地指示用于所述代符组的所述边界。
20.—种编码在计算机可读介质上、可操作来促使数据处理装置执行操作的计算机程序产品,所述操作包括 接收第一书写系统中的字符输入序列; 在所述字符输入序列中识别一个或多个第一连续字符子序列,其中每一个子序列表示在不同的第二书写系统中的音节; 在所述字符输入序列中识别一个或多个第二子序列,其中每一个第二子序列包括一个或多个连续第一子序列并且表示在所述不同的第二书写系统中的项目; 确定为所述一个或多个第二子序列划界的一个或多个边界;以及生成一个或多个可选指示符以供在用户界面中显示,其中所述一个或多个可选指示符中的每一个识别由所述一个或多个边界划界的相应第二子序列。
21.一种编码在计算机可读介质上、可操作来促使数据处理装置执行操作的计算机程序产品,所述操作包括 将用户输入的多个字符分成一个或多个代符,其中代符是一个或多个字符的组; 将所述代符聚组成一个或多个代符组; 根据操作粒度,生成用于所述代符组的一个或多个边界;以及 响应于接收指示触发器的激活的输入,可视地指示用于所述代符组的所述边界。
全文摘要
用于浏览和编辑对输入法编辑器的输入的方法、系统、装置,包括计算机程序产品。在一个实施方式中,提供了方法。该方法包括接收第一书写系统中的字符输入序列;在字符输入序列中识别一个或多个第一连续字符子序列,其中每一个子序列表示在不同的第二书写系统中的音节;在字符输入序列中识别一个或多个第二子序列,其中每一个第二子序列包括一个或多个连续第一子序列并且表示在不同的第二书写系统中的项目;确定为一个或多个第二子序列划界的一个或多个边界;以及生成一个或多个可选指示符以供在用户界面中显示,其中一个或多个可选指示符中的每一个识别由一个或多个边界划界的相应第二子序列。
文档编号G06F3/023GK103026318SQ201080068141
公开日2013年4月3日 申请日期2010年5月21日 优先权日2010年5月21日
发明者曾健, 区良裔, 孙伟, 肖湘晔, 张荫芾, 王咏刚, 张元博 申请人:谷歌公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1