欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

以無模式輸入將一種文本形式轉換成另一種文本形式的語言輸入體系結構的制作方法

文檔序號:6540501閱讀:334來源:國知局
專利名稱:以無模式輸入將一種文本形式轉換成另一種文本形式的語言輸入體系結構的制作方法
技術領域
本發(fā)明涉及語言輸入方法和系統。更具體地說,本發(fā)明提供語言輸入方法和系統,它對文本錄入過程中發(fā)生的打字錯誤和在從一種語言形式到另一種語言形式的轉換過程中發(fā)生的轉換錯誤都有容錯能力(errortolerance)。
一般地說,有兩種原因使錯誤被引入到文本中。一個原因是使用者根本不知道正確的拼寫或句子結構。文字處理器能提出建議以協助使用者選擇正確的拼寫或措辭。第二個和更典型的錯誤原因是使用者不正確地向計算機中送入了詞或句子,即使他/她知道正確的拼寫或語法結構。在這種場合,在識別不適當送入的字符串和把它們改正為預想的詞或短語方面,文字處理器往往相當有用。
在為不采用羅馬字符的語言所設計的文字處理器中,錄入(entry)錯誤往往更為普遍。對于許多種語言,不存在語言專用鍵盤,如英文版QWERTY鍵盤,因為這些語言擁有的字符比能夠方便地作為鍵安排在鍵盤中的字符多得多。例如,許多亞洲語言含有數千個字符。在實際上不可能造出一個鍵盤來支持用于這許多不同字符的單獨鍵。
不是去設計昂貴的語言和方言專用鍵盤,而是使語言專用文字處理系統允許使用者從一個小字符集鍵盤(例如QWERTY鍵盤)輸入語音文本并把那個語言文本轉換成語言文本。“語音文本”代表說一種給定語言時造成的聲音,而“語言文本”代表它們實際出現在文本中時的書寫字符。例如,在中文中,“拼音”是語音文本的一個例子,而“漢字”是語言文本的一個例子。通過把語音文本轉換成語言文本,許多不同的語言能由語言專用文字處理器使用傳統的計算機和標準的QWERTY鍵盤來處理。
這樣,需要語音輸入的文字處理器經受兩類可能的輸入錯誤。一類輸入錯誤是通常的打字錯誤。然而,即使該文本沒有打字錯誤,另一類錯誤是文字處理引擎可能不正確地把語言文本轉換成非預想的字符文本。當在同一個語音文本輸入串中這兩個問題都起作用時,便可能造成一連串錯誤。在某些場合,如果不對該短語或句子的整個上下文進行長長的研究便不可能容易地發(fā)現由打字引發(fā)的錯誤。
這里所描述的發(fā)明主要是針對鍵入語言文本時由使用者造成的前一類輸入錯誤,但也提供了對文字處理引擎造成的轉換錯誤的容錯。為了更好地演示伴隨這種打字錯誤出現的問題,考慮一種基于中文的文字處理器,它把語音文本“拼音”轉換成語言文本“漢字”。
有若干個理由說明為什么輸入語音文本往往打字錯誤增多。一個理由是在英文鍵盤上的平均打字準確率在中國要比在英語國家低。第二個理由是語音文本使用得并不那么頻繁。在早年的教育中,使用者并不象說英語的使用者受教于拼寫英文詞那樣傾向于研究和學習語音拼寫。
在語音文本輸入過程中打字錯誤增多的第三個理由是許多人天生地以地方方言說話,這與標準方言相反。作為語音文本來源的標準方言是第二語言。在某些方言和口音中,說出的詞可能不與相應的適當語音文本匹配,這樣使得一個使用者更難于鍵入語音文本,例如,許多中國人說各種中國方言作為他們的第一語言并且被教授“普通話”中文作為第二語言,而“普通話”是“拼音”的來源。例如,在一些中國方言中,在某些上下文中“h”和“w”的發(fā)音沒有區(qū)別;而在其他方言中,“ng”和“n”能被說成一樣的;又在其他方言中,“r”不能被清晰地發(fā)出。結果,把說“普通話”作為第二語言的中文使用者當試圖輸入拼音時可能易于發(fā)生打字錯誤。
打字錯誤多的另一個可能原因是當輸入語音文本時難于核查錯誤。這部分地由于語音文本通常是長的、不可讀的字符串,它們是難讀的。與看到的內容就是輸入的內容的基于英文的文本輸入相比,輸入的語音文本往往不是“所見即所得”,而是由文字處理器把語音文本轉換成語言文本。結果,使用者通常不去檢驗語音文本中的錯誤,而是寧肯等待直到語音文本被轉換成語言文本。
對于這最后一個理由,在“拼音”輸入的情況中打字錯誤會是特別令人煩惱的。拼音字符串很難檢查和糾正,因為在字符之間沒有空格。代替的是,拼音字符一起出現,不管由拼音字符形成的詞有多少個。此外,拼音到漢字的轉換往往不是立即發(fā)生的,而是隨著送入更多的拼音文本繼續(xù)去構成正確的解釋。這樣,如果使用者輸入錯誤的拼音符號,單個錯誤可能被轉換過程組合進去并向下游傳播,造成若干個額外的錯誤。結果,糾錯要用更長的時間,因為到這時系統已肯定地轉換到漢字字符,然后使用者認識已經出現了一個錯誤,于是該使用者被迫多次退格,只是要做一次改正。在某些系統中,甚至不能揭示出原始的錯誤。
由于預期在語音輸入過程中會頻繁發(fā)生錯誤,故需要一個在語音輸入中能容錯的系統。希望有這樣的系統,即使當語音串含有輕微錯誤的字符,該系統也能回送一個正確的答案。
除輸入問題外語言專用文字處理器還面對另一個問題,它涉及在兩種語言之間切換模式(mode)以把來自不同語言的詞輸入到同一文本。例如,通常會在起草的中文文件中包括英文詞,例如技術術語(如Internet)或那些難于翻譯的術語(例如縮略語、符號、姓、公司句等)。當輸入不同的詞時,傳統的文字處理器需要使用者從一種語言模式切換到其他語言模式。這樣,當一個使用者想要送入一個來自另一種語言的詞時,該使用者必須停止思考關于文本輸入的事,把模式從一種語言切換到另一種語言,送入該詞,然后再把模式切換回第一種語言。這顯著降低了使用者的打字速度,并需要使用者在文本輸入任務和額外的改變語言模式的控制任務之間轉移他/她的注意力。
因此,需要一種無需進行模式切換的“無模式”系統。為避免這些模式,該系統應能檢測正被輸入的語言,然后以逐個單詞為基礎把字母序列動態(tài)地轉換成這種或那種語言。
然而,這不象可能看起來那樣容易,因為許多字符串可能適合于兩種上下文。例如,許多有效的英文詞也是有效的“拼音”串。再有,在拼音輸入時,由于在中文字之間以及在中文和英文詞之間沒有空格,故可能產生更大的混淆。
作為一例,當一使用者輸入拼音輸入文本串“woshiyigezhongguoren”時,該系統把該字符串轉換成中文字“我是一個中國人”(通常翻譯成“我是一個中國人”)。
有時,使用者不是輸入“woshiyigezhongguoren”,而是輸入如下字符串wosiyigezhongguoren(錯誤是“sh”和“s”混淆);woshiyigezongguoren(錯誤是“zh”和“z”混淆);woshiygezhongguoren(錯誤是“y”后面略掉“i”);woshiyigezhonggouren(錯誤是“ou”并列);woshiyigezhongguiren(錯誤是“i”和“o”混淆)。
發(fā)明人已開發(fā)出一種文字處理系統和方法,使得對困難的外語(如中文)的拼寫校正成為可能,而且允許通過自動語言識別無模式地輸入多種語言。
在一種實現中,該語言輸入體系結構有一個用戶界面用于接收字符、符號、或其他文本元素的輸入串,該輸入串可以包括語音文本和非語音文本,以及一種或多種語言。用戶界面允許使用者將輸入文本串送入單一編輯行,而無需在不同文本形式或不同語言的輸入之間進行模式切換。以這種作法,該語言輸入體系結構為方便使用者而提供了多種語言的無模式輸入。
該語言輸入體系結構還有一個搜索引擎,一個或多個打字模型(model),一種語言模型,以及用于不同語言的一個或多個詞典(lexicon)。該搜索引擎從用戶界面接收輸入串并把該輸入串分送到一個或多個打字模型,每個打字模型被配置成產生一個可能代替輸入串的可能打字候選串列表,產生該列表的依據是每個候選串有多大可能被作為輸入串不正確地輸入的打字錯誤概率。這些可能的打字候選串可存儲在數據庫中。
打字模型受到從輸入訓練文本的許多訓練者那里收集的數據給予的訓練。例如,在中文的情況中,訓練者們送入以“拼音”寫成的訓練文本。觀察到的在送入到訓練文本過程中造成的錯誤被用于計算伴隨打字候選串的概率,這些打字候選串可能用于校正打字錯誤。在使用多種打字模型的情況中,每個打字模型可以受到不同語言的訓練。
在一種實現中,打字模型可以通過讀輸入文本串并把各音節(jié)映射到每個串的相應鍵入字母而受到訓練。保持一個頻率計數,該計數表示每個鍵入字母被映射到這些音節(jié)之一的次數,并根據該頻率計數計算出每個音節(jié)的鍵入概率。
打字模型回送一組可能的打字候選串,它們構成輸入串中存在的可能打字錯誤。打字候選串以與輸入串相同的語言或文本形式寫成。
搜索引擎把打字候選串傳送到語言模型,它為每個打字候選串提供可能的轉換串。更具體地說,該語言模型是一個三字母組(trigram)語言模型,它根據兩個先前的文本元素來確定一個可能的轉換輸出串有多大可能代表候選串的語言文本概率。該轉換串以不同于輸入串的語言或文本形式寫成。例如,輸入串可能包含中文拼音或其他語音文本,而輸出串可能包含中文漢字或其他語言文本。
根據在打字模型和語言模型中導出的概率,搜索引擎選擇相關聯的打字候選串以及顯示出最高概率的轉換候選串。搜索引擎把輸入串(例如以語音文本寫成的)轉換成一個輸出串,該輸出串包含從語言模型中返回的轉換候選串,從而以另一種文本形式(例如語言文本)來代替輸入的文本形式(例如語音文本)。以這種方式,可以去掉使用者在輸入語音文本過程中造成的任何輸入錯誤。
當使用多種語言時,輸出串可以有轉換候選串與部分輸入串(沒有轉換)的組合。后一種情況的例子是基于中文的語言輸入體系結構輸出從拼音到漢字轉換后的文本以及沒有轉換過的英文文本二者。
用戶界面在同一編輯行中顯示輸出文本串,這一編輯行繼續(xù)用于輸入輸入串。以這種方式,轉換是自動發(fā)生的,并且與使用者輸入后加的文本同時進行。


