词典词和短语确定的制作方法

文档序号:6457420阅读:228来源:国知局
专利名称:词典词和短语确定的制作方法
技术领域
本公开涉及输入法。
背景技术
在使用词符文字(logographic script)的语言中,一个或两个字符(例如象形文字(glyph))粗略地对应于一个词或一种含意,这样的语言所具有的字符多于标准输入设备(如移动设备键区上的计算机键盘)上的键。例如,中文语言包含由基本拼音字符和五个音调定义的几千个字符。可以通过帮助输入在输入设备上找不到的字符和符号(symbol)的输入法来实现这些多对一关联的映射。因此,可以使用西式键盘来输入中文、日文或韩文字符。在一些示例中,可以使用输入法编辑器(ME)来搜索词典,以找到与用户打出的拼音字符相对应的候选字符、词或短语。

发明内容
在一个方面中,总体上,一种计算机实现的方法包括识别文档中的上下文信号;识别由上下文信号界定的字符;识别由上下文信号界定的字符所限定的一个或多个候选词;以及将所述候选词中的一个或多个添加到输入法编辑器词典中。 该方法的实现方式可以包括下列特征中的一个或多个。识别文档中的上下文信号包括识别中文书名号。识别由上下文信号界定的字符包括识别由上下文信号界定的汉字字符。所述候选词包括中文词。识别文档中的上下文信号包括识别电子文档中的超文本标记语言标签。输入法编辑器词典包括中文输入法编辑器词典。该方法包括确定每个候选词的计数。将所述候选词中的一个或多个添加到输入法编辑器词典中包括将具有超过阈值的计数的候选词添加到输入法编辑器词典中。识别文档中的上下文信号包括识别非重复的文档。确定每个候选词的计数包括仅仅基于非重复的文档确定每个候选词的计数。所述文档包括从因特网获得的网页文档。所述方法包括识别搜索查询中的候选词并将所述候选词中的一个或多个添加到输入法编辑器词典中。识别搜索查询中的候选词包括对于每个候选词,确定第一计数,该第一计数表示该候选词是搜索查询中仅有的词的次数,以及确定第二计数,该第二计数表示在每个搜索查询中包括所述候选词和一个或多个其他词的次数。识别搜索查询中的候选词包括基于第一计数和第二计数之间的关系,将所述候选词中的一个或多个添加到输入法编辑器词典中。 在另一方面,总体上,一种计算机实现的方法包括识别文档中的中文书名号对;识别由每对中文书名号标记的一个或多个字符所限定的候选词;以及将一个或多个候选词添加到输入法编辑器词典中。 该方法的实现方式可以包括下列特征中的一个或多个。所述中文书名号包括单书名号或双书名号。所述方法包括确定每个候选词的计数。将一个或多个候选词添加到输入法编辑器词典中包括将具有超过阈值的计数的候选词添加到输入法编辑器词典中。所述方法包括识别搜索查询中的候选词并将所述候选词中的一个或多个添加到输入法编辑器词典中。识别搜索查询中的候选词包括对于每个候选词,确定第一计数,该第一计数表示该候选词是搜索查询中仅有的词的次数,以及确定第二计数,该第二计数表示在每个搜索查询中包括该候选词和一个或多个其他词的次数。识别搜索查询中的候选词包括基于第一计数和第二计数之间的关系,将所述候选词中的一个或多个添加到输入法编辑器词典中。
在另一方面,总体上, 一种方法包括建立词典,该词典具有基于由上下文信号界定的字符而识别出的词;以及提供被配置为从所述词典中选择词的输入法编辑器。
该方法的实现方式可以包括下列特征中的一个或多个。建立词典包括基于由中文书名号界定的字符来识别词。 在另一方面,总体上,一种装置包括词典,其具有基于与在文档中找到的字符相关联的候选词识别出的词,其中每个候选词与一对中文书名号所包围的一个或多个字符相关联。该装置还包括输入法编辑器,被配置为从所述词典中选择词。 该装置的实现方式可以包括下列特征中的一个或多个。所述候选词包括汉字字符。所述中文书名号包括单书名号或双书名号中的至少一个。所述词典包括基于第一计数和第二计数识别出的词,所述第一计数表示该词是搜索查询中仅有的词的次数,所述第二计数表示在每个搜索查询中包含该词和一个或多个其他词的次数。 在另一方面,总体上,一种系统包括数据存储单元和处理引擎。该数据存储单元存储文档语料库。该处理引擎被存储在计算机可读介质中,并包括可由处理设备执行的指令,所述指令在被如此执行时使得处理设备通过在文档语料库的文档中找到字符来识别候选词,其中所述字符被包围在中文书名号对中,以及将所述候选词中的一个或多个添加到输入法编辑器词典中。 在另一方面,总体上,一种系统,包括数据存储单元和处理设备。数据存储单元存储文档语料库;该处理设备通过在文档语料库的文档中找到字符来识别候选词,其中所述字符被包围在中文书名号对中,以及将所述候选词中的一个或多个添加到输入法编辑器词n巾。 在另一方面,总体上,一种系统包括用于识别文档中的上下文信号的装置;用于识别由上下文信号界定的字符的装置;用于识别由上下文信号界定的字符所定限定一个或多个候选词的装置;以及用于将所述候选词中的一个或多个添加到输入法编辑器词典的装置。 在另一方面,总体上,一种系统包括用于识别文档中的中文书名号对的装置;用于识别由每对中文书名号界定的一个或多个字符的串的装置;用于识别由一个或多个字符的串中的每一个所限定的候选词的装置;以及用于将一个或多个候选词添加到输入法编辑器词典中的装置。 在另一方面,总体上,一种计算机实现的方法包括识别搜索查询中的候选词,每
个候选词包括一个或多个连续字符;对于每个候选词,确定第一计数,该第一计数表示所述
候选词是搜索查询中仅有的词的次数,以及确定第二计数,该第二计数表示所述候选词和
一个或多个其他词包括在每个搜索查询中的次数。所述方法包括基于所述第一计数和所述
第二计数之间的关系,将所述候选词中的一个或多个添加到输入法编辑器词典中。 所述方法的实现方式可以包括下列特征中的一个或多个。将所述候选词中的一个
或多个添加到所述输入法编辑器词典中包括当所述第一计数大于所述第二计数时,将候选词添加到所述输入法编辑器词典中。将所述候选词中的一个或多个添加到所述输入法编辑器词典中包括当所述第一计数大于所述第二计数并且所述第一计数大于阈值时,将候
选词添加到所述输入法编辑器词典中。确定第二计数包括,对每个包括所述候选词和一个
或多个其他词的搜索查询的数目进行计数,其中所述候选词与一个或多个其他词通过由提
交所述搜索查询的用户输入的一个或多个空格或标点符号分开。该方法包括从搜索日志获
得所述搜索查询。所述搜索日志包括由搜索服务的用户提交的搜索查询。
在另一方面,总体上,一种装置包括数据存储单元,用于存储搜索查询;以及处
理设备,用于识别搜索查询中的候选词,每个候选词包括一个或多个连续字符。对于每个候
选词,所述处理设备确定第一计数,该第一计数表示所述候选词是搜索查询中仅有的词的
次数,并且确定第二计数,该第二计数表示所述候选词和一个或多个其他词包括在每个搜
索查询中的次数。所述处理设备基于所述第一计数和所述第二计数之间的关系,将所述候
选词中的一个或多个添加到输入法编辑器词典中。 所述装置的实现方式可以包括以下特征中的一个或多个。当所述第一计数大于所述第二计数时,所述处理设备将候选词添加到所述输入法编辑器词典中。当所述第一计数大于所述第二计数并且所述第一计数大于阈值时,所述处理设备将候选词添加到所述输入法编辑器词典中。所述处理设备对每个包括候选词和一个或多个其他词的搜索查询的数目进行计数,其中所述候选词与一个或多个其他词通过由提交所述搜索查询的用户输入的一个或多个空格或标点符号分开。 在另一方面,总体上,一种系统包括数据存储单元,用于存储搜索查询;以及处理引擎,其存储在计算机可读介质中,并且包括可由处理设备执行的指令,当由处理设备执行时,所述指令使得处理设备识别所述搜索查询中的候选词,每个候选词包括一个或多个连续字符。所述处理引擎包括指令,当被执行时所述指令使得处理设备为每个候选词确定第一计数,该第一计数表示所述候选词是搜索查询中仅有的词的次数,并且确定第二计数,该第二计数表示所述候选词和一个或多个其他词包括在每个搜索查询中的次数。所述处理引擎包括指令,当被执行时所述指令使得处理设备基于所述第一计数和所述第二计数之间的关系,将所述候选词中的一个或多个添加到输入法编辑器词典中。 所述系统的实现方式可以包括下列特征中的一个或多个。所述处理引擎包括可由
处理设备执行的指令,当由处理设备执行时,所述指令使得处理设备在所述第一计数大于
所述第二计数时将候选词添加到所述输入法编辑器词典中。所述处理引擎包括可由处理设
备执行的指令,当由处理设备执行时,所述指令使得处理设备在所述第一计数大于所述第
二计数并且所述第一计数大于阈值时将候选词添加到所述输入法编辑器词典中。所述处理
引擎包括可由处理设备执行的指令,当由处理设备执行时,所述指令使得处理设备对每个
包括候选词和一个或多个其他词的搜索查询的数目进行计数,其中所述候选词和一个或多
个其他词通过由提交搜索查询的用户输入的一个或多个空格或标点符号分开。 在另一方面,总体上,一种装置包括词典,所述词典具有基于第一计数和第二计
数识别的词,该第一计数表示该词是搜索查询中仅有的词的次数,该第二计数表示该词和
一个或多个其他词包括在每个搜索查询中的次数。所述装置包括输入法编辑器,其被配置
为从所述词典中选择词。 所述装置的实现方式可以包括下列特征中的一个或多个。所述输入法编辑器包括中文输入法编辑器。所述词包括汉字字符。从搜索日志中识别所述搜索查询。 在另一方面,总体上,一种系统包括数据存储单元和处理引擎。该数据存储单元用
于存储词典,所述词典包括基于第一计数和第二计数识别的词,该第一计数表示该词是搜
索查询中仅有的词的次数,该第二计数表示该词和一个或多个其他词包括在每个搜索查询
中的次数。所述处理引擎存储在计算机可读介质中,并且包括可由处理设备执行的指令,当
由处理设备执行时,所述指令使得处理设备提供输入法编辑器,以使得用户能够从所述词
典中选择词。 在另一方面,总体上,一种系统包括数据存储单元和处理引擎。该数据存储单元用于存储词典,所述词典包括基于第一计数和第二计数识别的词,该第一计数表示该词是搜索查询中仅有的词的次数,该第二计数表示该词和一个或多个其他词包括在每个搜索查询中的次数。所述处理引擎使得处理设备提供输入法编辑器,以使得用户能够从所述词典选择词。 在另一方面,总体上, 一种系统包括用于基于第一计数和第二计数识别候选词的装置,该第一计数表示该词是搜索查询中仅有的词的次数,该第二计数表示该词和一个或多个其他词包括在每个搜索查询中的次数;以及用于将所述候选词中的一个或多个添加到输入法编辑器词典中的装置。 在此公开的系统和方法可以具有以下优点中的一个或多个。能够基于文档语料库和查询日志自动建立或增强词典。利用所述词典的ME能够更准确地识别候选词以供选择。而且,通过使用在此公开的系统和方法,能够高效地更新词典,并且能够改进处理词符文字(中文字符)的计算机的速度和效率,因此能够提高用户输入词符文字的速度。
在附图和下面的描述中阐述在本说明书中描述的主题的一个或多个实施例的细节。根据所述描述、附图以及权利要求,所述主题的其他特征、方面和优点将变得清楚易懂。


