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