跨语言输入法编辑器的制造方法

文档序号:6498695阅读:174来源:国知局
跨语言输入法编辑器的制造方法
【专利摘要】一些实现提供用于跨语言候选建议的技术和安排。例如,一些显示包括文本输入区域的主机应用的用户界面。输入法编辑器(IME)接收一个或多个字符作为输入。作为响应,显示一个或多个完成候选,这些完成候选中的至少一个是采用与一个或多个字符不同语言的跨语言完成候选。
【专利说明】跨语言输入法编辑器

【技术领域】
[0001] 本公开涉及计算机输入的【技术领域】。
[0002] 背景
[0003] 计算设备的持续增长已经导致在这些设备上使用的应用和其它内容可用性的增 长。例如,用户在各种各样的计算设备上采用各种应用,诸如游戏、数字媒体播放器、浏览器 等。随着计算设备的数目以及在这些设备上使用的应用的数目持续增加,用户越来越感兴 趣在使用这些计算设备和应用的同时增强他们的体验。
[0004] 概述
[0005] 提供本概述是为了以简化的形式介绍将在以下【具体实施方式】中进一步描述的概 念选择。本概述并不旨在标识所要求保护主题的关键特征或必要特征,也不旨在用于限制 所要求保护主题的范围。
[0006] -些实现提供用于跨语言候选建议的技术和安排。例如,一些实现显示包括文本 输入区域的主机应用的用户界面。输入法编辑器(ME)接收一个或多个字符作为输入。作 为响应,显不一个或多个完成候选,这些完成候选中的至少一个是米用与一个或多个字符 不同语言的跨语言完成候选。

【专利附图】

【附图说明】
[0007] 参考附图来描述【具体实施方式】。在不同附图中使用相同的附图标记指示相似或相 同的项。
[0008] 图1示出根据某些实现的示例系统。
[0009] 图2示出根据某些实现的示例系统。
[0010] 图3示出根据某些实现的示例流程图。
[0011] 图4示出根据某些实现的示例显示。
[0012] 图5示出根据某些实现的示例显示。
[0013] 图6示出根据某些实现的示例系统。
[0014] 图7示出根据某些实现的示例流程图。
[0015] 图8示出根据某些实现的示例流程图。
[0016] 图9示出根据某些实现的示例显示。
[0017] 图10示出根据某些实现的示例显示。
[0018] 图11示出某些实现可以在其中操作的示例系统。

