国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      改進(jìn)的拼寫檢查系統(tǒng)和方法

      文檔序號:6541736閱讀:427來源:國知局

      專利名稱::改進(jìn)的拼寫檢查系統(tǒng)和方法
      技術(shù)領(lǐng)域
      :本發(fā)明一般地涉及拼寫檢查,尤其涉及通過利用查詢?nèi)罩緛砀牧计磳憴z查的系統(tǒng)和方法。(2)
      背景技術(shù)
      與自動化程序、系統(tǒng)和服務(wù)的交互,已經(jīng)成為大多數(shù)人生活中日常事務(wù)的一部分——尤其隨著因特網(wǎng)的出現(xiàn)。例如,對于某些人來說,網(wǎng)絡(luò)沖浪或瀏覽可能是“新的”全國性的娛樂。依照這樣的系統(tǒng),像文字處理那樣的應(yīng)用程序已經(jīng)幫助許多人在他們各自的工作中或者在他們的個人生活中變得更加有效率,例如給朋友鍵入一封信或電子郵件。這些應(yīng)用程序已經(jīng)增加了許多自動化的功能組件,例如用于實質(zhì)上以具有任何所需要的字體、色彩、形狀或表格的格式化文檔的工具。已經(jīng)被許多用戶所了解并普遍接受的一種工具是拼寫檢查應(yīng)用程序,用戶從文字處理軟件中調(diào)用拼寫檢查應(yīng)用程序來檢查各個文檔的全部或部分,和/或當(dāng)用戶打字時調(diào)用拼寫檢查應(yīng)用程序,使其在后臺運(yùn)行,檢查拼寫。通常,為了執(zhí)行正確的拼寫檢查,拼寫檢查應(yīng)用程序可以使用一個“有效字符串”的字典。如果拼寫檢查程序遇到一個不在字典之內(nèi)的字符串,就假定該字符串是拼寫錯誤,并試圖在字典中為該錯拼的字符串找到“最接近”的字符串。大多數(shù)拼寫檢查程序給用戶提供一個可能匹配的列表,由此,如果匹配在該列表中,用戶可以從列表中選擇具有改正過的拼寫的詞。拼寫檢查的其他功能組件可以執(zhí)行自動改正——如果用戶這樣配置的話。然而,文字處理的拼寫檢查只展現(xiàn)了潛在領(lǐng)域的部分情景,該潛在領(lǐng)域可以用于協(xié)助用戶把信息輸入到文件或文檔內(nèi)。例如,對所有可用的潛在網(wǎng)絡(luò)站點和服務(wù),用戶經(jīng)常通過明確地鍵入站點名稱的全部或部分,或通過執(zhí)行對出現(xiàn)在網(wǎng)頁標(biāo)題或主體上的字或短語的搜索,在站點之間導(dǎo)航。正如許多人已經(jīng)認(rèn)識到的那樣,如果站點信息或搜索查詢輸入不正確,再次導(dǎo)航的時間代價就會變得相當(dāng)高。搜索引擎或其他應(yīng)用程序中使用的語言處理程序經(jīng)常處理用戶的查詢,并嘗試區(qū)分真實的用戶命令和不正確輸入的信息。然而應(yīng)該明白,被輸入到搜索引擎中用于查詢的信息類型可能在結(jié)構(gòu)或形式上與文字處理應(yīng)用程序中通常使用的信息類型有很大不同。因此,文字處理程序中用來在有些單獨(dú)和孤立的基礎(chǔ)之上檢查詞的工具在用于從一般的查詢數(shù)據(jù)中生成信息時,可能很少甚至沒有效用。瀏覽器或其他信息搜索查詢給拼寫檢查應(yīng)用程序提出了一個獨(dú)特的問題,因為查詢常常包含在標(biāo)準(zhǔn)的拼寫檢查字典中找不到的詞,如藝術(shù)家、產(chǎn)品或公司名稱等。另外一個問題是查詢中的詞可能已經(jīng)被不正確地輸入,但是沒有錯誤拼寫(例如,“andprocessors”而不是“amdprocessors”)。因此,人們在像搜索引擎的輸入框那樣的鍵入行中輸入文本的方式,常常與文字處理中的鍵入有很大不同。查詢輸入中所輸入的內(nèi)容和人們所犯的錯誤類型也自然有很大不同。此外,網(wǎng)絡(luò)數(shù)據(jù)和搜索查詢在性質(zhì)上是非常動態(tài)的,包含大量的固有名詞;新的產(chǎn)品、人、機(jī)構(gòu)、地點和事件每天都變得流行。同樣地,標(biāo)準(zhǔn)字典盡管適用于文字處理中上下文的拼寫檢查,卻可能并不適用于鍵入行和搜索—查詢中的拼寫檢查。字典(即辭典)是任何拼寫檢查程序的重要組件,因為其中包含的信息提供了確定不正確拼寫的基礎(chǔ)。然而,對于許多需要進(jìn)行拼寫檢查的應(yīng)用程序(如提供給輸入框的文本輸入)來說,標(biāo)準(zhǔn)字典對這個問題不是最佳的。例如,為了對輸入到搜索引擎的輸入框中的文本進(jìn)行拼寫檢查,字典應(yīng)該包括諸如“hangingchad(懸空票)”和“ApoloAntonOhno(阿波羅·安東·奧諾)”之類的字符串,以便檢查近來的事件或可能所關(guān)注的信息。可以知道,這些字符串和大量其他類型的字符串不會在標(biāo)準(zhǔn)字典中出現(xiàn)。一種可能的途徑是在用戶輸入到諸如搜索引擎或語言處理程序之類的特定位置的內(nèi)容的日志上使用子串匹配技術(shù)。不幸的是,這種途徑的一個問題是查詢?nèi)罩就ǔR矊罅康妮斎脲e誤,并返回與用戶所需搜索無關(guān)的子串匹配。另外,拼寫檢查所用的字典和搜索的上下文總是在改變。這些動態(tài)的行為不能通過利用傳統(tǒng)字典和搜索查詢處理來解決。例如,如果現(xiàn)在有一個名為LimpBizkit的流行樂隊,對“bizkitpictures(bizkit照片)”的查詢很可能是指的是這個樂隊,而不是“biscuit(餅干)”的錯誤拼寫。如果這個樂隊突然變得不流行,而且有一本關(guān)于餅干照片的暢銷書,那么“bizkitpictures”就更可能是“biscuitpictures”的錯誤拼寫。同樣,在當(dāng)前的政治狀態(tài)下,如果arnold現(xiàn)在是受歡迎的加利福尼亞州州長,“governoranld”可能指的是“govenorarnold(州長Arnold)”。因此,搜索查詢的上下文顯著地影響著拼寫檢查。(3)
      發(fā)明內(nèi)容下面給出本發(fā)明簡化了的內(nèi)容,以便提供對本發(fā)明一些方面的基本理解。該內(nèi)容不是本發(fā)明的廣泛縱覽。該內(nèi)容并不是要鑒別本發(fā)明的關(guān)鍵/重要的元素或描繪本發(fā)明的范圍。其唯一目的是以簡化的形式給出本發(fā)明的一些概念,作為后面給出的更加詳細(xì)的描述的前奏。本發(fā)明一般地涉及拼寫檢查器,尤其涉及通過利用查詢?nèi)罩緛砀倪M(jìn)拼寫檢查的系統(tǒng)和方法。搜索查詢字符串的迭代變換連同從搜索記錄和/或web數(shù)據(jù)提取出來的統(tǒng)計量一起,被用來給搜索查詢字符串提供可能的備選拼寫。這提供一種能用來給每個用戶提供個性化建議的優(yōu)異的拼寫檢查方法。通過利用搜索查詢?nèi)罩?,本發(fā)明能解釋辭典里沒有但仍可接受為所關(guān)心的搜索查詢的子串。這允許一種提供在辭典內(nèi)容之外的質(zhì)量更高的備選拼寫建議的方法。本發(fā)明的一個實例通過利用從查詢?nèi)罩局刑崛〕鰜淼脑~一元模型和/或二元模型的統(tǒng)計量以及迭代搜索,在子串水平上工作。這為給定查詢提供了實質(zhì)上比只利用準(zhǔn)確子串匹配的方法更好的拼寫備選方案。因此本發(fā)明,例如,能基于流行的概念/查詢的最近歷史,調(diào)整它所建議的備選方案。本發(fā)明也能基于相關(guān)的先前查詢?nèi)罩?,為給定用戶調(diào)整其改正,提供更加恰當(dāng)?shù)钠磳憘溥x方案。本發(fā)明的其他實例能接收來自除搜索查詢輸入之外的來源的輸入數(shù)據(jù)。這提供了一種利用查詢?nèi)罩敬龠M(jìn)在普通文字處理器等等的上下文中進(jìn)行拼寫檢查的方法。為實現(xiàn)上述相關(guān)成果,結(jié)合下列說明和附圖,在此描述本發(fā)明的某些示例性方面。然而,這些方面只指示可能應(yīng)用本發(fā)明原理的各種方法中的一些,本發(fā)明規(guī)定為包括所有這些方面及其等效。結(jié)合附圖一起考慮,從下面的本發(fā)明具體實施方式可以明顯看出本發(fā)明的其他優(yōu)點和新穎特征。(4)圖1是一個依照本發(fā)明一個方面的搜索查詢評估系統(tǒng)的方框圖。圖2是另一個依照本發(fā)明一個方面的搜索查詢評估系統(tǒng)的方框圖。圖3是一個依照本發(fā)明一個方面的搜索過程的示例。圖4是另一個依照本發(fā)明一個方面的搜索過程的示例。圖5是一個依照本發(fā)明一個方面的信息流結(jié)構(gòu)的示例。圖6是一個依照本發(fā)明一個方面的促進(jìn)搜索查詢的一種方法的流程圖。圖7是另一個依照本發(fā)明一個方面的促進(jìn)搜索查詢的一種方法的流程圖。圖8是又一個依照本發(fā)明一個方面的促進(jìn)搜索查詢的一種方法的流程圖。圖9例示了一個本發(fā)明可以在其中運(yùn)行的操作環(huán)境的實例。圖10例示了另一個本發(fā)明可以在其中運(yùn)行的操作環(huán)境的實例。(5)具體實施方式現(xiàn)在參考附圖描述本發(fā)明,其中始終用相同的參考數(shù)字來指示相同的元素。在下列描述中,出于解釋的目的,闡明了很多特定的細(xì)節(jié),以提供對本發(fā)明的徹底理解。然而,顯然本發(fā)明可能不需要這些特定的細(xì)節(jié)就能實現(xiàn)。在其他實例中,以方框圖的形式把眾所周知的結(jié)構(gòu)和器件顯示出來,以方便描述本發(fā)明。本說明書中,術(shù)語“組件”意指與計算機(jī)有關(guān)的實體,可以是硬件、硬件和軟件的組合、軟件或執(zhí)行中的軟件。例如,一個組件可以是但不限于是,一個在處理器上運(yùn)行的進(jìn)程、一個處理器、一個對象、一個可執(zhí)行程序、執(zhí)行的一個線程、一個程序和/或一個計算機(jī)。作為示例,運(yùn)行在服務(wù)器上的應(yīng)用程序和服務(wù)器本身都可以是計算機(jī)組件。一個或多個組件可以駐留在一個進(jìn)程和/或執(zhí)行的一個線程中,并且,組件可以位于一個計算機(jī)內(nèi)和/或分布在兩個或更多的計算機(jī)之間?!熬€程”是在操作系統(tǒng)內(nèi)核調(diào)度執(zhí)行的進(jìn)程內(nèi)的實體。正如本領(lǐng)域中眾所周知的那樣,每個線程有相關(guān)的“上下文”,即與線程的執(zhí)行相關(guān)的易失性數(shù)據(jù)。線程的上下文包括系統(tǒng)寄存器的內(nèi)容和屬于該線程所處進(jìn)程的虛擬地址。因此,包含線程上下文的真實數(shù)據(jù)隨著線程執(zhí)行而發(fā)生改變。本發(fā)明給對搜索引擎的查詢進(jìn)行拼寫檢查提供改進(jìn)的系統(tǒng)和方法。本發(fā)明的一個實例使用一個可信辭典(該辭典為一種語言的一個有效詞列表)和查詢?nèi)罩咀鳛閿?shù)據(jù)源。本發(fā)明通過利用從查詢?nèi)罩咎崛〕鰜淼脑~一元模型和二元模型(忽略停用詞)統(tǒng)計量以及一種新型的迭代查詢,為給定查詢提供比只用字符串匹配時更好的拼寫備選方案。本發(fā)明的另一個實例至少部分地利用低計數(shù)詞n元模型(n元模型定義為n個連續(xù)詞的序列;特別地,一元模型為單獨(dú)的詞,二元模型是兩個連續(xù)詞的序列)的web統(tǒng)計量。傳統(tǒng)的詞拼寫改正依賴于文本書寫所用的該語言的可信辭典L和距離函數(shù)d。給文本中每個不在辭典之內(nèi)的詞形提出在辭典內(nèi)的一組備選拼寫{w1,w2,...,wk}的建議,這些有效的備選方案出現(xiàn)在給定的固定距離閾值δ之內(nèi),通常相差為一個或兩個編輯(即是說,dist(w,wi)≤δ)。備選方案通常按條件似然函數(shù)P(wi|w)排序,該條件似然函數(shù)考慮到該語言中詞的概率(通常由目標(biāo)語言的大型語料庫的最大似然估計計算得出)和詞之間的距離。實際的距離函數(shù)d和閾值δ對拼寫檢查程序的準(zhǔn)確度很重要。一個極端是,使用限制太嚴(yán)格的函數(shù)/閾值的組合將導(dǎo)致無法為給定查詢找到最好的改正。另一個極端是,使用限制較少的函數(shù)可能得到很不可靠的改正建議。本發(fā)明提供一種可行的折中辦法,通過在字符串水平上利用對備選方案的修正的有限搜索,但不在實質(zhì)上限制在詞水平上搜索備選方案。本發(fā)明的一個實例利用上下文依賴的加權(quán)Levenshtein距離,它允許字母的插入、刪除、替換、毗鄰調(diào)換和長距離移動,作為基本編輯。閾值本身是變量,依賴于每個詞的特征(主要是,詞是否在辭典之內(nèi))和迭代數(shù)目。圖1中,顯示了一個依照本發(fā)明一個方面的搜索查詢評估系統(tǒng)100的方框圖。搜索查詢評估系統(tǒng)100包括搜索查詢評估組件102。搜索查詢評估組件102接受搜索查詢輸入104并輸出備選查詢建議數(shù)據(jù)106。搜索查詢評估組件102利用辭典和搜索查詢?nèi)罩緛碓u估每個搜索查詢。本發(fā)明的其他實例也利用web統(tǒng)計量來評估搜索查詢輸入104。通常利用迭代過程來進(jìn)一步精選每個備選建議,直到獲得最佳建議。搜索查詢?nèi)罩咎峁┙y(tǒng)計信息,而搜索查詢評估組件102可以利用該統(tǒng)計信息,給典型的用戶或給定的用戶查找最佳解決方案。在本發(fā)明的又一個實例中,對搜索查詢?nèi)罩具M(jìn)行處理,以便于可以使用定時模式來促進(jìn)搜索查詢的評估。定時模式可以是但不限于是年模式、日期模式(例如,每個星期三、假日等等)和日模式等等的時間。因此,本發(fā)明的一個實例能獲得本年度十月份和上一年度十月份的查詢?nèi)罩?。這種時間模式識別的類型有利于產(chǎn)生較好的搜索查詢建議數(shù)據(jù)106。同樣地,本發(fā)明能利用其他類型的模式識別,例如,用戶的搜索模式、用戶的興趣和嗜好、用戶的首選項等等。本發(fā)明可以獲得與給定用戶的這些特定方面有關(guān)的搜索查詢?nèi)罩竞?或網(wǎng)絡(luò)數(shù)據(jù),用于進(jìn)一步促進(jìn)搜索查詢評估。在本領(lǐng)域中的技術(shù)人員將會明白,除了搜索查詢輸入之外,本發(fā)明的范圍還包括來自其他來源導(dǎo)出的輸入數(shù)據(jù)。因此,本發(fā)明的實例可以用于接收來自文字處理程序、電子郵件程序、即時消息程序和聊天室程序等等的輸入數(shù)據(jù)。以這樣的方式,除了搜索查詢程序之外,查詢?nèi)罩具€可以用于其他環(huán)境中。因此,當(dāng)在本發(fā)明的上下文中使用時,術(shù)語“搜索查詢”的各種形式和“輸入數(shù)據(jù)”的各種形式是同義的。因此,輸入數(shù)據(jù)是指提交給本發(fā)明的實例、用于拼寫檢查目的的任何數(shù)據(jù)。參見圖2,圖示了另一個依照本發(fā)明一個方面的搜索查詢評估系統(tǒng)的方框圖。該搜索查詢評估系統(tǒng)包括接收搜索查詢數(shù)據(jù)204和輸出備選查詢建議數(shù)據(jù)206的搜索查詢評估組件202。搜索查詢評估組件202由子串處理組件208和迭代查詢評估組件210組成。子串處理組件208接收搜索查詢數(shù)據(jù)204,并將其標(biāo)記化(tokenize)到可供迭代查詢評估組件210使用的水平。迭代查詢評估組件210利用查詢?nèi)罩緮?shù)據(jù)214,也能利用諸如辭典數(shù)據(jù)212和/或可任選的web統(tǒng)計量數(shù)據(jù)216那樣的其他數(shù)據(jù)源。該數(shù)據(jù)被用于提供搜索查詢數(shù)據(jù)204的增強(qiáng)評估,將在下面進(jìn)一步詳細(xì)說明。迭代查詢評估組件210處理標(biāo)記化的查詢詞,并把一組新的備選搜索查詢子串218發(fā)回給子串處理組件208以供標(biāo)記化。這一迭代過程繼續(xù)進(jìn)行,直到迭代查詢評估組件210確定已經(jīng)達(dá)成最佳建議,并將這一信息輸出為備選查詢建議數(shù)據(jù)206。為更好地認(rèn)識本發(fā)明,理解其使用的上下文及其目的是有幫助的。用戶發(fā)送給web搜索引擎的查詢大約有10%由于拼寫錯誤而失效。因此,web搜索的一個重要問題是檢測和改正拼錯的查詢。對搜索引擎的查詢進(jìn)行拼寫檢查是一個與傳統(tǒng)的文檔拼寫檢查(例如,典型的文字處理的拼寫檢查程序)根本不同的問題。這個過程的一些重要特性的把它和傳統(tǒng)文檔拼寫改正區(qū)分開來·不像能給每個錯誤拼寫的詞提供一組備選方案的傳統(tǒng)詞拼寫,web查詢拼寫檢查程序只能給一個web查詢建議一個拼寫備選——這意味著需要比傳統(tǒng)詞拼寫程度所提供的高得多的精度?!鹘y(tǒng)的拼寫檢查程序使用可信辭典并把注意集中到在辭典之外的詞。在web查詢中,未知詞(根據(jù)這樣的辭典)可能不代表拼寫錯誤,它們對web搜索來說可能是有效的(例如,limpbizkit)。查詢詞列表不是一個固定目標(biāo),而是快速變化的。當(dāng)然也存在這樣的情況,即基于搭配信息,在辭典之內(nèi)的詞應(yīng)該改變成其他在辭典之內(nèi)或甚至在辭典之外的詞(例如,foodexplorer→fordexplorer,limpbizkit→limpbizkit)?!ぴ趙eb搜索中,拼錯的詞可能較預(yù)期詞相差有許多字母編輯,尤其是當(dāng)這些詞表示人、公司、技術(shù)或產(chǎn)品的名字時候,僅僅提到其中一些?!ふ绫景l(fā)明所提供的那樣,除了可信辭典和/或語料庫之外,web查詢拼寫改正還受益于查詢?nèi)罩镜拇嬖?。該查詢?nèi)罩景P(guān)于詞頻、詞上下文和拼寫錯誤的近乎實時的重要信息。在傳統(tǒng)的拼寫中沒有利用這樣的資源。本發(fā)明將對web查詢進(jìn)行拼寫改正的問題用公式表示為,根據(jù)從web查詢?nèi)罩竞蛍eb數(shù)據(jù)提取出來的統(tǒng)計量,將查詢字符串迭代變換成其他字符串,這些其他字符串越來越表示合適的查詢。通用拼寫改正的任務(wù)有很長的歷史,傳統(tǒng)上集中在解決印刷錯誤,諸如字母的插入、刪除、替換和調(diào)換(如,McIlroy,M.D.;DevelopmentofaSpellingList;J-IEEE-TRANS-COMM,30(1);91-99;1982)。典型的拼寫檢查程序為每個未知詞(即,在本語言的可信辭典里找不到的詞)計算出一小組在辭典之內(nèi)的備選方案,作為可能的改正建議。這樣的系統(tǒng)通常忽略上下文,而只依賴于關(guān)于在辭典之內(nèi)的詞頻(從一個大語料庫中估計)和最平常的錯誤的信息,都在詞的水平(例如,用acceptible而不是acceptable)和字符的水平(例如,誤用f而不是ph)上。本發(fā)明中網(wǎng)絡(luò)查詢拼寫改正的任務(wù)在許多方面不同于傳統(tǒng)的拼寫檢查,并因此帶來了不同的挑戰(zhàn)。查詢的有效性不能由簡單的辭典檢索或檢查其語法性來決定。大多數(shù)的web查詢包含一個概念或多個概念的枚舉,許多時候都包含合理但卻在辭典之外的詞。例如,web查詢的改正程序應(yīng)該能夠以關(guān)于別人的搜索內(nèi)容的信息為基礎(chǔ),建議“l(fā)egotos”改正為“l(fā)egotoys”這一最好的可能改正(有爭議),盡管基于字母的錯誤模型(如典型的文字處理拼寫檢查程序中所用的)會為錯誤拼寫tos預(yù)測toss、toes、tops、tons和togs是更可能的備選方案,且在許多英文辭典之內(nèi)可能不會出現(xiàn)詞“l(fā)ego”。僅僅定義什么是有效的web查詢就代表一項相當(dāng)困難的事業(yè)。很清楚,可信辭典不能單獨(dú)使用,因為每天都有許多新的名字和概念變得流行,而且維持高覆蓋率的辭典即使不是不可能的,也是特別困難的。一個可行的替代方案可以是收集和開發(fā)數(shù)百萬使用web和web搜索的人的經(jīng)驗。因此,詞的有效性不是由辭典給定,而是由它出現(xiàn)在人們所查詢的內(nèi)容中的頻率給定,類似于Wittgenstein的觀察(見,Wittgenstein,L.;PhilosophicalInvestigations;Macmillan,NewYork,thirdedition;1968)所述,“一個詞的意思取決于它在語言中的具體運(yùn)用”。但是,這樣的方式有其自己的警告。簡單地從web查詢?nèi)罩咎崛〕鲱l率在特定閾值之上的所有那些查詢信息就認(rèn)為其有效,這將是錯誤的。例如,錯誤拼寫britnyspears是一個比拼寫正確但可能包含在辭典之外的詞(如查詢bayesiannets或amdprocessor)的更加常見的查詢。同樣要對于計算包含被查詢詞的web文檔的數(shù)目也成立。非常常見的詞語的拼錯頻率要遠(yuǎn)高于那些相當(dāng)有效而又比較不常見的詞語。許多在網(wǎng)絡(luò)查詢中出現(xiàn)的錯誤表現(xiàn)為上下文不適當(dāng)?shù)挠行г~替換(例如,principal和principle),這不能夠由辭典檢索或基于單獨(dú)詞頻來發(fā)現(xiàn)。Kukich的觀察(見,Kukich,K;TechniquesforAutomaticallyCorrectingWordsinText;ACMComputingSurveys,24(4)377-439;1992)認(rèn)為,在現(xiàn)代文檔中發(fā)現(xiàn)的錯誤大約有25-50%實際上是這類替換,可以預(yù)言,他的結(jié)論似乎也適用于查詢?nèi)罩緮?shù)據(jù),如果不是更高程度的話。在上下文依賴的拼寫改正(CSSC,context-sensitivespellingcorrection)的框架內(nèi),解決這樣的替換錯誤已經(jīng)成為早先各種NLP(NaturalLanguageProcessing,自然語言處理)工作[如,(Golding,A.R.;ABayesianHybridMethodforContext-SensitiveSpellingCorrection;ProceedingsoftheWorkshoponVeryLargeCorpora,pages39-53;1995);(Golding,A.R.和D.Roth;ApplyingWinnowtoContext-SensitiveSpellingCorrection;Proceedingsofthe13thInternationalConferenceonMachineLearning,pages182-190;1996);(Mangu,L.和Brill,E.;AutomaticRuleAcquisitionforSpellingCorrection;Proceedingsofthe14thInternationalConferenceonMachineLearning,pages734-741;1997);以及(Cucerzan,S.和Yarowsky,D.;AugmentedMixtureModelsforLexicalDisambiguation;ProceedingsofEMNLP2002,pages33-40;2002)]的目標(biāo)。雖然獲得了有希望的結(jié)果(92-95%的準(zhǔn)確度),但是早先工作的范圍非常有限(最多18個混淆組,兩個或三個備選方案,例如,{peace,piece}),而且所研究的算法嚴(yán)重依賴于注釋數(shù)據(jù)的存在,利用從這些數(shù)據(jù)提取出來的大量上下文特征。在web查詢拼寫改正的情況下,沒有注釋數(shù)據(jù),但是可以得到大量以查詢?nèi)罩?查詢?nèi)罩臼窃谝欢螘r間內(nèi)發(fā)送到搜索引擎的查詢的直方圖)形式存在的非注解數(shù)據(jù)。web查詢的另一個特征是非常短(平均2.2個詞),難以應(yīng)用利用大量基于相對較寬的上下文窗口的特征的技術(shù)。而且,在CSSC中所利用的典型數(shù)據(jù)通常被認(rèn)為是沒有其他上下文拼寫錯誤和替換錯誤,這不是web查詢的實際情況。其他的內(nèi)容和性能進(jìn)一步限制了在網(wǎng)絡(luò)查詢拼寫改正系統(tǒng)設(shè)計中使用計算強(qiáng)度密集算法。例如,在基于服務(wù)器的架構(gòu)中,這樣的系統(tǒng)必須滿足限制非常嚴(yán)格的時間性能要求,而空間的要求可以放松。下面提供這些限制的一部分,但沒有提供對這些限制的完全分析。通過利用任務(wù)的一系列正式定義并給出顯示與每種情形相對應(yīng)長處和局限的具體例子,簡要分析“典型的”拼寫改正方法的例子。該問題被迭代地重新定義,開始于純粹地基于可信辭典的方法,結(jié)束于可信辭典的作用大大減小的方法。這樣做的時候,為了提供有效網(wǎng)絡(luò)查詢的可用定義,給出具體的前進(jìn)步驟。令∑為一種語言的字母表,L∑*為該語言的一個廣泛覆蓋的辭典。于是,拼寫改正最簡單的定義可以如下給定w∈∑*\L,找到w′∈L,使得dist(w,w&prime;)=minv&Element;Ldist(w,v).]]>即是說,對于文本中任何在辭典之外的詞,找到可用辭典之內(nèi)最接近的詞形,并假定其為正確的拼寫備選方案。dist可以是任何基于字符串的函數(shù),例如,在兩個詞中非共有字母個數(shù)和共有字母個數(shù)之間的比率。在拼寫改正中用得最多兩類的距離是Damerau(見,Damerau,F(xiàn).J.;ATechniqueforComputerDetectionandCorrectionofSpellingErrors;CommunicationsofACM,7(3)171-176;1964)和Levenshtein(見,Levenshtein,V.I.;BinaryCodesCapableofCorrectingDeletions,InsertionsandReversals;DokladyAkademiiNaukSSSR;163(4)p845-848;1965)提出的編輯距離,以及相關(guān)矩陣距離(見,Cherkassky,V.;Vassilas,N.;Brodt,G.L.;Wagner,R.A.;和Fisher,M.J.;TheStringtoStringCorrectionProblem;JournalofACM,21(1)168-178;1974)。本發(fā)明的一個實例使用Damerau-Levenshtein編輯距離的修正形式,如下文介紹所示。上述公式表示并沒有考慮一種語言中的詞頻。該問題的一個簡單解決辦法是計算目標(biāo)語言L中詞的概率,作為對L上的大語料庫C的最大似然估計(MLE)。通用的拼寫改正問題可以再用公式表示如下給定w∈∑*\L,找到w′∈L,使得dist(w,w&prime;)&le;&delta;P(w&prime;)=maxv&Element;L:dist(w,v)&le;&delta;P(v).]]>在這一公式表示中,所有處于未知詞某個“合理的”距離δ內(nèi)的在辭典之內(nèi)的詞被認(rèn)為是好的候選詞,基于其先驗概率P(·)選擇它們中最好的那個。一個自然的前進(jìn)步驟是用后驗概率作為噪聲通道模型框架內(nèi)的目標(biāo)函數(shù)(見,Kernighan,M.;Church,K.;和Gale,W.;ASpellingCorrectionProgramBasedonaNoisyChannelModel;ProceedingsofCOLING1990)。該目標(biāo)函數(shù)是以原來的拼寫為條件的改正的概率P(v|w),并包括了將一種語言中詞的先驗概率P(v)和錯誤拼寫詞形v作為w的概率,P(w|v)。為簡單起見,在此描述的所有公式表示均使用先驗概率作為目標(biāo)函數(shù),但是在實踐中,可以用后驗概率來代替。到目前為止所考慮的公式表示并不考慮上下文——在孤立中改正未知詞。這是個問題,因為在非常多的情況中,上下文對拼寫改正是極為重要的,如下面的例子所例示powercrd→powercordvideocrd→videocard根據(jù)其上下文,錯誤拼寫的詞形crd應(yīng)該被改正為兩個不同的詞(其他有效備選方案如videocd等是存在的;由于它們對本討論沒有用,被有意忽略了)。傳統(tǒng)的拼寫檢查程序(例如,典型的文字處理的拼寫檢查程序)所建議的改正在兩種情況下都是同樣的card、cord、crud、curd、cud,以這樣的順序。當(dāng)只允許有一個建議(這在web查詢拼寫改正中是非常典型的)時,總是從這個列表中采用第一個建議會導(dǎo)致許多錯誤。考慮上下文問題的一個可能公式表示如下給定s∈∑*,s=clwcr,且有w∈∑*\L及cl,cr∈L*,找到w′∈L,使得dist(w,w′)≤δ且P(clw&prime;cr)=maxv&Element;L:dist(w,v)&le;&delta;P(clvcr).]]>為簡單起見,在這一公式表示中空格和其他的詞定界符被忽略了。隨后問題的公式表示也將忽略詞定界符,雖然可以認(rèn)為詞的標(biāo)記化是拼寫改正過程的一個重要部分?;谝陨隙x的傳統(tǒng)拼寫—改正系統(tǒng)不處理用其他有效詞對有效詞進(jìn)行替換的情況。在web搜索的情況中,當(dāng)改正比原來的查詢更“富有意義”時,給有效詞提供改正建議很重要,例如foodexplorer→fordexplorergolfwar→gulfwar下面的例子顯示傳統(tǒng)拼寫改正程序不處理的兩個問題的組合,即上下文敏感的改正和有效詞替換chickensop→chickensoupsopopera→soapoperaCSSC的任務(wù)部分地解決這些問題,如NLP文獻(xiàn)中所定義的,可以用公式表示如下給定一種語言中的一組易混淆的有效詞形W={w1,w2,...,wn}和一個字符串s=clwicr,選擇wj∈W,使得P(clwjcr)=maxk=1..nP(clwkcr).]]>正如公式表示的那樣,相對于傳統(tǒng)的通用拼寫改正。CSSC的任務(wù)更傾向于涉及詞義消歧(WSD,wordsensedisambiguation)。然而當(dāng)所有的詞w′滿足dist(w,w′)≤δ時,通過為文本中的每個詞構(gòu)造一組易混淆詞,可以將該任務(wù)應(yīng)用于拼寫改正。短語拼寫改正的一般化問題可以用公式表示如下給定s∈∑*,找到s′∈L*,使得dist(s,s′)≤δ且P(s&prime;)=maxt&Element;L*:dist(s,t)&le;&delta;P(t).]]>通常,當(dāng)時(即是說,組成的詞中至少有一個是未知的),拼寫改正是希望的,但如上所示,還有經(jīng)常發(fā)生的情況如sopopera,此時有效詞形序列應(yīng)該改變?yōu)橛行г~形的其他序列。可以觀察到詞的邊界被隱藏在這一最近的公式表示中,將它變得更一般化并允許它覆蓋web查詢改正的其他重要拼寫錯誤,也就是串接和拆分。例如powerpointslides→powerpointslideswaltdisney→waltdisneychatinspanich→chatinspanish這一公式表示仍然不覆蓋一類重要的拼寫改正,這類拼寫改正必須由web查詢拼寫改正系統(tǒng)處理,并表現(xiàn)為實際上是給定上下文中的有效形式的未知詞(因此,),例如amdprocessors→amdprocessors典型的文字處理程序會加亮顯示amd為錯誤拼寫詞,并提供改正建議,諸如mad、amid、am、and和ad。在web查詢拼寫改正的情況下,系統(tǒng)不應(yīng)該建議拼寫改正,因為上面的短語代表一個合理的查詢,盡管事實上它包含未知詞。最近的公式表示中沒有處理的一些甚至更有趣的情況是有效詞應(yīng)該改變成未知詞(即是說,不在可信辭典之內(nèi)),如下面的例子中,兩個有效詞應(yīng)該串接成一個未知詞gundamplanet→gundamplanetlimpbizkit→limpbizkit這就引出拼寫—改正問題的更一般化的公式表示,如下所示給定s∈∑*,找到s′∈∑*,使得dist(s,s′)≤δ且P(s&prime;)=maxt&Element;&Sigma;*:dist(s,t)&le;&delta;P(t).]]>這一公式表示并不明確地使用該語言的辭典,雖然在字符串的似然估計P(s)中仍然可能用到辭典。這意味著,在web查詢改正的情況中,書寫查詢所用的實際語言變得沒有比從中可以估計字符串概率的未經(jīng)注釋的查詢?nèi)罩居?xùn)練數(shù)據(jù)重要。因此,這個概率模型可以是對像web查詢那樣的無意義字符串的量度的一種替代。這樣,在任何傳統(tǒng)語料庫中似乎不合情理的隨意的名詞短語如sadtomatoes(一個樂隊的名字),在網(wǎng)絡(luò)搜索的上下文中變得有意義了。傳統(tǒng)的詞拼寫—改正依賴于可信辭典和字符串距離函數(shù)。前面給出的拼寫改正公式表示利用了這樣的字符串距離和閾值來限制搜索備選拼寫的空間。先前的各種工作已經(jīng)解決選擇適當(dāng)?shù)淖址嚯x函數(shù)的問題。本發(fā)明一個實例使用修正的上下文依賴的加權(quán)Levenshtein距離,當(dāng)指點發(fā)生改變時加權(quán)Levenshtein距離允許字母的插入、刪除、替換、毗鄰調(diào)換和長距離移動。實際的距離函數(shù)d和閾值δ對拼寫程序的準(zhǔn)確度很重要。使用限制太嚴(yán)格的函數(shù)/閾值的組合會導(dǎo)致不能為給定查詢找到最好的改正。例如,使用標(biāo)準(zhǔn)的Levenshtein距離(定義為將一個字符串變換為另一個字符串所需要的指點改變次數(shù)的最小值,此處指點改變是下列操作中的一個插入一個字母、刪除一個字母以及用一個字母來替換另一個字母)并且閾值δ=1,donadlduck→donaldduck的改正將是不可能的。然而,利用限制較少的函數(shù)可能得到非常不可靠的改正建議。例如,利用同樣的經(jīng)典Levenshtein距離和δ=2將允許字符串donadlduck的改正,但是也將會導(dǎo)致錯誤的改正如logwood→dogfood(基于加入在P(s)中的查詢頻率)。但是,在多樣性的情況中,距離大的改正仍然是適當(dāng)?shù)?,例如?platnuinrings→platinumrings例2ditroitigers→detroittigers在第一個例子中,典型的文字處理拼寫檢查程序可能只建議plantain和plantains是錯拼詞platnuin的改正。在第二個例子中,典型的文字處理拼寫檢查程序會加亮顯示ditroitigers為錯誤拼寫,但沒有提供改正建議。盡管傳統(tǒng)的可信辭典和語料庫的方式可能無法解決這種類型的問題,但它可以由本發(fā)明通過利用大的查詢?nèi)罩緛斫鉀Q。根據(jù)距離和選擇閾值,如果像ditroitigers那樣的拼寫錯誤距離正確的備選方案太遠(yuǎn),那么就不可能在一個步驟中就找到正確的備選方案。然而,使用本發(fā)明一個實例,通過允許中間的有效改正步驟,可以得到正確的備選方案,如ditroitigers→detroittigers→detroittigers。問題的最后一個公式表達(dá)并沒有明確地利用該語言的辭典。然而,基于查詢相對頻率和備選拼寫,訓(xùn)練所用的查詢?nèi)罩局谐霈F(xiàn)的任何子串都可以被認(rèn)為是有效的改正,并可以被建議為當(dāng)前web查詢的備選方案。事實上,與文字處理程序所用的典型拼寫檢查程序相對,本發(fā)明的基本拼寫檢查程序(本發(fā)明的基本拼寫檢查程序是一個非迭代系統(tǒng))的一個實例會建議detroittigers,因為這個備選方案頻繁地出現(xiàn)在查詢?nèi)罩局小A硪环矫?,如果作為?dú)立的查詢提供給基本檢查程序,通過使用類似的作為本發(fā)明迭代改正方式的基礎(chǔ)的查詢?nèi)罩绢l率事實,detroittigers本身可以被改正為detroittigers。這種方式的本質(zhì)是查詢?nèi)罩镜娜齻€典型特性(1)查詢?nèi)罩局械脑~以各種方式被錯誤拼寫,從相對容易改正的拼寫錯誤到那些大錯誤,這使得幾乎不可能識別用戶的意圖(2)越是不嚴(yán)重的錯誤拼寫越是經(jīng)常發(fā)生;以及(3)正確拼寫傾向于比錯誤拼寫更經(jīng)常發(fā)生。與AlbertEinstein相關(guān)的搜索查詢的統(tǒng)計量的一個例子如表1所示表1AlbertEinstein查詢在這個上下文中,可以針對拼寫改正問題給出下面的迭代公式表示給定s0∈∑*,找到一個序列s1,s2,...sn∈∑*,使得dist(si,si+1)≤δ且P(si+1)=maxt&Element;&Sigma;*:dist(si,t)&le;&delta;P(t),]]>i∈0..n-1,以及P(sn)=maxt&Element;&Sigma;*:dist(sn,t)&le;&delta;P(t).]]>通過迭代地應(yīng)用本發(fā)明的基本拼寫檢查程序進(jìn)行改正的一個例子是anolscwartegger→arnoldschwarzenegger拼錯的查詢anolscwartegger第一次迭代arnoldschwartnegger第二次迭代arnoldschwarznegger第三次迭代arnoldschwarzenegger第四次迭代沒有進(jìn)一步的改正;因此,輸出第三次迭代的結(jié)果。到這個時候,公式表示中提交給拼寫檢查問題的字符串的意思已經(jīng)指定了。由Brill等人研究的一種可能(見,Brill,E.;Chandrasekar,R.和R.Rounthwaite,R的美國專利申請公開說明書US2003/0037077A1,申請?zhí)枮?9/681,771;發(fā)明名稱為“SpellingCorrectionSystemandMethodforPhrasalStringsUsingDictionaryLooping”)是把整個查詢看成需要改正的字符串。他們的方法是建立一個統(tǒng)計字符錯誤模型,并以查詢的相關(guān)頻率與字符錯誤模型的一致性為基礎(chǔ),建立從已記入日志的查詢到其他已記入日志的查詢的映射,作為改正。他們迭代進(jìn)行這一查詢?nèi)罩镜母恼^程,最后存儲記錄中被識別為記錄中另一個查詢的錯誤拼寫的每個查詢。在查詢層次上進(jìn)行工作有一些主要缺點。這種方法利用web查詢?nèi)罩局锌梢缘玫降拇罅啃畔?,但是只覆蓋了出現(xiàn)在這些記錄中的正確短語匹配,具有相對較低的覆蓋范圍。像britnetspearinconcert那樣的查詢不能被改正,因為它的正確形式britneyspearsinconcert并不出現(xiàn)在查詢?nèi)罩局?,盡管它的子串可以被單獨(dú)改正,例如britnetspear→britneyspears本發(fā)明克服上述方法的問題,創(chuàng)造出一種有效的查詢拼寫檢查方法。本發(fā)明利用下面的公式表示給定s0∈∑*,找到一個序列s1,s2,...sn∈∑*,使得對每個i∈0..n-1存在分解si=wi,01...wi,0li,]]>si+1=wi+1,11&CenterDot;&CenterDot;&CenterDot;wi+1,1li,]]>此處wj,hk為滿足dist(wi,0k,wi+1,1k)&le;&delta;,]]>i=0...n-1,k=1...li的詞或詞組;對i=0..n-1,有P(si+1)=maxt&Element;&Sigma;*:dist(si,t)&le;&delta;P(t);]]>且有P(sn)=maxt&Element;&Sigma;*:dist(sn,t)&le;&delta;P(t).]]>可以觀察到,從一次迭代到下一次迭代,字符串分解的長度可以變化,例如迭代過程易于出現(xiàn)其他類型的問題。短查詢能被迭代地轉(zhuǎn)換成其他不相關(guān)的查詢;因此,在本發(fā)明一個實例中,改變這樣的查詢還有另外的限制。為了進(jìn)行訓(xùn)練,本發(fā)明除了使用可用的詞典信息(例如,像multi-modal那樣的辭典條目將不會被拆分為三個部分)之外,還利用非?;A(chǔ)的空格和詞定界符信息來對web查詢?nèi)罩局惺褂玫乃胁樵冞M(jìn)行標(biāo)記化,并收集一元模型和二元模型統(tǒng)計量。利用與處理查詢?nèi)罩局兴褂玫南嗤崭窈驮~定界符信息和可用詞典信息,對輸入查詢進(jìn)行標(biāo)記化。對于每個標(biāo)記(token),利用前面的字符串距離函數(shù)(在本發(fā)明一個實例中,該函數(shù)是所述的加權(quán)Levenshtein函數(shù)),對在辭典之內(nèi)的詞和在辭典之外的標(biāo)記使用不同的閾值,計算出一組備選方案。在從詞典和日志中提取出來的詞/標(biāo)記的一元模型和二元模型的空間中搜索匹配項。在本發(fā)明的一個實例中,一元模型和二元模型被存儲在一個相同的數(shù)據(jù)結(jié)構(gòu)中,以使得系統(tǒng)能以與處理單個詞的未知形式完全相同的方式來處理詞的串接和拆分。一旦為查詢中的每個詞形計算出所有可能的備選方案組,就利用Viterbi搜索(其中通過利用二元模型和—元模型查詢?nèi)罩镜慕y(tǒng)計量來計算轉(zhuǎn)換概率,并用詞之間的逆序距離來代替輸出的概率),在下列約束下(例如)查找輸入查詢的最好的可能備選字符串不允許同時改變兩個毗鄰的在詞匯表之內(nèi)的詞。該約束避免了像logwood→dogfood那樣的改變。該約束的一個算法結(jié)果是不需要搜索網(wǎng)格圖(trellis)中的所有可能路徑(即是說,查詢中的每個標(biāo)記的候選改正的所有可能組合),這使得修正的搜索過程大大加快,如下面所進(jìn)一步描述的那樣。假設(shè)每個詞的備選方案列表隨機(jī)分類但有這樣的特性若輸入的詞形在可信辭典之內(nèi),則輸入詞就在該列表中的第一個位置上,那么被搜索過的路徑就形成“邊緣(fringe)”。在修正Viterbi搜索的示例300中,圖3給出網(wǎng)格圖的一個例子,該網(wǎng)格圖中假設(shè)w1、w2和w3為在辭典之內(nèi)的詞形??梢杂^察到,不是計算對應(yīng)于備選方案w1和w2之間的k1×k2個可能路徑的成本,而是僅需計算k1+k2個路徑的成本。由于本發(fā)明使用詞二元模型的統(tǒng)計量,停用詞(如介詞和連詞)可能會多次消極地干擾最好的路徑搜索。例如,在改正像platunumandrigs那樣的查詢時,基于詞二元模型的語言模型將不使用與詞形rigs有關(guān)的上下文。為了避免這個類型的問題,停用詞及其最有可能的拼寫錯誤被分別對待,首先忽略它們而進(jìn)行搜索,如示例300中所示,此處w4被假定為這種詞。一旦在受限制的網(wǎng)格圖中發(fā)現(xiàn)最好的路徑,就由第二Viterbi搜索用極值固定的邊緣計算停用詞(或其錯誤拼寫)的最好備選方案,如圖4中停用詞處理修正Viterbi搜索的示例400所描述。盡管由于太過于限制搜索空間,采用邊緣的搜索方式似乎對準(zhǔn)確度存在可能的負(fù)面影響,但是當(dāng)與拼寫改正的迭代過程相結(jié)合時,這種方式是非常強(qiáng)大的。在web查詢中估計n元模型時,本發(fā)明能使用查詢?nèi)罩竞蛍eb索引,作為所提議的帶有邊緣方法的Viterbi搜索所需要的有價值資源。然而,如果獨(dú)立使用,它們都不能被認(rèn)為是比其他資源更好的資源。一方面,web頻率可能對迭代改正方式不甚有用,因為web文檔錯誤沒有web查詢錯誤頻繁(大約10%到15%的web查詢包含拼寫錯誤),而且網(wǎng)頁作者所犯的錯誤不能用來對查詢web者所犯的錯誤進(jìn)行很好的建模。同樣,web頻率可能并非必然反映查詢拼寫改正中某些詞的重要性。由于空間和速度的限制,出現(xiàn)在網(wǎng)絡(luò)上的二元模型數(shù)目比拼寫改正系統(tǒng)能利用的數(shù)目要大得多,因此只儲存和利用比給定閾值值具有更高計數(shù)的二元模型可能不是最佳選擇。相對于較低web計數(shù)但實際上卻出現(xiàn)在查詢?nèi)罩局械脑~二元模型如oxpicture,許許多多出現(xiàn)在網(wǎng)絡(luò)上卻不出現(xiàn)在查詢?nèi)罩局械亩P腿鏼ailox,對查詢改正來說可能比較不相關(guān)。另一方面,對低計數(shù)的一元模型和二元模型來說,查詢?nèi)罩究赡苁窍喈?dāng)不可靠的。例如,一個樣本查詢?nèi)罩局杏?0個查詢包含了二元模型catfishsoap,而只有3個查詢包含了二元模型catfishsoup。基于這些統(tǒng)計量,像catfishsop那樣的查詢會與包含詞soap的不正確備選方案聯(lián)系起來(為簡單起見,這個例子假設(shè)dist(sop,soap)=dist(sop,soup))。在本發(fā)明一個實例中,使用在查詢?nèi)罩局谐霈F(xiàn)的詞一元模型和二元模型,但同時根據(jù)它們的web頻率調(diào)整它們的查詢?nèi)罩绢l率。這樣,在獲取更可靠的詞n元模型統(tǒng)計量時,可以從查詢?nèi)罩局袨V除頻率非常低的不在web上發(fā)生的n元模型(這可以通過限制運(yùn)行時中所用的數(shù)據(jù)大小來實現(xiàn)),而不丟失對迭代改正有用的頻率較高查詢的拼寫錯誤。圖5中,顯示依照本發(fā)明一個方面的信息流結(jié)構(gòu)500的示例。信息流結(jié)構(gòu)500描述被用來重新估計查詢?nèi)罩咎乩锝Y(jié)構(gòu)(trie)504的一元模型和二元模型統(tǒng)計量的web索引502。在本發(fā)明的其他實例中,可以通過充實可信辭典來增強(qiáng)辭典開發(fā)(尤其對非英語的其他語言來說),充實可信辭典的實現(xiàn)方法是在可信辭典之內(nèi)增加經(jīng)常通過拼寫改正的詞,如amdamdprocessors→amdprocessorsamdwarranty→amdwarrantyamdoverclocking→amdoverclocking在本發(fā)明又一個實例中,假定查詢?nèi)罩驹~直方圖中有一個未知詞,可以利用本發(fā)明來查找包含該詞的所有查詢,并計算其中詞被改正的查詢的數(shù)目和其中詞沒有被更改的查詢的數(shù)目。在本發(fā)明的其他實例中,通過觀察拼寫錯誤在不同的上下文中如何改正,從查詢?nèi)罩咎崛〕鲇脩舻闹R。本發(fā)明的其他實例包括建造跨越不同語言的同源字典(在機(jī)器翻譯中用作橋接元素)和/或使用迭代拼寫改正程序促進(jìn)語言翻譯器??紤]到上面所顯示和描述的示例性系統(tǒng)和過程,參考圖6-8的流程圖將可以更好地理解依照本發(fā)明來實現(xiàn)的方法。盡管出于簡化解釋的目的,所述方法被顯示和描述為一系列的塊,但應(yīng)該理解和明白,本發(fā)明不受塊的順序所限制,因為依照本發(fā)明的一些塊可能以與在此所顯示和描述所不同的順序發(fā)生和/或與其他塊同時發(fā)生。而且,實現(xiàn)依照本發(fā)明的方法并非需要全部例示的塊。本發(fā)明可以在像程序模塊那樣的計算機(jī)可執(zhí)行指令的一般上下文中描述,由一個或多個組件執(zhí)行。一般地,程序模塊包括執(zhí)行特定任務(wù)或?qū)崿F(xiàn)特定的抽象數(shù)據(jù)類型的例程、程序、對象、數(shù)據(jù)結(jié)構(gòu)等等。通常,程序模塊的功能可以根據(jù)本發(fā)明各種實例的需要,進(jìn)行組合或分配。圖6中,顯示一個依照本發(fā)明一個方面的促進(jìn)搜索查詢的一種方法600的流程圖。方法600開始(602),獲得輸入搜索查詢(604)。查詢通常由用戶輸入到web搜索應(yīng)用程序內(nèi)。于是本發(fā)明對搜索查詢進(jìn)行標(biāo)記化,以便將其分解為處理所用的二元模型和一元模型(606)。然后,利用標(biāo)記化的查詢來計算備選查詢建議,至少部分地使用至少一個查詢?nèi)罩?608)。查詢?nèi)罩局辽俨糠值靥峁┡c用戶所進(jìn)行的先前搜索有關(guān)的統(tǒng)計信息。本發(fā)明可以使用這類諸如頻率和/或改正建議等等的統(tǒng)計信息來提供備選查詢建議。在本發(fā)明的其他實例中,可信辭典也可以和另外的web統(tǒng)計量一起,被用來改進(jìn)低計數(shù)詞n元模型。也可以只使用web統(tǒng)計量而不使用辭典信息。本發(fā)明也能利用當(dāng)指點改變時允許字母的插入、刪除、替換、毗鄰調(diào)換和遠(yuǎn)距離移動等等的修正的上下文依賴的加權(quán)Levenshtein距離。在計算備選查詢建議的過程中,本發(fā)明也可以使用不允許同時改變兩個毗鄰的在詞匯表之內(nèi)的詞的約束。該約束的一個算法結(jié)果是不需要搜索網(wǎng)格圖中所有可能的路徑,這使得修正搜索過程大大加快。另外,它可以防止查詢變成一個作為備選查詢建議的完全錯誤的短語。一旦備選查詢建議被計算出來,就輸出給用戶和/或系統(tǒng)(610),結(jié)束流程(612)。參見圖7,描述另一個依照本發(fā)明一個方面的促進(jìn)搜索查詢的一種方法700的流程圖。方法700開始(702),獲得輸入搜索查詢(704)。于是,通過利用與處理查詢?nèi)罩局兴褂玫南嗤崭窈驮~定界符信息和可用詞典信息,對該輸入查詢進(jìn)行標(biāo)記化(706)。對于每個標(biāo)記,通過利用加權(quán)Levenshtein距離函數(shù),并允許對在辭典之內(nèi)的詞和在辭典之外的標(biāo)記采用不同的閾值,計算一組備選方案(708)。本發(fā)明與傳統(tǒng)的拼寫改正形成鮮明對照,因其在從詞典和記錄中提取出來的詞/標(biāo)記的一元模型和二元模型的空間中搜索匹配項。在本發(fā)明一個實例中,一元模型和二元模型被存儲在一個相同的數(shù)據(jù)結(jié)構(gòu)中,以使得系統(tǒng)能以與處理單個詞的未知形式完全相同的方式來處理詞的合并和拆分。一旦為查詢中每個詞形計算出所有可能的備選方案組,就用Viterbi搜索(其中通過利用二元模型和一元模型查詢?nèi)罩镜慕y(tǒng)計量來計算轉(zhuǎn)換概率,并用詞之間的逆序距離來代替輸出的概率)在下列約束下查找輸入查詢的最好的可能備選字符串不允許同時改變兩個毗鄰的在詞匯表之內(nèi)的詞(710)。該約束的一個算法結(jié)果是不需要搜索網(wǎng)格圖中的所有可能的路徑,這使得修正搜索過程大大加快,如下面所進(jìn)一步描述的那樣。于是確定是否已經(jīng)找到最佳備選查詢建議(712)。若是,就輸出最佳備選查詢建議(714),結(jié)束流程(716)。若否,最好的子串備選查詢建議在迭代過程中再次被標(biāo)記化(706),直到找到最佳的備選查詢建議。參見圖8,例示了又一個依照本發(fā)明一個方面的促進(jìn)搜索查詢的一種方法800的流程圖。方法800開始(802),從逆序web索引獲得低計數(shù)查詢?nèi)罩镜膎元模型的web統(tǒng)計量(804)。通過合并來自一個非常大的數(shù)據(jù)庫的信息,增強(qiáng)n元模型的統(tǒng)計信息。然后至少部分地利用web統(tǒng)計量,作為用于迭代處理低計數(shù)查詢?nèi)罩緉元模型的n元模型統(tǒng)計量(806),結(jié)束流程(808)。在本發(fā)明一個實例中,使用在查詢?nèi)罩局谐霈F(xiàn)的詞一元模型和二元模型,但根據(jù)它們的web頻率調(diào)整它們的查詢?nèi)罩绢l率。這樣,在獲取更可靠的詞n元模型統(tǒng)計量時,可以從查詢?nèi)罩局袨V除頻率非常低的不在網(wǎng)絡(luò)上發(fā)生的n元模型(這可以通過限制運(yùn)行時中所用的數(shù)據(jù)大小來實現(xiàn)),而不丟失對迭代改正有用的頻率較高查詢的拼寫錯誤。為了給實現(xiàn)本發(fā)明各個方面提供另外的上下文,圖9和下列討論提供對一個適當(dāng)?shù)挠嬎悱h(huán)境900的簡要而又一般化的描述,本發(fā)明各個方面可以在該計算環(huán)境中實現(xiàn)。盡管前面已經(jīng)在運(yùn)行在本地計算機(jī)和/或遠(yuǎn)程計算機(jī)上的計算機(jī)程序的計算機(jī)可執(zhí)行指令的一般上下文中描述本發(fā)明,那些本領(lǐng)域內(nèi)的技術(shù)人員將認(rèn)識到,本發(fā)明也可以和與其他程序模塊結(jié)合實現(xiàn)。一般地,程序模塊包括執(zhí)行特定的任務(wù)或?qū)崿F(xiàn)特定的抽象數(shù)據(jù)類型的例程、程序、對象、數(shù)據(jù)結(jié)構(gòu)等等。而且,本領(lǐng)域內(nèi)的技術(shù)人員將會明白,本發(fā)明的方法可以與其他計算機(jī)系統(tǒng)配置一起實施,這些其他計算機(jī)系統(tǒng)配置包括單處理器或多處理器計算機(jī)系統(tǒng)、小型計算機(jī)、大型計算機(jī)以及個人計算機(jī)、手持式計算設(shè)備、基于微處理器的和/或可編程的消費(fèi)性電子產(chǎn)品等等,其中的每個都可以與一個或多個關(guān)聯(lián)的設(shè)備有效地進(jìn)行通信。本發(fā)明的示例性方面也可以在分布式計算環(huán)境中實施,在分布式計算環(huán)境中,任務(wù)由通過通信網(wǎng)絡(luò)連接的遠(yuǎn)程處理設(shè)備執(zhí)行。然而,本發(fā)明一些方面,如果不是全部方面,可以在獨(dú)立計算機(jī)上實施。在分布式計算環(huán)境中,程序模塊可以置于本地和/或遠(yuǎn)程的存儲器設(shè)備。本說明書中,術(shù)語“組件”意指與計算機(jī)有關(guān)的實體,可以是硬件、硬件和軟件的組合、軟件或執(zhí)行中的軟件。例如,一個組件可以是但不限于是,運(yùn)行在處理器上的進(jìn)程、處理器、對象、可執(zhí)行程序、執(zhí)行的線程、程序和計算機(jī)。作為示例,運(yùn)行在服務(wù)器上的應(yīng)用程序和/或服務(wù)器都可以是一個計算機(jī)組件。另外,一個組件可以包括一個或多個子組件。參見圖9,實現(xiàn)本發(fā)明各個方面的一個示例性系統(tǒng)環(huán)境900包括一個常規(guī)計算機(jī)902,常規(guī)計算機(jī)902包括一個處理單元904、一個系統(tǒng)存儲器906以及把包括系統(tǒng)存儲器在內(nèi)的各種系統(tǒng)組件耦合至處理單元904的系統(tǒng)總線908。處理單元904可以是商業(yè)上可以買到的或?qū)S械奶幚砥?。另外,處理單元可以實現(xiàn)為由多于一個的處理器構(gòu)成的多處理器,例如可以是并行連接。系統(tǒng)總線908可以是包括存儲器總線或存儲器控制器、外圍總線以及局部總線在內(nèi)的若干總線結(jié)構(gòu)類型中的任一種,這些若干總線結(jié)構(gòu)類型使用多種常規(guī)總線架構(gòu),諸如PCI(外圍組件互連)、VESA(視頻電子標(biāo)準(zhǔn)協(xié)會)、微通道、ISA(工業(yè)標(biāo)準(zhǔn)結(jié)構(gòu))和EISA(增強(qiáng)型ISA總線)等,僅舉幾個例子。系統(tǒng)存儲器906包括只讀存儲器(ROM)910和隨機(jī)存取儲存器(RAM)912。基本輸入/輸出系統(tǒng)(BIOS)914存儲在ROM910中,它包含幫助在計算機(jī)902內(nèi)的組件之間傳輸信息的基本例程,比如在啟動過程中。計算機(jī)902也可以包括,舉例來說,一個硬盤驅(qū)動器916、一個磁盤驅(qū)動器918(例如,用于讀取或?qū)懭胍粋€可移動的磁盤920)和一個光盤驅(qū)動器922(例如,用于讀取或?qū)懭胍粋€CD-ROM盤片924或其他的光學(xué)介質(zhì))。硬盤驅(qū)動器916、磁盤驅(qū)動器918和光盤驅(qū)動器922分別通過硬盤驅(qū)動器接口926、磁盤驅(qū)動器接口928和光盤驅(qū)動器接口930連接到系統(tǒng)總線908。驅(qū)動器916-922及其相關(guān)的計算機(jī)可讀介質(zhì)為計算機(jī)902提供數(shù)據(jù)、數(shù)據(jù)結(jié)構(gòu)、計算機(jī)可執(zhí)行指令等等的非易失性存儲。雖然上面對計算機(jī)可讀介質(zhì)的描述中提到一個硬盤、一個可移動磁盤和一個CD,但本領(lǐng)域內(nèi)的技術(shù)人員應(yīng)該意識到,可以被計算機(jī)讀取的其他類型的介質(zhì),如磁帶盒、閃存卡、數(shù)字視頻盤、伯努利盒式磁帶等等,也能在示例性的操作環(huán)境900中使用,更進(jìn)一步,任何這些介質(zhì)中都可以包含完成本發(fā)明的方法所用的計算機(jī)可執(zhí)行指令。若干程序模塊可以存儲在驅(qū)動器916-922和RAM912中,包括一個操作系統(tǒng)932、一個或多個應(yīng)用程序934、其他程序模塊936和程序數(shù)據(jù)938。操作系統(tǒng)932可能是任何適當(dāng)?shù)牟僮飨到y(tǒng)或操作系統(tǒng)的組合。作為例子,應(yīng)用程序934和程序模塊936可以包括依照本發(fā)明一個方面的搜索查詢拼寫檢查系統(tǒng)。用戶可以通過一個或多個用戶輸入設(shè)備往計算機(jī)系統(tǒng)902里輸入命令和信息,如鍵盤940和定位設(shè)備436(例如,鼠標(biāo)942)。其他輸入設(shè)備(未示出)可以包括麥克風(fēng)、操縱桿、游戲墊、衛(wèi)星天線、無線電遙控、掃描儀等等。這些和其他的輸入設(shè)備一般通過耦合至系統(tǒng)總線908的串行接口944連接至處理單元904,但是也可以通過其他接口連接,如并行端口、游戲端口或通用串行總線(USB)。監(jiān)視器946或其他類型的顯示設(shè)備也通過一個接口如視頻適配器948連接至系統(tǒng)總線908。除了監(jiān)視器946之外,計算機(jī)902可以包括其他外圍輸出設(shè)備(未示出),如揚(yáng)聲器、打印機(jī)等等。應(yīng)該明白,計算機(jī)902可以工作在使用到一個或多個遠(yuǎn)程計算機(jī)960的邏輯連接的網(wǎng)絡(luò)化環(huán)境中。該遠(yuǎn)程計算機(jī)960可以是工作站、服務(wù)器計算機(jī)、路由器、對等設(shè)備或其他普通網(wǎng)絡(luò)節(jié)點,而且通常包括與計算機(jī)902相關(guān)的上述元件中的許多或全部,盡管為簡短起見,在圖9中只例示一個存儲器設(shè)備962。圖9中所描述的邏輯連接可以包括局域網(wǎng)(LAN)964和廣域網(wǎng)(WAN)966。這些網(wǎng)絡(luò)環(huán)境常見于辦公室、企業(yè)范圍內(nèi)的計算機(jī)網(wǎng)絡(luò)、企業(yè)內(nèi)部互聯(lián)網(wǎng)和因特網(wǎng)。當(dāng)用于LAN網(wǎng)絡(luò)環(huán)境時,例如,計算機(jī)902通過網(wǎng)絡(luò)接口或適配器968連到局域網(wǎng)964。當(dāng)用于WAN網(wǎng)絡(luò)環(huán)境時,計算機(jī)902通常包括調(diào)制解調(diào)器(例如,電話、數(shù)字用戶線路DSL、線纜Cable等等)970,或連接到局域網(wǎng)的通信服務(wù)器上,或有其他在WAN966上建立通信的方法,如因特網(wǎng)。可以內(nèi)置于或外置于計算機(jī)902的調(diào)制解調(diào)器970經(jīng)過串行端口接口944連接到系統(tǒng)總線908。在網(wǎng)絡(luò)化的環(huán)境中,程序模塊(包括應(yīng)用程序934)和/或程序數(shù)據(jù)938可以存儲在遠(yuǎn)程存儲器設(shè)備962中。應(yīng)當(dāng)明白,所顯示的網(wǎng)絡(luò)連接是示例性的,實現(xiàn)本發(fā)明的一個方面時,也可以使用在計算機(jī)902和960之間建立通信鏈路的其他手段(例如,有線的或無線的)。依照計算機(jī)編程領(lǐng)域內(nèi)技術(shù)人員的實踐,已經(jīng)參考由計算機(jī)(如計算機(jī)902或遠(yuǎn)程計算機(jī)960)執(zhí)行的動作和操作的符號表示法來描述本發(fā)明,除非另外說明。這些動作和操作有時被稱為計算機(jī)執(zhí)行。應(yīng)該明白,動作以及用符號代表的操作包括處理單元904對代表數(shù)據(jù)位的電子信號的控制,其中作為結(jié)果,數(shù)據(jù)位會引起電子信號表示的變換或轉(zhuǎn)化,以及在存儲系統(tǒng)(包括系統(tǒng)存儲器906、硬盤驅(qū)動器916、軟盤920、CD-ROM924及遠(yuǎn)程存儲器962)的存儲位置中數(shù)據(jù)位的維護(hù),由此配置或者改變計算機(jī)系統(tǒng)的操作和其他信號處理。維護(hù)這些數(shù)據(jù)位所在的存儲位置是具有與數(shù)據(jù)位對應(yīng)的特定的電、磁或光的特性的物理位置。圖10是另一個可以與本發(fā)明相互作用的一個樣本計算環(huán)境1000的方框圖。系統(tǒng)1000進(jìn)一步例示了包括一個或多個客戶端1002的系統(tǒng)。(諸)客戶端1002可以是硬件和/或軟件(例如,線程、進(jìn)程、計算設(shè)備)。系統(tǒng)1000也包括一個或多個服務(wù)器1004。(諸)服務(wù)器1004可以是硬件和/或軟件(例如,線程、進(jìn)程、計算設(shè)備)。(諸)服務(wù)器1004可以主控線程執(zhí)行轉(zhuǎn)換,比如,通過使用本發(fā)明。在客戶端1002和服務(wù)器1004之間的一種可能的通信可以以適合在兩個或多個計算機(jī)進(jìn)程之間傳輸?shù)臄?shù)據(jù)包形式進(jìn)行。系統(tǒng)1000包括可以用來促進(jìn)(諸)客戶端1002和(諸)服務(wù)器1004之間通信的通信框架1008。(諸)客戶端1002被連接到一個或多個可以用來存儲(諸)客戶端1002的本地信息的客戶端存儲器1010。同樣地,(諸)服務(wù)器1004被連接到一個或多個可以用來存儲(諸)服務(wù)器1004的本地信息的(諸)服務(wù)器存儲器1006。在本發(fā)明一個實例中,在兩個或多個計算機(jī)組件之間傳輸?shù)摹⒋龠M(jìn)搜索查詢拼寫檢查的數(shù)據(jù)包至少部分地包含與搜索查詢拼寫檢查系統(tǒng)有關(guān)的信息,該系統(tǒng)基于至少一個查詢?nèi)罩?,給一組查詢字符串至少部分地提供至少一個備選拼寫。應(yīng)該明白,本發(fā)明的系統(tǒng)和/或方法可以用在促進(jìn)搜索查詢拼寫檢查的計算機(jī)組件和類似的非計算機(jī)相關(guān)組件中。此外,本領(lǐng)域的技術(shù)人員將認(rèn)識到,本發(fā)明的系統(tǒng)和/或方法可以應(yīng)用于一大批相關(guān)電子技術(shù)中,包括但不限于計算機(jī)、服務(wù)器和/或手持式電子設(shè)備等等。上面所已經(jīng)描述的內(nèi)容包括本發(fā)明的例子。當(dāng)然,出于描繪本發(fā)明的目的而描述每一個可以想到的組件或方法的組合是不可能的,但本領(lǐng)域內(nèi)的普通技術(shù)人員應(yīng)該認(rèn)識到,本發(fā)明的許多進(jìn)一步的組合和排列都是可能的。因此,本發(fā)明包括所有這些屬于權(quán)利要求書的精神和范圍內(nèi)的改變、修改和變動。此外,在具體實施方式或權(quán)利要求書中用到術(shù)語“包含”的范圍內(nèi),這樣的術(shù)語是指以類似于術(shù)語“包括”的方式包括在內(nèi),此處的“包括”作為過渡詞在權(quán)利要求書中使用時作出解釋。權(quán)利要求1.一種促進(jìn)拼寫檢查的系統(tǒng),包括一接收包含文本的輸入數(shù)據(jù)的組件;以及一拼寫檢查組件,其識別文本中一組潛在地被錯拼的子串,并基于至少一個查詢?nèi)罩?,給所述子串組建議至少一個備選拼寫;所述查詢?nèi)罩景ㄔ谝粋€時間范圍內(nèi)被諸用戶用于查詢數(shù)據(jù)集的數(shù)據(jù)。2.如權(quán)利要求1所述的系統(tǒng),其特征在于,所述拼寫檢查組件在建議至少一個備選拼寫時進(jìn)一步利用依賴于用戶的信息。3.如權(quán)利要求1所述的系統(tǒng),其特征在于,所述子串組的備選拼寫進(jìn)一步基于至少一個可信辭典;所述可信辭典包括從由一個有內(nèi)容的可信辭典和一個沒有內(nèi)容的可信辭典組成的組中選擇的至少一個。4.如權(quán)利要求3所述的系統(tǒng),其特征在于,所述拼寫檢查組件進(jìn)一步使用一個停用詞列表;所述停用詞列表包括從由一個有內(nèi)容的停用詞列表和一個沒有內(nèi)容的停用詞列表組成的組中選擇的至少一個。5.如權(quán)利要求4所述的系統(tǒng),其特征在于,所述有內(nèi)容的停用詞列表包括一個包含高頻詞和功能詞及其常見拼寫錯誤的停用詞列表。6.如權(quán)利要求4所述的系統(tǒng),其特征在于,所述拼寫檢查組件使用迭代過程來搜索備選拼寫空間。7.如權(quán)利要求6所述的系統(tǒng),其特征在于,所述拼寫檢查組件至少部分地使用試探法來將限制強(qiáng)加于用來確定建議的備選拼寫的搜索空間。8.如權(quán)利要求7所述的系統(tǒng),其特征在于,所述試探法至少部分地利用至少一個邊緣來限制所述搜索空間。9.如權(quán)利要求4所述的系統(tǒng),其特征在于,所述查詢?nèi)罩景ㄔ谝粋€時間范圍內(nèi)被要求的查詢的一個直方圖。10.如權(quán)利要求9所述的系統(tǒng),其特征在于,所述被要求的查詢的直方圖涉及諸用戶的一個子集;所述子集包括至少一個用戶。11.如權(quán)利要求9所述的系統(tǒng),其特征在于,所述查詢?nèi)罩抉v留在服務(wù)器計算機(jī)上。12.如權(quán)利要求9所述的系統(tǒng),其特征在于,所述查詢?nèi)罩抉v留在客戶計算機(jī)上。13.如權(quán)利要求9所述的系統(tǒng),其特征在于,所述拼寫檢查組件利用來自至少一個查詢?nèi)罩镜淖哟霈F(xiàn)和共現(xiàn)統(tǒng)計數(shù)據(jù)。14.如權(quán)利要求13所述的系統(tǒng),其中子串包括從由在至少一個可信辭典之內(nèi)的條目、在一停用詞列表中的條目以及沒有一組預(yù)定義的定界符的字符序列組成的組中選擇的至少一個。15.如權(quán)利要求13所述的系統(tǒng),其特征在于,所述子串共現(xiàn)統(tǒng)計數(shù)據(jù)包括子串二元模型計數(shù);子串二元模型包括文本中的一對子串。16.如權(quán)利要求15所述的系統(tǒng),其特征在于,所述子串二元模型包括文本中的一對毗鄰子串。17.如權(quán)利要求16所述的系統(tǒng),其特征在于,所述有內(nèi)容的停用詞列表的子串共現(xiàn)統(tǒng)計數(shù)據(jù)進(jìn)一步包括一個帶停用詞序列忽略計數(shù)的子串二元模型。18.如權(quán)利要求13所述的系統(tǒng),其特征在于,所述來自查詢?nèi)罩镜淖哟霈F(xiàn)和共現(xiàn)統(tǒng)計數(shù)據(jù)被存儲于一相同的可搜索數(shù)據(jù)結(jié)構(gòu)中。19.如權(quán)利要求18所述的系統(tǒng),其特征在于,所述數(shù)據(jù)結(jié)構(gòu)包括一個特里結(jié)構(gòu)。20.如權(quán)利要求18所述的系統(tǒng),其特征在于,所述系統(tǒng)以與其處理個別子串時所用的相同方式處理串接的和/或拆分的子串。21.如權(quán)利要求20所述的系統(tǒng),其特征在于,所述拼寫檢查組件產(chǎn)生一組備選拼寫,所述一組備選拼寫是從由至少一個查詢?nèi)罩竞椭辽僖粋€辭典所組成的組中選擇的至少一個的子串。22.如權(quán)利要求21所述的系統(tǒng),其特征在于,所述備選拼寫組包括通過迭代改正過程確定的一組備選拼寫。23.如權(quán)利要求22所述的系統(tǒng),其特征在于,所述迭代改正過程包括多個將至少一個子串轉(zhuǎn)變成另一個子串作為備選拼寫的迭代;當(dāng)所有可能的備選拼寫都不如當(dāng)前的備選拼寫組恰當(dāng)時,所述迭代改正過程停止。24.如權(quán)利要求23所述的系統(tǒng),所述備選拼寫及其適合程度基于一概率串距離和一統(tǒng)計上下文模型計算。25.如權(quán)利要求24所述的系統(tǒng),其特征在于,所述概率串距離包括一個修正的上下文依賴的加權(quán)Damerau-Levenshtein編輯函數(shù),當(dāng)指點改變時,所述編輯函數(shù)允許字符的插入、刪除、替換、毗鄰調(diào)換和遠(yuǎn)距離移動。26.如權(quán)利要求24所述的系統(tǒng),在每個迭代中,用于一子串的所述備選拼寫組通過利用從至少一個查詢?nèi)罩竞椭辽僖粋€可信辭典提取出來的可搜索子串?dāng)?shù)據(jù)結(jié)構(gòu)來產(chǎn)生。27.如權(quán)利要求26所述的系統(tǒng),在每個迭代中,用于每個子串的所述備選拼寫組被限制在距離輸入子串的概率距離δ內(nèi);所述限制被強(qiáng)加在每個迭代內(nèi),而沒有對迭代改正過程作為整體進(jìn)行限制。28.如權(quán)利要求27所述的系統(tǒng),在每個迭代中,所述迭代改正過程通過利用統(tǒng)計上下文模型來搜索最佳備選拼寫組。29.如權(quán)利要求28所述的系統(tǒng),其特征在于,所述統(tǒng)計上下文模型包括從至少一個查詢?nèi)罩咎崛〕鰜淼淖哟霈F(xiàn)和共現(xiàn)統(tǒng)計數(shù)據(jù)。30.如權(quán)利要求29所述的系統(tǒng),其特征在于,在每個迭代中,使用Viterbi搜索來促進(jìn)根據(jù)所述上下文模型確定所述最佳備選拼寫組。31.如權(quán)利要求30所述的系統(tǒng),其特征在于,在一次迭代中,所述Viterbi搜索可以使用邊緣來限制備選拼寫搜索,使得對每對毗鄰子串,如果其中任何一個子串在至少一個可信辭典之內(nèi),則在所述迭代中只允許改變所述子串中的一個。32.一種促進(jìn)拼寫檢查的方法,包括接收包含文本的輸入數(shù)據(jù);識別文本中的一組潛在地被錯拼的子串;以及基于至少一個查詢?nèi)罩荆瑸樗鲎哟M建議至少一個備選拼寫;所述查詢?nèi)罩景ㄔ谝粋€時間范圍內(nèi)被諸用戶用于查詢數(shù)據(jù)收集的數(shù)據(jù)。33.如權(quán)利要求32所述的方法,其特征在于,所述子串組的所述備選拼寫進(jìn)一步基于至少一個可信辭典;所述可信辭典包括從由一個有內(nèi)容的可信辭典和一個沒有內(nèi)容的可信辭典組成的組中選擇的至少一個。34.如權(quán)利要求33所述的方法,進(jìn)一步包括至少部分地使用一個停用詞列表來促進(jìn)確定至少一個備選拼寫;所述停用詞列表包括從由一個有內(nèi)容的停用詞列表和一個沒有內(nèi)容的停用詞列表組成的組中選擇的至少一個。利用來自至少一個查詢?nèi)罩镜淖哟霈F(xiàn)和共現(xiàn)統(tǒng)計數(shù)據(jù);所述查詢?nèi)罩景ㄔ谝粋€時間范圍內(nèi)被要求的查詢的一個直方圖,來自所述查詢?nèi)罩镜淖哟霈F(xiàn)和共現(xiàn)統(tǒng)計數(shù)據(jù)存儲在一個相同的可搜索數(shù)據(jù)結(jié)構(gòu)中。以與處理單個子串所用的相同方式來處理串接和/或拆分的子串;以及產(chǎn)生一組備選拼寫,所述備選拼寫組是從由至少一個查詢?nèi)罩竞椭辽僖粋€辭典所組成的組中選擇的至少一個中的子串,所述備選拼寫組包括通過迭代改正過程確定的一組備選拼寫。35.如權(quán)利要求34所述的方法,其特征在于,所述迭代改正過程包括將至少一個子串轉(zhuǎn)變成另一個子串,作為備選拼寫;以及當(dāng)所有可能的備選拼寫都不如當(dāng)前的備選拼寫組恰當(dāng)時,停止所述迭代改正過程;基于隨機(jī)串距離和統(tǒng)計上下文模型,計算所述備選拼寫及其適合程度。36.如權(quán)利要求35所述的方法,在所述迭代改正過程的每個迭代中進(jìn)一步包括利用從至少一個查詢?nèi)罩竞椭辽僖粋€可信辭典之內(nèi)提取出來的可搜索子串?dāng)?shù)據(jù)結(jié)構(gòu),來產(chǎn)生用于一個子串的所述備選拼寫組;將每個子串的所述備選拼寫組限制在距離一輸入子串的隨機(jī)距離δ內(nèi);所述限制被強(qiáng)加在每個迭代內(nèi),而沒有將迭代改正過程作為整體進(jìn)行限制;以及通過利用統(tǒng)計上下文模型搜索一組最佳備選拼寫;所述統(tǒng)計上下文模型包括從至少一個查詢?nèi)罩咎崛〕鰜淼淖哟霈F(xiàn)和共現(xiàn)統(tǒng)計數(shù)據(jù)。37.如權(quán)利要求36所述的方法,進(jìn)一步包括在每次迭代中,使用Viterbi搜索來促進(jìn)根據(jù)所述上下文模型確定所述最佳備選拼寫組;在一次迭代中,所述Viterbi搜索可以使用邊緣來限制備選拼寫搜索,使得對于每對毗鄰子串,如果其中任何子串在至少一個可信辭典之內(nèi),則所述迭代中只允許改變所述子串中的一個。38.一種便于對搜索引擎的查詢進(jìn)行拼寫檢查的系統(tǒng),包括接收包含文本的輸入數(shù)據(jù)的方法;以及識別文本中一組潛在地被錯拼的子串并基于至少一個查詢?nèi)罩窘o所述子串組建議至少一個備選拼寫的方法;所述查詢?nèi)罩景ㄒ粋€時間范圍內(nèi)被諸用戶用于查詢數(shù)據(jù)收集的數(shù)據(jù)。39.在兩個或多個計算機(jī)組件之間傳輸?shù)拇龠M(jìn)搜索查詢拼寫檢查的數(shù)據(jù)包;所述數(shù)據(jù)包至少部分地包含與搜索查詢拼寫檢查系統(tǒng)有關(guān)的信息,所述拼寫檢查系統(tǒng)至少部分基于至少一個查詢?nèi)罩?,給一組查詢字符串至少部分地提供至少一個備選拼寫。40.一種計算機(jī)可讀介質(zhì),所述介質(zhì)中存儲有如權(quán)利要求1所述的系統(tǒng)的計算機(jī)可運(yùn)行組件。41.一種使用如權(quán)利要求32所述的方法的設(shè)備,其特征在于,所述設(shè)備包括從由計算機(jī)、服務(wù)器和手持式電子設(shè)備組成的組中選擇的至少一個。42.一種使用如權(quán)利要求1所述的系統(tǒng)的設(shè)備,其特征在于,所述設(shè)備包括從由計算機(jī)、服務(wù)器和手持式電子設(shè)備組成的組中選擇的至少一個。全文摘要本發(fā)明利用搜索查詢字符串的迭代變換以及從搜索查詢?nèi)罩竞?或web數(shù)據(jù)提取出來的統(tǒng)計量,給搜索查詢字符串提供可能的備選拼寫。這提供一種能用來給每個用戶提供個性化建議的拼寫檢查方法。通過利用搜索查詢?nèi)罩?,本發(fā)明能考慮到辭典里沒有但仍可接受為所關(guān)心的搜索查詢的子串。這允許一種提供在辭典內(nèi)容之外的質(zhì)量更高的備選拼寫建議的方法。本發(fā)明的一個實例通過利用從查詢?nèi)罩局刑崛〕鰜淼脑~一元模型和/或二元模型的統(tǒng)計量并結(jié)合迭代搜索,在子串級別上工作。這為給定查詢提供了實質(zhì)上比只利用子串匹配的方法更好的拼寫備選方案。本發(fā)明的其他實例能接收來自除了搜索查詢輸入之外的來源的輸入數(shù)據(jù)。文檔編號G06F17/30GK1670723SQ20051005923公開日2005年9月21日申請日期2005年3月16日優(yōu)先權(quán)日2004年3月16日發(fā)明者E·D·布里爾,S·-P·庫塞贊申請人:微軟公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1