CN101785000A - 词概率确定 - Google Patents

词概率确定 Download PDF

Info

Publication number
CN101785000A
CN101785000A CN200780100367A CN200780100367A CN101785000A CN 101785000 A CN101785000 A CN 101785000A CN 200780100367 A CN200780100367 A CN 200780100367A CN 200780100367 A CN200780100367 A CN 200780100367A CN 101785000 A CN101785000 A CN 101785000A
Authority
CN
China
Prior art keywords
speech
corpus
sentence
word probability
probability value
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN200780100367A
Other languages
English (en)
Other versions
CN101785000B (zh
Inventor
唐溪柳
葛显平
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Google LLC
Original Assignee
Google LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Google LLC filed Critical Google LLC
Publication of CN101785000A publication Critical patent/CN101785000A/zh
Application granted granted Critical
Publication of CN101785000B publication Critical patent/CN101785000B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/284Lexical analysis, e.g. tokenisation or collocates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/232Orthographic correction, e.g. spell checking or vowelisation

Abstract

一种方法包括:识别词语料库;将词概率值与词语料库中的每个词相关联;识别句子;基于词语料库确定句子的候选分割方式;以及基于与词相关联的概率值和候选分割方式,迭代地调整词语料库中每个词的相关联的词概率值。

Description

词概率确定
技术领域
本公开涉及输入法。
背景技术
在使用词符文字(logographic script)的语言中,一个或两个字符(例如象形文字(glyphs))粗略地对应于一个词或一种含意,这样的语言所具有的字符多于标准输入设备(如移动设备键区上的计算机键盘)上的键。例如,中文语言包含由基本拼音字符和五个音调定义的几千个字符。可以通过帮助输入在输入设备上找不到的字符和符号的输入法来实现这些多对一关联的映射。因此,可以使用西式键盘来输入中文、日文或韩文字符。
在一些示例中,可以使用输入法编辑器(IME)来搜索词的词典,以找到与用户打出的拼音字符相对应的候选词。词典可以包括与词相关联的数据,例如,概率分数,所述数据允许IME预测用户意图并识别候选词以及对候选词排序。IME基于例如概率或准确度分数对候选词排序,并以根据排序的顺序向用户提供候选词的列表。
发明内容
在一个方面,总体上,一种计算机实现的方法包括:识别词语料库;将词概率值与词语料库中的每个词相关联;识别句子;基于词语料库确定句子的候选分割方式;以及基于与词相关联的概率值和候选分割方式,迭代地调整词语料库中每个词的相关联的概率值。
该方法的实现方式可以包括下列特征中的一个或多个。所述方法包括将由具有最高的相关联的词概率值的词所定义的词语料库的一部分存储到输入法编辑器词典中。所述词概率值对应于相关联的词在句子中出现的概率。确定至少一个句子的可能的分割方式包括基于词语料库确定至少一个句子的所有可能的分割方式。所述方法包括确定所述句子的每个候选分割方式的分割方式概率值。确定句子的每个候选分割方式的分割方式概率值包括:基于与候选分割方式中的词相关联的词概率值,确定每个候选分割方式的分割方式概率值。
基于相关联的词概率值和候选分割方式迭代地调整词语料库中每个词的相关联的词概率值包括:基于句子的候选分割方式的分割方式概率值,迭代地调整每个词的相关联的词概率值。迭代地调整每个词的相关联的词概率值包括,对于每次迭代,基于与候选分割方式中的词相关联的词概率值,确定句子的每个候选分割方式的分割方式概率值,以及基于包括每个词的候选分割方式的分割方式概率值,调整每个词的相关联的词概率值。确定句子中的词的精确概率值包括:将(a)所述词之前的子串的候选分割方式的概率值之和、(b)所述词的概率值、以及(c)所述词之后的子串的候选分割方式的概率值之和相乘。确定句子的候选分割方式包括:确定文档中的多个句子的候选分割方式。所述方法包括:识别多个文档中的句子,以及对于每个句子,基于词语料库确定该句子的候选分割方式。在确定词概率值时,向不同类型文档中的句子赋予不同的权重。所述文档能够通过公众网、因特网访问,或者由多个第三方提供。所述词包括中文、日文和韩文字符中的至少一个。所述词包括汉字字符。
在另一方面,总体上,一种计算机实现的方法包括:确定与词语料库的词相关联的词概率值;确定文档语料库中的文档的句子的候选分割方式;基于与候选分割方式中的词相关联的词概率值,迭代地确定每个句子的每个候选分割方式的分割方式概率值;以及基于包括每个词的候选分割方式的分割方式概率值,迭代地调整每个词的词概率值。
该方法的实现方式可以包括下列特征中的一个或多个。所述方法包括:识别文档的文档类型;基于所识别的文档类型,向文档中的句子分配权重;以及基于权重确定分割方式概率值或词概率值之一。所述方法包括:基于包括每个词的分割方式的分割方式概率值,累计每个词的计数。累计每个词的计数包括:确定包括所述词的分割方式的分割方式概率值之和。所述方法包括通过基于归一化因子对词的计数进行归一化,确定每个词的词概率值。所述方法包括通过确定所有词的计数之和,确定归一化因子。
在另一方面,总体上,一种系统包括:数据存储单元,用来存储词语料库和文档语料库;以及处理引擎,被存储在计算机可读介质中,并包括能够被处理设备执行的指令。当执行所述指令时,处理设备将词概率值与词语料库中的每个词相关联;基于词语料库确定文档语料库中每个文档的每个句子的候选分割方式;以及基于相关联的词概率值和候选分割方式,迭代地调整词语料库中每个词的相关联的词概率值。
在另一方面,总体上,一种系统包括:数据存储单元,用来存储词语料库和文档语料库;以及处理设备,用来将词概率值与词语料库中的每个词相关联;基于词语料库确定文档语料库中每个文档的每个句子的候选分割方式;以及基于相关联的词概率值和候选分割方式,迭代地调整词语料库中每个词的相关联的词概率值。
在另一方面,总体上,一种系统包括:数据存储单元,用来存储词语料库和文档语料库,以及处理设备。处理设备确定与词语料库的词相关联的词概率值,确定文档语料库中的文档的句子的候选分割方式,基于与候选分割方式中的词相关联的词概率值迭代地确定每个句子的每个候选分割方式的分割方式概率值,以及基于包括每个词的候选分割方式的分割方式概率值迭代地调整每个词的词概率值。
在另一方面,总体上,一种系统包括:数据存储单元和处理设备。该数据存储单元存储词典,该词典包括词和使用迭代过程确定的相关联的词概率值,所述迭代过程包括迭代地确定文档的句子的候选分割方式的分割方式概率值,以及基于分割方式概率值迭代地调整词的词概率值。该处理设备提供输入法编辑器,该输入法编辑器被配置为从所述词典中选择词。
在另一方面,总体上,一种系统包括:用于将词概率值与词语料库中的词相关联的装置;用于识别多个文档中的句子的装置;用于基于词语料库确定每个句子的候选分割方式的装置;以及用于基于相关联的词概率值和候选分割方式,迭代地调整词语料库中每个词的相关联的词概率值的装置。
在另一方面,总体上,一种系统包括:用于确定与词语料库的词相关联的词概率值的装置;用于确定文档语料库中文档的句子的候选分割方式的装置;用于基于与候选分割方式中的词相关联的词概率值,迭代地确定每个句子的每个候选分割方式的分割方式概率值的装置;以及用于基于包括词的候选分割方式的分割方式概率值,迭代地调整每个词的词概率值的装置。
在此公开的系统和方法可以具有以下优点中的一个或多个。能够基于文档语料库自动优化词典,优化的词典能够帮助识别和选择候选词。这样,利用所述词典的IME能够提供更少的和/或更准确地识别供选择的候选词。能够提高处理词符文字(例如中文字符)的计算机的速度和效率。词典的用户可以容易地获得具有最高概率值的期望候选词,从而能够提高用户输入词符文字的速度。
在附图和下面的描述中阐述了在本说明书中描述的主题的一个或多个实施例的细节。根据所述描述、附图以及权利要求,所述主题的其他特征、方面和优点将变得清楚易懂。
附图说明
图1是可以用来实现在此描述的系统和方法的示例设备的框图。
图2是示例编辑系统的框图。
图3是示例输入法编辑器环境的示图。
图4是示例词概率确定引擎的示图。
图5-7是用于确定词概率值的过程的流程图。
各个附图中相似的参考数字和标记表示相似的元素。
具体实施方式
图1是可以用来实现在此描述的系统和方法的示例设备100的框图。设备100可以例如被实现在诸如个人计算机设备的计算机设备中,或被实现在诸如移动电话、移动通信设备、个人数字助理(PDA)等的其他电子设备中。
示例设备100包括处理设备102、第一数据存储单元104、第二数据存储单元106、输入设备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可以例如使用从键击接收的拼音音节或字符的组合来表示汉字字符。每个拼音音节可以例如对应于西式键盘中的一个键。使用拼音输入法编辑器,用户可以利用组合输入来输入汉字字符,所述组合输入包括表示汉字字符的读音的一个或多个拼音音节。使用拼音IME,用户也可以利用组合输入来输入包括两个或更多个汉字字符的词,所述组合输入包括表示汉字字符的读音的两个或更多个拼音音节。然而,用于其他语言的输入法也可以受益于此。
也可以将其他应用软件105存储在数据存储单元104和/或106中,包括网页浏览器、文字处理程序、电子邮件客户端等。这些应用中的每一个可以生成相应的应用实例107。每个应用实例可以定义这样的环境,该环境通过向用户呈现数据并便利来自用户的数据输入而便利用户体验。例如,网页浏览器软件可以生成搜索引擎环境;电子邮件软件可以生成电子邮件环境;文字处理程序可以生成编辑器环境等。
在一些实现方式中,也可以使用可访问设备100的远程计算系统118来编辑词符文字。例如,设备100可以是经由网络116提供词符文字编辑能力的服务器。在一些示例中,用户可以使用例如客户端计算机的远程计算系统来编辑存储在数据存储单元104和/或数据存储单元106中的词符文字。设备100可以例如通过网络接口112来选择字符和接收来自用户的组合输入。处理设备102可以例如识别与所选字符相邻的一个或多个字符,并且基于所接收的组合输入和相邻字符来识别一个或多个候选字符。设备100可以将包括候选字符的数据通信传送回远程计算系统。
图2是示例输入法编辑器系统120的框图。可以例如使用输入法编辑器代码101和相关联的数据存储单元104和106来实现输入法编辑器系统120。输入法编辑器系统120包括输入法编辑器引擎122、词典124和组合输入表126。也可以使用其他存储架构。用户可以使用IME系统120来例如通过打出拼音字符而输入中文词或短语,并且IME引擎122将搜索词典124以识别候选词典条目,每个候选词典条目包括与拼音字符匹配的一个或多个中文词或短语。
词典124包括条目128,条目128对应于在一个或多个语言模型中使用的词符文字的字符、词或短语,以及基于罗马语的字母或西式字母(例如英语、德语、西班牙语等)的字符、词、和短语。每个词对应于某种含义并且可以包括一个或多个字符。例如,含义为“apple”的词“苹果”包括两个汉字字符“苹”和“果”,分别对应于拼音输入“ping”和“guo”。字符“果”也是词,其含义为“fruit”(水果)。词典条目128可以包括例如成语(例如“胸有成竹”)、专有名称(例如“奥地利共和国”)、历史人物或名人的名字(例如“成吉思汗”)、技术术语(例如“全球定位系统”)、短语(例如“一去不复返”)、书名(例如“红楼梦”)、艺术作品名称(例如“清明上河图”)或电影名(例如“卧虎藏龙”)等,每一个包括一个或多个字符。
类似地,词典条目128可以包括例如地理实体或政治实体的名称、商号的名称、教育机构的名称、动物或植物的名称、机器名称、歌曲名称、游戏名称、软件程序名称、消费品名称等。词典124可以包括例如成千上万的字符、词和短语。
在一些实现方式中,词典124包括有关两个字符之间的关系的信息。例如,词典124可以包括根据与字符相邻的其他字符而分配给所述字符的分数或概率值。词典124可以包括条目分数或条目概率值,每个条目分数或条目概率值与词典条目128中的一个相关联,以指示通常条目128被使用的频率。
组合输入表126包括组合输入与存储在词典124中的条目128之间的关联。在一些实现方式中,组合输入表126可以将词典124中的每个条目链接到输入法编辑器引擎122所使用的组合输入(例如拼音输入)。例如输入法编辑器引擎122可以使用词典124和组合输入表126中的信息来将词典124中的一个或多个条目与组合输入表126中的一个或多个组合输入相关联和/或利用组合输入表126中的一个或多个组合输入识别词典124中的一个或多个条目。也可以使用其他关联。
在一些实现方式中,可以对IME系统120中的候选选择排序,并且可以根据排序在输入法编辑器中呈现候选选择。
图3是呈现五个经排序的候选选择302的示例输入法编辑器环境300的示图。每个候选选择可以是词典条目128或词典条目128的组合。基于拼音输入304识别候选选择302。选择指示符308包围第一候选选择,即“谷歌”,指示该第一候选选择被选择。用户也可以使用数字键来选择候选选择,或使用上下箭头键来移动选择指示符308以选择候选选择。
如上所述,IME引擎122访问词典124,以识别与用户输入的拼音字符相关联的候选条目128。IME引擎122使用条目概率值来排序候选条目和确定候选条目在IME环境300中的位置。例如,具有最高条目概率值的候选条目可以被IME引擎122放置在IME环境300中第一的位置。
可用新词、名称或短语周期性地更新词典124。词典124中的条目128的概率值可以随时间变化。例如,IME系统120的用户经常打出的字符、词和短语可以响应于新闻事件和社会变化而随时间变化。在一些实现方式中,可基于文档语料库中的字符、词和短语的估计频率,建立和/或更新词典124的条目128所关联的条目概率值。
图4是例如能生成词典406的示例词概率确定引擎400的示图,该词典406存储所选词和与所选词相关联的概率值。每个词可以具有一个或多个字符,诸如一个或多个汉字字符。在一些示例中,可以以表的形式提供词语料库402,所述表包括条目,每个条目包括一个词。词语料库402也可以是文本文件,该文本文件包括由非字符符号(例如,逗号或分号)分隔的词。对于词语料库402中的每个词,词概率确定引擎400使用迭代过程来确定词在文档语料库404中出现的概率。可以将词语料库402和文档语料库404存储在数据存储单元中。
在本说明书中,根据上下文,术语“词”可被广义地定义为包括连续字符序列,该序列可以包括一个或多个词。词语料库402中的每个“词”是用于词典124中的条目的候选,并且词典124中的每个条目可以包括一个或多个词。例如,在用表提供词语料库402的情况下,词概率确定引擎400将每个条目看作是词,即使该条目可能包括多于一个的词。例如,条目可以包括短语、成语、专有名称、历史人物或名人的名字、技术术语、书名、艺术作品的名称、电影名等。同样地,在词语料库402被提供为其中词由非字符符号(例如,逗号)分隔的文本文件的情况下,词概率确定引擎400将每一个在两个所述符号之间的连续字符序列看作是词,即使该连续字符序列可能包括多于一个的词。因此,例如“苹果”、“胸有成竹”、“奥地利共和国”、“成吉思汗”、“全球定位系统”、“一去不复返”、“红楼梦”、“清明上河图”、“卧虎藏龙”等都被词概率确定引擎400看作是词。
在一些例子中,词语料库402可以包括中文语言和其他语言的词。例如,可以从词语料库402和文档语料库404生成词典406。词语料库402可以从预先建立的词典、用户搜索查询或各种类型的文档获得。例如,词语料库402可以包括数千个或更多的词和短语。在一些实现方式中,词典406可以包括词语料库402中的词和短语的子集。
在一些示例中,选择集合402中的多个排名最高的词和短语,并将其添加到词典406中。每个所选词和短语变成词典406的条目。与词和短语相关联的概率值变成与词典条目相关联的概率值。词典406的条目可被添加到词典124中,并且可被IME引擎122用来识别与用户输入的拼音字符相匹配的候选条目。
文档语料库404可以例如包括能通过网络访问的文档,例如网页、电子邮件消息等。文档语料库404可以包括例如电子书、期刊文章、广告、即时信息、博客、法律文档或其他类型的文档。文档语料库404可以包括涵盖诸如新闻、电影、音乐、政治辩论、科学发现、法律问题、健康问题、环境问题等等的范围广泛的各种主题的文档。可以通过从例如公司内联网或公共因特网收集文档来建立文档语料库404。因此所处理的文档的数目可以在几百万个文档的范围内或更多。文档可以包括例如汉字字符、英文字符、数字、标点符号、符号、HTML代码等。也可以使用其他文档,例如文学作品的电子合集、电子图书馆等。
如在下面描述的,词概率确定引擎400利用迭代过程、基于词在文档语料库404中出现的频率来确定词语料库402中词的概率值。为了实现用于确定词概率值的迭代过程,词概率确定引擎400向词语料库402中的每个词分配初始“软计数”,并确定每个词的初始概率值。所述软计数和概率值可以例如被存储在一个或多个数据存储单元中,诸如包括词和相关联的软计数值的表412以及包括词和相关联的概率值的表414。也可使用其他数据存储架构。
词概率确定引擎400可以包括词分割引擎410,其将每个文档404划分为句子,并基于词语料库402中的词识别每个句子的所有可能的分割方式(也称为“候选分割方式”)。在文档404的每个句子被分割为片段(segment)之后,每个片段是词语料库402中的词。在一些实现方式中,“句子”是指在两个非汉字字符(例如,标点符号、数字、符号或HTML代码)之间的连续汉字字符串。因此,由词概率确定引擎400处理的每个句子不一定是语言规则所定义的完整句子。
在一些实现方式中,在迭代过程的每次迭代中,使用词概率值来确定每个候选分割方式的概率值,并使用分割方式概率值来调整词概率值。迭代可继续,直到出现收敛条件或终止条件为止,例如,最高100,000个词概率值稳定,或完成100次迭代。在一些示例中,词概率值在少于100次迭代之后收敛。
在一些实现方式中,可使用隐马尔可夫模型对句子建模,在该模型中句子的正确分割方式是未知的。例如,可以利用期望最大化(Expectation-Maximization)算法实现期望值处理(expectation processing)和最大化处理(maximization processing)。期望值处理确定文档语料库404中所有句子的所有可能分割方式中的每个分割方式的期望似然(expectedlikelihood)(或概率)。最大化处理通过将出现该词的所有分割方式的概率值相加、并使用归一化因子对和归一化,来确定每个词的概率值。期望最大化算法识别趋向于使分割方式的概率值最大化的词概率值和分割方式。例如,给定句子被分割为[w1][w2]...[wk],以使∏p(wi)最大化,其中[w1]、[w2]、...和[wk]中的每一个可以是词语料库402中的词,并且p(wi)是与词wi相关联的词概率值。也可以使用其他迭代过程来最大化词概率值。
例如,词语料库402可包括词[全]、[球]、[最]、[大]、[的]、[搜]、[索]、[引]、[擎]、[全球]、[最大]、[全球最大]、[搜索]、[引擎]、[搜索引擎],其中[]表示词。可以基于词语料库402中的词,以几种方式将句子“全球最大的搜索引擎”分割成片段,包括以下方式:
[全][球][最][大][的][搜][索][引][擎],
[全球][最大][的][搜][索][引][擎],
[全球][最大][的][搜索][引擎],以及
[全球最大][的][搜索引擎],等。
在以上示例分割方式中,每个片段都是词语料库402中的词。这里,术语“分割方式”是指分割句子的方式。因此,[全][球][最][大][的][搜][索][引][擎]是一个分割方式,而[全球最大][的][搜索引擎]是另一分割方式。每个分割方式可以具有一个或多个片段。例如,分割方式[全][球][最][大][的][搜][索][引][擎]包括9个片段:[全]、[球]、[最]、[大]、[的]、[搜]、[索]、[引]和[擎]。分割方式[全球最大][的][搜索引擎]包括3个片段:[全球最大]、[的]和[搜索引擎]。
作为另一例子,假设词语料库402包括词[A]、[B]、[C]、[AB]、[BC]、[ABC]、[D]和[E],其中“A”、“B”、“C”等中的每一个表示汉字字符。基于词语料库402中的词,句子“ABCDAE”可按四种不同的方式分割:
[ABC][D][A][E],
[AB][C][D][A][E],
[A][BC][D][A][E],以及
[A][B][C][D][A][E]。
词概率确定引擎400向词语料库402中的每个词分配初始“软计数”,并确定每个词的初始概率值。词软计数对应于词在句子的各个分割方式中出现的次数,其中考虑了分割方式的概率值。在一些实现方式中,文档语料库404中的不在词语料库402中的词可被分配较低的初始概率值。在另一些实现方式中,可以忽略文档语料库404中的不在词语料库402中的词。
在以上的例子中,假设每个词[A]、[B]、[C]、[AB]、[BC]、[ABC]、[D]和[E]被初始分配软计数1。每个词的概率值被确定为1/8,因为所有词的所有概率值之和等于1。在第一次迭代中,词概率确定引擎400基于分割方式中词的概率值确定每个分割方式的概率值。例如可以通过将分割方式中所有词的词概率值相乘,来确定分割方式概率值。例如,句子“ABCDAE”的分割方式的概率值可如下:
P([ABC][D][A][E])=(1/8)^4=0.000244,
P([AB][C][D][A][E])=(1/8)^5=0.0000305,
P([A][BC][D][A][E])=(1/8)^5=0.0000305,以及
P([A][B][C][D][A][E])=(1/8)^6=0.00000381,
其中P([][][])表示分割方式[][][]的概率值。
然后,使用分割方式概率值调整词的软计数。如果词在具有似然值pi的分割方式中出现,则对于分割方式中每个词的每次出现,将该词的软计数值增加其中t是可能的分割方式的总数,∑t j=1pj是等于所有可能分割方式的似然值之和的归一化因子。可以通过将其中出现特定词的所有片段的分割方式概率值的贡献相加,再除以归一化因子,来确定该特定词的软计数。归一化因子例如可以是所有分割方式概率值之和。在上面的例子中,归一化因子可以等于(1/8)^4+(1/8)^5+(1/8)^5+(1/8)^6=0.000309。
在上面的例子中,词[A]在分割方式[ABC][D][A][E]和[AB][C][D][A][E]中出现一次,在分割方式[A][BC][D][A][E]和[A][B][C][D][A][E]中出现两次,所以A的软计数为:
S(A)=((1/8)^4+(1/8)^5+(1/8)^5*2+(1/8)^6*2)/0.000309=0.000343/0.000309=1.11
词[B]在分割方式[A][B][C][D][A][E]中出现一次,所以词[B]的软计数等于(1/8)^6/0.000309=0.0123。词[C]在分割方式[AB][C][D][A][E]和[A][B][C][D][A][E]中各出现一次,所以词[C]的软计数等于((1/8)^5+(1/8)^6)/0.000309=0.111。词[D]和[E]在每个分割方式中均出现一次,所以词[D]和[E]的软计数均等于((1/8)^4+(1/8)^5+(1/8)^6+(1/8^5)/0.000309=1。词[AB]在分割方式[AB][C][D][A][E]中出现一次,所以词[AB]的软计数等于(1/8)^5/0.000309=0.0988。词[BC]在分割方式[A][BC][D][A][E]中出现一次,所以词[BC]的软计数等于(1/8)^5/0.000309=0.0988。词[ABC]在分割方式[ABC][D][A][E]中出现一次,所以词[ABC]的软计数等于(1/8)^4/0.000309=0.79。
在第一次迭代结束时,词的软计数如下:
S([A])=1.11,
S([B])=0.0123,
S([C])=0.111,
S([D])=1,
S([E])=1,
S([AB])=0.0988
S([BC])=0.0988,以及
S([ABC])=0.79,
其中S([])表示词[]的软计数。词软计数被存储在表412中,并且处理下一个句子,例如“ABABCDD”以生成另一组词软计数。以类似的方式处理文档404中的所有句子,为每个句子产生一组词软计数。
在一些实现方式中,文档语料库404中不同类型的文档可被赋予不同的权重,并且可将来自特定类型文档的句子的候选分割方式的概率值乘以与该特定类型文档相关联的权重值。例如,与不那么正式并且可能包括错误拼写词的文档相比,更正式并且用词更准确的文档可被赋予较高的权重。例如,由主流报纸或杂志社出版的新闻文档可被赋予权重17,由个人生成的博客文档可被赋予权重10,其他一般的网页文档可被赋予权重1,并且电子邮件消息可被赋予权重0.7。
使用上面的例子,从主流报纸或杂志社的新闻文档得到的分割方式概率值可被乘以17,从个人的博客文档得到的分割方式概率值可被乘以10,从其他类型的网页文档得到的分割方式概率值可被乘以1,并且从电子邮件消息得到的分割方式概率值可被乘以0.7。因为软计数是从分割方式概率值得到的,因此软计数也被基于文档类型进行了加权。
在一些实现方式中,通过将每个词的各个软计数相加来合并从所有文档中的所有句子得到的词软计数。例如,通过累计(例如,加和)从所有文档的所有句子得到的词[A]的软计数,来获得词[A]的最终软计数。通过将每个词的软计数除以归一化因子来确定该词的概率值。归一化因子例如可以是所有词的软计数之和。
例如,假设累计的词的软计数为:
S([A])=10,
S([B])=2,
S([C])=3,
S([D])=1,
S([E])=3,
S([AB])=2,
S([BC])=2,以及
S([ABC])=1。
在上面的例子中,归一化因子可等于(10+2+3+1+3+2+2+1)=24。因此如下归一化词概率值:
P([A])=10/24=0.417,
P([B])=2/24=0.083,
P([C])=3/24=0.125,
P([E])=3/24=0.125,
P([D])=1/24=0.0417,
P([AB])=2/24=0.0833,
P([BC])=2/24=0.0833,以及
P([ABC])=1/24=0.0417。
词和相关联的词概率值可被存储在表414中,由此完成初次迭代。
在第二次迭代中,根据在第一次迭代中获得的词概率值调整分割方式的概率值:
P([ABC][D][A][E])=0.0417*0.0417*0.417*0.125=0.0000906,
P([AB][C][D][A][E])=0.0833*0.125*0.0417*0.417*0.125=0.0000226,
P([A][BC][D][A][E])=0.417*0.0833*0.0417*0.417*0.125=0.0000755,和
P([A][B][C][D][A][E])=0.417*0.0833*0.125*0.0417*0.417*0.125=0.00000944
同样,根据分割方式概率值调整词软计数值,除以可以是所有可能分割方式的概率值之和的归一化因子。在这个例子中,归一化因子等于0.0000906+0.0000226+0.0000755+0.00000944=0.000198。词软计数值如下:
S([A])=(0.0000906+0.0000226+0.0000755*2+0.00000944*2)/0.000198=1.34,
S([B])=0.00000944/0.000198=0.0477,
S([C])=(0.0000226+0.0000755)/0.000198=0.0000981/0.000198=0.495,
S([D])=(0.0000906+0.0000226+0.0000755+0.00000944)/0.000198=1,
S([E])=(0.0000906+0.0000226+0.0000755+0.00000944)/0.000198=1,
S([AB])=0.0000226/0.000198=0.114,
S([BC])=0.0000755/0.000198=0.381,以及
S([ABC])=0.0000906/0.000198=0.458。
来自所有句子的软计数被累计并归一化,以获得词的概率值,其被用来在下次迭代中计算分割方式概率值,等等。迭代过程继续,直到出现收敛或终止条件为止。例如,迭代过程可以在预定次数的迭代之后终止,或者在词概率值收敛、从而一次迭代与下一次迭代的词概率值变化小于预定阈值之后终止。也可以使用其他收敛或终止条件。
在一些实现方式中,可以通过动态编程执行软计数。例如,假设句子是“C1C2C3...Cn”,其中“C1”、“C2”、“C3”等中的每一个是字符。对于该句子内的任何词Cj1...Cj2,其计数可增加Sj1 left·p(Cj1...Cj2)·Sj2 right/α,其中
●Sj1 left是在Cj1左边的子串的所有可能分割方式的似然值之和,
●p(Cj1...Cj2)是词Cj1...Cj2的概率的当前估计值,
●Sj2 right是在Cj2右边的子串的所有可能分割方式的似然值之和,
●α是归一化常数,其是该句子的所有可能分割方式的似然值之和。α等于Sn+1 left
Sj1 left和Sj2 right的值同样可以通过动态编程来计算。例如,Si left的递归函数是:
S i left = 1 ifi = 1 p ( C 1 ) ifi = 2 Σ j = 1 i - p ( C j . . . C i - 1 ) · S j left ifi > 2
对该句子从左到右,对于i=1、2、...n+1计算Si left的值,结束时获得
Figure GPA00001035219100142
然后,对该句子从右到左,对于i=n、n-1、...3、2、1计算值Si right。然后可以使用公式Sj left·p(Cj1...Cj2)·Sj2 right/α计算词Cj1...Cj2的软计数值。
在一些实现方式中,可以利用文档的索引(indexing)和/或并行处理。因为文档语料库404中的文档数量可能较大,所以索引和/或并行处理能减少处理时间。在一些实现方式中,可使用例如MapReduce(映射化简)编程模型并行地执行对文档语料库404的处理,MapReduce编程模型在Jeffery Dean和Sanjay Ghemawat于2004年12月在加州三藩市举办的第六届Symposiumon Operating System Design and Implementation会议上发表的论文“MapReduce:Simplified Data Processing on Large Clusters”中有所描述,该文章的内容通过引用合并于此。
在迭代过程结束时,确定词语料库402中所有词的最终概率值。在一些实现方式中,词概率确定引擎400选择预定数量(例如300,000个)的具有最高概率值的词,并将所选词及其所关联的词概率值存储在将由IME系统120访问的词典406中。词典406可以是例如图2的词典124的一部分。在其他实现方式中,可以将整个词语料库和相关联的概率值存储在词典406中。
图5是示例过程500的流程图,该过程500基于词在文档语料库(例如文档语料库404)中的出现来确定词语料库(例如词语料库402)中词的概率值。过程500例如可以在包括一个或多个服务器计算机的系统中实现。
过程500识别词语料库(501)。例如,词语料库可以是图4的词语料库402。在过程500中,将初始软计数值分配给词语料库中的词,并确定初始词概率值(502)。例如,词概率确定引擎400可以分配初始软计数值和初始词概率值。
过程500识别文档语料库的文档中的句子(504)。过程500基于词语料库中的词确定每个句子的候选分割方式(506)。例如,可由词分割方式引擎410确定候选分割方式。
过程500基于例如候选分割方式中词的概率值确定每个候选分割方式的概率值(508)。例如,可以通过将候选分割方式中词的概率值相乘,来确定候选分割方式的概率值。在一些实现方式中,将分割方式概率值乘以基于得到该分割方式的文档的类型的权重值。
过程500基于候选分割方式的概率值确定每个词的软计数(510)。例如,可以通过将该词在其中出现的所有分割方式的概率值的贡献相加,来确定词或短语的软计数。
过程500通过将软计数除以归一化因子,来确定每个词的概率值(512)。归一化因子例如可以是所有软计数之和。
过程500确定是否出现终止条件(514)。终止条件例如可以包括执行了预定次数的迭代,或者概率值收敛,或者其他条件。
如果还未出现终止条件,则重复分割方式概率值的确定(508)、软计数的确定(510)和词概率值的确定(512)。
如果出现终止条件,则过程500识别出预定数目的(例如,300,000个)具有最高概率值的词(516)。
过程500将所选择的预定数目的词添加到输入法编辑器可访问的词典中(518)。例如,IME可以是图2的IME系统120,而预定数目的词可被包括在词典124中。
图6是示例过程600的流程图,该过程600基于词在文档语料库中的出现,确定词语料库中词的概率值。过程600例如可在包括一个或多个服务器计算机的系统中实现。
过程600识别词语料库(602)。例如,词语料库可以是图4的词语料库402。过程600将词概率值与词语料库中的每个词相关联(604)。例如,词概率确定引擎400可以将词概率值与词语料库402中的每个词相关联。过程600识别句子(606)。例如,词概率确定引擎400可以从文档语料库404识别句子。过程600基于词语料库确定句子的候选分割方式(608)。例如,词概率确定引擎400可以确定句子的候选分割方式。过程600基于与词相关联的概率值和候选分割方式,迭代地调整词语料库中每个词所关联的概率值(610)。例如,词概率确定引擎400可以迭代地调整每个词所关联的概率值。
图7是示例过程700的流程图,该过程700基于词在文档语料库中的出现确定词语料库中词的概率值。过程700例如可以在包括一个或多个服务器计算机的系统中实现。
过程700确定与词语料库的词相关联的词概率值(702)。例如,词语料库可以是图4的词语料库402。过程700确定文档语料库中文档的句子的候选分割方式(704)。例如,文档语料库可以是文档语料库404。过程700基于与候选分割方式中的词相关联的词概率值,迭代地确定每个句子的每个候选分割方式的分割方式概率值(706)。例如,词概率确定引擎400可以迭代地确定分割方式概率值。过程700基于包括每个词的候选分割方式的分割方式概率值,迭代地调整每个词的词概率值(708)。例如,词概率确定引擎400可以迭代地调整词概率值。
尽管已经描述了各种实现方式,但也可以使用其他实现方式。例如,输入引擎122可以能够将来自西式键盘的组合输入映射为输入中文、日文、韩文和/或印度文字符。在一些示例中,所描述的一些或所有实现方式可应用于其他输入法,诸如仓颉输入法、九方输入法、五笔输入法或其他输入法。不同类型文档的权重值、文档类型的分类可以与上面描述的那些不同。被处理的词、短语和文档的数目、以及文档语料库404中的文档的来源可以与上述那些不同。
在一些实现方式中,可以使用几个词典,例如法律词典、医学词典、科技词典和通用词典。可以从与特定领域相关联的词典开始建立每个词典。使用词概率确定引擎400来处理具有偏向于与词典相关联的领域的文档的文档语料库。例如,为了建立法律词典中的词的概率值,可以使用具有偏向于法律领域的文档的文档语料库。IME系统120可以允许用户在输入字符时选择感兴趣的领域(例如法律、医学、科技),并且可以从与感兴趣的领域相关的词典中选择候选词。
在本说明书中描述的主题和功能操作的实施例可以以数字电子电路、或计算机软件、固件或硬件(包括在本说明书中公开的结构及其结构等价物)或它们中的一个或多个的组合来实现。可以将在本说明书中描述的主题的实施例实现为一个或多个计算机程序产品,即编码在有形的程序载体上以供数据处理装置执行或控制数据处理装置的操作的计算机程序指令的一个或多个模块。有形的程序载体可以是传播信号或计算机可读介质。传播信号是人工生成的信号,例如机器生成的电信号、光信号或电磁信号,其被生成以将信息编码为用于传输到适合的接收器装置以供计算机执行。计算机可读介质可以是机器可读存储设备、机器可读存储基片(storage substrate)、存储器设备、影响机器可读传播信号的物质成分、或它们中的一个或多个的组合。
术语“数据处理装置”涵盖用于处理数据的所有装置、设备和机器,例如包括可编程处理器、计算机、多个处理器或计算机。装置除了硬件外还可以包括创建所讨论的计算机程序的执行环境的代码,例如构成处理器固件、协议栈、数据库管理系统、操作系统或它们中的一个或多个的组合的代码。
计算机程序(也称为程序、软件、软件应用、脚本或代码)可以以任何形式的编程语言来编写,包括编译语言或解释语言、或者声明性语言或过程语言,并且其可以以任何形式来部署,包括作为单机程序或作为模块、组件、子例程或适合于在计算环境中使用的其它单元。计算机程序不必对应于文件系统中的文件。可以将程序存储在拥有其它程序或数据的文件的一部分中(例如存储在标记语言文档中的一个或多个脚本)、存储在专用于所讨论的程序的单个文件中、或存储在多个协作文件中(例如存储一个或多个模块、子程序或代码部分的文件)。可以将计算机程序部署为在一个计算机或位于一个地点或跨多个地点分布并且通过通信网络互联的多个计算机上执行。
在本说明书中描述的过程和逻辑流程可以由一个或多个可编程处理器来执行,所述可编程处理器执行一个或多个计算机程序以通过对输入数据进行操作并且生成输出来执行功能。所述过程和逻辑流程也可以由专用逻辑电路来执行,并且装置也可以被实现为专用逻辑电路,所述专用逻辑电路例如FPGA(现场可编程门阵列)或ASIC(专用集成电路)。
作为示例,适合于执行计算机程序的处理器包括通用和专用微处理器两者、以及任何类型的数字计算机的任何一个或多个处理器。通常,处理器将从只读存储器或随机存取存储器或它们两者接收指令和数据。计算机的必要元件是用于执行指令的处理器和用于存储指令和数据的一个或多个存储器设备。通常,计算机也将包括一个或多个用于存储数据的大容量存储设备,或者被可操作地耦接到一个或多个大容量存储设备以从其接收数据或者向其传送数据,或者两者均可,所述大容量存储设备例如磁盘、磁光盘或光盘。然而,计算机并非一定要具有这样的设备。此外,计算机可被嵌入另一个设备中,所述另一个设备例如移动电话、个人数字助理(PDA)、移动音频或视频播放器、游戏控制台、全球定位系统(GPS)接收器,等等。
适合于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储设备,作为示例包括例如EPROM、EEPROM和闪存设备的半导体存储设备;例如内部硬盘或可移动盘的磁盘;磁光盘;以及CD ROM和DVD ROM盘。处理器和存储器可由专用逻辑电路补充或者并入专用逻辑电路。
为了提供与用户的交互,在本说明书中描述的主题的实施例可被实现在具有用于向用户显示信息的显示设备(例如,CRT(阴极射线管)或LCD(液晶显示器)监视器)和用户能够通过其向计算机提供输入的键盘和指示设备(例如,鼠标或轨迹球)的计算机上。也可以使用其它种类的设备来提供与用户的交互;例如,提供给用户的反馈可以是任意形式的感官反馈,例如视觉反馈、听觉反馈或触觉反馈;并且可以以包括声音、语音或触觉输入的任意形式接收来自用户的输入。
在本说明书中描述的主题的实施例能够被实现在计算系统中,所述计算系统包括后端组件,例如作为数据服务器;或包括中间件组件,例如应用服务器;或包括前端组件,例如具有图形用户界面或网页浏览器的客户端计算机,用户能够通过所述图形用户界面或网页浏览器与在本说明书中描述的主题的实现方式进行交互;或者包括一个或多个这样的后端组件、中间件组件或前端组件的任意组合。所述系统的组件可以通过任意形式或介质的数字数据通信(例如,通信网络)进行互连。通信网络的示例包括局域网(“LAN”)和广域网(“WAN”),例如因特网。
计算系统可包括客户端和服务器。客户端和服务器通常彼此远离并且典型地通过通信网络进行交互。客户端和服务器的关系借助于在各个计算机上运行并且彼此具有客户端-服务器关系的计算机程序而产生。
尽管本说明书包含许多具体的实现方式细节,但是这些不应当被解释为对任何发明的范围或者可能主张的专利权利的范围的限制,相反地,应被解释为是对可能特定于具体发明的具体实施例的特征的描述。在本说明书中,在不同实施例的上下文中描述的某些特征也可在单个实施例中以组合的方式实现。相反地,在单个实施例的上下文中描述的各种特征也可单独地或以任何合适的子组合形式在多个实施例中实现。此外,尽管特征可能在上面被描述为以某种组合形式起作用,甚至最初被主张为以某种组合形式起作用,但是来自所主张的组合的一个或多个特征在一些情况下可从组合中去除,并且所主张的组合可被指向子组合或子组合的变型。
类似地,虽然操作在附图中以特定的次序描述,但是这不应当被理解为必须以示出的特定次序或以顺序地次序来执行这些操作,或者必须执行所有图示的操作,才能获得期望的结果。在某些情况中,多任务和并行处理可能是有益的。此外,在上面描述的实施例中的各个系统组件的分割不应当被理解为在所有的实施例中必须是这样的分割,并且应当理解,所描述的程序组件和系统通常可以被一起集成在单个软件产品中或打包到多个软件产品中。
已描述了在本说明书中描述的主题的特定实施例。其它实施例也在所附权利要求书的范围内。例如,可以以不同的次序执行在权利要求书中叙述的动作而仍然获得期望的结果。作为一个示例,在附图中描述的过程并非必须要求示出的特定次序或者顺序的次序才能获得期望的结果。在某些实现方式中,多任务和并行处理可能是有益的。

Claims (28)

1.一种计算机实现的方法,包括:
识别词语料库;
将词概率值与词语料库中的每个词相关联;
识别句子;
基于词语料库确定句子的候选分割方式;以及
基于相关联的词概率值和候选分割方式,迭代地调整词语料库中每个词的相关联的词概率值。
2.如权利要求1所述的方法,包括将由具有最高相关联词概率值的词所定义的词语料库的一部分存储到输入法编辑器词典中。
3.如权利要求1所述的方法,其中所述词概率值对应于相关联的词在句子中出现的概率。
4.如权利要求1所述的方法,其中确定句子的候选分割方式包括基于词语料库确定至少一个句子的所有可能的分割方式。
5.如权利要求1所述的方法,包括确定句子的每个候选分割方式的分割方式概率值。
6.如权利要求5所述的方法,其中确定句子的每个候选分割方式的分割方式概率值包括:基于与候选分割方式中的词相关联的词概率值,确定每个候选分割方式的分割方式概率值。
7.如权利要求5所述的方法,其中基于相关联的词概率值和候选分割方式迭代地调整词语料库中每个词的相关联的词概率值包括:基于句子的候选分割方式的分割方式概率值,迭代地调整每个词的相关联的词概率值。
8.如权利要求1所述的方法,其中迭代地调整每个词的相关联的词概率值包括,对于每次迭代,
基于与候选分割方式中的词相关联的词概率值,确定句子的每个候选分割方式的分割方式概率值,以及
基于包括该词的候选分割方式的分割方式概率值,调整每个词的相关联的词概率值。
9.如权利要求1所述的方法,其中确定句子中的词的精确概率值包括:将(a)所述词之前的子串的候选分割方式的概率值之和、(b)所述词的概率值、以及(c)所述词之后的子串的候选分割方式的概率值之和相乘。
10.如权利要求1所述的方法,其中确定句子的候选分割方式包括:确定文档中的多个句子的候选分割方式。
11.如权利要求1所述的方法,包括识别多个文档中的句子,以及对于每个句子,基于词语料库确定该句子的候选分割方式。
12.如权利要求11所述的方法,其中在确定词概率值时,向不同类型文档中的句子赋予不同的权重。
13.如权利要求11所述的方法,其中所述文档能够通过公众网、因特网访问,或者由多个第三方提供。
14.如权利要求1所述的方法,其中所述词包括中文、日文和韩文字符中的至少一个。
15.如权利要求1所述的方法,其中所述词包括汉字字符。
16.一种计算机实现的方法,包括:
确定与词语料库的词相关联的词概率值;
确定文档语料库中的文档的句子的候选分割方式;
基于与候选分割方式中的词相关联的词概率值,迭代地确定每个句子的每个候选分割方式的分割方式概率值;以及
基于包括该词的候选分割方式的分割方式概率值,迭代地调整每个词的词概率值。
17.如权利要求16所述的方法,包括:
识别文档的文档类型;
基于所识别的文档类型,向文档中的句子分配权重;以及
基于权重确定分割方式概率值或词概率值之一。
18.如权利要求16所述的方法,包括:基于包括该词的分割方式的分割方式概率值,累计每个词的计数。
19.如权利要求18所述的方法,其中累计每个词的计数包括:确定包括该词的分割方式的分割方式概率值之和。
20.如权利要求18所述的方法,包括通过基于归一化因子对词的计数进行归一化,确定每个词的词概率值。
21.如权利要求20所述的方法,包括通过确定所有词的计数之和,确定归一化因子。
22.一种方法,包括:
建立词典,该词典包括词和使用迭代过程确定的相关联的词概率值,该迭代过程包括迭代地确定文档的句子的候选分割方式的分割方式概率值,以及基于分割方式概率值迭代地调整词的词概率值;以及
提供输入法编辑器,该输入法编辑器被配置为从所述词典中选择词。
23.一种系统,包括:
数据存储单元,用来存储词语料库和文档语料库;以及
处理引擎,被存储在计算机可读介质中,并包括能够被处理设备执行的指令,所述指令在被执行时使得处理设备:
将词概率值与词语料库中的每个词相关联;
基于词语料库确定文档语料库中每个文档的每个句子的候选分割方式;以及
基于相关联的词概率值和候选分割方式,迭代地调整词语料库中每个词的相关联的词概率值。
24.一种系统,包括:
数据存储单元,用来存储词语料库和文档语料库;以及
处理设备,用来:
将词概率值与词语料库中的每个词相关联;
基于词语料库确定文档语料库中每个文档的每个句子的候选分割方式;以及
基于相关联的词概率值和候选分割方式,迭代地调整词语料库中每个词的相关联的词概率值。
25.一种系统,包括:
数据存储单元,用来存储词语料库和文档语料库;
处理设备,用来:
确定与词语料库的词相关联的词概率值;
确定文档语料库中的文档的句子的候选分割方式;
基于与候选分割方式中的词相关联的词概率值,迭代地确定每个句子的每个候选分割方式的分割方式概率值;以及
基于包括该词的候选分割方式的分割方式概率值,迭代地调整每个词的词概率值。
26.一种系统,包括:
数据存储单元,用来存储词典,该词典包括词和使用迭代过程确定的相关联的词概率值,所述迭代过程包括迭代地确定文档的句子的候选分割方式的分割方式概率值,以及基于分割方式概率值迭代地调整词的词概率值;以及
处理设备,用来提供输入法编辑器,该输入法编辑器被配置为从所述词典中选择词。
27.一种系统,包括:
用于将词概率值与词语料库中的词相关联的装置;
用于识别多个文档中的句子的装置;
用于基于词语料库确定每个句子的候选分割方式的装置;以及
用于基于相关联的词概率值和候选分割方式,迭代地调整词语料库中每个词的相关联的词概率值的装置。
28.一种系统,包括:
用于确定与词语料库的词相关联的词概率值的装置;
用于确定文档语料库中文档的句子的候选分割方式的装置;
用于基于与候选分割方式中的词相关联的词概率值,迭代地确定每个句子的每个候选分割方式的分割方式概率值的装置;以及
用于基于包括该词的候选分割方式的分割方式概率值,迭代地调整每个词的词概率值的装置。
CN2007801003679A 2007-06-25 2007-06-25 词概率确定方法和系统 Active CN101785000B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2007/001969 WO2009000103A1 (en) 2007-06-25 2007-06-25 Word probability determination

Publications (2)

Publication Number Publication Date
CN101785000A true CN101785000A (zh) 2010-07-21
CN101785000B CN101785000B (zh) 2013-04-24

Family

ID=40137418

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2007801003679A Active CN101785000B (zh) 2007-06-25 2007-06-25 词概率确定方法和系统

Country Status (5)

Country Link
US (1) US8630847B2 (zh)
JP (1) JP2010531492A (zh)
KR (1) KR101465770B1 (zh)
CN (1) CN101785000B (zh)
WO (1) WO2009000103A1 (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104584003A (zh) * 2012-08-24 2015-04-29 微软公司 词检测和域字典推荐
CN105488209A (zh) * 2015-12-11 2016-04-13 北京奇虎科技有限公司 一种词权重的分析方法及装置
US9594831B2 (en) 2012-06-22 2017-03-14 Microsoft Technology Licensing, Llc Targeted disambiguation of named entities
US9600566B2 (en) 2010-05-14 2017-03-21 Microsoft Technology Licensing, Llc Identifying entity synonyms
US10032131B2 (en) 2012-06-20 2018-07-24 Microsoft Technology Licensing, Llc Data services for enterprises leveraging search system data assets

Families Citing this family (135)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2376277C (en) 1999-06-11 2011-03-15 Telstra New Wave Pty Ltd A method of developing an interactive system
AU2002950336A0 (en) * 2002-07-24 2002-09-12 Telstra New Wave Pty Ltd System and process for developing a voice application
AU2002951244A0 (en) 2002-09-06 2002-09-19 Telstra New Wave Pty Ltd A development system for a dialog system
AU2003900584A0 (en) * 2003-02-11 2003-02-27 Telstra New Wave Pty Ltd System for predicting speech recognition accuracy and development for a dialog system
AU2003902020A0 (en) * 2003-04-29 2003-05-15 Telstra New Wave Pty Ltd A process for grammatical inference
US8677377B2 (en) 2005-09-08 2014-03-18 Apple Inc. Method and apparatus for building an intelligent automated assistant
US9318108B2 (en) 2010-01-18 2016-04-19 Apple Inc. Intelligent automated assistant
CN101779200B (zh) * 2007-06-14 2013-03-20 谷歌股份有限公司 词典词和短语确定方法和设备
US10002189B2 (en) 2007-12-20 2018-06-19 Apple Inc. Method and apparatus for searching using an active ontology
US9330720B2 (en) 2008-01-03 2016-05-03 Apple Inc. Methods and apparatus for altering audio output signals
US8521516B2 (en) * 2008-03-26 2013-08-27 Google Inc. Linguistic key normalization
US8996376B2 (en) 2008-04-05 2015-03-31 Apple Inc. Intelligent text-to-speech conversion
US20100030549A1 (en) 2008-07-31 2010-02-04 Lee Michael M Mobile device having human language translation capability with positional feedback
US8433708B2 (en) * 2008-09-16 2013-04-30 Kendyl A. Román Methods and data structures for improved searchable formatted documents including citation and corpus generation
US8676904B2 (en) 2008-10-02 2014-03-18 Apple Inc. Electronic devices with voice command and contextual data processing capabilities
US20100094831A1 (en) * 2008-10-14 2010-04-15 Microsoft Corporation Named entity resolution using multiple text sources
US8798983B2 (en) * 2009-03-30 2014-08-05 Microsoft Corporation Adaptation for statistical language model
US10241752B2 (en) 2011-09-30 2019-03-26 Apple Inc. Interface for a virtual digital assistant
US10241644B2 (en) 2011-06-03 2019-03-26 Apple Inc. Actionable reminder entries
US9431006B2 (en) 2009-07-02 2016-08-30 Apple Inc. Methods and apparatuses for automatic speech recognition
JP5382651B2 (ja) * 2009-09-09 2014-01-08 独立行政法人情報通信研究機構 単語対取得装置、単語対取得方法、およびプログラム
US8682667B2 (en) 2010-02-25 2014-03-25 Apple Inc. User profiling for selecting user specific voice input processing information
US8694304B2 (en) * 2010-03-26 2014-04-08 Virtuoz Sa Semantic clustering and user interfaces
US8676565B2 (en) * 2010-03-26 2014-03-18 Virtuoz Sa Semantic clustering and conversational agents
US9378202B2 (en) 2010-03-26 2016-06-28 Virtuoz Sa Semantic clustering
CN102411563B (zh) * 2010-09-26 2015-06-17 阿里巴巴集团控股有限公司 一种识别目标词的方法、装置及系统
US9524291B2 (en) 2010-10-06 2016-12-20 Virtuoz Sa Visual display of semantic information
US9262612B2 (en) 2011-03-21 2016-02-16 Apple Inc. Device access using voice authentication
WO2012159245A1 (en) * 2011-05-20 2012-11-29 Microsoft Corporation Displaying key pinyins
US10057736B2 (en) 2011-06-03 2018-08-21 Apple Inc. Active transport based notifications
CN102929864B (zh) * 2011-08-05 2016-08-17 北京百度网讯科技有限公司 一种音字转换方法及装置
US9305082B2 (en) * 2011-09-30 2016-04-05 Thomson Reuters Global Resources Systems, methods, and interfaces for analyzing conceptually-related portions of text
US10176168B2 (en) * 2011-11-15 2019-01-08 Microsoft Technology Licensing, Llc Statistical machine translation based search query spelling correction
US10134385B2 (en) 2012-03-02 2018-11-20 Apple Inc. Systems and methods for name pronunciation
US9280610B2 (en) 2012-05-14 2016-03-08 Apple Inc. Crowd sourcing information to fulfill user requests
US20130318075A1 (en) * 2012-05-25 2013-11-28 International Business Machines Corporation Dictionary refinement for information extraction
US9721563B2 (en) 2012-06-08 2017-08-01 Apple Inc. Name recognition system
US9547647B2 (en) 2012-09-19 2017-01-17 Apple Inc. Voice-based media searching
IL224482B (en) * 2013-01-29 2018-08-30 Verint Systems Ltd System and method for keyword spotting using representative dictionary
WO2014197334A2 (en) 2013-06-07 2014-12-11 Apple Inc. System and method for user-specified pronunciation of words for speech synthesis and recognition
WO2014197335A1 (en) 2013-06-08 2014-12-11 Apple Inc. Interpreting and acting upon commands that involve sharing information with remote devices
US10176167B2 (en) 2013-06-09 2019-01-08 Apple Inc. System and method for inferring user intent from speech inputs
KR101959188B1 (ko) 2013-06-09 2019-07-02 애플 인크. 디지털 어시스턴트의 둘 이상의 인스턴스들에 걸친 대화 지속성을 가능하게 하기 위한 디바이스, 방법 및 그래픽 사용자 인터페이스
US9934217B2 (en) * 2013-07-26 2018-04-03 Facebook, Inc. Index for electronic string of symbols
WO2015018055A1 (en) * 2013-08-09 2015-02-12 Microsoft Corporation Input method editor providing language assistance
US10296160B2 (en) 2013-12-06 2019-05-21 Apple Inc. Method for extracting salient dialog usage from live data
US9966065B2 (en) 2014-05-30 2018-05-08 Apple Inc. Multi-command single utterance input method
US9430463B2 (en) 2014-05-30 2016-08-30 Apple Inc. Exemplar-based natural language processing
US9633004B2 (en) 2014-05-30 2017-04-25 Apple Inc. Better resolution when referencing to concepts
US10170123B2 (en) 2014-05-30 2019-01-01 Apple Inc. Intelligent assistant for home automation
US9338493B2 (en) 2014-06-30 2016-05-10 Apple Inc. Intelligent automated assistant for TV user interactions
CN105334952B (zh) * 2014-07-11 2018-12-18 北京搜狗科技发展有限公司 一种文本信息的输入方法和装置
US9818400B2 (en) 2014-09-11 2017-11-14 Apple Inc. Method and apparatus for discovering trending terms in speech requests
US9606986B2 (en) * 2014-09-29 2017-03-28 Apple Inc. Integrated word N-gram and class M-gram language models
US10127911B2 (en) 2014-09-30 2018-11-13 Apple Inc. Speaker identification and unsupervised speaker adaptation techniques
US10074360B2 (en) 2014-09-30 2018-09-11 Apple Inc. Providing an indication of the suitability of speech recognition
US9668121B2 (en) 2014-09-30 2017-05-30 Apple Inc. Social reminders
EP3062212A1 (en) * 2015-02-25 2016-08-31 Kyocera Document Solutions Inc. Text editing apparatus and print data storage apparatus
US10152299B2 (en) 2015-03-06 2018-12-11 Apple Inc. Reducing response latency of intelligent automated assistants
US10567477B2 (en) 2015-03-08 2020-02-18 Apple Inc. Virtual assistant continuity
US9886953B2 (en) 2015-03-08 2018-02-06 Apple Inc. Virtual assistant activation
US9721566B2 (en) 2015-03-08 2017-08-01 Apple Inc. Competing devices responding to voice triggers
US10083688B2 (en) 2015-05-27 2018-09-25 Apple Inc. Device voice control for selecting a displayed affordance
US10325221B2 (en) * 2015-06-02 2019-06-18 Microsoft Technology Licensing, Llc Metadata tag description generation
US9578173B2 (en) 2015-06-05 2017-02-21 Apple Inc. Virtual assistant aided communication with 3rd party service in a communication session
US11025565B2 (en) 2015-06-07 2021-06-01 Apple Inc. Personalized prediction of responses for instant messaging
US10747498B2 (en) 2015-09-08 2020-08-18 Apple Inc. Zero latency digital assistant
US10671428B2 (en) 2015-09-08 2020-06-02 Apple Inc. Distributed personal assistant
US11010550B2 (en) 2015-09-29 2021-05-18 Apple Inc. Unified language modeling framework for word prediction, auto-completion and auto-correction
US10366158B2 (en) 2015-09-29 2019-07-30 Apple Inc. Efficient word encoding for recurrent neural network language models
US11587559B2 (en) 2015-09-30 2023-02-21 Apple Inc. Intelligent device identification
IL242219B (en) 2015-10-22 2020-11-30 Verint Systems Ltd System and method for keyword searching using both static and dynamic dictionaries
IL242218B (en) 2015-10-22 2020-11-30 Verint Systems Ltd A system and method for maintaining a dynamic dictionary
US10691473B2 (en) 2015-11-06 2020-06-23 Apple Inc. Intelligent automated assistant in a messaging environment
US10049668B2 (en) 2015-12-02 2018-08-14 Apple Inc. Applying neural network language models to weighted finite state transducers for automatic speech recognition
US10223066B2 (en) 2015-12-23 2019-03-05 Apple Inc. Proactive assistance based on dialog communication between devices
US10372714B2 (en) 2016-02-05 2019-08-06 International Business Machines Corporation Automated determination of document utility for a document corpus
US10446143B2 (en) 2016-03-14 2019-10-15 Apple Inc. Identification of voice inputs providing credentials
US9934775B2 (en) 2016-05-26 2018-04-03 Apple Inc. Unit-selection text-to-speech synthesis based on predicted concatenation parameters
US9972304B2 (en) 2016-06-03 2018-05-15 Apple Inc. Privacy preserving distributed evaluation framework for embedded personalized systems
US10249300B2 (en) 2016-06-06 2019-04-02 Apple Inc. Intelligent list reading
US10049663B2 (en) 2016-06-08 2018-08-14 Apple, Inc. Intelligent automated assistant for media exploration
DK179309B1 (en) 2016-06-09 2018-04-23 Apple Inc Intelligent automated assistant in a home environment
US10586535B2 (en) 2016-06-10 2020-03-10 Apple Inc. Intelligent digital assistant in a multi-tasking environment
US10067938B2 (en) 2016-06-10 2018-09-04 Apple Inc. Multilingual word prediction
US10509862B2 (en) 2016-06-10 2019-12-17 Apple Inc. Dynamic phrase expansion of language input
US10490187B2 (en) 2016-06-10 2019-11-26 Apple Inc. Digital assistant providing automated status report
US10192552B2 (en) 2016-06-10 2019-01-29 Apple Inc. Digital assistant providing whispered speech
DK201670540A1 (en) 2016-06-11 2018-01-08 Apple Inc Application integration with a digital assistant
DK179049B1 (en) 2016-06-11 2017-09-18 Apple Inc Data driven natural language event detection and classification
DK179415B1 (en) 2016-06-11 2018-06-14 Apple Inc Intelligent device arbitration and control
DK179343B1 (en) 2016-06-11 2018-05-14 Apple Inc Intelligent task discovery
US10474753B2 (en) 2016-09-07 2019-11-12 Apple Inc. Language identification using recurrent neural networks
US10043516B2 (en) 2016-09-23 2018-08-07 Apple Inc. Intelligent automated assistant
US11281993B2 (en) 2016-12-05 2022-03-22 Apple Inc. Model and ensemble compression for metric learning
US10593346B2 (en) 2016-12-22 2020-03-17 Apple Inc. Rank-reduced token representation for automatic speech recognition
US11204787B2 (en) 2017-01-09 2021-12-21 Apple Inc. Application integration with a digital assistant
DK201770383A1 (en) 2017-05-09 2018-12-14 Apple Inc. USER INTERFACE FOR CORRECTING RECOGNITION ERRORS
US10417266B2 (en) 2017-05-09 2019-09-17 Apple Inc. Context-aware ranking of intelligent response suggestions
US10395654B2 (en) 2017-05-11 2019-08-27 Apple Inc. Text normalization based on a data-driven learning network
US10726832B2 (en) 2017-05-11 2020-07-28 Apple Inc. Maintaining privacy of personal information
DK201770439A1 (en) 2017-05-11 2018-12-13 Apple Inc. Offline personal assistant
DK179745B1 (en) 2017-05-12 2019-05-01 Apple Inc. SYNCHRONIZATION AND TASK DELEGATION OF A DIGITAL ASSISTANT
DK179496B1 (en) 2017-05-12 2019-01-15 Apple Inc. USER-SPECIFIC Acoustic Models
US11301477B2 (en) 2017-05-12 2022-04-12 Apple Inc. Feedback analysis of a digital assistant
DK201770427A1 (en) 2017-05-12 2018-12-20 Apple Inc. LOW-LATENCY INTELLIGENT AUTOMATED ASSISTANT
DK201770431A1 (en) 2017-05-15 2018-12-20 Apple Inc. Optimizing dialogue policy decisions for digital assistants using implicit feedback
DK201770432A1 (en) 2017-05-15 2018-12-21 Apple Inc. Hierarchical belief states for digital assistants
US10311144B2 (en) 2017-05-16 2019-06-04 Apple Inc. Emoji word sense disambiguation
DK179560B1 (en) 2017-05-16 2019-02-18 Apple Inc. FAR-FIELD EXTENSION FOR DIGITAL ASSISTANT SERVICES
US10303715B2 (en) 2017-05-16 2019-05-28 Apple Inc. Intelligent automated assistant for media exploration
US10403278B2 (en) 2017-05-16 2019-09-03 Apple Inc. Methods and systems for phonetic matching in digital assistant services
US10657328B2 (en) 2017-06-02 2020-05-19 Apple Inc. Multi-task recurrent neural network architecture for efficient morphology handling in neural language modeling
US10445429B2 (en) 2017-09-21 2019-10-15 Apple Inc. Natural language understanding using vocabularies with compressed serialized tries
US10755051B2 (en) 2017-09-29 2020-08-25 Apple Inc. Rule-based natural language processing
US10636424B2 (en) 2017-11-30 2020-04-28 Apple Inc. Multi-turn canned dialog
US10733982B2 (en) 2018-01-08 2020-08-04 Apple Inc. Multi-directional dialog
US10733375B2 (en) 2018-01-31 2020-08-04 Apple Inc. Knowledge-based framework for improving natural language understanding
US10789959B2 (en) 2018-03-02 2020-09-29 Apple Inc. Training speaker recognition models for digital assistants
US10592604B2 (en) 2018-03-12 2020-03-17 Apple Inc. Inverse text normalization for automatic speech recognition
US10818288B2 (en) 2018-03-26 2020-10-27 Apple Inc. Natural assistant interaction
US10909331B2 (en) 2018-03-30 2021-02-02 Apple Inc. Implicit identification of translation payload with neural machine translation
CN108549637A (zh) * 2018-04-19 2018-09-18 京东方科技集团股份有限公司 基于拼音的语义识别方法、装置以及人机对话系统
US11145294B2 (en) 2018-05-07 2021-10-12 Apple Inc. Intelligent automated assistant for delivering content from user experiences
US10928918B2 (en) 2018-05-07 2021-02-23 Apple Inc. Raise to speak
US10984780B2 (en) 2018-05-21 2021-04-20 Apple Inc. Global semantic word embeddings using bi-directional recurrent neural networks
DK201870355A1 (en) 2018-06-01 2019-12-16 Apple Inc. VIRTUAL ASSISTANT OPERATION IN MULTI-DEVICE ENVIRONMENTS
DK179822B1 (da) 2018-06-01 2019-07-12 Apple Inc. Voice interaction at a primary device to access call functionality of a companion device
US11386266B2 (en) 2018-06-01 2022-07-12 Apple Inc. Text correction
US10892996B2 (en) 2018-06-01 2021-01-12 Apple Inc. Variable latency device coordination
DK180639B1 (en) 2018-06-01 2021-11-04 Apple Inc DISABILITY OF ATTENTION-ATTENTIVE VIRTUAL ASSISTANT
US10496705B1 (en) 2018-06-03 2019-12-03 Apple Inc. Accelerated task performance
CN109325227A (zh) * 2018-09-14 2019-02-12 北京字节跳动网络技术有限公司 用于生成修正语句的方法和装置
CN109190124B (zh) * 2018-09-14 2019-11-26 北京字节跳动网络技术有限公司 用于分词的方法和装置
CN111259148B (zh) * 2020-01-19 2024-03-26 北京小米松果电子有限公司 信息处理方法、装置及存储介质

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10171819A (ja) * 1996-12-06 1998-06-26 Fuji Xerox Co Ltd 情報検索装置
US6640006B2 (en) * 1998-02-13 2003-10-28 Microsoft Corporation Word segmentation in chinese text
US6356866B1 (en) * 1998-10-07 2002-03-12 Microsoft Corporation Method for converting a phonetic character string into the text of an Asian language
JP2001043221A (ja) * 1999-07-29 2001-02-16 Matsushita Electric Ind Co Ltd 中国語単語分割装置
FI112978B (fi) * 1999-09-17 2004-02-13 Nokia Corp Symbolien syöttö
JP3573688B2 (ja) * 2000-06-28 2004-10-06 松下電器産業株式会社 類似文書検索装置及び関連キーワード抽出装置
US7315982B2 (en) * 2003-02-26 2008-01-01 Xerox Corporation User-tailorable romanized Chinese text input systems and methods
CN1258725C (zh) * 2003-04-18 2006-06-07 清华大学 基于语义构词约束的汉语二字词抽取方法
US7478033B2 (en) * 2004-03-16 2009-01-13 Google Inc. Systems and methods for translating Chinese pinyin to Chinese characters
US20050289463A1 (en) * 2004-06-23 2005-12-29 Google Inc., A Delaware Corporation Systems and methods for spell correction of non-roman characters and words
JP4652737B2 (ja) * 2004-07-14 2011-03-16 インターナショナル・ビジネス・マシーンズ・コーポレーション 単語境界確率推定装置及び方法、確率的言語モデル構築装置及び方法、仮名漢字変換装置及び方法、並びに、未知語モデルの構築方法、
CN100530171C (zh) * 2005-01-31 2009-08-19 日电(中国)有限公司 字典学习方法和字典学习装置
US7917355B2 (en) * 2007-08-23 2011-03-29 Google Inc. Word detection

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9600566B2 (en) 2010-05-14 2017-03-21 Microsoft Technology Licensing, Llc Identifying entity synonyms
US10032131B2 (en) 2012-06-20 2018-07-24 Microsoft Technology Licensing, Llc Data services for enterprises leveraging search system data assets
US9594831B2 (en) 2012-06-22 2017-03-14 Microsoft Technology Licensing, Llc Targeted disambiguation of named entities
CN104584003A (zh) * 2012-08-24 2015-04-29 微软公司 词检测和域字典推荐
CN105488209A (zh) * 2015-12-11 2016-04-13 北京奇虎科技有限公司 一种词权重的分析方法及装置
CN105488209B (zh) * 2015-12-11 2019-06-07 北京奇虎科技有限公司 一种词权重的分析方法及装置

Also Published As

Publication number Publication date
CN101785000B (zh) 2013-04-24
US20080319738A1 (en) 2008-12-25
KR20100052461A (ko) 2010-05-19
KR101465770B1 (ko) 2014-11-27
WO2009000103A1 (en) 2008-12-31
JP2010531492A (ja) 2010-09-24
US8630847B2 (en) 2014-01-14

Similar Documents

Publication Publication Date Title
CN101785000B (zh) 词概率确定方法和系统
US11829860B2 (en) Processing and generating sets using recurrent neural networks
Kågebäck et al. Word sense disambiguation using a bidirectional lstm
CN102124459B (zh) 词典词和短语确定
US8386240B2 (en) Domain dictionary creation by detection of new topic words using divergence value comparison
CN101779200B (zh) 词典词和短语确定方法和设备
JP5379138B2 (ja) 領域辞書の作成
US11550871B1 (en) Processing structured documents using convolutional neural networks
US8463598B2 (en) Word detection
US9436918B2 (en) Smart selection of text spans
CN101939741B (zh) Cjk姓名检测
Xu et al. Exploiting shared information for multi-intent natural language sentence classification.
Haque et al. Automated word prediction in bangla language using stochastic language models
CN104272223B (zh) 用于将输入文本从第一字符集音译到第二字符集的技术
US11954594B1 (en) Training recurrent neural networks to generate sequences
Yıldırım et al. Mastering Transformers: Build state-of-the-art models from scratch with advanced natural language processing techniques
CN105814556A (zh) 语境敏感的输入工具
EP3377983A1 (en) Generating feature embeddings from a co-occurrence matrix
Habib et al. An exploratory approach to find a novel metric based optimum language model for automatic bangla word prediction
Büyük Context-dependent sequence-to-sequence turkish spelling correction
Golpar-Rabooki et al. Feature extraction in opinion mining through Persian reviews
Lai et al. Supervised transfer learning for product information question answering
Endalie et al. Bi-directional long short term memory-gated recurrent unit model for Amharic next word prediction
CN103530380A (zh) 一种垂直搜索设备及方法
Celikyilmaz et al. An empirical investigation of word class-based features for natural language understanding

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CP01 Change in the name or title of a patent holder
CP01 Change in the name or title of a patent holder

Address after: American California

Patentee after: Google limited liability company

Address before: American California

Patentee before: Google Inc.