CN102722478A - 在线拼写纠正/短语完成系统 - Google Patents
在线拼写纠正/短语完成系统 Download PDFInfo
- Publication number
- CN102722478A CN102722478A CN2012100813845A CN201210081384A CN102722478A CN 102722478 A CN102722478 A CN 102722478A CN 2012100813845 A CN2012100813845 A CN 2012100813845A CN 201210081384 A CN201210081384 A CN 201210081384A CN 102722478 A CN102722478 A CN 102722478A
- Authority
- CN
- China
- Prior art keywords
- phrase
- character string
- speech
- probability
- user
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/3331—Query processing
- G06F16/3332—Query translation
- G06F16/3338—Query expansion
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/232—Orthographic correction, e.g. spell checking or vowelisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/332—Query formulation
- G06F16/3322—Query formulation using system suggestions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/274—Converting codes to words; Guess-ahead of partial word inputs
Abstract
本发明涉及在线拼写纠正/短语完成系统。本发明描述了在线拼写纠正/短语完成。计算机可执行应用从用户接收短语前缀,其中短语前缀包括第一字符序列。响应于接收到短语前缀来检索变换概率,其中变换概率指示第二字符序列已经被变换成第一字符序列的概率。随后对特里结构执行搜索以至少部分地基于该变换概率来定位最有可能的短语完成。
Description
技术领域
本发明涉及在线应用,尤其涉及在线拼写纠正。
背景技术
随着数据存储设备变得越来越便宜,保留了越来越大量的数据,其中这样的数据可通过利用搜索引擎来访问。由此,搜索引擎技术被频繁地更新以满足用户的信息检索请求。此外,随着用户持续地与搜索引擎交互,这些用户变得越来越擅长于制作可能导致返回满足用户的信息请求的搜索结果的查询。
然而,常规上,当一部分查询包括错误拼写的词时,搜索引擎难以检索到相关的结果。对搜索引擎查询日志进行分析发现,查询中的词常常被错误拼写并且存在各种类型的错误拼写。例如,某些错误拼写可由当用户意外地按压了键盘上与用户打算按压的键相邻的键时的“粗手指症状(fat finger syndrome)”引起。在另一示例中,查询的发起者可能不熟悉某些拼写规则,诸如当将字母“i”放在字母“e”之前以及当将字母“e”放在字母“i”之前时。其他的错误拼写可由用户打字太快引起,诸如例如用户意外地按压了同一字母两次、意外地颠倒了一个词中的两个字母等。此外,许多用户难以拼写源自不同语种的词。
某些搜索引擎已经被适应于在接收到整个查询之后(例如,在查询的发起者按压“搜索”按钮之后)试图纠正查询中的错误拼写的词。此外,某些搜索引擎被配置为在向搜索引擎发出了完整的查询之后纠正查询中错误拼写的词,并且随后自动地利用经纠正的查询来对索引进行搜索。另外,常规的搜索引擎被配置有当用户键入查询时提供查询完成建议的技术。这些查询完成建议常常通过协助用户制作一个完整的查询以节省用户时间和苦恼,该完整的查询基于已经提供给搜索引擎的查询前缀。然而,如果查询前缀的一部分包括错误拼写的词,则常规的搜索引擎提供有帮助的查询建议的能力大大地降低了。
发明内容
以下是在本文详细描述的主题的简要的发明内容。本发明内容不旨在是关于权利要求的范围的限制。
本文描述了涉及在线拼写纠正/短语完成的各种技术,其中在线拼写纠正指的是当用户向计算机可执行应用提供短语前缀时为词或短语提供拼写纠正。根据一示例,在线拼写纠正/短语完成可在搜索引擎处进行,其中查询前缀(例如,查询的一部分而非完整的查询)包括可能错误拼写的词,其中当用户向搜索引擎输入字符时这样的错误拼写的词可被标识并被纠正,并且其中可将包括经纠正的词(正确拼写的词)的查询完成(建议)提供给用户。在另一示例中,在线拼写纠正可在文字处理应用中进行、在web浏览器中进行、可作为操作系统的一部分被包括、或者可作为另一计算机可执行应用的一部分被包括。
结合进行在线拼写纠正/短语完成,可从计算装置的用户接收短语前缀,其中短语前缀包括可能是词的错误拼写的部分的第一字符序列。例如,用户可提供短语前缀“get invl”。这一短语前缀包括可能错误拼写的字符序列“invl”,其中用户可能期望的整个短语是“get involved with computers”。本文描述的各方面涉及标识短语前缀的字符序列中的可能的错误拼写、纠正可能的错误拼写并且之后向用户提供建议的完整的短语。
继续该示例,响应于接收到字符序列“vl”,可从计算机可读数据储存库中的第一数据结构检索变换概率。例如,这一变换概率可指示字符序列“vol”已经(无意地)被变换成用户提供的字符序列(“vl”)的概率。尽管字符序列“vl”包括两个字符而字符序列“vol”包括三个字符,但应该理解,字符序列可以是单个字符、零个字符或多个字符。变换概率可实时地(在从用户接收到短语前缀时)计算、或者预先计算并被保留在诸如散列表之类的数据结构中。此外,变换概率可取决于短语中先前的变换概率。因此,例如,字符序列“vol”已经被用户变换成字符序列“vl”的变换概率可至少部分地基于字符序列“in”已经被变换成相同的字符序列“in”的变换概率。
在检索到变换概率数据之后,可对第二数据结构进行搜索以定位至少一个短语完成,其中该至少一个短语完成至少部分地基于变换概率数据来定位。根据一示例,第二数据结构可以是特里结构(trie)。特里结构可包括多个节点,其中每一节点可表示字符或空字段(例如,表示短语的结束)。由特里结构中的路径连接的两个节点指示由这些节点表示的字符序列。例如,第一节点可表示字符“a”,第二节点可表示字符“b”,而这些节点之间的直接路径表示字符序列“ab”。另外,每一节点可具有与其相关联的分数,该分数指示包括该节点的最有可能的短语完成。该分数可至少部分地基于例如对于特定应用已经观察到的词或短语的出现次数来计算。例如,该分数可指示查询已经被搜索引擎接收的次数(在某一阈值时间窗口期间)。此外,对特里结构的搜索可通过利用A*搜索算法或经修改的A*搜索算法来进行。
至少部分地基于对第二数据结构进行的搜索,可向用户提供一个最有可能的词或短语完成或多个最有可能的词或短语完成,其中这样的词或短语完成包括对已经被提供给计算机可执行应用的短语前缀中包括的可能的错误拼写的纠正。在搜索引擎的上下文中,通过利用这种技术,搜索引擎可快速地向用户提供查询建议,该查询建议包括对已经由用户提供给搜索引擎的查询前缀中可能的错误拼写的纠正。用户随后可选择查询建议之一,并且搜索引擎可利用用户所选的查询建议来执行搜索。
在阅读并理解了附图和描述后,可以明白其他方面。
附图说明
图1是便于响应于从用户接收到短语前缀而执行在线拼写纠正/短语完成的示例性系统的功能框图。
图2是示例性特里数据结构。
图3是便于估计、剪除和平滑化变换模型的示例性系统的功能框图。
图4是便于至少部分地基于来自查询日志的数据来构建特里结构的示例性系统的功能框图。
图5是涉及搜索引擎的示例性图形用户界面。
图6示出文字处理应用的示例性图形用户界面。
图7是便于响应于从用户接收到短语前缀而执行在线拼写纠正/短语完成的示例性方法的流程图。
图8是示出用于输出其中来自用户的查询前缀中接收的可能的错误拼写已经纠正的查询建议/完成的示例性方法的流程图。
图9是示例性计算系统。
具体实施方式
现在将参考附图来描述关于对短语前缀中可能错误拼写的词的在线纠正的各种技术,在全部附图中相同的附图标记表示相同的元素。另外,本文出于解释的目的示出并描述了各示例性系统的若干功能框图;然而可以理解,被描述为由特定系统组件执行的功能可以由多个组件来执行。类似地,例如,一组件可被配置成执行被描述为由多个组件执行的功能。另外,如此处所用的,术语“示例性”旨在表示用作某些事物的图示或示例,而不意图指示优选。
现在参考图1,示出了一示例性在线拼写纠正/短语完成系统100,其中术语“在线拼写纠正/短语完成”指的是响应于接收到来自用户的短语前缀但在用户输入完整的短语之前、提供可能错误拼写的词被纠正的短语完成。根据一示例,系统100可被包括在计算机可执行应用中。这样的应用可驻留在服务器上,诸如搜索引擎、主存在服务器上的文字处理应用或其他合适的服务器侧应用。此外,系统100可在被配置为在客户机计算设备上执行的文字处理应用中采用,其中客户机计算设备可以是但不限于,台式计算机,膝上型计算机,诸如平板计算机、移动电话等便携式计算设备等。另外,系统100可结合提供单个词的可能错误拼写的词的在线纠正/完成来使用,或者可结合提供对不完整的短语的可能错误拼写的词的在线纠正/完成来使用。另外,尽管系统100在此处将被描述为被配置为对第一语言的包括可能错误拼写的词的短语执行拼写纠正/短语完成,但应该理解,此处描述的技术可被延伸至协助用户对期望被转换成第二语言的第一语言的短语前缀进行拼写纠正/短语完成。例如,用户可能希望生成包括中文字符的短语。然而,用户可能只有包括英文字符的键盘。此处描述的技术可用于允许用户利用英文字符来键入短语前缀以近似特定的中文词或短语的发音,并且可响应于该短语前缀将中文字符的完整的短语提供给用户。本领域技术人员将容易理解其他应用。
在线拼写纠正/短语完成系统100包括从用户104接收第一字符序列的接收器组件102。例如,第一字符序列可以是由用户104提供给计算机可执行应用的词或短语的前缀的一部分。出于说明的目的,这样的计算机可执行应用在此处将被描述为搜索引擎,但应当理解,系统100可在各种不同的应用中使用。用户104提供的第一字符序列可以是可能错误拼写的词的至少一部分。此外,第一字符序列可以是包括可能错误拼写的词的短语或其部分,诸如“getting invlv”。如此处更详细地描述的,由接收器组件102接收的第一字符序列可以是单个字符、空字符或多个字符。
在线拼写纠正/短语完成系统100还包括与接收器组件102通信的搜索组件106。响应于接收器组件102从用户104接收到第一字符序列,搜索组件106可访问数据储存库108。数据储存库108包括第一数据结构110和第二数据结构112。如下文将描述的,第一数据结构110和第二数据结构112可被预先计算以允许搜索组件106有效地在这样的数据结构110和112中搜索。另选地,至少第一数据结构110可以是被实时(例如,在接收到用户提供的短语前缀中的字符时)解码的模型。
第一数据结构110可包括或被配置为输出关于多个字符序列的多个变换概率。更具体地,第一数据结构110包括第二字符序列(可以与从用户104接收的字符序列相同或不同)已经被用户104变换成第一字符序列的概率。因此,第一数据结构110可包括或输出这样的数据,该数据指示用户或通过错误(粗手指症状或打字太快)或无知(不熟悉拼写规则、不熟悉词的母语)而打算键入第二字符序列但却键入了第一字符序列的概率。下文提供了关于生成/学习第一数据结构110的附加细节。第二数据结构112可包括指示短语的概率的数据,该数据可基于提供给计算机可执行应用的观察到的短语来确定,诸如提供给搜索引擎的观察到的查询。在一示例中,指示短语的概率的数据可基于特定的短语前缀。因此,例如,第二数据结构112可包括指示用户104希望向计算机可执行应用提供词“involved”的概率的数据。根据一示例,第二数据结构112可采用前缀树或特里结构的形式。另选地,第二数据结构112可采用n元语言模型的形式。在另一示例中,第二数据结构可采用关系数据库的形式,其中短语完成的概率按短语前缀来进行索引。当然,发明人也构想了其他数据结构并且这些数据结构旨在落入所附权利要求书的范围内。
搜索组件106可对第二数据结构112执行搜索,其中第二数据结构包括词或短语完成,且其中这样的词或短语完成具有所分配的概率。例如,搜索组件106可结合对第二数据结构112中的可能的词或短语完成进行搜索时利用A*搜索或经修改的A*搜索算法。下文描述了搜索组件106可采用的示例性经修改的A*搜索算法。搜索组件106可至少部分地基于从第一数据结构110中检索的第一字符序列和第二字符序列之间的转换概率,来从第二数据结构112中的多个可能的词或短语完成中检索至少一个最有可能的词或短语完成。搜索组件106随后可向用户104至少输出该最有可能的短语完成作为建议的短语完成,其中建议的短语完成包括对可能错误拼写的词的纠正。由此,如果用户104提供的短语前缀包括可能错误拼写的词,则搜索组件106提供的最有可能的词/短语完成将包括对这种可能错误拼写的词的纠正以及包括正确拼写的词的最有可能的短语完成。
现在参考图2,示出了示例性特里结构200,搜索组件106可以结合提供带有经纠正的拼写的阈值数量的最有可能的词或短语来搜索该特里结构。特里结构200包括第一中间节点202,它表示当用户向搜索引擎输入查询时用户可能提供的第一字符。特里结构200还包括多个其他中间节点204、206、208和210,这些节点表示以由第一中间节点202所表示的字符开头的序列字符。例如,中间节点204可表示字符序列“ab”。中间节点206表示字符序列“abc”,而中间节点208表示字符序列“abcc”。类似地,中间节点210表示字符序列“ac”。
特里结构还包括多个叶节点212、214、216、218和220。叶节点212-220表示已经被观察到的或假设的查询完成。例如,叶节点212指示用户提供过查询“a”。叶节点214指示用户提供过查询“ab”。类似地,叶节点216指示用户提出过查询“abc”,而叶节点218指示用户提出过查询“abcc”。最后,叶节点220指示用户提出过查询“ac”。例如,这些查询可在搜索引擎的查询日志中观察到。叶节点212-220中的每一个可被赋予一值,该值指示由叶节点212-220表示的查询在搜索引擎的查询日志中的出现次数。另外地或另选地,赋予叶节点212-220的值可指示自特定中间节点的短语完成的概率。再一次,参考查询完成对特里结构200进行了描述,但应该理解,特里结构200可表示文字处理应用中使用的词典中的词等。节点202-210中的每一个可被赋予一值,该值指示在这一中间节点以下的最有可能的路径。例如,节点202可被赋予值20,因为叶节点212具有所赋予的分数20,而这一值高于赋予可经由中间节点202到达的其他叶节点的值。类似地,中间节点204可被赋予值15,因为216处的叶节点的值是赋予可经由中间节点204到达的叶节点的最高值。
现在参考图3,示出了便于构建结合执行在线拼写纠正/短语完成而使用的第一数据结构110的示例性系统300。在其中接收整个查询的离线拼写纠正中,期望找到具有得到可能错误拼写的输入查询q的最高概率的正确拼写的查询通过应用贝叶斯规则,这一任务可另选地被表达为下式:
在这一有噪信道模型方程式中,p(c)是将c的先验概率描述为预期的用户查询的查询语言模型。p(q |c)=p(c→q)是表示当原始用户意图是输入查询c而观察到查询q的概率的变换模型。
对于在线拼写纠正,接收查询的前缀其中这样的查询的前缀是可能错误拼写的输入查询q的一部分。由此,在线拼写纠正的目标是定位正确拼写的查询该正确拼写的查询使得到扩展给定的部分查询的任何查询q的概率最大化。更正式地,可能想要定位下式:
系统300便于学习作为上述生成性模型的估计的变换模型302。变换模型302类似于语音识别中的字形到音素转换的联合序列模型,如下列公开中所述的:M.Bisani和H.Ney在Speech Communication (语音通信),Vol.50.2008上发表的“Joint-Sequence Models for Grapheme-to-Phoneme Conversion(用于字形到音素转换的联合序列模型),其整体通过应用结合于此。
系统300包括包含训练数据306的数据储存库304。例如,训练数据306可包括以下标记数据:词对,其中词对中的第一个词是词的错误拼写而词对中的第二个词是正确拼写的词;以及词对中每一个词中的标记字符序列,其中这样的词被拆分成不重叠的字符序列,且其中词对中的词之间的字符序列彼此映射。然而,可查明获得这样的训练数据(尤其是大规模地)可能是成本高昂的。因此,在另一示例中,训练数据306可包括词对,其中词对包括错误拼写的词和对应的正确拼写的词。这一训练数据306可从搜索引擎的查询日志获取,其中用户首先提供错误拼写的词作为查询的一部分,之后通过选择由搜索引擎建议的查询来纠正该词。之后并且如下文将描述的,可对训练数据306执行期望最大化算法以学习词对之间的上述字符序列,并因此学习变换模型302。这样的期望最大化算法在图3中由期望最大化组件308表示。期望最大化组件308可包括可剪除变换模型302的剪除组件310,并且还可包括可平滑化该模型302的平滑化组件312。之后,可向变换模型302提供先前观察到的查询前缀来生成第一数据结构110。另选地,经剪除、平滑化的变换模型302本身可以是第一数据结构110,并且可操作用于实时地输出和用户提出的查询前缀中的一个或多个字符序列有关的变换概率。
更详细地,变换模型302可如下被定义:从预期的查询c到观察到的查询q的变换可被分解为子串变换单元序列,子串变换单元在此处被称为变换单元(transfeme)序列或字符序列。例如,“britney”到“britny”的变换可被分段成变换单元序列{br→br,i→i,t→t,ney→ny},其中只有最后一个变换单元ney→ny涉及纠正。给定变换单元序列该序列的概率可利用连锁规则来扩展。因为存在多种对变换进行分段的方式,一般地,变换概率p(c→q)可被建模为所有可能的分段的总和。这可被表示为下式:
其中S(c→q)是c和q的所有可能的联合分段的集合。此外,通过应用马尔可夫假设,该假设认为一个变换单元仅取决于先前的M-1个变换单元,类似于n元语言模型,则可获得下式
变换单元的长度t=ct→qt可如下定义为:
|t|=max{|ct|,|qt|} (5)
一般地,变换单元可以是任意长度。为约束所得变换模型302的复杂度,变换单元的最大长度可被限为L。有了n元逼近和字符序列长度约束,可获得具有参数M和L的变换模型302:
在M=1和L=1的特殊情况下,变换模型302退化成类似于加权编辑距离的模型。在M=1的情况下,可假定变换单元独立于彼此而生成。由于每一个变换单元可包括具有最多一个L=1的字符的子串,所以标准Levenshtein编辑操作可被建模为:插入:ε→α;删除α→ε;以及替换α→β,其中ε表示空串。然而,与许多编辑距离模型不同,变换模型302中的权重表示从数据中估计的归一化概率而不仅仅是任意的分数惩罚。由此,这样的变换模型302不仅捕捉拼写错误的底层模式,还允许用数学原理的方式来比较不同完成建议的概率。
在L=1的情况下,词序改变被惩罚两次,即使词序改变与其他编辑操作一样容易地发生。类似地,语音拼写错误,诸如ph→f,常常涉及多个字符。将这些字符序列建模为单字符编辑操作不仅过分惩罚了变换,而且还污染了模型,因为它增大了诸如p→f之类原本将具有非常低的概率的编辑操作的概率。通过增大L,变换单元的可允许长度被增加。由此,所得变换模型302能够捕捉更有意义的变换单元并减少由直观地分解原子子串变换而导致的概率感染。
代替增大L或除了增大L,可通过增加M(模型概率以其为条件的变换单元的数量)来提升对跨多个字符的错误的建模。在一示例中,字符序列“ie”常常被词序变化为“ei”(M=1)的单元模型无法表达这一错误。(M=2)的二元模型通过在i→e之后向字符序列e→i分配较高的概率来捕捉这一模式。(M=3)的三元模型可进一步标识这一模式的例外,诸如当字符“ie”或“ei”跟在字母“c”之后时,因为“cei”比“cie”更常见。
如先前所提及的,为学习拼写错误的模式,需要输入和输出词对的并行语料库。输入表示具有正确拼写的预期的词,而输出对应于输入的可能错误拼写的变换。另外,这样的数据可被预先分段成上述的变换单元,在这种情况下,变换模型302可直接利用最大似然估计算法来导出。然而,如上所述,这种标记的训练数据可能成本过于高昂而难以大规模地获得。因此,训练数据306可包括被标记的输入和输出词对,但该词对未被分段。期望最大化组件308可用于从部分观察到的数据中估计变换模型302的参数。
如果训练数据306包括观察到的训练对的集合O={Ok},其中Ok=ck→qk,训练数据306的对数似然可被写为下式:
其中Θ={p(t|t-M+1,...,t-1)}是模型参数的集合。每一个训练对ck→qk到字符序列的序列的联合分割是未观察到的变量。通过应用期望最大化算法,可定位最大化对数似然的参数集合Θ。
对于M=1和L=1,独立地生成长度最多为1的每一个变换单元,可得到以下的更新方程式:
其中#(t,s)是分割序列s中的变换单元t的计数,e(t;Θ)是变换单元t相对于变换模型Θ的期望部分计数,而Θ′是更新的模型。可使用前向-后向算法来高效地计算e(t;Θ),也被称为t的证据。
由期望最大化组件308表示的期望最大化训练算法可被延伸至更高阶的变换模型(M>1),其中每一个变换单元的概率可取决于先前M-1个变换单元。除了在累积部分计数时将变换单元历史上下文考虑在内,一般的期望最大化过程在本质上是相同的。具体地,可获得下式:
其中h是表示历史上下文的变换单元序列,而#(t,h,s)是在分割序列s中的上下文h之后的变换单元t的出现计数。尽管更为复杂,但仍然可使用前向后向算法来高效地计算在h的上下文中的t的证据e(t,h;Θ)。
随着模型参数的数量随着M增加,可使用从较低阶模型的值的收敛来初始化模型参数以获得更快的收敛。具体地,可采用以下算法:
p(t|hM;ΘM)≡p(t|hM-1;ΘM-1) (14)
其中hM是表示上下文的M-1个字符序列的序列,而hM-1是没有最老的上下文字符变换单元的hM。将训练过程延伸至L>1进一步使前向-后向计算复杂,但期望最大化算法的一般形式可保持不变。
当模型参数M和L在变换模型302中被增大时,变换模型302中的可能的参数的数量指数地增大。剪除组件310可用于剪除某些这样的可能的参数以降低变换模型302的复杂度。例如,假定字母表大小为50,M-1、L=1模型包括(50+1)2个参数,因为t=ct→qt中的每一个分量可取50个符号或ε中的任何一个。然而,M=3、L=2模型可最多包含(502+50+1)2.3≈2.8×1020个参数。尽管大部分参数未在数据中观察到,但模型剪除技术可以是有益的,以减少在训练和解码期间的总搜索空间并且减少过度拟合,因为不频繁的变换单元n元可能是噪声。
此处描述了在剪除变换模型302的参数时剪除组件310可使用的两个示例性剪除策略。在第一示例中,剪除组件310可移除具有低于阈值τe的期望部分计数的变换单元n元。另外,剪除组件310可移除具有低于阈值τp的条件概率的变换单元n元。阈值可对照留存开发集来剪除。通过过滤掉具有低置信的变换单元,变换模型302中的活动参数的数量可被大大地降低,从而加速了训练和解码变换模型302的运行时间。尽管剪除组件310被描述为利用两个上述剪除策略,但应该理解,可利用各种其他剪除技术来剪除变换模型302的参数,并且这些技术旨在落入所附权利要求书的范围内。
因为使用了任何最大似然估计技术,当模型参数的数量较大时,例如当M>1时,期望最大化组件308可能过度拟合训练数据306。n元语言建模中解决这一问题的标准技术是在计算条件概率时应用平滑化。由此,平滑化组件312可用于平滑化变换模型302,其中平滑化组件312可在执行模型平滑化时利用例如JelinekMercer(JM)、绝对折扣(AD)或某一其他合适的技术。
在JM平滑化中,字符序列的概率由阶M处的最大似然估计的线性内插来给出(使用部分计数),并且来自较低阶的分布的经平滑化的概率为:
其中α∈(0,1)是线性内插参数。可以注意到,pJM(t |hM)和pJM(t |hM-1)是来自同一模型的不同分布的概率。即,在计算M元模型时,还可计算所有较低阶的m元的部分计数和概率,其中m≤M。
AD平滑化通过对变换单元的部分计数打折来操作。被移除的概率质量随后被重新分布到较低阶的模型:
其中d是折扣并计算α(hM)以使得∑tpAD(t |hM)=1。因为部分计数e(t,hM)可任意地小,所以可能无法选择d的值从而使得e(t,hM)将总是大于d。因此,如果e(t,hM)≤d,则平滑化组件312可修整模型。对于这些剪除技术,可在留存开发集上调整参数。尽管描述了用于平滑化变换模型302的几个示例性技术,但应该理解,可采用各种其他技术来平滑化该模型302,并且发明人也构想了这些技术。
应该理解,在训练来自仅包括词纠正对的训练数据306的变换模型302时,所得的变换模型302可能会过度纠正。由此,训练数据306还可包括其中输入和输出词均被正确地拼写的词对(例如,输入和输出词是相同的)。由此,训练数据306可包括两个不同数据集的串接。包括其中输入是正确拼写的词而输出是错误拼写的词的词对的第一数据集,以及包括输入和输出都是正确拼写的词对的第二数据集。另一技术是训练来自两个不同数据集的两个分开的变换模型。换言之,第一变换模型可使用正确/错误的词对来训练,而第二变换模型可使用正确的词对来训练。可以查明,从正确拼写的词训练的模型将仅向具有相同的输入和输出的变换单元分配非零的概率,因为所有的变换对都是相同的。在一示例中,两个模型可以是线性内插的,因为最终的变换模型302如下:
p(t)=(1-λ)p(t;Θmisspelled)+λp(t;Θidentical) (17)
这一方法可被称为模型混合,其中每一个变换单元可被视为根据内插因子λ概率性地从两个分布之一中生成的。因为有其他的建模参数,所以λ可在留存开发集上调整。尽管上文描述了用于解决变换模型302过度纠正的趋势的某些示例性方法,但还构想了用于解决这一趋势的其他问题。
在训练变换模型302之后,可向该变换模型302提供用户308在搜索引擎的查询日志314中提供的查询。对于查询日志314中的各个查询,变换模型302可将这些查询分段成各变换单元并计算查询中的各变换单元到其他变换单元的变换概率。在这种情况下,变换模型302用于预先计算第一数据结构110,其可包括与各个变换单元相对应的变换概率。另选地,变换模型302本身可以是第一数据结构110。尽管变换模型302已经在上文中被描述为通过利用查询日志中的查询来学习,但应该理解,变换模型302可被训练以用于特定的应用。例如,软键盘(例如,诸如平板计算设备和便携式电话之类的触敏设备上的键盘)已变得越来越流行。然而,由于缺少可用空间,这些键盘可具有非常规的设置。这可使得出现与通常在QWERTY键盘上出现的拼写错误不同的拼写错误。因此,变换模型302可利用关于这样的软键盘的数据来训练。在另一示例中,便携式电话常常配备有用于文本输入的专用键盘,其中例如“粗手指症状”可能导致出现不同类型的拼写错误。再一次,变换模型302可基于具体的键盘布局来训练。另外,如果获得了足够的数据,则变换模型302可基于特定用户对某一键盘/应用的观察到的拼写来训练。此外,这样的经训练的变换模型302可用于当用户实际选择的输入是“模糊的”时自动地选择键。例如,用户输入可能近似于四个键的相交。可利用变换模型302输出的和该输入以及可能的变换有关的变换概率来实时地准确地估计用户的意图。
现在转到图4,示出了促进构建第二数据结构112的示例性系统400。如先前所述,第二数据结构112可以是特里结构。系统400包括含有查询日志404的数据储存库402。特里结构构建器组件406可接收查询日志404并至少部分地基于查询日志404中的查询来生成第二数据结构112。例如,对于包括正确拼写的词的查询,特里结构构建器组件406可将查询分段成各个字符。可构建表示查询日志404中的查询中的各个字符的节点,并且可在顺序排列的字符之间生成路径。如上所述,每一个中间节点可被赋予一个值,该值指示从该中间节点延伸出的最常出现的或可能的查询序列。
再次返回图1,提供了关于搜索组件106的操作的附加细节。接收器组件102可从用户104接收第一字符序列(变换单元),而搜索组件106可响应于接收到第一字符序列来访问第一数据结构110和第二数据结构112。搜索组件106可利用经修改的A*搜索算法来为短语前缀定位至少一个最有可能的词/短语完成。每一个中间搜索路径可被表示为四元组<Pos,Node,Hist,Prob>,分别对应于短语前缀中的当前位置、特里结构T中的当前节点、直到这一点的变换历史Hist以及特定搜索路径的概率Prob。搜索组件106可用的示例性搜索算法如下所示。
这一示例性算法通过维护按降序概率排名的中间搜索路径的优先级队列来起作用。如行C所示,队列可以初始路径<0,T.Root,[],1>来初始化。尽管队列上仍然存在路径,但该路径可被出队(de-queued)并审阅以查明是否仍然存在未在输入短语前缀中考虑的字符(行F)。如果是,可迭代所有的变换单元扩展,该扩展将特里结构中的当前节点开始的变换子串变换成短语前缀中考虑的子串(行G)。对于每一个字符序列扩展,可将对应的路径添加到特里结构(行L)。可将路径的概率更新为包括对试探法将来分数的调整以及给定先前的历史的变换单元的概率(行K)。
随着搜索组件106扩展搜索路径,当已经消耗了输入短语前缀中的所有字符,最终将到达一个点。搜索组件106执行的搜索中满足这一准则的第一路径表示对部分输入短语的部分纠正。此时,搜索从纠正部分输入中的可能的错误转换到延伸部分纠正以完成短语(查询)。由此,当这种情况发生时(行M),如果路径与特里结构中的叶节点相关联(行N),这指示搜索组件106已经到达了完成短语的结尾,则可将对应的短语添加到建议列表(行O)并且如果存在足够数量的建议则返回(行P)。否则,迭代从当前节点延伸的所有变换单元(行S)并将这些变换单元添加到优先级队列(行X)。因为变换分数未受对部分查询的延伸的影响,所以更新该分数以反映在试探性将来分数中的迭代(行W)。当没有进一步要扩展的搜索路径时,可返回纠正完成的当前列表(行Y)。
搜索组件106使用的试探性将来分数是如在行K和W中应用的经修改的A*算法的与特里结构中的每一个节点一起存储的概率值。因为该值表示从该路径可到达的所有短语之中最大的概率,所以它是保证算法将实际上找到顶层建议的可容许的试探值。
这种试探函数的一个问题是它不对输入短语的未变换的部分进行惩罚。因此,可以设计将变换概率的上限p(c→q)考虑在内的另一试探法。这可以正式地被写成下式:
heuristic*(π)=maxc∈πNode.Queriesp(c)
×maxc′p(c→q[π.Pos,|q|]|π.Hist;Θ) (18)
其中q[π.Pos,|q|]是q从位置π.Pos到|q|的子串。对于每一个查询,可例如使用动态编程对q的所有位置计算等式中的第二个最大化。
搜索组件106使用的A*算法还可被配置为通过用行K来替换行W中的概率来执行离线拼写纠正的准确匹配。由此,即使在找到前缀匹配之后也可对涉及附加的未匹配的字母的变换进行惩罚。
可能值得注意的是,搜索路径可在理论上增长至无穷长度,因为ε被允许表现为字符序列的源或目标。实际上,这不会发生,因为这些变换序列的概率将非常低且在搜索组件106使用的搜索算法中将不会被进一步扩展。
具有较大的L参数的变换模型极大地增大了可能的搜索路径的数量。因为在扩展每一路径时考虑具有长度低于或等于L的所有可能的字符序列,所以具有越大的L的变换模型越不高效。
因为搜索组件106被配置为在用户104向在线拼写纠正/短语完成系统100提供输入时返回可能的拼写纠正和短语完成,所以可能期望限制搜索空间以使得搜索组件106不考虑没有希望的路径。实际上,可采用束剪除方法以在不引起准确性的大量损失的情况下实现效率的极大提升。可采用的两个示例性剪除技术是绝对剪除和相对剪除,尽管还可采用其他的剪除技术。
在绝对剪除中,可限制在目标查询q中的每个位置处要探索的路径的数量。如先前所述的,由于ε个变换单元,上述搜索算法的复杂性在先前是无界的。然而,通过应用绝对剪除,算法的复杂性可以O(|q|LK)为界,其中K是在q中的每一个位置处允许的路径的数量。
在相对剪除中,搜索组件106仅探索具有比每一个位置处的最大概率高出某一百分比的概率的路径。可仔细地设计这样的阈值以在不造成准确性的大幅下降的情况下实现基本上最有的效率。此外,搜索组件106可利用绝对剪除和相对剪除两者(以及其他的剪除技术)以提升搜索效率和准确性。
另外,尽管搜索组件106可被配置为总是向用户104提供前阈值数量个拼写纠正/短语完成建议,但在某些情况下,可能不期望向用户104提供对用户104提供的每一个查询的预定义数量的建议。例如,向用户104显示较多的建议会招致成本,因为用户104将花费更多的时间来浏览这些建议而非完成她的任务。另外,显示不相关的建议可能会使用户104恼怒。因此,对每一个短语完成/建议,可作出是否应将其显示给用户104的二元判断。例如,可测量目标查询q和建议纠正c之间的距离,其中距离越大,则将所建议的纠正提供给用户104的风险也越大,这是不期望的。逼近距离的示例性方法是对建议中的字符数量求平均以计算逆变换概率的对数。这可以如下所示:
然而,这一风险函数在实际上可能并非是难以置信地有效的,因为输入查询q可能包括若干个词而其中仅有一个词是错误拼写的。就风险对查询中的所有字母求平均是不直观的。相反,查询q可被分段成各词且可在词等级上测量风险。例如,可使用以上方程分开地测量每一个词的风险,并且最终的风险函数可被定义为q中具有高于给定阈值的风险值的词的分数。如果搜索组件106确定提供所建议的纠正/完成的风险太大,则搜索组件106可能无法将这样的所建议的纠正/完成提供给用户。
现在转向图5,示出了与搜索引擎相对应的示例性图形用户界面500。图形用户界面500包括文本输入域502,其中用户可提供要被提供给搜索引擎的查询。按钮504在图形上可被示为与文本输入域502相关,其中对按钮504的按压式的输入到文本输入域502中的查询被提供给搜索引擎(由用户最终化)。查询建议域506可被包括,其中查询建议域506包括基于用户已经输入的查询前缀的所建议的查询。如图所示,用户已经输入了查询前缀“invlv”。该查询前缀可由在线拼写纠正/短语完成系统100接收,该系统可纠正可能错误拼写的短语前缀中的拼写并将最有可能的查询完成提供给用户。用户随后可使用鼠标来选择查询建议/完成之一以提供给搜索引擎。这些查询建议包括可提高搜索引擎的性能的正确拼写的词。
现在参考图6,示出了另一示例性图形用户界面600。该图形用户界面600可例如对应于文字处理应用。图形用户界面600包括可包含多个可选按钮、下拉菜单等的工具栏602,其中各个按钮或可能的选项对应于诸如字体选择、文本大小、格式化等某些文字处理任务。图形用户界面600还包括文本输入域604,用户可在那里制作文本和图像等。如可看到的,文本输入域604包括用户输入的文本。当用户打字时,可通过使用在线拼写纠正/短语完成系统100将拼写纠正呈现给用户。例如,用户将字母“concie”键入到文本输入域中。在对应于文字处理系统的示例中,可将该词/短语前缀提供给在线拼写纠正/短语完成系统100,该系统可向用户104呈现最有可能的经纠正的拼写建议。用户可使用鼠标指针来选择这样的建议,该建议可替换用户先前输入的文本。
现在参考图7和8,示出并描述了各种示例性方法。尽管各方法被描述为顺序地执行的一系列动作,但可以理解,这些方法不受该顺序的次序的限制。例如,一些动作能以与本文描述的不同的次序发生。另外,动作可以与另一动作同时发生。此外,在一些情况下,实现本文描述的方法并不需要所有动作。
此外,本文描述的动作可以是可由一个或多个处理器实现的和/或存储在一个或多个计算机可读介质上的计算机可执行指令。计算机可执行指令可包括例程、子例程、程序、执行的线程等。另外,这些方法的动作的结果可以存储在计算机可读介质中,显示在显示设备上,等等。计算机可读介质可以是非瞬时介质、诸如存储器、硬盘驱动器、CD、DVD、闪存驱动器等。
现在参考图7,示出了便于执行在线拼写纠正/短语完成的示例性方法700。方法700在702开始,并且在704,从用户接收第一字符序列。该第一字符序列可以是提供给计算机可执行应用的短语前缀的一部分。在706,从计算机可读数据储存库中的第一数据结构检索变换概率数据。例如,第一数据结构可以是被配置为接收第一字符序列(以及包括该第一字符序列的短语前缀中的其他字符序列)并输出该第一字符序列的变换概率的计算机可执行变换模型。该变换概率指示第二字符序列已经被变换为第一字符序列的概率。例如,第二字符序列可以是词的正确拼写的部分,而第一字符序列是与该词的正确拼写的部分相对应的该词的错误拼写的部分。
在708,在计算机可读数据储存库中在第二数据结构上搜索以寻找词或短语的完成。该搜索可至少部分地基于在706检索的变换概率来执行。如前所述,计算机可读数据存储中的第二数据结构可以是特里结构、n元语言模型等。
在710,在接收第一字符序列之后但在从用户接收附加的字符之前将前阈值数量的词或短语的完成提供给用户。换言之,将顶层的词或短语的完成作为在线拼写纠正/短语完成建议提供给用户。方法700在712完成。
现在参考图8,示出了便于执行在线拼写纠正/完成的另一示例性方法800。方法800在802开始,并且在804,从用户接收查询前缀,其中查询前缀包括第一字符序列。
在806,响应于接收到查询前缀,从第一数据结构检索变换概率数据,其中变换概率数据指示第一字符序列是正确拼写的第二字符序列的变换的概率。在808,在检索到变换概率数据之后,至少部分地基于该变换概率数据对特里结构执行A*搜索算法。如上所讨论的,特里结构包括多个节点和路径,其中特里结构中的叶节点表示可能的查询完成,而中间节点表示作为查询完成的各部分的字符序列。特里结构中的每一个中间节点被赋予一值,该值指示,给定到达被赋予该值的中间节点的查询序列时的最有可能的查询完成。
在810,至少部分地基于A*搜索来输出查询建议/完成。该查询建议/完成可包括用户提供的查询中错误拼写的词或部分错误拼写的词的拼写纠正。方法800在812完成。
现在参考图9,示出了可以根据本文公开的系统和方法使用的示例性计算设备900的高级图示。例如,计算设备900可在支持在线拼写纠正/短语完成的执行的系统中使用。在另一示例中,计算设备900的至少一部分可以在支持构建上述数据结构的系统中使用。计算设备900包括执行存储在存储器904中的指令的至少一个处理器902。存储器904可以是或可以包括RAM、ROM、EEPROM、闪存、或其他合适的存储器。这些指令可以是例如用于实现被描述为由上述一个或多个组件执行的功能的指令或用于实现上述方法中的一个或多个的指令。处理器902可以通过系统总线906访问存储器904。除了存储可执行指令,存储器904还可存储特里结构、n元语言模型、变换模型等。
计算设备900还包括可由处理器902通过系统总线906访问的数据存储908。数据存储可以是或可以包括任何合适的计算机可读存储,包括硬盘、存储器等。数据存储908可包括可执行指令、特里结构、变换模型等。计算设备900还包括允许外部设备与计算设备900进行通信的输入接口910。例如,可以使用输入接口910来从外部计算机设备、用户等接收指令。计算设备900还包括将计算设备900与一个或多个外部设备进行接口的输出接口912。例如,计算设备900可以通过输出接口912显示文本、图像等。
另外,尽管被示为单个系统,但可以理解,计算设备900可以是分布式系统。因此,例如,若干设备可以通过网络连接进行通信并且可共同执行被描述为由计算设备900执行的任务。
如此处所使用的,术语“组件”和“系统”旨在涵盖硬件、软件、或硬件和软件的组合。因此,例如,系统或组件可以是进程、在处理器上执行的进程、或处理器。另外,组件或系统可以位于单个设备上或分布在若干设备之间。此外,组件或系统可指存储器的一部分和/或一系列晶体管。
注意,出于解释目的提供了若干示例。这些示例不应被解释为限制所附权利要求书。另外,可以认识到,本文提供的示例可被改变而仍然落入权利要求的范围内。
Claims (10)
1.一种便于执行在线拼写纠正的计算机可执行的方法,所述方法包括:
从用户接收第一字符序列,其中所述第一字符序列是短语的可能错误拼写的部分;
响应于接收到所述第一字符序列,从计算机可读数据储存库中的第一数据结构检索变换概率数据,其中所述变换概率数据指示第二字符序列被变换成所述第一字符序列的概率,其中所述第二字符序列是所述短语的正确拼写的部分;
在检索到所述变换概率数据之后,在所述计算机可读数据储存库中的第二数据结构上搜索以至少部分地基于所述变换概率数据来寻找所述短语的完成;以及
在接收到所述第一字符序列之后但在从用户接收附加的字符之前将所述短语的至少一个完成提供给用户。
2.如权利要求1所述的方法,其特征在于,所述第二数据结构包括n元语言模型。
3.如权利要求1所述的方法,其特征在于,所述第二数据结构包括将短语映射到概率的特里结构。
4.如权利要求3所述的方法,其特征在于,所述特里结构包括多个节点和多条路径,其中每一个节点表示字符序列而两个节点之间的路径延伸所述字符序列,且其中所述特里结构中的每一个节点具有包括与其相关地存储的相应字符序列的可能的词或短语之中的最大概率。
5.如权利要求4所述的方法,其特征在于,所述搜索是跨所述特里结构中的多条路径进行的,以结合对应于所述第一字符序列的变换概率来定位阈值数量的最有可能的词或短语。
6.如权利要求5所述的方法,其特征在于,还包括利用束剪除来限制在搜索动作期间对其进行搜索的路径的数量。
7.如权利要求1所述的方法,其特征在于,被配置为供搜索引擎执行,其中所述第一字符序列是查询的一部分。
8.一种包括可由处理器执行的多个组件的系统,所述组件包括:
从用户接收字符序列的接收器组件,其中用户期望所述字符序列成为特定的词的一部分;
搜索组件,用于:
访问数据储存库中的第一数据结构,其中所述第一数据结构包括转换概率,所述转换概率指示第二字符序列是所述第一字符序列的转换的概率;
在第二数据结构中搜索多个可能的词或短语完成,其中所述可能的词或短语完成具有所分配的概率;
至少部分地基于所述转换概率来从所述多个可能的词或短语完成中至少检索一个最有可能的词或短语完成,其中所述最有可能的词或短语完成包括所述特定的词;以及
将所述最有可能的词或短语完成作为建议的词或短语纠正/完成输出给用户。
9.如权利要求8所述的系统,其特征在于,还包括搜索引擎。
10.如权利要求8所述的系统,其特征在于,所述第二数据结构是包括多个节点和节点之间的多条路径的特里结构,所述节点表示字符序列而所述路径表示所述字符序列的延续,且其中所述特里结构中的叶节点表示可能的词或短语完成。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/069,526 | 2011-03-23 | ||
US13/069,526 US20120246133A1 (en) | 2011-03-23 | 2011-03-23 | Online spelling correction/phrase completion system |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102722478A true CN102722478A (zh) | 2012-10-10 |
Family
ID=46878179
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2012100813845A Pending CN102722478A (zh) | 2011-03-23 | 2012-03-23 | 在线拼写纠正/短语完成系统 |
Country Status (2)
Country | Link |
---|---|
US (2) | US20120246133A1 (zh) |
CN (1) | CN102722478A (zh) |
Cited By (66)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105702248A (zh) * | 2014-12-09 | 2016-06-22 | 苹果公司 | 在话音合成中消除同形异音词的歧义 |
CN109145300A (zh) * | 2018-08-17 | 2019-01-04 | 武汉斗鱼网络科技有限公司 | 一种搜索文本的纠正方法、装置及终端 |
CN109376362A (zh) * | 2018-11-30 | 2019-02-22 | 武汉斗鱼网络科技有限公司 | 一种纠错文本的确定方法以及相关设备 |
US10720160B2 (en) | 2018-06-01 | 2020-07-21 | Apple Inc. | Voice interaction at a primary device to access call functionality of a companion device |
US10741181B2 (en) | 2017-05-09 | 2020-08-11 | Apple Inc. | User interface for correcting recognition errors |
US10878809B2 (en) | 2014-05-30 | 2020-12-29 | Apple Inc. | Multi-command single utterance input method |
US10930282B2 (en) | 2015-03-08 | 2021-02-23 | Apple Inc. | Competing devices responding to voice triggers |
US10978090B2 (en) | 2013-02-07 | 2021-04-13 | Apple Inc. | Voice trigger for a digital assistant |
US11009970B2 (en) | 2018-06-01 | 2021-05-18 | Apple Inc. | Attention aware virtual assistant dismissal |
US11037565B2 (en) | 2016-06-10 | 2021-06-15 | Apple Inc. | Intelligent digital assistant in a multi-tasking environment |
US11070949B2 (en) | 2015-05-27 | 2021-07-20 | Apple Inc. | Systems and methods for proactively identifying and surfacing relevant content on an electronic device with a touch-sensitive display |
US11087759B2 (en) | 2015-03-08 | 2021-08-10 | Apple Inc. | Virtual assistant activation |
US11120372B2 (en) | 2011-06-03 | 2021-09-14 | Apple Inc. | Performing actions associated with task items that represent tasks to perform |
US11126400B2 (en) | 2015-09-08 | 2021-09-21 | Apple Inc. | Zero latency digital assistant |
US11133008B2 (en) | 2014-05-30 | 2021-09-28 | Apple Inc. | Reducing the need for manual start/end-pointing and trigger phrases |
US11140099B2 (en) | 2019-05-21 | 2021-10-05 | Apple Inc. | Providing message response suggestions |
US11152002B2 (en) | 2016-06-11 | 2021-10-19 | Apple Inc. | Application integration with a digital assistant |
US11169616B2 (en) | 2018-05-07 | 2021-11-09 | Apple Inc. | Raise to speak |
US11217251B2 (en) | 2019-05-06 | 2022-01-04 | Apple Inc. | Spoken notifications |
US11237797B2 (en) | 2019-05-31 | 2022-02-01 | Apple Inc. | User activity shortcut suggestions |
US11257504B2 (en) | 2014-05-30 | 2022-02-22 | Apple Inc. | Intelligent assistant for home automation |
US11269678B2 (en) | 2012-05-15 | 2022-03-08 | Apple Inc. | Systems and methods for integrating third party services with a digital assistant |
US11289073B2 (en) | 2019-05-31 | 2022-03-29 | Apple Inc. | Device text to speech |
US11307752B2 (en) | 2019-05-06 | 2022-04-19 | Apple Inc. | User configurable task triggers |
US11348573B2 (en) | 2019-03-18 | 2022-05-31 | Apple Inc. | Multimodality in digital assistant systems |
US11348582B2 (en) | 2008-10-02 | 2022-05-31 | Apple Inc. | Electronic devices with voice command and contextual data processing capabilities |
US11360641B2 (en) | 2019-06-01 | 2022-06-14 | Apple Inc. | Increasing the relevance of new available information |
US11380310B2 (en) | 2017-05-12 | 2022-07-05 | Apple Inc. | Low-latency intelligent automated assistant |
US11388291B2 (en) | 2013-03-14 | 2022-07-12 | Apple Inc. | System and method for processing voicemail |
US11405466B2 (en) | 2017-05-12 | 2022-08-02 | Apple Inc. | Synchronization and task delegation of a digital assistant |
US11423886B2 (en) | 2010-01-18 | 2022-08-23 | Apple Inc. | Task flow identification based on user intent |
US11423908B2 (en) | 2019-05-06 | 2022-08-23 | Apple Inc. | Interpreting spoken requests |
US11431642B2 (en) | 2018-06-01 | 2022-08-30 | Apple Inc. | Variable latency device coordination |
US11468282B2 (en) | 2015-05-15 | 2022-10-11 | Apple Inc. | Virtual assistant in a communication session |
US11467802B2 (en) | 2017-05-11 | 2022-10-11 | Apple Inc. | Maintaining privacy of personal information |
US11475884B2 (en) | 2019-05-06 | 2022-10-18 | Apple Inc. | Reducing digital assistant latency when a language is incorrectly determined |
US11475898B2 (en) | 2018-10-26 | 2022-10-18 | Apple Inc. | Low-latency multi-speaker speech recognition |
US11488406B2 (en) | 2019-09-25 | 2022-11-01 | Apple Inc. | Text detection using global geometry estimators |
US11496600B2 (en) | 2019-05-31 | 2022-11-08 | Apple Inc. | Remote execution of machine-learned models |
US11500672B2 (en) | 2015-09-08 | 2022-11-15 | Apple Inc. | Distributed personal assistant |
US11516537B2 (en) | 2014-06-30 | 2022-11-29 | Apple Inc. | Intelligent automated assistant for TV user interactions |
US11526368B2 (en) | 2015-11-06 | 2022-12-13 | Apple Inc. | Intelligent automated assistant in a messaging environment |
US11532306B2 (en) | 2017-05-16 | 2022-12-20 | Apple Inc. | Detecting a trigger of a digital assistant |
US11580990B2 (en) | 2017-05-12 | 2023-02-14 | Apple Inc. | User-specific acoustic models |
US11599331B2 (en) | 2017-05-11 | 2023-03-07 | Apple Inc. | Maintaining privacy of personal information |
US11657813B2 (en) | 2019-05-31 | 2023-05-23 | Apple Inc. | Voice identification in digital assistant systems |
US11656884B2 (en) | 2017-01-09 | 2023-05-23 | Apple Inc. | Application integration with a digital assistant |
US11671920B2 (en) | 2007-04-03 | 2023-06-06 | Apple Inc. | Method and system for operating a multifunction portable electronic device using voice-activation |
US11675829B2 (en) | 2017-05-16 | 2023-06-13 | Apple Inc. | Intelligent automated assistant for media exploration |
US11696060B2 (en) | 2020-07-21 | 2023-07-04 | Apple Inc. | User identification using headphones |
US11710482B2 (en) | 2018-03-26 | 2023-07-25 | Apple Inc. | Natural assistant interaction |
US11727219B2 (en) | 2013-06-09 | 2023-08-15 | Apple Inc. | System and method for inferring user intent from speech inputs |
US11755276B2 (en) | 2020-05-12 | 2023-09-12 | Apple Inc. | Reducing description length based on confidence |
US11765209B2 (en) | 2020-05-11 | 2023-09-19 | Apple Inc. | Digital assistant hardware abstraction |
US11790914B2 (en) | 2019-06-01 | 2023-10-17 | Apple Inc. | Methods and user interfaces for voice-based control of electronic devices |
US11798547B2 (en) | 2013-03-15 | 2023-10-24 | Apple Inc. | Voice activated device for use with a voice-based digital assistant |
US11809483B2 (en) | 2015-09-08 | 2023-11-07 | Apple Inc. | Intelligent automated assistant for media search and playback |
US11809783B2 (en) | 2016-06-11 | 2023-11-07 | Apple Inc. | Intelligent device arbitration and control |
US11838734B2 (en) | 2020-07-20 | 2023-12-05 | Apple Inc. | Multi-device audio adjustment coordination |
US11853647B2 (en) | 2015-12-23 | 2023-12-26 | Apple Inc. | Proactive assistance based on dialog communication between devices |
US11853536B2 (en) | 2015-09-08 | 2023-12-26 | Apple Inc. | Intelligent automated assistant in a media environment |
US11854539B2 (en) | 2018-05-07 | 2023-12-26 | Apple Inc. | Intelligent automated assistant for delivering content from user experiences |
US11886805B2 (en) | 2015-11-09 | 2024-01-30 | Apple Inc. | Unconventional virtual assistant interactions |
US11893992B2 (en) | 2018-09-28 | 2024-02-06 | Apple Inc. | Multi-modal inputs for voice commands |
US11914848B2 (en) | 2020-05-11 | 2024-02-27 | Apple Inc. | Providing relevant data items based on context |
US11947873B2 (en) | 2015-06-29 | 2024-04-02 | Apple Inc. | Virtual assistant for media playback |
Families Citing this family (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9298693B2 (en) * | 2011-12-16 | 2016-03-29 | Microsoft Technology Licensing, Llc | Rule-based generation of candidate string transformations |
US9135912B1 (en) * | 2012-08-15 | 2015-09-15 | Google Inc. | Updating phonetic dictionaries |
US8713433B1 (en) * | 2012-10-16 | 2014-04-29 | Google Inc. | Feature-based autocorrection |
US9489372B2 (en) * | 2013-03-15 | 2016-11-08 | Apple Inc. | Web-based spell checker |
KR101294558B1 (ko) * | 2013-04-15 | 2013-08-07 | 김민철 | 오타 수정 방법 |
KR101381101B1 (ko) | 2013-11-13 | 2014-04-02 | 주식회사 큐키 | 문자열 사이의 연관성 판단을 통한 오타 수정 방법 |
IL230993A (en) * | 2014-02-16 | 2017-01-31 | Google Inc | Spelling variant detection by imagining pairs of sequences |
US9477782B2 (en) | 2014-03-21 | 2016-10-25 | Microsoft Corporation | User interface mechanisms for query refinement |
US9916357B2 (en) | 2014-06-27 | 2018-03-13 | Microsoft Technology Licensing, Llc | Rule-based joining of foreign to primary key |
US9977812B2 (en) | 2015-01-30 | 2018-05-22 | Microsoft Technology Licensing, Llc | Trie-structure formulation and navigation for joining |
US9892143B2 (en) | 2015-02-04 | 2018-02-13 | Microsoft Technology Licensing, Llc | Association index linking child and parent tables |
US10049099B2 (en) * | 2015-04-10 | 2018-08-14 | Facebook, Inc. | Spell correction with hidden markov models on online social networks |
US20160314130A1 (en) * | 2015-04-24 | 2016-10-27 | Tribune Broadcasting Company, Llc | Computing device with spell-check feature |
US11138246B1 (en) * | 2016-06-27 | 2021-10-05 | Amazon Technologies, Inc. | Probabilistic indexing of textual data |
US20180101599A1 (en) * | 2016-10-08 | 2018-04-12 | Microsoft Technology Licensing, Llc | Interactive context-based text completions |
KR20180055189A (ko) | 2016-11-16 | 2018-05-25 | 삼성전자주식회사 | 자연어 처리 방법 및 장치와 자연어 처리 모델을 학습하는 방법 및 장치 |
GB201619724D0 (en) * | 2016-11-22 | 2017-01-04 | Microsoft Technology Licensing Llc | Trained data input system |
US10839153B2 (en) * | 2017-05-24 | 2020-11-17 | Microsoft Technology Licensing, Llc | Unconscious bias detection |
US11017167B1 (en) * | 2018-06-29 | 2021-05-25 | Intuit Inc. | Misspelling correction based on deep learning architecture |
US10936813B1 (en) * | 2019-05-31 | 2021-03-02 | Amazon Technologies, Inc. | Context-aware spell checker |
CN111913573B (zh) * | 2020-07-10 | 2022-03-22 | 山东大学 | 用于英语单词辅助学习的人机交互方法及系统 |
US20220172039A1 (en) * | 2020-11-30 | 2022-06-02 | Microsoft Technology Licensing, Llc | Machine learning techniques to predict document type for incomplete queries |
US11816422B1 (en) | 2022-08-12 | 2023-11-14 | Capital One Services, Llc | System for suggesting words, phrases, or entities to complete sequences in risk control documents |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5572423A (en) * | 1990-06-14 | 1996-11-05 | Lucent Technologies Inc. | Method for correcting spelling using error frequencies |
CN1670723A (zh) * | 2004-03-16 | 2005-09-21 | 微软公司 | 改进的拼写检查系统和方法 |
US20060190436A1 (en) * | 2005-02-23 | 2006-08-24 | Microsoft Corporation | Dynamic client interaction for search |
CN101206641A (zh) * | 2006-12-21 | 2008-06-25 | 国际商业机器公司 | 用于自适应拼写检查的系统和方法 |
CN101369285A (zh) * | 2008-10-17 | 2009-02-18 | 清华大学 | 一种中文搜索引擎中查询词的拼写校正方法 |
CN101395604A (zh) * | 2005-12-30 | 2009-03-25 | 谷歌公司 | 用于网页浏览器的动态搜索框 |
US8051374B1 (en) * | 2002-04-09 | 2011-11-01 | Google Inc. | Method of spell-checking search queries |
US20120029910A1 (en) * | 2009-03-30 | 2012-02-02 | Touchtype Ltd | System and Method for Inputting Text into Electronic Devices |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH01214964A (ja) * | 1988-02-23 | 1989-08-29 | Sharp Corp | コレクト機能付欧文作成装置 |
US5571423A (en) * | 1994-10-14 | 1996-11-05 | Foster Wheeler Development Corporation | Process and apparatus for supercritical water oxidation |
US6377965B1 (en) * | 1997-11-07 | 2002-04-23 | Microsoft Corporation | Automatic word completion system for partially entered data |
US6144958A (en) * | 1998-07-15 | 2000-11-07 | Amazon.Com, Inc. | System and method for correcting spelling errors in search queries |
US6618697B1 (en) * | 1999-05-14 | 2003-09-09 | Justsystem Corporation | Method for rule-based correction of spelling and grammar errors |
US6564213B1 (en) * | 2000-04-18 | 2003-05-13 | Amazon.Com, Inc. | Search query autocompletion |
US20040030540A1 (en) * | 2002-08-07 | 2004-02-12 | Joel Ovil | Method and apparatus for language processing |
US7870147B2 (en) * | 2005-03-29 | 2011-01-11 | Google Inc. | Query revision using known highly-ranked queries |
US7584093B2 (en) * | 2005-04-25 | 2009-09-01 | Microsoft Corporation | Method and system for generating spelling suggestions |
US7558725B2 (en) * | 2006-05-23 | 2009-07-07 | Lexisnexis, A Division Of Reed Elsevier Inc. | Method and apparatus for multilingual spelling corrections |
US20090216563A1 (en) * | 2008-02-25 | 2009-08-27 | Michael Sandoval | Electronic profile development, storage, use and systems for taking action based thereon |
US20090254818A1 (en) * | 2008-04-03 | 2009-10-08 | International Business Machines Corporation | Method, system and user interface for providing inline spelling assistance |
KR101491581B1 (ko) * | 2008-04-07 | 2015-02-24 | 삼성전자주식회사 | 철자 오류 보정 시스템 및 방법 |
-
2011
- 2011-03-23 US US13/069,526 patent/US20120246133A1/en not_active Abandoned
-
2012
- 2012-03-23 CN CN2012100813845A patent/CN102722478A/zh active Pending
-
2018
- 2018-11-20 US US16/197,277 patent/US20190087403A1/en active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5572423A (en) * | 1990-06-14 | 1996-11-05 | Lucent Technologies Inc. | Method for correcting spelling using error frequencies |
US8051374B1 (en) * | 2002-04-09 | 2011-11-01 | Google Inc. | Method of spell-checking search queries |
CN1670723A (zh) * | 2004-03-16 | 2005-09-21 | 微软公司 | 改进的拼写检查系统和方法 |
US20060190436A1 (en) * | 2005-02-23 | 2006-08-24 | Microsoft Corporation | Dynamic client interaction for search |
CN101395604A (zh) * | 2005-12-30 | 2009-03-25 | 谷歌公司 | 用于网页浏览器的动态搜索框 |
CN101206641A (zh) * | 2006-12-21 | 2008-06-25 | 国际商业机器公司 | 用于自适应拼写检查的系统和方法 |
CN101369285A (zh) * | 2008-10-17 | 2009-02-18 | 清华大学 | 一种中文搜索引擎中查询词的拼写校正方法 |
US20120029910A1 (en) * | 2009-03-30 | 2012-02-02 | Touchtype Ltd | System and Method for Inputting Text into Electronic Devices |
Cited By (98)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11671920B2 (en) | 2007-04-03 | 2023-06-06 | Apple Inc. | Method and system for operating a multifunction portable electronic device using voice-activation |
US11348582B2 (en) | 2008-10-02 | 2022-05-31 | Apple Inc. | Electronic devices with voice command and contextual data processing capabilities |
US11900936B2 (en) | 2008-10-02 | 2024-02-13 | Apple Inc. | Electronic devices with voice command and contextual data processing capabilities |
US11423886B2 (en) | 2010-01-18 | 2022-08-23 | Apple Inc. | Task flow identification based on user intent |
US11120372B2 (en) | 2011-06-03 | 2021-09-14 | Apple Inc. | Performing actions associated with task items that represent tasks to perform |
US11321116B2 (en) | 2012-05-15 | 2022-05-03 | Apple Inc. | Systems and methods for integrating third party services with a digital assistant |
US11269678B2 (en) | 2012-05-15 | 2022-03-08 | Apple Inc. | Systems and methods for integrating third party services with a digital assistant |
US11636869B2 (en) | 2013-02-07 | 2023-04-25 | Apple Inc. | Voice trigger for a digital assistant |
US11557310B2 (en) | 2013-02-07 | 2023-01-17 | Apple Inc. | Voice trigger for a digital assistant |
US11862186B2 (en) | 2013-02-07 | 2024-01-02 | Apple Inc. | Voice trigger for a digital assistant |
US10978090B2 (en) | 2013-02-07 | 2021-04-13 | Apple Inc. | Voice trigger for a digital assistant |
US11388291B2 (en) | 2013-03-14 | 2022-07-12 | Apple Inc. | System and method for processing voicemail |
US11798547B2 (en) | 2013-03-15 | 2023-10-24 | Apple Inc. | Voice activated device for use with a voice-based digital assistant |
US11727219B2 (en) | 2013-06-09 | 2023-08-15 | Apple Inc. | System and method for inferring user intent from speech inputs |
US11810562B2 (en) | 2014-05-30 | 2023-11-07 | Apple Inc. | Reducing the need for manual start/end-pointing and trigger phrases |
US11133008B2 (en) | 2014-05-30 | 2021-09-28 | Apple Inc. | Reducing the need for manual start/end-pointing and trigger phrases |
US10878809B2 (en) | 2014-05-30 | 2020-12-29 | Apple Inc. | Multi-command single utterance input method |
US11670289B2 (en) | 2014-05-30 | 2023-06-06 | Apple Inc. | Multi-command single utterance input method |
US11257504B2 (en) | 2014-05-30 | 2022-02-22 | Apple Inc. | Intelligent assistant for home automation |
US11699448B2 (en) | 2014-05-30 | 2023-07-11 | Apple Inc. | Intelligent assistant for home automation |
US11838579B2 (en) | 2014-06-30 | 2023-12-05 | Apple Inc. | Intelligent automated assistant for TV user interactions |
US11516537B2 (en) | 2014-06-30 | 2022-11-29 | Apple Inc. | Intelligent automated assistant for TV user interactions |
CN105702248B (zh) * | 2014-12-09 | 2019-11-19 | 苹果公司 | 用于操作智能自动化助理的电子设备和方法、存储介质 |
CN105702248A (zh) * | 2014-12-09 | 2016-06-22 | 苹果公司 | 在话音合成中消除同形异音词的歧义 |
US11087759B2 (en) | 2015-03-08 | 2021-08-10 | Apple Inc. | Virtual assistant activation |
US11842734B2 (en) | 2015-03-08 | 2023-12-12 | Apple Inc. | Virtual assistant activation |
US10930282B2 (en) | 2015-03-08 | 2021-02-23 | Apple Inc. | Competing devices responding to voice triggers |
US11468282B2 (en) | 2015-05-15 | 2022-10-11 | Apple Inc. | Virtual assistant in a communication session |
US11070949B2 (en) | 2015-05-27 | 2021-07-20 | Apple Inc. | Systems and methods for proactively identifying and surfacing relevant content on an electronic device with a touch-sensitive display |
US11947873B2 (en) | 2015-06-29 | 2024-04-02 | Apple Inc. | Virtual assistant for media playback |
US11853536B2 (en) | 2015-09-08 | 2023-12-26 | Apple Inc. | Intelligent automated assistant in a media environment |
US11500672B2 (en) | 2015-09-08 | 2022-11-15 | Apple Inc. | Distributed personal assistant |
US11954405B2 (en) | 2015-09-08 | 2024-04-09 | Apple Inc. | Zero latency digital assistant |
US11550542B2 (en) | 2015-09-08 | 2023-01-10 | Apple Inc. | Zero latency digital assistant |
US11126400B2 (en) | 2015-09-08 | 2021-09-21 | Apple Inc. | Zero latency digital assistant |
US11809483B2 (en) | 2015-09-08 | 2023-11-07 | Apple Inc. | Intelligent automated assistant for media search and playback |
US11526368B2 (en) | 2015-11-06 | 2022-12-13 | Apple Inc. | Intelligent automated assistant in a messaging environment |
US11809886B2 (en) | 2015-11-06 | 2023-11-07 | Apple Inc. | Intelligent automated assistant in a messaging environment |
US11886805B2 (en) | 2015-11-09 | 2024-01-30 | Apple Inc. | Unconventional virtual assistant interactions |
US11853647B2 (en) | 2015-12-23 | 2023-12-26 | Apple Inc. | Proactive assistance based on dialog communication between devices |
US11657820B2 (en) | 2016-06-10 | 2023-05-23 | Apple Inc. | Intelligent digital assistant in a multi-tasking environment |
US11037565B2 (en) | 2016-06-10 | 2021-06-15 | Apple Inc. | Intelligent digital assistant in a multi-tasking environment |
US11152002B2 (en) | 2016-06-11 | 2021-10-19 | Apple Inc. | Application integration with a digital assistant |
US11809783B2 (en) | 2016-06-11 | 2023-11-07 | Apple Inc. | Intelligent device arbitration and control |
US11749275B2 (en) | 2016-06-11 | 2023-09-05 | Apple Inc. | Application integration with a digital assistant |
US11656884B2 (en) | 2017-01-09 | 2023-05-23 | Apple Inc. | Application integration with a digital assistant |
US10741181B2 (en) | 2017-05-09 | 2020-08-11 | Apple Inc. | User interface for correcting recognition errors |
US11599331B2 (en) | 2017-05-11 | 2023-03-07 | Apple Inc. | Maintaining privacy of personal information |
US11467802B2 (en) | 2017-05-11 | 2022-10-11 | Apple Inc. | Maintaining privacy of personal information |
US11405466B2 (en) | 2017-05-12 | 2022-08-02 | Apple Inc. | Synchronization and task delegation of a digital assistant |
US11538469B2 (en) | 2017-05-12 | 2022-12-27 | Apple Inc. | Low-latency intelligent automated assistant |
US11380310B2 (en) | 2017-05-12 | 2022-07-05 | Apple Inc. | Low-latency intelligent automated assistant |
US11580990B2 (en) | 2017-05-12 | 2023-02-14 | Apple Inc. | User-specific acoustic models |
US11862151B2 (en) | 2017-05-12 | 2024-01-02 | Apple Inc. | Low-latency intelligent automated assistant |
US11675829B2 (en) | 2017-05-16 | 2023-06-13 | Apple Inc. | Intelligent automated assistant for media exploration |
US11532306B2 (en) | 2017-05-16 | 2022-12-20 | Apple Inc. | Detecting a trigger of a digital assistant |
US11710482B2 (en) | 2018-03-26 | 2023-07-25 | Apple Inc. | Natural assistant interaction |
US11907436B2 (en) | 2018-05-07 | 2024-02-20 | Apple Inc. | Raise to speak |
US11900923B2 (en) | 2018-05-07 | 2024-02-13 | Apple Inc. | Intelligent automated assistant for delivering content from user experiences |
US11487364B2 (en) | 2018-05-07 | 2022-11-01 | Apple Inc. | Raise to speak |
US11854539B2 (en) | 2018-05-07 | 2023-12-26 | Apple Inc. | Intelligent automated assistant for delivering content from user experiences |
US11169616B2 (en) | 2018-05-07 | 2021-11-09 | Apple Inc. | Raise to speak |
US10720160B2 (en) | 2018-06-01 | 2020-07-21 | Apple Inc. | Voice interaction at a primary device to access call functionality of a companion device |
US11009970B2 (en) | 2018-06-01 | 2021-05-18 | Apple Inc. | Attention aware virtual assistant dismissal |
US10984798B2 (en) | 2018-06-01 | 2021-04-20 | Apple Inc. | Voice interaction at a primary device to access call functionality of a companion device |
US11431642B2 (en) | 2018-06-01 | 2022-08-30 | Apple Inc. | Variable latency device coordination |
US11360577B2 (en) | 2018-06-01 | 2022-06-14 | Apple Inc. | Attention aware virtual assistant dismissal |
US11630525B2 (en) | 2018-06-01 | 2023-04-18 | Apple Inc. | Attention aware virtual assistant dismissal |
CN109145300B (zh) * | 2018-08-17 | 2022-08-16 | 武汉斗鱼网络科技有限公司 | 一种搜索文本的纠正方法、装置及终端 |
CN109145300A (zh) * | 2018-08-17 | 2019-01-04 | 武汉斗鱼网络科技有限公司 | 一种搜索文本的纠正方法、装置及终端 |
US11893992B2 (en) | 2018-09-28 | 2024-02-06 | Apple Inc. | Multi-modal inputs for voice commands |
US11475898B2 (en) | 2018-10-26 | 2022-10-18 | Apple Inc. | Low-latency multi-speaker speech recognition |
CN109376362A (zh) * | 2018-11-30 | 2019-02-22 | 武汉斗鱼网络科技有限公司 | 一种纠错文本的确定方法以及相关设备 |
US11348573B2 (en) | 2019-03-18 | 2022-05-31 | Apple Inc. | Multimodality in digital assistant systems |
US11783815B2 (en) | 2019-03-18 | 2023-10-10 | Apple Inc. | Multimodality in digital assistant systems |
US11307752B2 (en) | 2019-05-06 | 2022-04-19 | Apple Inc. | User configurable task triggers |
US11675491B2 (en) | 2019-05-06 | 2023-06-13 | Apple Inc. | User configurable task triggers |
US11217251B2 (en) | 2019-05-06 | 2022-01-04 | Apple Inc. | Spoken notifications |
US11423908B2 (en) | 2019-05-06 | 2022-08-23 | Apple Inc. | Interpreting spoken requests |
US11705130B2 (en) | 2019-05-06 | 2023-07-18 | Apple Inc. | Spoken notifications |
US11475884B2 (en) | 2019-05-06 | 2022-10-18 | Apple Inc. | Reducing digital assistant latency when a language is incorrectly determined |
US11140099B2 (en) | 2019-05-21 | 2021-10-05 | Apple Inc. | Providing message response suggestions |
US11888791B2 (en) | 2019-05-21 | 2024-01-30 | Apple Inc. | Providing message response suggestions |
US11496600B2 (en) | 2019-05-31 | 2022-11-08 | Apple Inc. | Remote execution of machine-learned models |
US11657813B2 (en) | 2019-05-31 | 2023-05-23 | Apple Inc. | Voice identification in digital assistant systems |
US11360739B2 (en) | 2019-05-31 | 2022-06-14 | Apple Inc. | User activity shortcut suggestions |
US11289073B2 (en) | 2019-05-31 | 2022-03-29 | Apple Inc. | Device text to speech |
US11237797B2 (en) | 2019-05-31 | 2022-02-01 | Apple Inc. | User activity shortcut suggestions |
US11790914B2 (en) | 2019-06-01 | 2023-10-17 | Apple Inc. | Methods and user interfaces for voice-based control of electronic devices |
US11360641B2 (en) | 2019-06-01 | 2022-06-14 | Apple Inc. | Increasing the relevance of new available information |
US11488406B2 (en) | 2019-09-25 | 2022-11-01 | Apple Inc. | Text detection using global geometry estimators |
US11914848B2 (en) | 2020-05-11 | 2024-02-27 | Apple Inc. | Providing relevant data items based on context |
US11924254B2 (en) | 2020-05-11 | 2024-03-05 | Apple Inc. | Digital assistant hardware abstraction |
US11765209B2 (en) | 2020-05-11 | 2023-09-19 | Apple Inc. | Digital assistant hardware abstraction |
US11755276B2 (en) | 2020-05-12 | 2023-09-12 | Apple Inc. | Reducing description length based on confidence |
US11838734B2 (en) | 2020-07-20 | 2023-12-05 | Apple Inc. | Multi-device audio adjustment coordination |
US11696060B2 (en) | 2020-07-21 | 2023-07-04 | Apple Inc. | User identification using headphones |
US11750962B2 (en) | 2020-07-21 | 2023-09-05 | Apple Inc. | User identification using headphones |
Also Published As
Publication number | Publication date |
---|---|
US20120246133A1 (en) | 2012-09-27 |
US20190087403A1 (en) | 2019-03-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102722478A (zh) | 在线拼写纠正/短语完成系统 | |
US11416679B2 (en) | System and method for inputting text into electronic devices | |
US20210132792A1 (en) | System and method for inputting text into electronic devices | |
US9424246B2 (en) | System and method for inputting text into electronic devices | |
KR102036394B1 (ko) | 컨텍스트 기반 검색 쿼리 형성 기법 | |
US9189472B2 (en) | System and method for inputting text into small screen devices | |
EP2024880B1 (en) | Demographic based classification for local word wheeling/web search | |
US9052748B2 (en) | System and method for inputting text into electronic devices | |
US8538898B2 (en) | Interactive framework for name disambiguation | |
US20120324391A1 (en) | Predictive word completion | |
US20090271195A1 (en) | Speech recognition apparatus, speech recognition method, and speech recognition program | |
US20110295897A1 (en) | Query correction probability based on query-correction pairs | |
US20120262461A1 (en) | System and Method for the Normalization of Text | |
Samanta et al. | A simple real-word error detection and correction using local word bigram and trigram | |
US9298693B2 (en) | Rule-based generation of candidate string transformations | |
US11580764B2 (en) | Self-supervised document-to-document similarity system | |
US10936813B1 (en) | Context-aware spell checker | |
JP7163618B2 (ja) | 学習装置、学習方法、プログラム及び推定装置 | |
Reuter et al. | Segmenting twitter hashtags | |
US20230401426A1 (en) | Prediction method, prediction apparatus and program | |
CN114154487A (zh) | 文本自动纠错方法、装置、电子设备及存储介质 | |
US10311046B2 (en) | System and method for pruning a set of symbol-based sequences by relaxing an independence assumption of the sequences | |
Azeraf et al. | Highly fast text segmentation with pairwise markov chains | |
US20220207087A1 (en) | Optimistic facet set selection for dynamic faceted search | |
Arefin et al. | Natural language query to SQL conversion using machine learning approach |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
ASS | Succession or assignment of patent right |
Owner name: MICROSOFT TECHNOLOGY LICENSING LLC Free format text: FORMER OWNER: MICROSOFT CORP. Effective date: 20150724 |
|
C41 | Transfer of patent application or patent right or utility model | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20150724 Address after: Washington State Applicant after: Micro soft technique license Co., Ltd Address before: Washington State Applicant before: Microsoft Corp. |
|
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20121010 |