客户端输入方法

文档序号:6608954阅读:175来源:国知局
专利名称:客户端输入方法
技术领域
本发明涉及输入法。
背景技术
在词符文字(logographic script)中, 一个或两个字符(character),例如 字形(glyph),大致对应于一个词或含义,使用词符文字的语言具有的字符 多于诸如计算机键盘的标准输入设备上的键或移动设备键区(keypad)上的 键。例如,中文包括数万个字符,这些字符具有由基本拼音元素和五个音调 定义的读音。这种潜在地多到一的关联的映射可以通过帮助输入在输入设备 上找不到的字符和符号的输入法来实现。因此,西文式(Western-style)键盘 可以用来输入中文。同样,可以采用输入法来使用西文式键盘或者一些其它 输入设备来输入许多其它包括表意文字的语言,诸如日文、韩文或其它语言。
为了实现输入法,用户一般必需安装客户侧软件应用程序和库(library )。 然而,当用户在特定计算机设备上工作时这种安装可能是不方便的,所述特 定计算机设备例如为公共设备或工作环境中的第二计算机等。

发明内容
本说明书描述的技术涉及客户端输入法编辑器。在一些实施方式种,输 入法代码被提供给客户端设备,并且从客户端设备接收输入法上下文或语境。 根据输入法上下文或语境来选择用于输入法实例的库模型。库模型可以用来 为客户端设备上的输入法实例提供输入法处理。
在附图及以下的说明中将阐述在本说明书中描述的主题的一个或多个实 施例的细节。通过说明书、附图和权利要求,该主题的其它特征、方面和优 点将变得更加清楚。