圖1是一計算機系統的方框圖,該系統有一個實現語言輸入體系結構的語言專用文字處理器。
圖2是該語言輸入體系結構的一個實施例的方框圖。
圖3是被分割或分段為不同音節(jié)組的一個文本串以及在假定該文本串含有錯誤時可以用于代替那些音節(jié)的候選串的圖形表示。
圖4是流程圖,說明由語言輸入體系結構進行的一般轉換操作。
圖5是一個訓練計算機的方框圖,該計算機用于訓練該語言輸入體系結構中采用的基于概率的模型。
圖6是顯示一種訓練技術的流程圖。
圖7是該語言輸入體系結構另一實施例的方框圖,該實施例中采用了多種打字模型。
圖8是顯示多語種轉換過程的流程圖。
本發(fā)明涉及一種語言輸入系統和方法,它把一種語言形式(例如語音版本)轉換成另一種語言形式(例如書寫版本)。該系統和方法有容錯功能用于文本輸入過程中的拼寫和打字錯誤以及在從一種語言形式到另一種語言形式的轉換過程中發(fā)生的轉換錯誤。為便于討論,這里在由通用計算機執(zhí)行的文字處理程序的一般情況中描述本發(fā)明。然而,本發(fā)明可以在文字處理以外的許多不同環(huán)境中實現,并可在許多不同類型的裝置上使用。其他情況可能包括電子郵件程序、電子數據表、瀏覽器等。
該語言輸入系統利用一個統計語言模型以實現很高的準確性。在一個實施例中,語言輸入體系統構使用統計語言模型加上自動的、基于最大似然的方法來對詞分段,選擇一個詞典,過濾訓練數據,以及導出最可能的轉換候選串。
然而,統計的、基于句子的語言模型假定使用者的輸入是完美無缺的。在實際上,在使用者的輸入中存在許多打字和拼寫錯誤。于是,該語音輸入體系結構包括一個或多個打字模型,它們利用概率拼寫模型去接受正確的打字,同時容許普通的打字和拼寫錯誤。這些打字模型可以針對多種語言(如英文和中文)進行訓練,以辨明在多大程度上輸入的序列可能是一種語言中的詞,而不是另一種語言中的詞。兩種模型能平行運行并受語言模型(例如中文語言模型)指導,以輸出最可能的字符序列(即,英文和中文字)。示例計算機系統圖1顯示一個示例計算機系統100,它有中央處理單元(CPU)102、存儲器104以及輸入/輸出(I/O)接口106。CPU102與存儲器104及I/O接口106通信。存儲器104代表易失性存儲器(如RAM)和非易失性存儲器(例如ROM、硬盤等)二者。
計算機系統100有經由I/O接口106連接的一個或多個外圍裝置。示例外圍裝置包括鼠標110、鍵盤112(例如字母數字QWERTY鍵盤,速寫鍵盤等)、顯示監(jiān)視器114、打印機116、外圍存儲裝置118、以及送話器120。例如該計算機系統可以作為通用計算機來實現。于是,計算機系統100實現一個計算機操作系統(未畫出),它存儲在存儲器104中并在CPU102中執(zhí)行。該操作系統最好是一個支持窗口環(huán)境的多任務操作系統。合適的操作系統的一個實例是來自微軟公司的Windows操作系統。
應該指出,可以使用其他的計算機系統配置,例如手持裝置、多處理器系統、基于微處理器的或可編程的消費者電子設備、網絡PC、微型計算機、大型機等。此外,盡管圖1中顯示的是一臺獨立的計算機,該語言輸入系統還可在分布式計算環(huán)境中使用,在分布式環(huán)境中,任務由通過通信網絡(例如LAN、因特網等)鏈接的遠程處理裝置執(zhí)行。在分布式計算環(huán)境中,程序模塊可以位于本地的和遠程的存儲器存儲裝置中。
一個數據或文字處理程序130存儲在存儲器104中并在CPU 102上執(zhí)行。其他程序、數據、文件等也可以存儲在存儲器104中,但為易于討論而未畫出。文字處理程序130被配置成接收語音文本并自動把它轉換成語言文本。更具體地說,文字處理程序130實現一個語言輸入體系結構131,為了討論目的,它是作為存儲在存儲器并且可在處理器上執(zhí)行的計算機軟件來實現的。除了體系結構131外,文字處理程序130還可以包括其他部件,但這些部件被認為是文字處理程序的標準部件,故不予詳細顯示或討論。
文字處理程序130的語言輸入體系結構131有一個用戶界面(UI)132、一個搜索引擎134、一個或多個打字模型135、一個語言模型136、以及用于各種語言的一個或多個字典137。體系結構131是獨立于語言的。UI 132和搜索引擎134是通用的,能用于任何語言。通過改變語言模型136、打字模型135以及字典137,體系結構131可適用于一種特定的語言。
搜索引擎134和語言模型136一起形成語音文本到語言文本轉換器138。利用打字模型135的協助,轉換器138變得對使用者的打字錯誤和拼寫錯誤能夠容錯。為了本公開內容中的使用,“文本”是指一個或多個字符和/或非字符符號?!罢Z音文本”一般是指代表說一種給定語言時發(fā)出的聲音的字母數字文本?!罢Z言文本”是代表書寫語言的字符和非字符符號。“非語音文本”是不代表說一種給定語言時發(fā)出的聲音的字母數字文本。非語音文本可以包括標點符號、特殊符號、以及代表不是語言文本的一種書寫語言的字母數字文本。
或許可以更一般地說,語音文本可以是以基于羅馬字的字符集(例如英文字母)表示的任何字母數字文本,它代表說一種給定語言時發(fā)出的聲音,而這給定的語言在書寫時不利用這基于羅馬字的字符集。語言文本是與這給定的語言對應的書寫符號。
為便于討論,在基于中文的文字處理器情況中描述文字處理器130,而語言輸入體系結構131被配置成把“拼音”轉換成“漢字”。就是說,語音文本是拼音,而語言文本是漢字。然而,該語言輸入體系結構是獨立于語言的,可以用于其他語言。例如,語音文本可以是口頭日語,而語言文本代表一種日語書寫語言,例如“漢字”(Kanji)。存在許多其他例子,包括,但不限于,阿拉伯語、朝鮮語、印度語、其他亞洲語言等等。
語音文本的輸入是通過一個或多個外圍輸入裝置進行的,例如鼠標110、鍵盤112或送話器120。以這種方式,使用者被允許使用鍵入方式或口說方式輸入語音文本。在口說輸入的情況中,計算機系統可以進一步實現一個語音識別模塊(未畫出)來接收說出的詞并把它們轉換成語音文本。下面的討論假定通過鍵盤112的文本輸入在全尺寸,標準字母數字QWERTY鍵盤上進行。
在語音文本被輸入的過程中,UI 132顯示該語音文本。該UI最好是圖形用戶界面。對UI 132的更詳細討論可在共同待決申請序列號No._中找到,該待決申請題為“語言輸入用戶界面”,被納入這里作為參考。
用戶界面132把語音文本(P)傳送到搜索引擎134,搜索引擎134再把語音文本傳送到打字模型137。打字模型137產生各種打字候選串(TC1,…TCN),它們可能是使用者預想的語音文本的適當的版本,但已知該語音文本可能包括錯誤。打字模型137把具有合理概率的多個打字候選串回送給搜索引擎134,搜索引擎134把這些打字候選串傳送到語言模型136上。語言模型136在正在進行的句子的上下文中評估這些打字候選串并產生以語言文本書寫的各種轉換候選串(CC1,…CCN),它們可能代表使用者預想的語音文本的轉換后的形式。轉換候選串與打字候選串相關聯。
從語音文本到語言文本的轉換不是一對一的轉換。相同或相似的語音文本可能代表語言文本中的若干字符或符號。這樣,在轉換到語言文本之前要解釋語音文本的上下文。另一方面,非語音文本通常將被一對一地直接轉換,其中顯示出的字母數字文本與字母數字輸入相同。
轉換候選串(CC1…CCN)被傳送回搜索引擎134,由它進行統計分析以確定打字和轉換候選串中哪能一個表現出作為使用者預想的那一個的最高概率。一旦計算出概率,搜索引擎134便選擇具有最高概率的候選串并把轉換候選串的語言文本返回到UI 132。然后,UI 132在顯示的同一行中用轉換候選串的語言文本代替其語音文本。與此同時,在該行中繼續(xù)在新插入的語言文本前面顯示新輸入的語音文本。
如果使用者希望改變由搜索引擎134選定的那一個語言文本,則用戶界面132呈現出第一列表,其中以實際被選為預想答案的可能性大小的順序列出其他高概率候選串。如果使用者仍不滿意這些可能的候選串,則UI 132呈現出第二列表,它提供全部可能的選擇。這第二列表可以按概率或其他尺度(如中文字中的筆劃數或復雜性)排序。語言輸入體系結構圖2更詳細地顯示語言輸入體系結構131。體系結構131支持對語言輸入的容錯,包括打字錯誤和轉換錯誤。除了UI 132、搜索引擎134、語言模型136及打字模型135外,體系結構131進一步包括編輯器204和句子上下文模型216。句子上下文模型216與搜索引擎134耦合。
用戶界面132從一個或多個外圍裝置(例如鍵盤、鼠標、送話器)接收輸入文本,如語音文本(例如中文拼音文本)和非語音文本(例如英文),并把輸入文本傳送給編輯器204。編輯器204請求搜索引擎132結合打字模型135和語言模型136把輸入文本轉換成輸出文本,如語言文本(例如中文漢字文本)。編輯器204把輸出文本傳送回UI 132供顯示。
一從用戶界面132收到輸入文本串,搜索引擎134便把該輸入文本串中發(fā)送到一個或多個打字模型135和句子上下文模型216。打字模型135測量輸入文本中打字錯誤的先驗概率。打字模型135產生和輸出用于由使用者輸入的輸入文本的可能打字候選串,有效地設法糾正輸入錯誤(例如打字錯誤)。在一個實現中,打字模型在候選串數據庫210中尋找可能的候選串。在另一個實現中,打字模型135使用基于統計的模型來產生輸入文本的可能候選串。
句子上下文模型216可以任選地把該句子中的任何先前輸入文本發(fā)送到搜索引擎132,以供打字模型135使用。以這種方式,打字模型可以根據新的文本串和該句子中先前輸入的文本串的組合來產生可能的打字候選串。
應該理解,術語“輸入錯誤”、“打字錯誤”和“拼寫錯誤”可以交換使用以表示用鍵盤輸入輸入文本過程中造成的錯誤。在口頭輸入的情況中,這種錯誤可能是由語音輸入的不適當識別造成的。
打字模型135可以返回全部可能的打字候選串,或者刪去有較低概率的可能打字候選串,從而只把有較高概率的可能打字候選串返回給搜索引擎134。還應該理解,由搜索引擎134而不是打字模型135來完成這種刪除功能。
根據本發(fā)明的一個方面,使用真實數據對打字模型135進行訓練,這些真實數據是從數百或數千個訓練者那里收集的,他們被要求輸入一些句子以觀察共同的打字錯誤。將在下文中的“訓練打字模型”標題下更詳細地描述該打字模型及其訓練。
搜索引擎134把打字模型135返回的可能打字候選串列表發(fā)送到語言模型136。簡單化地說,語言模型測量在給定上下文(如短語或句子)內這些詞或文本串的似然性。就是說,語言模型可以取一些項目(詞、字符、字母等)的任何序列并估計該序列的概率。語言模型136把來自搜索引擎134的可能打字候選串與先前的文本結合,產生一個或多個與打字候選串對應的語言文本候選串。
語料庫數據(corpus data)或其他類型數據214用于訓練該三字母組(trigram)語言模型136。訓練語料庫214可以是任何類型的一般數據,如新聞文章等的每日文本,或環(huán)境特定的數據,如針對特定領域(例如醫(yī)學)的文本。訓練語言模型136在文字處理技術領域是已知的,在此不予詳細描述。
語言輸入體系結構131容許在輸入一個輸入文本串過程中造成的錯誤,并試圖返回對于該輸入串的最可能的詞和句。語言模型136幫助打字模型135確定哪個句子對于由使用者輸入的輸入串是最合理的。這兩個模型在統計上可描述為被輸入的文本串S是字典中一個可識別的和有效的詞的概率,或P(w|s)。使用貝葉斯(Bayes)公式,概率P(w|s)被描述為P(w|s)=P(s|w)·P(w)P(s)]]>為了對給定的輸入串比較可能的預想詞,分母P(s)保持相同。于是,分析只關注分子的乘積P(s|w)·P(w),這里概率P(s|w)代表拼寫或打字模型,而概率P(w)代表語言模型。更具體地說,打字模型P(s|w)描述有多大可能一個人想要輸入X但代之以輸入Y;而語言模型P(w)描述對給定的句子上下文有多大可能要產生出一個特定詞。
在把“拼音”轉換成“漢字”的具體情況中,概率P(w|s)可重新表述為P(H|P),這里H代表漢字串,P代表拼音串。目標是找出最可能的中文字H’,從而使P(H|P)達到最大。這樣,概率P(H|P)為輸入的拼音串P是有效漢字串H的似然性。由于P是固定的,因此P(P)對給定的拼音串為常數,貝葉斯公式約簡概率P(H|P),如下所示H’=arg maxHP(H|P)=arg maxHP(P|H)*P(H)概率P(P|H)代表拼寫或打字模型。通常,漢字串H能被進一步分解為多個詞W1,W3,…WM,而概率P(P|H)能被估計為Pr(P|H)∏P(Pf(i)/Wi)這里Pf(i)是與詞Wi對應的拼音字符序列。
在先有技術的基于統計的拼音到漢字轉換系統中,如果Pf(i)是詞Wi的可接受的拼寫,則概率P(Pf(i)|Wi)設為1,如果不是詞Wi的可接受的拼寫,則概率設為0。結果,傳統的系統對任何錯誤輸入的字符不提供容錯。某些系統有“南方混淆發(fā)音”特性來處理這一問題,不過這還是利用了預設概率值1和0。此外,這樣的系統只解決了一小部分打字錯誤,因為它不同由數據驅動的(從真實打字錯誤中學會的)。
與此相對照的是,這里所描述的語言體系結構利用打字模型和語言模型二者進行轉換。打字模型通過從實際語料庫訓練概率P(Pf(i)|Wi)使能對錯誤的輸入字符容錯。有許多建立打字模型的途徑。在理論上,所有可能的P(Pf(i)|Wi)都能被訓練;但在實踐中,存在的參數太多了。為減少需要訓練的參數個數,一種途徑是只考慮單字符詞并把具有等同發(fā)音的所有字符映射到單一音節(jié)。在中文語言中,約有406個音節(jié),所以這在實質上是訓練P(拼音文本|音節(jié)),然后把每個字符映射到它的相應音節(jié)。在下文中的“訓練打字模型”標題下將更詳細地描述這一點。
利用語言體系結構131,計算出大范圍的概率。拼音到漢字轉換的一個目標是找出使概率P(P|H)取最大值的漢字串H。這是通過選擇產生最大概率的Wi作為最佳漢字序列來完成的。在實踐中,可以使用有效的搜索,如眾所周知的Viterbi集束(Viterbi Beam)搜索。為得到關于Viterbi集束搜索的更多信息,讀者可參考Kai-Fu Lee的文章,題為“自動語音識別”,Kluwer Academic Pulishers,1989,以及Chin-Hui Lee,Frank K.Soong,Kuldip K.Paliwal的文章,題為“自動語音和說話者識別—高級論題”,Kluwer Academic Publisher,1996。
概率P(H)代表語言模型,它度量任何給定詞串的先驗概率。構建統計語言模型的通常途徑是利用一個前綴樹狀數據結構從已知的訓練文本集構建一個N字母組語言模型。一個廣泛使用的統計語言模型的例子是N字母組馬爾科夫模型,在“用于語音識別的統計模型”一文中對它進行了描述,作者Frederick Jelinek,MIT出版社,Cambridge,Massachusetts,1997。使用前綴樹數據結構(a.ka.后綴樹,或PAT樹)使一個高級應用程序能快速地遍歷該語言模型,提供上述基本上實時的性能特性。N字母組語言模型對整個文本中的一個串(大小為N)中的特定項目(詞、字符等)發(fā)生的次數進行計數。該計數被用于計算該項目串的使用概率。
語言模型136最好是一個三字母組語言模型(即一個N字母組,這里N=3),不過在一些上下文中二字母組可以是適用的。三字母組語言模型對英文是適用的,對中文也很適合,假設它利用大的訓練語料庫。
三字母組模型考慮文本串中兩個最先前的字符來預測下一個字符,步驟如下(a)利用預先確定的字典把字符(C)分段成單獨的語言文本或詞(W),這里每個W在樹中被映射到一個或多個C;(b)由前兩個詞預測一個詞序列(W1,W2,…WM)的概率P(W1,W2,…WM)≈∏P(Wn|Wn-1,Wn-2) (1)這里P()代表該語言文本的概率;Wn是當前詞Wn-1是前一個詞Wn-2是Wn-1之前的一個詞。
圖3顯示一個輸入文本300的例子,它由使用者輸入并傳送給打字模型135和語言模型136。一收到輸入文本300,打字模型135便以不同的方式對輸入文本300分段,產生可能的打字候選串302的列表,這些候選串考慮了鍵盤輸入過程中造成的打字錯誤。打字候選串302在每個時間幀中有不同的分段,使得前一個詞的結束時間是當前詞的起始時間。例如,候選串302的項上一行把輸入串300“mafangnitryyis…”分段為“ma”,“fan”,“ni”,“try”,“yi”等。打字候選串302的第二行把輸入串“mafangnitryyis…”不同地分段為“ma”,“fang”,“nit”,“yu”,“xia”,等。
這些候選串可存在數據庫或某種其他可訪問的存儲器中。應該理解,圖3只是一個例子,對于該輸入文本可能有不同數量的可能打字候選串。
語言模型136評估該句子上下文中可能打字候選串302的每一段,并產生相應的語言文本。為了便于顯示,可能打字文本302的每一段和相應的可能語言文本被組合到方框中。
搜索引擎134從這些候選串進行統計分析,以確定哪個候選串表現出作為使用者預想串的最高概率。每行中的打字候選串彼此沒有關系,所以搜索引擎可自由地從任何行中選擇不同的段以確定可接受的轉換候選串。在圖3的例子中,搜索引擎已確定被突顯的打字候選串304、306、308、310、312及314表現出最高概率。這些候選串可以從左到右串聯起來,從而使候選串304后面跟隨候選串306,如此等等,以形成對輸入文本300的一個可接受的解釋。
一旦計算出概率,搜索引擎134選擇具有最高概率的候選串。然后,搜索引擎把輸入的語音文本轉換成與選擇選串相關的語言文本。例如,搜索引擎把輸入文本300轉換成方框304、306、308、310、312和314中顯示的語言文本,并經由編輯器204把語言文本返回給用戶界面132。一旦在用戶界面收到標點符號,即新的輸入文本串在一個新的句子中,則打字模型135開始對新句子中的新文本串進行操作。一般性轉換圖4顯示把語音文本(例如拼音)轉換成語言文本(例如漢字)的一般過程400。該過程由語言輸入體系結構131實現,并附帶參考圖2進行描述。
在步驟402,用戶界面132接收由使用者輸入的語音文本串,如拼音。該輸入文本串包含一個或多個打字錯誤。UI 132經由編輯器204把輸入文本傳送到搜索引擎134,搜索引擎134把該輸入文本分配給打字模型135和句子上下文模型216。
在步驟404,打字模型135根據輸入文本產生可能的打字候選串。導出候選串的一種方式是把輸入文本串分段成不同的部分,并在數據庫中尋找與輸入串分段最相象的候選串。例如,在圖3中,候選串302有一個分段,它規(guī)定了可能的分段“ma”,“fan”,等。
可能的打字候選串被返回到搜索引擎134,搜索引擎134再把這些候選串傳遞給語言模型136。語言模型136把可能的打字候選串與先前的文本組合,并產生對應于打字候選串的一個或多個語言文本候選串。例如,參考圖3中的候選串302,語言模型返回方框302中的語言文本作為可能的輸出文本。
在步驟406,搜索引擎134進行統計分析以確定哪個候選串表現出作為使用者預想串的最高概率。一旦為語音文本選定了最可能的打字候選串,搜索引擎便把輸入的語音文本轉換成與打字候選串對應的語言文本。以這種方式,可以消除輸入語音文本過程中由使用者造成的任何輸入錯誤。搜索引擎134經由編輯器204向UI 132返回無錯誤的語言文本。在步驟408,轉換后的語言文本被顯示在屏幕上使用者繼續(xù)輸入語音文本的同一行位置上。訓練打字模型如前面指出的那樣,打字模型135是基于概率P(s|w)。打字模型為不同的打字候選串計算其概率,它們能用于把輸入文本轉換成輸出文本并選擇可能的候選串。以這種方式,打字模型即使在存在打字錯誤的情況下也返回輸入文本的可能打字候選串,由此實現打字模型的容錯。
本發(fā)明的一個方面涉及由實際數據訓練打字模型P(s|w)。該打字模型是在由盡可能多的訓練者(如數百個,最好是數千個)輸入的文本之上被開發(fā)或訓練的。訓練者們輸入相同或不同的訓練數據,而輸入的和訓練的數據之間的任何差別都被抓住作為打字錯誤。其目標是讓他們輸入相同的訓練文本,并根據他們的打字中的錯誤數或打字候選串數來確定概率。以這種方式,打字模型學習訓練者打字錯誤的概率。
圖5顯示一個訓練計算機500,它有處理器502,易失性存儲器504。以及非易失性存儲器506。訓練計算機500運行訓練程序508以從使用者輸入的數據510中產生概率512(即P(s|w))。訓練程序508顯示為在處理器502上執(zhí)行,不過它是從非易失性存儲器506上的存儲器加載到處理器中的。訓練計算機500可以被配置成在數據510的輸入過程中在數據510上進行訓練,或者在它被收集和存儲到存儲器中之后再訓練。
為便于討論,考慮一個為中文語言定制的打字模型,這里中文拼音文本被轉換成中文字文本。在這種情況中,有數千人被邀請輸入拼音文本。最好是,從每個人收集數百個句子,其目標是讓他們在其打字中有類似的錯誤類型和錯誤數量。打字模型被配置成從搜索引擎接收拼音文本,并提供用于代替輸入串中的字符的可能的候選串。
能用各種技術去訓練打字模型135。在一種途徑中,直接通過考慮單個字符文本和把所有等同發(fā)音的字符文本映射到單個音節(jié),來訓練打字模型。例如,在中文拼音中有超過四百個音節(jié)。對于一個給定音節(jié),其語音文本的概率(例如P(拼音文本|音節(jié)))被訓練,然后每個字符文本被映射到它的相應音節(jié)。
圖6顯示音節(jié)映射訓練技術600,在步驟602,訓練程序508讀一個由訓練者輸入的文本串。該文本串可以是一個句子或者詞和/或字符的某種其他組合。程序508把音節(jié)對準或映射到文本串中的相應字母(步驟604)。對于每個文本串,映射到每個音節(jié)的字母頻度被更新(步驟606)。對訓練者們輸入的訓練數據中包含的每個文本串重復這一步驟,如從步驟608中分出的“是”分支所代表的那樣。最終的結果是,輸入的文本串將代表中文拼音中的許多或全部音節(jié)。一旦讀出所有串,如從步驟608中分出的“否”分支所代表的那樣,該訓練程序確定使用者輸入每個音節(jié)的概率P(拼音文本|音節(jié))(步驟610)。在一個實現中,打字概率是由首先規(guī)格化全部音節(jié)來確定的。
每個音節(jié)可以表示為隱式馬爾科夫模型(HMM)。每個輸入鍵可以被看作是映射在HMM中的狀態(tài)序列。正確的輸入和實際的輸入被對準,以確定狀態(tài)之間的轉換概率。不同的HMM能用于模擬不同技術水平的打字者。
為訓練中文中的全部406個音節(jié),需要大量數據。為減小這一數據需求,在不同音節(jié)中的相同字母被連系起來作為一個狀態(tài)。這把狀態(tài)數減至27個(即從“a”到“z”26個字母,加上一個狀態(tài)代表一個未知字母)。這一模型能被集成到利用一個三字母組語言模型的Viterbi集束搜索。
在另一種訓練技術中,訓練是基于單個字母編輯的概率,例如一個字母的插入(即φ→x)、一個字母的刪除(即x→φ),以及一個字母代替另一個字母(x→y)。這種單個字母編輯的概率在統計上能表示為
替代P(x由y替代)插入P(x插在y之前/之后)刪除P(在y之前/之后的x被刪除)每個概率(P)實質上是一個二字母組打字模型,但也能擴展為N字母組打字模型,它考慮相鄰字符外的廣得多的文本上下文。于是,對于任何可能的輸入文本串,該打字模型有一個產生每個可能字母序列的概率——其作法是首先提供正確的字母序列,然后使用動態(tài)編程確定最低代價路徑,以把這正確的字母序列轉換成給定的字母序列。代價可確定為最小數量的錯誤字符,或某種其他度量。在實踐中,這一錯誤模型能作為Viterbi集束搜索方法的一部分來實現。
應該理解,在本發(fā)明范圍內,除了打字錯誤或拼寫錯誤外,任何其他類型的錯誤也能被訓練。還有,應該理解,能使用不同的訓練技術來訓練打字模型而不離開本發(fā)明的范圍。無模式輸入的多語種訓練困擾語言輸入系統的另一個令人煩惱的問題是當輸入兩種或更多種語言時需要在各模式之間切換。例如,在以中文打字的使用者可能希望輸入英文詞。傳統的輸入系統要求使用者在輸入英文詞和中文詞之間切換模式。不幸的是,使用者們容易忘記進行切換。
語言輸入體系結構131(圖1)能被訓練為接受混合的語言輸入,因此消除了在多語種文字處理系統中在兩種或更多種語言之間的模式轉換。這稱為“無模式輸入”。
該語言輸入體系結構實現一個拼寫/打字模型,它自動區(qū)分不同語言的詞,如辨別哪個詞是中文,哪個詞是英文。這是不容易的,因為許多合法的英文詞也是合法的拼音串。此外,由于在拼音、英文和中文字之間沒有空格,在輸入時能產生更多的混淆。使用貝葉斯規(guī)則H’=arg maxHP(H|P)=arg maxHP(P|H)*P(H)目標函數可以用兩部分來表征一個用于英文的拼寫模型P(P|H)和一個用于中文的語言模型P(H)。
處理混合語言輸入的一種方式是把來自第二種語言(例如英文)的詞看作第一種語言的一個特殊類別,由此來訓練用于第一種語言的語言模型。例如,來自第二種語言的詞被看作第一種語言中的單個詞。
作為舉例,假定基于中文的文字處理系統使用英文鍵盤作為輸入裝置。在這個基于中文的文字處理系統中利用的打字模型是在混有英文詞和中文詞的文本上進行訓練的中文語言模型。
處理混合語言輸入的第二種方式是在該語言輸入體系結構中實現兩種打字模型,即一個中文打字模型和一個英文打字模型,并對每個模型單獨進行訓練。就是說,中文打字模型是通過訓練者按上述方式輸入鍵盤輸入流(如語音串)進行訓練的,而英文打字模型是在說英語的訓練者輸入的英文文體上被訓練的。
英文打字模型可以實現為下列的組合1.在中文語言文本中插入的實際英文上受過訓練的單字母組語言模型。這個模型能處理許多頻繁使用的英文詞,但不能預測未見過的英文詞。
2.三音節(jié)概率的英文拼寫模型。這一模型對于每個三音節(jié)序列應有非零概率,但對于象是英文的詞產生較高的概率。這也能由真正英語詞進行訓練,并能處理未見過的英文詞。
這些英文模型一般為英文文本返回很高的概率,為看來象英文文本的字母串返回高概率,而為非英文文本返回低概率。
圖7顯示的語言輸入體系結構700是從圖2中的體系結構131修改而成的,它利用多個打字模型135(1)-135(N)。每個打字模型被配置成用于一種特定語言。每個打字模型135使用對該特定語言有共同性的詞和錯誤進行單獨訓練。于是,單獨的訓練數據212(1)-212(N)被提供給相應的打字模型135(1)-135(N)。在該示例情況中,只使用了兩種打字模型一種用于英文,一種用于中文。然而,應該理解,該語言輸入體系結構可被修改成包括多于兩種打字模型以適應于多于兩種語言的輸入。還應該指出,該語言輸入體系結構可以用于許多其他類型的多語種文字處理系統,如日文、朝鮮文、法文、德文等。
在該語言輸入體系結構的操作過程中,英文打字模型與中文打字模型平行操作。這兩種打字模型彼此競爭,通過計算被輸入文本串可能是中文串(包括錯誤)的概率或可能是英文串(也潛在地包括錯誤)的概率,辨別輸入文本是英文或是中文。
當輸入文本串或序列清楚地是中文拼音文本時,中文打字模型返回一個比英文打字模型高得多的概率。這樣,語言輸入體系結構把輸入的拼音文本轉換成漢字文本。當一個輸入文本串或序列清楚地是英文(例如姓,縮寫(“IEEE”),公司名(“Microsoft”)、技術術語(“INTERNET”)等)時,英文打字模型表現出比中文打字模型高得多的概率。因此,該體系結構基于英文打字模型把這個輸入文本轉換成英文文本。
當一個輸入文本串或序列是含混的情況時,中文和英文打字模型繼續(xù)計算概率直至進一步的上下文提供更多的信息來區(qū)分中文和英文。當輸入文本串或序列既不象中文也不象英文時,中文打字模型的容錯弱于英文打字模型。結果,英文打字模型比中文打字模型有更高的概率。
為說明多語言轉換,假定使用者輸入一個文本串“woaiduinternetzazhi”,它的意思是“我愛讀INTERNET雜志”。收到開頭的串“woaidu”,中文打字模型產生的概率高于英文打字模型,并把這部分輸入文本轉換成“我愛讀”。該體系結構繼續(xù)發(fā)現接下來輸入的部分“interne”是含混不清的,直至字母“t”被輸入。在這時,英文打字模型為“INTERNET”返回一個高于中文打字模型的概率,于是語言輸入體系結構把這一部分輸入文本轉換成“INTERNET”。接下來,對于“zazhi”,中文打字模型表現出高于英文打字模型的概率,于是該語言輸入體系結構把那部分輸入文本轉換成“雜志”。多語言輸入轉換圖8顯示過程800,該過程把輸入的帶有打字錯誤的多語種輸入文本串轉換成沒有錯誤的多語種輸出文本串。該過程是語言輸入體系結構700實現的,這里補充參考圖7描述該過程。
在步驟802,用戶界面132接收多語種輸入文本串。它包含語音詞(例如拼音)和至少一種其他語言(例如英文)的詞。該輸入文本還可能包括使用者輸入語音詞和第二種語言詞時造成的打字錯誤。UI 132經由編輯器204,把該多語種輸入文本串傳送到搜索引擎134,搜索引擎134把輸入文本分配給打字模型135(1)-135(N),以及句子上下文模型216。
每個打字模型根據輸入文本產生可能的打字候選串,如步驟804(1)-804(N)代表的那樣。在步驟806,具有合理概率的可能的打字候選串被返回到搜索引擎134。在步驟808,搜索引擎134向語言模型136發(fā)送帶有打字概率的打字候選串。在步驟810,該語言模型把可能的打字候選串與先前文本結合,以提供基于句子的上下文,并通過選擇一個穿過打字候選串的路徑產生與打字候選串對應的語言文本的一個或多個轉換候選串,如上文針對圖3描述的那樣。在步驟812,搜索引擎134進行統計分析,以選擇具有作為使用者預想串的最高概率的轉換候選串。
在步驟814,該文本串的最可能的轉換候選串被轉換成輸出文本串。輸出文本串包括語言文本(例如漢字)和第二種語言(例如英文),但去掉了打字錯誤。搜索引擎134經由編輯器204把無錯誤的輸出文本返回到UI 132。在步驟816,轉換后的語言文本被顯示在UI 132上使用者繼續(xù)輸入語音文本的同一行的位置上。
在上述例子中,中文語言是主要語言,英文是輔助語言。應該理解,這兩種語言能都被指定為主要語言。再有,可由多于兩種的語言構成混合輸入文本串。結論雖然上文的描述所使用的語言是針對結構特性和/或方法性操作活動的,但應該理解,在所附權利要求中定義的本發(fā)明并不限于所描述的特定特性或操作。相反,這些特定的特性和操作是作為實現本發(fā)明的示例形式公開的。
權利要求
1.一種方法,包含使使用者能輸入包含至少第一和第二語言的輸入串而無需切換輸入模式;以及把輸入串轉換成含有該第一和第二語言的輸出串。
2.如權利要求1中敘述的方法,其中第一語言是主要語言,而第二語言是不如主要語言使用頻繁的輔助語言。
3.如權利要求1中敘述的方法,其中轉換包含對輸入串應用一個拼寫模型以取得糾正了輸入串中拼寫錯誤的輸出串。
4.如權利要求1中敘述的方法,其中轉換包含對輸入串應用一個語言模型。
5.一種方法,包含使使用者能輸入語音文本和非語音文本作為共同的輸入串而無需切換模式;以及把語音文本轉換成相應的語言文本,而保持非語音文本不被轉換。
6.如權利要求5中敘述的方法,其中語音文本是中文“拼音”。
7.如權利要求5中敘述的方法,其中轉換包含對輸入串應用一個拼寫模型以取得糾正了輸入串中拼寫錯誤的輸出串。
8.權利要求5中敘述的方法,其中轉換包含對輸入串應用一個語言模型。
9.一種方法,包含接收包含至少第一和第二語言的輸入串,以及根據一個概率確定第一語言中的可能用于代替輸入串的至少一個候選串,該概率表示該第一候選串有多大可能被錯誤地輸入為該第一語言中的輸入串。
10.如權利要求9中敘述的方法,進一步包含有選擇地進行以下二者之一(1)把輸入串轉換為第一語言的候選串,或(2)保留輸入串使用第二語言。
11.如權利要求9中敘述的方法,其中第一語言是主要語言,而第二語言是不如主要語言使用頻繁的輔助語言。
12.如權利要求9中敘述的方法,其中第一語言輸入串包含語音文本,而第二語言輸入串包含非語音文本。
13.如權利要求9中敘述的方法,其中第一語言是中文,而第二語言是英文。
14.一種方法,包含接收包含至少第一和第二語言的輸入串;根據一個第一概率確定至少一個可能用于代替輸入串的第一候選串,該第一概率表示該第一候選串有多大可能被不正確地輸入作為第一語言中的輸入串;根據一個第二概率確定至少一個可能用于代替輸入串的第二候選串,該第二概率表示該第二候選串有多大可能被不正確地輸入作為第二語言中的輸入串;如果第一概率高于第二概率,則使用第一候選串得到包含第一語言的至少一個輸出串;以及如果第一概率低于第二概率,則使用第二候選串得到包含第二語言的至少一個輸出串。
15.如權利要求14中敘述的方法,其中第一語言是主要語言,而第二語言是不如第一語言使用頻繁的輔助語言。
16.如權利要求14中敘述的方法,其中第一語言輸入串包含語音文本,而第二語言輸入串包含非語音文本。
17.如權利要求14中敘述的方法,其中第一語言是中文,而第二語言是英文。
18.如權利要求14中敘述的方法,其中輸入串是中文拼音和英文的組合,而輸出串是中文漢字和英文的組合。
19.如權利要求14中敘述的方法,進一步包含從一個數據庫中得到第一和第二候選串。
20.如權利要求14中敘述的方法,進一步包含從輸入一個第一語言訓練文本的多個使用者中收集的數據中得到該第一概率,它是第一候選串被不正確地輸入作為該語音串的概率;以及從輸入一個第二語言訓練文本的多個使用者中收集的數據中得到該第二概率,它是第二候選串被不正確地輸入作為該語音串的概率。
21.如權利要求14中敘述的方法,進一步包含在與使用者輸入的輸入串同一行中顯示該輸出串。
22.具有計算機可執(zhí)行指令的一種或多種計算機可讀介質,當這些指令在處理器上執(zhí)行時指示一個計算機去完成權利要求14中敘述的方法。
23.一種方法,包含允許輸入含有至少第一和第二語言的輸入串而無需為輸入第一和第二語言而切換模式;根據概率確定可能用于代替輸入串的至少是第一和第二語言之一的可能候選串,這些概率表明每個候選串有多大可能被不正確地輸入作為輸入串;根據這些概率有選擇地進行以下二者之一(1)把輸入串轉換成第一語言輸出串并輸出該輸出串,或(2)輸出第二語言的輸入串。
24.如權利要求23中敘述的方法,進一步包含在單一編輯行中顯示含有第一和第二語言的輸入串;以及在該單一編輯行中有選擇地顯示輸出串或輸入串。
25.如權利要求23中敘述的方法,其中第一語言是中文,而第二語言是不同于中文的某種語言。
26.一種語言輸入體系結構,包含一個用戶界面,它使使用者能輸入包含至少第一和第二語言的輸入串而無需切換輸入模式;以及一個轉換器,用于把輸入串轉換成含有該第一和第二語言的輸出串。
27.如權利要求26中敘述的語言輸入體系結構,這里第一語言是主要語言,而第二語言是不如主要語言使用頻繁的輔助語言。
28.如權利要求26中敘述的語言輸入體系結構,其中轉換器包含一個拼寫模型以改正輸入串中的拼寫錯誤。
29.如權利要求26中敘述的語言輸入體系結構,其中轉換器包含一個語言模型以在周圍串的上下文內分析該輸入串。
30.如權利要求26中敘述的語言輸入體系結構,其中轉換器包含一個打字模型,以根據打字錯誤概率產生可用于代替輸入串的可能打字候選串列表,這些打字錯誤概率表明每個候選串有多大可能被不正確地輸入作為輸入串;以及一個語言模型,為每個打字候選串提供輸出串。
31.一種語言輸入體系結構,包含一個打字模型,以接收輸入串并確定打字錯誤概率,該概率表明一個第一候選串有多大可能被不正確地輸入作為輸入串,該打字模型被以第一語言訓練;以及一個語言模型,為每個打字候選串提供輸出串,該語言模型被以第二語言訓練。
32.如權利要求31中敘述的語言輸入體系結構,其中第一語言是主要語言,而第二語言是不如主要語言使用頻繁的輔助語言。
33.一種語言輸入體系結構,包含第一打字模型,以接收輸入串并確定第一打字錯誤概率,該概率表明一個第一候選串有多大可能被不正確地輸入作為輸入串;第二打字模型,以接收輸入串并確定第二打字錯誤概率,該概率表明一個第二候選串有多大可能被不正確地輸入作為輸入串;以及一個搜索引擎,以從第一和第二候選串中選出具有最高打字錯誤概率的一個候選串。
34.如權利要求33中敘述的語言輸入體系結構,其中第一打字模型使用第一語言進行訓練,第二打字模型使用第二語言進行訓練。
35.如權利要求33中敘述的語言輸入體系結構,其中第一打字模型使用輸入串包含語音文本和非語音文本,第一打字模型是對語音文本接受訓練的,而第二打字模型是對非語音文本接受訓練的。
36.如權利要求33中敘述的語言輸入體系結構,其中第一打字模型使用第一打字模型是用中文訓練的,而第二打字模型是用英文訓練的。
37.如權利要求33中敘述的語言輸入體系結構,其中輸入串包含拼音和英文,而第一打字模型是對拼音接受訓練的,第二打字模型是對英文接受訓練的。
38.如權利要求33中敘述的語言輸入體系結構,進一步包含一個語言模型來為選出的打字候選串提供輸出串。
39.如權利要求38中敘述的語言輸入體系結構,其中搜索引擎把輸入串轉換成輸出串。
40.如權利要求38中敘述的語言輸入體系結構,進一步包含一個用戶界面以接收輸入串并在一個共同的編輯行中顯示輸出串。
41.在一個計算機可讀介質上實施的文字處理器,包含如權利要求33中敘述的語言輸入體系結構。
42.一種語言輸入體系結構,包含一個用戶界面,以接收由語音文本和非語音文本組合寫成的輸入串;第一打字模型,以根據打字錯誤概率產生由語音文本寫成的可能代替輸入串的可能的第一打字候選串,這些打字錯誤概率表明每個第一候選串有多大可能被不正確地輸入作為輸入串;第二打字模型,以根據打字錯誤概率產生由非語音文本寫成的可以代替輸入串的可能的第二打字候選串,這些打字錯誤概率表明每個第二候選串有多大可能被不正確地輸入作為輸入串;一個語言模型,用于為用語音言語本寫成的第一打字候選串提供以語言文本寫成的可能的轉換串;以及一個搜索引擎,被配置成有選擇地(1)把輸入串轉換成那些轉換串之一,從而使語音文本由語言文本代替;或(2)輸出那些第二候選串之一,從而使非語音文本保持不轉換。
43.根據權利要求42中敘述的語言輸入體系結構,其中當第一概率高于第二概率時,搜索引擎把輸入串轉換成那些轉換串之一。
44.根據權利要求42中敘述的語言輸入體系結構,其中第一概率低于第二概率時,搜索引擎輸出那些第二候選串之一。
45.根據權利要求42中敘述的語言輸入體系結構,其中該語音文本是第一語言,而非語音文本是第二語言。
46.根據權利要求42中敘述的語言輸入體系結構,其中該語音文本是拼音,而非語音文本是英文。
47.一個或多個具有計算機可執(zhí)行指令的計算機可讀介質,當在處理器上執(zhí)行這些指令時,指示計算機做
48.一個或多個具有計算機可執(zhí)行指令的計算機可讀介質,當在處理器上執(zhí)行這些指令時,指示計算機使使用者能輸入語音文本和非語音文本作為共同的輸入串,而無需切換輸入模式;以及把語音文本轉換成相應的語言文本,而保持非語音文本不被轉換。
49.一個或多個具有計算機可執(zhí)行指令的計算機可讀介質,當在處理器上執(zhí)行這些指令時,指示計算機允許輸入含有至少第一和第二語言的輸入串而無需為輸入第一和第二語言而切換模式;根據概率確定可能用于代替輸入串的至少是第一和第二語言之一的可能候選串,這些概率表明每個候選串有多大可能被不正確地輸入作為輸入串;根據這些概率有選擇地進行以下二者之一(1)把輸入串轉換成第一語言輸出串并輸出該輸出串,或(2)輸出第二語言的輸入串。
50.一個或多個具有計算機可執(zhí)行指令的計算機可讀介質,當在處理器上執(zhí)行這些指令時,指示計算機接收包含語音文本和非語音文本的輸入串;根據一個第一概率確定可能用于代替輸入串的用語音文本寫成的至少一個第一候選串,該第一概率表示該第一候選串有多大可能被不正確地輸入作為輸入串;根據一個第二概率確定可能用于代替輸入串的用非語音文本寫成的至少一個第二候選串,該第二概率表示該第二候選串有多大可能被不正確地輸入作為輸入串;使以語言文本寫成的可能的轉換串與以語音文本寫成的第一打字候選串關聯;如果第一概率高于第二概率,則把輸入串轉換成與第一候選串關聯的轉換串,從而使語音文本轉換成語言文本;以及如果第一概率低于第二概率,則輸出第二候選串,從而使非語音文本保持不被轉換。
全文摘要
一種語言輸入體系結構把語音文本(例如中文拼音)輸入串轉換成語言文本(例如中文漢字)輸出串,其轉換方式使打字錯誤和從語音文本到語言文本轉換過程中發(fā)生的轉換錯誤達到最少。該語言輸入體系結構有搜索引擎、一個或多個打字模型、一個語言模型、以及一個或多個用于不同語言的字典。每個打字模型在真實數據上受訓練并學習打字錯誤概率。該打字模型被配置成根據概率產生可能用于代替輸入串的可能打字候選串列表,這些概率表明有多大可能每個候選串被不正確地輸入作為輸入串。這些可能的打字候選串可以存儲在數據庫中。該語言模型根據概率為每個打字候選串提供可能的轉換串,這些概率表明一個可能的轉換輸出串有多大可能代表該候選串。搜索引擎把打字模型和語言模型的概率結合,以找出代表輸入串轉換后形式的最可能的轉換串。通過產生打字候選串,然后使用相關聯的轉換串去代替輸入串,該體系結構可消除許多普遍性的打字錯誤。當利用多個打字模型時,該體系結構能自動地區(qū)分多種語言,無需為輸入多種語言而進行模式切換。
文檔編號G06F17/22GK1384940SQ00814906
公開日2002年12月11日 申請日期2000年10月13日 優(yōu)先權日1999年11月5日
發(fā)明者李凱夫, 陳征, 韓建 申請人:微軟公司
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
吴堡县| 苍溪县| 金秀| 东城区| 扶绥县| 望奎县| 丹棱县| 张家港市| 樟树市| 绍兴市| 沾化县| 民丰县| 疏勒县| 苍南县| 焉耆| 昭平县| 孝昌县| 庆安县| 泌阳县| 临夏县| 绍兴县| 大庆市| 宁国市| 慈利县| 封开县| 石棉县| 宁远县| 娱乐| 鄂托克旗| 北京市| 蓬莱市| 连平县| 房产| 桃源县| 上饶县| 潼南县| 南宁市| 舒兰市| 张家川| 桂平市| 两当县|