CN1670723A - 改进的拼写检查系统和方法 - Google Patents

改进的拼写检查系统和方法 Download PDF

Info

Publication number
CN1670723A
CN1670723A CNA2005100592310A CN200510059231A CN1670723A CN 1670723 A CN1670723 A CN 1670723A CN A2005100592310 A CNA2005100592310 A CN A2005100592310A CN 200510059231 A CN200510059231 A CN 200510059231A CN 1670723 A CN1670723 A CN 1670723A
Authority
CN
China
Prior art keywords
substring
inquiry
group
alternative spelling
search
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CNA2005100592310A
Other languages
English (en)
Other versions
CN100517301C (zh
Inventor
E·D·布里尔
S·-P·库塞赞
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Corp
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of CN1670723A publication Critical patent/CN1670723A/zh
Application granted granted Critical
Publication of CN100517301C publication Critical patent/CN100517301C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9532Query formulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/232Orthographic correction, e.g. spell checking or vowelisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B63SHIPS OR OTHER WATERBORNE VESSELS; RELATED EQUIPMENT
    • B63BSHIPS OR OTHER WATERBORNE VESSELS; EQUIPMENT FOR SHIPPING 
    • B63B2221/00Methods and means for joining members or elements
    • B63B2221/08Methods and means for joining members or elements by means of threaded members, e.g. screws, threaded bolts or nuts
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B63SHIPS OR OTHER WATERBORNE VESSELS; RELATED EQUIPMENT
    • B63CLAUNCHING, 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/00Equipment usable both on slipways and in dry docks
    • B63C5/02Stagings; Scaffolding; Shores or struts
    • B63C2005/022Shores or struts, e.g. individual oblique support elements for stabilizing hulls in dry-docks
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F16ENGINEERING ELEMENTS AND UNITS; GENERAL MEASURES FOR PRODUCING AND MAINTAINING EFFECTIVE FUNCTIONING OF MACHINES OR INSTALLATIONS; THERMAL INSULATION IN GENERAL
    • F16BDEVICES FOR FASTENING OR SECURING CONSTRUCTIONAL ELEMENTS OR MACHINE PARTS TOGETHER, e.g. NAILS, BOLTS, CIRCLIPS, CLAMPS, CLIPS OR WEDGES; JOINTS OR JOINTING
    • F16B5/00Joining sheets or plates, e.g. panels, to one another or to strips or bars parallel to them
    • F16B5/02Joining 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/332Query formulation
    • G06F16/3322Query formulation using system suggestions

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;ACMComputing 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查询的实际情况。
其他的内容和性能进一步限制了在网络查询拼写改正系统设计中使用计算强度密集算法。例如,在基于服务器的架构中,这样的系统必须满足限制非常严格的时间性能要求,而空间的要求可以放松。下面提供这些限制的一部分,但没有提供对这些限制的完全分析。通过利用任务的一系列正式定义并给出显示与每种情形相对应长处和局限的具体例子,简要分析“典型的”拼写改正方法的例子。该问题被迭代地重新定义,开始于纯粹地基于可信辞典的方法,结束于可信辞典的作用大大减小的方法。这样做的时候,为了提供有效网络查询的可用定义,给出具体的前进步骤。
令∑为一种语言的字母表,L∑*为该语言的一个广泛覆盖的辞典。于是,拼写改正最简单的定义可以如下:
给定w∈∑*\L,找到w′∈L,使得 dist ( w , w ′ ) = min v ∈ L dist ( w , v ) .
即是说,对于文本中任何在辞典之外的词,找到可用辞典之内最接近的词形,并假定其为正确的拼写备选方案。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)。通用的拼写改正问题可以再用公式表示如下:
给定w∈∑*\L,找到w′∈L,使得 dist ( w , w ′ ) ≤ δP ( w ′ ) = max v ∈ L : dist ( w , v ) ≤ δ P ( v ) .
在这一公式表示中,所有处于未知词某个“合理的”距离δ内的在辞典之内的词被认为是好的候选词,基于其先验概率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查询拼写改正中是非常典型的)时,总是从这个列表中采用第一个建议会导致许多错误。
考虑上下文问题的一个可能公式表示如下:
给定s∈∑*,s=clwcr,且有w∈∑*\L及cl,cr∈L*,找到w′∈L,使得dist(w,w′)≤δ且 P ( c l w ′ c r ) = max v ∈ L : dist ( w , v ) ≤ δ P ( c l v c r ) .
为简单起见,在这一公式表示中空格和其他的词定界符被忽略了。随后问题的公式表示也将忽略词定界符,虽然可以认为词的标记化是拼写改正过程的一个重要部分。
基于以上定义的传统拼写—改正系统不处理用其他有效词对有效词进行替换的情况。在web搜索的情况中,当改正比原来的查询更“富有意义”时,给有效词提供改正建议很重要,例如:
                food explorer→ford explorer
                     golf war→gulf war