图1是能够被利用来实现此处描述的系统和方法的示例环境的方框图。图2是一个示例的输入法编辑器处理的流程图。。
图3是另一个示例的输入法编辑器处理的流程图。 各个附图中的相同的参考数字和标记表示相同的元素。
具体实施例方式
图1是可以用来实现这里所描述的系统和方法的示例环境的方框图。该 环境可以包括客户端设备100,其例如可以在诸如个人计算机设备的计算机 设备中实现,或者在诸如移动电话、移动通信设备、个人数字助理(PDA) 等的其它电子设备中实现。这里的系统和方法有助于对客户端设备动态下载 输入法编辑器代码和/或一个或多个输入法编辑器语言和库模型。该语言和库 模型例如可以被基于在客户端设备检测的上下文或语境或语境来选择。
示例设备100包括处理设备102、第一数据存储部分104、第二数据存储 部分106、输入设备108、输出设备110以及网络接口 112。包括例如数据总 线和主板的总线系统114可以被用来建立和控制组件102、 104、 106、 108、 IIO和112之间的数据通信。也可以使用其它系统体系结构。
处理设备102例如可以包括一个或多个微处理器。第一数据存储部分104 例如可以包括诸如动态随机存取存储器的随机存取存储器存储设备或其它类 型的计算机可读介质存储器设备。第二数据存储部分106例如可以包括一个 或多个硬盘驱动器、快闪存储器、和/或只读存储器、或者其它类型的计算机 可读介质存储器设备。
示例的输入设备108可以包括键盘、鼠标、输入笔(stylus)等,而示例 的输出设备110可以包括显示设备和音频设备等。网络接口 112例如可以包 括可操作用来向网络116发送数据和从网络116接收数据的有线或无线网络 设备。网络116可以包括一个或多个局域网(LAN)和/或广域网(WAN), 诸如因特网。
在一些实施方式中,客户端设备IOO可以从输入法编辑器(IME)服务 器118接收输入法编辑器代码101,并将该输入法编辑器代码101存储在诸 如数据存储部分104的数据存储部分上。可以通过指令来定义输入法编辑器 (IME )代码101 ,所述指令在被执行时能使处理设备102执行输入法编辑功 能。输入法编辑器代码101例如可以包括能够在网络浏览器环境中执行的诸 如脚本指令的解释指令,脚本指令例如为JavaScript或ECMAScript指令。也可以4吏用其它实施方式,例如独立(stand-alone)应用、小应用禾呈序(applet) 和插入(plug-in)模块等。
执行输入法编辑器代码101生成或启动(launch)输入法编辑器实例 (instance) 103。输入法编辑器实例103帮助在客户端i殳备100处理一种或 多种输入法,在处理一种或多种输入法期间,设备100可以接收用于输入诸 如例如汉字字符的字符或符号的组合输入(composition input)。例如,用户 可以使用一个或多个输入设备108 (例如,诸如西文式键盘的键盘、与手写 识别引擎一起使用的输入笔等)来输入用于标识汉字字符的组合输入。在一 些示例中,汉字字符可以由多于一个的组合输入构成。
IME代码101可被动态地给任何使用词符文字的语言。例如,IME代码 101可响应于隐含的请求而被提供,该隐含的请求比如为用户调用输入法编 辑器功能。在一些实施方式中,设备IOO可以接收一个或多个拼音组合输入, 并将所述组合输入转换成汉字字符。客户端设备100可以例如使用从键击接 收到的拼音音节或字符的组合来表示汉字字符。每个拼音音节例如可以对应 于西文式键盘中的一个键。利用拼音IME (输入法编辑器),用户可以通过使 用组合输入来输入汉字字符,该组合输入包括一个或多个表示汉字字符的读 音的拼音音节。
在一些实施方式中,输入法编辑器服务器118也可以部分地帮助处理输 入法。客户端设备100可以将输入法编辑器上下文或语境(IMEC) 105提供 给输入法编辑器服务器118。输入法编辑器上下文或语境105例如可以定义 在其中利用输入法编辑器实例103的上下文或语境。例如,第一上下文或语 境105a可以是编辑器上下文或语境,例如基于网络的词处理环境;第二上下 文或语境105b可以是搜索上下文或语境,例如用于搜索引擎的文本输入框; 第三上下文或语境105c可以是消息上下文或语境,例如即时消息编辑环境或 电子邮件编辑环境。也可以使用其它的输入法编辑器上下文或语境,例如, 诸如地图环境、文字环境、聊天环境,或其它类型的编辑环境,和/或在浏览 会话期间用户的输入历史,和/或用户简档。
输入法编辑器服务器118可以例如包括输入法编辑器(IME)引擎120、 字符数据存储部分122、组合输入数据存储部分124、以及库/语言模型数据 存储部分126。也可以使用其它的存储器体系结构。字符数据存储部分122 包括在一个或多个语言模型中使用的词符文字的字符。在一些实施方式中,字符数据存储部分122还包括关于字符之间的关系的信息。例如,字符数据 存储部分122可以包括分配给字符的分数或概率值,该分数或概率值是根据 与该字符接近的字符而分配的。也可以使用其它上下文或语境关系数据。
组合输入数据存储部分124包括组合输入与存储在字符数据存储部分 122中的字符的关联。在一些实施方式中,组合输入数据存储部分124可以 将在字符数据存储部分122中存储的每个字符链接到由输入法编辑器引擎 120所使用的组合输入。例如,输入法编辑器引擎120可以使用字符数据存 储部分122和组合输入数据存储部分124中的信息来将字符数据存储部分122 中的一个或多个字符与组合输入数据存储部分124中一个或多个组合输入相 关联,或者用组合输入数据存储部分124中的一个或多个组合输入来识别字 符输入存储器122中的一个或多个字符。也可以使用其它的关联方式。
库/语言模型数据存储部分126可以为语言模型定义一个或多个库,例如 可以为汉字文字定义几个库。每个库例如可以定义字符122与组合输入表124 的特定关4关。在一些实施方式中,库,例如库(LIB) 130,可以^4居输入法 编辑器上下文或语境105而被选择。例如,对于输入法编辑器上下文或语境 105a,编辑器上下文或语境,对应的库130可以被选择。可以针对输入法编 辑器103的特定上下文或语境来优化库130a,例如,用于编辑器上下文或语 境105a的库130a可能比用于搜索上下文或语境105b的库130b更具鲁棒性。
被选择的库,例如用于输入法编辑器上下文或语境105a的库130a,可 以例如服务于客户端设备100。当在客户端设备100接收到库130a时,输入 法编辑器实例103可以根据組合输入以及与被选择的字符接近或与光标位置 接近的字符来选择候选字符。输入法编辑器实例103可以接收对词符文字中 的字符的选择,诸如,例如对用户将要改变或修改的字符的选择,以及后续 的组合输入。根据这些输入和选择,用户能够在编辑会话中输入希望的字符。
在一些实施方式中,可以将用户选择和输入从客户端设备IOO提供给输 入法编辑器服务器118,并且输入法编辑器引擎120可以被配置成根据所选 择的库130提供输入法处理。
图2是示例的输入法编辑器处理200的流程图。处理200可以例如在图 1的环境100中实现。
处理200将输入法代码提供给客户端设备(步骤202 )。例如,IME服务 器118可以接收来自客户端设备100的对于输入法编辑器代码101的请求,并作为响应将输入法编辑器代码101提供给客户端设备100。
处理200从客户端设备接收输入法上下文或语境(步骤204 )。例如,当 客户端设备100的用户在搜索引擎输入栏中键入文本从而尝试调用输入法编 辑器处理时,IME服务器118可以从客户端设备IOO接收输入法上下文或语 境,例如搜索上下文或语境105b。
处理200根据输入法上下文或语境来识别用于输入法实例的库模型(步 骤206)。例如,IME引擎120可以根据输入法上下文或语境150b而识别用 于输入法编辑器实例103的库模型,例如库模型130b。在一个实施方式中, 输入法编辑器引擎120可以为客户端设备IOO提供输入法编辑器处理。在另 一个实施方式中,库130可以被提供给客户端100,并且输入法编辑器实例 103可以提供输入法编辑器处理。
图3是另 一个示例的输入法编辑器处理300的流程图。处理300可以例 如在图1的环境中实现。
处理300在客户端设备上接收输入法代码(步骤302 )。例如,IME服务 器118可以接收来自客户端设备100的对于输入法编辑器代码101的请求, 并作为响应将输入法编辑器代码101提供给客户端设备100。客户端设备100 可以接收该输入法编辑器代码101。
处理300将输入法上下文或语境提供给输入法编辑器服务器(步骤304 )。 例如,当客户端设备100的用户在搜索引擎输入栏中键入文本时尝试调用输 入法编辑器处理时,可以将输入法编辑器上下文或语境,例如输入法编辑器 上下文或语境105b发送到输入法编辑器服务器118。
处理300根据输入法上下文或语境接收用于输入法实例的库模型(步骤 306 )。例如,IME引擎120可以根据输入法上下文或语境150b而识别用于输 入法编辑器实例103的库模型,例如库模型130b。库130可以被提供给客户 端100,并且输入法编辑器实例103可以提供输入法编辑器处理。
在一些实施方式中,工具栏集成(toolbar integration )例如通过向网页提 供JavaScript代码片断(snippet)来向诸如具有文本框的网站的在线网络应用 提供输入法编辑能力。这种实施方式例如可以被用于浏览器设备中,并且能 够与现有的在线应用集成。JavaScript脚本可以被配置成识别网络应用的所有 文本输入事件,并动态地插入脚本以生成输入法编辑器实例。库130可以由 输入法编辑器服务器118动态地提供,并且可以基于一个或多个使用例如曰志数据训练的语言模型,所述日志数据可以包括网络搜索询问或高速緩存
(cached)的文档。其它的实施方式也可#:使用,例如,可以利用软件和/或 硬件堆栈中的其它层来改善输入法编辑环境。
在一些实施方式中,输入法编辑器服务器118可以通过首先检测或识别 用户输入的上下文或语境,例如询问或电子邮件的编辑区,来提供(serve) 库130。例如,对于搜索框,输入法编辑器服务器118可以提供通过询问数 据训练的库。对于输入或编辑区,诸如电子邮件界面,输入法编辑器服务器 118可以提供由储存的文档训练的库。输入法编辑器服务器118库可以周期地 更新。
根据本申请的第一方面,提供了一种方法,包括向客户端设备提供输 入法代码;从该客户端设备接收输入法上下文或语境;以及根据所述输入法 上下文或语境识别用于输入法实例的库模型。
根据本申请的第二方面,在所述第一方面的方法中,向客户端设备提供 输入法代码包括向客户端设备提供浏览器脚本。
根据本申请的第三方面,在所述第一方面的方法中,从客户端设备接收 输入法上下文或语境包括接收由所述客户端设备所浏览的网页的标识。
根据本申请的第四方面,在所述第一方面的方法中,从客户端设备接收 输入法上下文或语境包括接收工具栏应用的标识。
根据本申请的第五方面,在所述第一方面的方法中,根据所述输入法上
下文或语境识别用于输入法实例的库模型包括识别搜索栏库模型。
根据本申请的第六方面,在所述第一方面的方法中,根据所述输入法上
下文或语境识别用于输入法实例的库模型包括识别文档编辑库模型。
根据本申请的第七方面,在所述第一方面的方法中,向客户端设备提供 输入法代码包括向客户端设备提供定义拼音输入法编辑器的输入法代码。
根据本申请的第八方面,在所述第一方面的方法中,向客户端设备提供 输入法代码包括响应于隐含的请求动态地提供输入法代码。
根据本申请的第九方面,在所述第一方面的方法中,所述库模型基于一 个或多个语言模型。
根据本申请的第十方面,所述第九方面的方法包括基于搜索日志数据 来训练所述一个或多个语言模型。
根据本申请的第十一方面,在所述第十方面的方法中,所述搜索日志数据包括网络搜索询问。
根据本申请的第十二方面,在所述第十方面的方法中,所述搜索日志数
据包括高速緩存的文件。
根据本申请的第十三方面,提供了一种方法,包括在客户端设备接收
输入法代码;将输入法上下文或语境提供给输入法编辑器服务器;以及根据
所述输入法上下文或语境接收用于输入法实例的库模型,其中,该输入法实
例基于所述输入法代码。
根据本申请的第十四方面,提供了一种系统,包括一个或多个处理器和
一个或多个存储器设备,这些存储器设备存储一个或多个计算机程序,这些 计算机程序可操作用来使所述一个或多个处理器执行多个动作,这些动作包 括向客户端设备提供输入法代码;从该客户端设备接收输入法上下文或语 境;以及^^艮据所述输入法上下文或语境识别用于输入法实例的库模型。
根据本申请的第十五方面,提供了一种系统,包括一个或多个处理器和 一个或多个存储器设备,这些存储器设备存储一个或多个计算机程序,这些 计算机程序可操作用来使所述一个或多个处理器执行多个动作,这些动作包 括在客户端设备接收输入法代码;将输入法上下文或语境提供给输入法编 辑器服务器;以及根据所述输入法上下文或语境接收用于输入法实例的库模 型,其中,该输入法实例基于所述输入法代码。
根据本申请的第十六方面,提供了一种计算机程序产品,其编码在有形 程序载体上,可操作用于使数据处理装置执行多项操作,这些操作包括向 客户端设备提供输入法代码;从该客户端设备接收输入法上下文或语境;以 及根据所述输入法上下文或语境识别用于输入法实例的库模型。
根据本申请的第十七方面,提供了一种计算机程序产品,其编码在有形 程序载体上,可操作用于导致数据处理装置执行操作,所述操作包括在客 户端设备接收输入法代码;将输入法上下文或语境提供给输入法编辑器服务 器;以及根据所述输入法上下文或语境接收用于输入法实例的库模型,其中, 该输入法实例基于所述输入法代码。
尽管在上下文或语境中描述了特定的语言和输入法的例子,但这里所描 述的系统和方法可被用于任何使用词符文字的语言。例如,这里所描述的系 统和方法可被用于许多其它包括表意文字的语言,诸如日文、韩文和其它语本说明书中所描述的主题和功能操作的实施例可以在包括本说明书中公 开的结构及其结构等效物的数字电子电路、或者计算机软件、固件或硬件来 实现,或者以它们中的一个或多个的组合来实现。可以将本说明书中描述的 主题的实施例实现为一个或多个计算机程序产品,即,在有形程序载体上编 码的计算机程序指令的一个或多个模块,以供数据处理装置执行,或者用于 控制数据处理装置的操作。有形程序栽体可以是传播信号或者计算机可读介 质。传播信号是人工生成的信号,例如机器生成的电、光或电磁信号,其被 生成以编码信息从而发送到适当的接收机装置,以供计算机执行。计算机可
读介质可以是机器可读存储设备、机器可读存储基质(substrate)、存储器设备、 影响机器可读传播信号的物质的合成、或者它们中的一个或多个的组合。
术语"数据处理装置"嚢括用于处理数据的所有装置、设备和机器,例 如包括可编程处理器、计算机、或多个处理器或计算机。除了硬件之外,该 装置还可以包括为讨论中的计算机程序创建执行环境的代码,例如构成处理 器固件、协议栈、数据库管理系统、操作系统、或者它们中的一个或多个的 组合的代码。
可以用任何形式的编程语言编写计算机程序(也称作程序、软件、软件 应用、脚本或代码),编程语言包括编译或解释语言、陈述性语言或过程性语 言,并且计算机程序可以任何形式部署,包括作为独立程序或作为模块、组 件、例程、或者其他适合用于计算环境的单位。计算机程序并不必然对应于 文件系统中的文件。程序可以存储在保持其他程序或数据的文件的一部分(例 如,存储在标记语言文档中的一个或多个脚本)中,存储在专用于所讨论的 程序的单个文件中,或者存储在多个协作文件中(例如,存储一个或多个模 块、子程序或代码部分的文件)。计算机程序可以被部署为在一个计算机上或 者位于一处或者分布在多处并且通过通信网络互连的多个计算机上执行。
本说明书中所描述的处理和逻辑流程可以由一个或多个可编程处理器执 行,该可编程处理器执行一个或多个计算机程序,以通过对输入数据操作并 且生成输出来执行功能。处理和逻辑流程也可以由下述设备来执行,并且装 置也可以被实现为所述设备,所述设备为专用逻辑电路,例如,FPGA(现场 可编程门阵列)或ASIC (专用集成电路)。
适合于执行计算机程序的处理器包括例如通用微处理器和专用微处理 器,以及任何种类数字计算机的任何一个或多个处理器。通常,处理器将从只读存储器、随机存取存储器或者它们两者接收指令和数据。计算机的核心 元件是用于执行指令的处理器和用于存储指令和数据的一个或多个存储器设 备。通常,计算机还将包括用于存储数据的大容量存储设备,或者被可操作 地耦接以从大容量存储设备接收数据或或向大容量存储设备传送数据,或者 收发数据,大容量存储设备例如为磁盘、磁光盘或者光盘。但是,计算机不 一定具有这样的设备。此外,可以把计算机嵌入到另一设备中,仅列举一些
为例,如移动电话、个人数字助理(PDA)、移动音频或视频播放器、游戏台、 全球定位系统(GPS)接收机。
适于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易 失性存储器、介质和存储器设备,举例来说包括半导体存储器设备,例如, EPROM、 EEPROM以及闪存设备;包括》兹盘,例如内部硬盘或可移动盘; 包括磁光盘;以及包括CD ROM和DVD-ROM盘。可以用专用逻辑电路补充 处理器和存储器,或者可以将处理器和存储器并入专用逻辑电路中。
为了提供与用户的交互,本说明书中所描述的主题的实施例可以在如下 计算机上实现,该计算机具有用于向用户显示信息的显示设备例如CRT (阴 极射线管)或LCD (液晶显示器)监视器,和通过其用户可以向计算机提供 输入的键盘、点击设备例如鼠标或跟踪球。也可以使用其他类型的设备来提 供与用户的交互;例如,提供给用户的反馈可以是任何形式的感觉反馈,例 如视觉反馈、听觉反馈、或触觉反馈;来自用户的输入可以以任何形式接收, 包括声音、语言或者触觉输入。
本说明书中所描述的主题的实施例可以在如下计算机系统中实现,该计 算机系统包括后端组件,例如作为数据服务器,或者包括中间件组件,例如, 应用服务器,或者包括前端组件,例如具有通过其用户可以与本说明书所描 述的主题的实现交互的图形用户界面或网站浏览器的客户端计算机,或者这 些前端、中间件或后端组件的一个或多个的任何组合。可以通过任何形式或 数字数据通信介质例如通信网络将系统的组件相互连接。通信网络的示例包 括局域网(LAN)和广域网(WAN)例如因特网。
计算机系统可以包括客户机和服务器。客户机和服务器通常彼此远离, 并且典型地通过通信网络交互。客户机和服务器的关系借助运行在各自计算 机上的彼此具有客户机-服务器关系的计算机程序而发生。
虽然本说明书包含许多特定实现细节,但是这些不应被视为对任何发明或所要求保护的范围的限制,相反是作为可能专属于具体发明的具体实施例 的特征的描述。在单独实施例的情境下本说明书中所描述的某些特征可以在 单个实施例中以组合实现。相反,在单个实施例的情境下描述的各种特征也 可以分开地在多个实施例中或者任何适当的次组合中实现。此外,尽管,上 面可能将特征描述为以某种组合作用,甚至最初是如此声明的,但是来自所 声明的組合的一个或多个特征在某些情况下可以乂人该组合切除,所声明的組 合可以针对次组合或次组合的变化。
类似地,虽然在附图中以特定次序描述了多项操作,但是这不应被理解 为为了获得希望的结果要求这样的操作以所示的特定次序或者以顺序的次序 执行,或者要求执行所有图示的操作。在某些情形下,多任务和并行处理可 能是有利的。此外,上述实施例中各种系统组件的分割不应被理解为在所有 实施例中要求这样的分割,并且应该理解, 一般可以把所述系统组件和系统 集成在单个软件产品或打包到多个软件产品中。
已经描述了本说明书中描述的主题的特定实施例。其他实施例落入所附 权利要求的范围。例如,可以以不同的次序执行权利要求中陈述的动作,而 仍得到希望的结果。作为一个示例,为了获得希望的结果,附图中所描绘的 处理并不必然要求所示的特定次序或者顺序的次序。在某些实施例中,多任 务和并行处理可能是有利的。
权利要求
1、 一种方法,包括向客户端设备提供输入法代码;从该客户端设备接收输入法上下文或语境;以及根据所述输入法上下文或语境识别用于输入法实例的库模型。
2、 如权利要求1所述的方法,其中,向客户端设备提供输入法代码包括 向客户端设备提供浏览器脚本。
3、 如权利要求l所述的方法,其中,从客户端设备接收输入法上下文或 语境包括接收由所述客户端设备所浏览的网页的标识。
4、 如权利要求l所述的方法,其中, 从客户端设备接收输入法上下文或语境包括 接收工具栏应用的标识。
5、 如权利要求l所述的方法,其中,根据所述输入法上下文或语境识别 用于输入法实例的库模型包括识别搜索栏库模型。
6、 如权利要求l所述的方法,其中,根据所述输入法上下文或语境识别 用于输入法实例的库模型包括识別文档编辑库模型。
7、 如权利要求1所述的方法,其中,向客户端设备提供输入法代码包括 向客户端设备提供定义拼音输入法编辑器的输入法代码。
8、 如权利要求1所述的方法,其中,向客户端设备提供输入法代码包括 响应于隐含的请求动态地提供输入法代码。
9、 如权利要求l所述的方法,其中,所述库模型基于一个或多个语言模型。
10、 如权利要求9所述的方法,包括基于搜索日志数据来训练所述一个或多个语言模型。
11、 如权利要求IO所述的方法,其中所述搜索日志数据包括网络搜索询问。
12、 如权利要求IO所述的方法,其中所述搜索日志数据包括高速緩存的文件。
13、 一种方法,包括 在客户端设备接收输入法代码;将输入法上下文或语境提供给输入法编辑器服务器;以及 根据所述输入法上下文或语境接收用于输入法实例的库模型,其中,该 输入法实例基于所述输入法代码。
14、 一种系统,包括用于向客户端设备提供输入法代码的装置;用于从该客户端设备接收输入法上下文或语境的装置;以及用于根据所述输入法上下文或语境识别用于输入法实例的库模型的装置。
15、 一种系统,包括用于在客户端设备接收输入法代码的装置;用于将输入法上下文或语境提供给输入法编辑器服务器的装置;以及 用于根据所述输入法上下文或语境接收用于输入法实例的库模型,其中, 该输入法实例基于所述输入法代码的装置。
全文摘要
本发明提供方法、系统和装置,包括计算机程序产品,其中,输入法编辑器代码被提供给客户端设备,并且从该客户端设备接收输入法上下文或语境。根据该输入法上下文或语境选择用于输入法实例的库模型。该库模型可以被用来为客户端设备上的输入法实例提供输入法处理。
文档编号G06F3/023GK101286093SQ20071010181
公开日2008年10月15日 申请日期2007年4月16日 优先权日2007年4月9日
发明者锋 洪, 郭去疾 申请人:谷歌股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1