【具体实施方式】
[0019] 概览
[0020] 本公开包括用于跨语言输入法的技术和安排,并且在一些实现中,包括用于向用 户提供完成候选以供插入计算机应用的跨语言输入法编辑器(ME)的技术和安排。在一些 实现中,跨语言頂E至少部分地基于与用户输入有关的上下文信息来提供完成候选。
[0021] 在涉及ME的一些实现中,系统通过允许用户以第二语言输入对应的文本并且接 着以第一语言提供建议候选以供插入计算机应用来协助用户以第一语言输入文本。考虑以 下场景:用户正在用西班牙文向ME输入文本,但用户的第一语言是英文。在此场景中,用 户可能在构思恰适的西班牙文词语时有困难,但用户知道恰适的英文词语。一些实现通过 使得用户能够向頂E输入恰适的英文词语,接着向用户呈现建议西班牙文候选词语列表以 供用户选择并插入到ME主存的程序中来向用户提供协助。
[0022] 其它实现可不涉及IME,而是执行其它程序中的跨语言协助的功能,诸如在文字处 理器程序中的拼写检查功能、移动计算设备的文本消息收发程序之类的应用的自动完成功 能、手写识别应用的字符/文字识别功能、以及语音识别/听写应用的文字识别功能。这一 列表并不意味着是穷尽性的,并且示例实现仅仅是示例而不应被认为是限制。因而,应当理 解,尽管本公开可能出于易于理解的目的而在頂E的上下文中描述系统和方法,但本文描 述的系统和方法不限于这些用途并且可以在许多其它情景中使用。
[0023] 本文所述的跨语言协助功能可在计算系统的软件和硬件中的各种级别来实现。这 些级别包括操作系统(0S)级,如带有或不带有应用支持的0S中,应用级,或者与0S分开 (即独立)或者作为0S的插件或者作为另一应用的插件,等等。此外,跨语言协助功能可以 通用地针对所有应用中的所有文本输入区域来实现(诸如在仅0S实现中),或者该功能可 以仅在选择文本输入区域中、或者在具体程序(例如,0S级别IME)、程序类(例如,个体程 序的专用IME)、指定文本输入区域、文本输入区域类等等中活动。此外,一些实现可以允许 用户设置跨语言协助功能的各个参数,诸如实现该功能的程序类或文本输入区域、要用于 该功能的语目和书写系统等等。
[0024] 如上所述,输入法编辑器(ME)是协助用户向计算设备输入文本的计算机应用。 ME可以基于从用户接收的输入提供若干完成候选。在本文描述的跨语言ME的一些实现 中,输入文本和所提供的候选文本可以是相同语言和/或书写系统,或者是不同的语言和/ 或书写系统,或者其某种组合。
[0025] 例如,用户可以输入英文单词或短语的一个或多个初始拉丁字符,并且ME基于 初始字符提供一个或多个完整英文单词或短语,用户能够从中选择一个合适的单词或短 语。该功能被称为自动完成功能,或者可以被称为相同语言完成候选建议。在一些实现中, 自动完成功能可以被实现为客户端侧基于二进制搜索的数据结构。
[0026] 在另一示例中,IME还可以通过音译直译(transliteration)协助用户输入非拉 丁字符,诸如东亚字符(例如汉字)。頂E的该功能可以允许用户在其键盘通常仅支持输入 拉丁字符的大众操作系统中输入非拉丁字符。例如,用户可以通过键盘输入拉丁字符以形 成中文汉字字符的语音拼写。IME基于该拼写向用户返回一个或多个中文字符以供用户选 择合适的一个字符。用于中文的一个这样的语音书写系统是拼音,其可以被正确地描述为 中文至拉丁字符(也称为中文的古罗马化)的音译直译。
[0027] 在另一示例中,IME将刚刚描述的音译直译功能与翻译功能相组合以在用户无法 回忆起第一语言的恰适词语但是能够回忆起用非拉丁字符的第二语言书写系统的对应文 字时协助用户用第一语言进行书写。这与所提供的英文和西班牙文的示例类似。然而,在 该情形中,使用中文作为示例,IME执行对拼音词语的识别,确定拼音词语到中文汉字字符 的候选音译直译,确定该候选汉字词语的英文翻译,然后向用户提供候选汉字词语及其对 应的英文等价物。用户随后选择所选候选词语。由用户选择的英文等价物完成候选随后可 以被插入到各个其他计算机应用中,比如聊天应用、文档编辑应用、游戏应用等等。
[0028] 在一些实现中,完成候选列表可包括相同语言完成候选和跨语言完成候选两者。
[0029] 在讨论涉及两种语言时,本文的讨论出于易于理解的考虑可以使用具体的语言。 例如,若干附图使用英文和中文作为示例,而其它附图使用英文和西班牙文。在这些讨论 中,这些示例可以被概括为任何第一语言和第二语言。具体地,在这些讨论中英文可以被概 括为任何第一语言,而中文和西班牙文可以被概括为任何第二语言。
[0030] 示例实现
[0031] 图1示出根据一些实现的系统100的示例框架。系统100包括被示为由当前正在 显示主机应用106和输入法编辑器108的触摸屏显示器104组成的逻辑系统的计算设备 102。主机应用包括文本输入区域110,而输入法编辑器(ME) 108包括撰写窗口 112和候选 窗口 114。尽管未在图1中示出,但在一些实现中,计算设备102包括一个或多个处理器和 存储器,其中存储器包括主机应用106和ME 108的程序指令。然而,其它实现不限于这样 的安排。如上所提及的,尽管这一示例实现出于易于理解而使用英文和中文,但在任何特定 实现合适的情况下可以替换任何第一和第二语言。
[0032] 在图1所示的示例中,用户使用了 ME 108的撰写窗口 112来向主机应用输入 "When we met I said,"。在一些示例实施例中,用户可能结合触摸屏显示器104来使用 屏幕上键盘(未示出)。在输入了上述短语之后,用户随后可能无法回忆起恰适的英文单 词,而向ME 108输入"nihao"。响应于确定"nihao"形成或部分地形成拼音词语,计算设 备102作出上述音译直译和翻译以确定和致使ME 108在候选窗口 114中向用户呈现针对 "nihao" 的三个建议英文完成候选(即,"hello"、"how are you?"和"drawn up")。
[0033] 在一些实现中,诸如图1中示出的实现,頂E 108还包括(在括号中)每个英文候 选的汉字等价物。将中文汉字等价物包括在内可能是由于各种原因中的任一个导致的。两 个可能的原因是:1)在拼音和汉字之间不存在一对一关系以及2)将汉字等价物包括在内 可以向用户提供更高置信和/或增加用户选择的准确性。在一些实现中,汉字字符可以通 过斜体或不同字体色彩的手段从视觉上衬托以区别于英文词语。这一视觉衬托物开可充当 汉字字符是用作参考并且将不会被包括在插入到主机应用106中的文本中的指示符。尽管 示出和讨论了具体的视觉衬托物,但各实现不限于任何特定的视觉衬托物或甚至对任何视 觉衬托物的使用。
[0034] 图2不出在用户从输入法编辑器(IME) 108的候选窗口 114中选择词语一"hello" 之后的系统1〇〇的示例框架。具体地,在接收到选择之际,頂E 108致使词语"hello"在图 1中示出的插入点光标符号处被插入到主机应用106的文本输入区域110中。在将所选候 选插入到主机应用106之后或与其并发地,頂E 108清除或重置撰写窗口 112和候选窗口 114以供继续输入文本。
[0035] 出于易于讨论和理解,图1和2被示为包括触摸屏显示器104, 一般通过对屏幕上 键盘的触摸选择来完成对文本的输入。然而,各实现不限于此。可通过各种输入法来完成 用户输入,诸如键盘输入、语音输入以及触摸屏姿势输入(例如手写识别)。例如,在一些 实现中,计算设备102可包括鼠标和键盘,并且文本输入通过在键盘上打字或者通过鼠标 来使用屏幕上键盘来完成。在该实现中对完成候选的选择可以通过输入数字标识符(例 如,输入"1"以选择图1中的"hello")或者通过鼠标输入(例如,在候选窗口 114上点击 "hello")。在另一示例实现中,具有语音输入的系统(例如,听写系统)可以允许用英文听 写的用户(碰到了该用户无法回忆起的英文词语)说出该用户无法回忆起的英文词语的中 文等价物。说出的词语可以被识别为非英文词语,此时系统可以呈现英文语言完成候选及 其汉字等价物以供用户选择,如上文参考图1所讨论的。鉴于本文的公开,关于可用于所公 开的技术和安排的输入法的细节的实现的这些和其他变型对于本领域技术人员来说将显 而易见。
[0036] 图3示出根据一些实现的示例过程流300。在图3的流程图中,每一个框表示可以 用硬件、软件、或其组合实现的一个或多个操作。在软件的上下文中,各个框表示当由一个 或多个处理器执行时使处理器执行既定操作的计算机可执行指令。一般而言,计算机可执 行指令包括执行特定功能或实现特定抽象数据类型的例程、程序、对象、模块、组件、数据结 构等。描述各个框的次序并不旨在被解释为限制,并且任何数量的所述框可以按任何次序 和/或并行地组合以实现该过程。出于讨论的目的,过程300参考以上描述的系统100来 描述,但其他模型、框架、系统和环境可实现所例示的过程。
[0037] 在框302,计算设备102在触摸屏显示器104上显示主机应用106和输入法编辑器 aME) 108。
[0038] 在框304,计算设备102接收字符输入。如上所讨论的,本文公开的技术和安排的 实现可以利用各种各样的输入法和设备。然而,出于简明的目的,图3-5和9-10的讨论将 在使用触摸屏显示器104来显示和致动的屏幕上键盘的触摸输入的上下文中讨论。
[0039] 在框306, ME 108分析接收到的字符输入,并且基于其来分别确定第一语言和第 二语言(英文和中文)的建议完成候选。应当注意,頂E 108可以在作出其确定时将其它 信息纳入考虑。将在以下讨论其它信息中的一些示例。该过程流接着继续到框308。
[0040] 在框308, ME 108在候选窗口 114中显示任何建议完成候选。该流程随后前进至 框 310。
[0041] 在框310, ME 108等待三个事件之一。第一,如果ME 108接收到一个或多个附 加字符312 (除了选择要被插入的候选词语的字符输入之外的)的输入,则该流程返回至框 306并且执行对建议完成候选的新的确定。
[0042] 第二,如果在框310, ME 108接收到对建议完成候选314的选择以供插入到主 机应用106中,则该流程移动至框316。在框316,所选完成候选按照可与上文关于将单词 "hello"插入到主机应用106所讨论的以及在图2中所示的类似的方式被插入到主机应用 106的文本输入区域110中。该流程随后前进至框318。
[0043] 第三,如果在框310, ME 108接收到指定单词完成而不使用完成候选320的输入 (例如,插入空格等以指示移位至新的单词的指令),则该流程移动至框322。在框322,撰 写窗口 112的内容被插入到主机应用106的文本输入区域110中。作为示例,这种情形可 能在用户希望将非英文词语插入到文本中时发生。该流程随后移至框318。
[0044] 在框318, ME 108已经要么将建议完成候选要么将撰写窗口 112的内容插入到主 机应用106的文本输入区域110中。頂E 108接着清除撰写窗口 112和候选窗口 114,以使 得IME准备好后续输入。尽管未示出,但过程流300可以接着在接收到进一步的字符输入 之际移动回到框304。
[0045] 如上所提及的,頂E 108在确定建议完成候选时可以将除了接收到的字符输入之 外的信息考虑在内。在一些实现中,这一附加信息包括上下文信息。可被使用的两个示例 类型的上下文信息是N-元和场景信息。N-元的示例是光标左侧的N个单词以及光标右侧 的M个单词的序列。场景信息的示例是包括各个项的信息,诸如过程名、输入范围(字段类 型/名称)、应用版本、以及操作系统版本。在一些实现中,接收到的字符输入(即,撰写窗 口 112的内容)可用于生成可在候选窗口 114中显示的任何数目的完成候选。上下文信息 (诸如N-元和场景信息)可以在一些实现中被用来对所生成的完成候选进行排名以向用户 显示。在其中所生成的完成候选的数目大于可以在候选窗口中显示的数目的情形中,附加 信息可用来选择要显示哪些完成候选。
[0046]在一些实现中,N-元可以在文档的内容级别处有用,并且场景信息可以提供关于 文档本身和环境上下文的信息。
[0047] 通过N-元,系统可以检测不同的"触发单词",像例如与经翻译的中文等价物(如 在web上在统计学上所见的单词如"hello")高度并发的"said"。因此,在包括N-元信息 的实现中,如果N-元附近文本包含与候选词语相关联的触发词语,则该候选词语可以出现 在候选排名列表中的较高位置。触发单词及其对应的搭配词语的发现是一种被称为"搭配 提取"的计算语言方法。概括来说,一些实现可以构建语言模型,该语言模型随后被用来基 于上下文在概率上影响候选的排名。各实现还可在跨语言上下文中应用N-元分析,以使得 分析用不同语言书写的词语之间的上下文并且进一步在这些语言的非拉丁书写系统中,执 行一种语言与另一语言的词语之间的音译直译的分析。
[0048]场景信息可用作排名中的另一特征。在一些实现中,頂E 108使用输入范围和应 用名称来提供暗示不同的书写样式的信号。例如,在微软公司Outlook?内的电子邮件中与 他们的经理对话时可能采用的书写样式可能不同于在Windows Live Messenger、Hotmail 或Gmail上与家庭成员通信时使用的书写样式。作为示例,场景信息可包括输入范围是电 子邮件消息正文而应用名称是Outlook的信息。
[0049] 这一分析的示例可以在图1中看到,其中词语"nihao"或更具体地其翻译"hello" 可以使用n-元和场景信息来分析。为了到达图1中示出的点(其中"hello"被排名为第一 候选),计算设备102使用上述上下文信息来提升词语"hello"。即,頂E 108观察到1)作 为"hello"的公知搭配的触发词语"said"紧接在当前插入点之前出现,2)输入范围是文档 并且应用是微软公司的Word?,这两者均会暗示更正式的书写样式,其中再一次"hello" 将在候选列表中排名更高。鉴于这一上下文分析,"hello"被排名为第一候选(除非另一 词语被给予更高的"相关性分数")。
[0050] 图4示出输入法编辑器(ME) 400的功能。頂E 400类似于输入法编辑器108,但 包括其功能性方面的一些变型,并且包括不同于頂E 108的候选窗口 402。图4用两种状态 示出输入法编辑器(頂幻400的建议候选的示例,一种状态是"nih"已经被输入到项目404 处的撰写窗口,而另一状态是"niha"已经被输入到项目406处的撰写窗口。如上所述,输 入法编辑器400的功能与上文针对ME 108所描述的功能不同。下面讨论两处变型。
[0051]第一处变型可以在项目404中ME 400的候选窗口 402中看到。具体地,ME400 已经在项目404中提供了直接英文到英文的完成的完成候选,但是在建议完成候选旁边示 出了对应中文单词的汉字字符。这示出了在候选窗口 402中显示汉字字符可以但并不要求 限于跨语言候选建议(诸如参照图1所讨论的那些)。其中仅跨语言完成候选包括汉字等 价物的实现出现在下文讨论的图5中。取决于实现,这一差别可以是IME 400被具体地设计 成总是示出针对包括在候选窗口 402中的任何英文语言建议完成候选的汉字字符的结果, 或者IME 400可包括可调整用户设置以允许用户启用、禁用或定制何时将这些汉字等价物 包括在候选窗口 402中。应当再次注意,在适当时,对英文的引用可以被修改为任何其它第 一语言,而对中文和汉字的引用可以被修改为任何其它第二语言。
[0052] 第二处变型在于图4中示出的实现的IME 400并非总是执行跨语言候选建议功 能。相反,当IME 400确定满足一个或多个条件时,IME 400执行跨语言候选建议功能。在 图4中示出的示例中,ME 400确定是否满足三个条件。第一个条件是ME 400检查ME 400的语言模式是否是或者是否已经改变成"外语输入模式"(例如,"英文模式")。在一些 实现中,当用户例如按压Shift键或使用用户界面内的菜单选项时,输入模式在"外语输入 模式"中来回切换。除非另外指出,针对本文的讨论假定用户在每一过程中都进入了"外语 模式"。其余的两个条件在下文中参考项目404来讨论。
[0053] 在项目404,用户已经向输入法编辑器108的撰写窗口输入了 "When we met I said, nih"。短语"When we met I said,"已经按照诸如图1所示的方式被插入主机应用 中。ME 400处理输入的字符,并且返回两个英文单词"nihilism"和"nihilistic"作为完 成候选。如上所提及的,在一些实现中,頂E可以由于一个或多个条件而不执行跨语言候选 建议。具体地,当撰写窗口中的字符计数大于字符数N但小于字符数M时,诸如图4所示的 一些实现可以执行跨语言候选建议。在一示例实现中,N可以> =4而M可以〈=16。在 一些这样的实现中,可以这么做,因为在少于4个字符的情况下,单词不太可能形成完全, 而在超过16个字符的情况下,输入变得越基于句子的机器翻译,而这可能不太准确。作为 检查字符计数方面的条件的补充或者替换,頂E可以确定将可用的第一语言(此处为英文) 的候选数目,并且如果候选数目大于或等于数目K,则ME 400可以放弃跨语言候选建议。 另一方面,当候选窗口中的候选数目小于K时,IME 400执行跨语言候选建议。作为示例, 在一些实现中,当可被示出的候选的最大数目是5时,K可能〈=3。一般地,一些实现可以 基于这样的假定来设计,如果ME可以产生针对给定输入的自动完成建议的完整列表(即, 相同语言完成候选),则用户可能不会用第二语言来输入词语(或第二语言的词语的音译 直译)。
[0054]在404,用户现在向输入法编辑器400的撰写窗口输入了"niha"。在此时,字符数 目大于4 (上文讨论的示例)而具有此开头的英文语言单词的数目限于城市名"Nihau"的 一个正确名词。因而,在项目404中,ME 400确定应当执行跨语言候选建议。作为跨语言 候选建议分析的结果,頂E 400确定"nihao"是"niha"的可能拼音完成。接着,頂E 400执 行上文讨论的上下文分析,包括搭配确定。据此确定在对应于拼音单词"nihao"的汉字词 语中,翻译成英文"hello"或"how areyou?"的词语是排名最高的。接着至少部分地基于 "said"与"hello"的搭配来确定英文等价物"hello"具有被选中的较高统计学概率。在图 4中示出的示例实现中,从被包括在候选窗口中的角度来看,维护针对相同语言完成候选的 优先级。换言之,尽管其它跨语言完成候选可能具有较高的上下文分析"得分",但在选择 要将哪些完成候选包括在候选窗口 402中时相同语言完成候选"Nihau"被给予优先级。然 而,这一优先级不延及排名。简言之,一些实现使用充分利用诸如上文讨论的上下文信息的 统计学模型来对照词语"Nihau"排名翻译等价物。由于Nihau被确定为具有较低的上下文 "得分","hello"和"how are you?"被给予较高排名并且在项目406中所示的候选窗口 402中被呈现地较高。
[0055] 出于简化的目的,应当理解,这一排名过程或与其类似的过程可以应用于任何各 定实现中的完成候选以确定要在候选窗口中呈现哪些候选词语以及这些完成候选将被呈 现的次序。因而,除非另外表明,应当假定在本说明书中描述的类似过程也可实现这样的排 名/选择技术,并且这不应当被认为是限制。
[0056] 在406示出的状态之后,如果用户完成了将词语"nihao"输入到撰写窗口 402,则 IME 400将镜像图1中的IME 108的表现,因为没有任何进一步的相同语言完成候选可用。
[0057] 图5示出输入法编辑器(ME) 500的功能。頂E 500类似于ME 108和ME400,但 在其功能性方面具有一些变型,并且包括不同于頂E 108和ME 400的候选窗口 502。输入 至lj ME 500的文本被插入到作为项目504来指示的主机应用106中。在图5中示出的ME 500的状态506、508和510之前并且尤其在状态506之前,短语"There were many men and" 已经被输入到頂E 500并且ME 500已经将该短语插入到主机应用106中。图5示出了当 1)在项目504处,"worn"接着被插入到撰写窗口中时,2)在项目508处,"e"被输入以使得 项目508处的撰写窗口包括字符"wome"时,以及3)在项目510处,"n"被输入以使得项目 510处的撰写窗口包括字符"women"时,ME 500的建议候选的示例。如上所述,如下所述 的输入法编辑器500的功能与上文针对ME 108和ME 400所描述的功能不同。
[0058] 在项目506, ME 500接收到输入字符"wom",处理输入的字符,并且返回英文单词 "women"、"woman"和"womenswear"。不像IME 400那样包括在候选窗口 402中不出的任何 英文词语的汉字等价物,IME 500不示出相同语言完成候选的汉字等价物(即,直接英文到 英文的候选)。例如,在506,英文词语"women"、"woman"和"womenswear"不伴随它们的汉 字等价物,因为它们是基于对英文词根"worn"的使用而提出的相同语言完成候选。缺少针 对相同语言完成候选的汉字等价物可能是由于各种因素导致的,诸如IME 500被设计成不 包括针对相同语言完成候选的等价物,或者ME 500可以具有允许启用或禁用显示针对相 同语言完成候选的汉字等价物的用户设置。
[0059] 此外,在图5示出的实现中,在506, IME 500不执行跨语言候选建议功能,因为字 符计数条件确定的结果与上文参考项目404所讨论的结果相同。具体地,在506,少于4个 的字符被输入到IME 500中。然而,IME 500的另一功能变型缩窄了执行跨语言候选建议 功能的范围(即便输入了 4个字符)。这在下文参照项目508来讨论。
[0060] 在项目508, ME 500接收到字符输入"e",处理撰写窗口 112中的文本(即 "wome"),并且返回两个英文单词"women"和"woman"。如上所提及的,在图5示出的示例 实现中,尽管撰写窗口包含至少4个字符并且不存在超过3个的英文候选,但候选窗口 502 中并未包括跨语言候选。这是因为在图5示出的实现中ME 500已经缩减了要从中建议候 选的跨语言候选完成范围。具体地,IME 500仅基于撰写窗口的内容来执行跨语言检查以 供完成拼音词语。因此,尽管women既是英文单词的拼写又是中文单词"we"或"our"的音 译直译,但頂E 500将跨匹配限于不具有拼音中的中文等价物的字符串"wome"。
[0061] 在项目510, ME 500接收到字符输入"n",处理撰写窗口 112中的文本(即 "women"),并且返回两个英文单词"women"和"woman"。在处理词语"women"期间,IME 500 还确定"women"是至少一个中文单词的音译直译。相应地,ME500获得关于针对拼音中文 词语"women"的跨语言完成候选的信息以供可能地显示在候选窗口 502中。在一些实现中, IME 500确定英文词语"we"、"〇ur"和"ourselves"各自是拼音音译直译"women"的可能 翻译。IME 500对这些词语以及英文完成建议"women"和"womenswear"执行排名/选择 以获得和呈现在项目510处的候选窗口 502中示出的列表。在510处示出的非限制性实现 中,词语"women"排名在列表顶部,因为其通常与单词/短语"men and"搭配作为短语"men and women"的一部分。尽管并未具有与women -样高的上下文"得分",但发现womenswear 具有比"we"和"our"更高的得分。排名在列表中继续向下。这得到了最低排名的完成候 选,由于不能纳入可用空间,"ourselves"并未在候选窗口 502中示出。
[0062] 在510处示出的状态之后,用户可以通过选择要插入的候选之一、输入恰适的命 令以插入撰写窗口的内容而不管任何建议完成候选、或者通过输入进一步的字符来继续。
[0063] 图6示出包括客户端设备602和一个或多个服务器设备604的替换实现的逻辑框 架600。客户端设备602和一个或多个服务器设备604跨网络606通信以执行上文关于图 1-5所讨论的类似的完成候选建议。此外,尽管服务器设备604被示为单个实体,但应当理 解,一些实现可包括许多个体服务器设备。例如,一些实现可以"在云中"实现服务器设备 604,这是由于在如此安排中可用的冗余存储器和处理能力。
[0064] 客户端设备602包括主机应用608和客户端侧输入法编辑器(ME)应用610。客 户端侧ME应用610包括用户界面612、上下文组件614、分析组件616和呈现组件。
[0065] 主机应用608类似于上文参照图1-5所讨论的主机应用106。客户端侧ME应用 610的用户界面612从用户接收输入,并且在图形用户界面(⑶I)(类似于图1、2、5、9和10 中示出的GUI)中向用户显示建议文本候选。用户界面612还接收其它用户输入和/或命 令,诸如选择完成候选以供插入到主机应用608中的输入。上下文组件614收集关于用户 输入的上下文的数据。分析组件616至少部分地基于收集的上下文数据来分析用户输入, 并且基于接收到的输入来确定第一语言的任何建议完成候选。分析组件616接着确定是否 应当查询一个或多个服务器设备604关于附加信息,诸如基于第二语言的跨语言完成候选 以及取决于特定实现的对要被呈现的完成候选以及用于呈现的次序的选择。通信组件618 执行客户端设备602的组件与其它设备(诸如一个或多个服务器设备604)之间跨网络606 的通信。
[0066] 客户端侧ME应用610的一些模块可被实现为单独的系统,且它们的处理结果可 由ME 610使用。出于方便描述起见,以上ME在功能上被划分成分开描述的各个模块。当 实现所公开的系统时,各个模块的功能可在软件和/或硬件的一个或多个示例中实现。 [0067] 一个或多个服务器设备604可以各自包括服务器侧输入法编辑器应用620。服务 器侧頂E应用620包括统计分析和存储组件622、分析组件624和通信组件626。
[0068] 统计分析和存储组件622创建和维护统计信息、索引音译直译和翻译的表、以及 一个或多个服务器设备604回答来自客户端设备602的查询所使用的其它信息。
[0069] 分析组件624使用来自客户端设备的查询中的接收到的字符和上下文信息以及 由统计分析和存储组件622存储的信息来确定基于第二语言的跨语言完成候选以及取决 于特定实现的第一语言的完成候选。分析组件624还可使用排名技术(诸如上文参照图4 和5所描述的技术)来选择要作为完成候选呈现的词语以及用于其呈现的次序。
[0070] 通信组件626执行一个或多个服务器设备604的组件与其它设备(诸如客户端设 备602)之间跨网络606的通信。
[0071] 在客户端一服务器架构中可存在IME系统的其他配置。在另一示例中,分析组件 616可以位于一个或多个服务器设备中而非客户端设备110中。在又一不例中,一个或多个 服务器设备604的分析组件624可以合并到客户端设备602。
[0072] 图7示出根据一些实现的示例过程流700。出于讨论的目的,参考以上描述的框架 600 (尤其是客户端设备602)来描述过程700,但其他模型、框架、系统和环境也可实现所例 示的过程。
[0073] 在框302,客户端侧输入法编辑器应用610的用户界面612致使客户端侧输入法编 辑器(頂幻610的图形用户界面(GUI)在触摸屏显示器(诸如触摸屏显示器104)上例如通 过主机应用608来显示。在框304,客户端设备602的用户界面612接收字符输入。
[0074] 在框702,上下文组件614收集有关接收到的字符输入的上下文的数据。分析组件 616分析接收到的字符输入并且基于接收到的输入来确定第一语言的任何建议完成候选。 该流程随后前进至框704。
[0075] 在框704,分析组件616确定是否要向一个或多个服务器设备604查询关于基于第 二语言的建议完成候选。如果分析组件616确定不应当查询服务器,则过程流接着继续至 框308。如果分析组件616确定应当查询服务器,则过程流接着继续至框706。
[0076] 在框706,通信组件618向一个或多个服务器604发送查询。查询包括信息,诸如 接收到的输入字符、上下文信息等。取决于特定实现,也可查询除了基于第二语言的建议完 成候选之外的信息。例如,查询可请求对要呈现的建议完成候选以及用于呈现的次序的选 择。该流程随后前进至框708。
[0077] 在框708,通信组件618从一个或多个服务器604接收对查询的响应。该流程随后 前进至框308。
[0078] 图7中示出的框308-318的操作与先前关于图3讨论的操作相同。相应地,此处 不重复对这些框的操作的讨论。
[0079] -旦流程到达框318,客户端侧ME应用610要么将建议完成候选要么将撰写窗口 112的内容插入到主机应用608中。客户端侧ME应用610接着清除其撰写窗口和候选窗 口,以使得客户端侧頂E准备好用于后续输入。尽管未示出,但过程流700可以接着在接收 到进一步的字符输入之际移动回到框302。
[0080] 图8示出根据一些实现的示例过程流800。出于讨论的目的,参考上述的框架 600 (尤其是一个或多个服务器设备604)来描述过程800,但其他模型、框架、系统和环境也 可实现所例示的过程。
[0081] 在框802,初始化一个或多个服务器设备604。因为在图8中示出的示例实现中,月艮 务器设备基于在接收到请求之前在初始化时一个或多个服务器设备604创建、更新和加载 信息到存储器中时所生成的音译直译和翻译的大型索引表来确定来自客户端设备602的 查询的结果。
[0082] 在一些实现中,这允许服务器设备604利用大量的存储器。这些索引在特定服务 器初始化时被加载到存储器中以允许查询的快速完成。索引和表可以根据从先前跨语言完 成请求的日志中收集的统计信息来生成以便使用与过去查询的词语的流行度大致匹配的 概率来对它们进行预先排名。在一些实现中,用于遍历这些表的解码器可以将上述上下文 参数考虑在内并且充分利用受监管的学习算法用于产生随着时间越来越好的结果。即,对 来自候选群的特定候选的用户选择在全局规模被"学习",并且通过充分利用日志数据,最 终提供在特定上下文中可更好地匹配用户需求的结果。
[0083] 在框804,服务器设备604从客户端侧ME应用610接收查询,该查询包括与客户 端侧ME应用610的撰写窗口的内容相对应的一个或多个字符以及上下文信息(诸如场景 和n-元信息)。该流程随后前进至框806。
[0084] 在框806,服务器设备604确定基于不同于一个或多个字符的语言(即第一语言) 的语言(即第二语言)的完成候选以及取决于特定实现的一个或多个字符的语言(即第一 语言)的建议完成候选。该流程随后前进至框808。
[0085] 在808,分析组件624使用排名技术(如上文参考图4和5所描述的技术)选择所 确定的完成候选中要返回至客户端设备602的、作为要在客户端侧IME应用610中显示的 完成候选的一个或多个以及用于它们呈现的排名次序。选择和排名可以基于来自客户端设 备602的查询中包括的上下文信息以及在框802中生成和/或预先加载的信息。该流程随 后前进至框810。
[0086] 在810,通信组件626跨网络606将所生成和经排名的完成候选(如果有)发送给 客户端设备602。尽管任何数目的通信格式可用于服务器响应,但在一些实现中,服务器响 应格式是XML。示例XML响应在下文中的表1中示出,其可用于返回如图5的项目510中所 示的候选窗口 502的内容,除了在表1中还包括针对英文完成候选的汉字字符。具体地,在 表1中,R元素对应于响应。在每一 R元素中,可能存在各自与建议完成候选相对应的一个 或多个C元素。每一 C元素包含一对元素,完成候选(T元素)和汉字等价物(H元素)。C 元素基于指派给候选的排名来排序。应当注意,可能存在具有相同H内容的多个C元素,但 T值应该是不同的。
[0087] 表1?示例XML响应

【权利要求】
1. 一种计算系统,包括: 一个或多个处理器; 一个或多个存储指令的计算机可读介质,当所述指令被一个或多个处理器执行时,致 使所述一个或多个处理器以执行包括以下的动作: 显示包括文本输入区域的主机应用的用户界面; 由输入法编辑器(IME)接收一个或多个字符,所述IME将一个或多个完成候选中的完 成候选插入所述主机应用的所述文本输入区域中;以及 显示所述一个或多个完成候选,所述完成候选中的至少一个是采用与所述一个或多个 字符不同语言的跨语言完成候选。
2. 如权利要求1所述的计算系统,其特征在于,还包括: 接收对一个或多个显示的完成候选中的至少一个的选择;以及 将至少一个所选完成候选插入到所述主机应用的所述文本输入区域中。
3. 如权利要求1所述的计算系统,其特征在于,显示所述一个或多个完成候选包括: 对于至少一个跨语言完成候选,显示与所述跨语言完成候选相对应的候选信息,所述 候选信息包括跨语言完成候选中采用与所述跨语言完成候选不同语言的版本。
4. 如权利要求3所述的计算系统,其特征在于,与所述跨语言完成候选不同的语言是 所述一个或多个字符的语言。
5. 如权利要求4所述的计算系统,其特征在于,包括在所述候选信息中的所述跨语言 完成候选的版本采用与所述一个或多个字符不同的书写系统。
6. 如权利要求1所述的计算系统,其特征在于,所述一个或多个完成候选按照基于所 述完成候选的排名的次序而显示。
7. 如权利要求6所述的计算系统,其特征在于,对所述一个或多个完成候选的排名至 少部分地基于关于要在该处插入所述完成候选中的一个或多个的插入点的上下文信息。
8. 如权利要求1所述的计算系统,其特征在于,显示所述一个或多个完成候选包括: 对于采用所述一个或多个字符的语言的至少一个完成候选,显示与采用所述一个或多 个字符的语言的完成候选相对应的候选信息,所述候选信息包括对应的完成候选中采用与 所述完成候选不同语言的版本。
9. 一种方法,包括: 接收词语的至少一部分;以及 由处理器标识或生成一个或多个完成候选,所述完成候选中的至少一个采用与所述词 语不同的语言。
10. 如权利要求1所述的方法,其特征在于,还包括: 接收所述词语的上下文信息;以及 至少部分地基于所述上下文信息来排名所述一个或多个完成候选。
11. 如权利要求10所述的方法,其特征在于,所述上下文信息包括关于要在该处将所 述完成候选中的一个或多个插入到计算机应用中的插入点的信息。
12. 如权利要求11所述的方法,其特征在于,关于插入点的信息至少包括n-元并且所 述排名至少部分地基于搭配。
13. 如权利要求10所述的方法,其特征在于,所述上下文信息包括关于要将所述完成 候选插入其中的计算机应用和环境的场景信息。
14. 如权利要求13所述的方法,其特征在于,所述场景信息包括过程名称、输入范围、 计算机应用版本、以及操作系统中的至少一个。
15. 如权利要求9所述的方法,其特征在于,还包括: 对所述一个或多个完成候选排名,其中当多个完成候选被标识或生成时,对至少一个 完成候选的排名至少部分地基于所述完成候选是否采用与所述词语不同的语言。
16. -个或多个维护指令的计算机可读介质,当所述指令被一个或多个处理器执行时, 配置所述一个或多个处理器以执行包括以下的动作: 由输入法编辑器(IME)接收一个或多个字符,所述IME将一个或多个完成候选中的完 成候选插入主机应用的文本输入区域中; 向包括至少一个计算设备的远程服务请求一个或多个完成候选;以及 从所述远程服务接收所述一个或多个完成候选,所述完成候选中的至少一个是采用与 所述一个或多个字符不同语言的跨语言完成候选; 显示所述一个或多个完成候选。
17. 如权利要求16所述的一个或多个种计算机可读介质,其特征在于,所述动作进一 步包括: 接收对一个或多个显示的完成候选中的至少一个的选择;以及 将至少一个所选完成候选插入到所述主机应用的所述文本输入区域中。
18. 如权利要求16所述的一个或多个种计算机可读介质,其特征在于,所述动作进一 步包括: 确定所述一个或多个字符中的字符数目;以及 其中当所述一个或多个字符中的字符数目大于预定义数目时执行所述请求。
19. 如权利要求16所述的一个或多个种计算机可读介质,其特征在于,所述动作进一 步包括: 在所述请求之前,标识或生成采用与所述一个或多个字符相同语言的一个或多个完成 候选; 确定采用与所述一个或多个字符相同语言的完成候选的数目;以及 其中当采用与所述一个或多个字符相同语言的完成候选的数目小于预定义数目时执 行所述请求。
20. 如权利要求16所述的一个或多个计算机可读介质,其特征在于,当在所述IME或所 述主机应用之一中启用外语模式时执行所述请求。
【文档编号】G06F3/023GK104412203SQ201280074382
【公开日】2015年3月11日 申请日期:2012年6月29日 优先权日:2012年6月29日
【发明者】M·R·斯科特, J·K·纳加里, J-Y·李, W·刘, R·赖, X·陈, H·候 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1