下面的例子显示传统拼写改正程序不处理的两个问题的组合,即上下文敏感的改正和有效词替换:
                chicken sop→chicken soup
                   sop opera→soap opera
CSSC的任务部分地解决这些问题,如NLP文献中所定义的,可以用公式表示如下:
给定一种语言中的一组易混淆的有效词形W={w1,w2,...,wn}和一个字符串s=clwicr,选择wj∈W,使得 P ( c l w j c r ) = max k = 1 . . n P ( c l w k c r ) .
正如公式表示的那样,相对于传统的通用拼写改正。CSSC的任务更倾向于涉及词义消歧(WSD,word sense disambiguation)。然而当所有的词w′满足dist(w,w′)≤δ时,通过为文本中的每个词构造一组易混淆词,可以将该任务应用于拼写改正。短语拼写改正的一般化问题可以用公式表示如下:
给定s∈∑*,找到s′∈L*,使得dist(s,s′)≤δ且 P ( s ′ ) = max t ∈ L * : dist ( s , t ) ≤ δ P ( t ) .
通常,当 时(即是说,组成的词中至少有一个是未知的),拼写改正是希望的,但如上所示,还有经常发生的情况如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
这就引出拼写—改正问题的更一般化的公式表示,如下所示:
给定s∈∑*,找到s′∈∑*,使得dist(s,s′)≤δ且 P ( s ′ ) = max t ∈ Σ * : dist ( s , t ) ≤ δ P ( t ) .
这一公式表示并不明确地使用该语言的辞典,虽然在字符串的似然估计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查询
搜索查询               频率albert einstein        10135albert einstien        1320albert einstine        221albert einsten         53albert einstein′s     52albert einsteins       48albert einstain        21albert einstin         20albert eintein         19albeart einstein       17aolbert einstein       11alber einstein         8albert einseint        7albert einsteirn       7albert einsterin       7albert eintien         6alberto einstein       6albrecht einstein      5alvert Einstein        5
在这个上下文中,可以针对拼写改正问题给出下面的迭代公式表示:
给定s0∈∑*,找到一个序列s1,s2,...sn∈∑*,使得dist(si,si+1)≤δ且 P ( s i + 1 ) = max t ∈ Σ * : dist ( s i , t ) ≤ δ P ( t ) , i∈0..n-1,以及 P ( s n ) = max t ∈ Σ * : dist ( s n , t ) ≤ δ P ( t ) .
通过迭代地应用本发明的基本拼写检查程序进行改正的一个例子是:
           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