图1是可以用来实现在此描述的系统和方法的示例设备的框图。
图2是示例编辑器系统的框图。
图3是示例输入法编辑器环境的示图。
图4是示例的词和短语确定引擎的示图。 图5是用于基于文档语料库确定词和短语的示例过程的流程图。
图6是用于基于搜索查询日志确定词和短语的示例过程的流程图。
图7是用于确定词和短语的示例过程的流程图。
图8是示例的词和短语确定引擎的示图。 在各个附图中,相同的参考数字和附图标记表示相同的元素。
具体实施例方式
图1是可以用来实现在此描述的系统和方法的示例设备100的框图。设备100可以例如被实现在诸如个人计算机设备的计算机设备中,或被实现在诸如移动电话、移动通信设备、个人数字助理(PDA)等的其他电子设备中。 示例设备100包括处理设备102、第一数据存储单元104、第二数据存储单元106、
8输入设备108、输出设备110和网络接口 112。可以使用包括例如数据总线和主板的总线系统114来建立和控制在组件102、104、106、108、110和112之间的数据通信。也可以使用其他示例系统架构。 处理设备102可以例如包括一个或多个微处理器。第一数据存储单元104可以例如包括诸如动态随机存取存储器的随机存取存储器存储设备、或其他类型的计算机可读介质存储器设备。第二数据存储单元106可以例如包括一个或多个硬盘驱动器、闪速存储器和/或只读存储器、或其他类型的计算机可读介质存储器设备。 示例输入设备108可以包括键盘、鼠标、触笔等,并且示例输出设备110可以包括显示设备、音频设备等。网络接口 112可以例如包括有线或无线网络设备,其可操作用于向网络116发送数据和从网络116接收数据。网络116可以包括一个或多个局域网(LAN)和/或广域网(WAN),如因特网。 在一些实现方式中,设备100可以在诸如数据存储单元106的数据存储单元中包括输入法编辑器(IME)代码101。输入法编辑器代码101可以由指令定义,所述指令在执行时使得处理设备102执行输入法编辑功能。在实现方式中,输入法编辑器代码101可以例如包括解译指令,如能在网络浏览器环境下执行的脚本指令,例如JavaScript或ECMAScript指令。也可以使用其他实现方式,例如编译指令、单机应用、applet (Java小应用程序)、插件模块等。 输入法编辑器代码101的执行生成或启动输入法编辑器实例103。输入法编辑器实例103可以定义输入法编辑器环境,例如用户界面,并且可以有助于在设备100处理一个或多个输入法,在所述处理期间,设备100可以接收用于输入字符、表意符号(ideogram)或符号(诸如例如汉字字符)的组合输入(composition input)。例如,用户可以使用一个或多个输入设备108(例如,诸如西式键盘的键盘、具有手写识别引擎的触笔等)来输入用于识别汉字字符的组合输入。在一些示例中,汉字字符可以与多于一个的组合输入相关联。
第一数据存储单元104和/或第二数据存储单元106可以存储组合输入和字符的关联。基于用户输入,输入法编辑器实例103可以使用数据存储单元104和/或数据存储单元106中的信息来识别输入所代表的一个或多个候选字符。在一些实现方式中,如果识别出多于一个的候选字符,则在输出设备110上显示所述候选字符。使用输入设备108,用户可以从候选字符中选择用户希望输入的汉字字符。 在一些实现方式中,设备100上的输入法编辑器实例103可以接收一个或多个拼音组合输入,并将组合输入转换成汉字字符。输入法编辑器实例103可以例如使用从键击接收的拼音音节或字符的组合来表示汉字字符。每个拼音音节可以例如对应于西式键盘中的一个键。使用拼音输入法编辑器,用户可以利用组合输入来输入汉字字符,所述组合输入包括表示汉字字符的读音的一个或多个拼音音节。使用拼音ME,用户也可以利用组合输入来输入包括两个或更多个汉字字符的词,所述组合输入包括表示汉字字符的读音的两个或更多个拼音音节。然而,用于其他语言的输入法也可以受益于此。 也可以将其他应用软件105存储在数据存储单元104和/或106中,包括网页浏览器、文字处理程序、电子邮件客户端等。这些应用中的每一个可以生成相应的应用实例107。每个应用实例可以定义这样的环境,该环境通过向用户呈现数据并便利来自用户的数据输入而便利用户体验。例如,网页浏览器软件可以生成搜索引擎环境;电子邮件软件可以生成电子邮件环境;文字处理程序可以生成编辑器环境等。 在一些实现方式中,也可以使用可访问设备100的远程计算系统118来编辑词符文字。例如,设备100可以是经由网络116提供词符文字编辑能力的服务器。在一些示例中,用户可以使用例如客户端计算机的远程计算系统来编辑存储在数据存储单元104和/或数据存储单元106中的词符文字。设备100可以例如通过网络接口 112来选择字符和接收来自用户的组合输入。处理设备102可以例如识别与所选字符相邻的一个或多个字符,并且基于所接收的组合输入和相邻字符来识别一个或多个候选字符。设备IOO可以将包括候选字符的数据通信传送回远程计算系统。 图2是示例输入法编辑器系统120的框图。可以例如使用输入法编辑器代码101和相关联的数据存储单元104和106来实现输入法编辑器系统120。输入法编辑器系统120包括输入法编辑器引擎122、词典124和组合输入表126。也可以使用其他存储架构。用户可以使用頂E系统120来例如通过打出拼音字符而输入中文词或短语,并且ME引擎122将搜索词典124以识别候选词典条目,每个候选词典条目包括与拼音字符匹配的一个或多个中文词或短语。 词典124包括条目128,条目128对应于在一个或多个语言模型中使用的词符文字的字符、词或短语,以及基于罗马语的字母或西式字母(例如英语、德语、西班牙语等)的字符、词、和短语。每个词对应于某种含义并且可以包括一个或多个字符。例如,含义为"即ple"的词"苹果"包括两个汉字字符"苹"和"果",分别对应于拼音输入"ping"和"guo"。字符"果"也是词,其含义为"fruit"(水果)。词典条目128可以包括例如成语(例如"胸有成竹")、专有名称(例如"奥地利共和国")、历史人物或名人的名字(例如"成吉思汗")、技术术语(例如"全球定位系统")、短语(例如"一去不复返")、书名(例如"红楼梦")、艺术作品名称(例如"清明上河图")或电影名(例如"卧虎藏龙")等,每一个包括一个或多个字符。 类似地,词典条目128可以包括例如地理实体或政治实体的名称、商号的名称、教育机构的名称、动物或植物的名称、机器名称、歌曲名称、游戏名称、软件程序名称、消费品名称等。词典124可以包括例如成千上万的字符、词和短语。 在一些实现方式中,词典124包括有关两个字符之间的关系的信息。例如,词典124可以包括根据与字符相邻的其他字符而分配给所述字符的分值或概率值。词典124可以包括条目分值或条目概率值,每个条目分值或条目概率值与词典条目128中的一个相关联,以指示通常条目128被使用的频率。 组合输入数据存储单元126包括组合输入与存储在词典124中的条目128之间的关联。在一些实现方式中,组合输入数据存储单元126可以将词典124中的每个条目128链接到输入法编辑器引擎122所使用的组合输入(例如拼音输入)。例如输入法编辑器引擎122可以使用词典124和组合输入数据存储单元126中的信息来将词典124中的一个或多个条目128与组合输入数据存储单元126中的一个或多个组合输入相关联和/或利用组合输入数据存储单元126中的一个或多个组合输入识别词典124中的一个或多个条目128。也可以使用其他关联。 在一些实现方式中,可以对ME系统120中的候选选择排序,并且可以根据排序在输入法编辑器中呈现候选选择。
图3是呈现五个经排序的候选选择302的示例输入法编辑器环境300的示图。每个候选选择可以是词典条目128或词典条目128的组合。基于拼音输入304识别候选选择302。选择指示符308包围第一候选选择,g卩"谷歌",指示该第一候选选择被选择。用户也可以使用数字键来选择候选选择,或使用上下箭头键来移动选择指示符308以选择候选选择。 如上所述,ME引擎122访问词典124,以识别与用户输入的拼音字符相关联的候选条目。可以定期地用新词或新名称更新词典124。例如,通常由IME系统120的用户打出的名称和词可能响应于新闻事件和社会中的变化而随时间改变。在一些实现方式中,可以基于从文档和搜索查询中识别出的字符、词和短语来建立和/或更新词典124。
图4是识别词典条目128 (例如中文字符、词和短语)的词和短语确定引擎400的例子的示图。在一些实现方式中,引擎400使用基于上下文信号的确定引擎406和/或基于查询的确定引擎408来识别中文词和短语。基于上下文信号的确定引擎406处理文档语料库402中的文档420,以使用上下文信号来识别词和短语。基于查询的确定引擎408搜索搜索查询日志404中的查询,以基于词或短语在搜索查询中是单独出现还是与一个或多个其他词或短语组合出现来识别中文词和短语。可以在合并引擎414中合并识别出的词和短语,并将其作为条目128添加到词典124中。在一些实现方式中,可以仅使用所述更新方法中的一种,例如可以通过使用文档语料库402或搜索查询日志404来更新词典124。
在一些实现方式中,将基于上下文信号的确定引擎406配置为使用标识有界内容的上下文信号来从文档420中确定候选词典条目422。示例的上下文信号包括标识有界内容的标记、符号、超文本标记语言标签和/或格式,诸如引号、特殊标识符字符、下划线等。
示例的上下文信号可以包括中文双书名号(例如《》)和/或中文单书名号(例如〈>)。中文书名号通常用于标记文档和/或文化作品(例如书籍、文章、报纸、期刊和杂志)的标题或名称。中文书名号也可以用来标记诸如例如歌曲、电影、电视节目、游戏、歌剧、戏剧、交响乐、舞蹈、绘画、雕塑和规章等的文化作品的标题或名称。书名号可以标识多个标题,例如,当第一标题包括第二标题时,使用双书名号标记第一标题,使用单书名号标记第二标题。 中文书名号是标记词或短语的边界的上下文信号。因而,当一个或多个字符(例如汉字字符)出现在一对中文书名号内时,该一个或多个字符对应于一个或多个词或短语的可能性很大。通过中文书名号标记的文化作品的名称或标题的下列例子是例示性的《红楼梦》("Dream of the Red Chamber",书籍),《清明上河图》("Upper River During theQing Ming Festival",绘画)、《臣卜虎藏龙》("Crouching Tiger, Hidden Dragon",电影)和《贝多芬第九交响曲》("Beethoven' s Ninth Symphony")。 文档420可以例如包括可以通过网络访问的文档。文档420可以包括例如网页、
电子书籍、期刊文章、电子邮件消息、广告、即时消息、博客、法律文档或其他类型的文档。文档语料库402可以包括涵盖诸如新闻、文学、电影、音乐、政治辩论、科学发现、法律问题、健康问题、环境问题等等的范围广泛的各种主题的文档402。可以通过从例如局域网或广域网(诸如公司内联网或公共因特网)收集文档420来建立文档语料库402。因此所处理的文档420的数目可以在几百万个文档的范围内或更多。文档420可以包括例如汉字字符、英文字符、数字、标点符号、符号、HTML代码等。也可以使用其他文档,例如文学作品的电子合
11集、电子图书馆等。 在一些实现方式中,上下文信号确定引擎406扫描每个文档420,以识别中文书名号对。对于所识别的每对中文书名号,引擎406识别由字符串(例如由一对中文书名号界定的一个或多个汉字)所限定的候选条目422,并将候选条目422添加到第一词典410中。候选条目422可以包括一个或多个词或短语。如果一对中文书名号内的项目(term)被诸如连字号或冒号的标点符号分开,则可以将该项目看作两个分开的项目。例如,引擎406可以处理《极品飞车地下狂飓》(计算机游戏"Need for Speed -Underground"的中文名称),并且确定存在两个候选条目422 :"极品飞车"是一个候选条目422,"地下狂飓"是另一个候选条目422。 每个候选条目422与一计数相关联,该计数表示该候选条目422在文档420中的出现次数。在一些实现方式中,将引擎406配置成候选条目422在相同文档420中的每次出现都导致计数增加1。因而,例如,如果候选条目422在一个文档420中出现三次,在另一个文档420中出现五次,则将该候选条目的计数增加8。在一些实现方式中,将引擎406配置为每次候选条目422在不同的文档中出现时将计数增加l,而不管候选条目422在每个文档内出现的次数如何。在这种情况下,例如,如果候选条目422在一个文档420中出现三次,并且在另一文档420中出现五次,则将与该候选条目422相关联的计数增加2。
在一些实现方式中,引擎406识别界定中文字符并且没有界定其他语言的字符的中文书名号对。在这种情况下,如果一对书名号界定了中文词和英文词,则不将该中文词看作是候选条目。在一些实现方式中,引擎406处理由每对中文书名号界定的文本以除去非中文字符,并且将剩余的中文字符作为候选条目422添加到第一词典410中。
在一些实现方式中,引擎406设置每个候选条目422中包括的字符的数目的范围。例如,引擎406可以要求每个候选条目422具有至少三个中文字符并且不多于十个中文字符。 在对所有文档420进行处理以识别由中文书名号标记的所有候选条目422之后,引擎406过滤候选条目422,以去除计数小于阈值的候选条目。在一些实现方式中,可以将阈值设置在20至40之间,例如30。可以例如利用阈值来去除包含错误、具有很少使用的词或短语、或由于某个其他原因而很少出现的候选条目422。 在一些实现方式中,将基于查询的确定引擎408配置为从搜索查询日志404中识别候选词典条目416。搜索查询日志404可以包括由一个或多个搜索服务(例如谷歌搜索)的多个用户在一段时间内提交的搜索查询418。引擎408通过找到搜索查询418中的连续字符串来识别候选条目416。搜索查询418可以包括由提交搜索查询418的用户输入的一个或多个空格或标点符号分开的一个或多个候选条目416。例如,搜索查询"世界最快超级电脑"包括由空格分开的短语"世界最快"(意思是"world' s fastest")和词"超级电脑"(意思是"supercomputer")。引擎408将短语"世界最快"和词"超级电脑"中的每一个识别为候选条目416。 在一些实现方式中,引擎408为每个候选条目416分配两个计数数字,即查询计数qf和用户分割计数sf 。使用查询计数qf来表示候选条目416是搜索查询中仅有的词或短语的次数。例如,与条目"超级电脑"相关联的查询计数qf表示仅包括词"超级电脑"的搜索查询418的数目。使用用户分割计数sf来表示每一个都包括候选条目416和一个或多个
12其他词或短语的搜索查询418的数目,其中候选条目416和一个或多个其他词或短语可以通过例如由提交搜索查询的用户输入的一个或多个空格或标点符号分开。将候选条目416及相关联的查询计数qf和用户分割计数sf存储在第二词典412中。 例如,如果引擎408找到包括"世界最快超级电脑"的搜索查询418,则将候选条目"世界最快"的用户分割计数sf递增1,并且还将候选条目"超级电脑"的用户分割计数sf递增1。如果引擎408找到仅包括"超级电脑"的搜索查询418,则将候选条目"超级电脑"的查询计数递qf增1。 在引擎408处理了所有搜索查询以确定所有候选条目416以及相关联的查询计数qf和用户分割计数sf之后,引擎408从词典412中去除用户分割计数sf等于或大于查询计数qf(即sf >qf)的候选条目416。引擎408还去除查询计数qf小于阈值(即qf <阈值)的候选条目416。在一些实现方式中,可以将阈值设置为在3到IO范围内的值。查询计数qf是搜索查询中候选词的频率的量度。去除具有低查询计数qf的候选条目可以去除包含错误或很少使用的候选条目416。 在词典412中剩余的候选条目416是查询计数qf大于用户分割计数sf (即qf >sf)并且在搜索查询418中至少出现特定次数(即qf ^阈值)的候选条目。当特定的连续字符串单独在搜索查询418中出现的次数大于该串与一个或多个其他串或字符一起在搜索查询418中出现的次数时,该特定的连续字符串对应于一个或多个词或短语并且适合作为ME词典124中的词典条目128的可能性很大。 在一些实现方式中,引擎400包括合并引擎414,合并引擎414通过去除重复词典条目来合并来自第一词典410的词典条目422和来自第二词典412的词典条目416。非重复的词典条目被添加到頂E词典124中。 图5是用于基于文档语料库(例如文档语料库402)确定词和短语的示例过程500
的流程图。过程500例如可以在包括一个或多个服务器计算机的系统中实现。 过程500识别文档中的上下文信号(502),并且识别由上下文信号界定的字符
(504)。例如,上下文信号可以是中文书名号,字符可以是汉字字符,并且文档可以是图4的
文档语料库402中的文档420。例如,图4的引擎406可以识别上下文信号和由上下文信号
界定的字符。 过程500识别由上下文信号界定的字符所限定的一个或多个候选词(506)。例如,候选词可以是图4的条目422。 过程500将一个或多个候选词添加到输入法编辑器词典中(508)。例如,词典可以是图4的第一词典410或图2的ME词典124。 图6是用于基于搜索查询日志(例如搜索查询日志404)确定词和短语的示例过程600的流程图。过程600例如可以在包括一个或多个服务器计算机的系统中实现。
过程600识别搜索查询中的候选词,每个候选词包括一个或多个连续的字符(602)。例如,字符可以是汉字字符,候选词可以是条目416,并且搜索查询可以是图4的搜索查询日志404的搜索查询408。例如,引擎408可以识别搜索查询418中的候选词。
对于每个候选词,过程600确定第一计数(604)和第二计数(606),该第一计数表示该候选词是搜索查询中仅有的词的次数,并且该第二计数表示该候选词和一个或多个其他词一起包括在每个搜索查询中的次数。例如,在由第二计数所计数的每个搜索查询中,候选词和一个或多个其他词可以通过由用户输入的一个或多个空格或标点符号分开。引擎 408可以确定第一计数和第二计数,例如qf和sf 。 在确定已处理了所有词之后(608),过程600基于第一计数和第二计数之间的关 系将候选词中的一个或多个添加到输入法编辑器词典中(610)。例如,词典可以是图4的第 一词典410或图2的IME词典124。例如,引擎408可以在第一计数大于第二计数时将候选 词添加到词典中。 在一些实现方式中,可以将过程500和600进行组合,并且可以通过合并过程将词 和短语添加到词典中。 图7是用于基于文档语料库(例如文档语料库402)和搜索查询日志(例如搜索 查询日志404)确定词和短语的示例过程700的流程图。过程700例如可以在包括一个或 多个服务器计算机的系统中实现。过程700包括两个过程722和724,过程722和724可以 并行执行以生成第一词典和第二词典,该第一词典和第二词典合并成最终的词典。
过程722识别文档(702)。例如,文档可以是图4的文档语料库402中的文档420。
过程722识别文档420中的中文书名号对,并且识别由中文书名号对标记的字符 串(704)。例如,中文书名号可以是《》或〈〉,并且字符串可以包括汉字字符。例如,图4的 引擎406可以识别中文书名号和字符串。 过程722将由中文书名号标记的每个字符串指定为候选条目,并且将候选条目添 加到第一词典中(706)。过程722还将计数与候选条目相关联,其中该计数表示在文档中候 选条目出现的次数。例如,第一词典可以是图4的第一词典410,并且引擎406可以在第一 词典410中添加或更新候选条目422及相关联的计数。 在已处理了所有文档从而识别了所有的中文书名号对、并且已将所有由中文书名
号标记的字符串作为候选条目添加到第一词典之后,过程722通过将计数与阈值进行比较
来过滤第一词典中的候选条目(708)。如果计数低于阈值,则从第一词典中去除与该计数相
关联的候选条目。例如,引擎406可以过滤第一词典410中的候选条目422。 过程724识别搜索查询(710)。例如搜索查询可以是图4的搜索日志404的搜索
查询418。 对于每个搜索查询,过程724识别一个连续字符串或由空格或不是字符的符号分 开的多个连续字符串,其中所述空格或符号是由用户输入的(712)。例如,字符可以是汉字 字符,并且搜索查询可以是图4的搜索查询418。例如,引擎408可以识别每个搜索查询418 中的一个或多个连续字符串。 过程724识别由每个连续字符串限定的候选条目,并且将候选条目添加到第二词 典中(714)。过程724还将查询计数qf和用户分割计数sf与每个候选条目相关联。查询 计数qf表示仅包括该候选条目的搜索查询的数目,而用户分割计数sf表示每个中包括该 候选条目和一个或多个其他字符串的搜索查询的数目。 例如,候选条目可以是图4的候选条目416,并且第二词典可以是第二词典412。例 如,引擎408可以添加或更新第二词典412中的候选条目416,并且可以初始化或更新与候 选条目416相关联的查询计数qf和用户分割计数sf 。 在已处理了所有搜索查询,并且已将所有连续字符串作为候选条目添加到第二词 典中之后,过程724过滤第二词典中的候选条目(716)。过程724将查询计数qf与用户分割计数sf进行比较,并且将查询计数qf与阈值进行比较。例如,过程722从第二词典中去 除查询计数qf低于阈值的候选条目,并且去除查询计数qf等于或小于用户分割计数sf的 候选条目。在过滤之后,第二词典中的候选条目是查询计数qf大于用户分割计数sf、并且 查询计数qf至少是阈值的候选条目。例如,引擎408过滤第二词典412中的候选条目416。
在完成过程722和724之后,第一词典和第二词典中的每一个都具有候选条目。过 程700通过去除重复的候选条目来合并第一词典和第二词典,以生成最终的词典(718)。将 最终的词典中的候选条目添加到IME词典中(720)。例如,可以使用图4的合并引擎414来 合并第一词典410和第二词典412,并且可以将最终的词典中的候选条目添加到图2的ME 词典124中。 在一些实现方式中,不是使用中文书名号来识别候选词典条目,而是可以使用 超文本标记语言(HTML)标题标签来从网页文档识别候选词典条目。例如,HTML标签对 〈title〉和〈/title〉标记HTML文档的标题。可以将由〈title〉和〈/title〉HTML标签界定 的字符串识别为候选词典条目,并且如果满足阈值标准(例如,该字符串在网页文档中出 现的次数大于阈值)则将其添加到词典124中。 尽管已描述了各种实现方式,但是也可以使用其他实现方式。例如,可以使用通过 对步骤重新排序、增加或去除步骤而得到的上面所示的流程的各种形式。而且,尽管已描 述了几个实现方式和方法,但是应认识到可预期许多其他的实现方式。例如,输入引擎122 可以能够将来自西式键盘的组合输入映射为输入中文、日文、韩文和/或印度文字符。在一 些示例中,所描述的一些或所有实现方式可应用于其他输入法,诸如仓颉输入法、九方输入 法、五笔输入法或其他输入法。不同类型文档的权重值、文档类型的分类可以与上面描述的 不同。被处理的词和文档的数目、以及文档语料库402中的文档的来源可以与上述那些不 同。可以顺序地执行图7中的过程722和724。在一些实现方式中,引擎406可以识别文 档语料库402中的非重复文档420,并且基于非重复的文档识别候选条目和相关联的计数。 在一些实现方式中,词典124可以包括从预先存在的词典中获得的字符、词和短语。
在一些实现方式中,可以配置图4的基于上下文信号的引擎406,从而使计数作为 候选条目422在每个文档中出现的次数的函数而增加。例如,每次候选条目422在同一文 档中出现时,计数可以被增加l,直到计数达到每个文档的限制(例如3)。因而,如果上限 是3,并且候选条目422在同一文档中出现5次,则将计数增加3。例如,计数可以作为候选 条目422在同一文档中出现的次数的对数函数而增加。在一些实现方式中,将引擎406配 置为使得计数作为候选条目422在每个文档中出现的位置的函数而增加。例如,如果候选 条目422出现在文档420的标题(或电子邮件消息的主题行)中,则可以将计数增加1. 5, 如果候选条目422出现在文档420的其他位置,则可以将计数增加1。也可以使用基于候选 条目422在文档420中的出现而修改计数的其他方法。 在一些实现方式中,可以使用几个词典,例如法律词典、医学词典、科技词典和普 通词典。可以从与特定领域相关联的词典开始建立每个词典。使用词和短语确定引擎400 来处理具有偏向于与词典相关联的领域的文档的文档语料库和具有偏向于与词典相关联 的领域的搜索查询的搜索查询日志。例如,为了建立法律词典中的词的概率值,可以使用具 有偏向于法律领域的文档的文档语料库和具有偏向于法律领域的搜索查询的搜索查询日 志。IME系统120可以允许用户在输入字符时选择感兴趣的领域(例如法律、医学、科技),并且可以从与感兴趣的领域相关的词典中选择候选词。 参考图8,在一些实现方式中,基于上下文信号的引擎406和基于搜索查询的引擎 408向单个词典800进行写入。例如,引擎406处理文档420,并将候选条目802添加或更 新到词典800。由引擎406处理的每个候选条目802与文档出现计数相关联,所述文档出现 计数表示在文档420中候选条目802出现的次数。引擎408处理搜索查询418,并将候选条 目802添加或更新到词典800。由引擎408处理的每个候选条目802与查询计数和用户分 割计数相关联。 在引擎406和408处理了所有的文档420和搜索查询418以确定所有的候选条目 802和相关联的文档出现计数、查询计数和用户分割计数之后,引擎400从词典800中去除 满足例如如下的特定标准的候选条目802 :(l)文档出现计数小于第一阈值;(2)用户分割 计数等于或大于查询计数;或(3)查询计数小于第二阈值。将剩余的候选条目802添加到 ME词典124中。在一些实现方式中,引擎406和408可以直接向ME词典124进行写入, 以及添加、更新或过滤词典124中的条目128。 在本说明书中描述的主题和功能操作的实施例可以以数字电子电路、或计算机软 件、固件或硬件(包括在本说明书中公开的结构及其结构等价物)或它们中的一个或多个 的组合来实现。可以将在本说明书中描述的主题的实施例实现为一个或多个计算机程序产 品,即编码在有形的程序载体上以供数据处理装置执行或控制数据处理装置的操作的计算 机程序指令的一个或多个模块。有形的程序载体可以是传播信号或计算机可读介质。传播 信号是人工生成的信号,例如机器生成的电信号、光信号或电磁信号,其被生成以将信息编 码为用于传输到适合的接收器装置以供计算机执行。计算机可读介质可以是机器可读存储 设备、机器可读存储基片(storage substrate)、存储器设备、影响机器可读传播信号的物 质成分、或它们中的一个或多个的组合。 术语"数据处理装置"涵盖用于处理数据的所有装置、设备和机器,例如包括可编 程处理器、计算机、多个处理器或计算机。装置除了硬件外还可以包括创建所讨论的计算机 程序的执行环境的代码,例如构成处理器固件、协议栈、数据库管理系统、操作系统或它们 中的一个或多个的组合的代码。 计算机程序(也称为程序、软件、软件应用、脚本或代码)可以以任何形式的编程 语言来编写,包括编译语言或解释语言、或者声明性语言或过程语言,并且其可以以任何形 式来部署,包括作为单机程序或作为模块、组件、子例程或适合于在计算环境中使用的其它 单元。计算机程序不必对应于文件系统中的文件。可以将程序存储在拥有其它程序或数据 的文件的一部分中(例如存储在标记语言文档中的一个或多个脚本)、存储在专用于所讨 论的程序的单个文件中、或存储在多个协作文件中(例如存储一个或多个模块、子程序或 代码部分的文件)。可以将计算机程序部署为在一个计算机或位于一个地点或跨多个地点 分布并且通过通信网络互联的多个计算机上执行。 在本说明书中描述的过程和逻辑流程可以由 一个或多个可编程处理器来执行,所 述可编程处理器执行一个或多个计算机程序以通过对输入数据进行操作并且生成输出来 执行功能。所述过程和逻辑流程也可以由专用逻辑电路来执行,并且装置也可以被实现为 专用逻辑电路,所述专用逻辑电路例如FPGA(现场可编程门阵列)或ASIC(专用集成电 路)。
作为示例,适合于执行计算机程序的处理器包括通用和专用微处理器两者、以及 任何类型的数字计算机的任何一个或多个处理器。通常,处理器将从只读存储器或随机存 取存储器或它们两者接收指令和数据。计算机的必要元件是用于执行指令的处理器和用于 存储指令和数据的一个或多个存储设备。通常,计算机也将包括一个或多个用于存储数据 的大容量存储设备,或者被可操作地耦接到一个或多个大容量存储设备以从其接收数据或 者将向其传送数据,或者两者均可,所述大容量存储设备例如磁盘、磁光盘或光盘。然而, 计算机并非一定要具有这样的设备。此外,计算机可被嵌入另一个设备中,所述另一个设 备例如移动电话、个人数字助理(PDA)、移动音频或视频播放器、游戏控制台、全球定位系统 (GPS)接收器,等等。 适合于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性 存储器、介质和存储设备,作为示例包括例如EPR0M、 EEPR0M和闪存设备的半导体存储设 备;例如内部硬盘或可移动盘的磁盘;磁光盘;以及CD-ROM和DVD-R0M盘。处理器和存储 器可由专用逻辑电路补充或者并入专用逻辑电路。 为了提供与用户的交互,在本说明书中描述的主题的实施例可被实现在具有用于 向用户显示信息的显示设备(例如,CRT(阴极射线管)或LCD(液晶显示器)监视器)和 用户能够通过其向计算机提供输入的键盘和指示设备(例如,鼠标或轨迹球)的计算机上。 也可以使用其它种类的设备来提供与用户的交互;例如,提供给用户的反馈可以是任意形 式的感官反馈,例如视觉反馈、听觉反馈或触觉反馈;并且可以以包括声音、语音或触觉输 入的任意形式接收来自用户的输入。 在本说明书中描述的主题的实施例能够被实现在计算系统中,所述计算系统包括 后端组件,例如作为数据服务器;或包括中间件组件,例如应用服务器;或包括前端组件, 例如具有图形用户界面或网页浏览器的客户端计算机,用户能够通过所述图形用户界面或 网页浏览器与在本说明书中描述的主题的实现方式进行交互;或者包括一个或多个这样的 后端组件、中间件组件或前端组件的任意组合。所述系统的组件可以通过任意形式或介质 的数字数据通信(例如,通信网络)进行互连。通信网络的示例包括局域网("LAN")和广 域网("WAN"),例如因特网。 计算系统可包括客户端和服务器。客户端和服务器通常彼此远离并且典型地通过 通信网络进行交互。客户端和服务器的关系借助于在各个计算机上运行并且彼此具有客户 端_服务器关系的计算机程序而产生。 尽管本说明书包含许多具体的实现方式细节,但是这些不应当被解释为对任何发 明的范围或者可能主张的专利权利的范围的限制,相反地,应被解释为是对可能特定于具 体发明的具体实施例的特征的描述。在本说明书中,在不同实施例的上下文中描述的某些 特征也可在单个实施例中以组合的方式实现。相反地,在单个实施例的上下文中描述的各 种特征也可单独地或以任何合适的子组合形式在多个实施例中实现。此外,尽管特征可能 在上面被描述为以某种组合形式起作用,甚至最初被主张为以某种组合形式起作用,但是 来自所主张的组合的一个或多个特征在一些情况下可从组合中去除,并且所主张的组合可 被指向子组合或子组合的变型。 类似地,虽然操作在附图中以特定的次序描述,但是这不应当被理解为必须以示 出的特定次序或以顺序地次序来执行这些操作,或者必须执行所有图示的操作,才能获得
17期望的结果。在某些情况中,多任务和并行处理可能是有益的。此外,在上面描述的实施例 中的各个系统组件的分割不应当被理解为在所有的实施例中必须是这样的分割,并且应当 理解所描述的程序组件和系统通常可以被一起集成在单个软件产品中或打包到多个软件 产品中。 已描述了在本说明书中描述的主题的特定实施例。其它实施例也在所附权利要求 书的范围内。例如,可以以不同的次序执行在权利要求书中叙述的动作而仍然获得期望的 结果。作为一个示例,在附图中描述的过程并非必须要求示出的特定次序或者顺序的次序 才能获得期望的结果。在某些实现方式中,多任务和并行处理可能是有益的。
权利要求
一种计算机实现的方法,包括识别文档中的上下文信号;识别由上下文信号界定的字符;识别由上下文信号界定的字符所限定的一个或多个候选词;以及将所述候选词中的一个或多个添加到输入法编辑器词典中。
2. 如权利要求1所述的方法,其中识别文档中的上下文信号包括识别中文书名号。
3. 如权利要求1所述的方法,其中识别由上下文信号界定的字符包括识别由上下文信号界定的汉字字符。
4. 如权利要求1所述的方法,其中所述候选词包括中文词。
5. 如权利要求1所述的方法,其中识别文档中的上下文信号包括识别电子文档中的超文本标记语言标签。
6. 如权利要求1所述的方法,其中所述输入法编辑器词典包括中文输入法编辑器词曲.。
7. 如权利要求1所述的方法,包括确定每个候选词的计数。
8. 如权利要求7所述的方法,其中将所述候选词中的一个或多个添加到输入法编辑器词典中包括将具有超过阈值的计数的候选词添加到输入法编辑器词典中。
9. 如权利要求7所述的方法,其中识别文档中的上下文信号包括识别非重复的文档。
10. 如权利要求9所述的方法,其中确定每个候选词的计数包括仅仅基于非重复的文档确定每个候选词的计数。
11. 如权利要求1所述的方法,其中所述文档包括从因特网获得的网页文档。
12. 如权利要求1所述的方法,包括识别搜索查询中的候选词并将所述候选词中的一个或多个添加到输入法编辑器词典中。
13. 如权利要求12所述的方法,其中识别搜索查询中的候选词包括对于每个候选词,确定第一计数,该第一计数表示该候选词是搜索查询中仅有的词的次数,以及确定第二计数,该第二计数表示在每个搜索查询中包括所述候选词和一个或多个其他词的次数,以及基于所述第一计数和第二计数之间的关系,将所述候选词中的一个或多个添加到输入法编辑器词典中。
14. 一种计算机实现的方法,包括识别文档中的中文书名号对;识别由每对中文书名号标记的一个或多个字符所限定的候选词;以及将一个或多个候选词添加到输入法编辑器词典中。
15. 如权利要求14所述的方法,其中所述中文书名号包括单书名号或双书名号。
16. 如权利要求14所述的方法,包括确定每个候选词的计数。
17. 如权利要求16所述的方法,其中将一个或多个候选词添加到输入法编辑器词典中包括将具有超过阈值的计数的候选词添加到输入法编辑器词典中。
18. 如权利要求14所述的方法,包括识别搜索查询中的候选词并将所述候选词中的一个或多个添加到输入法编辑器词典中。
19. 如权利要求18所述的方法,其中识别搜索查询中的候选词包括对于每个候选词,确定第一计数,该第一计数表示该候选词是搜索查询中仅有的词的次数,以及确定第二计数,该第二计数表示在每个搜索查询中包括该候选词和一个或多个其他词的次数,以及基于所述第一计数和第二计数之间的关系,将所述候选词中的一个或多个添加到输入法编辑器词典中。
20. —种方法,包括建立词典,该词典包括基于由上下文信号界定的字符而识别出的词;以及提供被配置为从所述词典中选择词的输入法编辑器。
21. 如权利要求20所述的方法,其中建立词典包括基于由中文书名号界定的字符来识别词。
22. —种装置,包括词典,其包括基于与在文档中找到的字符相关联的候选词而识别出的词,其中每个候选词与一对中文书名号所包围的一个或多个字符相关联;以及输入法编辑器,被配置为从所述词典中选择词。
23. 如权利要求22所述的装置,其中所述候选词包括汉字字符。
24. 如权利要求22所述的装置,其中所述中文书名号包括单书名号或双书名号中的至少一个。
25. 如权利要求22所述的装置,其中所述词典包括基于第一计数和第二计数识别出的词,所述第一计数表示该词是搜索查询中仅有的词的次数,所述第二计数表示在每个搜索查询中包含该词和一个或多个其他词的次数。
26. —种系统,包括数据存储单元,用来存储文档语料库;以及处理引擎,其被存储在计算机可读介质中,并包括可由处理设备执行的指令,所述指令在被如此执行时使得处理设备通过在文档语料库的文档中找到字符来识别候选词,其中所述字符被包围在中文书名号对中,以及将所述候选词中的一个或多个添加到输入法编辑器词典中。
27. —种系统,包括数据存储单元,用来存储文档语料库;以及处理设备,用来通过在文档语料库的文档中找到字符来识别候选词,其中所述字符被包围在中文书名号对中,以及将所述候选词中的一个或多个添加到输入法编辑器词典中。
28. —种系统,包括用于识别文档中的上下文信号的装置;用于识别由上下文信号界定的字符的装置;用于识别由上下文信号界定的字符所限定一个或多个候选词的装置;以及用于将所述候选词中的一个或多个添加到输入法编辑器词典的装置。
29. —种系统,包括用于识别文档中的中文书名号对的装置;用于识别由每对中文书名号界定的一个或多个字符的串的装置;用于识别由一个或多个字符的串中的每一个所限定的候选词的装置;以及用于将一个或多个候选词添加到输入法编辑器词典中的装置。
全文摘要
提供了一种词典词和短语确定方法,包括识别文档中的上下文信号(502);识别由上下文信号界定的字符(504);识别由上下文信号界定的字符所限定的一个或多个候选词(506);以及将所述候选词中的一个或多个添加到输入法编辑器词典中(508)。
文档编号G06F17/20GK101779200SQ200780100240
公开日2010年7月14日 申请日期2007年6月14日 优先权日2007年6月14日
发明者张钋 申请人:谷歌股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1