上下文或语境输入法和系统的制作方法

文档序号:6608958阅读:129来源:国知局
专利名称:上下文或语境输入法和系统的制作方法
技术领域
本发明涉及输入法。
技术背景在词符文字(logographic script)中, 一个或两个字符(character ),例如 字形(glyph),大致对应于一个词或含义,使用词符文字的语言具有的字符 多于诸如计算机键盘的标准输入设备上的键或移动设备键区(keypad)上的 键。例如,中文包括数万个字符,这些字符具有由基本拼音元素和五个音调 定义的读音。这种潜在地多到一的关联的映射可以通过帮助输入在输入设备 上找不到的字符和符号的输入法来实现。因此,西文式(Western-style)键盘 可以用来输入中文字符。同样,可以采用输入法来使用西文式键盘或者一些 其它输入设备来输入许多其它包括表意文字的语言,诸如日文、韩文或其它l吾5 o传统的输入法可以利用基于会话的上下文或语境,根据组合输入进行输 入预测。在每次输入时,重设基于会话的上下文或语境。发明内容在一个实施方式中, 一种输入法从词符文字的多个字符中选择字符,并 且识别与所选字符邻近的字符。然后基于组合输入和邻近字符,选择一个或 多个候选字符。在另一实现中, 一种系统包括数据存储部分和输入引擎。数据存储部分 可以存储组合输入与字符的关联,其中一个或多个字符与多个组合输入相关 联。输入引擎可以使处理设备响应于用户输入从多个字符中选择字符,识别 与所选字符相邻的相邻字符,并且基于组合输入和相邻字符,识别一个或多 个候选字符。在另一实现中,输入法将光标定位在一个或多个字符附近。识别与光标 邻近的字符,并且接收组合输入。然后基于组合输入和邻近字符来选择一个或多个候选字符。这里所公开的系统和方法例如可以帮助基于鼠标位置的输入上下文或语 境的识别。在一个示例实现中,输入上下文或语境可以导致更少和/或更精确 的候选字符的识别以供选择。在另一示例实现中,基于鼠标位置的输入上下 文或语境提供与组合输入无关的初始上下文或语境,并且基于所接收的组合 输入修改该上下文或语境。然而这些示例优点用不着实现,或者可以单独地 实现。