本发明克服上述方法的问题,创造出一种有效的查询拼写检查方法。本发明利用下面的公式表示:
给定s0∈∑*,找到一个序列s1,s2,...sn∈∑*,使得:对每个i∈0..n-1存在分解 s i = w i , 0 1 . . . w i , 0 l i , s i + 1 = w i + 1,1 1 · · · w i + 1 , 1 l i , 此处wj,h k为满足 dist ( w i , 0 k , w i + 1,1 k ) ≤ δ , i=0...n-1,k=1...li的词或词组;对i=0..n-1,有 P ( s i + 1 ) = max t ∈ Σ * : dist ( s i , t ) ≤ δ P ( t ) ; 且有 P ( s n ) = max t ∈ Σ * : dist ( s n , t ) ≤ δ P ( t ) .
可以观察到,从一次迭代到下一次迭代,字符串分解的长度可以变化,例如:
迭代过程易于出现其他类型的问题。短查询能被迭代地转换成其他不相关的查询;因此,在本发明一个实例中,改变这样的查询还有另外的限制。为了进行训练,本发明除了使用可用的词典信息(例如,像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 (42)

1.一种促进拼写检查的系统,包括:
一接收包含文本的输入数据的组件;以及
一拼写检查组件,其识别文本中一组潜在地被错拼的子串,并基于至少一个查询日志,给所述子串组建议至少一个备选拼写;所述查询日志包括在一个时间范围内被诸用户用于查询数据集的数据。
2.如权利要求1所述的系统,其特征在于,所述拼写检查组件在建议至少一个备选拼写时进一步利用依赖于用户的信息。
3.如权利要求1所述的系统,其特征在于,所述子串组的备选拼写进一步基于至少一个可信辞典;所述可信辞典包括从由一个有内容的可信辞典和一个没有内容的可信辞典组成的组中选择的至少一个。
4.如权利要求3所述的系统,其特征在于,所述拼写检查组件进一步使用一个停用词列表;所述停用词列表包括从由一个有内容的停用词列表和一个没有内容的停用词列表组成的组中选择的至少一个。
5.如权利要求4所述的系统,其特征在于,所述有内容的停用词列表包括一个包含高频词和功能词及其常见拼写错误的停用词列表。
6.如权利要求4所述的系统,其特征在于,所述拼写检查组件使用迭代过程来搜索备选拼写空间。
7.如权利要求6所述的系统,其特征在于,所述拼写检查组件至少部分地使用试探法来将限制强加于用来确定建议的备选拼写的搜索空间。
8.如权利要求7所述的系统,其特征在于,所述试探法至少部分地利用至少一个边缘来限制所述搜索空间。
9.如权利要求4所述的系统,其特征在于,所述查询日志包括在一个时间范围内被要求的查询的一个直方图。
10.如权利要求9所述的系统,其特征在于,所述被要求的查询的直方图涉及诸用户的一个子集;所述子集包括至少一个用户。
11.如权利要求9所述的系统,其特征在于,所述查询日志驻留在服务器计算机上。
12.如权利要求9所述的系统,其特征在于,所述查询日志驻留在客户计算机上。
13.如权利要求9所述的系统,其特征在于,所述拼写检查组件利用来自至少一个查询日志的子串出现和共现统计数据。
14.如权利要求13所述的系统,其中子串包括从由在至少一个可信辞典之内的条目、在一停用词列表中的条目以及没有一组预定义的定界符的字符序列组成的组中选择的至少一个。
15.如权利要求13所述的系统,其特征在于,所述子串共现统计数据包括子串二元模型计数;子串二元模型包括文本中的一对子串。
16.如权利要求15所述的系统,其特征在于,所述子串二元模型包括文本中的一对毗邻子串。
17.如权利要求16所述的系统,其特征在于,所述有内容的停用词列表的子串共现统计数据进一步包括一个带停用词序列忽略计数的子串二元模型。
18.如权利要求13所述的系统,其特征在于,所述来自查询日志的子串出现和共现统计数据被存储于一相同的可搜索数据结构中。
19.如权利要求18所述的系统,其特征在于,所述数据结构包括一个特里结构。
20.如权利要求18所述的系统,其特征在于,所述系统以与其处理个别子串时所用的相同方式处理串接的和/或拆分的子串。
21.如权利要求20所述的系统,其特征在于,所述拼写检查组件产生一组备选拼写,所述一组备选拼写是从由至少一个查询日志和至少一个辞典所组成的组中选择的至少一个的子串。
22.如权利要求21所述的系统,其特征在于,所述备选拼写组包括通过迭代改正过程确定的一组备选拼写。
23.如权利要求22所述的系统,其特征在于,所述迭代改正过程包括多个将至少一个子串转变成另一个子串作为备选拼写的迭代;当所有可能的备选拼写都不如当前的备选拼写组恰当时,所述迭代改正过程停止。
24.如权利要求23所述的系统,所述备选拼写及其适合程度基于一概率串距离和一统计上下文模型计算。
25.如权利要求24所述的系统,其特征在于,所述概率串距离包括一个修正的上下文依赖的加权Damerau-Levenshtein编辑函数,当指点改变时,所述编辑函数允许字符的插入、删除、替换、毗邻调换和远距离移动。
26.如权利要求24所述的系统,在每个迭代中,用于一子串的所述备选拼写组通过利用从至少一个查询日志和至少一个可信辞典提取出来的可搜索子串数据结构来产生。
27.如权利要求26所述的系统,在每个迭代中,用于每个子串的所述备选拼写组被限制在距离输入子串的概率距离δ内;所述限制被强加在每个迭代内,而没有对迭代改正过程作为整体进行限制。
28.如权利要求27所述的系统,在每个迭代中,所述迭代改正过程通过利用统计上下文模型来搜索最佳备选拼写组。
29.如权利要求28所述的系统,其特征在于,所述统计上下文模型包括从至少一个查询日志提取出来的子串出现和共现统计数据。
30.如权利要求29所述的系统,其特征在于,在每个迭代中,使用Viterbi搜索来促进根据所述上下文模型确定所述最佳备选拼写组。
31.如权利要求30所述的系统,其特征在于,在一次迭代中,所述Viterbi搜索可以使用边缘来限制备选拼写搜索,使得对每对毗邻子串,如果其中任何一个子串在至少一个可信辞典之内,则在所述迭代中只允许改变所述子串中的一个。
32.一种促进拼写检查的方法,包括:
接收包含文本的输入数据;
识别文本中的一组潜在地被错拼的子串;以及
基于至少一个查询日志,为所述子串组建议至少一个备选拼写;所述查询日志包括在一个时间范围内被诸用户用于查询数据收集的数据。
33.如权利要求32所述的方法,其特征在于,所述子串组的所述备选拼写进一步基于至少一个可信辞典;所述可信辞典包括从由一个有内容的可信辞典和一个没有内容的可信辞典组成的组中选择的至少一个。
34.如权利要求33所述的方法,进一步包括:
至少部分地使用一个停用词列表来促进确定至少一个备选拼写;所述停用词列表包括从由一个有内容的停用词列表和一个没有内容的停用词列表组成的组中选择的至少一个。
利用来自至少一个查询日志的子串出现和共现统计数据;所述查询日志包括在一个时间范围内被要求的查询的一个直方图,来自所述查询日志的子串出现和共现统计数据存储在一个相同的可搜索数据结构中。
以与处理单个子串所用的相同方式来处理串接和/或拆分的子串;以及
产生一组备选拼写,所述备选拼写组是从由至少一个查询日志和至少一个辞典所组成的组中选择的至少一个中的子串,所述备选拼写组包括通过迭代改正过程确定的一组备选拼写。
35.如权利要求34所述的方法,其特征在于,所述迭代改正过程包括:
将至少一个子串转变成另一个子串,作为备选拼写;以及
当所有可能的备选拼写都不如当前的备选拼写组恰当时,停止所述迭代改正过程;基于随机串距离和统计上下文模型,计算所述备选拼写及其适合程度。
36.如权利要求35所述的方法,在所述迭代改正过程的每个迭代中进一步包括:
利用从至少一个查询日志和至少一个可信辞典之内提取出来的可搜索子串数据结构,来产生用于一个子串的所述备选拼写组;
将每个子串的所述备选拼写组限制在距离一输入子串的随机距离δ内;所述限制被强加在每个迭代内,而没有将迭代改正过程作为整体进行限制;以及
通过利用统计上下文模型搜索一组最佳备选拼写;所述统计上下文模型包括从至少一个查询日志提取出来的子串出现和共现统计数据。
37.如权利要求36所述的方法,进一步包括:
在每次迭代中,使用Viterbi搜索来促进根据所述上下文模型确定所述最佳备选拼写组;在一次迭代中,所述Viterbi搜索可以使用边缘来限制备选拼写搜索,使得对于每对毗邻子串,如果其中任何子串在至少一个可信辞典之内,则所述迭代中只允许改变所述子串中的一个。
38.一种便于对搜索引擎的查询进行拼写检查的系统,包括:
接收包含文本的输入数据的方法;以及
识别文本中一组潜在地被错拼的子串并基于至少一个查询日志给所述子串组建议至少一个备选拼写的方法;所述查询日志包括一个时间范围内被诸用户用于查询数据收集的数据。
39.在两个或多个计算机组件之间传输的促进搜索查询拼写检查的数据包;所述数据包至少部分地包含与搜索查询拼写检查系统有关的信息,所述拼写检查系统至少部分基于至少一个查询日志,给一组查询字符串至少部分地提供至少一个备选拼写。
40.一种计算机可读介质,所述介质中存储有如权利要求1所述的系统的计算机可运行组件。
41.一种使用如权利要求32所述的方法的设备,其特征在于,所述设备包括从由计算机、服务器和手持式电子设备组成的组中选择的至少一个。
42.一种使用如权利要求1所述的系统的设备,其特征在于,所述设备包括从由计算机、服务器和手持式电子设备组成的组中选择的至少一个。
CNB2005100592310A 2004-03-16 2005-03-16 改进的拼写检查系统和方法 Expired - Fee Related CN100517301C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/801,968 2004-03-16
US10/801,968 US7254774B2 (en) 2004-03-16 2004-03-16 Systems and methods for improved spell checking

Publications (2)

Publication Number Publication Date
CN1670723A true CN1670723A (zh) 2005-09-21
CN100517301C 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)

