CN100517301C - 改进的拼写检查系统和方法 - Google Patents
改进的拼写检查系统和方法 Download PDFInfo
- Publication number
- CN100517301C CN100517301C CNB2005100592310A CN200510059231A CN100517301C CN 100517301 C CN100517301 C CN 100517301C CN B2005100592310 A CNB2005100592310 A CN B2005100592310A CN 200510059231 A CN200510059231 A CN 200510059231A CN 100517301 C CN100517301 C CN 100517301C
- Authority
- CN
- China
- Prior art keywords
- substring
- group
- alternative spelling
- search
- iteration
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 90
- 238000012937 correction Methods 0.000 claims abstract description 56
- 230000008569 process Effects 0.000 claims description 33
- 238000012545 processing Methods 0.000 claims description 25
- 239000000284 extract Substances 0.000 claims description 15
- 230000008859 change Effects 0.000 claims description 13
- 238000012217 deletion Methods 0.000 claims description 6
- 230000037430 deletion Effects 0.000 claims description 6
- 238000003780 insertion Methods 0.000 claims description 6
- 230000037431 insertion Effects 0.000 claims description 6
- 238000012804 iterative process Methods 0.000 claims description 6
- 238000005194 fractionation Methods 0.000 claims description 3
- 238000013480 data collection Methods 0.000 abstract 3
- 230000006870 function Effects 0.000 description 20
- 238000011156 evaluation Methods 0.000 description 11
- 238000010586 diagram Methods 0.000 description 10
- 230000015654 memory Effects 0.000 description 10
- 238000004891 communication Methods 0.000 description 7
- 230000002354 daily effect Effects 0.000 description 7
- 235000015895 biscuits Nutrition 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 235000013305 food Nutrition 0.000 description 4
- 238000003058 natural language processing Methods 0.000 description 4
- 239000000344 soap Substances 0.000 description 4
- RLLPVAHGXHCWKJ-IEBWSBKVSA-N (3-phenoxyphenyl)methyl (1s,3s)-3-(2,2-dichloroethenyl)-2,2-dimethylcyclopropane-1-carboxylate Chemical compound CC1(C)[C@H](C=C(Cl)Cl)[C@@H]1C(=O)OCC1=CC=CC(OC=2C=CC=CC=2)=C1 RLLPVAHGXHCWKJ-IEBWSBKVSA-N 0.000 description 3
- 241000282376 Panthera tigris Species 0.000 description 3
- 230000009471 action Effects 0.000 description 3
- 241001233037 catfish Species 0.000 description 3
- 230000000875 corresponding effect Effects 0.000 description 3
- 235000014347 soups Nutrition 0.000 description 3
- 230000007704 transition Effects 0.000 description 3
- 241000287828 Gallus gallus Species 0.000 description 2
- 240000007829 Haematoxylum campechianum Species 0.000 description 2
- 235000003805 Musa ABB Group Nutrition 0.000 description 2
- 235000015266 Plantago major Nutrition 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 238000000429 assembly Methods 0.000 description 2
- 230000000712 assembly Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000003203 everyday effect Effects 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 239000000203 mixture Substances 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000001737 promoting effect Effects 0.000 description 2
- 241000272525 Anas platyrhynchos Species 0.000 description 1
- 240000008790 Musa x paradisiaca Species 0.000 description 1
- 241000013557 Plantaginaceae Species 0.000 description 1
- 244000141353 Prunus domestica Species 0.000 description 1
- 241001074085 Scophthalmus aquosus Species 0.000 description 1
- 235000004240 Triticum spelta Nutrition 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 239000012141 concentrate Substances 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000004069 differentiation Effects 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 238000011835 investigation Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000003909 pattern recognition Methods 0.000 description 1
- BASFCYQUMIYNBI-UHFFFAOYSA-N platinum Chemical group [Pt] BASFCYQUMIYNBI-UHFFFAOYSA-N 0.000 description 1
- 230000035935 pregnancy Effects 0.000 description 1
- 230000000306 recurrent effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 210000003371 toe Anatomy 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Images
Classifications
-
- 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/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9532—Query formulation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9535—Search customisation based on user profiles and personalisation
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B63—SHIPS OR OTHER WATERBORNE VESSELS; RELATED EQUIPMENT
- B63B—SHIPS OR OTHER WATERBORNE VESSELS; EQUIPMENT FOR SHIPPING
- B63B2221/00—Methods and means for joining members or elements
- B63B2221/08—Methods and means for joining members or elements by means of threaded members, e.g. screws, threaded bolts or nuts
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B63—SHIPS OR OTHER WATERBORNE VESSELS; RELATED EQUIPMENT
- B63C—LAUNCHING, HAULING-OUT, OR DRY-DOCKING OF VESSELS; LIFE-SAVING IN WATER; EQUIPMENT FOR DWELLING OR WORKING UNDER WATER; MEANS FOR SALVAGING OR SEARCHING FOR UNDERWATER OBJECTS
- B63C5/00—Equipment usable both on slipways and in dry docks
- B63C5/02—Stagings; Scaffolding; Shores or struts
- B63C2005/022—Shores or struts, e.g. individual oblique support elements for stabilizing hulls in dry-docks
-
- F—MECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
- F16—ENGINEERING ELEMENTS AND UNITS; GENERAL MEASURES FOR PRODUCING AND MAINTAINING EFFECTIVE FUNCTIONING OF MACHINES OR INSTALLATIONS; THERMAL INSULATION IN GENERAL
- F16B—DEVICES FOR FASTENING OR SECURING CONSTRUCTIONAL ELEMENTS OR MACHINE PARTS TOGETHER, e.g. NAILS, BOLTS, CIRCLIPS, CLAMPS, CLIPS OR WEDGES; JOINTS OR JOINTING
- F16B5/00—Joining sheets or plates, e.g. panels, to one another or to strips or bars parallel to them
- F16B5/02—Joining sheets or plates, e.g. panels, to one another or to strips or bars parallel to them by means of fastening members using screw-thread
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Health & Medical Sciences (AREA)
- Mathematical Physics (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Machine Translation (AREA)
- Document Processing Apparatus (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明利用搜索查询字符串的迭代变换以及从搜索查询日志和/或web数据提取出来的统计量,给搜索查询字符串提供可能的备选拼写。这提供一种能用来给每个用户提供个性化建议的拼写检查方法。通过利用搜索查询日志,本发明能考虑到辞典里没有但仍可接受为所关心的搜索查询的子串。这允许一种提供在辞典内容之外的质量更高的备选拼写建议的方法。本发明的一个实例通过利用从查询日志中提取出来的词一元模型和/或二元模型的统计量并结合迭代搜索,在子串级别上工作。这为给定查询提供了实质上比只利用子串匹配的方法更好的拼写备选方案。本发明的其他实例能接收来自除了搜索查询输入之外的来源的输入数据。
Description
(1)技术领域
本发明一般地涉及拼写检查,尤其涉及通过利用查询日志来改良拼写检查的系统和方法。
(2)背景技术
与自动化程序、系统和服务的交互,已经成为大多数人生活中日常事务的一部分——尤其随着因特网的出现。例如,对于某些人来说,网络冲浪或浏览可能是“新的”全国性的娱乐。依照这样的系统,像文字处理那样的应用程序已经帮助许多人在他们各自的工作中或者在他们的个人生活中变得更加有效率,例如给朋友键入一封信或电子邮件。这些应用程序已经增加了许多自动化的功能组件,例如用于实质上以具有任何所需要的字体、色彩、形状或表格的格式化文档的工具。已经被许多用户所了解并普遍接受的一种工具是拼写检查应用程序,用户从文字处理软件中调用拼写检查应用程序来检查各个文档的全部或部分,和/或当用户打字时调用拼写检查应用程序,使其在后台运行,检查拼写。通常,为了执行正确的拼写检查,拼写检查应用程序可以使用一个“有效字符串”的字典。如果拼写检查程序遇到一个不在字典之内的字符串,就假定该字符串是拼写错误,并试图在字典中为该错拼的字符串找到“最接近”的字符串。大多数拼写检查程序给用户提供一个可能匹配的列表,由此,如果匹配在该列表中,用户可以从列表中选择具有改正过的拼写的词。拼写检查的其他功能组件可以执行自动改正——如果用户这样配置的话。
然而,文字处理的拼写检查只展现了潜在领域的部分情景,该潜在领域可以用于协助用户把信息输入到文件或文档内。例如,对所有可用的潜在网络站点和服务,用户经常通过明确地键入站点名称的全部或部分,或通过执行对出现在网页标题或主体上的字或短语的搜索,在站点之间导航。正如许多人已经认识到的那样,如果站点信息或搜索查询输入不正确,再次导航的时间代价就会变得相当高。搜索引擎或其他应用程序中使用的语言处理程序经常处理用户的查询,并尝试区分真实的用户命令和不正确输入的信息。然而应该明白,被输入到搜索引擎中用于查询的信息类型可能在结构或形式上与文字处理应用程序中通常使用的信息类型有很大不同。因此,文字处理程序中用来在有些单独和孤立的基础之上检查词的工具在用于从一般的查询数据中生成信息时,可能很少甚至没有效用。
浏览器或其他信息搜索查询给拼写检查应用程序提出了一个独特的问题,因为查询常常包含在标准的拼写检查字典中找不到的词,如艺术家、产品或公司名称等。另外一个问题是查询中的词可能已经被不正确地输入,但是没有错误拼写(例如,“and processors”而不是“amd processors”)。因此,人们在像搜索引擎的输入框那样的键入行中输入文本的方式,常常与文字处理中的键入有很大不同。查询输入中所输入的内容和人们所犯的错误类型也自然有很大不同。此外,网络数据和搜索查询在性质上是非常动态的,包含大量的固有名词;新的产品、人、机构、地点和事件每天都变得流行。同样地,标准字典尽管适用于文字处理中上下文的拼写检查,却可能并不适用于键入行和搜索-查询中的拼写检查。
字典(即辞典)是任何拼写检查程序的重要组件,因为其中包含的信息提供了确定不正确拼写的基础。然而,对于许多需要进行拼写检查的应用程序(如提供给输入框的文本输入)来说,标准字典对这个问题不是最佳的。例如,为了对输入到搜索引擎的输入框中的文本进行拼写检查,字典应该包括诸如“hanging chad(悬空票)”和“Apolo Anton Ohno(阿波罗·安东·奥诺)”之类的字符串,以便检查近来的事件或可能所关注的信息。可以知道,这些字符串和大量其他类型的字符串不会在标准字典中出现。一种可能的途径是在用户输入到诸如搜索引擎或语言处理程序之类的特定位置的内容的日志上使用子串匹配技术。不幸的是,这种途径的一个问题是查询日志通常也将会包含大量的输入错误,并返回与用户所需搜索无关的子串匹配。
另外,拼写检查所用的字典和搜索的上下文总是在改变。这些动态的行为不能通过利用传统字典和搜索查询处理来解决。例如,如果现在有一个名为Limp Bizkit的流行乐队,对“bizkit pictures(bizkit照片)”的查询很可能是指的是这个乐队,而不是“biscuit(饼干)”的错误拼写。如果这个乐队突然变得不流行,而且有一本关于饼干照片的畅销书,那么“bizkit pictures”就更可能是“biscuit pictures”的错误拼写。同样,在当前的政治状态下,如果arnold现在是受欢迎的加利福尼亚州州长,“governor anld”可能指的是“govenorarnold(州长Arnold)”。因此,搜索查询的上下文显著地影响着拼写检查。
(3)发明内容
下面给出本发明简化了的内容,以便提供对本发明一些方面的基本理解。该内容不是本发明的广泛纵览。该内容并不是要鉴别本发明的关键/重要的元素或描绘本发明的范围。其唯一目的是以简化的形式给出本发明的一些概念,作为后面给出的更加详细的描述的前奏。
本发明一般地涉及拼写检查器,尤其涉及通过利用查询日志来改进拼写检查的系统和方法。搜索查询字符串的迭代变换连同从搜索记录和/或web数据提取出来的统计量一起,被用来给搜索查询字符串提供可能的备选拼写。这提供一种能用来给每个用户提供个性化建议的优异的拼写检查方法。通过利用搜索查询日志,本发明能解释辞典里没有但仍可接受为所关心的搜索查询的子串。这允许一种提供在辞典内容之外的质量更高的备选拼写建议的方法。本发明的一个实例通过利用从查询日志中提取出来的词一元模型和/或二元模型的统计量以及迭代搜索,在子串水平上工作。这为给定查询提供了实质上比只利用准确子串匹配的方法更好的拼写备选方案。因此本发明,例如,能基于流行的概念/查询的最近历史,调整它所建议的备选方案。本发明也能基于相关的先前查询日志,为给定用户调整其改正,提供更加恰当的拼写备选方案。本发明的其他实例能接收来自除搜索查询输入之外的来源的输入数据。这提供了一种利用查询日志促进在普通文字处理器等等的上下文中进行拼写检查的方法。
为实现上述相关成果,结合下列说明和附图,在此描述本发明的某些示例性方面。然而,这些方面只指示可能应用本发明原理的各种方法中的一些,本发明规定为包括所有这些方面及其等效。结合附图一起考虑,从下面的本发明具体实施方式可以明显看出本发明的其他优点和新颖特征。
(4)附图说明
图1是一个依照本发明一个方面的搜索查询评估系统的方框图。
图2是另一个依照本发明一个方面的搜索查询评估系统的方框图。
图3是一个依照本发明一个方面的搜索过程的示例。
图4是另一个依照本发明一个方面的搜索过程的示例。
图5是一个依照本发明一个方面的信息流结构的示例。
图6是一个依照本发明一个方面的促进搜索查询的一种方法的流程图。
图7是另一个依照本发明一个方面的促进搜索查询的一种方法的流程图。
图8是又一个依照本发明一个方面的促进搜索查询的一种方法的流程图。
图9例示了一个本发明可以在其中运行的操作环境的实例。
图10例示了另一个本发明可以在其中运行的操作环境的实例。
(5)具体实施方式
现在参考附图描述本发明,其中始终用相同的参考数字来指示相同的元素。在下列描述中,出于解释的目的,阐明了很多特定的细节,以提供对本发明的彻底理解。然而,显然本发明可能不需要这些特定的细节就能实现。在其他实例中,以方框图的形式把众所周知的结构和器件显示出来,以方便描述本发明。
本说明书中,术语“组件”意指与计算机有关的实体,可以是硬件、硬件和软件的组合、软件或执行中的软件。例如,一个组件可以是但不限于是,一个在处理器上运行的进程、一个处理器、一个对象、一个可执行程序、执行的一个线程、一个程序和/或一个计算机。作为示例,运行在服务器上的应用程序和服务器本身都可以是计算机组件。一个或多个组件可以驻留在一个进程和/或执行的一个线程中,并且,组件可以位于一个计算机内和/或分布在两个或更多的计算机之间。“线程”是在操作系统内核调度执行的进程内的实体。正如本领域中众所周知的那样,每个线程有相关的“上下文”,即与线程的执行相关的易失性数据。线程的上下文包括系统寄存器的内容和属于该线程所处进程的虚拟地址。因此,包含线程上下文的真实数据随着线程执行而发生改变。
本发明给对搜索引擎的查询进行拼写检查提供改进的系统和方法。本发明的一个实例使用一个可信辞典(该辞典为一种语言的一个有效词列表)和查询日志作为数据源。本发明通过利用从查询日志提取出来的词一元模型和二元模型(忽略停用词)统计量以及一种新型的迭代查询,为给定查询提供比只用字符串匹配时更好的拼写备选方案。本发明的另一个实例至少部分地利用低计数词n元模型(n元模型定义为n个连续词的序列;特别地,一元模型为单独的词,二元模型是两个连续词的序列)的web统计量。
传统的词拼写改正依赖于文本书写所用的该语言的可信辞典L和距离函数d。给文本中每个不在辞典之内的词形提出在辞典内的一组备选拼写{w1,w2,...,wk}的建议,这些有效的备选方案出现在给定的固定距离阈值δ之内,通常相差为一个或两个编辑(即是说,dist(w,wi)≤δ)。备选方案通常按条件似然函数P(wi|w)排序,该条件似然函数考虑到该语言中词的概率(通常由目标语言的大型语料库的最大似然估计计算得出)和词之间的距离。
实际的距离函数d和阈值δ对拼写检查程序的准确度很重要。一个极端是,使用限制太严格的函数/阈值的组合将导致无法为给定查询找到最好的改正。另一个极端是,使用限制较少的函数可能得到很不可靠的改正建议。本发明提供一种可行的折中办法,通过在字符串水平上利用对备选方案的修正的有限搜索,但不在实质上限制在词水平上搜索备选方案。本发明的一个实例利用上下文依赖的加权Levenshtein距离,它允许字母的插入、删除、替换、毗邻调换和长距离移动,作为基本编辑。阈值本身是变量,依赖于每个词的特征(主要是,词是否在辞典之内)和迭代数目。
图1中,显示了一个依照本发明一个方面的搜索查询评估系统100的方框图。搜索查询评估系统100包括搜索查询评估组件102。搜索查询评估组件102接受搜索查询输入104并输出备选查询建议数据106。搜索查询评估组件102利用辞典和搜索查询日志来评估每个搜索查询。本发明的其他实例也利用web统计量来评估搜索查询输入104。通常利用迭代过程来进一步精选每个备选建议,直到获得最佳建议。搜索查询日志提供统计信息,而搜索查询评估组件102可以利用该统计信息,给典型的用户或给定的用户查找最佳解决方案。在本发明的又一个实例中,对搜索查询日志进行处理,以便于可以使用定时模式来促进搜索查询的评估。定时模式可以是但不限于是年模式、日期模式(例如,每个星期三、假日等等)和日模式等等的时间。因此,本发明的一个实例能获得本年度十月份和上一年度十月份的查询日志。这种时间模式识别的类型有利于产生较好的搜索查询建议数据106。同样地,本发明能利用其他类型的模式识别,例如,用户的搜索模式、用户的兴趣和嗜好、用户的首选项等等。本发明可以获得与给定用户的这些特定方面有关的搜索查询日志和/或网络数据,用于进一步促进搜索查询评估。
在本领域中的技术人员将会明白,除了搜索查询输入之外,本发明的范围还包括来自其他来源导出的输入数据。因此,本发明的实例可以用于接收来自文字处理程序、电子邮件程序、即时消息程序和聊天室程序等等的输入数据。以这样的方式,除了搜索查询程序之外,查询日志还可以用于其他环境中。因此,当在本发明的上下文中使用时,术语“搜索查询”的各种形式和“输入数据”的各种形式是同义的。因此,输入数据是指提交给本发明的实例、用于拼写检查目的的任何数据。
参见图2,图示了另一个依照本发明一个方面的搜索查询评估系统的方框图。该搜索查询评估系统包括接收搜索查询数据204和输出备选查询建议数据206的搜索查询评估组件202。搜索查询评估组件202由子串处理组件208和迭代查询评估组件210组成。子串处理组件208接收搜索查询数据204,并将其标记化(tokenize)到可供迭代查询评估组件210使用的级别。迭代查询评估组件210利用查询日志数据214,也能利用诸如辞典数据212和/或可任选的web统计量数据216那样的其他数据源。该数据被用于提供搜索查询数据204的增强评估,将在下面进一步详细说明。迭代查询评估组件210处理标记化的查询词,并把一组新的备选搜索查询子串218发回给子串处理组件208以供标记化。这一迭代过程继续进行,直到迭代查询评估组件210确定已经达成最佳建议,并将这一信息输出为备选查询建议数据206。
为更好地认识本发明,理解其使用的上下文及其目的是有帮助的。用户发送给web搜索引擎的查询大约有10%由于拼写错误而失效。因此,web搜索的一个重要问题是检测和改正拼错的查询。对搜索引擎的查询进行拼写检查是一个与传统的文档拼写检查(例如,典型的文字处理的拼写检查程序)根本不同的问题。这个过程的一些重要特性把它和传统文档拼写改正区分开来:
·不像能给每个错误拼写的词提供一组备选方案的传统词拼写,web查询拼写检查程序只能给一个web查询建议一个拼写备选——这意味着需要比传统词拼写程度所提供的高得多的精度。
·传统的拼写检查程序使用可信辞典并把注意集中到在辞典之外的词。在web查询中,未知词(根据这样的辞典)可能不代表拼写错误,它们对web搜索来说可能是有效的(例如,limp bizkit)。查询词列表不是一个固定目标,而是快速变化的。当然也存在这样的情况,即基于搭配信息,在辞典之内的词应该改变成其他在辞典之内或甚至在辞典之外的词(例如,food explorer→ford explorer,limp biz kit→limpbizkit)。
·在web搜索中,拼错的词可能较预期词相差有许多字母编辑,尤其是当这些词表示人、公司、技术或产品的名字时候,仅仅提到其中一些。
·正如本发明所提供的那样,除了可信辞典和/或语料库之外,web查询拼写改正还受益于查询日志的存在。该查询日志包含关于词频、词上下文和拼写错误的近乎实时的重要信息。在传统的拼写中没有利用这样的资源。
本发明将对web查询进行拼写改正的问题用公式表示为,根据从web查询日志和web数据提取出来的统计量,将查询字符串迭代变换成其他字符串,这些其他字符串越来越表示合适的查询。通用拼写改正的任务有很长的历史,传统上集中在解决印刷错误,诸如字母的插入、删除、替换和调换(如,McIlroy,M.D.;Development of a Spelling List;J-IEEE-TRANS-COMM,30(1);91-99;1982)。典型的拼写检查程序为每个未知词(即,在本语言的可信辞典里找不到的词)计算出一小组在辞典之内的备选方案,作为可能的改正建议。这样的系统通常忽略上下文,而只依赖于关于在辞典之内的词频(从一个大语料库中估计)和最平常的错误的信息,都在词的水平(例如,用acceptible而不是acceptable)和字符的水平(例如,误用f而不是ph)上。
本发明中网络查询拼写改正的任务在许多方面不同于传统的拼写检查,并因此带来了不同的挑战。查询的有效性不能由简单的辞典检索或检查其语法性来决定。大多数的web查询包含一个概念或多个概念的枚举,许多时候都包含合理但却在辞典之外的词。例如,web查询的改正程序应该能够以关于别人的搜索内容的信息为基础,建议“lego tos”改正为“lego toys”这一最好的可能改正(有争议),尽管基于字母的错误模型(如典型的文字处理拼写检查程序中所用的)会为错误拼写tos预测toss、toes、tops、tons和togs是更可能的备选方案,且在许多英文辞典之内可能不会出现词“lego”。
仅仅定义什么是有效的web查询就代表一项相当困难的事业。很清楚,可信辞典不能单独使用,因为每天都有许多新的名字和概念变得流行,而且维持高覆盖率的辞典即使不是不可能的,也是特别困难的。一个可行的替代方案可以是收集和开发数百万使用web和web搜索的人的经验。因此,词的有效性不是由辞典给定,而是由它出现在人们所查询的内容中的频率给定,类似于Wittgenstein的观察(见,Wittgenstein,L.;Philosophical Investigations;Macmillan,New York,third edition;1968)所述,“一个词的意思取决于它在语言中的具体运用”。但是,这样的方式有其自己的警告。简单地从web查询日志提取出频率在特定阈值之上的所有那些查询信息就认为其有效,这将是错误的。例如,错误拼写britny spears是一个比拼写正确但可能包含在辞典之外的词(如查询bayesian nets或amd processor)的更加常见的查询。同样要对于计算包含被查询词的web文档的数目也成立。非常常见的词语的拼错频率要远高于那些相当有效而又比较不常见的词语。
许多在网络查询中出现的错误表现为上下文不适当的有效词替换(例如,principal和principle),这不能够由辞典检索或基于单独词频来发现。Kukich的观察(见,Kukich,K;Techniques for Automatically Correcting Words in Text;A CMComputing Surveys,24(4):377-439;1992)认为,在现代文档中发现的错误大约有25-50%实际上是这类替换,可以预言,他的结论似乎也适用于查询日志数据,如果不是更高程度的话。在上下文依赖的拼写改正(CSSC,context-sensitivespelling correction)的框架内,解决这样的替换错误已经成为早先各种NLP(Natural Language Processing,自然语言处理)工作[如,(Golding,A.R.;ABayesian Hybrid Method for Context-Sensitive Spelling Correction;Proceedings of theWorkshop on Very Large Corpora,pages 39-53;1995);(Golding,A.R.和D.Roth;Applying Winnow to Context-Sensitive Spelling Correction;Proceedings of the 13thInternational Conference on Machine Learning,pages 182-190;1996);(Mangu,L.和Brill,E.;Automatic Rule Acquisition for Spelling Correction;Proceedings of the 14thInternational Conference on Machine Learning,pages 734-741;1997);以及(Cucerzan,S.和Yarowsky,D.;Augmented Mixture Models for Lexical Disambiguation;Proceedings of EMNLP 2002,pages 33-40;2002)]的目标。虽然获得了有希望的结果(92-95%的准确度),但是早先工作的范围非常有限(最多18个混淆组,两个或三个备选方案,例如,{peace,piece}),而且所研究的算法严重依赖于注释数据的存在,利用从这些数据提取出来的大量上下文特征。在web查询拼写改正的情况下,没有注释数据,但是可以得到大量以查询日志(查询日志是在一段时间内发送到搜索引擎的查询的直方图)形式存在的非注解数据。web查询的另一个特征是非常短(平均2.2个词),难以应用利用大量基于相对较宽的上下文窗口的特征的技术。而且,在CSSC中所利用的典型数据通常被认为是没有其他上下文拼写错误和替换错误,这不是web查询的实际情况。
其他的内容和性能进一步限制了在网络查询拼写改正系统设计中使用计算强度密集算法。例如,在基于服务器的架构中,这样的系统必须满足限制非常严格的时间性能要求,而空间的要求可以放松。下面提供这些限制的一部分,但没有提供对这些限制的完全分析。通过利用任务的一系列正式定义并给出显示与每种情形相对应长处和局限的具体例子,简要分析“典型的”拼写改正方法的例子。该问题被迭代地重新定义,开始于纯粹地基于可信辞典的方法,结束于可信辞典的作用大大减小的方法。这样做的时候,为了提供有效网络查询的可用定义,给出具体的前进步骤。
令∑为一种语言的字母表, 为该语言的一个广泛覆盖的辞典。于是,拼写改正最简单的定义可以如下:
即是说,对于文本中任何在辞典之外的词,找到可用辞典之内最接近的词形,并假定其为正确的拼写备选方案。dist可以是任何基于字符串的函数,例如,在两个词中非共有字母个数和共有字母个数之间的比率。在拼写改正中用得最多两类的距离是Damerau(见,Damerau,F.J.;A Technique for ComputerDetection and Correction of Spelling Errors;Communications of ACM,7(3):171-176;1964)和Levenshtein(见,Levenshtein,V.I.;Binary Codes Capableof Correcting Deletions,Insertions and Reversals;Doklady Akademii Nauk SSSR;163(4)p845-848;1965)提出的编辑距离,以及相关矩阵距离(见,Cherkassky,V.;Vassilas,N.;Brodt,G.L.;Wagner,R.A.;和Fisher,M.J.;The String to StringCorrection Problem;Journal of ACM,21(1):168-178;1974)。本发明的一个实例使用Damerau-Levenshtein编辑距离的修正形式,如下文介绍所示。
上述公式表示并没有考虑一种语言中的词频。该问题的一个简单解决办法是计算目标语言L中词的概率,作为对L上的大语料库C的最大似然估计(MLE)。通用的拼写改正问题可以再用公式表示如下:
在这一公式表示中,所有处于未知词某个“合理的”距离δ内的在辞典之内的词被认为是好的候选词,基于其先验概率P(·)选择它们中最好的那个。
一个自然的前进步骤是用后验概率作为噪声通道模型框架内的目标函数(见,Kernighan,M.;Church,K.;和Gale,W.;A Spelling Correction ProgramBased on a Noisy Channel Model;Proceedings of COLING 1990)。该目标函数是以原来的拼写为条件的改正的概率P(v|w),并包括了将一种语言中词的先验概率P(v)和错误拼写词形v作为w的概率,P(w|v)。为简单起见,在此描述的所有公式表示均使用先验概率作为目标函数,但是在实践中,可以用后验概率来代替。
到目前为止所考虑的公式表示并不考虑上下文——在孤立中改正未知词。这是个问题,因为在非常多的情况中,上下文对拼写改正是极为重要的,如下面的例子所例示:
power crd→power cord
video crd→video card
根据其上下文,错误拼写的词形crd应该被改正为两个不同的词(其他有效备选方案如video cd等是存在的;由于它们对本讨论没有用,被有意忽略了)。传统的拼写检查程序(例如,典型的文字处理的拼写检查程序)所建议的改正在两种情况下都是同样的:card、cord、crud、curd、cud,以这样的顺序。当只允许有一个建议(这在web查询拼写改正中是非常典型的)时,总是从这个列表中采用第一个建议会导致许多错误。
考虑上下文问题的一个可能公式表示如下:
为简单起见,在这一公式表示中空格和其他的词定界符被忽略了。随后问题的公式表示也将忽略词定界符,虽然可以认为词的标记化是拼写改正过程的一个重要部分。
基于以上定义的传统拼写-改正系统不处理用其他有效词对有效词进行替换的情况。在web搜索的情况中,当改正比原来的查询更“富有意义”时,给有效词提供改正建议很重要,例如:
food explorer→ford explorer
golf war→gulf war
下面的例子显示传统拼写改正程序不处理的两个问题的组合,即上下文敏感的改正和有效词替换:
chicken sop→chicken soup
sop opera→soap opera
CSSC的任务部分地解决这些问题,如NLP文献中所定义的,可以用公式表示如下:
正如公式表示的那样,相对于传统的通用拼写改正。CSSC的任务更倾向于涉及词义消歧(WSD,word sense disambiguation)。然而当所有的词w′满足dist(w,w′)≤δ时,通过为文本中的每个词构造一组易混淆词,可以将该任务应用于拼写改正。短语拼写改正的一般化问题可以用公式表示如下:
通常,当 时(即是说,组成的词中至少有一个是未知的),拼写改正是希望的,但如上所示,还有经常发生的情况如sop opera,此时有效词形序列应该改变为有效词形的其他序列。可以观察到词的边界被隐藏在这一最近的公式表示中,将它变得更一般化并允许它覆盖web查询改正的其他重要拼写错误,也就是串接和拆分。例如:
power point slides→powerpoint slides
waltdisney→walt disney
chat inspanich→chat in spanish
这一公式表示仍然不覆盖一类重要的拼写改正,这类拼写改正必须由web查询拼写改正系统处理,并表现为实际上是给定上下文中的有效形式的未知词(因此, ),例如:
amd processors→amd processors
典型的文字处理程序会加亮显示amd为错误拼写词,并提供改正建议,诸如:mad、amid、am、and和ad。在web查询拼写改正的情况下,系统不应该建议拼写改正,因为上面的短语代表一个合理的查询,尽管事实上它包含未知词。
最近的公式表示中没有处理的一些甚至更有趣的情况是有效词应该改变成未知词(即是说,不在可信辞典之内),如下面的例子中,两个有效词应该串接成一个未知词:
gun dam planet→gundam planet
limp biz kit→limp bizkit
这就引出拼写-改正问题的更一般化的公式表示,如下所示:
这一公式表示并不明确地使用该语言的辞典,虽然在字符串的似然估计P(s)中仍然可能用到辞典。这意味着,在web查询改正的情况中,书写查询所用的实际语言变得没有比从中可以估计字符串概率的未经注释的查询日志训练数据重要。因此,这个概率模型可以是对像web查询那样的无意义字符串的量度的一种替代。这样,在任何传统语料库中似乎不合情理的随意的名词短语如sadtomatoes(一个乐队的名字),在网络搜索的上下文中变得有意义了。
传统的词拼写-改正依赖于可信辞典和字符串距离函数。前面给出的拼写改正公式表示利用了这样的字符串距离和阈值来限制搜索备选拼写的空间。先前的各种工作已经解决选择适当的字符串距离函数的问题。本发明一个实例使用修正的上下文依赖的加权Levenshtein距离,当指点发生改变时加权Levenshtein距离允许字母的插入、删除、替换、毗邻调换和长距离移动。
实际的距离函数d和阈值δ对拼写程序的准确度很重要。使用限制太严格的函数/阈值的组合会导致不能为给定查询找到最好的改正。例如,使用标准的Levenshtein距离(定义为将一个字符串变换为另一个字符串所需要的指点改变次数的最小值,此处指点改变是下列操作中的一个:插入一个字母、删除一个字母以及用一个字母来替换另一个字母)并且阈值δ=1,donadl duck→donaldduck的改正将是不可能的。然而,利用限制较少的函数可能得到非常不可靠的改正建议。例如,利用同样的经典Levenshtein距离和δ=2将允许字符串donadlduck的改正,但是也将会导致错误的改正如log wood→dog food(基于加入在P(s)中的查询频率)。但是,在多样性的情况中,距离大的改正仍然是适当的,例如:
例1:platnuin rings→platinum rings
例2:ditroitigers→detroit tigers
在第一个例子中,典型的文字处理拼写检查程序可能只建议plantain和plantains是错拼词platnuin的改正。在第二个例子中,典型的文字处理拼写检查程序会加亮显示ditroitigers为错误拼写,但没有提供改正建议。尽管传统的可信辞典和语料库的方式可能无法解决这种类型的问题,但它可以由本发明通过利用大的查询日志来解决。
根据距离和选择阈值,如果像ditroitigers那样的拼写错误距离正确的备选方案太远,那么就不可能在一个步骤中就找到正确的备选方案。然而,使用本发明一个实例,通过允许中间的有效改正步骤,可以得到正确的备选方案,如ditroitigers→detroittigers→detroit tigers。问题的最后一个公式表达并没有明确地利用该语言的辞典。然而,基于查询相对频率和备选拼写,训练所用的查询日志中出现的任何子串都可以被认为是有效的改正,并可以被建议为当前web查询的备选方案。事实上,与文字处理程序所用的典型拼写检查程序相对,本发明的基本拼写检查程序(本发明的基本拼写检查程序是一个非迭代系统)的一个实例会建议detroittigers,因为这个备选方案频繁地出现在查询日志中。另一方面,如果作为独立的查询提供给基本检查程序,通过使用类似的作为本发明迭代改正方式的基础的查询日志频率事实,detroittigers本身可以被改正为detroit tigers。这种方式的本质是查询日志的三个典型特性:(1)查询日志中的词以各种方式被错误拼写,从相对容易改正的拼写错误到那些大错误,这使得几乎不可能识别用户的意图:(2)越是不严重的错误拼写越是经常发生;以及(3)正确拼写倾向于比错误拼写更经常发生。与Albert Einstein相关的搜索查询的统计量的一个例子如表1所示:
表1:Albert Einstein查询
在这个上下文中,可以针对拼写改正问题给出下面的迭代公式表示:
通过迭代地应用本发明的基本拼写检查程序进行改正的一个例子是:
anol scwartegger→arnold schwarzenegger
拼错的查询: anol scwartegger
第一次迭代: arnold schwartnegger
第二次迭代: arnold schwarznegger
第三次迭代: arnold schwarzenegger
第四次迭代: 没有进一步的改正;因此,输出第三次
迭代的结果。
到这个时候,公式表示中提交给拼写检查问题的字符串的意思已经指定了。由Brill等人研究的一种可能(见,Brill,E.;Chandrasekar,R.和R.Rounthwaite,R的美国专利申请公开说明书US2003/0037077A1,申请号为09/681,771;发明名称为“Spelling Correction System and Method for PhrasalStrings Using Dictionary Looping”)是把整个查询看成需要改正的字符串。他们的方法是建立一个统计字符错误模型,并以查询的相关频率与字符错误模型的一致性为基础,建立从已记入日志的查询到其他已记入日志的查询的映射,作为改正。他们迭代进行这一查询日志的改正过程,最后存储记录中被识别为记录中另一个查询的错误拼写的每个查询。在查询层次上进行工作有一些主要缺点。这种方法利用web查询日志中可以得到的大量信息,但是只覆盖了出现在这些记录中的正确短语匹配,具有相对较低的覆盖范围。像britnet spearinconcert那样的查询不能被改正,因为它的正确形式britney spears in concert并不出现在查询日志中,尽管它的子串可以被单独改正,例如:
britnet spear→britney spears
本发明克服上述方法的问题,创造出一种有效的查询拼写检查方法。本发明利用下面的公式表示:
可以观察到,从一次迭代到下一次迭代,字符串分解的长度可以变化,例如:
迭代过程易于出现其他类型的问题。短查询能被迭代地转换成其他不相关的查询;因此,在本发明一个实例中,改变这样的查询还有另外的限制。为了进行训练,本发明除了使用可用的词典信息(例如,像multi-modal那样的辞典条目将不会被拆分为三个部分)之外,还利用非常基础的空格和词定界符信息来对web查询日志中使用的所有查询进行标记化,并收集一元模型和二元模型统计量。
利用与处理查询日志中所使用的相同空格和词定界符信息和可用词典信息,对输入查询进行标记化。对于每个标记(token),利用前面的字符串距离函数(在本发明一个实例中,该函数是所述的加权Levenshtein函数),对在辞典之内的词和在辞典之外的标记使用不同的阈值,计算出一组备选方案。从词典和日志中提取出来的词/标记的一元模型和二元模型的空间中搜索匹配项。在本发明的一个实例中,一元模型和二元模型被存储在一个相同的数据结构中,以使得系统能以与处理单个词的未知形式完全相同的方式来处理词的串接和拆分。
一旦为查询中的每个词形计算出所有可能的备选方案组,就利用Viterbi搜索(其中通过利用二元模型和一元模型查询日志的统计量来计算转换概率,并用词之间的逆序距离来代替输出的概率),在下列约束下(例如)查找输入查询的最好的可能备选字符串:不允许同时改变两个毗邻的在词汇表之内的词。该约束避免了像log wood→dog food那样的改变。该约束的一个算法结果是不需要搜索网格图(trellis)中的所有可能路径(即是说,查询中的每个标记的候选改正的所有可能组合),这使得修正的搜索过程大大加快,如下面所进一步描述的那样。假设每个词的备选方案列表随机分类但有这样的特性:若输入的词形在可信辞典之内,则输入词就在该列表中的第一个位置上,那么被搜索过的路径就形成“边缘(fringe)”。在修正Viterbi搜索的示例300中,图3给出网格图的一个例子,该网格图中假设w1、w2和w3为在辞典之内的词形。可以观察到,不是计算对应于备选方案w1和w2之间的k1×k2个可能路径的成本,而是仅需计算k1+k2个路径的成本。
由于本发明使用词二元模型的统计量,停用词(如介词和连词)可能会多次消极地干扰最好的路径搜索。例如,在改正像platunum and rigs那样的查询时,基于词二元模型的语言模型将不使用与词形rigs有关的上下文。为了避免这个类型的问题,停用词及其最有可能的拼写错误被分别对待,首先忽略它们而进行搜索,如示例300中所示,此处w4被假定为这种词。一旦在受限制的网格图中发现最好的路径,就由第二Viterbi搜索用极值固定的边缘计算停用词(或其错误拼写)的最好备选方案,如图4中停用词处理修正Viterbi搜索的示例400所描述。尽管由于太过于限制搜索空间,采用边缘的搜索方式似乎对准确度存在可能的负面影响,但是当与拼写改正的迭代过程相结合时,这种方式是非常强大的。
在web查询中估计n元模型时,本发明能使用查询日志和web索引,作为所提议的带有边缘方法的Viterbi搜索所需要的有价值资源。然而,如果独立使用,它们都不能被认为是比其他资源更好的资源。一方面,web频率可能对迭代改正方式不甚有用,因为web文档错误没有web查询错误频繁(大约10%到15%的web查询包含拼写错误),而且网页作者所犯的错误不能用来对查询web者所犯的错误进行很好的建模。同样,web频率可能并非必然反映查询拼写改正中某些词的重要性。由于空间和速度的限制,出现在网络上的二元模型数目比拼写改正系统能利用的数目要大得多,因此只储存和利用比给定阈值值具有更高计数的二元模型可能不是最佳选择。相对于较低web计数但实际上却出现在查询日志中的词二元模型如ox picture,许许多多出现在网络上却不出现在查询日志中的二元模型如mail ox,对查询改正来说可能比较不相关。
另一方面,对低计数的一元模型和二元模型来说,查询日志可能是相当不可靠的。例如,一个样本查询日志中有20个查询包含了二元模型catfish soap,而只有3个查询包含了二元模型catfish soup。基于这些统计量,像catfish sop那样的查询会与包含词soap的不正确备选方案联系起来(为简单起见,这个例子假设dist(sop,soap)=dist(sop,soup))。在本发明一个实例中,使用在查询日志中出现的词一元模型和二元模型,但同时根据它们的web频率调整它们的查询日志频率。这样,在获取更可靠的词n元模型统计量时,可以从查询日志中滤除频率非常低的不在web上发生的n元模型(这可以通过限制运行时中所用的数据大小来实现),而不丢失对迭代改正有用的频率较高查询的拼写错误。图5中,显示依照本发明一个方面的信息流结构500的示例。信息流结构500描述被用来重新估计查询日志特里结构(trie)504的一元模型和二元模型统计量的web索引502。
在本发明的其他实例中,可以通过充实可信辞典来增强辞典开发(尤其对非英语的其他语言来说),充实可信辞典的实现方法是在可信辞典之内增加经常通过拼写改正的词,如amd:
amd processors→amd processors
amd warranty→amd warranty
amd overclocking→amd overclocking
在本发明又一个实例中,假定查询日志词直方图中有一个未知词,可以利用本发明来查找包含该词的所有查询,并计算其中词被改正的查询的数目和其中词没有被更改的查询的数目。在本发明的其他实例中,通过观察拼写错误在不同的上下文中如何改正,从查询日志提取出用户的知识。本发明的其他实例包括建造跨越不同语言的同源字典(在机器翻译中用作桥接元素)和/或使用迭代拼写改正程序促进语言翻译器。
考虑到上面所显示和描述的示例性系统和过程,参考图6-8的流程图将可以更好地理解依照本发明来实现的方法。
尽管出于简化解释的目的,所述方法被显示和描述为一系列的块,但应该理解和明白,本发明不受块的顺序所限制,因为依照本发明的一些块可能以与在此所显示和描述所不同的顺序发生和/或与其他块同时发生。而且,实现依照本发明的方法并非需要全部例示的块。
本发明可以在像程序模块那样的计算机可执行指令的一般上下文中描述,由一个或多个组件执行。一般地,程序模块包括执行特定任务或实现特定的抽象数据类型的例程、程序、对象、数据结构等等。通常,程序模块的功能可以根据本发明各种实例的需要,进行组合或分配。
图6中,显示一个依照本发明一个方面的促进搜索查询的一种方法600的流程图。方法600开始(602),获得输入搜索查询(604)。查询通常由用户输入到web搜索应用程序内。于是本发明对搜索查询进行标记化,以便将其分解为处理所用的二元模型和一元模型(606)。然后,利用标记化的查询来计算备选查询建议,至少部分地使用至少一个查询日志(608)。查询日志至少部分地提供与用户所进行的先前搜索有关的统计信息。本发明可以使用这类诸如频率和/或改正建议等等的统计信息来提供备选查询建议。在本发明的其他实例中,可信辞典也可以和另外的web统计量一起,被用来改进低计数词n元模型。也可以只使用web统计量而不使用辞典信息。本发明也能利用当指点改变时允许字母的插入、删除、替换、毗邻调换和远距离移动等等的修正的上下文依赖的加权Levenshtein距离。在计算备选查询建议的过程中,本发明也可以使用不允许同时改变两个毗邻的在词汇表之内的词的约束。该约束的一个算法结果是不需要搜索网格图中所有可能的路径,这使得修正搜索过程大大加快。另外,它可以防止查询变成一个作为备选查询建议的完全错误的短语。一旦备选查询建议被计算出来,就输出给用户和/或系统(610),结束流程(612)。
参见图7,描述另一个依照本发明一个方面的促进搜索查询的一种方法700的流程图。方法700开始(702),获得输入搜索查询(704)。于是,通过利用与处理查询日志中所使用的相同空格和词定界符信息和可用词典信息,对该输入查询进行标记化(706)。对于每个标记,通过利用加权Levenshtein距离函数,并允许对在辞典之内的词和在辞典之外的标记采用不同的阈值,计算一组备选方案(708)。本发明与传统的拼写改正形成鲜明对照,因其在从词典和记录中提取出来的词/标记的一元模型和二元模型的空间中搜索匹配项。在本发明一个实例中,一元模型和二元模型被存储在一个相同的数据结构中,以使得系统能以与处理单个词的未知形式完全相同的方式来处理词的合并和拆分。一旦为查询中每个词形计算出所有可能的备选方案组,就用Viterbi搜索(其中通过利用二元模型和一元模型查询日志的统计量来计算转换概率,并用词之间的逆序距离来代替输出的概率)在下列约束下查找输入查询的最好的可能备选字符串:不允许同时改变两个毗邻的在词汇表之内的词(710)。该约束的一个算法结果是不需要搜索网格图中的所有可能的路径,这使得修正搜索过程大大加快,如下面所进一步描述的那样。于是确定是否已经找到最佳备选查询建议(712)。若是,就输出最佳备选查询建议(714),结束流程(716)。若否,最好的子串备选查询建议在迭代过程中再次被标记化(706),直到找到最佳的备选查询建议。
参见图8,例示了又一个依照本发明一个方面的促进搜索查询的一种方法800的流程图。方法800开始(802),从逆序web索引获得低计数查询日志的n元模型的web统计量(804)。通过合并来自一个非常大的数据库的信息,增强n元模型的统计信息。然后至少部分地利用web统计量,作为用于迭代处理低计数查询日志n元模型的n元模型统计量(806),结束流程(808)。在本发明一个实例中,使用在查询日志中出现的词一元模型和二元模型,但根据它们的web频率调整它们的查询日志频率。这样,在获取更可靠的词n元模型统计量时,可以从查询日志中滤除频率非常低的不在网络上发生的n元模型(这可以通过限制运行时中所用的数据大小来实现),而不丢失对迭代改正有用的频率较高查询的拼写错误。
为了给实现本发明各个方面提供另外的上下文,图9和下列讨论提供对一个适当的计算环境900的简要而又一般化的描述,本发明各个方面可以在该计算环境中实现。尽管前面已经在运行在本地计算机和/或远程计算机上的计算机程序的计算机可执行指令的一般上下文中描述本发明,那些本领域内的技术人员将认识到,本发明也可以和与其他程序模块结合实现。一般地,程序模块包括执行特定的任务或实现特定的抽象数据类型的例程、程序、对象、数据结构等等。而且,本领域内的技术人员将会明白,本发明的方法可以与其他计算机系统配置一起实施,这些其他计算机系统配置包括单处理器或多处理器计算机系统、小型计算机、大型计算机以及个人计算机、手持式计算设备、基于微处理器的和/或可编程的消费性电子产品等等,其中的每个都可以与一个或多个关联的设备有效地进行通信。本发明的示例性方面也可以在分布式计算环境中实施,在分布式计算环境中,任务由通过通信网络连接的远程处理设备执行。然而,本发明一些方面,如果不是全部方面,可以在独立计算机上实施。在分布式计算环境中,程序模块可以置于本地和/或远程的存储器设备。
本说明书中,术语“组件”意指与计算机有关的实体,可以是硬件、硬件和软件的组合、软件或执行中的软件。例如,一个组件可以是但不限于是,运行在处理器上的进程、处理器、对象、可执行程序、执行的线程、程序和计算机。作为示例,运行在服务器上的应用程序和/或服务器都可以是一个计算机组件。另外,一个组件可以包括一个或多个子组件。
参见图9,实现本发明各个方面的一个示例性系统环境900包括一个常规计算机902,常规计算机902包括一个处理单元904、一个系统存储器906以及把包括系统存储器在内的各种系统组件耦合至处理单元904的系统总线908。处理单元904可以是商业上可以买到的或专有的处理器。另外,处理单元可以实现为由多于一个的处理器构成的多处理器,例如可以是并行连接。
系统总线908可以是包括存储器总线或存储器控制器、外围总线以及局部总线在内的若干总线结构类型中的任一种,这些若干总线结构类型使用多种常规总线架构,诸如PCI(外围组件互连)、VESA(视频电子标准协会)、微通道、ISA(工业标准结构)和EISA(增强型ISA总线)等,仅举几个例子。系统存储器906包括只读存储器(ROM)910和随机存取储存器(RAM)912。基本输入/输出系统(BIOS)914存储在ROM 910中,它包含帮助在计算机902内的组件之间传输信息的基本例程,比如在启动过程中。
计算机902也可以包括,举例来说,一个硬盘驱动器916、一个磁盘驱动器918(例如,用于读取或写入一个可移动的磁盘920)和一个光盘驱动器922(例如,用于读取或写入一个CD-ROM盘片924或其他的光学介质)。硬盘驱动器916、磁盘驱动器918和光盘驱动器922分别通过硬盘驱动器接口926、磁盘驱动器接口928和光盘驱动器接口930连接到系统总线908。驱动器916-922及其相关的计算机可读介质为计算机902提供数据、数据结构、计算机可执行指令等等的非易失性存储。虽然上面对计算机可读介质的描述中提到一个硬盘、一个可移动磁盘和一个CD,但本领域内的技术人员应该意识到,可以被计算机读取的其他类型的介质,如磁带盒、闪存卡、数字视频盘、伯努利盒式磁带等等,也能在示例性的操作环境900中使用,更进一步,任何这些介质中都可以包含完成本发明的方法所用的计算机可执行指令。
若干程序模块可以存储在驱动器916-922和RAM 912中,包括一个操作系统932、一个或多个应用程序934、其他程序模块936和程序数据938。操作系统932可能是任何适当的操作系统或操作系统的组合。作为例子,应用程序934和程序模块936可以包括依照本发明一个方面的搜索查询拼写检查系统。
用户可以通过一个或多个用户输入设备往计算机系统902里输入命令和信息,如键盘940和定位设备436(例如,鼠标942)。其他输入设备(未示出)可以包括麦克风、操纵杆、游戏垫、卫星天线、无线电遥控、扫描仪等等。这些和其他的输入设备一般通过耦合至系统总线908的串行接口944连接至处理单元904,但是也可以通过其他接口连接,如并行端口、游戏端口或通用串行总线(USB)。监视器946或其他类型的显示设备也通过一个接口如视频适配器948连接至系统总线908。除了监视器946之外,计算机902可以包括其他外围输出设备(未示出),如扬声器、打印机等等。
应该明白,计算机902可以工作在使用到一个或多个远程计算机960的逻辑连接的网络化环境中。该远程计算机960可以是工作站、服务器计算机、路由器、对等设备或其他普通网络节点,而且通常包括与计算机902相关的上述元件中的许多或全部,尽管为简短起见,在图9中只例示一个存储器设备962。图9中所描述的逻辑连接可以包括局域网(LAN)964和广域网(WAN)966。这些网络环境常见于办公室、企业范围内的计算机网络、企业内部互联网和因特网。
当用于LAN网络环境时,例如,计算机902通过网络接口或适配器968连到局域网964。当用于WAN网络环境时,计算机902通常包括调制解调器(例如,电话、数字用户线路DSL、线缆Cable等等)970,或连接到局域网的通信服务器上,或有其他在WAN 966上建立通信的方法,如因特网。可以内置于或外置于计算机902的调制解调器970经过串行端口接口944连接到系统总线908。在网络化的环境中,程序模块(包括应用程序934)和/或程序数据938可以存储在远程存储器设备962中。应当明白,所显示的网络连接是示例性的,实现本发明的一个方面时,也可以使用在计算机902和960之间建立通信链路的其他手段(例如,有线的或无线的)。
依照计算机编程领域内技术人员的实践,已经参考由计算机(如计算机902或远程计算机960)执行的动作和操作的符号表示法来描述本发明,除非另外说明。这些动作和操作有时被称为计算机执行。应该明白,动作以及用符号代表的操作包括处理单元904对代表数据位的电子信号的控制,其中作为结果,数据位会引起电子信号表示的变换或转化,以及在存储系统(包括系统存储器906、硬盘驱动器916、软盘920、CD-ROM 924及远程存储器962)的存储位置中数据位的维护,由此配置或者改变计算机系统的操作和其他信号处理。维护这些数据位所在的存储位置是具有与数据位对应的特定的电、磁或光的特性的物理位置。
图10是另一个可以与本发明相互作用的一个样本计算环境1000的方框图。系统1000进一步例示了包括一个或多个客户端1002的系统。(诸)客户端1002可以是硬件和/或软件(例如,线程、进程、计算设备)。系统1000也包括一个或多个服务器1004。(诸)服务器1004可以是硬件和/或软件(例如,线程、进程、计算设备)。(诸)服务器1004可以主控线程执行转换,比如,通过使用本发明。在客户端1002和服务器1004之间的一种可能的通信可以以适合在两个或多个计算机进程之间传输的数据包形式进行。系统1000包括可以用来促进(诸)客户端1002和(诸)服务器1004之间通信的通信框架1008。(诸)客户端1002被连接到一个或多个可以用来存储(诸)客户端1002的本地信息的客户端存储器1010。同样地,(诸)服务器1004被连接到一个或多个可以用来存储(诸)服务器1004的本地信息的(诸)服务器存储器1006。
在本发明一个实例中,在两个或多个计算机组件之间传输的、促进搜索查询拼写检查的数据包至少部分地包含与搜索查询拼写检查系统有关的信息,该系统基于至少一个查询日志,给一组查询字符串至少部分地提供至少一个备选拼写。
应该明白,本发明的系统和/或方法可以用在促进搜索查询拼写检查的计算机组件和类似的非计算机相关组件中。此外,本领域的技术人员将认识到,本发明的系统和/或方法可以应用于一大批相关电子技术中,包括但不限于计算机、服务器和/或手持式电子设备等等。
上面所已经描述的内容包括本发明的例子。当然,出于描绘本发明的目的而描述每一个可以想到的组件或方法的组合是不可能的,但本领域内的普通技术人员应该认识到,本发明的许多进一步的组合和排列都是可能的。因此,本发明包括所有这些属于权利要求书的精神和范围内的改变、修改和变动。此外,在具体实施方式或权利要求书中用到术语“包含”的范围内,这样的术语是指以类似于术语“包括”的方式包括在内,此处的“包括”作为过渡词在权利要求书中使用时作出解释。
Claims (36)
1.一种促进拼写检查的系统,包括:
一接收包含文本查询串的输入数据的组件;以及
一拼写检查组件,其识别文本查询串中一组潜在地被错拼的子串,并基于至少一个查询日志文件,给所述子串组建议至少一个备选拼写;所述查询日志文件包括在一个先前时间范围内被各用户用于查询数据集的数据;
其中,所述拼写检查组件通过利用从所述至少一个查询日志文件中提取出来的词一元模型或二元模型的统计量以及迭代搜索,在子串级别上工作;
其中,所述迭代搜索迭代地搜索一个最佳备选拼写,所述搜索包括:计算所述潜在地被错拼的子串组的一组备选拼写,将所计算的备选拼写组与词一元模型和二元模型进行匹配,并使用所述词一元模型和二元模型的统计量来确定当前迭代的最有可能的备选拼写,直到获得所述最佳备选拼写。
2.如权利要求1所述的系统,其特征在于,所述拼写检查组件进一步使用依赖于用户的信息以获得给定用户的查询日志文件,其中所述依赖于用户的信息包括至少一种用户的搜索模式、用户的兴趣和嗜好、用户的首选项。
3.如权利要求1所述的系统,其特征在于,所述子串组的备选拼写进一步基于至少一个可信辞典。
4.如权利要求3所述的系统,其特征在于,所述拼写检查组件进一步使用一个停用词列表。
5.如权利要求4所述的系统,其特征在于,所述停用词列表包括一个包含高频词和功能词及其常见拼写错误的停用词列表。
6.如权利要求4所述的系统,其特征在于,所述拼写检查组件使用迭代过程来搜索备选拼写空间。
7.如权利要求6所述的系统,其特征在于,所述拼写检查组件使用Viterbi搜索来将辞典用来确定建议的备选拼写的搜索空间。
8.如权利要求6所述的系统,其特征在于,所述拼写检查组件使用Viterbi搜索来限制运行时中所用的数据大小以确定建议的备选拼写的搜索空间。
9.如权利要求7或8所述的系统,其特征在于,所述Viterbi搜索利用至少一个用极值固定的边缘来限制所述搜索空间。
10.如权利要求4所述的系统,其特征在于,所述查询日志文件包括以直方图形式表示的在一个时间范围内被要求的查询信息。
11.如权利要求10所述的系统,其特征在于,所述被要求的查询信息的直方图涉及各用户的一个子集;所述子集包括至少一个用户。
12.如权利要求10所述的系统,其特征在于,所述查询日志文件驻留在服务器计算机上。
13.如权利要求10所述的系统,其特征在于,所述查询日志文件驻留在客户计算机上。
14.如权利要求1所述的系统,其中子串包括从由在至少一个可信辞典之内的条目、在一停用词列表中的条目以及忽略一组预定义的定界符的字符序列组成的组中选择的至少一个。
15.如权利要求1所述的系统,其特征在于,所述词二元模型包括文本中的一对子串。
16.如权利要求15所述的系统,其特征在于,所述词二元模型包括文本中的一对毗邻子串。
17.如权利要求16所述的系统,其特征在于,所述停用词列表的词二元模型统计量进一步包括一个具有忽略停用词的统计量的词二元模型。
18.如权利要求1所述的系统,其特征在于,所述来自查询日志文件的词二元模型统计量以相同的可搜索数据结构被存储。
19.如权利要求18所述的系统,其特征在于,所述数据结构包括一个特里结构。
20.如权利要求18所述的系统,其特征在于,所述系统以与其处理单独子串时所用的相同方式处理串接的和/或拆分的子串。
21.如权利要求20所述的系统,其特征在于,所述拼写检查组件产生一组备选拼写,所述一组备选拼写是从由至少一个查询日志文件和至少一个辞典所组成的组中选择出。
22.如权利要求21所述的系统,其特征在于,所述备选拼写组包括通过迭代改正过程确定的一组备选拼写;
其中所述迭代改正过程包括多个将至少一个子串转变成另一个子串作为备选拼写的迭代;当所有可能的备选拼写都不如当前的备选拼写组适合时,所述迭代改正过程停止;
其中,所述备选拼写及其适合程度基于一概率串距离和一统计上下文模型计算;
其中,所述概率串距离包括一个修正的上下文依赖的加权Damerau-Levenshtein编辑函数,当基本编辑改变时,所述编辑函数允许字符的插入、删除、替换、毗邻调换和远距离移动。
23.如权利要求22所述的系统,在每个迭代中,用于一子串的所述备选拼写组通过利用从至少一个查询日志文件和至少一个可信辞典提取出来的n元模型来产生。
24.如权利要求23所述的系统,在每个迭代中,用于每个子串的所述备选拼写组被限制在距离输入子串的概率串距离δ内;所述限制被强加在每个迭代内,而没有对迭代改正过程作为整体进行限制。
25.如权利要求24所述的系统,在每个迭代中,所述迭代改正过程通过利用统计上下文模型来搜索最佳备选拼写组。
26.如权利要求25所述的系统,其特征在于,所述统计上下文模型包括从至少一个查询日志文件提取出来的词二元模型统计量。
27.如权利要求26所述的系统,其特征在于,在每个迭代中,当根据所述每个迭代中的上下文模型确定所述最佳备选拼写组时使用Viterbi搜索。
28.如权利要求27所述的系统,其特征在于,在一次迭代中,所述Viterbi搜索可以使用边缘来限制备选拼写搜索,使得对每对毗邻子串,如果其中任何一个子串在至少一个可信辞典之内,则在所述迭代中只允许改变所述子串中的一个。
29.一种促进拼写检查的方法,包括:
接收包含文本查询串的输入数据;
识别文本查询串中的一组潜在地被错拼的子串;以及
基于至少一个查询日志文件,为所述子串组建议至少一个备选拼写;所述查询日志文件包括在一个先前时间范围内被各用户用于查询数据收集的数据;
其中所述识别和建议步骤通过利用从所述至少一个查询日志文件中提取出来的词一元模型或二元模型的统计量以及迭代搜索,在子串级别上工作;
其中,所述迭代搜索迭代地搜索一个最佳备选拼写,所述搜索包括:计算所述潜在地被错拼的子串组的一组备选拼写,将所计算的备选拼写组与词一元模型和二元模型进行匹配,并使用所述词一元模型和二元模型的统计量来确定当前迭代的最有可能的备选拼写,直到获得所述最佳备选拼写。
30.如权利要求29所述的方法,其特征在于,所述子串组的所述备选拼写进一步基于至少一个可信辞典。
31.如权利要求30所述的方法,进一步包括:
当确定至少一个备选拼写时至少部分地使用一个停用词列表;
利用来自至少一个查询日志文件的词二元模型统计量;所述查询日志文件包括在一个时间范围内被要求的查询信息的一个直方图,来自所述查询日志文件的词二元模型统计量以相同的可搜索数据结构被存储;
以与处理单个子串所用的相同方式来处理串接和/或拆分的子串;以及
产生一组备选拼写,所述备选拼写组是从由至少一个查询日志文件和至少一个辞典所组成的组中选择的至少一个中的子串,所述备选拼写组包括通过迭代改正过程确定的一组备选拼写。
32.如权利要求31所述的方法,其特征在于,所述迭代改正过程包括:
将至少一个子串转变成另一个子串,作为备选拼写;以及
当所有可能的备选拼写都不如当前的备选拼写组适合时,停止所述迭代改正过程;基于概率串距离和统计上下文模型,计算所述备选拼写及其适合程度。
33.如权利要求32所述的方法,在所述迭代改正过程的每个迭代中进一步包括:
利用从至少一个查询日志文件和至少一个可信辞典之内提取出来的n元模型,来产生用于一个子串的所述备选拼写组;
将每个子串的所述备选拼写组限制在距离一输入子串的概率串距离δ内;所述限制被强加在每个迭代内,而没有将迭代改正过程作为整体进行限制;以及
通过利用统计上下文模型搜索一组最佳备选拼写;所述统计上下文模型包括从至少一个查询日志文件提取出来的词二元模型统计量。
34.如权利要求33所述的方法,进一步包括:
在每次迭代中,当根据所述上下文模型确定所述最佳备选拼写组时使用Viterbi搜索;在一次迭代中,所述Viterbi搜索可以使用边缘来限制备选拼写搜索,使得对于每对毗邻子串,如果其中任何子串在至少一个可信辞典之内,则所述迭代中只允许改变所述子串中的一个。
35.一种使用如权利要求29所述的方法的设备,其特征在于,所述设备包括从由计算机、服务器和手持式电子设备组成的组中选择的至少一个。
36.一种使用如权利要求1所述的系统的设备,其特征在于,所述设备包括从由计算机、服务器和手持式电子设备组成的组中选择的至少一个。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/801,968 US7254774B2 (en) | 2004-03-16 | 2004-03-16 | Systems and methods for improved spell checking |
US10/801,968 | 2004-03-16 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1670723A CN1670723A (zh) | 2005-09-21 |
CN100517301C true CN100517301C (zh) | 2009-07-22 |
Family
ID=34838898
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2005100592310A Expired - Fee Related CN100517301C (zh) | 2004-03-16 | 2005-03-16 | 改进的拼写检查系统和方法 |
Country Status (5)
Country | Link |
---|---|
US (3) | US7254774B2 (zh) |
EP (1) | EP1577793A3 (zh) |
JP (1) | JP2005267638A (zh) |
KR (1) | KR20060043682A (zh) |
CN (1) | CN100517301C (zh) |
Families Citing this family (199)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7750891B2 (en) * | 2003-04-09 | 2010-07-06 | Tegic Communications, Inc. | Selective input system based on tracking of motion parameters of an input device |
US7821503B2 (en) | 2003-04-09 | 2010-10-26 | Tegic Communications, Inc. | Touch screen and graphical user interface |
US7286115B2 (en) | 2000-05-26 | 2007-10-23 | Tegic Communications, Inc. | Directional input system with automatic correction |
US7030863B2 (en) * | 2000-05-26 | 2006-04-18 | America Online, Incorporated | Virtual keyboard system with automatic correction |
US7149970B1 (en) * | 2000-06-23 | 2006-12-12 | Microsoft Corporation | Method and system for filtering and selecting from a candidate list generated by a stochastic input method |
US7644076B1 (en) * | 2003-09-12 | 2010-01-05 | Teradata Us, Inc. | Clustering strings using N-grams |
US7617205B2 (en) * | 2005-03-30 | 2009-11-10 | Google Inc. | Estimating confidence for query revision models |
US7254774B2 (en) * | 2004-03-16 | 2007-08-07 | Microsoft Corporation | Systems and methods for improved spell checking |
US7487145B1 (en) * | 2004-06-22 | 2009-02-03 | Google Inc. | Method and system for autocompletion using ranked results |
US7836044B2 (en) | 2004-06-22 | 2010-11-16 | Google Inc. | Anticipated query generation and processing in a search engine |
US9223868B2 (en) | 2004-06-28 | 2015-12-29 | Google Inc. | Deriving and using interaction profiles |
US7664748B2 (en) * | 2004-07-12 | 2010-02-16 | John Eric Harrity | Systems and methods for changing symbol sequences in documents |
US8051096B1 (en) * | 2004-09-30 | 2011-11-01 | Google Inc. | Methods and systems for augmenting a token lexicon |
US7478081B2 (en) * | 2004-11-05 | 2009-01-13 | International Business Machines Corporation | Selection of a set of optimal n-grams for indexing string data in a DBMS system under space constraints introduced by the system |
US7895218B2 (en) | 2004-11-09 | 2011-02-22 | Veveo, Inc. | Method and system for performing searches for television content using reduced text input |
US7499940B1 (en) | 2004-11-11 | 2009-03-03 | Google Inc. | Method and system for URL autocompletion using ranked results |
US20060106769A1 (en) | 2004-11-12 | 2006-05-18 | Gibbs Kevin A | Method and system for autocompletion for languages having ideographs and phonetic characters |
US20060167676A1 (en) * | 2005-01-26 | 2006-07-27 | Research In Motion Limited | Method and apparatus for correction of spelling errors in text composition |
US7493578B1 (en) * | 2005-03-18 | 2009-02-17 | Xilinx, Inc. | Correlation of data from design analysis tools with design blocks in a high-level modeling system |
US7870147B2 (en) * | 2005-03-29 | 2011-01-11 | Google Inc. | Query revision using known highly-ranked queries |
US7565345B2 (en) * | 2005-03-29 | 2009-07-21 | Google Inc. | Integration of multiple query revision models |
US20060230005A1 (en) * | 2005-03-30 | 2006-10-12 | Bailey David R | Empirical validation of suggested alternative queries |
US7636714B1 (en) | 2005-03-31 | 2009-12-22 | Google Inc. | Determining query term synonyms within query context |
WO2006124027A1 (en) * | 2005-05-16 | 2006-11-23 | Ebay Inc. | Method and system to process a data search request |
US9336283B2 (en) * | 2005-05-31 | 2016-05-10 | Cerner Innovation, Inc. | System and method for data sensitive filtering of patient demographic record queries |
US8548799B2 (en) * | 2005-08-10 | 2013-10-01 | Microsoft Corporation | Methods and apparatus to help users of a natural language system formulate queries |
US7321892B2 (en) * | 2005-08-11 | 2008-01-22 | Amazon Technologies, Inc. | Identifying alternative spellings of search strings by analyzing self-corrective searching behaviors of users |
US7779011B2 (en) | 2005-08-26 | 2010-08-17 | Veveo, Inc. | Method and system for dynamically processing ambiguous, reduced text search queries and highlighting results thereof |
US7788266B2 (en) * | 2005-08-26 | 2010-08-31 | Veveo, Inc. | Method and system for processing ambiguous, multi-term search queries |
US7363599B1 (en) | 2005-10-04 | 2008-04-22 | Xilinx, Inc. | Method and system for matching a hierarchical identifier |
US7496869B1 (en) | 2005-10-04 | 2009-02-24 | Xilinx, Inc. | Method and apparatus for implementing a program language description of a circuit design for an integrated circuit |
US8249871B2 (en) * | 2005-11-18 | 2012-08-21 | Microsoft Corporation | Word clustering for input data |
US7644054B2 (en) | 2005-11-23 | 2010-01-05 | Veveo, Inc. | System and method for finding desired results by incremental search using an ambiguous keypad with the input containing orthographic and typographic errors |
US8010523B2 (en) * | 2005-12-30 | 2011-08-30 | Google Inc. | Dynamic search box for web browser |
US7786979B2 (en) | 2006-01-13 | 2010-08-31 | Research In Motion Limited | Handheld electronic device and method for disambiguation of text input and providing spelling substitution |
US7664343B2 (en) * | 2006-01-23 | 2010-02-16 | Lockheed Martin Corporation | Modified Levenshtein distance algorithm for coding |
US20070198514A1 (en) * | 2006-02-10 | 2007-08-23 | Schwenke Derek L | Method for presenting result sets for probabilistic queries |
US8122019B2 (en) * | 2006-02-17 | 2012-02-21 | Google Inc. | Sharing user distributed search results |
US7844603B2 (en) * | 2006-02-17 | 2010-11-30 | Google Inc. | Sharing user distributed search results |
US8862572B2 (en) * | 2006-02-17 | 2014-10-14 | Google Inc. | Sharing user distributed search results |
US20070208733A1 (en) * | 2006-02-22 | 2007-09-06 | Copernic Technologies, Inc. | Query Correction Using Indexed Content on a Desktop Indexer Program |
US8195683B2 (en) | 2006-02-28 | 2012-06-05 | Ebay Inc. | Expansion of database search queries |
US8214394B2 (en) | 2006-03-01 | 2012-07-03 | Oracle International Corporation | Propagating user identities in a secure federated search system |
US8868540B2 (en) * | 2006-03-01 | 2014-10-21 | Oracle International Corporation | Method for suggesting web links and alternate terms for matching search queries |
US8875249B2 (en) | 2006-03-01 | 2014-10-28 | Oracle International Corporation | Minimum lifespan credentials for crawling data repositories |
US7941419B2 (en) | 2006-03-01 | 2011-05-10 | Oracle International Corporation | Suggested content with attribute parameterization |
US9177124B2 (en) * | 2006-03-01 | 2015-11-03 | Oracle International Corporation | Flexible authentication framework |
US8433712B2 (en) * | 2006-03-01 | 2013-04-30 | Oracle International Corporation | Link analysis for enterprise environment |
US8027982B2 (en) * | 2006-03-01 | 2011-09-27 | Oracle International Corporation | Self-service sources for secure search |
US8332430B2 (en) | 2006-03-01 | 2012-12-11 | Oracle International Corporation | Secure search performance improvement |
US8707451B2 (en) | 2006-03-01 | 2014-04-22 | Oracle International Corporation | Search hit URL modification for secure application integration |
US8005816B2 (en) * | 2006-03-01 | 2011-08-23 | Oracle International Corporation | Auto generation of suggested links in a search system |
US7676460B2 (en) * | 2006-03-03 | 2010-03-09 | International Business Machines Corporation | Techniques for providing suggestions for creating a search query |
US7657526B2 (en) | 2006-03-06 | 2010-02-02 | Veveo, Inc. | Methods and systems for selecting and presenting content based on activity level spikes associated with the content |
US8402409B1 (en) | 2006-03-10 | 2013-03-19 | Xilinx, Inc. | Method and apparatus for supporting run-time reconfiguration in a programmable logic integrated circuit |
US7761272B1 (en) | 2006-03-10 | 2010-07-20 | Xilinx, Inc. | Method and apparatus for processing a dataflow description of a digital processing system |
US7380232B1 (en) | 2006-03-10 | 2008-05-27 | Xilinx, Inc. | Method and apparatus for designing a system for implementation in a programmable logic device |
JP4734155B2 (ja) * | 2006-03-24 | 2011-07-27 | 株式会社東芝 | 音声認識装置、音声認識方法および音声認識プログラム |
US8073860B2 (en) | 2006-03-30 | 2011-12-06 | Veveo, Inc. | Method and system for incrementally selecting and providing relevant search engines in response to a user query |
US9135238B2 (en) * | 2006-03-31 | 2015-09-15 | Google Inc. | Disambiguation of named entities |
US7797629B2 (en) * | 2006-04-05 | 2010-09-14 | Research In Motion Limited | Handheld electronic device and method for performing optimized spell checking during text entry by providing a sequentially ordered series of spell-check algorithms |
EP3822819A1 (en) | 2006-04-20 | 2021-05-19 | Veveo, Inc. | User interface methods and systems for selecting and presenting content based on user navigation and selection actions associated with the content |
US7562811B2 (en) | 2007-01-18 | 2009-07-21 | Varcode Ltd. | System and method for improved quality management in a product logistic chain |
JP2009537038A (ja) | 2006-05-07 | 2009-10-22 | バーコード リミティド | 製品ロジスティックチェーンにおける品質管理を改善するためのシステムおよび方法 |
EP1855210B1 (en) * | 2006-05-11 | 2018-01-03 | Dassault Systèmes | Spell checking |
US7558725B2 (en) * | 2006-05-23 | 2009-07-07 | Lexisnexis, A Division Of Reed Elsevier Inc. | Method and apparatus for multilingual spelling corrections |
US7849078B2 (en) * | 2006-06-07 | 2010-12-07 | Sap Ag | Generating searchable keywords |
US7533089B2 (en) * | 2006-06-27 | 2009-05-12 | International Business Machines Corporation | Hybrid approach for query recommendation in conversation systems |
US8856145B2 (en) * | 2006-08-04 | 2014-10-07 | Yahoo! Inc. | System and method for determining concepts in a content item using context |
US7818332B2 (en) * | 2006-08-16 | 2010-10-19 | Microsoft Corporation | Query speller |
US9552349B2 (en) * | 2006-08-31 | 2017-01-24 | International Business Machines Corporation | Methods and apparatus for performing spelling corrections using one or more variant hash tables |
US8564544B2 (en) | 2006-09-06 | 2013-10-22 | Apple Inc. | Touch screen device, method, and graphical user interface for customizing display of content category icons |
US8019595B1 (en) | 2006-09-11 | 2011-09-13 | WordRake Holdings, LLC | Computer processes for analyzing and improving document readability |
US7536384B2 (en) | 2006-09-14 | 2009-05-19 | Veveo, Inc. | Methods and systems for dynamically rearranging search results into hierarchically organized concept clusters |
US7925986B2 (en) | 2006-10-06 | 2011-04-12 | Veveo, Inc. | Methods and systems for a linear character selection display interface for ambiguous text input |
US7590626B2 (en) * | 2006-10-30 | 2009-09-15 | Microsoft Corporation | Distributional similarity-based models for query correction |
WO2008063987A2 (en) | 2006-11-13 | 2008-05-29 | Veveo, Inc. | Method of and system for selecting and presenting content based on user identification |
CN101206659B (zh) | 2006-12-15 | 2013-09-18 | 谷歌股份有限公司 | 自动搜索查询校正 |
US8201086B2 (en) * | 2007-01-18 | 2012-06-12 | International Business Machines Corporation | Spellchecking electronic documents |
US8225203B2 (en) | 2007-02-01 | 2012-07-17 | Nuance Communications, Inc. | Spell-check for a keyboard system with automatic correction |
US8201087B2 (en) * | 2007-02-01 | 2012-06-12 | Tegic Communications, Inc. | Spell-check for a keyboard system with automatic correction |
US7991609B2 (en) * | 2007-02-28 | 2011-08-02 | Microsoft Corporation | Web-based proofing and usage guidance |
US20080256057A1 (en) * | 2007-04-12 | 2008-10-16 | Soren Riise | Optimizing a query using fuzzy matching |
US7917493B2 (en) * | 2007-04-19 | 2011-03-29 | Retrevo Inc. | Indexing and searching product identifiers |
WO2008135962A2 (en) | 2007-05-06 | 2008-11-13 | Varcode Ltd. | A system and method for quality management utilizing barcode indicators |
US8549424B2 (en) * | 2007-05-25 | 2013-10-01 | Veveo, Inc. | System and method for text disambiguation and context designation in incremental search |
US7996392B2 (en) * | 2007-06-27 | 2011-08-09 | Oracle International Corporation | Changing ranking algorithms based on customer settings |
US8316007B2 (en) * | 2007-06-28 | 2012-11-20 | Oracle International Corporation | Automatically finding acronyms and synonyms in a corpus |
JP5638948B2 (ja) | 2007-08-01 | 2014-12-10 | ジンジャー ソフトウェア、インコーポレイティッド | インターネットコーパスを用いた、文脈依存言語の自動的な修正および改善 |
US20120239834A1 (en) * | 2007-08-31 | 2012-09-20 | Google Inc. | Automatic correction of user input using transliteration |
US8046355B2 (en) * | 2007-09-04 | 2011-10-25 | Google Inc. | Word decompounder |
US8341520B2 (en) * | 2007-09-24 | 2012-12-25 | Ghotit Ltd. | Method and system for spell checking |
US20090083255A1 (en) * | 2007-09-24 | 2009-03-26 | Microsoft Corporation | Query spelling correction |
CN101131706B (zh) * | 2007-09-28 | 2010-10-13 | 北京金山软件有限公司 | 一种查询修正方法及系统 |
US8540156B2 (en) | 2007-11-14 | 2013-09-24 | Varcode Ltd. | System and method for quality management utilizing barcode indicators |
US8943539B2 (en) | 2007-11-21 | 2015-01-27 | Rovi Guides, Inc. | Enabling a friend to remotely modify user data |
US8667004B2 (en) * | 2007-11-30 | 2014-03-04 | Microsoft Corporation | Providing suggestions during formation of a search query |
US7953746B1 (en) | 2007-12-07 | 2011-05-31 | Google Inc. | Contextual query revision |
US8176419B2 (en) * | 2007-12-19 | 2012-05-08 | Microsoft Corporation | Self learning contextual spell corrector |
US20090164339A1 (en) * | 2007-12-21 | 2009-06-25 | Glyde Corporation | 3d product display on internet with content or transaction data on back of image |
US8244590B2 (en) * | 2007-12-21 | 2012-08-14 | Glyde Corporation | Software system for decentralizing ecommerce with single page buy |
US20090164273A1 (en) * | 2007-12-21 | 2009-06-25 | Glyde Corporation | Product distribution system and method thereof |
US7899716B2 (en) * | 2007-12-21 | 2011-03-01 | Glyde Corporation | System and method for integrated payment and shipping information |
US8447645B2 (en) * | 2007-12-21 | 2013-05-21 | Glyde Corporation | System and method for dynamic product pricing |
US7831584B2 (en) | 2007-12-21 | 2010-11-09 | Glyde Corporation | System and method for providing real-time search results on merchandise |
US8630923B2 (en) * | 2007-12-21 | 2014-01-14 | Glyde Corporation | Virtual shelf with single-product choice and automatic multiple-vendor selection |
US9454516B2 (en) * | 2008-01-14 | 2016-09-27 | Blackberry Limited | Method and handheld electronic device employing a touch screen for ambiguous word review or correction |
US8209268B2 (en) * | 2008-01-24 | 2012-06-26 | Sra International, Inc. | System and method for variant string matching |
JP2009245308A (ja) * | 2008-03-31 | 2009-10-22 | Fujitsu Ltd | 文書校正支援プログラム、文書校正支援方法および文書校正支援装置 |
EP2277157A4 (en) * | 2008-04-16 | 2014-06-18 | Ginger Software Inc | SYSTEM FOR WRITING INSTRUCTIONS ON THE BASIS OF PRIOR WRITING EXPERIENCES FOR A USER |
US8090669B2 (en) * | 2008-05-06 | 2012-01-03 | Microsoft Corporation | Adaptive learning framework for data correction |
US11704526B2 (en) | 2008-06-10 | 2023-07-18 | Varcode Ltd. | Barcoded indicators for quality management |
CN101625678B (zh) * | 2008-07-11 | 2011-01-19 | 英业达股份有限公司 | 拼写检查系统及其方法 |
US8301437B2 (en) * | 2008-07-24 | 2012-10-30 | Yahoo! Inc. | Tokenization platform |
US9092517B2 (en) * | 2008-09-23 | 2015-07-28 | Microsoft Technology Licensing, Llc | Generating synonyms based on query log data |
US8423353B2 (en) * | 2009-03-25 | 2013-04-16 | Microsoft Corporation | Sharable distributed dictionary for applications |
US8176069B2 (en) | 2009-06-01 | 2012-05-08 | Aol Inc. | Systems and methods for improved web searching |
CN102483752A (zh) | 2009-06-03 | 2012-05-30 | 谷歌公司 | 用于部分输入的查询的自动完成 |
KR101083455B1 (ko) * | 2009-07-17 | 2011-11-16 | 엔에이치엔(주) | 통계 데이터에 기초한 사용자 질의 교정 시스템 및 방법 |
US20110035375A1 (en) * | 2009-08-06 | 2011-02-10 | Ron Bekkerman | Building user profiles for website personalization |
US9166714B2 (en) | 2009-09-11 | 2015-10-20 | Veveo, Inc. | Method of and system for presenting enriched video viewing analytics |
US8515975B1 (en) | 2009-12-07 | 2013-08-20 | Google Inc. | Search entity transition matrix and applications of the transition matrix |
KR101301534B1 (ko) * | 2009-12-14 | 2013-09-04 | 한국전자통신연구원 | 이형태 자동 구축 방법 및 장치 |
US8868402B2 (en) * | 2009-12-30 | 2014-10-21 | Google Inc. | Construction of text classifiers |
US8549018B1 (en) * | 2010-01-21 | 2013-10-01 | Symantec Corporation | Systems and methods for predictive responses to internet object queries |
US8386239B2 (en) * | 2010-01-25 | 2013-02-26 | Holovisions LLC | Multi-stage text morphing |
WO2011092691A1 (en) | 2010-02-01 | 2011-08-04 | Ginger Software, Inc. | Automatic context sensitive language correction using an internet corpus particularly for small keyboard devices |
US9703779B2 (en) | 2010-02-04 | 2017-07-11 | Veveo, Inc. | Method of and system for enhanced local-device content discovery |
US8782556B2 (en) | 2010-02-12 | 2014-07-15 | Microsoft Corporation | User-centric soft keyboard predictive technologies |
US8402032B1 (en) | 2010-03-25 | 2013-03-19 | Google Inc. | Generating context-based spell corrections of entity names |
US8161073B2 (en) | 2010-05-05 | 2012-04-17 | Holovisions, LLC | Context-driven search |
US9600566B2 (en) | 2010-05-14 | 2017-03-21 | Microsoft Technology Licensing, Llc | Identifying entity synonyms |
US20110314337A1 (en) * | 2010-06-18 | 2011-12-22 | International Business Machines Corporation | Method and Apparatus for Locating Input-Model Faults Using Dynamic Tainting |
US20110313756A1 (en) * | 2010-06-21 | 2011-12-22 | Connor Robert A | Text sizer (TM) |
US8769516B2 (en) * | 2010-08-19 | 2014-07-01 | International Business Machines Corporation | Systems and methods for automated support for repairing input model errors |
US8812734B2 (en) * | 2010-09-01 | 2014-08-19 | Microsoft Corporation | Network feed content |
KR101378162B1 (ko) * | 2010-11-10 | 2014-03-27 | (주)아이티버스 | 오류단어 자동 정정시스템 및 그 자동 정정방법 |
US9529908B2 (en) | 2010-11-22 | 2016-12-27 | Microsoft Technology Licensing, Llc | Tiering of posting lists in search engine index |
US9342582B2 (en) * | 2010-11-22 | 2016-05-17 | Microsoft Technology Licensing, Llc | Selection of atoms for search engine retrieval |
US9424351B2 (en) | 2010-11-22 | 2016-08-23 | Microsoft Technology Licensing, Llc | Hybrid-distribution model for search engine indexes |
US8478704B2 (en) | 2010-11-22 | 2013-07-02 | Microsoft Corporation | Decomposable ranking for efficient precomputing that selects preliminary ranking features comprising static ranking features and dynamic atom-isolated components |
US8620907B2 (en) | 2010-11-22 | 2013-12-31 | Microsoft Corporation | Matching funnel for large document index |
US8713024B2 (en) | 2010-11-22 | 2014-04-29 | Microsoft Corporation | Efficient forward ranking in a search engine |
US9195745B2 (en) | 2010-11-22 | 2015-11-24 | Microsoft Technology Licensing, Llc | Dynamic query master agent for query execution |
US8626681B1 (en) * | 2011-01-04 | 2014-01-07 | Google Inc. | Training a probabilistic spelling checker from structured data |
US20120246133A1 (en) * | 2011-03-23 | 2012-09-27 | Microsoft Corporation | Online spelling correction/phrase completion system |
US9646108B2 (en) | 2011-05-10 | 2017-05-09 | Uber Technologies, Inc. | Systems and methods for performing geo-search and retrieval of electronic documents using a big index |
US9165074B2 (en) | 2011-05-10 | 2015-10-20 | Uber Technologies, Inc. | Systems and methods for performing geo-search and retrieval of electronic point-of-interest records using a big index |
US8620749B2 (en) | 2011-06-20 | 2013-12-31 | Glyde Corporation | Customized offers for E-commerce |
EP2541439A1 (en) * | 2011-06-27 | 2013-01-02 | Amadeus s.a.s. | Method and system for processing a search request |
US20130061139A1 (en) * | 2011-09-01 | 2013-03-07 | Google Inc. | Server-based spell checking on a user device |
WO2013032617A1 (en) * | 2011-09-01 | 2013-03-07 | Google Inc. | Server-based spell checking |
US8768935B2 (en) * | 2011-10-10 | 2014-07-01 | Verisign, Inc. | Bigram suggestions |
US10176168B2 (en) | 2011-11-15 | 2019-01-08 | Microsoft Technology Licensing, Llc | Statistical machine translation based search query spelling correction |
US9317606B1 (en) * | 2012-02-03 | 2016-04-19 | Google Inc. | Spell correcting long queries |
US8745019B2 (en) | 2012-03-05 | 2014-06-03 | Microsoft Corporation | Robust discovery of entity synonyms using query logs |
US9183312B2 (en) * | 2012-03-20 | 2015-11-10 | Google Inc. | Image display within web search results |
US9043248B2 (en) | 2012-03-29 | 2015-05-26 | International Business Machines Corporation | Learning rewrite rules for search database systems using query logs |
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 |
US8856166B2 (en) * | 2012-06-25 | 2014-10-07 | Sap Ag | Query validator |
US9135912B1 (en) * | 2012-08-15 | 2015-09-15 | Google Inc. | Updating phonetic dictionaries |
US9229924B2 (en) | 2012-08-24 | 2016-01-05 | Microsoft Technology Licensing, Llc | Word detection and domain dictionary recommendation |
US8807422B2 (en) | 2012-10-22 | 2014-08-19 | Varcode Ltd. | Tamper-proof quality management barcode indicators |
CN103838739B (zh) * | 2012-11-21 | 2019-05-28 | 百度在线网络技术(北京)有限公司 | 一种搜索引擎中纠错词的检测方法及系统 |
KR101446468B1 (ko) * | 2012-11-28 | 2014-10-06 | (주)이스트소프트 | 자동완성 질의어 제공 시스템 및 방법 |
US9740767B2 (en) * | 2013-03-15 | 2017-08-22 | Mapquest, Inc. | Systems and methods for analyzing failed and successful search queries |
KR101483433B1 (ko) * | 2013-03-28 | 2015-01-16 | (주)이스트소프트 | 오타 교정 시스템 및 오타 교정 방법 |
US20140317495A1 (en) * | 2013-04-22 | 2014-10-23 | Research In Motion Limited | Retroactive word correction |
US9552411B2 (en) | 2013-06-05 | 2017-01-24 | Microsoft Technology Licensing, Llc | Trending suggestions |
KR101482430B1 (ko) * | 2013-08-13 | 2015-01-15 | 포항공과대학교 산학협력단 | 전치사 교정 방법 및 이를 수행하는 장치 |
US9594742B2 (en) | 2013-09-05 | 2017-03-14 | Acxiom Corporation | Method and apparatus for matching misspellings caused by phonetic variations |
IL230993A (en) * | 2014-02-16 | 2017-01-31 | Google Inc | Spelling variant detection by imagining pairs of sequences |
US10068008B2 (en) | 2014-08-28 | 2018-09-04 | Microsoft Technologies Licensing, LLC | Spelling correction of email queries |
TWI553491B (zh) * | 2014-11-21 | 2016-10-11 | 財團法人工業技術研究院 | 問句處理系統及其方法 |
US9679024B2 (en) * | 2014-12-01 | 2017-06-13 | Facebook, Inc. | Social-based spelling correction for online social networks |
CN107615027B (zh) | 2015-05-18 | 2020-03-27 | 发可有限公司 | 用于可激活质量标签的热致变色墨水标记 |
US10740852B1 (en) | 2015-06-23 | 2020-08-11 | Square, Inc. | Classifying merchants |
JP6898298B2 (ja) | 2015-07-07 | 2021-07-07 | バーコード リミティド | 電子品質表示指標 |
KR101839121B1 (ko) * | 2015-09-14 | 2018-04-26 | 네이버 주식회사 | 사용자 질의 교정 시스템 및 방법 |
US10628522B2 (en) * | 2016-06-27 | 2020-04-21 | International Business Machines Corporation | Creating rules and dictionaries in a cyclical pattern matching process |
US10579729B2 (en) | 2016-10-18 | 2020-03-03 | International Business Machines Corporation | Methods and system for fast, adaptive correction of misspells |
US10372814B2 (en) | 2016-10-18 | 2019-08-06 | International Business Machines Corporation | Methods and system for fast, adaptive correction of misspells |
CN106911717A (zh) * | 2017-04-13 | 2017-06-30 | 成都亚信网络安全产业技术研究院有限公司 | 一种域名检测方法及装置 |
KR101977206B1 (ko) * | 2017-05-17 | 2019-06-18 | 주식회사 한글과컴퓨터 | 유사어 보정 시스템 및 방법 |
US10949825B1 (en) | 2017-06-30 | 2021-03-16 | Square, Inc. | Adaptive merchant classification |
US11093709B2 (en) | 2017-08-10 | 2021-08-17 | International Business Machine Corporation | Confidence models based on error-to-correction mapping |
US11348119B1 (en) | 2017-10-18 | 2022-05-31 | Block, Inc. | Intelligent merchant onboarding |
CN108280051B (zh) * | 2018-01-22 | 2019-04-05 | 清华大学 | 一种文本数据中错误字符的检测方法、装置和设备 |
CN108376365B (zh) * | 2018-03-22 | 2021-06-18 | 中国银行股份有限公司 | 一种银行编号确定方法及装置 |
CN109214167B (zh) * | 2018-08-01 | 2021-04-16 | 深圳市文鼎创数据科技有限公司 | 一种智能密钥安全设备及其密钥恢复方法、存储介质 |
US10803242B2 (en) * | 2018-10-26 | 2020-10-13 | International Business Machines Corporation | Correction of misspellings in QA system |
US10977430B1 (en) * | 2018-11-19 | 2021-04-13 | Intuit Inc. | System and method for correction of acquired transaction text fields |
KR101966627B1 (ko) * | 2018-12-26 | 2019-04-08 | 사라소프트주식회사 | 모바일용 의료기록지 번역시스템 |
CN109992796B (zh) * | 2019-02-22 | 2023-07-04 | 中译语通科技股份有限公司 | 一种MerCube机器翻译管理控制系统及方法、计算机程序 |
US10936813B1 (en) * | 2019-05-31 | 2021-03-02 | Amazon Technologies, Inc. | Context-aware spell checker |
US10963640B2 (en) * | 2019-06-28 | 2021-03-30 | Microsoft Technology Licensing, Llc | System and method for cooperative text recommendation acceptance in a user interface |
US11860884B2 (en) * | 2021-03-30 | 2024-01-02 | Snap Inc. | Search query modification database |
CN113627160B (zh) * | 2021-09-17 | 2023-09-22 | 平安银行股份有限公司 | 文本纠错方法、装置、电子设备及存储介质 |
Family Cites Families (34)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US2011103A (en) * | 1935-08-13 | Furnace damper | ||
US3081774A (en) * | 1960-05-19 | 1963-03-19 | Lelyveld Joseph | Arch support with metatarsal support bar |
US5258909A (en) | 1989-08-31 | 1993-11-02 | International Business Machines Corporation | Method and apparatus for "wrong word" spelling error detection and correction |
DE4323241A1 (de) | 1993-07-12 | 1995-02-02 | Ibm | Verfahren und Computersystem zur Suche fehlerhafter Zeichenketten in einem Text |
US5758257A (en) * | 1994-11-29 | 1998-05-26 | Herz; Frederick | System and method for scheduling broadcast of and access to video programs and other data using customer profiles |
US5659771A (en) * | 1995-05-19 | 1997-08-19 | Mitsubishi Electric Information Technology Center America, Inc. | System for spelling correction in which the context of a target word in a sentence is utilized to determine which of several possible words was intended |
US5875443A (en) * | 1996-01-30 | 1999-02-23 | Sun Microsystems, Inc. | Internet-based spelling checker dictionary system with automatic updating |
US5963965A (en) * | 1997-02-18 | 1999-10-05 | Semio Corporation | Text processing and retrieval system and method |
US6047300A (en) | 1997-05-15 | 2000-04-04 | Microsoft Corporation | System and method for automatically correcting a misspelled word |
US5892919A (en) * | 1997-06-23 | 1999-04-06 | Sun Microsystems, Inc. | Spell checking universal resource locator (URL) by comparing the URL against a cache containing entries relating incorrect URLs submitted by users to corresponding correct URLs |
US6081774A (en) * | 1997-08-22 | 2000-06-27 | Novell, Inc. | Natural language information retrieval system and method |
US6272456B1 (en) * | 1998-03-19 | 2001-08-07 | Microsoft Corporation | System and method for identifying the language of written text having a plurality of different length n-gram profiles |
US6424983B1 (en) * | 1998-05-26 | 2002-07-23 | Global Information Research And Technologies, Llc | Spelling and grammar checking system |
US6006225A (en) * | 1998-06-15 | 1999-12-21 | Amazon.Com | Refining search queries by the suggestion of correlated terms from prior searches |
US6144958A (en) | 1998-07-15 | 2000-11-07 | Amazon.Com, Inc. | System and method for correcting spelling errors in search queries |
US6636849B1 (en) * | 1999-11-23 | 2003-10-21 | Genmetrics, Inc. | Data search employing metric spaces, multigrid indexes, and B-grid trees |
US6772150B1 (en) * | 1999-12-10 | 2004-08-03 | Amazon.Com, Inc. | Search query refinement using related search phrases |
US6918086B2 (en) * | 2000-03-28 | 2005-07-12 | Ariel S. Rogson | Method and apparatus for updating database of automatic spelling corrections |
US6684201B1 (en) * | 2000-03-31 | 2004-01-27 | Microsoft Corporation | Linguistic disambiguation system and method using string-based pattern training to learn to resolve ambiguity sites |
US6701309B1 (en) * | 2000-04-21 | 2004-03-02 | Lycos, Inc. | Method and system for collecting related queries |
US6616704B1 (en) * | 2000-09-20 | 2003-09-09 | International Business Machines Corporation | Two step method for correcting spelling of a word or phrase in a document |
US6785677B1 (en) * | 2001-05-02 | 2004-08-31 | Unisys Corporation | Method for execution of query to search strings of characters that match pattern with a target string utilizing bit vector |
US7016829B2 (en) * | 2001-05-04 | 2006-03-21 | Microsoft Corporation | Method and apparatus for unsupervised training of natural language processing units |
US7076731B2 (en) | 2001-06-02 | 2006-07-11 | Microsoft Corporation | Spelling correction system and method for phrasal strings using dictionary looping |
US6820075B2 (en) * | 2001-08-13 | 2004-11-16 | Xerox Corporation | Document-centric system with auto-completion |
US20040073333A1 (en) * | 2001-11-27 | 2004-04-15 | Brill Eric A. | System, method, and program for sorting objects |
US7194684B1 (en) * | 2002-04-09 | 2007-03-20 | Google Inc. | Method of spell-checking search queries |
US7113950B2 (en) | 2002-06-27 | 2006-09-26 | Microsoft Corporation | Automated error checking system and method |
US7051023B2 (en) * | 2003-04-04 | 2006-05-23 | Yahoo! Inc. | Systems and methods for generating concept units from search queries |
US8666983B2 (en) * | 2003-06-13 | 2014-03-04 | Microsoft Corporation | Architecture for generating responses to search engine queries |
US7617202B2 (en) * | 2003-06-16 | 2009-11-10 | Microsoft Corporation | Systems and methods that employ a distributional analysis on a query log to improve search results |
US7254774B2 (en) | 2004-03-16 | 2007-08-07 | Microsoft Corporation | Systems and methods for improved spell checking |
GB0413743D0 (en) * | 2004-06-19 | 2004-07-21 | Ibm | Method and system for approximate string matching |
US20060112091A1 (en) * | 2004-11-24 | 2006-05-25 | Harbinger Associates, Llc | Method and system for obtaining collection of variants of search query subjects |
-
2004
- 2004-03-16 US US10/801,968 patent/US7254774B2/en not_active Expired - Fee Related
-
2005
- 2005-03-14 EP EP05101951A patent/EP1577793A3/en not_active Withdrawn
- 2005-03-16 CN CNB2005100592310A patent/CN100517301C/zh not_active Expired - Fee Related
- 2005-03-16 JP JP2005074980A patent/JP2005267638A/ja active Pending
- 2005-03-16 KR KR1020050021727A patent/KR20060043682A/ko not_active Application Discontinuation
- 2005-03-30 US US11/094,078 patent/US8321471B2/en active Active
-
2007
- 2007-01-05 US US11/620,171 patent/US20070106937A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
US20050210383A1 (en) | 2005-09-22 |
KR20060043682A (ko) | 2006-05-15 |
JP2005267638A (ja) | 2005-09-29 |
US20070106937A1 (en) | 2007-05-10 |
US8321471B2 (en) | 2012-11-27 |
EP1577793A2 (en) | 2005-09-21 |
CN1670723A (zh) | 2005-09-21 |
US7254774B2 (en) | 2007-08-07 |
EP1577793A3 (en) | 2007-05-02 |
US20050210017A1 (en) | 2005-09-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100517301C (zh) | 改进的拼写检查系统和方法 | |
Zanasi | Text mining and its applications to intelligence, CRM and knowledge management | |
CN106537370B (zh) | 在存在来源和翻译错误的情况下对命名实体鲁棒标记的方法和系统 | |
Ahmed et al. | Language identification from text using n-gram based cumulative frequency addition | |
US20130304730A1 (en) | Automated answers to online questions | |
US20180032589A1 (en) | Determining Temporal Categories for a Domain of Content for Natural Language Processing | |
US11354340B2 (en) | Time-based optimization of answer generation in a question and answer system | |
CN110008309B (zh) | 一种短语挖掘方法及装置 | |
CN104573028A (zh) | 实现智能问答的方法和系统 | |
JP2005122533A (ja) | 質問応答システムおよび質問応答処理方法 | |
CN104102721A (zh) | 信息推荐方法和装置 | |
CN111444713B (zh) | 新闻事件内实体关系抽取方法及装置 | |
CN110888946A (zh) | 一种基于知识驱动的查询的实体链接方法 | |
Derici et al. | A closed-domain question answering framework using reliable resources to assist students | |
Wen | Text mining using HMM and PMM | |
Roche et al. | AcroDef: A quality measure for discriminating expansions of ambiguous acronyms | |
CN114328822A (zh) | 一种基于深度数据挖掘的合同文本智能分析方法 | |
Juan | An effective similarity measurement for FAQ question answering system | |
Milić-Frayling | Text processing and information retrieval | |
Nguyen | Facilitating access to historical documents by improving digitisation results | |
CN112214511A (zh) | 一种基于wtp-wcd算法的api推荐方法 | |
Hussain et al. | Auto-Correction Model for Lip Reading System | |
CN110930189A (zh) | 基于用户行为的个性化营销方法 | |
Wu | Model and Simulation of Maximum Entropy Phrase Reordering of English Text in Language Learning Machine | |
CN118093838B (zh) | 一种大语言模型提示词生成方法、系统、终端设备及介质 |
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 | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20090722 Termination date: 20100316 |