图1是可以用来实现这里所述的系统和方法的示例系统的框图。 图2是示例编辑系统的框图。图3到图6是示出编辑词符文字的示例的示意图。图7绘出在词符编辑环境中的显示示例。图8是汉字字符的编辑环境的示意图。图9是用于识别词符文字的候选字符的示例处理的流程图。图10是用于识别在词符文字中所选字符的相邻字符的示例处理的流程图。图11是用于调节上下文或语境窗口边沿的示例处理的流程图。 图12是用于使用具有基于上下文或语境的输入引擎的输入会话的示例 处理的流程图。图13是用于确定呈现候选字符的顺序的示例处理的流程图。
具体实施方式
图1是可以用来实现这里所述的系统和方法的示例系统100的框图。系 统100例如可以在计算机设备(如个人计算机设备)或者其它电子设备(如 移动电话机、移动通信设备、个人数字助理(PDA))等中实现。示例系统100包括处理设备102、第一数据存储部分104、第二数据存储 部分106、输入设备108、输出设备110和网络接口 112。可以使用例如包括 数据总线和主板的总线系统114来建立和控制组件102、 104、 106、 108、 110 和112之间的数据通信。也可以使用其它示例系统架构。处理设备102例如可以包括一个或多个微处理器。第 一数据存储部分104例如可以包括随机存取存储设备(如动态随机存取存储器)或其它类型的计 算机可读介质存储设备。第二数据存储部分106例如可以包括一个或多个硬 盘驱动器、闪存和/或只读存储器、或者其它类型的计算机可读介质存储设备。示例输入设备108可以包括键盘、鼠标、输入笔(stylus)等,并且示例 输出设备IIO可以包括显示设备、音频设备等。网络接口 12例如可以包括有 线或无线网络设备,可操作用来向网络116发送数据和从网络116接收数据。 网络116可以包括一个或多个局域网(LAN)和/或广域网(WAN)(如因特 网)。在一个实施方式中,系统100可以接收组合输入,以输入诸如汉字字符 的字符或符号。例如,用户可以使用一个或多个输入设备108(例如,西式 键盘的键盘、具有手写识别引擎的输入笔等)输入识别汉字字符的组合输入。 在一些示例中,汉字字符可以由多于一个的组合输入组成。多种输入法编辑 器(IME)可用来将组合输入转换成汉字字符。每一个IME例如可以具有代 表相同汉字字符的不同的组合输入,这取决于IME的实现方式。例如,在拼 音IME中,相同的汉字字符可以与不同的组合输入相关联。在一个实施方式中,系统100可以接收一个或多个拼音组合输入,并且 将组合输入转换成汉字字符。拼音IME例如可以使用通过按键接收的拼音音 节或字符的组合来呈现汉字字符。每个拼音音节例如可以对应于西式键盘中 的键。使用拼音IME,用户可以通过使用包括一个或多个表示汉字字符声音 的拼音音节的组合输入来输入汉字字符。第一数据存储部分104和/或第二数据存储部分106可以存储组合输入与 字符的关联。基于用户输入,处理设备102可以使用数据存储部分104和/或 数据存储部分106中的信息来识别通过输入表示的一个或多个候选字符。在 一个实施方式中,如果识别不止一个的候选字符,则在输出设备110上显示 候选字符。使用输入设备108,用户可以从候选字符中选择用户期望输入的 汉字字符。在一个实施方式中,处理设备102可以基于一个或多个组合输入以及文 本中邻近的字符来识别候选字符。在一个实施方式中,所述邻近的字符是相 邻的字符;然而,也可以使用其它的邻近字符。相邻的字符例如可以提供可 用来识别候选字符的上下文或语境信息。例如,用户可以从词符文字的多个 字符中选择字符,如汉字字符的句子或段落中的字符。基于该选择,处理设备102可以识别与所选字符相邻的一个或多个字符,并且接收来自用户的组 合输入。基于组合输入和相邻字符,处理设备102可以识别一个或多个候选 字符供用户选择。在一些实现中,可以接入系统100的远程计算系统118也可被用来编辑 词符文字。例如系统100可以是通过网络116提供词符文字编辑能力的服务 器。在一个示例中,用户可以使用远程计算系统(例如客户机)编辑在数据 存储部分104和/或数据存储部分106中存储的词符文字。系统100例如可以 选捧字符和接收用户通过网络接口 112输入的组合输入。处理设备102例如 可以识别与所选字符相邻的一个或多个字符,并基于所接收的组合输入和相 邻的字符识别一个或多个候选字符。图2是可以在系统100中实现的编辑系统200的框图。编辑系统200包 括编辑设备202、输入引擎204、字符数据存储部分206和组合输入数据存储 部分208。在一个实施方式中,^:据存^t部分206和208可以以一个或多个 数据库实现,或者作为单个数据存储部分以数据库中的相应表实现。也可以 使用其它实现。编辑设备202和输入引擎204例如可以通过可由处理设备102执行的指 令来定义。例如,可以使用系统100来通过执行编辑设备202和输入引擎204 中包含的指令来实现编辑系统200。在一个实施方式中,用户可以使用编辑设备202来编辑包含词符文字的 文本。在一个实施方式中,编辑设备202可以是接收用户输入并显示要编辑 的文本的字处理软件,并且输入引擎204可以是基于上下文或语境的输入引 擎。编辑设备202和输入引擎204可以存储在计算机可读介质中,如存储在 数据存储部分104和/或数据存储部分106中。字符数据存储部分206和组合输入数据存储部分208例如也可以被存储 在数据存储部分104和/或数据存储部分106中。字符数据存储部分206包括 编辑设备202中使用的词符文字的字符。在某些实施方式中,字符数据存储 部分206还包括关于字符之间关系的信息。例如,字符数据存储部分206可 以包括,根据与一字符相邻的字符而分配给该字符的分数或概率值。也可以 使用其它上下文或语境关系数据。组合输入数据存储部分208包括组合输入与存储在字符数据存储部分 206中的字符之间的关联。在某些实施方式中,组合输入数据存储部分208可以将字符数据存储部分206中的每个字符链接到输入引擎204使用的组合 输入。例如,输入引擎204可以利用字符数据存储部分206和组合输入数据 存储部分208中的信息,来关联和/或识别字符数据存储部分206中的一个或 多个字符与组合输入数据存储部分208中的一个或多个组合输入。也可以使 用其它关联。在一个实施方式中,输入引擎204可以基于组合输入和与所选字符相邻 或与光标位置相邻的字符,来识别候选字符。编辑设备202可以接收对词符 文字中的字符选择,例如,对要改变或修改的字符的选择。在一个实施方式 中,用户可以选择来在编辑设备202中的多个汉字字符中改变汉字字符,并 且向编辑设备202提供一个或多个组合输入。可以向输入引擎204提供诸如 所选字符之类的选择信息。基于从编辑设备202接收的选择信息,输入引擎204例如可以识别在编 辑环境202中与所选字符相邻的字符。基于相邻字符和一个或多个组合输入, 输入引擎204可以访问数据存储部分206和208,来识别要在所选字符的位 置上插入的候选字符,或者替换所选字符。在某些实施方式中,输入引擎204可以在编辑的文本中定义上下文或语 境窗口。上下文或语境窗口例如可以用来识别相邻字符。例如,可以定义上 下文或语境窗口来包括所选字符和与所选字符相邻的一个或多个相邻字符。 在一个示例中,输入引擎204可以使上下文或语境窗口以所选字符和/或光标 位置为中心,并且识别上下文或语境窗口中的其它字符作为相邻字符。例如, 输入引擎204可以制定上下文或语境窗口的尺寸为5个字符,并且识别相邻 字符为所选字符右边的两个字符^所选字符左边的两个字符。也可以使用其 它上下文或语境窗口尺寸和定义。输入引擎204例如可以动态调节上下文或语境窗口的位置和/或尺寸。在 某些实施方式中,输入引擎204可以通过识别上下文或语境窗口内的断句来 动态地调节上下文或语境窗口的位置。例如,输入引擎204可以识别当前上 下文或语境窗口内的断句。基于所识别的上下位窗口中的断句位置,输入引 擎204可以调节上下文或语境窗口的一个或两个边沿,来与断句一致。也可 以使用其它调节技术。系统200例如还可以基于所识别的候选字符数量来动态调节上下文或语 境窗口的宽度。例如,输入引擎204可以制定最小候选字符数量和最大候选字符数量。在某些实施方式中,输入引擎204被配置成将所识别的候选字符数量限制为大于最小候选字符数量并且小于最大候选字符数量。如果候选字符的数量超过最大候选字符数量,则输入引擎204可以例如增加上下文或语 境窗口的宽度。类似地,如果候选字符的数量小于最小候选字符数量,则输 入204可以例如减小上下文或语境窗口的宽度。在其它实现中,可以独立于上下文或语境窗口选择候选字符数量。例如, 如果候选字符的数量大于最大候选字符数量,则输入引擎204可以识别额外 的相邻字符,而如果候选字符的数量小于最小候选字符数量,则可以识别较 少的相邻字符。在某些实施方式中,输入引擎204例如可以基于组合输入和当前输入会 话来识别候选字符。例如,输入会话可以包括经历接受命令的一些或所有先 前输入的字符。输入引擎204可以基于当前组合输入和/或当前输入会话中一 个或多个先前识别的候选字符,识别另 一组候选字符。在某些实施方式中,输入引擎204可以比较两组候选字符。第一组候选 字符例如可以是基于当前输入会话和组合输入产生的。第二组可以是基于相 邻字符和组合输入产生的。在一个实施方式中,输入引擎204从各组候选字符中识别共同的候选字符。共同候选字符例如可以在编辑设备202中呈现供 用户选择。在另一实现中,输入引擎204可以排序候选字符,并且基于该顺 序呈现候选字符供用户选择。例如,输入引擎204可以基于分配给每个候选 字符的概率或准确度值来排序候选字符。也可以使用其它排序和比较技术。在另一实现中,输入引擎204可以在每个输入会话之后将上下文或语境 信息保存为历史信息。该历史信息可以保存在数据存储部分206和208之一 或两者中,或者保存在单独的历史数据存储部分中。可以通过输入引擎204 访问历史信息,以便于部分地基于特定用户的打字历史来选择候选字符。图3到图6是示出编辑词符文字300中的所选字符的示例的示意图。编 辑系统200可以编辑词符文字300中的一个或多个字符。如图3所示,光标 302可以选^t奪词符文字300中的字符304。在绘出的示例中,上下文或语境窗 口 306被定义成以所选字符304为中心。在某些实施方式中,处理设备102 可以识别字符308和310作为相邻字符。基于相邻字符308和310以及组合 '输入,处理i殳备102和/或输入引擎204可以识别所选字符304的候选字符。如图4所示,可以使用调节后的上下文或语境窗口 402来识别相邻字符。在该示例中,上下文或语境窗口 402比上下文或语境窗口 306大。在某些实 施方式中,处理设备102和/或输入引擎204可以确定由上下文或语境窗口 306 产生的候选字符数量是否大于最大候选字符数量。如果由上下文或语境窗口 306产生的候选字符数量大于最大候选字符数量,则处理设备102和/或输入 引擎204可以动态地调节上下文或语境窗口 306的尺寸,产生上下文或语境 窗口 402。基于上下文或语境窗口 402,处理设备102和/或输入引擎204例 如可以识別额外的相邻字符404和406。使用相邻字符308、 310、 404和406, 处理设备102和/或输入引擎204可以识别新的一组候选字符和/或额外的候选 字符。在某些实施方式中,较大的上下文或语境窗口可以减少候选字符数量。 在某些实施方式中,处理设备102和/或输入引擎204可以确定上下文或 语境窗口 402内是否存在断句。在该示例中,上下文或语境窗口 402中包括 断句408 (例如,逗号)。处理设备102和/或输入引擎204然后可以调节上下 文或语境窗口 402的边沿来与断句408 —致。图5中示出调节后的上下文或 语境窗口 502的示例。调节上下文或语境窗口 502的边沿与断句408 —致。 因此,字符406被从相邻字符中除去,而字符504被添加为相邻字符之一。 也可以使用其它类型的断句来调节上下文或语境窗口,例如,句号、冒号、 子句等。在某些实施方式中,处理设备102和/或输入引擎204可以基于产生的候 选字符数量,进一步调节上下文或语境窗口的尺寸。例如,处理设备102和/ 或输入引擎204可以确定由上下文或语境窗口 502产生的候选字符数量是否 小于最小候选字符数量。如果由上下文或语境窗口 502产生的候选字符数量 小于最小候选字符数量,则处理设备102和/或输入引擎204可以减少上下文 或语境窗口 502的尺寸。如图6所示,处理设备102和/或输入引擎204产生 具有四个字符大小的上下文或语境窗口 602,这介于上下文或语境窗口 306 的尺寸(三个字符)和上下文或语境窗口 502的尺寸(五个字符)之间。在某些实施方式中,词符编辑系统200还可以基于编辑设备202中的光 标位置来识别候选字符。图7绘出在词符编辑环境700中的显示示例702和 722。在第一示例702中,光标704位于短语706的第一和第二字符之间,并 且识别相邻字符708。组合输入710,例如,"sh",被接收并提供到输入引擎 204。输入引擎204识别适合插入光标704的位置上的候选字符712的列表。例如,与短语706中的光标704相邻的两个相邻字符708被识别为光标704 的相邻字符。基于组合输入710和两个相邻字符708,识别候选字符组712。 用户可以选择一个候选字符来插入在光标704的位置上。在第二示例722中,光标724位于短语726的第一和第二字符之间,并 且识别相邻字符728。组合输入730,例如,"sh",被接收并提供到输入引擎 204。输入引擎204识别适合插入在光标724的位置上的候选字符732的列表。基于组合输入730和两个相邻字符728,识别候选字符组732。用户可以选择 一个候选字符来插入在光标724的位置上。如这两个示例所示,输入引擎204对于相同的组合输入"sh"识別不同 的候选字符组712和732。相邻字符708提供的上下文或语境信息使输入引 擎204识别第一候选字符组712,而相邻字符728提供的上下文或语境信息 使输入引擎204识别第二候选字符组732。在一个实施方式中,相邻字符(例如字符708 )可以与一个或多个候选 字符(例如字符712)并列地显示。该实现因此给用户提供上下文或语境信 息的标i己。在另一实现中,字符的选择将使输入引擎204选择与所选字符相邻的字 符作为相邻字符。例如,在第一示例702中,如果选择了字符"中",则字符 "测"和"文"可以被识别为相邻字符。输入引擎204因此可以基于组合输 入和所识别的相邻字符来修改所选字符。图8是汉字字符802的编辑环境800的示意图。在一个实施方式中,编 辑系统200可以基于两组候选字符的组合结果来识别候选字符。第一组候选 字符可以是基于当前输入会话,或者基于某个其它部分算法,而第二组候选 字符可以是基于相邻字符和组合输入。如图8所示,汉字字符802包括在当前输入会话期间已输入的两个字符 804和806。当前输入会话由会话箭头807定义,它表示从光标的初始位置输 入和/或编辑的字符。汉字字符802还包括当前在输入会话中编辑的字符808。可以基于组合 输入来为所选字符808识别候选字符。上下文或语境窗口 810可以包括字符 806、所选字符808和先前存在的字符812。字符806和812因此^C识别为所 选字符808的相邻字符。因此,基于组合输入和相邻字符806和812来识别第一组候选字符814。 同样,基于组合输入和在当前输入会话期间输入的字符804和806来识别第 二组候选字符816。在某些实施方式中,系统200可以比较组814和816来识别要呈现的一 组候选字符。在一个实施方式中,处理设备102和/或输入引擎204可以识别 组814和816中的共同字符,并且将该共同字符呈现为候选字符。在另一实 现中,处理设备102和/或输入引擎204可以排序组814和816中的候选字符。 根据该顺序,处理设备102和/或输入引擎204可以呈现组814和816中的候 选字符的子集;或者可以呈现重排序的整理过的候选字符列表;或者可以根 据其它相互关系从组814和816中呈现候选字符。图9是用于识别词符文字的候选字符的示例处理900的流程图。处理900 例如可以在诸如图1的系统100和/或图2的系统200之类的系统中实现。步骤902从词符文字的多个字符中选择字符。例如,可以利用输入设备 108在编辑设备202中的汉字字符文本(例如,图3中的词符文字300中的 文本)中选择字符。步骤904识别与所选字符邻近(例如相邻)的字符。例如,输入引擎204可以识别与在编辑设备202中的汉字字符文本中的所选字符相邻的相邻字对 付。步骤906接收组合输入。例如,输入引擎204可以从输入设备108接收 组合输入(例如,拼音字符的组合)。步骤908基于组合输入和邻近(例如相邻)字符来识别一个或多个候选 字符。例如,输入引擎204可以使用字符数据存储部分206和组合输入数据 存储部分208,基于组合输入和相邻字符来识别一个或多个候选字符。图10是用于识别在词符文字中的所选字符的相邻字符的示例处理1000 的流程图。例如,处理1000可以用来识别图3的所选字符304的相邻字符 308、 310。处理1000例如可以在诸如图1的系统100和/或图2的系统200 之类的系统中实现。步骤1002定义上下文或语境窗口。例如,输入引擎204可以定义上下文 或语境窗口。步骤1004相对于所选字符定位(例如居中)上下文或语境窗口。例如, 输入引擎204可以使上下文或语境窗口 306以所选字符304为中心。步骤1006识别上下文或语境窗口内的其它字符作为相邻字符。例如,输 入引擎204可以识别字符308、 310作为相邻字符。图11是用于调节上下文或语境窗口边沿的示例处理1100的流程图。例 如,输入引擎204可以调节上下文或语境窗口位置使得上下文或语境窗口的 边沿与断句对准。处理1100例如可以在诸如图1的系统100和/或图2的系 统200之类的系统中实现。步骤1102确定断句是否位于上下文或语境窗口内。例如输入引擎204可 以识别在图4的上下文或语境窗口 402中的断句。如果确定断句位于上下文或语境窗口内,步骤1104调节上下文或语境窗 口的边沿与断句一致。例如,输入引擎204可以调节上下文或语境窗口 402 的边沿与断句408 —致,产生上下文或语境窗口 502。图12是用于使用具有基于上下文或语境的输入引擎(诸如输入引擎204 ) 的输入会话的示例处理1200的流程图。处理1200例如可以在诸如图1的系 统100和/或图2的系统200之类的系统中实现。步骤1202基于组合输入和输入会话识别一个或多个候选字符。例如输入 引擎204可以基于组合输入和输入会话识别一个或多个候选字符。步骤1204比较一个或多个基于组合输入的候选字符与基于组合输入和 输入会话的与一个或多个候选字符相邻的字符。例如,输入引擎204可以比 较候选字符(基于输入会话而识别的候选字符以及基于组合输入而识别的候 选字符)以及相邻字符。可以比较候选字符组,例如图8的候选字符组814 和816,来识别呈现给用户的候选字符子集。图13是用于确定呈现候选字符的顺序的示例处理1300的流程图。处理 1300例如可以在诸如图1的系统100和/或图2的系统200之类的系统中实现。步骤1302基于比较排序候选字符。例如,输入引擎204可以通过比较候 选字符的所分配的得分(例如相关得分或准确度得分)来排序候选字符。步骤1304根据该排序来呈现候选字符。例如,输入引擎204可以基于该 排序的顺序在编辑设备202中呈现候选字符。尽管描述了各种实现,但也可以使用其它实现。例如,输入引擎204可 以能够映射西式键盘的组合输入来输入汉语、日语、韩语和/或印度语字符。 在某些示例中,所述的一些或所有实现可以应用于其它输入法,例如仓颉输 入法、九方输入法或其它lf入法。在某些示例中,当选择编辑设备202来垂直显示文本时,可以垂直地定 义上下文或语境窗口。例如,输入引擎204可以检测词符文字的方向。基于 所;险测的方向,输入引擎204可以定义以所选字符对准(例如,为中心)的 垂直或水平上下文或语境窗口。如果定义了垂直上下文或语境窗口,则输入 引擎204可以识别所选字符上面和下面的字符作为相邻字符。在某些实施方式中,系统200可以接收来自手写识别设备的输入来在所 选位置插入字符。例如,接收的输入可以是按书写期望字符的方式的笔划顺 序组合。在某些实施方式中,输入引擎204可以识别与所选位置相邻的字符。 基于接收的笔划顺序和相邻字符,输入引擎204可以识别要在所选位置插入 的候选字符。根据本申请的第一方面,提供了一种方法,包括从词符文字的多个字 符中选择字符;识别与所选字符邻近的邻近字符;接收组合输入;和基于组 合输入和邻近字符,识别一个或多个候选字符。根据本申请的第二方面,所述第一方面的方法还包括定义上下文或语 境窗口;将上下文或语境窗口相对于所选字符对准;和识别上下文或语境窗口内的其它字符作为邻近字符。根据本申请的第三方面,所述第二方面的方法还包括确定上下文或语境窗口内是否有断句;和如果确定上下文或语境窗口内有断句,则调节上下 文或语境窗口的边沿来与该断句 一致。根据本申请的第四方面,所述第二方面的方法还包括确定候选字符是 否超过阈值数量;和如果候选字符超过该阈值数量,则增大上下文或语境窗D 。根据本申请的第五方面,所述第二方面的方法还包括:确定候选字符是 否超过阈值数量;和如果候选字符不超过该阚值数量,则减小上下文或语境 窗口。根据本申请的第六方面,所述第二方面的方法还包括使上下文或语境 窗口以所选字符为中心。根据本申请的第七方面,所述第一方面的方法还包括确定候选字符是 否超过第一阈值数量;和如果候选字符超过第一阈值数量,则识别额外的邻 近字符。根据本申请的第八方面,所述第七方面的方法还包括确定候选字符是否超过第二阈值数量;和如果候选字符不超过第二阔值数量,则识别较少的邻近字符。根据本申请的第九方面,在所述第八方面的方法中,第一阈值数量大于 第二阈值数量。根据本申请的第十方面,所述第九方面的方法还包括基于组合输入和 输入会话来识别一个或多个候选字符;和将基于组合输入和邻近字符的一个 或多个候选字符与基于组合输入和输入会话的一个或多个候选字符进行比 较。根据本申请的第十一方面,所述第十方面的方法还包括基于所述比较确定共同字符;和呈现共同字符作为候选字符选4奪。根据本申请的第十二方面,所述第十方面的方法还包括基于所述比较来排序候选字符;和按照排序呈现候选字符。根据本申请的第十三方面,在所述第一方面的方法中,所述字符包括汉字字符;以及所述组合输入包括一个或多个拼音音节。根据本申请的第十四方面,提供了一种系统,包括数据存储部分,用 于存储组合输入、上下文或语境信息与字符的关联,其中一个或多个字符与 多个组合输入和上下文或语境信息关联;输入引擎,用于使处理设备进行以 下操作响应于用户输入从多个字符中选择字符;识别与所选字符相邻的相 邻字符;和基于组合输入和相邻字符,识别一个或多个候选字符。根据本申请的第十五方面,在所述第十四方面的系统中,输入引擎还用 于使处理设备进行以下操作定义上下文或语境窗口;将上下文或语境窗口 相对于所选字符对准;和识别上下文或语境窗口内的其它字符作为相邻字符。根据本申请的第十六方面,在所述第十五方面的系统中,输入引擎还用 于使处理设备进行以下操作确定上下文或语境窗口内是否有断句;和如果 确定上下文或语境窗口内有断句,则调节上下文或语境窗口的边沿来与该断 句一致。根据本申请的第十七方面,在所述第十五方面的系统中,输入引擎还用 于使处理设备进行以下操作确定候选字符是否超过第一阈值数量;如果候 选字符超过该阈值数量,则增大上下文或语境窗口;确定候选字符是否超过 第二阈值数量;和如果候选字符不超过第二阔值数量,则减小上下文或语境 窗口;其中第一阈值数量大于第二阈值数量。根据本申请的第十八方面,在所述第十五方面的系统中,输入引擎使上 下文或语境窗口以所选字符为中心。根据本申请的第十九方面,在所述第十四方面的系统中,输入引擎还用于使处理设备进行以下操作确定候选字符是否超过第一阈值数量;如果候 选字符超过该阈值数量,则识别额外的相邻字符;确定候选字符是否超过第 二阈值数量;和如果候选字符不超过第二阈值数量,则识别较少的相邻字符, 其中第一阈值数量大于第二阈值数量。根据本申请的第二十方面,在所述第十四方面的系统中,输入引擎还用 于使处理设备进行以下操作基于组合输入和输入会话来识别一个或多个候 选字符;和将基于组合输入和相邻字符的一个或多个候选字符与基于组合输 入和输入会话的一个或多个候选字符进行比较。根据本申请的第二十一方面,在所述第二十方面的系统中,输入引擎还 用于使处理设备进行以下操作基于所述比较确定共同字符;和呈现共同字 符作为候选字符选择。根据本申请的第二十二方面,在所述第二十方面的系统中,输入引擎还 用于使处理设备进行以下操作基于所述比较来排序候选字符;和按照排序 呈现候选字符。根据本申请的第二十三方面,在所述第十四方面的系统中,所述字符包 括汉字字符;以及所述组合输入包括一个或多个拼音音节。根据本申请的第二十四方面,提供了一种系统,包括用于从词符文字 的多个字符中选择字符的装置;用于识别与所选字符相邻的邻近字符的装置; 和用于基于组合输入和相邻字符来识别一个或多个候选字符的装置。根据本申请的第二十五方面,提供了一种方法,包括将光标定位在一个或多个字符附近;识别与光标邻近的字符;接收组合输入;和基于组合输 入和邻近字符来识别一个或多个候选字符。根据本申请的第二十六方面,所述第二十五方面的方法还包括定义上 下文或语境窗口;将上下文或语境窗口定位在光标上;和识别上下文或语境 窗口内的其它字符作为邻近字符。根据本申请的第二十七方面,在所述第二十六方面的方法中,邻近字符 是相邻字符。可以提供计算机程序产品压缩包(Cab)并在有形的程序载波上进行编码以使数据处理设备执行本申请所描述的操作。在一个示例中,操作计算机程序产品使数据处理设备执行包括下列的操作从词符文字的多个字符中选 择字符;识别与所选字符邻近的邻近字符;接收组合输入;和基于组合输入 和邻近字符,识别一个或多个候选字符。在另一个示例中,操作计算机程序产品使数据处理设备执行包括输入引 擎的操作的操作。输入引擎的操作包括响应于用户输入从多个字符中选择 字符;识别与所选字符相邻的相邻字符;和基于组合输入和相邻字符,识别 一个或多个候选字符。在另 一个示例中,操作计算机程序产品使数据处理设备执行包括下列的 操作将光标定位在一个或多个字符附近;识别与光标邻近的字符;接收组 合输入;和基于组合输入和邻近字符来识別一个或多个候选字符。本专利文件中所描述的装置、方法、流程图和结构框图可以在包括程序 代码的计算机处理系统中实现,程序代码包含可由计算机处理系统执行的程 序指令。也可以使用其它实现。此外,本专利文件中所描述的流程图和结构 框图描述了支持步骤和相应功能、支持所公开的结构装置的具体方法和/或对 应操作,它们也可以用来实现相应的软件结构和算法及其等效。该书面描述说明本发明的最佳方式,并且提供示例来描述本发明,以允 许本领域技术人员获得和使用本发明。该书面描述并非将本发明限于所说明 的精确条款。因此,尽管参照上面所述示例详细描述了本发明,但本领域技 术人员能够对示例进行变更、修改和变型,而不背离本发明的范围。尽管以特定语言的上下文或语境和输入方法示例描述了本发明,但是这 里所描述的系统和方法可以用于任何利用词符文字的语言。例如,可以将这 里所描述的系统和方法用于许多其它包括表意文字的语言,诸如日文、韩文 或其它语' 5 。本说明书中所描述的主题和功能操作的实施例可以在包括本说明书中公 开的结构及其结构等效物的数字电子电路、或者计算机软件、固件或硬件来 实现,或者以它们中的一个或多个的组合来实现。可以将本说明书中描述的 主题的实施例实现为一个或多个计算机程序产品,即,在有形程序载体上编 码的计算机程序指令的一个或多个模块,以供数据处理装置执行,或者用于控制数据处理装置的操作。有形程序载体可以是传播信号或者计算机可读介 质。传播信号是人工生成的信号,例如机器生成的电、光或电磁信号,其被生成以编码信息从而发送到适当的接收机装置,以供计算机执行。计算机可读介质可以是机器可读存储设备、机器可读存储基质(substrate)、存储器设备、 影响机器可读传播信号的物质的合成、或者它们中的一个或多个的组合。术语"数据处理装置"嚢括用于处理数据的所有装置、设备和机器,例 如包括可编程处理器、计算机、或多个处理器或计算机。除了硬件之外,该 装置还可以包括为讨论中的计算机程序创建执行环境的代码,例如构成处理 器固件、协议栈、数据库管理系统、操作系统、或者它们中的一个或多个的 组合的代码。可以用任何形式的编程语言编写计算机程序(也称作程序、软件、软件 应用、脚本或代码),编程语言包括编译或解释语言、陈述性语言或过程性语 言,并且计算机程序可以任何形式部署,包括作为独立程序或作为模块、组 件、例程、或者其他适合用于计算环境的单位。计算机程序并不必然对应于 文件系统中的文件。程序可以存储在保持其他程序或数据的文件的一部分(例 如,存储在标记语言文档中的一个或多个脚本)中,存储在专用于所讨论的 程序的单个文件中,或者存储在多个协作文件中(例如,存储一个或多个模 块、子程序或代码部分的文件)。计算机程序可以被部署为在一个计算机上或 者位于一处或者分布在多处并且通过通信网络互连的多个计算机上执行。本说明书中所描述的处理和逻辑流程可以由一个或多个可编程处理器执 行,该可编程处理器执行一个或多个计算机程序,以通过对输入数据操作并 且生成输出来执行功能。处理和逻辑流程也可以由下述设备来执行,并且装 置也可以被实现为所述设备,所述设备为专用逻辑电路,例如,FPGA(现场 可编程门阵列)或ASIC (专用集成电路)。适合于执行计算机程序的处理器包括例如通用微处理器和专用微处理 器,以及任何种类数字计算机的任何一个或多个处理器。通常,处理器将从 只读存储器、随机存取存储器或者它们两者接收指令和数据。计算机的核心 元件是用于执行指令的处理器和用于存储指令和数据的一个或多个存储器设 备。通常,计算机还将包括用于存储数据的大容量存储设备,或者被可操作 地耦接以从大容量存储设备接收数据或或向大容量存储设备传送数据,或者 收发数据,大容量存储设备例如为磁盘、磁光盘或者光盘。但是,计算机不 一定具有这样的设备。此外,可以把计算机嵌入到另一设备中,仅列举一些 为例,如移动电话、个人数字助理(PDA)、移动音频或视频播放器、游戏台、全球定位系统(GPS)接收机。适于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易 失性存储器、介质和存储器设备,举例来说包括半导体存储器设备,例如,EPROM、 EEPROM以及闪存设备;包括磁盘,例如内部硬盘或可移动盘; 包括》兹光盘;以及包括CD ROM和DVD-ROM盘。可以用专用逻辑电路补充 处理器和存储器,或者可以将处理器和存储器并入专用逻辑电路中。为了提供与用户的交互,本说明书中所描述的主题的实施例可以在如下 计算机上实现,该计算机具有用于向用户显示信息的显示设备例如CRT (阴 极射线管)或LCD (液晶显示器)监视器,和通过其用户可以向计算机提供 输入的键盘、点击设备例如鼠标或跟踪球。也可以使用其他类型的设备来提 供与用户的交互;例如,提供给用户的反馈可以是任何形式的感觉反馈,例 如视觉反馈、听觉反馈、或触觉反馈;来自用户的输入可以以任何形式接收, 包括声音、语言或者触觉输入。本说明书中所描述的主题的实施例可以在如下计算机系统中实现,该计 算机系统包括后端组件,例如作为数据服务器,或者包括中间件组件,例如, 应用服务器,或者包括前端组件,例如具有通过其用户可以与本说明书所描 述的主题的实现交互的图形用户界面或网站浏览器的客户端计算机,或者这 些前端、中间件或后端组件的一个或多个的任何组合。可以通过任何形式或 数字数据通信介质例如通信网络将系统的组件相互连接。通信网络的示例包 括局域网(LAN)和广域网(WAN)例如因特网。计算机系统可以包括客户机和服务器。客户机和服务器通常彼此远离, 并且典型地通过通信网络交互。客户机和服务器的关系借助运行在各自计算 机上的彼此具有客户机-服务器关系的计算机程序而发生。虽然本说明书包含许多特定实现细节,但是这些不应被视为对任何发明 或所要求保护的范围的限制,相反是作为可能专属于具体发明的具体实施例 的特征的描述。在单独实施例的情境下本说明书中所描述的某些特征可以在 单个实施例中以组合实现。相反,在单个实施例的情境下描述的各种特征也 可以分开地在多个实施例中或者任何适当的次组合中实现。此外,尽管,上 面可能将特征描述为以某种组合作用,甚至最初是如此声明的,但是来自所 声明的组合的一个或多个特征在某些情况下可以从该组合切除,所声明的组 合可以针对次组合或次组合的变化。类似地,虽然在附图中以特定次序描述了多项操作,但是这不应被理解 为为了获得希望的结果要求这样的操作以所示的特定次序或者以顺序的次序 执行,或者要求执行所有图示的操作。在某些情形下,多任务和并行处理可 能是有利的。此外,上述实施例中各种系统组件的分割不应被理解为在所有 实施例中要求这样的分割,并且应该理解, 一般可以把所述系统组件和系统 集成在单个软件产品或打包到多个软件产品中。已经描述了本说明书中描述的主题的特定实施例。其他实施例落入所附 权利要求的范围。例如,可以以不同的次序执行权利要求中陈述的动作,而 仍得到希望的结果。作为一个示例,为了获得希望的结果,附图中所描绘的 处理并不必然要求所示的特定次序或者顺序的次序。在某些实施例中,多任 务和并行处理可能是有利的。
权利要求
1. 一种方法,包括从词符文字的多个字符中选择字符;识别与所选字符邻近的邻近字符;接收组合输入;和基于组合输入和邻近字符,识别一个或多个候选字符。
2. 如权利要求1所述的方法,包括 定义上下文或语境窗口; 将上下文或语境窗口相对于所选字符对准;和 识别上下文或语境窗口内的其它字符作为邻近字符。
3. 如权利要求2所述的方法,包括 确定上下文或语境窗口内是否有断句;和如果确定上下文或语境窗口内有断句,则调节上下文或语境窗口的边沿 来与该断句一致。
4. 如权利要求2所述的方法,包括 确定候选字符是否超过阈值数量;和 如果候选字符超过该阈值数量,则增大上下文或语境窗口 。
5. 如权利要求2所述的方法,包括 确定候选字符是否超过阈值数量;和如果候选字符不超过该阈值数量,则减小上下文或语境窗口 。
6. 如权利要求2所述的方法,包括 使上下文或语境窗口以所选字符为中心。
7. 如权利要求l所述的方法,包括 确定候选字符是否超过第一阔值数量;和如果候选字符超过第 一阈值数量,则识别额外的邻近字符。
8. 如权利要求7所述的方法,包括 确定候选字符是否超过第二阈值数量;和 如果候选字符不超过第二阈值数量,则识别较少的邻近字符。
9. 如权利要求8所述的方法,其中 第 一 阈值数量大于第二阈值数量。
10. 如权利要求9所述的方法,包括 基于组合输入和输入会话来识别一个或多个候选字符;和 将基于组合输入和邻近字符的一个或多个候选字符与基于组合输入和输入会话的一个或多个候选字符进行比较。
11. 如权利要求IO所述的方法,包括 基于所述比较确定共同字符;和 呈现共同字符作为候选字符选择。
12. 如权利要求IO所述的方法,包括 基于所述比较来排序候选字符;和 按照排序呈现候选字符。
13. 如权利要求l所述的方法,其中 所述字符包括汉字字符;以及 所述组合输入包括一个或多个拼音音节。
14. 一种系统,包括数据存储部分,用于存储组合输入、上下文或语境信息与字符的关联, 其中一个或多个字符与多个组合输入和上下文或语境信息关联; 输入引擎,用于使处理设备进行以下操作 响应于用户输入从多个字符中选择字符; 识别与所选字符相邻的相邻字符;和 基于组合输入和相邻字符,识别一个或多个候选字符。
15. 如权利要求14所述的系统,其中 输入引擎还用于使处理设备进行以下操作 定义上下文或语境窗口;将上下文或语境窗口相对于所选字符对准;和 识别上下文或语境窗口内的其它字符作为相邻字符。
16. 如权利要求15所述的系统,其中 输入引擎还用于使处理设备进行以下操作 确定上下文或语境窗口内是否有断句;和如果确定上下文或语境窗口内有断句,则调节上下文或语境窗口的边沿 来与该断句一致。
17. 如权利要求15所述的系统,其中输入引擎还用于使处理设备进行以下操作确定候选字符是否超过第 一 阈值数量;如果候选字符超过该阈值数量,则增大上下文或语境窗口 ;确定候选字符是否超过第二阈值数量;和如果候选字符不超过第二阈值数量,则减小上下文或语境窗口 ;其中第 一 阈值数量大于第二阔值数量。
18. 如权利要求15所述的系统,其中输入引擎使上下文或语境窗口以所选字符为中心。
19. 如权利要求14所述的系统,其中 输入引擎还用于使处理设备进行以下操作 确定候选字符是否超过第一阈值数量; 如果候选字符超过该阈值数量,则识别额外的相邻字符; 确定候选字符是否超过第二阈值数量;和 如果候选字符不超过第二阈值数量,则识别较少的相邻字符, 其中第 一 阈值数量大于第二阈值数量。
20. 如权利要求14所述的系统,其中 输入引擎还用于使处理设备进行以下操作 基于组合输入和输入会话来识别一个或多个候选字符;和 将基于组合输入和相邻字符的一个或多个候选字符与基于组合输入和输入会话的一个或多个候选字符进行比较。
21. 如权利要求20所述的系统,其中 输入引擎还用于使处理设备进行以下操作 基于所述比较确定共同字符;和 呈现共同字符作为候选字符选择。
22. 如权利要求20所述的系统,其中 输入引擎还用于使处理设备进行以下操作 基于所述比较来排序候选字符;和 按照排序呈现候选字符。
23. 如权利要求14所述的系统,其中 所述字符包括汉字字符;以及 所述组合输入包括一个或多个拼音音节。
24. —种系统,包括用于从词符文字的多个字符中选择字符的装置;用于识别与所选字符相邻的邻近字符的装置;和用于基于组合输入和相邻字符来识别一个或多个候选字符的装置。
25. —种方法,包括 将光标定位在一个或多个字符附近; 识别与光标邻近的字符; 接收组合输入;和基于组合输入和邻近字符来识别一个或多个候选字符。
26. 如权利要求25所述的方法,包括 定义上下文或语境窗口; 将上下文或语境窗口定位在光标上;和 识别上下文或语境窗口内的其它字符作为邻近字符。
27. 如权利要求26所述的方法,其中 邻近字符是相邻字符。
全文摘要
一种输入法、包括输入法的装置以及系统,其从词符文字的多个字符中选择字符,并且识别与所选字符邻近的字符。然后基于组合输入和邻近字符,选择一个或多个候选字符。
文档编号G06F3/048GK101246410SQ200710101820
公开日2008年8月20日 申请日期2007年4月16日 优先权日2007年2月12日
发明者锋 洪 申请人:谷歌股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1