Cited By (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101131706B (zh) * 2007-09-28 2010-10-13 北京金山软件有限公司 一种查询修正方法及系统
CN101625678B (zh) * 2008-07-11 2011-01-19 英业达股份有限公司 拼写检查系统及其方法
CN102141889A (zh) * 2010-02-12 2011-08-03 微软公司 用于编辑的打字辅助
US8010523B2 (en) 2005-12-30 2011-08-30 Google Inc. Dynamic search box for web browser
US8156109B2 (en) 2004-06-22 2012-04-10 Google Inc. Anticipated query generation and processing in a search engine
CN102567461A (zh) * 2010-11-22 2012-07-11 微软公司 用于大文档索引的匹配漏斗
US8271546B2 (en) 2004-11-11 2012-09-18 Google Inc. Method and system for URL autocompletion using ranked results
CN102722478A (zh) * 2011-03-23 2012-10-10 微软公司 在线拼写纠正/短语完成系统
US8515954B2 (en) 2004-06-22 2013-08-20 Google Inc. Displaying autocompletion of partial search query with predicted search results
CN103838739A (zh) * 2012-11-21 2014-06-04 百度在线网络技术(北京)有限公司 一种搜索引擎中纠错词的检测方法及系统
US8805755B2 (en) 2010-11-22 2014-08-12 Microsoft Corporation Decomposable ranking for efficient precomputing
US8996550B2 (en) 2009-06-03 2015-03-31 Google Inc. Autocompletion for partially entered query
US9195745B2 (en) 2010-11-22 2015-11-24 Microsoft Technology Licensing, Llc Dynamic query master agent for query execution
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
US9436781B2 (en) 2004-11-12 2016-09-06 Google Inc. Method and system for autocompletion for languages having ideographs and phonetic characters
US9529908B2 (en) 2010-11-22 2016-12-27 Microsoft Technology Licensing, Llc Tiering of posting lists in search engine index
CN106911717A (zh) * 2017-04-13 2017-06-30 成都亚信网络安全产业技术研究院有限公司 一种域名检测方法及装置
CN108280051A (zh) * 2018-01-22 2018-07-13 清华大学 一种文本数据中错误字符的检测方法、装置和设备
CN108376365A (zh) * 2018-03-22 2018-08-07 中国银行股份有限公司 一种银行编号确定方法及装置
CN109214167A (zh) * 2018-08-01 2019-01-15 深圳市文鼎创数据科技有限公司 一种智能密钥安全设备及其密钥恢复方法、存储介质
CN109992796A (zh) * 2019-02-22 2019-07-09 中译语通科技股份有限公司 一种MerCube机器翻译管理控制系统及方法、计算机程序

Families Citing this family (176)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7286115B2 (en) 2000-05-26 2007-10-23 Tegic Communications, Inc. Directional input system with automatic correction
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
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
US8190419B1 (en) * 2006-09-11 2012-05-29 WordRake Holdings, LLC Computer processes for analyzing and improving document readability
US7254774B2 (en) * 2004-03-16 2007-08-07 Microsoft Corporation Systems and methods for improved spell checking
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
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
US7565345B2 (en) * 2005-03-29 2009-07-21 Google Inc. Integration of multiple query revision models
US7870147B2 (en) * 2005-03-29 2011-01-11 Google Inc. Query revision using known highly-ranked queries
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
EP1889181A4 (en) * 2005-05-16 2009-12-02 Ebay Inc METHOD AND SYSTEM FOR SEARCHING SEARCH
WO2006130658A1 (en) * 2005-05-31 2006-12-07 Siemens Medical Solutions Usa, 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
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
US7363599B1 (en) 2005-10-04 2008-04-22 Xilinx, Inc. Method and system for matching a hierarchical identifier
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
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
US8862572B2 (en) * 2006-02-17 2014-10-14 Google Inc. Sharing user distributed search results
US7844603B2 (en) * 2006-02-17 2010-11-30 Google Inc. Sharing user distributed search results
US8122019B2 (en) * 2006-02-17 2012-02-21 Google Inc. Sharing user distributed search results
EP1826692A3 (en) * 2006-02-22 2009-03-25 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
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
US7941419B2 (en) * 2006-03-01 2011-05-10 Oracle International Corporation Suggested content with attribute parameterization
US8005816B2 (en) * 2006-03-01 2011-08-23 Oracle International Corporation Auto generation of suggested links in a 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
US8332430B2 (en) 2006-03-01 2012-12-11 Oracle International Corporation Secure search performance improvement
US8027982B2 (en) * 2006-03-01 2011-09-27 Oracle International Corporation Self-service sources for secure search
US8214394B2 (en) * 2006-03-01 2012-07-03 Oracle International Corporation Propagating user identities in a secure federated search system
US8707451B2 (en) * 2006-03-01 2014-04-22 Oracle International Corporation Search hit URL modification for secure application integration
US7676460B2 (en) * 2006-03-03 2010-03-09 International Business Machines Corporation Techniques for providing suggestions for creating a search query
US7792815B2 (en) 2006-03-06 2010-09-07 Veveo, Inc. Methods and systems for selecting and presenting content based on context sensitive user preferences
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
US8402409B1 (en) 2006-03-10 2013-03-19 Xilinx, Inc. Method and apparatus for supporting run-time reconfiguration in a programmable logic integrated circuit
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
WO2007124436A2 (en) 2006-04-20 2007-11-01 Veveo, Inc. User interface methods and systems for selecting and presenting content based on relationships between the user and other members of an organization
WO2007129316A2 (en) 2006-05-07 2007-11-15 Varcode Ltd. A system and method for improved quality management in a product logistic chain
US7562811B2 (en) 2007-01-18 2009-07-21 Varcode Ltd. System and method for improved quality management in a product logistic chain
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
CA2989780C (en) 2006-09-14 2022-08-09 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
US8528808B2 (en) 2007-05-06 2013-09-10 Varcode Ltd. 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
CN105045777A (zh) * 2007-08-01 2015-11-11 金格软件有限公司 使用互联网语料库的自动的上下文相关的语言校正和增强
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
US20090083255A1 (en) * 2007-09-24 2009-03-26 Microsoft Corporation Query spelling correction
WO2009040790A2 (en) * 2007-09-24 2009-04-02 Robert Iakobashvili Method and system for spell checking
EP2218042B1 (en) 2007-11-14 2020-01-01 Varcode Ltd. A system and method for quality management utilizing barcode indicators
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
US20090164273A1 (en) * 2007-12-21 2009-06-25 Glyde Corporation Product distribution system and method thereof
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
US8630923B2 (en) * 2007-12-21 2014-01-14 Glyde Corporation Virtual shelf with single-product choice and automatic multiple-vendor selection
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
US7899716B2 (en) * 2007-12-21 2011-03-01 Glyde Corporation System and method for integrated payment and shipping information
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
EP2235836A4 (en) * 2008-01-24 2012-08-29 Sra International Inc SYSTEM AND METHOD FOR THE ADJUSTMENT OF VARIANTER STRINGS
JP2009245308A (ja) * 2008-03-31 2009-10-22 Fujitsu Ltd 文書校正支援プログラム、文書校正支援方法および文書校正支援装置
US20110086331A1 (en) * 2008-04-16 2011-04-14 Ginger Software, Inc. system for teaching writing based on a users past writing
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
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
EP2438540A1 (en) 2009-06-01 2012-04-11 AOL Inc. Providing suggested web search queries based on click data of stored search queries
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
CN102884518A (zh) 2010-02-01 2013-01-16 金格软件有限公司 尤其用于小键盘装置的使用互联网语料库的自动的上下文相关的语言校正
US20110191330A1 (en) 2010-02-04 2011-08-04 Veveo, Inc. Method of and System for Enhanced Content Discovery Based on Network and Device Access Behavior
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 (주)아이티버스 오류단어 자동 정정시스템 및 그 자동 정정방법
US8713024B2 (en) 2010-11-22 2014-04-29 Microsoft Corporation Efficient forward ranking in a search engine
US8626681B1 (en) * 2011-01-04 2014-01-07 Google Inc. Training a probabilistic spelling checker from structured data
WO2012154992A2 (en) * 2011-05-10 2012-11-15 Decarta Systems and methods for performing search and retrieval of electronic documents 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
WO2013032617A1 (en) * 2011-09-01 2013-03-07 Google Inc. Server-based spell checking
US20130061139A1 (en) * 2011-09-01 2013-03-07 Google Inc. Server-based spell checking on a user device
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
WO2013082507A1 (en) 2011-11-30 2013-06-06 Decarta Systems and methods for performing geo-search and retrieval of electronic point-of-interest records using a big index
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
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
US11060924B2 (en) 2015-05-18 2021-07-13 Varcode Ltd. Thermochromic ink indicia for activatable quality labels
US10740852B1 (en) 2015-06-23 2020-08-11 Square, Inc. Classifying merchants
CA2991275A1 (en) 2015-07-07 2017-01-12 Varcode Ltd. Electronic quality indicator
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
US10372814B2 (en) 2016-10-18 2019-08-06 International Business Machines Corporation Methods and system for fast, adaptive correction of misspells
US10579729B2 (en) 2016-10-18 2020-03-03 International Business Machines Corporation Methods and system for fast, adaptive correction of misspells
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
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 사라소프트주식회사 모바일용 의료기록지 번역시스템
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)

