專利名稱::一種從一個(gè)由隨機(jī)輸入方法產(chǎn)生的候選列表中進(jìn)行過濾和選擇的方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
:本發(fā)明涉及一種向計(jì)算機(jī)輸入文本的方法和系統(tǒng),尤其涉及糾正文本輸入,這種輸入是從隨機(jī)的輸入方法和系統(tǒng)中輸入的,例如字母語(yǔ)言的聽寫和拼寫傳統(tǒng)上計(jì)算機(jī)用戶通過鍵盤或鼠標(biāo)把文本輸入到文字處理器中,然而近幾年,文字處理器有了很大的改進(jìn),允許用戶通過其他的輸入方法把文本輸入到其中,例如聽寫或書寫。盡管計(jì)算機(jī)不能將輸入進(jìn)行完全正確的解釋,但它能為其產(chǎn)生一個(gè)可選擇性文本列表。而且,計(jì)算機(jī)經(jīng)常能給每個(gè)可選擇值賦一個(gè)最可能是用戶期望的可能性值。輸入這種帶有可能性的結(jié)果成為“隨機(jī)輸入”,而輸入那種能精確確定的例如字符輸入文本,稱為“非隨機(jī)輸入”。有代表性的,當(dāng)用戶作隨機(jī)輸入時(shí),為了從隨機(jī)的輸入產(chǎn)生一個(gè)用戶期望的文本用戶必須在文字處理器中進(jìn)行繁重的編輯工作。通常,隨機(jī)輸入方法把所給出的輸入的最初的猜想與確定的選擇進(jìn)行比較是可能的。作為回答,計(jì)算機(jī)能通過圖形用戶界面提供給用戶候選文本的選擇。當(dāng)用戶作了一個(gè)選擇時(shí),計(jì)算機(jī)用所作的選擇代替候選文本。例如,如果一種聽寫系統(tǒng)的用戶朗讀單詞“teach”,系統(tǒng)有可能會(huì)把這個(gè)單詞識(shí)別為“beach”。然而,通過用戶執(zhí)行的操作,該語(yǔ)音識(shí)別系統(tǒng)能把用戶所讀的單詞顯示其他選擇——極有希望包含用戶真正讀到的單詞,即“teach”。這些系統(tǒng)存在的一個(gè)問題就是隨機(jī)輸入方法經(jīng)常會(huì)產(chǎn)生大量的用戶不希望通讀一遍的額外候選項(xiàng)。因此,讓用戶能夠過濾列表以盡早確定所述列表是否包含了用戶想要的單詞是重要的。已有的系統(tǒng)中,例如那些經(jīng)常結(jié)合拼寫檢測(cè)程序的系統(tǒng),允許用戶通過可視的用戶界面和滾動(dòng)的候選列表來(lái)瀏覽可選擇單詞的候選列表。如果用戶在列表中找到了想要的單詞,用戶可以選擇所要的單詞并且再關(guān)閉用戶界面。一些系統(tǒng)通過用戶界面提供給用戶一種搜索功能以使用戶可以輸入單詞中的特征字母來(lái)確定該單詞是否在列表中或用戶系統(tǒng)的可用單詞詞典中。然而,如果他們要找的單詞不在候選列表而使他們的輸入失敗時(shí),用戶不可能浪費(fèi)精力再向用戶界面輸入。因此,在這種技術(shù)中需要一種方法和系統(tǒng),允許用戶通過在文檔中直接輸入來(lái)過濾可選擇替換單詞的候選列表,勝于閱讀整個(gè)列表來(lái)搜索想要的單詞。這種方法和系統(tǒng)也需要允許用戶在候選列表中沒有找到與之匹配的單詞時(shí)保持輸入或聽寫的文本來(lái)過濾列表,而不是讓用戶在所要單詞不在列表中關(guān)閉用戶界面并且重新把單詞輸入或讀入文檔。一個(gè)更迫切的需要是為用戶提供一個(gè)關(guān)于列表中與用戶所輸入的字母相匹配的最佳選項(xiàng)的提示來(lái)過濾所述候選列表。這種技術(shù)中另一個(gè)迫切的需要是這種方法和系統(tǒng)允許用戶從候選列表中選擇一個(gè)單詞或接受一個(gè)關(guān)于候選列表中最佳單詞的提示以及由用戶把單詞直接插入所標(biāo)記文檔中而不需在文檔中繼續(xù)輸入文本之前關(guān)閉上述用戶界面。本發(fā)明的方法和系統(tǒng)解決了上述從一個(gè)隨機(jī)的輸入來(lái)源進(jìn)行正確文本輸入的需要。當(dāng)一段文本的組成部分例如單詞或短語(yǔ)被確定為錯(cuò)誤的,例如隨機(jī)輸入來(lái)源譯為不正確的輸入,這個(gè)錯(cuò)誤語(yǔ)言成分的候選列表會(huì)通過突然直接出現(xiàn)在所預(yù)備的文檔中的用戶界面來(lái)提供給用戶。用戶通過向文檔中直接輸入或當(dāng)是語(yǔ)音識(shí)別系統(tǒng)時(shí)通過朗讀來(lái)開始對(duì)錯(cuò)誤語(yǔ)言成分進(jìn)行編輯。當(dāng)用戶開始編輯時(shí),則過濾候選列表只提供那些能夠與用戶的編輯相匹配的選項(xiàng)。在編輯期間,當(dāng)用戶輸入任何一個(gè)另外的字母或字符,列表會(huì)重新過濾。用戶編輯完成的一個(gè)提示可以通過在文檔中直接顯示該提示來(lái)提供給用戶。如果用戶接受了這個(gè)建議或提示,這個(gè)建議項(xiàng)會(huì)輸入到文檔中取代錯(cuò)誤原文并且用戶界面會(huì)關(guān)閉。列表過濾期間若顯示中沒有可以接受的單詞或短語(yǔ),在編輯期間用戶輸入的字符會(huì)被接受來(lái)替換錯(cuò)誤的原文并且用戶界面會(huì)關(guān)閉。另外,若候選列表中沒有用戶想要的單詞或短語(yǔ),則用戶輸入的編輯文本也不會(huì)丟失。一些特殊的情況,本發(fā)明提供一種糾正文本輸入到文本文檔的方法和系統(tǒng)。一個(gè)輸入到文本文檔的選擇文本被接受了,該選擇文本包含一個(gè)或多個(gè)文本成分。一個(gè)錯(cuò)誤的文本成分從文本文檔中被識(shí)別出來(lái)并且該錯(cuò)誤文本成分被選擇去編輯。在接受到一個(gè)顯示錯(cuò)誤的文本成分候選列表的命令之后,候選列表直接通過用戶界面顯示在文本文檔中。使用該方法的用戶開始在錯(cuò)誤文本部分中直接編輯錯(cuò)誤文本成分,上述編輯就包括了對(duì)錯(cuò)誤文本的替換。更可取的,接收文本選擇輸入到文本文檔的步驟包括從例如語(yǔ)音識(shí)別設(shè)備或手寫識(shí)別設(shè)備等隨機(jī)輸入源接收選擇文本。接收編輯錯(cuò)誤文本部分的步驟應(yīng)包括測(cè)定錯(cuò)誤文本部分區(qū)域的文本文當(dāng)中所選字的首字符。接收編輯的步驟可能包括通過語(yǔ)音識(shí)別設(shè)備的可聽拼寫測(cè)定被選中替換單詞的特征字母,直接替換錯(cuò)誤文本部分區(qū)域的文本文當(dāng)中所選字的首字符。另外,接收編輯的步驟可能包括經(jīng)由手寫識(shí)別設(shè)備的可聽拼寫測(cè)定錯(cuò)誤文本部分區(qū)域的文本文當(dāng)中所選字的首字符。其它輸入法也可能被使用,像用于識(shí)別標(biāo)識(shí)語(yǔ)言或其它物理標(biāo)識(shí)的基于視覺的輸入設(shè)備。例如鍵盤輸入等的非隨機(jī)輸入方法也可能被使用。過濾選擇列表是為了編輯時(shí)移除與局部條目無(wú)關(guān)的選擇。響應(yīng)選擇列表過濾,可顯示一個(gè)包含與局部條目相關(guān)的選擇的修訂列表。從修訂列表中選定一個(gè)到錯(cuò)誤文本部分的更換選項(xiàng),并可直接替換文本文檔中的錯(cuò)誤文本部分。錯(cuò)誤文本替換之后,用戶界面被關(guān)閉。如果響應(yīng)選項(xiàng)列表時(shí)未識(shí)別到可接受的錯(cuò)誤文本部分的選項(xiàng),執(zhí)行用戶的附加編輯來(lái)以通過響應(yīng)附加編輯來(lái)達(dá)到進(jìn)一步過濾的目的。如果在響應(yīng)附加編輯的選擇列表的深層過濾時(shí)仍沒有可接受的錯(cuò)誤文本部分的選擇被識(shí)別,那么,錯(cuò)誤文本部分將被用包含用戶編輯和附加編輯的條目替換。在編輯過程中,包含與局部條目相關(guān)的北修訂的選擇列表中,一個(gè)匹配完全的選擇文本成分可能會(huì)識(shí)別。如果匹配完全的選擇文本成分被識(shí)別,它可能作為局部條目的建議完成而被直接顯示在文本文檔中。如果用戶接受這個(gè)建議完成,那么就會(huì)有與此建議完成相關(guān)的接受命令被執(zhí)行。為響應(yīng)接受命令,匹配完全的選擇文本部分將直接替代文本文檔中的錯(cuò)誤文本部分,然后用戶界面被關(guān)閉。本發(fā)明的各方面可被較清楚地理解,通過下面的公開實(shí)施例的詳細(xì)說(shuō)明和參考附圖、描述。圖1是一個(gè)框圖,闡述了本發(fā)明的一個(gè)示范性實(shí)施例的操作環(huán)境。圖2是一個(gè)框圖,概述了多源數(shù)據(jù)處理系統(tǒng)的程序模塊。圖3,4,5,6和6b是根據(jù)本發(fā)明的示范性實(shí)施例描述了說(shuō)明性的計(jì)算機(jī)程序屏幕。圖7是一個(gè)流程圖,闡述了在文本編輯期間對(duì)用戶提出一個(gè)自動(dòng)完成提示的首選步驟。圖8是一個(gè)流程圖,闡述了合并自動(dòng)完成提示功能的隨機(jī)輸入中糾正輸入的首選步驟。根據(jù)本發(fā)明的示范性實(shí)施例,程序的使用者可編輯使用常規(guī)字處理或數(shù)據(jù)輸入計(jì)算機(jī)程序的文本和數(shù)據(jù)。用戶使用隨機(jī)輸入方法或系統(tǒng)輸入文本或數(shù)據(jù),程序并未正確顯示出用戶要求的單詞或數(shù)據(jù)之后,用戶選定那個(gè)單詞或數(shù)據(jù),然后選定糾正按鈕或功能鍵或類似的按鈕。這可理解為使用本發(fā)明實(shí)施例與使用例如打字的非隨機(jī)輸入方法進(jìn)行輸入時(shí)進(jìn)行更正一樣有效。在選定糾正功能后,用戶界面直接打開進(jìn)入文檔進(jìn)行編輯,并為用戶提交一個(gè)候選單詞或數(shù)據(jù)的列表,用戶可從中選擇一個(gè)糾正了的單詞或數(shù)據(jù)。相對(duì)于進(jìn)入用戶界面瀏覽單詞或數(shù)據(jù)的候選列表,下面的方法是更好的用戶在不正確的文字和數(shù)據(jù)處定位指針,開始打字或拼出,在進(jìn)行語(yǔ)音輸入的情況下,那些字母包含正確的單詞或數(shù)據(jù)。如上所述,其它輸入法還包括用于手寫輸入的手寫法,識(shí)別符號(hào)語(yǔ)言或其它標(biāo)識(shí)的基于視覺的方法。隨著用戶開始輸入字符,用戶界面中的候選單詞或數(shù)據(jù)列表被動(dòng)態(tài)過濾,顯現(xiàn)給用戶可與其輸入字符相匹配的候選項(xiàng)。只有用戶在候選列表上識(shí)別出正確的單詞或數(shù)據(jù),用戶就可選定該單詞或數(shù)據(jù),并將其直接插入到文檔中,隨后用戶界面將關(guān)閉。用戶可以處理連續(xù)輸入的單詞和數(shù)據(jù)。如果用戶敲入或朗讀預(yù)期單詞或數(shù)據(jù)的所有字符,那么正確的單詞或數(shù)據(jù)從不位于已打開的用戶界面的候選列表中,用戶輸入的單詞或數(shù)據(jù)被接受并且用戶界面自動(dòng)關(guān)閉。根據(jù)本發(fā)明的示范性實(shí)施例,自動(dòng)完成提示功能在編輯處理過程中協(xié)助用戶。這樣,隨著用戶將字符直接輸入到文檔中來(lái)修正錯(cuò)誤單詞或數(shù)據(jù)和過濾候選列表,自動(dòng)完成功能提示直接在文檔中呈現(xiàn)給用戶它建議的與起期望文字和數(shù)據(jù)相匹配的單詞或數(shù)據(jù),如果自動(dòng)完成提示功能建議的文字或數(shù)據(jù)時(shí)用戶所需要的文字或數(shù)據(jù),用戶可接受自動(dòng)完成提示,這樣單詞或數(shù)據(jù)就被輸入到文檔中,用戶界面被關(guān)閉。更方便地是,本發(fā)明允許用戶直接在文檔中著手編輯錯(cuò)誤輸入的單詞或數(shù)據(jù),無(wú)須在已打開的用戶界面內(nèi)物理放置指針和瀏覽期望糾正的單詞或數(shù)據(jù)。本發(fā)明包含一個(gè)能接收多來(lái)源輸入的文字處理器,任何一個(gè)信源既可以是非隨機(jī)輸入源又可是隨機(jī)輸入源。鍵盤/鼠標(biāo)是非隨機(jī)輸入源的的一個(gè)例子,即計(jì)算機(jī)能完全準(zhǔn)確地確定用戶意圖輸入的文本。另一方面,隨機(jī)輸入源將輸入轉(zhuǎn)換為隨機(jī)結(jié)果。所謂隨機(jī)結(jié)果就是具有多種選擇性,每種選擇成為正確選擇的可能性小于100%。隨機(jī)輸入源的一個(gè)例子是語(yǔ)音識(shí)別單元,它將語(yǔ)音輸入轉(zhuǎn)換為一個(gè)可選的文本列表,因?yàn)橛?jì)算機(jī)并不能總是完全準(zhǔn)確地解釋語(yǔ)音。隨機(jī)輸入源的其他例子是手寫識(shí)別單元和輸入法編輯器(IME)。被稱作隨機(jī)輸入組合器的程序模塊可以可靠地為隨機(jī)輸入法輸入的選擇文本產(chǎn)生文本選擇。隨機(jī)輸入組合器通過將選擇文本解析為較小的來(lái)源于多個(gè)隨機(jī)輸入源的文本部分來(lái)實(shí)現(xiàn)的。對(duì)于每一隨機(jī)文本部分,隨機(jī)輸入組合器重新得到一個(gè)隨機(jī)模塊來(lái)代表文本部分的選擇。隨機(jī)輸入組合器組合由其他文本部分重新得到的隨機(jī)模塊,產(chǎn)生一個(gè)整個(gè)選擇文本的選擇列表。隨機(jī)輸入組合器能作為文字處理應(yīng)用的一部分。另外,隨機(jī)輸入組合器作為操作系統(tǒng)的一部分,有其獨(dú)立的效用。隨機(jī)輸入組合器也可以是一個(gè)獨(dú)立程序,作為文字處理器界面而非操作系統(tǒng)的一部分。隨機(jī)輸入源包括多個(gè)字會(huì)經(jīng)常產(chǎn)生錯(cuò)誤。在糾正處理過程中,用戶不可能注意到這個(gè)錯(cuò)誤的全部?jī)?nèi)容。例如,如果用戶朗讀詞“recognize”,語(yǔ)音識(shí)別設(shè)備最有可能會(huì)把這個(gè)語(yǔ)音輸入識(shí)別為“wreckanice.”通過編輯,用戶可以看到詞“wreck”,僅為這個(gè)詞請(qǐng)求選擇,而忽視了接下來(lái)的詞也是錯(cuò)誤的(如“anice”)。如果用戶做一個(gè)選擇文本,這個(gè)選擇文本不包括由于相關(guān)錯(cuò)誤造成不正確的毗鄰詞;如果文字處理器僅使用用戶的選擇文本來(lái)產(chǎn)生一個(gè)選擇列表,那么,在輸入的同時(shí)就不會(huì)有任何選擇提供給用戶打算輸入文本的選擇文本。類似地,用戶從選擇列表中選擇一個(gè)選擇項(xiàng)替換選擇文本也可能把錯(cuò)誤的毗鄰詞留在文本中。為了克服這些缺點(diǎn),隨機(jī)輸入組合器可以提交選擇文本到一個(gè)糾正范圍模塊,糾正范圍模塊測(cè)定糾正范圍是否被擴(kuò)展。在“recognize”例中,應(yīng)被糾正的適當(dāng)文本是“wreckanice”。為了做出這個(gè)決定,糾正范圍模塊可能吸收包括自然語(yǔ)言模塊的數(shù)據(jù)、類似錯(cuò)誤模塊的信息、文字處理器中用來(lái)產(chǎn)生文本的輸入法的模塊的信息。輸入法相關(guān)模塊可能包括用于語(yǔ)音識(shí)別的聲學(xué)模塊,用于手寫輸入的手寫模塊,用于識(shí)別標(biāo)識(shí)語(yǔ)言或其它手勢(shì)的基于視覺的模塊。如果糾正范圍模塊測(cè)定到糾正范圍要被調(diào)整,糾正范圍模塊必須由隨機(jī)輸入組合器以前面所述的方式產(chǎn)生選擇項(xiàng)識(shí)別一個(gè)或多個(gè)大文本單元。糾正范圍模塊送出這些文本單元的列表到隨機(jī)輸入組合器進(jìn)行處理。隨機(jī)輸入方法的操作和用于來(lái)自隨機(jī)輸入源的文本的選擇項(xiàng)的提供已在申請(qǐng)?zhí)朜o.09/412,822的美國(guó)專利申請(qǐng)中進(jìn)行了詳細(xì)描述,申請(qǐng)日期為1999年10月5日,由與本發(fā)明的相同代理人代理,因此再此一起介紹。在那些圖表中,本發(fā)明將被描述,其中相同的標(biāo)記表示同一部分。圖1和接下來(lái)的說(shuō)明將為用于本發(fā)明一個(gè)實(shí)施例的合理的計(jì)算環(huán)境100提供一個(gè)簡(jiǎn)要和通用的描述。范例操作環(huán)境100包括一個(gè)傳統(tǒng)個(gè)人計(jì)算機(jī)系統(tǒng)120,120包括一個(gè)處理單元121、一個(gè)系統(tǒng)內(nèi)存122及一個(gè)連接系統(tǒng)內(nèi)存122到處理單元121的系統(tǒng)總線123。系統(tǒng)內(nèi)存122包括只讀存儲(chǔ)器(ROM)124和隨機(jī)訪問存儲(chǔ)器(RAM)125。一個(gè)基本輸入/輸出系統(tǒng)126(BIOS)包含基本程序,幫助在個(gè)人計(jì)算機(jī)系統(tǒng)120內(nèi)的各部件之間傳遞信息,例如在啟動(dòng)期間,BIOS被存儲(chǔ)在ROM124中。個(gè)人計(jì)算機(jī)系統(tǒng)120進(jìn)一步包括一個(gè)硬盤驅(qū)動(dòng)器127、一個(gè)磁盤驅(qū)動(dòng)器128讀或?qū)懣梢苿?dòng)磁盤129、一個(gè)光驅(qū)130讀CD-ROM盤131或讀寫到其他光學(xué)介質(zhì)。硬盤驅(qū)動(dòng)器127、磁盤驅(qū)動(dòng)器128和光驅(qū)130各自通過硬盤接口132、軟驅(qū)接口133和光驅(qū)接口134聯(lián)接到系統(tǒng)總線上。這些驅(qū)動(dòng)器和與其相關(guān)的計(jì)算機(jī)可讀介質(zhì)為個(gè)人計(jì)算機(jī)系統(tǒng)120提供非易失性存儲(chǔ)。盡管上面對(duì)計(jì)算機(jī)可讀介質(zhì)的描述是硬盤可移動(dòng)磁盤和CD-ROM光盤,也應(yīng)認(rèn)識(shí)到那些成熟技術(shù)的媒體類型也是計(jì)算機(jī)易讀的,像磁帶、閃存卡、數(shù)字視頻盤、伯努利卡盤等也能被使用在范例操作環(huán)境。用戶能通過傳統(tǒng)的輸入設(shè)備將命令和信息輸入到個(gè)人計(jì)算機(jī)系統(tǒng)120中,傳統(tǒng)輸入設(shè)備包括鍵盤1404和指示設(shè)備,例如鼠標(biāo)142。麥克風(fēng)161用來(lái)輸入音頻到個(gè)人計(jì)算機(jī)系統(tǒng)120,例如語(yǔ)音。用戶能輸入像圖畫和筆跡等的圖形信息到計(jì)算機(jī)系統(tǒng),通過使用手寫筆在手寫板上繪制圖形信息。個(gè)人計(jì)算機(jī)系統(tǒng)120還可能包括額外的輸入設(shè)備(未顯示),像游戲桿、游戲墊、碟形衛(wèi)星天線、掃描儀、觸摸屏/筆等。麥克風(fēng)161通過聯(lián)在系統(tǒng)總線上的音頻適配器160接到處理單元121上。其他輸入設(shè)備經(jīng)常通過聯(lián)在系統(tǒng)總線上的串口146接到處理單元121上,但有一些設(shè)備要通過其他接口連接,像游戲接口和USB接口。顯示器147或其他類型的顯示設(shè)備也通過一個(gè)接口聯(lián)到系統(tǒng)總線上,例如顯示適配器148。除顯示器外,個(gè)人計(jì)算機(jī)系統(tǒng)120還包括其他外部輸入設(shè)備(未示出),喇叭或打印機(jī)。個(gè)人計(jì)算機(jī)系統(tǒng)120能工作在網(wǎng)絡(luò)環(huán)境下,與一個(gè)或多個(gè)遠(yuǎn)端計(jì)算機(jī)實(shí)現(xiàn)邏輯上的聯(lián)接,例如遠(yuǎn)端計(jì)算機(jī)系統(tǒng)149。遠(yuǎn)端計(jì)算機(jī)系統(tǒng)149可以是服務(wù)器、路由器、相同設(shè)備或普通網(wǎng)絡(luò)節(jié)點(diǎn),它包括與上述個(gè)人計(jì)算機(jī)系統(tǒng)120相關(guān)的大部分或全部部件,雖然圖1中只畫出了一個(gè)存儲(chǔ)設(shè)備150。圖1描述的邏輯連接包括一個(gè)局域網(wǎng)(LAN)151和一個(gè)廣域網(wǎng)(WAN)152。這樣的網(wǎng)絡(luò)環(huán)境在辦公室、企事業(yè)計(jì)算機(jī)網(wǎng)絡(luò)、互聯(lián)網(wǎng)和局域網(wǎng)中都是很普遍的。在LAN網(wǎng)絡(luò)環(huán)境的情況下使用時(shí),個(gè)人計(jì)算機(jī)系統(tǒng)120通過網(wǎng)絡(luò)接口153聯(lián)接到LAN151中。在WAN網(wǎng)絡(luò)環(huán)境的情況下使用時(shí),個(gè)人計(jì)算機(jī)系統(tǒng)120通過modem154或其他方式與WAN152建立連接,例如Intemet。Modem154可能是內(nèi)置的或外置的,經(jīng)由串口146與系統(tǒng)總線123連接。在網(wǎng)絡(luò)環(huán)境中,與個(gè)人計(jì)算機(jī)系統(tǒng)120相關(guān)的程序模塊或其中的一部分可能被存儲(chǔ)在遠(yuǎn)端存儲(chǔ)設(shè)備150中。所示網(wǎng)絡(luò)連接被視為最佳,計(jì)算機(jī)系統(tǒng)之間還可使用到建立連接的其他方法。本發(fā)明在除了個(gè)人計(jì)算機(jī)系統(tǒng)以外的主計(jì)算機(jī)系統(tǒng)上和服務(wù)器計(jì)算機(jī)系統(tǒng)上被同等實(shí)現(xiàn),能通過CD-ROM以外的方式例如網(wǎng)絡(luò)接口153同等傳輸?shù)街饔?jì)算機(jī)系統(tǒng)。大量的程序模塊被儲(chǔ)存在個(gè)人計(jì)算機(jī)系統(tǒng)120的驅(qū)動(dòng)器和RAM125上。程序模塊控制個(gè)人計(jì)算機(jī)系統(tǒng)120如何作用和影響用戶、I/O設(shè)備和其他計(jì)算機(jī)。程序模塊包括程序、操作系統(tǒng)135、應(yīng)用程序模塊138、數(shù)據(jù)結(jié)構(gòu)、瀏覽器、和其他軟件或固件。本發(fā)明可在一個(gè)或多個(gè)程序模塊中被方便的實(shí)現(xiàn),例如隨機(jī)輸入組合器程序模塊137和隨機(jī)輸入接口程序模塊139,每一個(gè)都是基于在具體描述中已描述過的方法。應(yīng)用程序模塊138可能會(huì)包含有與本發(fā)明使用程序不同的應(yīng)用,參見圖2。這些程序模塊之間交互作用和目的在圖2的描述文字中被充分討論。這些程序模塊包括一個(gè)文字處理器程序210(像微軟公司提供的WORD),一個(gè)手寫識(shí)別程序模塊230,一個(gè)語(yǔ)音識(shí)別程序模塊240和一個(gè)輸入法編輯器(IME)250。將不會(huì)有描述特定的編程語(yǔ)言來(lái)執(zhí)行在具體描述中提到的多種過程,因?yàn)楦綀D所示的操作、步驟、程序已足夠揭示用一種普通技術(shù)來(lái)實(shí)現(xiàn)本發(fā)明的最佳實(shí)施例。而且,有很多計(jì)算機(jī)和操作系統(tǒng)可用來(lái)實(shí)現(xiàn)示范實(shí)施例,因此不需要為不同的系統(tǒng)提供具體的計(jì)算機(jī)程序。每一種特定的計(jì)算機(jī)的用戶都了解針對(duì)自己的需求和目的的最有用的語(yǔ)言和工具。本發(fā)明的這些技術(shù)可以在其他計(jì)算機(jī)系統(tǒng)配置上實(shí)現(xiàn),包括手持設(shè)備、多處理器系統(tǒng)、基于多處理器或可編程的消費(fèi)電子產(chǎn)品,微型計(jì)算機(jī)、大型計(jì)算機(jī),等等。本發(fā)明應(yīng)用于由測(cè)試通訊網(wǎng)絡(luò)連接的來(lái)執(zhí)行任務(wù)的遠(yuǎn)端處理設(shè)備分布式計(jì)算機(jī)環(huán)境。在分布式計(jì)算機(jī)環(huán)境中,程序模塊可被置于本地或遠(yuǎn)程的存儲(chǔ)設(shè)備中。圖2提供一個(gè)多源數(shù)據(jù)處理系統(tǒng)200的編程模塊的主要組成,通常圖2顯示的編程模塊能使用戶將文本鍵入到應(yīng)用程序210中,例如文字處理器,能使用隨機(jī)和非隨機(jī)兩種輸入源。典型隨機(jī)輸入源包括書寫識(shí)別程序模塊230,語(yǔ)音識(shí)別程序模塊240,輸入方式編輯器(IME)250,和語(yǔ)音識(shí)別程序模塊260。鍵盤140是典型的非隨機(jī)數(shù)據(jù)源。像以下具體描述的一樣,一旦用戶通過一個(gè)或多個(gè)輸入源將文本鍵入到文字處理器210中,用戶會(huì)選擇文本的一個(gè)章節(jié),需要可選的文本選項(xiàng)的候選列表。文本選項(xiàng)包含從多個(gè)隨機(jī)和非隨機(jī)輸入源中的輸入。只要文本選項(xiàng)從至少一個(gè)隨機(jī)輸入源中產(chǎn)生,就會(huì)有文本選項(xiàng)的選擇對(duì)象。程序模塊能處理這個(gè)候選列表并通過用戶圖形界面將其交給用戶。如果用戶選擇候選項(xiàng)的其中一個(gè),文本選項(xiàng)將被選中的候選項(xiàng)替代?,F(xiàn)在按順序討論隨機(jī)輸入源230,240,250,260的操作。書寫識(shí)別程序模塊230從用戶那里接收書寫輸入280。用戶用尖筆(漢字輸入用)在寫字板162上寫字來(lái)產(chǎn)生書寫輸入280。當(dāng)然,用戶也能用其他設(shè)備來(lái)產(chǎn)生書寫輸入280。例如,用戶使用鼠標(biāo)142在監(jiān)視器147上書寫,或者使用尖筆在觸摸屏上書寫。輸入后,依據(jù)操作系統(tǒng)135中的寫字板驅(qū)動(dòng)模塊的書寫識(shí)別程序模塊230更傾向于指向書寫輸入280。由于書寫很難被計(jì)算機(jī)識(shí)別,書寫識(shí)別程序模塊230不能總是完全正確的解釋書寫輸入280。程序模塊230能做的最好的就是為書寫輸入280產(chǎn)生可選項(xiàng)并為每個(gè)選項(xiàng)指派一個(gè)為正確的可能性值。然后根據(jù)定義,書寫識(shí)別程序模塊230產(chǎn)生一個(gè)隨機(jī)結(jié)果。隨機(jī)模塊270a包括一個(gè)含有由帶有書寫識(shí)別程序模塊230的書寫輸入280處理而產(chǎn)生的隨機(jī)數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)。盡管能存儲(chǔ)隨機(jī)數(shù)據(jù)的任何數(shù)據(jù)結(jié)構(gòu)都包含一個(gè)隨機(jī)模塊270,兩個(gè)有用的由格構(gòu)和“n-best”可選列表構(gòu)成的結(jié)構(gòu)。眾所周知,格構(gòu)在本
技術(shù)領(lǐng)域:
是一種耳熟能詳?shù)慕Y(jié)構(gòu),所以不再給出完整的描述。然而,格構(gòu)可簡(jiǎn)短的存儲(chǔ)由節(jié)點(diǎn)上的隨機(jī)輸入源產(chǎn)生的文字和短語(yǔ)。因?yàn)槊恳粋€(gè)文字或短語(yǔ)都是隨機(jī)數(shù)據(jù),節(jié)點(diǎn)也存儲(chǔ)相關(guān)文字或短語(yǔ)的可能性。為了處理隨機(jī)數(shù)據(jù)描述的文本章節(jié)的適宜的可選項(xiàng),使用眾所周知的熟練應(yīng)用于技術(shù)的方法,格構(gòu)能被移動(dòng)。此外,代表鄰近文本部分的格構(gòu)能通過被認(rèn)為是串聯(lián)的處理結(jié)合成一個(gè)元格(metalattice)。元格能被移動(dòng)以產(chǎn)生鄰近文本部分的可選項(xiàng)。另一種方式是隨機(jī)數(shù)據(jù)能由n-best可選項(xiàng)的列表和與他們相關(guān)的可能性來(lái)描述。對(duì)于任何給出的文字或短語(yǔ),代表文字或短語(yǔ)的格構(gòu)可能產(chǎn)生n-best可選項(xiàng)。語(yǔ)音識(shí)別程序模塊240像書寫識(shí)別程序模塊230一樣工作,除了它是從用戶接收用戶通過運(yùn)行操作系統(tǒng)135中的麥克風(fēng)驅(qū)動(dòng)模塊驅(qū)動(dòng)麥克風(fēng)來(lái)發(fā)送來(lái)的語(yǔ)音輸入290。語(yǔ)音很難識(shí)別,因?yàn)楹芏鄦卧~發(fā)音相似,但有不同的意思和拼寫,所以語(yǔ)音識(shí)別程序模塊240也產(chǎn)生一個(gè)隨機(jī)結(jié)果。隨機(jī)模塊270b存儲(chǔ)包含隨機(jī)數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu),數(shù)據(jù)由帶有語(yǔ)音識(shí)別程序模塊240的語(yǔ)音輸入290處理而產(chǎn)生。輸入方法編輯器(IME)250也產(chǎn)生隨機(jī)數(shù)據(jù)。一般地,IME250把輸入轉(zhuǎn)變成外語(yǔ)文本。例如,進(jìn)入IME250的輸入能通過鍵盤140和鼠標(biāo)142鍵入文本進(jìn)入計(jì)算機(jī)。隨機(jī)模塊270c包括一個(gè)包含由IME250產(chǎn)生的隨機(jī)數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)。IME250對(duì)創(chuàng)造亞洲的和其他語(yǔ)言的表意文字是非常有用的。因?yàn)楹芏嗾Z(yǔ)言的表意符號(hào)的數(shù)目遠(yuǎn)大于鍵盤上的鍵的數(shù)目,不用IME250,在計(jì)算機(jī)中輸入精確的表意文字是很難的。在典型的IME250中,用戶鍵入表示語(yǔ)音的拼寫法的英文字符以得到相應(yīng)的中文字符。因?yàn)楹芏嘀形淖址蓄愃频陌l(fā)音方法,鍵入的表示語(yǔ)音的拼寫法能描述大量不同的中文字符中的任何一個(gè),IME250產(chǎn)生一個(gè)隨機(jī)結(jié)果。然后IME250向用戶提供根據(jù)鍵入的表示語(yǔ)音的拼寫法而產(chǎn)生的最大可能的侯選項(xiàng),這樣用戶就能選擇其中正確的一個(gè)。由一個(gè)隨機(jī)輸入源產(chǎn)生的隨機(jī)結(jié)果能作為隨機(jī)輸入到第二個(gè)隨機(jī)輸入源中。當(dāng)在這種情況時(shí),隨機(jī)輸入源是“串聯(lián)的隨機(jī)輸入源”,且隨機(jī)輸入源會(huì)被描述成配置為“串聯(lián)”(“inseries”)。這在程序模塊的配置293中詳細(xì)說(shuō)明,程序模塊也給出了IME250的其他實(shí)施例。隨機(jī)輸入界面139擔(dān)當(dāng)在接收隨機(jī)數(shù)據(jù)的應(yīng)用程序210和隨機(jī)數(shù)據(jù)源之間的隨機(jī)數(shù)據(jù)的管道,例如書寫識(shí)別程序模塊230,語(yǔ)音識(shí)別程序模塊240,或IME250。有擔(dān)當(dāng)隨機(jī)數(shù)據(jù)管道的隨機(jī)輸入界面139的一個(gè)優(yōu)點(diǎn)是它使接收隨機(jī)數(shù)據(jù)的應(yīng)用程序210和隨機(jī)數(shù)據(jù)源之間的通訊簡(jiǎn)單化。簡(jiǎn)而言之,應(yīng)用程序只要知道如何和隨機(jī)輸入界面通訊就可以了,不需要和所有可能的隨機(jī)輸入源通訊。接收隨機(jī)輸入的應(yīng)用程序210是一個(gè)在本發(fā)明的仿效實(shí)施例中的文字處理器。然而,應(yīng)用程序210也可能是電子表格,瀏覽器,電子郵件程序,音樂轉(zhuǎn)換程序,CAD程序,圖象軟件(像PowerPoint,微軟公司生產(chǎn)的,華盛頓),操作系統(tǒng),或者其他軟件程序。在文字處理器實(shí)施例中,通過隨機(jī)輸入界面139,文字處理器210接收說(shuō)明來(lái)自習(xí)慣于輸入數(shù)據(jù)到文字處理器的每一個(gè)隨機(jī)輸入源的最可能的可選項(xiàng)文本。除通過多種隨機(jī)輸入源傳送數(shù)據(jù)到文字處理器210之外,用戶還可以輸入非隨機(jī)數(shù)據(jù)到文字處理器中,例如通過鍵盤140鍵入。文字處理器210將所有這種源數(shù)據(jù)組合成多源文本字符串呈現(xiàn)給用戶。盡管文字處理器210不能為用戶指明文本中的每個(gè)文字的來(lái)源,但文字處理器仍然保存文本中的每個(gè)組成的來(lái)源報(bào)告。文字處理器210也有允許用戶識(shí)別文本中的部分和選擇可選項(xiàng)的特殊功能。如果文本選擇來(lái)源于一個(gè)或多個(gè)隨機(jī)輸入源,那么就有文本選擇的可選項(xiàng)。通過向隨機(jī)輸入界面139提供文本選項(xiàng)和文本選項(xiàng)每部分的來(lái)源,文字處理器210可獲得來(lái)自隨機(jī)輸入界面139的可選項(xiàng)的候選列表。處理完此需要后,隨機(jī)輸入界面139向文字處理器210提供整個(gè)文本選項(xiàng)的候選列表。文字處理器210通過用戶圖形界面向用戶提供候選列表。如果用戶選擇候選列表中的文本選項(xiàng)之一,文字處理器將用選中的侯選項(xiàng)替換文本選項(xiàng)。為了處理文本選項(xiàng)的候選列表的要求,隨機(jī)輸入界面139把此要求傳送到隨機(jī)輸入組合器137中。通過和隨機(jī)輸入界面139的隨機(jī)輸入源的通訊,隨機(jī)輸入組合器137能重新獲得要求產(chǎn)生選擇文本的候選列表的隨機(jī)模塊270的信息。為產(chǎn)生候選列表,隨機(jī)輸入組合器137可隨意的參考自然語(yǔ)言模塊220。為了實(shí)現(xiàn)這樣一種咨詢,組合器137首先產(chǎn)生使用從隨機(jī)模塊270獲得的信息的臨時(shí)的文本選項(xiàng)的候選列表。組合器137向自然語(yǔ)言模塊220提供臨時(shí)候選列表后,自然語(yǔ)言模塊使用語(yǔ)法、文本部分的全部意思和不同文字順序的可能性等線索來(lái)分析臨時(shí)候選列表。在此分析的基礎(chǔ)上,自然語(yǔ)言模塊220產(chǎn)生候選列表的額外選項(xiàng),且重新評(píng)價(jià)那些臨時(shí)候選列表選項(xiàng)的可能性。如圖2所示,隨機(jī)輸入源230,240,250都能向文字處理器210提供隨機(jī)數(shù)據(jù),而不需要通過其他隨機(jī)輸入源過濾它們的隨機(jī)數(shù)據(jù)。換句話說(shuō),隨機(jī)輸入源230,240,250都能直接向文字處理器210傳送隨機(jī)數(shù)據(jù)(通過隨機(jī)輸入界面139),從輸入源輸入的隨機(jī)數(shù)據(jù)能被合并到同一個(gè)文字處理文檔中。因?yàn)檫@樣,他們被稱為“并聯(lián)隨機(jī)輸入源”296,這些隨機(jī)輸入源被描述成配置為“并聯(lián)”。盡管不同的程序模塊被分別描述,但每一個(gè)熟悉該技術(shù)的人都應(yīng)該識(shí)別出組合成不同方式的模塊,也應(yīng)該識(shí)別出為完成相似結(jié)果而創(chuàng)造出的新的程序模塊。特別是,隨機(jī)輸入組合器137和自然語(yǔ)言模塊220能嵌入隨機(jī)輸入界面139中,而這三個(gè)程序模塊也能成為操作系統(tǒng)135或文字處理器210的一部分。組合器137和自然語(yǔ)言模塊220也能作為獨(dú)立的程序直接和文字處理器210接口。類似地,隨機(jī)輸入源230,240,250,260能成為單機(jī)應(yīng)用程序模塊138,也能成為操作系統(tǒng)135的一部分。參照?qǐng)DS.3-6b,在本發(fā)明的實(shí)施例中,本發(fā)明直接在所編輯的文檔上向用戶顯示一個(gè)用戶界面。例如,如圖3所示,用戶使用隨機(jī)輸入方式,比如語(yǔ)音識(shí)別程序模塊260,向一般的文字處理程序210的文檔輸入一個(gè)句子時(shí),系統(tǒng)將需要的單詞“teach”錯(cuò)誤的顯示為“beach”。當(dāng)用戶檢查出錯(cuò)誤的單詞并選擇了糾錯(cuò)功能,如圖4所示在所編輯的文檔上彈出一個(gè)用戶界面,并顯示一列候選的替代單詞,這列候選單詞與被選中糾錯(cuò)的單詞十分相似,也就是說(shuō),這列單詞在拼寫上與不正確的單詞“beach”相似。如圖5所示,當(dāng)用戶直接在文檔上輸入正確的單詞“teach”時(shí),將由界面410顯示一列候選單詞。此界面根據(jù)所輸入的字母動(dòng)態(tài)變化以提供與輸入字母拼寫相同的單詞。隨著用戶輸入一個(gè)新字母,這一列單詞將被過濾,僅顯示拼寫上與所輸入字母組合相似的單詞,如圖6所示。如上概述,當(dāng)用戶在候選列表中選擇了所要的單詞,或是用戶選擇了自動(dòng)提示功能建議的單詞,用戶界面410將自動(dòng)關(guān)閉而不需要用戶額外的操作。如上所述,本發(fā)明的一個(gè)實(shí)施例中,糾正一個(gè)錯(cuò)誤顯示的單詞或數(shù)據(jù)時(shí),本發(fā)明向用戶提供了與用戶希望的單詞和數(shù)據(jù)最匹配的可選單詞。例如,參考圖5,當(dāng)用戶鍵入或朗讀了字母“t”,以作為輸入希望的單詞“teach”來(lái)替換錯(cuò)誤的單詞“beach”的開頭。如果用戶選擇了自動(dòng)完成提示功能,此功能將搜索候選的單詞和數(shù)據(jù),并在文檔中直接顯示向用戶建議的單詞。在自動(dòng)完成顯示功能的一個(gè)例子中,用戶輸入的字母以正常的狀態(tài)顯示在屏幕上而余下的字母則以反視覺狀態(tài)顯示在屏幕上。例如,參考圖5,當(dāng)用戶鍵入或朗讀了字母“t”,以作為輸入希望的單詞“teach”來(lái)替換錯(cuò)誤的單詞“beach”的開頭,系統(tǒng)動(dòng)態(tài)的改變用戶界面410以提供拼寫符合輸入的字母的單詞。在圖5所示的實(shí)施例中,當(dāng)用戶鍵入或朗讀了“t”后,將顯示界面410和單詞“tab”,由目前發(fā)明看來(lái),如果用戶選擇了自動(dòng)完成提示功能,系統(tǒng)將搜索候選的單詞,并建議用戶最可能的單詞。在圖5所示的實(shí)施例中,自動(dòng)完成提示功能建議用戶單詞“tab”是最可能的單詞。通過將“tab”直接顯示在文檔中的方式將建議提供給用戶。此時(shí),字母“t”顯示在正常狀態(tài)下,而字母“a”和“b”則在反視覺狀態(tài)下。如果單詞“tab”就是正確的單詞,用戶就接受自動(dòng)完成提示功能的建議,用戶界面410將關(guān)閉,用戶可以繼續(xù)輸入單詞和數(shù)據(jù)。圖7展示了在文本編輯時(shí)自動(dòng)提示功能的一系列步驟。從700步開始自動(dòng)提示功能進(jìn)行到顯示了與用戶輸入匹配的一系列單詞的705步。在710步,將決定是否找到了希望的單詞,如果沒有找到匹配的單詞,此方法進(jìn)行到715步,同時(shí),將不會(huì)顯示任何提示。也就是,如果用戶界面410所列的單詞中沒有與用戶輸入的相匹配,那麼將沒有自動(dòng)提示功能建議的單詞顯示在文檔中,如圖5所示。如果在715步,沒有顯示提示,此過程進(jìn)行到725步,同時(shí)等待用戶輸入其他的字母或數(shù)據(jù)。如果在710步,在獲選列表中有一個(gè)單詞的拼寫與用戶輸入的相匹配,此方法進(jìn)行到730步。一個(gè)提示將以與用戶鍵入的單詞和字母相匹配的形式出現(xiàn)??梢赃@樣理解,隨著用戶相文檔輸入額外的字母,以上所描述的方法,以最匹配的單詞或數(shù)據(jù)給用戶以建議,以便替換顯示錯(cuò)誤的單詞或數(shù)據(jù),此功能在搜索最匹配的單詞和數(shù)據(jù)時(shí)所用的邏輯在與本發(fā)明相同代理人的美國(guó)專利No.5845300中有詳細(xì)描述。在這里一并介紹。用例如由一個(gè)語(yǔ)音輸入單元實(shí)現(xiàn)的語(yǔ)音識(shí)別程序模塊260隨機(jī)輸入法處理文本輸入來(lái)具體說(shuō)明本發(fā)明是很方便的。圖8是一系列圖例來(lái)描述隨機(jī)輸入法加上自動(dòng)完成提示功能的步驟。圖8中的步驟將在圖S.3-6b中參考計(jì)算機(jī)程序屏幕范圍來(lái)描述。此方法從800步開始,到用戶使用一般的文字處理程序210結(jié)合語(yǔ)音輸入單元輸入文本的805步。用戶讀文本時(shí),文本將出現(xiàn)在文檔405中,如圖3所示,顯示在用戶計(jì)算機(jī)顯示器147上。為了說(shuō)明此例,如圖3,用戶朗讀了句子“theinstructorwillteachustherulesofthegame”。然而,語(yǔ)音識(shí)別程序模塊將單詞“teach”轉(zhuǎn)為“beach”,并顯示在用戶創(chuàng)建的文檔405上。在810步,用戶發(fā)現(xiàn)了顯示錯(cuò)誤的單詞“beach”,在815步,用戶通過將用戶文字處理程序的指針315放到單詞“beach”選擇不正確的單詞“beach”310。將指針315放入不正確的單詞中后,此方法進(jìn)行到817步。用戶選擇糾正按鈕或被用戶文字處理程序210使用的糾錯(cuò)功能鍵來(lái)啟動(dòng)本發(fā)明的功能?,F(xiàn)在參考圖4,用戶在817步選擇了糾錯(cuò)功能后,此方法轉(zhuǎn)到820步。用戶界面410顯示在用戶準(zhǔn)備糾錯(cuò)的文檔上。如圖4所示,在文檔405上啟動(dòng)并顯示的用戶界面410中有一列候選的單詞可替換用戶選擇的單詞。在圖4所示的例子中,用戶界面410顯示了單詞“beaches”,“beacon”,“beadle”和“beaker”。在825步,將判斷用戶是否選擇了自動(dòng)完成提示功能,和決定用戶界面410中的單詞中哪一個(gè)與用戶想要的單詞是最相似的。用于決定是否將自動(dòng)提示顯示給用戶的邏輯在上文中已被詳細(xì)的描述。在825步中,如果決定向用戶顯示自動(dòng)提示,此方法將轉(zhuǎn)到830步,并向用戶顯示自動(dòng)提示。在圖4所示的本實(shí)施例中,如果自動(dòng)提示顯示的單詞“beaches”是單詞“beach”最好的替換單詞,那麼這個(gè)單詞將在文檔中以反視頻模式顯示。在840步,將決定建議的單詞是否可被接受。在本例中,用戶想要的單詞是“teach”而不是被錯(cuò)誤顯示的“beach”。所以,在840步,將判斷出建議的單詞“beaches”并不是想要的單詞。很明白,無(wú)論建議的單詞是否被使用,做出判斷的都是用戶。在本例中,如果單詞“beaches”正是用戶想要的單詞,此方法就轉(zhuǎn)到863步,用戶接受自動(dòng)提示功能的建議,單詞被直接插入文檔中。方法進(jìn)行到875步,用戶界面410將關(guān)閉。最后,此方法進(jìn)行到875步,用戶返回并輸入文本。在本例中,在840步將判斷出單詞“beaches”并不是單詞“beach”的可選項(xiàng),并且此方法進(jìn)行到835步。在835步時(shí),將判斷在用戶界面候選列中是否包含可選的單詞。必須明確,如果在825步中,用戶沒有選擇自動(dòng)完成提示功能,此方法將直接從820步跳到835步。參考圖4,在835步,用戶查看用戶接口410提供的候選列單詞發(fā)現(xiàn)想要的單詞“teach”不在列表中。很明顯,在單詞列表中可能會(huì)包含有比圖4所示的更多的單詞,所有這些單詞的綜合將超過用戶界面410給用戶顯示的空間。方便的是,本發(fā)明的過濾發(fā)面的問題將在后面討論,允許用戶過濾列表中的單詞,而不用進(jìn)入用戶界面410去瀏覽所有的候選單詞。在835步,用戶判斷在候選列中由一個(gè)單詞可以替換“beach”,本方法進(jìn)行到845步,用戶選擇正確的單詞,例如,參照?qǐng)D4,如果用戶認(rèn)為單詞“beacon”是正確的單詞來(lái)替換不正確的單詞“beach”。在本實(shí)施例中用戶可以鍵入數(shù)字“2”來(lái)選擇單詞“beacon”。如果用戶在候選列中選擇了一個(gè)單詞,本方法將轉(zhuǎn)到865步,選擇的單詞將直接插入文檔。本方法將關(guān)閉用戶界面410和返回上述文本輸入狀態(tài)。根據(jù)本實(shí)施例,如圖S.3-6b所示,在835步時(shí),用戶界面并沒有包含替換錯(cuò)誤顯示單詞“beach”的單詞。也就是說(shuō),用戶想要輸入的單詞“teach”并不在用戶界面410所顯示的單詞候選列表中。所以,本方法將從835步轉(zhuǎn)到850步,將候選單詞過濾。參考圖5,用戶通過直接向文檔輸入想要的單詞和數(shù)據(jù)的字母來(lái)過濾用戶界面410中不想要的單詞。接下來(lái),并參考圖5,用戶鍵入或在是語(yǔ)音聽寫單元的情況朗讀,來(lái)輸入字母“t”。只要用戶一輸入“t”,用戶界面410的候選列表中將動(dòng)態(tài)變化以提供與用戶輸入單詞拼寫相似的單詞。如圖5所示,用戶界面410的候選列表中顯示的單詞改為顯示單詞“tab”,“table”,“tacet”,“tack”和“tactic”。很明顯,候選列表中的單詞是從一些合適的地方選取的,例如用戶使用的字處理程序內(nèi)部的拼寫檢查詞典,或是利用字處理程序通過互聯(lián)網(wǎng)或局域網(wǎng)從遠(yuǎn)程字典中提取的。當(dāng)用戶輸完第一個(gè)特征字母后,當(dāng)然在本實(shí)施例中是字母“t”,本方法將轉(zhuǎn)到855步,并判斷是否已輸入了單詞或數(shù)據(jù)所有的特征位都沒有在候選列表中找到單詞,也沒有選擇自動(dòng)完成提示功能建議的單詞。如果用戶輸入了足夠的字母,不再為候選列表提供額外過濾,用戶在候選列表中也沒有找到可替換的單詞,那麼用戶輸入的字母將在860步被認(rèn)為是用戶想要輸入的單詞。本方法將轉(zhuǎn)到865步,在這兒?jiǎn)卧~將被插入到文檔中,用戶界面410將如上所述被關(guān)閉。應(yīng)該明白,當(dāng)本發(fā)明的方法和系統(tǒng)從可用的字典源處選取的候選單詞中并沒有想要的單詞時(shí),這種情況很有可能發(fā)生。例如,如果用戶輸入一個(gè)有關(guān)藝術(shù)的,并不被本發(fā)明的方法和系統(tǒng)可用的任何字典源所收錄的單詞,那麼想要的單詞并不會(huì)在候選列表中出現(xiàn),也不會(huì)被自動(dòng)完成提示功能顯示。本發(fā)明的這方面是有優(yōu)勢(shì)的,因?yàn)橛脩艨梢暂斎雭?lái)過濾候選列表,也可以直接向文檔輸入單詞。當(dāng)用戶認(rèn)為在候選列表中沒有發(fā)現(xiàn)正確的單詞后,用戶在編輯過程中輸入的單詞將被接受而不會(huì)把輸入的字母丟失。如果用戶在850步輸入另外一個(gè)字母來(lái)過濾候選單詞,并且在855步?jīng)]有輸入組成想要的單詞的足夠字母,本方法將返回825步判斷自動(dòng)完成提示功能是否繼續(xù)進(jìn)行。如上所述,如果825步?jīng)Q定繼續(xù)進(jìn)行,則在828步?jīng)Q定是否向用戶顯示自動(dòng)提示。參考本例中的圖5,如果自動(dòng)提示功能打開,本方法將在用戶輸入“t”后建議候選列表中的單詞“tab”是單詞“beach”最相似的替代單詞。在830步單詞tab將顯示在屏幕上,此時(shí),“t”以標(biāo)準(zhǔn)狀6態(tài)顯示,字母“a”和“b”在反視覺狀態(tài)。如果在840步選擇了“tab”,用戶在863步選擇單詞“tab”,在865步單詞“tab”插入文本,用戶界面將如上所述被關(guān)閉。如果在825步,自動(dòng)提示顯示功能不再打開,或如果自動(dòng)提示顯示的單詞不被認(rèn)可,本方法將轉(zhuǎn)到835步并決定候選列表中收否有可選擇單詞可替換不正確單詞beach。如果顯示的單詞例如“tab”,“table”或“tactic”是用戶可用的,用戶可以如上所述選擇一個(gè)輸入文檔。然而,如果在835步中在自動(dòng)提示顯示功能顯示的單詞和候選列表中都沒有可用的單詞,本方法將再次轉(zhuǎn)到850步,候選列表中的單詞將再次被用戶輸入的額外的單詞過濾。參考圖6,用戶鍵入或在使用語(yǔ)音口述單元時(shí)拼寫入字母“e”,用戶界面410中候選列表中的單詞將動(dòng)態(tài)改變,使得加入拼寫上符合用戶輸入的“t“和“e”字母的單詞。如圖6所示,在本實(shí)施例中,用戶界面410所提供的候選列表中包含單詞“tea”,“teach”,“team”和“tear”。在855步,不用選出候選列表中想要的單詞,也不用顯示自動(dòng)提示功能所建議的單詞,本方法將判斷用戶是否已經(jīng)輸入了識(shí)別所要單詞全部的字母。在本實(shí)施例中,用戶輸入“t”和“e”,并不能達(dá)到目的。因此,本方法返回825步,判斷自動(dòng)提示功能是否繼續(xù)。如果自動(dòng)提示功能繼續(xù),在825步將判斷是否顯示自動(dòng)提示。根據(jù)本例,如圖6所示,自動(dòng)提示的單詞“tea”將顯示給用戶,并且字母“t”和“e”在標(biāo)準(zhǔn)狀態(tài)下,“e”在反視覺狀態(tài)下。如上所述,如果單詞“tea”是用戶認(rèn)為正確的的單詞,用戶可以選擇此單詞,并插入文檔。然而,在本實(shí)施例中,單詞“tea”并不是想要的單詞,于是轉(zhuǎn)到835步。在835步,將判斷候選列表是否含有可接受的單詞,如圖6所示,所需的單詞“teach”正以選擇號(hào)2列在候選列表中。所以,本方法轉(zhuǎn)到845步,用戶將單詞“teach”作為2號(hào)選擇,并將單詞“teach”插入文檔中,如圖6所示。在870步,用戶界面410關(guān)閉,在875步,用戶返回輸入文本的狀態(tài)。從前面的討論中很容易理解,如果用戶在845步時(shí)沒有從候選列表中選擇單詞“teach”,本方法將轉(zhuǎn)到850步,用戶將輸入下一個(gè)字母來(lái)過濾候選列表中的單詞,在本實(shí)施例中,用戶輸入“a”將得到單詞“teach”。例如,有可能會(huì)出現(xiàn)這種情況,如圖6所示,候選列表通過用戶界面410已提供了足夠多的單詞以至于“teach”也在其中,但是并沒有顯示在用戶界面410中。在850步中,當(dāng)用戶輸入額外的字母“c”時(shí),候選列表中的單詞將再次過濾。所有不是以“tec”開頭的單詞將被剔除出候選列表。與圖6所示的實(shí)施例一致,單詞“teach”將被過濾到通過用戶界面410顯示的可視候選列表中。然后,當(dāng)本方法返回825步時(shí),如果自動(dòng)完成提示功能繼續(xù)進(jìn)行,單詞“teach”將被建議作為最可能的替換錯(cuò)誤顯示的單詞“beach”的單詞。這時(shí),用戶可以選擇單詞“teach”為正確的替換詞。否則,如果自動(dòng)完成提示功能未被打開,用戶僅需從用戶界面410的候選列表中選擇單詞“teach”即可,如上所述。如上所述,本發(fā)明用于糾正隨機(jī)輸入法的輸入,其方法是通過允許用戶選擇顯示錯(cuò)誤的單詞或數(shù)據(jù),并提供給用戶一列候選單詞作為所希望的替換單詞。用戶在過濾用戶界面所提供的單詞和數(shù)據(jù)時(shí)不需要通過將指針315放入用戶界面或在用戶界面內(nèi)輸入內(nèi)容的方式與用戶界面交互。其他可用的實(shí)施例對(duì)于熟知本領(lǐng)域技術(shù)人員來(lái)說(shuō)是很容易得到的,并且是不脫離本發(fā)明的思想及保護(hù)范圍的。因此,本發(fā)明的保護(hù)范圍被權(quán)利要求書所具體限定。權(quán)利要求1.一種把糾錯(cuò)文本輸入文本文檔的方法,包括步驟接收要輸入到文本文檔中的選擇文本,該選擇文本包括一個(gè)或多個(gè)文本成分;從上述一個(gè)或多個(gè)文本部分中識(shí)別出一個(gè)錯(cuò)誤的文本部分;選擇該錯(cuò)誤的文本部分進(jìn)行編輯;接受一個(gè)顯示可替換錯(cuò)誤文本部分的備選項(xiàng)列表的命令;通過直接在文本文檔中打開的用戶界面顯示該候選列表;在文本文檔中的錯(cuò)誤文本部分中直接進(jìn)行編輯,該編輯包括對(duì)該錯(cuò)誤文本部分所需替換選項(xiàng)的部分記錄;過濾該候選列表使編輯去掉與上述部分記錄的選項(xiàng);為了過濾該候選列表,顯示一個(gè)包含具有上述特征的選項(xiàng)的備選的修正后列表;從修正后列表中選擇一個(gè)可替換錯(cuò)誤文本的選項(xiàng);直接在文本文檔中用選出的選項(xiàng)替換錯(cuò)誤的文本部分;并且關(guān)閉用戶界面。2.如權(quán)利要求1所述的方法,還包括步驟如果響應(yīng)過濾候選列表后未識(shí)別出可替換錯(cuò)誤文本部分的可接受選項(xiàng),則接受對(duì)文本文檔中的錯(cuò)誤文本部分直接編輯來(lái)進(jìn)行的附加編輯來(lái)對(duì)候選列表進(jìn)行進(jìn)一步過濾;如果在額外編輯的候選列表的進(jìn)一步過濾時(shí),沒有識(shí)別出可替換錯(cuò)誤文本部分的選項(xiàng),則直接在文本文檔中用包括了編輯和額外編輯的記錄替換錯(cuò)誤的文本部分;并且關(guān)閉用戶界面。3.如權(quán)利要求1所述的方法,還包括步驟在包含具有上述部分記錄的選項(xiàng)的修正后候選列表中識(shí)別完全匹配的文本部分選項(xiàng);作為部分記錄的提示完成直接將完成匹配的文本部分選項(xiàng)直接顯示在文本文檔中;接受一個(gè)有關(guān)提示完成的確認(rèn)命令;由于該確認(rèn)命令,直接在文本文檔中用匹配完成的替換文本替換錯(cuò)誤的文本部分;并且關(guān)閉用戶界面。4.如權(quán)利要求1所述的方法,其中接受錯(cuò)誤文本部分的編輯的步驟還包括在錯(cuò)誤文本部分所在位置直接鍵入可選選項(xiàng)的首字母。5.如權(quán)利要求1所述的方法,其中接收要輸入到文本文檔中的選擇文本的步驟還包括接收來(lái)自一個(gè)隨機(jī)輸入源的選擇文本。6.如權(quán)利要求5所述的方法,其中隨機(jī)輸入源包括一個(gè)語(yǔ)音識(shí)別裝置。7.如權(quán)利要求6所述的方法,其中接受一個(gè)對(duì)錯(cuò)誤文本部分的編輯的步驟還包括通過語(yǔ)音識(shí)別裝置用聲音拚入的方式將文本文檔中錯(cuò)誤文本部分的可選選項(xiàng)的首字母直接輸入到錯(cuò)誤文本位置。8.如權(quán)利要求5所述的方法,其中隨機(jī)輸入源包括一個(gè)手寫輸入單元。9.如權(quán)利要求8所述的方法,其中接受一個(gè)對(duì)錯(cuò)誤文本部分的編輯的步驟還包括通過手寫輸入裝置用手寫輸入的方式將文本文檔中錯(cuò)誤文本部分的可選選項(xiàng)的首字母直接輸入到錯(cuò)誤文本位置。10.如權(quán)利要求5所述的方法,其中隨機(jī)輸入源包括一個(gè)用于輸入符號(hào)語(yǔ)言或其它表示的基于視覺的輸入設(shè)備。11.一種記錄計(jì)算機(jī)執(zhí)行指令的計(jì)算機(jī)可讀媒介,當(dāng)計(jì)算機(jī)執(zhí)行指令時(shí),執(zhí)行如權(quán)利要求1所述的方法。12.一種用于執(zhí)行如權(quán)利要求1所述方法的計(jì)算機(jī)系統(tǒng)。13.一種把糾正文本文檔的輸入文本的方法,包括步驟接收要輸入到文本文檔中包括一個(gè)或多個(gè)文本部分的文本選項(xiàng);選擇該錯(cuò)誤的文本部分進(jìn)行編輯;通過直接在文本文檔中打開的用戶界面顯示可替換錯(cuò)誤文本部分的候選列表;在文本文檔中的錯(cuò)誤文本部分中直接進(jìn)行編輯,該編輯包括對(duì)該錯(cuò)誤文本部分所需替換選項(xiàng)的部分記錄;過濾該候選列表使編輯去掉與上述部分記錄的選項(xiàng);為了過濾該候選列表,顯示一個(gè)包含具有上述特征的選項(xiàng)的備選的修正后列表;如果響應(yīng)過濾候選列表后未識(shí)別出可替換錯(cuò)誤文本部分的可接受選項(xiàng),則接受對(duì)文本文檔中的錯(cuò)誤文本部分直接編輯來(lái)進(jìn)行的附加編輯來(lái)對(duì)候選列表進(jìn)行進(jìn)一步過濾;在接受了任何一個(gè)額外編輯之后,顯示包含與編輯和額外編輯組成的記錄相關(guān)的選項(xiàng)的再次被修正的候選列表;如果在額外編輯的候選列表的進(jìn)一步過濾時(shí),沒有識(shí)別出可替換錯(cuò)誤文本部分可接受的選項(xiàng),則直接在文本文檔中用包括了編輯和額外編輯的記錄替換錯(cuò)誤的文本部分;并且關(guān)閉用戶界面。14.如權(quán)利要求13所述的方法,其中接受錯(cuò)誤文本部分的編輯的步驟還包括在錯(cuò)誤文本部分所在位置直接鍵入可選選項(xiàng)的首字母。15.如權(quán)利要求13所述的方法,其中接收要輸入到文本文檔中的選擇文本的步驟還包括接收來(lái)自一個(gè)隨機(jī)輸入源的選擇文本。16.如權(quán)利要求15所述的方法,其中接受一個(gè)對(duì)錯(cuò)誤文本部分的編輯的步驟還包括通過語(yǔ)音識(shí)別裝置用聲音拚入的方式將文本文檔中錯(cuò)誤文本部分的可選選項(xiàng)的首字母直接輸入到錯(cuò)誤文本位置。17.如權(quán)利要求15所述的方法,其中接受一個(gè)對(duì)錯(cuò)誤文本部分的編輯的步驟還包括通過手寫輸入裝置用手寫輸入的方式將文本文檔中錯(cuò)誤文本部分的可選選項(xiàng)的首字母直接輸入到錯(cuò)誤文本位置。18.一種記錄計(jì)算機(jī)執(zhí)行指令的計(jì)算機(jī)可讀媒介,當(dāng)計(jì)算機(jī)執(zhí)行指令時(shí),執(zhí)行如權(quán)利要求13所述的方法。19.一種用于執(zhí)行如權(quán)利要求13所述方法的計(jì)算機(jī)系統(tǒng)。20.一種糾正文本文檔輸入文本的方法,包括步驟接收要輸入到文本文檔中的文本選項(xiàng),該選擇文本包括一個(gè)或多個(gè)文本部分;選擇該錯(cuò)誤的文本部分進(jìn)行編輯;在文本文檔中的錯(cuò)誤文本部分中直接進(jìn)行編輯,該編輯包括對(duì)該錯(cuò)誤文本部分所需替換選項(xiàng)的部分記錄;過濾該候選列表使編輯去掉與上述部分記錄的選項(xiàng);為了過濾該候選列表,顯示一個(gè)包含具有上述特征的選項(xiàng)的可選擇的修正后列表;作為部分記錄的提示完成直接將完成匹配的文本部分選項(xiàng)直接顯示在文本文檔中;接受一個(gè)有關(guān)提示完成的確認(rèn)命令;由于該確認(rèn)命令,直接在文本文檔中用匹配完成的替換文本替換錯(cuò)誤的文本部分;并且關(guān)閉用戶界面。21.如權(quán)利要求20所述的方法,還包括步驟如果沒有識(shí)別出完全匹配的可選擇文本選項(xiàng),則對(duì)文本文檔的錯(cuò)誤文本部分直接編輯來(lái)進(jìn)行附加編輯來(lái)對(duì)修正后的候選列表進(jìn)行進(jìn)一步過濾;在接受了任何一個(gè)額外編輯之后,顯示包含與編輯和額外編輯組成的記錄相關(guān)的選項(xiàng)的再次被修正的候選列表;如果在響應(yīng)額外編輯引起的修正后候選列表的進(jìn)一步過濾后仍沒有與可能顯示作為部分記錄的提示匹配完成的選項(xiàng),則接受上述編輯和額外編輯組成的作為對(duì)錯(cuò)誤文本部分的替換的部分記錄;并且輸入由編輯和額外編輯組成的作為對(duì)錯(cuò)誤文本部分的替換的記錄;并且關(guān)閉用戶界面。22.如權(quán)利要求20所述的方法,其中接受錯(cuò)誤文本部分的編輯的步驟還包括在錯(cuò)誤文本部分所在位置直接鍵入可選選項(xiàng)的首字母。23.如權(quán)利要求20所述的方法,其中接收要輸入到文本文檔中的選擇文本的步驟還包括接收來(lái)自一個(gè)隨機(jī)輸入源的選擇文本。24.如權(quán)利要求23所述的方法,其中接受一個(gè)對(duì)錯(cuò)誤文本部分的編輯的步驟還包括通過語(yǔ)音識(shí)別裝置用聲音拚入的方式將文本文檔中錯(cuò)誤文本部分的可選選項(xiàng)的首字母直接輸入到錯(cuò)誤文本位置。25.如權(quán)利要求23所述的方法,其中接受一個(gè)對(duì)錯(cuò)誤文本部分的編輯的步驟還包括通過手寫輸入裝置用手寫輸入的方式將文本文檔中錯(cuò)誤文本部分的可選選項(xiàng)的首字母直接輸入到錯(cuò)誤文本位置。26.一種記錄計(jì)算機(jī)執(zhí)行指令的計(jì)算機(jī)可讀媒介,當(dāng)計(jì)算機(jī)執(zhí)行指令時(shí),執(zhí)行如權(quán)利要求20所述的方法。27.一種用于執(zhí)行如權(quán)利要求20所述方法的計(jì)算機(jī)系統(tǒng)。全文摘要提供了一種用計(jì)算機(jī)實(shí)現(xiàn)從一隨機(jī)輸入來(lái)源得到一個(gè)正確文本輸入的方法和系統(tǒng)。當(dāng)一段文本被確定為錯(cuò)誤時(shí),該錯(cuò)誤成分的候選列表會(huì)直接出現(xiàn)在所預(yù)備的文檔的用戶界面。用戶通過向文檔直接輸入或通過朗讀來(lái)對(duì)錯(cuò)誤語(yǔ)音成分進(jìn)行編輯。用戶編輯時(shí)過濾候選列只提供那些能夠與用戶的編輯相匹配的選項(xiàng)。當(dāng)用戶輸入任一其它字母或字符,列表重新過濾。用戶編輯完成的提示可在文檔中直接顯示。如用戶接收建議,該建議項(xiàng)會(huì)輸入到文檔取代錯(cuò)誤原文并且用戶界面關(guān)閉。列表過濾期間若顯示中沒有可接受的單詞或短語(yǔ),用戶輸入的字符會(huì)被用來(lái)替換錯(cuò)誤的原文并且用戶界面關(guān)閉。因此,若候選列表中沒有用戶要的單詞或短語(yǔ),用戶輸入的編輯文本也不會(huì)丟失。文檔編號(hào)G06F3/16GK1335571SQ0112330公開日2002年2月13日申請(qǐng)日期2001年6月22日優(yōu)先權(quán)日2000年6月23日發(fā)明者C·普萊特雷,J·蕾那,田中千晶申請(qǐng)人:微軟公司