專利名稱:在線拼寫糾正/短語完成系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及在線應(yīng)用,尤其涉及在線拼寫糾正。
背景技術(shù):
隨著數(shù)據(jù)存儲設(shè)備變得越來越便宜,保留了越來越大量的數(shù)據(jù),其中這樣的數(shù)據(jù)可通過利用搜索引擎來訪問。由此,搜索引擎技術(shù)被頻繁地更新以滿足用戶的信息檢索請求。此外,隨著用戶持續(xù)地與搜索引擎交互,這些用戶變得越來越擅長于制作可能導(dǎo)致返回滿足用戶的信息請求的捜索結(jié)果的查詢。 然而,常規(guī)上,當(dāng)一部分查詢包括錯誤拼寫的詞時,搜索引擎難以檢索到相關(guān)的結(jié)果。對搜索引擎查詢?nèi)罩具M行分析發(fā)現(xiàn),查詢中的詞常常被錯誤拼寫并且存在各種類型的錯誤拼寫。例如,某些錯誤拼寫可由當(dāng)用戶意外地按壓了鍵盤上與用戶打算按壓的鍵相鄰的鍵時的“粗手指癥狀(fat finger syndrome) ”引起。在另ー示例中,查詢的發(fā)起者可能不熟悉某些拼寫規(guī)則,諸如當(dāng)將字母“i”放在字母“e”之前以及當(dāng)將字母“e”放在字母“i”之前吋。其他的錯誤拼寫可由用戶打字太快引起,諸如例如用戶意外地按壓了同一字母兩次、意外地顛倒了一個詞中的兩個字母等。此外,許多用戶難以拼寫源自不同語種的詞。某些搜索引擎已經(jīng)被適應(yīng)于在接收到整個查詢之后(例如,在查詢的發(fā)起者按壓“搜索”按鈕之后)試圖糾正查詢中的錯誤拼寫的詞。此外,某些搜索引擎被配置為在向搜索引擎發(fā)出了完整的查詢之后糾正查詢中錯誤拼寫的詞,并且隨后自動地利用經(jīng)糾正的查詢來對索引進行搜索。另外,常規(guī)的搜索引擎被配置有當(dāng)用戶鍵入查詢時提供查詢完成建議的技術(shù)。這些查詢完成建議常常通過協(xié)助用戶制作一個完整的查詢以節(jié)省用戶時間和苦惱,該完整的查詢基于已經(jīng)提供給搜索引擎的查詢前綴。然而,如果查詢前綴的一部分包括錯誤拼寫的詞,則常規(guī)的搜索引擎提供有幫助的查詢建議的能力大大地降低了。
發(fā)明內(nèi)容
以下是在本文詳細描述的主題的簡要的發(fā)明內(nèi)容。本發(fā)明內(nèi)容不g在是關(guān)于權(quán)利要求的范圍的限制。本文描述了涉及在線拼寫糾正/短語完成的各種技術(shù),其中在線拼寫糾正指的是當(dāng)用戶向計算機可執(zhí)行應(yīng)用提供短語前綴時為詞或短語提供拼寫糾正。根據(jù)ー示例,在線拼寫糾正/短語完成可在搜索引擎處進行,其中查詢前綴(例如,查詢的一部分而非完整的查詢)包括可能錯誤拼寫的詞,其中當(dāng)用戶向搜索引擎輸入字符時這樣的錯誤拼寫的詞可被標(biāo)識并被糾正,并且其中可將包括經(jīng)糾正的詞(正確拼寫的詞)的查詢完成(建議)提供給用戶。在另ー示例中,在線拼寫糾正可在文字處理應(yīng)用中進行、在web瀏覽器中進行、可作為操作系統(tǒng)的一部分被包括、或者可作為另ー計算機可執(zhí)行應(yīng)用的一部分被包括。結(jié)合進行在線拼寫糾正/短語完成,可從計算裝置的用戶接收短語前綴,其中短語前綴包括可能是詞的錯誤拼寫的部分的第一字符序列。例如,用戶可提供短語前綴“getinvl”。這ー短語前綴包括可能錯誤拼寫的字符序列“ invl”,其中用戶可能期望的整個短語是“get involved with computers”。本文描述的各方面涉及標(biāo)識短語前綴的字符序列中的可能的錯誤拼寫、糾正可能的錯誤拼寫并且之后向用戶提供建議的完整的短語。繼續(xù)該示例,響應(yīng)于接收到字符序列“ vl”,可從計算機可讀數(shù)據(jù)儲存庫中的第一數(shù)據(jù)結(jié)構(gòu)檢索變換概率。例如,這ー變換概率可指示字符序列“vol”已經(jīng)(無意地)被變換成用戶提供的字符序列(“vl”)的概率。盡管字符序列“ vl ”包括兩個字符而字符序列“ V01 ”包括三個字符,但應(yīng)該理解,字符序列可以是單個字符、零個字符或多個字符。變換概率可實時地(在從用戶接收到短語前綴吋)計算、或者預(yù)先計算并被保留在諸如散列表之類的數(shù)據(jù)結(jié)構(gòu)中。此外,變換概率可取決于短語中先前的變換概率。因此,例如,字符序列“vol”已經(jīng)被用戶變換成字符序列“vl”的變換概率可至少部分地基于字符序列“in”已經(jīng)被變換成相同的字符序列“in”的變換概率。在檢索到變換概率數(shù)據(jù)之后,可對第二數(shù)據(jù)結(jié)構(gòu)進行搜索以定位至少ー個短語完成,其中該至少一個短語完成至少部分地基于變換概率數(shù)據(jù)來定位。根據(jù)ー示例,第二數(shù)據(jù)結(jié)構(gòu)可以是特里結(jié)構(gòu)(trie)。特里結(jié)構(gòu)可包括多個節(jié)點,其中每ー節(jié)點可表示字符或空字 段(例如,表示短語的結(jié)束)。由特里結(jié)構(gòu)中的路徑連接的兩個節(jié)點指示由這些節(jié)點表示的字符序列。例如,第一節(jié)點可表示字符“a”,第二節(jié)點可表示字符“b”,而這些節(jié)點之間的直接路徑表示字符序列“ab”。另外,每ー節(jié)點可具有與其相關(guān)聯(lián)的分數(shù),該分數(shù)指示包括該節(jié)點的最有可能的短語完成。該分數(shù)可至少部分地基于例如對于特定應(yīng)用已經(jīng)觀察到的詞或短語的出現(xiàn)次數(shù)來計算。例如,該分數(shù)可指示查詢已經(jīng)被搜索引擎接收的次數(shù)(在某ー閾值時間窗ロ期間)。此外,對特里結(jié)構(gòu)的捜索可通過利用A*捜索算法或經(jīng)修改的A*搜索算法來進行。至少部分地基于對第二數(shù)據(jù)結(jié)構(gòu)進行的捜索,可向用戶提供一個最有可能的詞或短語完成或多個最有可能的詞或短語完成,其中這樣的詞或短語完成包括對已經(jīng)被提供給計算機可執(zhí)行應(yīng)用的短語前綴中包括的可能的錯誤拼寫的糾正。在搜索引擎的上下文中,通過利用這種技術(shù),搜索引擎可快速地向用戶提供查詢建議,該查詢建議包括對已經(jīng)由用戶提供給搜索引擎的查詢前綴中可能的錯誤拼寫的糾正。用戶隨后可選擇查詢建議之一,并且搜索引擎可利用用戶所選的查詢建議來執(zhí)行捜索。在閱讀并理解了附圖和描述后,可以明白其他方面。
圖I是便于響應(yīng)于從用戶接收到短語前綴而執(zhí)行在線拼寫糾正/短語完成的示例性系統(tǒng)的功能框圖。圖2是示例性特里數(shù)據(jù)結(jié)構(gòu)。圖3是便于估計、剪除和平滑化變換模型的示例性系統(tǒng)的功能框圖。圖4是便于至少部分地基于來自查詢?nèi)罩镜臄?shù)據(jù)來構(gòu)建特里結(jié)構(gòu)的示例性系統(tǒng)的功能框圖。圖5是涉及搜索引擎的示例性圖形用戶界面。圖6示出文字處理應(yīng)用的示例性圖形用戶界面。圖7是便于響應(yīng)于從用戶接收到短語前綴而執(zhí)行在線拼寫糾正/短語完成的示例性方法的流程圖。
圖8是示出用于輸出其中來自用戶的查詢前綴中接收的可能的錯誤拼寫已經(jīng)糾正的查詢建議/完成的示例性方法的流程圖。圖9是不例性計算系統(tǒng)。
具體實施例方式現(xiàn)在將參考附圖來描述關(guān)于對短語前綴中可能錯誤拼寫的詞的在線糾正的各種技術(shù),在全部附圖中相同的附圖標(biāo)記表示相同的元素。另外,本文出于解釋的目的示出并描述了各示例性系統(tǒng)的若干功能框圖;然而可以理解,被描述為由特定系統(tǒng)組件執(zhí)行的功能可以由多個組件來執(zhí)行。類似地,例如,一組件可被配置成執(zhí)行被描述為由多個組件執(zhí)行的功能。另外,如此處所用的,術(shù)語“示例性” g在表示用作某些事物的圖示或示例,而不意圖指示優(yōu)選?,F(xiàn)在參考圖1,示出了一示例性在線拼寫糾正/短語完成系統(tǒng)100,其中術(shù)語“在 線拼寫糾正/短語完成”指的是響應(yīng)于接收到來自用戶的短語前綴但在用戶輸入完整的短語之前、提供可能錯誤拼寫的詞被糾正的短語完成。根據(jù)ー示例,系統(tǒng)100可被包括在計算機可執(zhí)行應(yīng)用中。這樣的應(yīng)用可駐留在服務(wù)器上,諸如搜索引擎、主存在服務(wù)器上的文字處理應(yīng)用或其他合適的服務(wù)器側(cè)應(yīng)用。此外,系統(tǒng)100可在被配置為在客戶機計算設(shè)備上執(zhí)行的文字處理應(yīng)用中采用,其中客戶機計算設(shè)備可以是但不限于,臺式計算機,膝上型計算機,諸如平板計算機、移動電話等便攜式計算設(shè)備等。另外,系統(tǒng)100可結(jié)合提供單個詞的可能錯誤拼寫的詞的在線糾正/完成來使用,或者可結(jié)合提供對不完整的短語的可能錯誤拼寫的詞的在線糾正/完成來使用。另外,盡管系統(tǒng)100在此處將被描述為被配置為對第一語言的包括可能錯誤拼寫的詞的短語執(zhí)行拼寫糾正/短語完成,但應(yīng)該理解,此處描述的技術(shù)可被延伸至協(xié)助用戶對期望被轉(zhuǎn)換成第二語言的第一語言的短語前綴進行拼寫糾正/短語完成。例如,用戶可能希望生成包括中文字符的短語。然而,用戶可能只有包括英文字符的鍵盤。此處描述的技術(shù)可用于允許用戶利用英文字符來鍵入短語前綴以近似特定的中文詞或短語的發(fā)音,并且可響應(yīng)于該短語前綴將中文字符的完整的短語提供給用戶。本領(lǐng)域技術(shù)人員將容易理解其他應(yīng)用。在線拼寫糾正/短語完成系統(tǒng)100包括從用戶104接收第一字符序列的接收器組件102。例如,第一字符序列可以是由用戶104提供給計算機可執(zhí)行應(yīng)用的詞或短語的前綴的一部分。出于說明的目的,這樣的計算機可執(zhí)行應(yīng)用在此處將被描述為搜索引擎,但應(yīng)當(dāng)理解,系統(tǒng)100可在各種不同的應(yīng)用中使用。用戶104提供的第一字符序列可以是可能錯誤拼寫的詞的至少一部分。此外,第一字符序列可以是包括可能錯誤拼寫的詞的短語或其部分,諸如“getting invlv”。如此處更詳細地描述的,由接收器組件102接收的第一字符序列可以是單個字符、空字符或多個字符。在線拼寫糾正/短語完成系統(tǒng)100還包括與接收器組件102通信的搜索組件106。響應(yīng)于接收器組件102從用戶104接收到第一字符序列,搜索組件106可訪問數(shù)據(jù)儲存庫108。數(shù)據(jù)儲存庫108包括第一數(shù)據(jù)結(jié)構(gòu)110和第二數(shù)據(jù)結(jié)構(gòu)112。如下文將描述的,第一數(shù)據(jù)結(jié)構(gòu)110和第二數(shù)據(jù)結(jié)構(gòu)112可被預(yù)先計算以允許搜索組件106有效地在這樣的數(shù)據(jù)結(jié)構(gòu)110和112中捜索。另選地,至少第一數(shù)據(jù)結(jié)構(gòu)110可以是被實時(例如,在接收到用戶提供的短語前綴中的字符時)解碼的模型。
第一數(shù)據(jù)結(jié)構(gòu)110可包括或被配置為輸出關(guān)于多個字符序列的多個變換概率。更具體地,第一數(shù)據(jù)結(jié)構(gòu)Iio包括第二字符序列(可以與從用戶104接收的字符序列相同或不同)已經(jīng)被用戶104變換成第一字符序列的概率。因此,第一數(shù)據(jù)結(jié)構(gòu)110可包括或輸出這樣的數(shù)據(jù),該數(shù)據(jù)指示用戶或通過錯誤(粗手指癥狀或打字太快)或無知(不熟悉拼寫規(guī)則、不熟悉詞的母語)而打算鍵入第二字符序列但卻鍵入了第一字符序列的概率。下文提供了關(guān)于生成/學(xué)習(xí)第一數(shù)據(jù)結(jié)構(gòu)110的附加細節(jié)。第二數(shù)據(jù)結(jié)構(gòu)112可包括指示短語的概率的數(shù)據(jù),該數(shù)據(jù)可基于提供給計算機可執(zhí)行應(yīng)用的觀察到的短語來確定,諸如提供給搜索引擎的觀察到的查詢。在一示例中,指示短語的概率的數(shù)據(jù)可基于特定的短語前綴。因此,例如,第二數(shù)據(jù)結(jié)構(gòu)112可包括指示用戶104希望向計算機可執(zhí)行應(yīng)用提供詞“involved”的概率的數(shù)據(jù)。根據(jù)ー示例,第二數(shù)據(jù)結(jié)構(gòu)112可采用前綴樹或特里結(jié)構(gòu)的形式。另選地,第二數(shù)據(jù)結(jié)構(gòu)112可采用η元語言模型的形式。在另ー示例中,第二數(shù)據(jù)結(jié)構(gòu)可采用關(guān)系數(shù)據(jù)庫的形式,其中短語完成的概率按短語前綴來進行索引。當(dāng)然,發(fā)明人也構(gòu)想了其他數(shù)據(jù)結(jié)構(gòu)并且這些數(shù)據(jù)結(jié)構(gòu)g在落入所附權(quán)利要求書的范圍內(nèi)。搜索組件106可對第二數(shù)據(jù)結(jié)構(gòu)112執(zhí)行搜索,其中第二數(shù)據(jù)結(jié)構(gòu)包括詞或短語完成,且其中這樣的詞或短語完成具有所分配的概率。例如,搜索組件106可結(jié)合對第二數(shù)據(jù)結(jié)構(gòu)112中的可能的詞或短語完成進行搜索時利用A*搜索或經(jīng)修改的A*搜索算法。下文描述了搜索組件106可采用的示例性經(jīng)修改的A*搜索算法。搜索組件106可至少部分地基于從第一數(shù)據(jù)結(jié)構(gòu)110中檢索的第一字符序列和第二字符序列之間的轉(zhuǎn)換概率,來從第ニ數(shù)據(jù)結(jié)構(gòu)112中的多個可能的詞或短語完成中檢索至少ー個最有可能的詞或短語完成。搜索組件106隨后可向用戶104至少輸出該最有可能的短語完成作為建議的短語完成,其中建議的短語完成包括對可能錯誤拼寫的詞的糾正。由此,如果用戶104提供的短語前綴包括可能錯誤拼寫的詞,則搜索組件106提供的最有可能的詞/短語完成將包括對這種可能錯誤拼寫的詞的糾正以及包括正確拼寫的詞的最有可能的短語完成?,F(xiàn)在參考圖2,示出了示例性特里結(jié)構(gòu)200,搜索組件106可以結(jié)合提供帶有經(jīng)糾正的拼寫的閾值數(shù)量的最有可能的詞或短語來搜索該特里結(jié)構(gòu)。特里結(jié)構(gòu)200包括第一中間節(jié)點202,它表示當(dāng)用戶向搜索引擎輸入查詢時用戶可能提供的第一字符。特里結(jié)構(gòu)200 還包括多個其他中間節(jié)點204、206、208和210,這些節(jié)點表示以由第一中間節(jié)點202所表示的字符開頭的序列字符。例如,中間節(jié)點204可表示字符序列“ab”。中間節(jié)點206表示字符序列“abc”,而中間節(jié)點208表示字符序列“abcc”。類似地,中間節(jié)點210表示字符序列“ac”。特里結(jié)構(gòu)還包括多個葉節(jié)點212、214、216、218和220。葉節(jié)點212-220表示已經(jīng)被觀察到的或假設(shè)的查詢完成。例如,葉節(jié)點212指示用戶提供過查詢“a”。葉節(jié)點214指示用戶提供過查詢“ab”。類似地,葉節(jié)點216指示用戶提出過查詢“abc”,而葉節(jié)點218指示用戶提出過查詢“abcc”。最后,葉節(jié)點220指示用戶提出過查詢“ac”。例如,這些查詢可在搜索引擎的查詢?nèi)罩局杏^察到。葉節(jié)點212-220中的每ー個可被賦予ー值,該值指示由葉節(jié)點212-220表示的查詢在搜索引擎的查詢?nèi)罩局械某霈F(xiàn)次數(shù)。另外地或另選地,賦予葉節(jié)點212-220的值可指示自特定中間節(jié)點的短語完成的概率。再一次,參考查詢完成對特里結(jié)構(gòu)200進行了描述,但應(yīng)該理解,特里結(jié)構(gòu)200可表示文字處理應(yīng)用中使用的詞典中的詞等。節(jié)點202-210中的每ー個可被賦予ー值,該值指示在這一中間節(jié)點以下的最有可能的路徑。例如,節(jié)點202可被賦予值20,因為葉節(jié)點212具有所賦予的分數(shù)20,而這ー值高于賦予可經(jīng)由中間節(jié)點202到達的其他葉節(jié)點的值。類似地,中間節(jié)點204可被賦予值15,因為216處的葉節(jié)點的值是賦予可經(jīng)由中間節(jié)點204到達的葉節(jié)點的最高值?,F(xiàn)在參考圖3,示出了便于構(gòu)建結(jié)合執(zhí)行在線拼寫糾正/短語完成而使用的第一數(shù)據(jù)結(jié)構(gòu)110的示例性系統(tǒng)300。在其中接收整個查詢的離線拼寫糾正中,期望找到具有得到可能錯誤拼寫的輸入查詢q的最高概率的正確拼寫的查詢$。通過應(yīng)用貝葉斯規(guī)則,這ー任務(wù)可另選地被表達為下式 Λc = argmaxc p(c \ q) = argmaxc p(q \ c)p{c)(エ)在這一有噪信道模型方程式中,p (c)是將c的先驗概率描述為預(yù)期的用戶查詢的查詢語言模型。P(q c) =p(c —q)是表示當(dāng)原始用戶意圖是輸入查詢c而觀察到查詢q的概率的變換模型。對于在線拼寫糾正,接收查詢的前綴ヴ,其中這樣的查詢的前綴是可能錯誤拼寫的
輸入查詢q的一部分。由此,在線拼寫糾正的目標(biāo)是定位正確拼寫的查詢〗,該正確拼寫的
查詢^吏得到擴展給定的部分查詢^的任何查詢q的概率最大化。更正式地,可能想要定位下式
Λc = arg maxc斗"p(c | q) = arg maxc斗"p(q | c)p(c)⑵其中q = 表示的前綴。在這樣的方程式中,離線拼寫糾正可被視為更一般的在線拼寫糾正的受約束的特殊情況。系統(tǒng)300便于學(xué)習(xí)作為上述生成性模型的估計的變換模型302。變換模型302類似于語音識別中的字形到音素轉(zhuǎn)換的聯(lián)合序列模型,如下列公開中所述的M. Bisani和H. Ney 在 Speech Communication (語音通信),Vol. 50. 2008 上發(fā)表的 “ Joint-SequenceModels for Grapheme-to-Phoneme Conversion(用于字形到音素轉(zhuǎn)換的聯(lián)合序列模型),其整體通過應(yīng)用結(jié)合于此。系統(tǒng)300包括包含訓(xùn)練數(shù)據(jù)306的數(shù)據(jù)儲存庫304。例如,訓(xùn)練數(shù)據(jù)306可包括以下標(biāo)記數(shù)據(jù)詞對,其中詞對中的第一個詞是詞的錯誤拼寫而詞對中的第二個詞是正確拼寫的詞;以及詞對中每ー個詞中的標(biāo)記字符序列,其中這樣的詞被拆分成不重疊的字符序列,且其中詞對中的詞之間的字符序列彼此映射。然而,可查明獲得這樣的訓(xùn)練數(shù)據(jù)(尤其是大規(guī)模地)可能是成本高昂的。因此,在另ー示例中,訓(xùn)練數(shù)據(jù)306可包括詞對,其中詞對包括錯誤拼寫的詞和對應(yīng)的正確拼寫的詞。這ー訓(xùn)練數(shù)據(jù)306可從搜索引擎的查詢?nèi)罩精@取,其中用戶首先提供錯誤拼寫的詞作為查詢的一部分,之后通過選擇由搜索引擎建議的查詢來糾正該詞。之后并且如下文將描述的,可對訓(xùn)練數(shù)據(jù)306執(zhí)行期望最大化算法以學(xué)習(xí)詞對之間的上述字符序列,并因此學(xué)習(xí)變換模型302。這樣的期望最大化算法在圖3中由期望最大化組件308表示。期望最大化組件308可包括可剪除變換模型302的剪除組件310,并且還可包括可平滑化該模型302的平滑化組件312。之后,可向變換模型302提供先前觀察到的查詢前綴來生成第一數(shù)據(jù)結(jié)構(gòu)110。另選地,經(jīng)剪除、平滑化的變換模型302本身可以是第一數(shù)據(jù)結(jié)構(gòu)110,并且可操作用于實時地輸出和用戶提出的查詢前綴中的ー個或多個字符序列有關(guān)的變換概率。更詳細地,變換模型302可如下被定義從預(yù)期的查詢c到觀察到的查詢q的變換可被分解為子串變換單元序列,子串變換單元在此處被稱為變換単元(transfeme)序列或字符序列。例如,“britney”到“britny”的變換可被分段成變換單元序列{br — br,i — i,t — t, ney — ny},其中只有最后ー個變換單元ney — ny涉及糾正。給定變換單元序列5 = ¥2,···,^,該序列的概率可利用連鎖規(guī)則來擴展。因為存在多種對變換進行分段的
方式,一般地,變換概率P (c — q)可被建模為所有可能的分段的總和。這可被表示為下式
p(c D = Ya一= Σ場 1)11朝地 I U.-1)⑶其中S(c — q)是c和q的所有可能的聯(lián)合分段的集合。此外,通過應(yīng)用馬爾可夫 假設(shè),該假設(shè)認為ー個變換單元僅取決于先前的M-I個變換単元,類似于η元語言模型,則可獲得下式P(C ~^^) = Σ^(^)Π/ε[ι/]^^· I しM+l,"ス-I)(め變換單元的長度t = Ct — qt可如下定義為111 = max {| ct | , | qt |}(5)一般地,變換單元可以是任意長度。為約束所得變換模型302的復(fù)雜度,變換單元的最大長度可被限為し有了 η元逼近和字符序列長度約束,可獲得具有參數(shù)M和L的變換模型302 Pic^ ^) =IXe[l,]地.I む.-M+1,···,tI-I )在M = I和L = I的特殊情況下,變換模型302退化成類似于加權(quán)編輯距離的模型。在M= I的情況下,可假定變換單元獨立于彼此而生成。由于每ー個變換単元可包括具有最多ー個L = I的字符的子串,所以標(biāo)準(zhǔn)Levenshtein編輯操作可被建模為插入ε — α ;刪除α — ε ;以及替換α — β,其中ε表示空串。然而,與許多編輯距離模型不同,變換模型302中的權(quán)重表示從數(shù)據(jù)中估計的歸ー化概率而不僅僅是任意的分數(shù)懲罰。由此,這樣的變換模型302不僅捕捉拼寫錯誤的底層模式,還允許用數(shù)學(xué)原理的方式來比較不同完成建議的概率。在L = I的情況下,詞序改變被懲罰兩次,即使詞序改變與其他編輯操作一祥容易地發(fā)生。類似地,語音拼寫錯誤,諸如ph — f,常常涉及多個字符。將這些字符序列建模為單字符編輯操作不僅過分懲罰了變換,而且還污染了模型,因為它增大了諸如P — f之類原本將具有非常低的概率的編輯操作的概率。通過增大L,變換單元的可允許長度被増加。由此,所得變換模型302能夠捕捉更有意義的變換單元并減少由直觀地分解原子子串變換而導(dǎo)致的概率感染。代替増大L或除了増大L,可通過增加M(模型概率以其為條件的變換單元的數(shù)量)來提升對跨多個字符的錯誤的建摸。在一示例中,字符序列“ ie”常常被詞序變化為“ei” (Μ = I)的単元模型無法表達這ー錯誤。(M = 2)的ニ元模型通過在i — e之后向字符序列e — i分配較高的概率來捕捉這ー模式。(M = 3)的三元模型可進ー步標(biāo)識這ー模式的例外,諸如當(dāng)字符“ie”或“ei”跟在字母“c”之后時,因為“cei”比“cie”更常見。如先前所提及的,為學(xué)習(xí)拼寫錯誤的模式,需要輸入和輸出詞對的并行語料庫。輸入表示具有正確拼寫的預(yù)期的詞,而輸出對應(yīng)于輸入的可能錯誤拼寫的變換。另外,這樣的數(shù)據(jù)可被預(yù)先分段成上述的變換單元,在這種情況下,變換模型302可直接利用最大似然估計算法來導(dǎo)出。然而,如上所述,這種標(biāo)記的訓(xùn)練數(shù)據(jù)可能成本過于高昂而難以大規(guī)模地獲得。因此,訓(xùn)練數(shù)據(jù)306可包括被標(biāo)記的輸入和輸出詞對,但該詞對未被分段。期望最大化組件308可用于從部分觀察到的數(shù)據(jù)中估計變換模型302的參數(shù)。如果訓(xùn)練數(shù)據(jù)306包括觀察到的訓(xùn)練對的集合O = {0k},其中Ok = Ck — qk,訓(xùn)練數(shù)據(jù)306的對數(shù)似然可被寫為下式
權(quán)利要求
1.一種便于執(zhí)行在線拼寫糾正的計算機可執(zhí)行的方法,所述方法包括 從用戶接收第一字符序列,其中所述第一字符序列是短語的可能錯誤拼寫的部分;響應(yīng)于接收到所述第一字符序列,從計算機可讀數(shù)據(jù)儲存庫中的第一數(shù)據(jù)結(jié)構(gòu)檢索變換概率數(shù)據(jù),其中所述變換概率數(shù)據(jù)指示第二字符序列被變換成所述第一字符序列的概率,其中所述第二字符序列是所述短語的正確拼寫的部分; 在檢索到所述變換概率數(shù)據(jù)之后,在所述計算機可讀數(shù)據(jù)儲存庫中的第二數(shù)據(jù)結(jié)構(gòu)上捜索以至少部分地基于所述變換概率數(shù)據(jù)來尋找所述短語的完成;以及 在接收到所述第一字符序列之后但在從用戶接收附加的字符之前將所述短語的至少ー個完成提供給用戶。
2.如權(quán)利要求I所述的方法,其特征在于,所述第二數(shù)據(jù)結(jié)構(gòu)包括η元語言模型。
3.如權(quán)利要求I所述的方法,其特征在于,所述第二數(shù)據(jù)結(jié)構(gòu)包括將短語映射到概率的特里結(jié)構(gòu)。
4.如權(quán)利要求3所述的方法,其特征在于,所述特里結(jié)構(gòu)包括多個節(jié)點和多條路徑,其中每ー個節(jié)點表示字符序列而兩個節(jié)點之間的路徑延伸所述字符序列,且其中所述特里結(jié)構(gòu)中的每ー個節(jié)點具有包括與其相關(guān)地存儲的相應(yīng)字符序列的可能的詞或短語之中的最大概率。
5.如權(quán)利要求4所述的方法,其特征在于,所述搜索是跨所述特里結(jié)構(gòu)中的多條路徑進行的,以結(jié)合對應(yīng)于所述第一字符序列的變換概率來定位閾值數(shù)量的最有可能的詞或短語。
6.如權(quán)利要求5所述的方法,其特征在于,還包括利用束剪除來限制在搜索動作期間對其進行捜索的路徑的數(shù)量。
7.如權(quán)利要求I所述的方法,其特征在于,被配置為供搜索引擎執(zhí)行,其中所述第一字符序列是查詢的一部分。
8.ー種包括可由處理器執(zhí)行的多個組件的系統(tǒng),所述組件包括 從用戶接收字符序列的接收器組件,其中用戶期望所述字符序列成為特定的詞的一部分; 搜索組件,用干 訪問數(shù)據(jù)儲存庫中的第一數(shù)據(jù)結(jié)構(gòu),其中所述第一數(shù)據(jù)結(jié)構(gòu)包括轉(zhuǎn)換概率,所述轉(zhuǎn)換概率指示第二字符序列是所述第一字符序列的轉(zhuǎn)換的概率; 在第二數(shù)據(jù)結(jié)構(gòu)中捜索多個可能的詞或短語完成,其中所述可能的詞或短語完成具有所分配的概率; 至少部分地基于所述轉(zhuǎn)換概率來從所述多個可能的詞或短語完成中至少檢索ー個最有可能的詞或短語完成,其中所述最有可能的詞或短語完成包括所述特定的詞;以及將所述最有可能的詞或短語完成作為建議的詞或短語糾正/完成輸出給用戶。
9.如權(quán)利要求8所述的系統(tǒng),其特征在于,還包括搜索引擎。
10.如權(quán)利要求8所述的系統(tǒng),其特征在于,所述第二數(shù)據(jù)結(jié)構(gòu)是包括多個節(jié)點和節(jié)點之間的多條路徑的特里結(jié)構(gòu),所述節(jié)點表示字符序列而所述路徑表示所述字符序列的延續(xù),且其中所述特里結(jié)構(gòu)中的葉節(jié)點表示可能的詞或短語完成。
全文摘要
本發(fā)明涉及在線拼寫糾正/短語完成系統(tǒng)。本發(fā)明描述了在線拼寫糾正/短語完成。計算機可執(zhí)行應(yīng)用從用戶接收短語前綴,其中短語前綴包括第一字符序列。響應(yīng)于接收到短語前綴來檢索變換概率,其中變換概率指示第二字符序列已經(jīng)被變換成第一字符序列的概率。隨后對特里結(jié)構(gòu)執(zhí)行搜索以至少部分地基于該變換概率來定位最有可能的短語完成。
文檔編號G06F17/27GK102722478SQ20121008138
公開日2012年10月10日 申請日期2012年3月23日 優(yōu)先權(quán)日2011年3月23日
發(fā)明者B-J·許, H·段, K·王 申請人:微軟公司