* Cited by examiner, † Cited by third party
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

Cited By (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9245004B1 (en) 2004-06-22 2016-01-26 Google Inc. Predicted query generation from partial search query input
US8271471B1 (en) 2004-06-22 2012-09-18 Google Inc. Anticipated query generation and processing in a search engine
US9081851B2 (en) 2004-06-22 2015-07-14 Google Inc. Method and system for autocompletion using ranked results
US9235637B1 (en) 2004-06-22 2016-01-12 Google Inc. Systems and methods for generating predicted queries and corresponding search results
US8515954B2 (en) 2004-06-22 2013-08-20 Google Inc. Displaying autocompletion of partial search query with predicted search results
US8156109B2 (en) 2004-06-22 2012-04-10 Google Inc. Anticipated query generation and processing in a search engine
US8271546B2 (en) 2004-11-11 2012-09-18 Google Inc. Method and system for URL autocompletion using ranked results
US9436781B2 (en) 2004-11-12 2016-09-06 Google Inc. Method and system for autocompletion for languages having ideographs and phonetic characters
US9443035B2 (en) 2004-11-12 2016-09-13 Google Inc. Method and system for autocompletion for languages having ideographs and phonetic characters
US8639684B2 (en) 2005-12-30 2014-01-28 Google Inc. Dynamic search box for web browser
US9275106B2 (en) 2005-12-30 2016-03-01 Google Inc. Dynamic search box for web browser
CN101395604B (zh) * 2005-12-30 2015-09-16 谷歌公司 用于网页浏览器的动态搜索框
US8010523B2 (en) 2005-12-30 2011-08-30 Google Inc. Dynamic search box for web browser
CN101131706B (zh) * 2007-09-28 2010-10-13 北京金山软件有限公司 一种查询修正方法及系统
CN101625678B (zh) * 2008-07-11 2011-01-19 英业达股份有限公司 拼写检查系统及其方法
US8996550B2 (en) 2009-06-03 2015-03-31 Google Inc. Autocompletion for partially entered query
CN102141889B (zh) * 2010-02-12 2017-03-01 微软技术许可有限责任公司 用于编辑的打字辅助
US10156981B2 (en) 2010-02-12 2018-12-18 Microsoft Technology Licensing, Llc User-centric soft keyboard predictive technologies
US9165257B2 (en) 2010-02-12 2015-10-20 Microsoft Technology Licensing, Llc Typing assistance for editing
US10126936B2 (en) 2010-02-12 2018-11-13 Microsoft Technology Licensing, Llc Typing assistance for editing
CN102141889A (zh) * 2010-02-12 2011-08-03 微软公司 用于编辑的打字辅助
US9195745B2 (en) 2010-11-22 2015-11-24 Microsoft Technology Licensing, Llc Dynamic query master agent for query execution
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
CN102567461A (zh) * 2010-11-22 2012-07-11 微软公司 用于大文档索引的匹配漏斗
US9529908B2 (en) 2010-11-22 2016-12-27 Microsoft Technology Licensing, Llc Tiering of posting lists in search engine index
US8805755B2 (en) 2010-11-22 2014-08-12 Microsoft Corporation Decomposable ranking for efficient precomputing
US10437892B2 (en) 2010-11-22 2019-10-08 Microsoft Technology Licensing, Llc Efficient forward ranking in a search engine
CN102567461B (zh) * 2010-11-22 2015-07-08 微软技术许可有限责任公司 用于大文档索引的匹配漏斗
CN102722478A (zh) * 2011-03-23 2012-10-10 微软公司 在线拼写纠正/短语完成系统
CN103838739A (zh) * 2012-11-21 2014-06-04 百度在线网络技术(北京)有限公司 一种搜索引擎中纠错词的检测方法及系统
CN106911717A (zh) * 2017-04-13 2017-06-30 成都亚信网络安全产业技术研究院有限公司 一种域名检测方法及装置
CN108280051A (zh) * 2018-01-22 2018-07-13 清华大学 一种文本数据中错误字符的检测方法、装置和设备
CN108376365A (zh) * 2018-03-22 2018-08-07 中国银行股份有限公司 一种银行编号确定方法及装置
CN108376365B (zh) * 2018-03-22 2021-06-18 中国银行股份有限公司 一种银行编号确定方法及装置
CN109214167A (zh) * 2018-08-01 2019-01-15 深圳市文鼎创数据科技有限公司 一种智能密钥安全设备及其密钥恢复方法、存储介质
CN109214167B (zh) * 2018-08-01 2021-04-16 深圳市文鼎创数据科技有限公司 一种智能密钥安全设备及其密钥恢复方法、存储介质
CN109992796A (zh) * 2019-02-22 2019-07-09 中译语通科技股份有限公司 一种MerCube机器翻译管理控制系统及方法、计算机程序
CN109992796B (zh) * 2019-02-22 2023-07-04 中译语通科技股份有限公司 一种MerCube机器翻译管理控制系统及方法、计算机程序

Also Published As

Publication number Publication date
US20050210017A1 (en) 2005-09-22
JP2005267638A (ja) 2005-09-29
US20070106937A1 (en) 2007-05-10
KR20060043682A (ko) 2006-05-15
CN100517301C (zh) 2009-07-22
EP1577793A2 (en) 2005-09-21
US20050210383A1 (en) 2005-09-22
US7254774B2 (en) 2007-08-07
US8321471B2 (en) 2012-11-27
EP1577793A3 (en) 2007-05-02

Similar Documents

Publication Publication Date Title
CN1670723A (zh) 改进的拼写检查系统和方法
US7200550B2 (en) Projecting dependencies to generate target language dependency structure
CN1135485C (zh) 利用计算机系统的日文文本字的识别
US20130304730A1 (en) Automated answers to online questions
CN1834955A (zh) 多语种翻译存储器、翻译方法以及翻译程序
Zanasi Text mining and its applications to intelligence, CRM and knowledge management
CN101065746A (zh) 文件自动丰富的方法和系统
EP2393019B1 (en) Identifying treelet translation pairs from aligned corpora
CN1871597A (zh) 利用一套消歧技术处理文本的系统和方法
CN1928862A (zh) 基于数据挖掘获取词或词组单元译文信息的系统和方法
CN1910573A (zh) 用来识别并分类命名实体的系统
CN1629838A (zh) 电子文档的处理、浏览以及信息提取的方法、装置及系统
CN1503161A (zh) 获悉词组之间的转换关系的统计方法和装置
CN1819018A (zh) 有效语言识别
CN1940915A (zh) 训练语料扩充系统和方法
CN1492367A (zh) 询问应答系统及询问应答方法
CN1924858A (zh) 一种获取新词的方法、装置以及一种输入法系统
CN1266246A (zh) 输入字符串的设备和方法
CN1256650C (zh) 一种中文整句输入法
CN1273915C (zh) 修改或改进词语使用的方法和装置
CN1258725C (zh) 基于语义构词约束的汉语二字词抽取方法
Milić-Frayling Text processing and information retrieval
Nguyen Facilitating access to historical documents by improving digitisation results
Naji Information retrieval of digitized medieval manuscripts
Kolak Rapid resource transfer for multilingual natural language processing

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