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

簡化鍵盤多義性消除系統(tǒng)的制作方法

文檔序號:6611269閱讀:211來源:國知局

專利名稱::簡化鍵盤多義性消除系統(tǒng)的制作方法
技術(shù)領(lǐng)域
:本發(fā)明一般涉及簡化鍵盤系統(tǒng),并且更具體涉及利用單詞級多義性消除來解決多義性鍵擊的簡化鍵盤系統(tǒng)。
背景技術(shù)
:多年來,便攜式計算機變得越來越小。在生產(chǎn)更小的便攜式計算機的嘗試中限制尺寸的主要部件一直是鍵盤。如采用標準打字機尺寸的操作鍵,則便攜式計算機一定得至少與鍵盤一般大。在便攜式計算機上一直使用小型鍵盤,不過小型鍵盤的操作鍵太小,用戶操作不便,速度也慢。在便攜式計算機中采用全尺寸鍵盤也會阻礙計算機真正用作便攜式計算機。多數(shù)便攜式計算機不放置于平整的工作表面上使用戶能夠雙手打字就無法使用。用戶站立或移動時也不易使用便攜式計算機。在稱為個人數(shù)字助理(PDA)的最新一代的小型便攜式計算機中各公司企圖通過在PDA中采用手寫識別軟件解決這個問題。用戶可直接在觸敏板或觸敏屏上書寫來輸入文本。之后利用識別軟件將這種手寫文本轉(zhuǎn)換為數(shù)字數(shù)據(jù)。很不幸,除了一般用筆書寫比打字慢以外,手寫識別軟件的精確性和速度至今遠不能令人滿意。更壞的是如今的要求輸入文本的手持計算裝置還在越變越小。在雙向?qū)ず?,手機及其他便攜無線技術(shù)中的最新進步要求小型便攜式雙向信息系統(tǒng),并且特別是要求可收發(fā)電子函件("e-mail")的系統(tǒng)。因此,如果開發(fā)一種鍵盤使用戶能夠在用一只手拿著小型計算機的同時使用另一只手操作向其中輸入文本將是很有益處的。現(xiàn)有的開發(fā)工作一直考慮采用減少鍵數(shù)的鍵盤。正如按鍵式電話機的鍵座布局所建議的,很多簡化鍵盤采用3x4陣列的排鍵方式。按鍵陣列中的每一個鍵包含多個字符。于是在用戶輸入一個按鍵序列時就會出現(xiàn)多義性,因為每一個按鍵科代表數(shù)個字母。曾經(jīng)提出過數(shù)種方案欲解決鍵擊序列的多義性問題。提出的一種無多義性指定簡化鍵盤輸入字符的方案要求用戶以兩次以上鍵擊來指定每個字母。鍵擊可以同時輸入(聯(lián)合鍵擊)或順序輸入(多次鍵擊指定)。無論是聯(lián)合鍵擊還是多次鍵擊指定都產(chǎn)生了一種足夠簡單并且使用有效的鍵盤。多次鍵擊指定效率低,而聯(lián)合鍵擊復(fù)雜,不便記憶和使用。提出的另外一種判斷對應(yīng)于多義性鍵擊序列的正確字符序列的方案總結(jié)于下面的文章中篇名為"ProbabilisticCharacterDisambiguationforReducedkeyboardUsingSmallTextSamples",著者為JohnL.Arnott及MuhammadY.Javad,發(fā)表在JournaloftheInternationalSocietyforAugmentativeandAlternativeCommunication中(以下稱之為"Arnott—文,,)。Arnott—文指出大多數(shù)多義性消除方案應(yīng)用相關(guān)語言中字符序列的公知統(tǒng)計數(shù)據(jù)來解決給定文境中的字符多義性。即現(xiàn)存的多義性消除系統(tǒng)是從統(tǒng)計上分析用戶輸入的多義性鍵擊組合以求判斷鍵擊的恰當解釋。Arnott—文還指出,有幾種多義性消除系統(tǒng)企圖使用單詞級多義性消除來解碼由簡化鍵盤輸入的文本。單詞級多義性消除是通過在接收到一個表示單詞結(jié)束的無多義性字符之后將所接收到的鍵擊序列與字典中的可能匹配進行比較而進行多義性消除。Arnott的文章討論了單詞級多義性消除的很多缺點。例如,經(jīng)常不能正確地解碼單詞,因為在辨識非常見單詞受到限制,并且無能力解碼字典中未包含的單詞。由于解碼的限制,單詞級多義性消除不能以一鍵一字符的效率對無限制英文文本產(chǎn)生無錯誤解碼。因此,Arnott—文的重點放在字符級多義性消除,而不是單詞級多義性消除,并指^字符級多義性消除似乎是最有希望的多義性消除技術(shù)。一種建議的基于單詞級的多義性消除的方案公開在標題為"PrinciplesofComputerSpeech"的一本教科書中,著者是I.H.Witten,出版者為AcademicPress(1982)(以下稱之為"Witten方案")。Witten討論的是一種減小利用電話按鍵鍵座輸入的文本多義性的系統(tǒng)。Witten承認對于一本24500個單詞的字典中的大約92%的單詞在將鍵擊序列與字典進行比較時不會出現(xiàn)多義性。然而,WiUen指出,當多義性的確出現(xiàn)時,多義性必須由系統(tǒng)將多義性提決。因此,用戶必須對系統(tǒng)在每一個單詞末尾的預(yù)測做出反應(yīng)。這種反應(yīng)降低系統(tǒng)的效率并增加為瑜入給定的文本段所需鍵擊數(shù)。已經(jīng)投入很大的努力來減少輸入文本段所需要的鍵擊的數(shù)目以求達到為了使多義性消除鍵盤可被接受用于便攜式計算機的必需效率。單詞級多義性消除的任何應(yīng)用面對的最大挑戰(zhàn)是能否成功地將其應(yīng)用于對其應(yīng)用最為有利的各種硬件平臺上。如上所述,此類裝置包括雙向?qū)ず?,手機及其他手持無線通訊裝置。這些系統(tǒng)使用電池作為電源,因此其硬件設(shè)計和資源利用都盡可能節(jié)約。設(shè)計為在此種系統(tǒng)上運行的應(yīng)用程序必須將處理器帶寬的使用及存儲器要求減小到最低。這兩個因素的關(guān)系一般是相反的。因為單詞級多義性消除系統(tǒng)要求有很大的單詞數(shù)據(jù)庫運行,并且必須能迅速對輸入的鍵擊發(fā)出反應(yīng)并提供令人滿意的用戶界面。另外一個挑戰(zhàn)是壓縮所需數(shù)據(jù)庫而不致嚴重影響利用數(shù)^庫所需的處理時間。單詞級多義性消除應(yīng)用面對的另一個挑戰(zhàn)是要向用戶提供有關(guān)輸入的鍵擊的足夠的反饋。在使用普通的打字機或字處理器時每個鍵擊都代表一個可以在輸入后盡快向用戶顯示的唯一字符。可是在單詞級多義性消除中這一點經(jīng)常是不可能做到的,因為每個鍵擊代表多個字符,并且任何鍵擊序列都可能與多個單詞或單詞詞干匹配。特別是在用戶拼寫或鍵擊出錯時這就更加成為問題,因為用戶沒有把握判斷是否出錯,必須一直等到整個鍵擊序列輸入完畢而所要求的單詞未出現(xiàn)才知道。針對上述挑戰(zhàn)的單詞級多義性消除系統(tǒng)公開在PCT申請PCT/US96/12291中,標題為"ReducedDisambiguatingSystem",發(fā)表日期為2月13日,是作為InternationalPublication(國際出版物)No.WO97/05541(以下稱之為WO97/05541出版物)。公開在W097/05541中的系統(tǒng)包含一個鍵盤,其中多個字母和符號被賦予至少幾個鍵;一個存儲器,存儲一個或多個詞匯模塊;一個顯示器,其中呈現(xiàn)系統(tǒng)文本輸出;及一個處理器,有效連接到鍵盤、存儲器和顯示器。單詞和單詞詞干(對應(yīng)于一個單詞的開始的字母序列)被使用含有多個互聯(lián)節(jié)點的樹形結(jié)構(gòu)存儲在詞匯模塊中。在公開于此WO97/05541中的單詞級多義性消除系統(tǒng)工作期間,當用戶輸入一個鍵擊序列時,系統(tǒng)處理器訪問系統(tǒng)存儲器以構(gòu)造于輸入的鍵擊序列相對應(yīng)的單詞和單詞詞干。特別是每個輸入的鍵擊序列對應(yīng)詞匯模塊樹形結(jié)構(gòu)的一個節(jié)點,該節(jié)點反過來又對應(yīng)一個單詞或單詞詞干。當輸入附加鍵時,系統(tǒng)處理器通過將一組與先行的鍵擊序列(即不包含最后鍵擊的鍵擊序列)相關(guān)聯(lián)的單詞和/或單詞詞干結(jié)合而形成新的一組一個或多個單詞和/或單詞詞干。在存儲器樹形結(jié)構(gòu)的環(huán)境下,一組一個爲多個單詞詞干和/或候補單詞是通過訪問與樹結(jié)構(gòu)的節(jié)點相關(guān)聯(lián)的單詞和/或單詞詞干而派生的,這些節(jié)點與代表先行鍵擊序列,并且,另外,還代表對應(yīng)于整個鍵擊序列的可能的單詞詞千和單詞的節(jié)點互相連接。根據(jù)公開在W097/05541中的裝置,單詞和單詞詞干是根據(jù)與被顯示的單詞和單詞詞干相關(guān)聯(lián)的頻率顯示于系統(tǒng)顯示裝置上。當候補單詞列表顯示時,系統(tǒng)用戶操作指定的鍵盤鍵來選擇所要求的候補單詞。
發(fā)明內(nèi)容本發(fā)明提供一個利用單詞級多義性消除來解決鍵擊中的多義性的簡化鍵盤。在一個實施例中,系統(tǒng)包含一個觸敏顯示板,其中與顯示器表面接觸可對系統(tǒng)生成對>于接觸地點的輸入信號。另一種代替方式是鍵盤可采用全尺寸的機械鍵。在一個優(yōu)選實施例中,9個符號和字母鍵被分組成3x3陣列,另帶3至6個附加的特殊功能鍵。某些鍵被賦予多個字母和符號,結(jié)果這些鍵(下面稱之為"數(shù)據(jù)鍵")的鍵擊是有多義性的。用戶可輸入一個其中每一個鍵擊對應(yīng)于單詞中的一個字母的鍵序列。因為單個鍵擊有多義性,所以鍵擊序列潛在地具有以同樣數(shù)目的字母與一個以上的單詞相匹配的能力。鍵擊序列由將此序列與相應(yīng)的存儲單詞或其他解釋進行匹配的詞匯模塊實施處理。在接收到每一鍵擊時在顯示器上以選擇列表的形式將與鍵擊序列匹配的單詞及單詞詞干提供給用戶。根據(jù)本發(fā)明的一個方面,鍵中有一個被賦予多個標點字符。在一個優(yōu)選實施例中,句點".",短劃"-",和撇號","賦予一個鍵。用戶可在需要加入標點的地方通過一次激活一個鍵打入該鍵上的字符。因為多個標點字符賦予了一個鍵,所以該鍵擊有多義性。本發(fā)明的系統(tǒng)可從前后的鍵擊判斷要打入的是哪一個標點并自動生成該標點。此鍵擊序列的替代解釋也可以選擇列表的形式提供給用戶。最好是單詞的解釋以使用頻率遞減的順序列出,最常用的單詞列在第一個。在選擇列表中的項目T通過按下一次或多次"選擇"鍵而選定??赏ㄟ^按下"退格"鍵"取消"鍵擊。用戶可通過按下"選擇"鍵來限定輸入的鍵擊序列。在接收到"選擇"鍵之后,多義性消除系統(tǒng)選擇最常用的單詞并將此單詞添加到正在構(gòu)造的句子中。"選擇"鍵是用來限制輸入的鍵擊序列。單獨的顯示"空格"鍵是用來生成空格字符,也用來限制輸入的鍵擊序列。在一個優(yōu)選實施例中,"選擇"鍵還"額外負擔"第二種功能,該功能為該"選擇"鍵還在所選擇的單詞的后面生成一個空格,即簡化鍵盤多義性消除系統(tǒng)自動奉羊詞中間插入一個合適的空格。"選擇"鍵還用來從提供給用戶的選擇列表中選擇不大常用的單詞。如在提供給用戶的選擇列表的頂端的單詞不是所要求的單詞,用戶可再一次按下"選擇"鍵從第一最常用單詞移到第二個最常用的單詞,以及再一次移到到第三個最常用的單詞,依此類推。簡化鍵盤多義性消除系統(tǒng)的此實施例沒有在條目被選擇時可作用于條目的專用"執(zhí)行"鍵或"接受"鍵。一旦用戶選定一個單詞,則在接收到下一個符號或字符鍵擊時,該單詞就自動地被"接受"輸入并添加到正在組合的句子。用來進行鍵擊多義性消除的語言學數(shù)據(jù)庫包含容許系統(tǒng)將下面的單詞或單詞詞干對象作為第一對象提出的信息,該單詞或單詞詞干對象,雖然不是與對應(yīng)于此當前鍵擊序列的節(jié)點相關(guān)的最常用的單詞,卻形成一個更長單詞或總頻率大于與當前節(jié)點相關(guān)的最常用的單詞的頻率的多個單詞的詞干。此"詞干提升(stempromotion)"特點特別適用于顯示器面積有限的系統(tǒng),因為選擇列表實際上不能顯示于屏幕上,用戶在屏幕上只能看到在插入點處顯示的作為選擇列表上第一個對象的單詞。結(jié)果該對象作為一個整體而言在從一個鍵擊到另一個鍵擊時其變化不太頻繁,界面不大"跳動"并因而不大令人分心和迷惑。對象,如單詞和單詞詞干,是存儲于使用樹形數(shù)據(jù)結(jié)構(gòu)的詞匯模塊中。在此安排中,與具體鍵擊序列相對應(yīng)的單詞是利用與緊前方的鍵擊序列(即缺少最后鍵擊的具體鍵擊序列)相關(guān)聯(lián)的一組單詞或單詞詞干構(gòu)造而成的。以這種方式構(gòu)造單詞可減少詞匯模塊的存儲空間,因為單詞詞干只存儲一次,在樹形結(jié)構(gòu)的頂端,并且為利用它們構(gòu)造的所有的單詞共享。樹形結(jié)構(gòu)也可大大減少處理要求,因為無須通過檢索來定位所存儲的對象。存儲于樹形數(shù)據(jù)結(jié)構(gòu)中的單詞或單詞詞干可包含頻率或其他指示將哪一個項目第一個提供給用戶的排順信息,從而可進一步減少處理要求。在本發(fā)明的實踐中,此樹形數(shù)據(jù)結(jié)構(gòu)要利用專門的算法進行改造以便進一步壓縮數(shù)據(jù)庫所需的總?cè)萘慷植粫诶闷溥M行檢索與鍵擊序列相關(guān)聯(lián)的對象時造成額外的處理負擔。經(jīng)過改造的樹形結(jié)構(gòu)的另外一個方面是可自動認定用于將對象與鍵擊序列才目聯(lián)系的通用化規(guī)則。利用此種規(guī)則,詞匯模塊可以以很高的成功幾率將鍵擊序列與起初生成該模塊時未曾使用的單詞與單詞詞干相關(guān)聯(lián)。在優(yōu)選實施例中的鍵的內(nèi)部、邏輯表示不需要與由實際鍵上的鍵標所表示的物理配置完全相同。比如,在構(gòu)造用來表示法文詞匯模塊的數(shù)據(jù)庫中,三個重音符(A^:A)也可與不帶重音符的字符abc相關(guān)聯(lián)。這就使用戶可以想起并打入包含特定的帶重音符的字符的單詞,為此只需要對每個字符執(zhí)行一次鍵激活,簡單地只要針對相關(guān)的帶重音符的字符(accentedcharacter)激活邏輯上與其相關(guān)聯(lián)的物理鍵即可。將多個字母賦予一個鍵的組合效應(yīng),利用"選擇"鍵限制單詞,在選擇列表中將最常出現(xiàn)的單詞或單詞詞干列為第一個單詞,在選擇列表中插入多個解釋,自動通過后面單詞的第一個鍵擊將選定的單詞添加到句子,自動添加空格,可將用于多義性消除的大型數(shù)據(jù)庫壓縮而不會招致任何嚴重的處理損失的能力,可通過鍵入與不帶重音符的字母相關(guān)聯(lián)的鍵生成帶重音符的特殊字符的能力,以及可根據(jù)鍵擊的上下文自動在賦予一個鍵的多個標點字符之間進行多義性消除的能力產(chǎn)生令人驚奇的結(jié)果對于多種語言,在具有代表性的文本材料語料庫中的遠遠超過99%的單詞可以以極高的效率在此系統(tǒng)上鍵入。采用簡化鍵盤多:fC性消除系統(tǒng)輸入這些單詞中的大致95%所要求的輸入鍵擊數(shù)與利用通常的鍵盤輸入的鍵擊數(shù)相同。當單詞包含重音符時,單詞輸入所需的鍵擊數(shù)比采用通常鍵盤時的鍵擊數(shù)為少。當單詞是以使用頻率排序時,所要求的單詞通常都是排列在第一個,并且經(jīng)常是列出的唯一一個。于是用戶無須利用多于通常的鍵擊數(shù)的鍵擊而進行下一個單詞的輸入。因而就可以利用具有數(shù)量少的全尺寸鍵的鍵盤進行文本的高速輸入。此處所公開的簡化鍵盤多義性消除系統(tǒng)可使采用本系統(tǒng)的計算機或其他裝置的尺寸減小。鍵的數(shù)目減少就使得可以將裝置構(gòu)造成為可由用戶以一只手拿持,而用另外一只手操作。所公開的系統(tǒng)特別適用于pda,雙向?qū)ず魴C,手機或其他小型電子裝置,它們將受益于準確的高速文本輸入。本系統(tǒng)可高效壓縮用于鍵擊序列多義l生消除的大型數(shù)據(jù)庫,并且在利用此經(jīng)過壓縮的數(shù)據(jù)庫時不要求附加的處理帶寬。本系統(tǒng)在應(yīng)用于基于觸摸屏的裝置或具有有限數(shù)目的機械鍵并且也可能具有有限顯示屏面積的裝置時既高效又簡便。本發(fā)明的上述各點及其他附加的優(yōu)點在結(jié)合本說明書的附圖參考下面的詳細描述對其有所了解之后將很容易理解,附圖中圖1為采用本發(fā)明的簡化鍵盤多義性消除系統(tǒng)便攜式計算機的優(yōu)選實施例的示意圖;圖2為圖1的簡化鍵盤多義性消除系統(tǒng)的硬件方框圖;圖3為用于簡化鍵盤多義性消除系統(tǒng)的優(yōu)選實施例多義性消除軟件的流程圖;圖4為本優(yōu)選實施例用于判斷哪一個文本對象應(yīng)該用作供簡化鍵盤多義性消除系統(tǒng)使用的樹形數(shù)據(jù)結(jié)構(gòu)的每個節(jié)點中的默認對象的軟件流程圖;圖5A和5B為示出隨著每個鍵擊執(zhí)行的軟件過程的優(yōu)選實施例的流程圖,該過程系用來對與簡化鍵盤多義性消除系統(tǒng)的鍵擊相關(guān)聯(lián)的多個標點字符中間的所要求的標點字符進行多義性消除;圖5A至5C示出在剛接收到鍵擊時執(zhí)行的處理,而圖5D示出在鍵擊的所有其他處理結(jié)束時執(zhí)行的處理;圖6比較了鍵與符號的物理相關(guān)性及包含出現(xiàn)在物理鍵上的字符的重音符變化的邏輯相關(guān)性的情況;圖7為聯(lián)系邏輯符號與鍵索引的索引表示例;圖8A示出詞匯模塊的樹節(jié)點中的數(shù)據(jù)的內(nèi)部優(yōu)選配置法;圖8B示出指令的優(yōu)選實施例的語義成分;圖9示出一個優(yōu)選實施例中的節(jié)點結(jié)構(gòu)中的可能內(nèi)部數(shù)據(jù)項目的4個示例;圖IO示出一個未壓縮詞匯模塊的優(yōu)選樹形結(jié)構(gòu);圖11示出在從詞匯模塊內(nèi)檢索出來的過程中用于對象的中間存儲的優(yōu)選實施例的對象列表的狀態(tài)示例;圖12示出的是用于在按鍵列表給定時從詞匯模塊檢索文本對象的軟件過程的優(yōu)選實施例的流程圖;圖13示出的是在單個按鍵給定時用于遍歷詞匯模塊的樹形結(jié)構(gòu)及改變對象列表狀態(tài)的軟件過程的優(yōu)選實施例的流程圖;圖14為用于建立折疊壓縮詞匯模塊的軟件過程的優(yōu)選實施例的流程圖;圖15為折疊詞匯模塊的樹形數(shù)據(jù)結(jié)構(gòu)軟件過程的優(yōu)選實施例的流程圖;圖16為用于定位詞匯模塊的樹中與給定節(jié)點相比較具有最大冗余度的第二節(jié)點的軟件過程的優(yōu)選實施例的流程圖;圖17為用于計算詞匯模塊的樹中兩個節(jié)點之間的冗余度的軟件過程的優(yōu)選實施例的流程圖;圖18A-18K為在代表性應(yīng)用中簡化鍵盤多義性消除系統(tǒng)的優(yōu)選實施例的示意圖。具體實施方式I.系統(tǒng)構(gòu)造及基本操作圖1示出的是應(yīng)用于掌上型便攜式計算機52中的根據(jù)本發(fā)明而形成的簡化鍵盤多義性消除系統(tǒng)50。掌上型便攜式計算機52包含一個在觸摸屏53上實現(xiàn)的簡化鍵盤54。對于這個應(yīng)用,名詞"鍵盤"的定義擴大為可包含具有鍵定義區(qū)的觸摸屏,分立機械鍵及薄膜鍵等等的確定區(qū)域的任何輸入裝置。鍵盤54的數(shù)據(jù)輸入鍵的數(shù)目比標準QWERTY鍵盤的少。在一個實施例中,鍵盤包含16個標準的全尺寸鍵,排列為4行4列。更具體而言,優(yōu)選鍵盤包含9個數(shù)據(jù)鍵56,排列成為3x3陣列,另外包含一個標點鍵63,其中左手列是3個系統(tǒng)鍵58,包括選擇鍵60,換檔鍵62及空格鍵64,以及位于最上一行59用來取消前一個鍵擊的退格鍵65。系統(tǒng)鍵的最上一行59還包括3個標明Accent(重音符),Numbers(數(shù)字)及Symbols(符號)的模式鍵用來進入分別打入重音符、數(shù)字及符號的模式。在圖1中示出在鍵盤54中的每一個鍵上字母的優(yōu)選排列法。圖l也示出與英文鍵盤54中的多義性數(shù)據(jù)鍵63相關(guān)聯(lián)的標點字符的優(yōu)選排列法。數(shù)據(jù)通過簡化鍵盤54上的鍵擊輸入到多義性消除系統(tǒng)。當用戶利用鍵盤輸入鍵擊序列時,文本顯示于計算機屏幕53。在顯示器上定義兩個區(qū)域顯示給用戶的信吝。上邊文本區(qū)66顯示用戶輸入的文本并用作文本輸入及編輯緩沖區(qū)。位于文本區(qū)下方的選擇列表區(qū)70提供與用戶輸入的鍵擊序列相對應(yīng)的單詞及解釋的列表。正如下面將另外詳細描述的,選擇列表區(qū)70幫助用戶解決輸入鍵擊的多義性。在另外一個優(yōu)選實施例中,此系統(tǒng)可應(yīng)用于具有有限顯示空間的裝置,并且在正在生成的文本中的插入點88只顯示當前所選擇的或最可能的單詞對象。圖2示出簡化鍵盤多義性消除系統(tǒng)的硬件方框圖。簡化鍵盤54及顯示器53通過適當?shù)慕涌陔娐放c處理器IOO連接。在處理器上還可連接一個任選的揚聲器102。處琿器IOO接受鍵盤輸入并管理所有的到顯示器及揚聲器的輸出。處理器100與存儲器104連接。存儲器是臨時存儲介質(zhì),如RAM,軟盤,硬盤或CD-ROM的組合。存儲器104中包含管理此系統(tǒng)運行的所有軟件。最好是存儲器包含操作系統(tǒng)106,多義性消除軟件108及下面將要討論的相關(guān)的詞匯模塊110。還可以包括一個或多個任選應(yīng)用軟件112,114。應(yīng)用軟件的例子包含字處理軟件,軟件字典,以及外語翻譯軟件。語音合成軟件也可作為軟件提供,以便使簡化鍵盤多義性消除系統(tǒng)可用作通訊工具。返回到圖1。簡化鍵盤多義性消除系統(tǒng)50容許用戶只利用一只手就可快速輸入文本或其他數(shù)據(jù)。數(shù)據(jù)利用數(shù)據(jù)鍵56輸入。每個數(shù)據(jù)鍵具有多個意義,由鍵上的多個字母,數(shù)字和其他的符號代表,(對于本公開申請,每一個數(shù)據(jù)鍵由數(shù)據(jù)鍵的中央行的文本標志,比如DEF標志右上數(shù)據(jù)鍵)。因為單個鍵具有多個意義,鍵擊序列^意義是有多義性的。當用戶輸入時,各種鍵擊解釋就顯示于顯示器上的多個區(qū)域中以便幫助用戶解決任何多義性問題。在具有足夠的顯示面積的系統(tǒng)中,輸入鍵擊的可能解釋的選擇列表76在選擇列表區(qū)70提供給用戶。選擇列表的第一條目78被選定為默認解釋并顯示于文本區(qū)66的插入點88處。在此優(yōu)選實施例中,此條目在選擇列表76及插入點88處均在周圍加實線框顯示。這種格式表示確定插入點對象和選擇列表之間的視覺關(guān)系并且表示此對象是隱含選擇的當前選擇列表中最常出現(xiàn)的對象。另外一種替代方式是不提供選擇列表,并且在插入點88處只顯示默認對象(在激活"選擇"鍵之前會笫一個顯示的對象),或當前選擇的對象(如果顯式地選定了一個的話)。輸入鍵擊的可能解釋的選擇列表76可以以多種方式排序。在正常運行模式下,在初始時將鍵擊解釋為字母條目來拼寫單詞(以下稱之為"單詞解釋"〕。因此,選擇列表中的條目78,79,80是與輸入的鍵擊序列相對應(yīng)的單詞,其排序為與鍵擊序列相對應(yīng)的最常用的單詞列在第一個。例如,如圖1所示,由用戶輸入鍵擊序列ABC,GHI,及DEF。在鍵輸入時,同時執(zhí)行詞匯模塊查找以定位具有匹配鍵擊序列的單詞。從詞匯模塊認定的單詞在選擇列表76中顯示給用戶。單詞按使用頻率排序,最常用的單詞首先列出。利用上述的示例鍵擊序列,從詞匯模塊中認定單詞"age","aid"及"bid"作為與鍵擊序列對應(yīng)的最可能的單詞。在認定的3個單詞中,"age"比"aid"或"bid"更為常用,所以列在首位。第一個單詞也作為默認解釋而暫時安置在插入點88處。在按下選擇鍵60之前,取作默認解釋的此第一單詞采用同樣的格式安置于插入點88及選擇列表76中。比如,如圖1所示,此單詞在文本中以帶有實線框的形式出現(xiàn),實線框的大小為可以容納該單詞。在顯示區(qū)不夠大而難以在屏幕上列出實際的選擇列表的系統(tǒng)中,潛在匹配詞列表保存在存儲器中,其排序系按照匹配i:本對象約相對頻率。在此優(yōu)選實施例中,在輸入與所要求的單詞相對應(yīng)的鍵擊序列之后,用戶只要按下空格鍵64即可。默認單詞(選擇列表上的第一個單詞)立刻輸出到插入點,而選擇列表清空,并且一個空格也立即輸出到文本區(qū)的插入點處。另外一種方式是任何其他可顯式生成無多義性字符的(如進入符號模式并按下一個無多義性地與符號模式中的單個具體字符相關(guān)聯(lián)的鍵)手段都可用來達到同一目的,例外是具體無多義性字符(不是空格鍵)是掛在插入點88處的輸出單詞之后。另外一種方式是可按下標點鍵63生成句點,短劃或撇號,解釋見下。如選擇列表中的第一條目不是鍵擊序列的所要求的解釋,用戶可重復(fù)按下選擇鍵60通過選擇列表中的所有條目。按下選擇鍵將重復(fù)顯示選擇列表76中的第一條目,其周圍帶有一個點線框,并且也在插入點88處重復(fù)顯示第一條目,其周圍的格式框完全相同。從意圖上來講,從實線框變?yōu)辄c線框表示通過用戶按下選擇鍵顯式地進行的選擇文本已經(jīng)接近接受為正在生成的文本。如選擇列表中的第一條目是鍵擊序列所要求的解釋,用戶就繼續(xù)利用數(shù)據(jù)鍵56繼續(xù)輸入下一個單詞。如選擇鍵還額外負擔有空格生成功能,則在插入下一個單詞之前生成一個空格。否則下一個單詞的開始將與當前的單詞末尾連接不插入空格。每按下一次選擇鍵,選擇列表中的下一個條目就加上點線框,并且該條目的復(fù)制條目將臨時安置于插入點(代替原來臨時安置的單詞)并添加點線框。將下一個條目臨時安置于文本區(qū)使得用戶可以將注意力保持文本區(qū)而無須去參考選擇列表。用戶也可以選擇使系統(tǒng)配置成為在接收到第一次按下選擇鍵的信息時臨時安置于插入點的單詞可擴展(垂直或水平)為顯示當前選擇列表的復(fù)制列表。用戶也可以選擇在此復(fù)制的選擇列表中顯示最多的單詞數(shù)。另外一種方式是用戶可選擇使選擇列表一直在插入點處顯示,甚至在第一次激活選擇鍵之前。多義性消除系統(tǒng)將下一個單詞的開始(由激活數(shù)據(jù)鍵56或生成顯式無多義性字符發(fā)出信號)解釋為肯定當前選擇的條目為所要求的條目。于是所選定的單詞就作為用戶的選擇保持于插入點,而其周圍的框子徹底消失,并且該單詞以正常字體顯示不帶特別格式。如選擇列表上的第二條目是所要求的單詞,用戶就可按下兩次選擇鍵輸入下一個單詞,并且多義性消除系統(tǒng)自動將第二條目作為正常文本安置于文本區(qū)。如第二條目不是所要求的單詞,用戶可以檢查選擇列表并按照所要求的次數(shù)按下選擇鍵來選擇所要求的條目而輸入下一個單詞。當?shù)竭_選擇列表的末尾時,如繼續(xù)按下選擇鍵就會使選擇列表滾動并在選擇列表的尾部添加新的條目。在選擇列表頂部的那些條目將從顯示給用戶的列表中消失。在用戶按下任何一個數(shù)據(jù)鍵56來繼續(xù)輸入文本時經(jīng)過多次按下選擇鍵而選擇的條目將自動地安置于文本區(qū)。另外一種方式是在輸入與所要求的單詞相對應(yīng)的鍵擊序列之后,用戶可通過觸摸選擇列表從其中選擇所要求的單詞。所選定的單詞立即輸出到插入點不添加空格,并且選擇列表清除。之后用戶可按下空格鍵生成一個空格,該空格立即輸出到文本區(qū)的插入點88處。在大多數(shù)文本輸入時用戶的鍵擊序列是要輸入組成單詞的字母。但是,應(yīng)該了解,與每個鍵相關(guān)聯(lián)的多個字符和符號可容許單個鍵擊和鍵擊序列具有數(shù)種解釋。在撫選簡化鍵盤多義性消除系統(tǒng)中,在鍵擊序列得到解釋和作為單詞列表顯示給用戶的同時,各種不同的解釋將自動確定并顯示給用戶。例如,鍵擊序列可解釋為與用戶可能輸入的可能的有效單詞序列相對應(yīng)的單詞詞干(以下稱之為"詞干解釋")。與單詞解釋不同,單詞詞干是不完整的單詞。通過指明最后鍵擊的可能解釋,單詞詞干使用戶可以很容易肯定輸入的鍵擊序列正確,否則,如果在單詞輸入過程中用戶一時走神,可重新打入。如圖l所示,鍵擊序列ABCGHIDEF被解釋為可組成有效詞干"che"(可組成單詞"check","cheer"等等)及"ahe"(可組成單詞"ahead","ahem"等等)。于是在選擇列表中提供詞干解釋作為條目81及82。最好是詞干解釋按照通過添加數(shù)據(jù)鍵的附加鍵擊每個詞干可生成的單詞集合的復(fù)合頻率排序。待顯示的此種條目的錄大數(shù)目及最小復(fù)合頻率可由用戶選定或由系統(tǒng)配置,所以有些詞干解釋可能不顯示。在當前的示例中,詞干"bif"(可組成單詞"bifocals"),"cid"(可鎮(zhèn)成單詞"cider")未顯示。當在選擇列表中列出詞干解釋時,如詞干解釋與選擇列表中的單詞重復(fù),則將該詞干略去。但是,當詞干被略去時,與略去的詞干相對應(yīng)的單詞可以符號標志以便表示還存在以此單詞作為詞干的更長的單詞。詞干解釋可通過肯定輸入了可導(dǎo)致所要求的單詞條目的正確鍵擊而為用戶提供反饋。簡化鍵盤多義性消除系統(tǒng)的運行由多義性消除軟件108管理。在本系統(tǒng)的一個優(yōu)選實施例中,選擇鍵承擔的"額外負擔"是它既可以執(zhí)行從選擇列表中選擇所要求的單詞的功能,又可以在合適處生成顯式空格字符。在此系統(tǒng)中,標志"OverloadSelect(額外負擔選擇)"(在步驟164及174A中援引)設(shè)定為"真"。在將單個的空格鍵定義為生成顯式空格字符的系統(tǒng)中,標志"OverloadSelect(額外負擔選擇)"設(shè)定為"偽"。圖3為用來生成選擇列表幫助用戶對多義性鍵擊序列進行多義性消除的多義性消除軟件的主例程的流程圖。在步驟150,此系統(tǒng)等待接受鍵盤54的鍵擊。在接受到鍵擊時,在步驟150A系統(tǒng)執(zhí)行在圖5A中所示的標點鍵63所要求的預(yù)處理,這一點在下面詳細討論。在判定步驟151中,進行檢驗以判斷所接受的鍵擊是否是模式選擇鍵。如是,則在步驟172中系統(tǒng)將標志設(shè)定為表示當前系統(tǒng)模式。在判定步驟173中,進行檢驗以判斷系統(tǒng)模式是否改變。如是,則在步驟171中在需要時重繪鍵頂以反映當前系統(tǒng)模式。如系統(tǒng)模式未改變,或已改變并其后鍵頂經(jīng)過重繪,則主例程返回步驟150并等待下一個鍵擊。另一方面,如步驟151判斷鍵擊不是模式選擇鍵,則在判定步驟152中,進行檢驗以判斷所接受的鍵擊是否是選擇鍵。如不是選擇鍵,則在判定步驟153中,進行檢驗以判斷系統(tǒng)是否是處于特殊顯式字符模式,如顯式數(shù)字模式。如是,則在步驟167中,接受該項目并作為正常文本輸出。如臨時接受的項目不在選擇列表中,或如是并且已經(jīng)接受,則在步驟168中,與鍵擊相對應(yīng)的顯示字符輸出到文本區(qū)。其次,在判定步驟169,進行檢驗以判斷系統(tǒng)模式是否-自動改變,就像在符號模式的場合那樣。如是,執(zhí)行轉(zhuǎn)到步驟170和171,其中系統(tǒng)模式返回到先前是活動的模式并且鍵頂進行相應(yīng)的重繪。之后執(zhí)行返回步驟150。如在步驟153中無顯式字符模式是活動的,則在步驟154中,此鍵擊添加到存儲的鍵擊序列中。在步驟156中,與鍵擊序列相對應(yīng)的對象從本系統(tǒng)中的詞匯模塊中認定。詞匯模塊是與鍵擊序列相關(guān)聯(lián)的對象的庫。一個對象是根據(jù)檢索的鍵擊序列要檢索的任何一片存儲數(shù)據(jù)。例如,在詞匯模塊內(nèi)的對象可包含數(shù)字,字母,詞干,詞組,或系統(tǒng)功能和宏。這些對象的每一個簡要地描述在下表中對象相應(yīng)的數(shù)據(jù)數(shù)字每一位相應(yīng)于單個鍵擊的數(shù)字,比如兩位序列"42"。字母與成對鍵擊相對應(yīng)的字母與字母序列,比如3字母序列"str"。各對鍵擊用于利用輸入單個字母的兩鍵擊指定方法來進行多義性消除。單詞與單個或多個鍵擊相對應(yīng)的單詞,比如4字母單詞"done"詞干代表組成一個單詞的更長的字母序列的有效部分的字母序列,比如"able"作為單詞"albeit"。詞組用戶定義的或系統(tǒng)定義的與單個或多個鍵擊相對應(yīng)的詞組,比如"ToWhomitMayConcern:",<<table>tableseeoriginaldocumentpage25</column></row><table>上面討論了優(yōu)選詞匯對象,可以理解,還可以考慮其他的對象。例如,圖像對象可與所存儲的圖形圖像相關(guān)聯(lián),或語音對象可與所存儲的語音段相關(guān)聯(lián)。還可以預(yù)見拼寫對象為可以將通常誤拼的單詞的鍵擊序列及打字錯誤與單詞的正確拼寫聯(lián)系起來。例如,包含字母序列"ie"或"ei"的單詞將出現(xiàn)在單詞列表中,即或這些字母的鍵擊意外地會與其正確序列相反。為了簡化處理,每個詞匯模塊最好是包含類似的對象。但可以理解,各種對象可在詞匯模塊內(nèi)混合。在圖6中示出單個鍵540的代表性示意圖。在優(yōu)選實施例中的鍵的內(nèi)部邏輯表示不需要與物理配置完全相同。比如541是與法文詞匯模塊相關(guān)聯(lián)的鍵的優(yōu)選邏輯描述。法文字母表需要三個重音符542(A^:A)。另外,這些符號按照其在法文詞匯中的使用頻率降序排列最好是索引為543。擴展時,圖7是聯(lián)系邏輯符號與用于對輸入法文單詞的按鍵進行多義性消除時所使用的鍵索引的優(yōu)選表。在圖10中示出單詞對象詞匯模塊110的代表性示意圖。根據(jù)相應(yīng)的鍵擊序列使用樹形數(shù)據(jù)結(jié)構(gòu)來組織詞匯模塊中的對象。如圖10所示,詞匯模塊中的每個節(jié)點Nl,N2,...N9代表一個具體鍵擊序列。樹中的節(jié)點通過路徑P1,P2,...P9連接。由于在此多義性消除系統(tǒng)實施例中有9個多義性數(shù)據(jù)鍵,詞匯模塊樹中的每個父節(jié)點可與9個子節(jié)點相連接。通過路徑連接的節(jié)點代表有效鍵擊序列,而節(jié)點缺乏路徑代表無效鍵擊序列,即不與任何存儲卓詞相對應(yīng)。詞匯模塊樹根據(jù)接收到的鍵擊序列進行遍歷。比如,按下自根節(jié)點111的第一數(shù)據(jù)鍵使與第一數(shù)據(jù)鍵相關(guān)聯(lián)的數(shù)據(jù)從根節(jié)點111內(nèi)部取出并進行評估,之后遍歷通到節(jié)點N1的路徑P1。在按下第一數(shù)據(jù)鍵之后按下的九數(shù)據(jù)鍵使與第九數(shù)據(jù)鍵相關(guān)聯(lián)的數(shù)據(jù)從根節(jié)點Nl內(nèi)部取出并進行評估,之后遍歷通到節(jié)點N19的路徑P19。正如下面將詳細描述的,每個節(jié)點與多個與鍵擊序列相對應(yīng)的對象相關(guān)聯(lián)。當接收到每個鍵擊并處理相應(yīng)的節(jié)點時,由與鍵擊序列相關(guān)聯(lián)的對象生成一個對象列表。多義性消除系統(tǒng)的主例程利用每個詞匯模塊的對象列表生成選擇列表76。圖8A是與每個節(jié)點相關(guān)聯(lián)的優(yōu)選數(shù)據(jù)結(jié)構(gòu)400的框圖。數(shù)據(jù)結(jié)構(gòu)包含連接詞匯模塊樹中的每個父節(jié)點到子節(jié)點的信息。此數(shù)據(jù)結(jié)構(gòu)還包含用于認定與節(jié)點所代表的具體鍵擊序列相關(guān)聯(lián)的對象的信息(指令)。在節(jié)點數(shù)據(jù)結(jié)構(gòu)400中的第一字段是有效鍵位字段402,它表明子節(jié)點的數(shù)目與標志,子節(jié)點與父節(jié)點連接以及9個可能鍵中的哪些與認定與節(jié)點所代表的具體鍵擊序列相關(guān)聯(lián)的對象的信息(指令)相關(guān)聯(lián)。因為在此優(yōu)選實施例中有,9個數(shù)據(jù)鍵,所以最多可以有9個子節(jié)點與任何一個父節(jié)點連接,從而在有效鍵位字段中提供9個有效鍵位來表示存在或不存在子節(jié)點。每個有效鍵位與包含詞匯模塊中的相應(yīng)各子節(jié)點數(shù)據(jù)結(jié)構(gòu)的指針的指針字段404a,404b,...404ii相關(guān)聯(lián)。因為子節(jié)點只在與子節(jié)點相關(guān)聯(lián)的鍵擊是與父節(jié)點相關(guān)聯(lián)的鍵擊序列的有效繼續(xù)才存在,所以指針字段的數(shù)目對每個節(jié)點是不同的。比如,有效鍵位字段402可表示9個可能鍵擊只有6個導(dǎo)致有效子節(jié)點。因為只有6個有效路徑,在父節(jié)點的數(shù)據(jù)結(jié)構(gòu)中只包含6個指針字段。有效鍵位字段402是用來查明包含在節(jié)點數(shù)據(jù)結(jié)構(gòu)內(nèi)的指針字段的標志。如鍵擊不導(dǎo)致有效子節(jié)點,則相關(guān)聯(lián)的指針字段從節(jié)點數(shù)據(jù)結(jié)構(gòu)中去掉以便節(jié)省用來存儲詞匯模塊所需要的存儲空間。與每個節(jié)點相關(guān)聯(lián)的有多個與節(jié)點所代表的鍵擊序列相對應(yīng)的對象。每個對象由附屬于具體有效鍵的包(分組)408中的406字段中的指令描述,該有效鍵由包含在節(jié)點數(shù)據(jù)結(jié)構(gòu)中的有效鍵位字段402中的位模式指明。每個包406中的每個指令描述與每個節(jié)點代表的鍵擊序列相對應(yīng)的對象中的一個。描述一個對象要求維護兩個對象列表。圖ll示出由多義性消除軟件過程由詞匯模塊樹中的父與子動態(tài)生成的代表性對象列表。對象列表430是一個包含與代表2個鍵擊的節(jié)點相關(guān)聯(lián)的對象l-Nt的對象列表。對象列表440是一個包含與代表3個鍵擊的節(jié)點相關(guān)聯(lián)的對象1-&的對象列表。每個對象列表包含與每個節(jié)點相關(guān)聯(lián)的所有對象的列表。對象列表430與代表圖1的鍵盤的鍵擊序列ABCABC的父節(jié)點相關(guān)聯(lián)。對象列表440與代表鍵擊序列ABCABCTUV的子節(jié)點相關(guān)聯(lián)??梢岳斫猓瑢ο罅斜淼拇笮∈歉鶕?jù)與每個節(jié)點相關(guān)聯(lián)的大小的實際數(shù)目而變化。與子節(jié)點相關(guān)聯(lián)的每個對象是通過在為父節(jié)點構(gòu)造的對象上添加一個字符序列而構(gòu)造的。因此,圖8A中的指令包406就包含一個帶有示于圖8B的OBJECT-LIST-INDEX字段556的指令558,可用來從父節(jié)點對象列表中認定用于構(gòu)造子節(jié)點對象的對象。比如,參考圖11,在老對象列表430中的第一對象"ba"用來構(gòu)造新對象列表440中的第二對象"bat"。原來的對象標志符字段OBJECT-LIST-INDEX556就可提供到老對象列表中的條目的鏈接以認定用來構(gòu)造新對象的老對象。指令558也包含LOGICAL-SYMBOL-INDEX字段555以指示要添加到認定對象的符號以便構(gòu)造新對象。因此LOGICAL-SYMBOL-INDEX字段就從節(jié)點鍵擊序列中的最后鍵指定將要添加以構(gòu)造新對象的字母。此字母是由圖7所示的表指定,其中的LOGICAL-SYMBOL-INDEX字段對應(yīng)于表550的第一行中的逸輯符號索引552,并且指定鍵出現(xiàn)的行是由此表的第一列中的給定的鍵索引認定。比如,參考圖11,在新對象列表440中的第一對象"CAT"是利用老對象列表430中的第二對象"CA"和添加一個指定T的附加鍵擊而構(gòu)造。在圖7的邏輯符號索引表中"T"是在TUV鍵上的第一邏輯字母,因此生成對象"CAT"的指令的LOGICAL-SYMBOL-INDEX字段設(shè)定為1以指示此表中的第一字母。以這種方式對對象進行編碼是利用與每個節(jié)點相關(guān)聯(lián)的已知鍵擊序列及字母到鍵的已知關(guān)聯(lián)以便大大減少每個詞匯模塊所需的存儲空間。這一詞匯編碼技術(shù)也容許不經(jīng)檢索而訪問詞匯模塊條目。在接收到每個新有效鍵擊時系統(tǒng)執(zhí)行與當前節(jié)點上的鍵相關(guān)聯(lián)的指令以便從老對象構(gòu)造新對象,之后按照單個指針到達適當?shù)淖庸?jié)點。另外,不需要將每個對象存儲于詞匯模塊中,新對象是利用LOGICAL-SYMBOL-INDEX字段定義而添加到老的解釋上。這樣,由詞匯模塊中多個對象共享的單詞詞干就只存儲一次而能夠原來生成所有由它派生的對象。公開的這種存儲方法要求維護詞匯模塊樹中的父節(jié)點對象列表以便構(gòu)造子節(jié)點的對象列表。如圖7所示的邏輯符號索引表中的條目不一定必須是單個字符-任意序列可占據(jù)一個單個條目。比如,ASCII字符串"Uike"可添加到老對象列表的第二對象"ca"而形成"catlike"。采用這種方式,輸入鍵擊序列的長度不一定必須與相關(guān)聯(lián)的對象的長度直接對應(yīng)。存儲于符號索引表內(nèi)的條目中的ASCII序列將容許詞匯對象由任意的鍵序列認定,即存儲于詞匯模塊樹內(nèi)的任意位置??梢詫⒕哂腥我怄I擊序列的對象存儲的能力用來加速系統(tǒng)對縮寫和縮略字的處理??s寫和縮略字可由與其忽略標點的純字母內(nèi)容相對應(yīng)的鍵擊序列認定。結(jié)果用戶可以不必輸入標點而很容易訪問縮寫和縮略字,這可顯著地節(jié)約鍵。比如,用戶輸入"did,t"的鍵擊序列時可不必輸入"n"和"t"中間的撇號。詞匯模塊中與鍵擊序列"didnt"相對應(yīng)的指令援引在"n"和"t"中間有撇號的ASCII序列作為表中的唯一一個符號。所以此多義性消除系統(tǒng)將自動向用戶顯正確的單詞"did,t"而無需用戶輸入標點字符。此多義性消除系統(tǒng)利用同一個表可恰當?shù)仫@示具有獨特字符的外來詞(如"0"可以作為TUV鍵上的單個鍵擊輸入)。大寫可以以類似方式處理。字母永遠大寫的單詞,首字母大寫的單詞,單詞中間字母大寫的單詞可與去掉表示大寫的鍵擊序列相關(guān)聯(lián),用戶就無需輸入此類大寫。在每個指令558中還可包含對象類型字段原來指定關(guān)于正在構(gòu)造的對象的附加信息。此對象類型字段可包含一個指定所生成的對象是單詞,單詞詞干或其他對象的代碼。所以詞對象類型字段容許將不同類型對象在給定的詞匯模塊中混合。此外,對象類型字段也可包含有關(guān)詞類的信息,有關(guān)對象如何大寫的信息或構(gòu)造各種詞形變化和詞尾所需的信息。利用具有詞類信息的詞匯模塊的簡化鍵盤多義性消除系統(tǒng)可利用附加信息進行句法分析來改進多義性消除過程。對象類型字段也可包含獨特代碼以容許傳輸壓縮形式的文本。此獨特代碼可傳輸?shù)竭h方終端代替?zhèn)鬏斴斎氲逆I擊序列或相關(guān)聯(lián)的多義性消除字符。此優(yōu)選詞匯模塊樹形數(shù)據(jù)結(jié)構(gòu)的關(guān)鍵特點之一是與每個節(jié)點相關(guān)聯(lián)的對象是存儲于節(jié)點數(shù)據(jù)結(jié)辨400中按其使用頻率排列。即由包406中的第一指令構(gòu)造的對象具有比由包406中的第二指令(如存在)構(gòu)造的對象高的使用頻率,而后者又具有比由包406中的第三指令(如存在)構(gòu)造的對象高的使用頻率。這樣,對象在對象列表中自動按使用頻率降序排列,此描述中所謂單詞對象使用頻率指的是在具有代表性的應(yīng)用語料庫內(nèi)使用給定單詞的概率,該值與每個單詞在語料庫中出現(xiàn)的次數(shù)成正比。在單詞詞干對象的場合,使用頻率由共享該相同詞干的所有單詞的頻率的總和確定。將使用頻率或其他等級信息存儲于每個節(jié)點可避免在使用系統(tǒng)時需要判斷和按每個對象的等級排序。這一點在單詞對象詞匯中有重要意義,因為存儲的對象可包含大量更長的單詞共有的共享詞干。動態(tài)地判斷這些詞干的相對等鈒(rank)將要求子節(jié)點的整個樹并累積關(guān)于每個詞干的信息,為便辨^計算裝置添加明顯的處理開銷。此外,當使用頻率或等級由節(jié)點中的對象406的排序隱含表示時,這一信息不需要另外的存儲空間。雖然對象在節(jié)點數(shù)據(jù)結(jié)構(gòu)400內(nèi)的存儲是按照使用頻率排序,但可以理解使用頻率字段也可以與每個指令相關(guān)聯(lián)。使用頻率字段將包含與此相關(guān)對象的使用頻率相對應(yīng)的代表數(shù)。不同對象之間的使用頻率將通過比較每個對象的使用頻率而確定。使用將使用頻率字段與每個對象包相關(guān)聯(lián)的這后一種構(gòu)造方法的優(yōu)點是使用頻率字段可由多義性消除系統(tǒng)改變。比如,此系統(tǒng)可改變使用頻率字段以反映用戶在代表性文本輸入期間用戶使用詞匯模塊內(nèi)的某些對象的頻率。返回到圖3,在標志156中,與接收到的鍵擊序列相對應(yīng)的那些對象在每個詞匯模塊中認定。閨12示出的是用于分析所接收的鍵擊序列以便認定在具體詞匯模塊中的相應(yīng)對象的子例程600的流程圖。子例程600構(gòu)造具體鍵擊序列的對象列表。步驟602清除新的對象列表。步驟604在其根節(jié)點111啟動遍歷樹110。步驟606取得第一鍵的按下。步驟608到612形成處理所有的可獲得的鍵的按下的循環(huán)。步驟608調(diào)用圖13的子例程620。判定步驟610判斷是否所有的可獲得的鍵的按下都已經(jīng)處理。如果有任何鍵的按下尚未處理,步驟612轉(zhuǎn)到下一個鍵的按下。如所有的鍵的按下都已經(jīng)處理,步驟614返回到完成的對象列表。可以理解,如主例程在處理每個新鍵擊序列時都重復(fù)調(diào)用子例程600,每個新鍵擊序列比最后一個多一個鍵并且除最后一個以外的所有的鍵都與上一次啟用相同,則如果子例程620直接被調(diào)用來只處理最新一次鍵按下,初始化步驟602,604可以繞過。圖13示出的是從子例程600調(diào)用的子例程620的流程圖。在圖3所示的主例程中鍵擊由系統(tǒng)在步驟150中檢測。如果存在通到與鍵擊相對應(yīng)的子節(jié)點的有效路徑,則接收到新鍵擊就會引起在詞匯模塊樹中的下行遍歷。在圖13中的步驟621,就檢查節(jié)點數(shù)據(jù)結(jié)構(gòu)400的有效鍵位字段以判斷是否有效指令和指針與所接收的鍵擊對應(yīng)。在判定步驟622,檢查有效鍵位字段以判斷是否存在由指令406和指針字段,如404a,組成的有效包408與輸入的鍵擊相對應(yīng)。如果沒有有效包與鍵擊對應(yīng),在步驟624老對象列表將返回到主例程以生成選擇列表,因為接收到的鍵擊是不與詞匯模塊內(nèi)的任何對象對應(yīng)的無效鍵擊序列的一部分。由步驟622及624構(gòu)成的主例程620的分支就忽略任何無效鍵擊序列并返回在父節(jié)點生成的對象列表以便在多義性消除系統(tǒng)生成的選擇列表中進行可能的插入。如在步驟622存在與所接Jlt到的鍵擊相對應(yīng)的有效包,子例程轉(zhuǎn)到步驟626,在該步驟新對象列表復(fù)制到老對象列表。如上所述,為了構(gòu)造新對象列表,多義性消除系統(tǒng)從復(fù)制老對象列表開始。因此在步驟626,將來自前一個節(jié)點的對象列表存儲以便可原來構(gòu)造新對象列表。步驟628取出與給定鍵相關(guān)聯(lián)的第一有效指令。步驟630將迭代器NEW-INDEX初始化為1以使第一指令將在新對象列表中生成笫一條目。之后子例程進入包括步驟632至642的循環(huán)以構(gòu)造與有效指令相關(guān)聯(lián)的對象列表。在步驟632中,檢查OBJECT-LIST-INDEX字段556并從老對象列表裝入相應(yīng)的對象。在步驟634中,檢查LOGICAL-SYMBOL-INDEX字段555并將合適的符號(通過像550這樣的圖7所示的邏輯符號索引與接收的鍵相關(guān)聯(lián))添加在認定對象的末端??梢岳斫猓诓襟E634,如果在給定鍵551向符號表550和邏輯符號索引552的輸入保持一個字符序列,則長度大于1的ASCII序列可添加到認定的對象上。在步驟636,組合對象和符號作為新對象存儲于新對象列表。在步驟638中進行檢查以判斷子例程是否已經(jīng)處理在給定節(jié)點與給定鍵相關(guān)聯(lián)的最后有效指令。如最后有效指令尚未處理,則在步驟640中取出下一個指令。在步驟642中,麗-INDEX加1。如在判定步驟638中的檢查表明對此節(jié)點所有的對象都已經(jīng)構(gòu)造,則子例程轉(zhuǎn)向步驟644并按照相關(guān)聯(lián)的指針到子節(jié)點。在步驟646新對象列表返回到主例程以生成選擇列表??梢岳斫?,用來生成與每個節(jié)點相關(guān)聯(lián)的對象列表的本例程600對于從用戶接收到的每個鍵擊都執(zhí)行一次。在用戶輸入新鍵擊序列時,不進行詞匯模塊的"檢索",因為每個鍵擊只是使子例程在詞匯模塊樹內(nèi)前進一個層次。因為不對每個鍵擊序列進行檢索,詞匯模塊以最少的處理開銷將與每個節(jié)點相關(guān)聯(lián)的對象的列表返回??梢岳斫猓谠~匯模塊對象及鍵擊序列之間的這種關(guān)系是詞匯模塊的使用細節(jié)。當處理與當前輸入鍵序列相關(guān)聯(lián)的節(jié)點時,可能要遍歷附加的子節(jié)點以便認定具有以輸入鍵擊序列開始的鍵擊序列并且其出現(xiàn)相對頻率大于某一閾值的候補對象。此閾值可根據(jù)當前節(jié)點的特性動態(tài)地進行調(diào)整,比如根據(jù)其是否生成足夠的對象來填充顯示器上的選擇列表區(qū)70。對象的認定是通過在詞匯模塊樹中沿有效路徑遍歷一直到對象認定為止。此種候補對象可在由輸入單詞列表構(gòu)造數(shù)據(jù)庫時認定,并且與候補單詞完成相對應(yīng)的節(jié)點和指令可進行標記使系統(tǒng)能夠識別何時對該節(jié)點的遍歷對應(yīng)于候補單詞的生成。此專門標記是需要的,因為同一節(jié)點和指令可能在下述的壓縮過程中在樹形結(jié)構(gòu)轉(zhuǎn)換后在處理對應(yīng)于不同單詞的不同的輸入鍵擊序列時受到遍歷。為區(qū)分候補單詞序列與其他序列只需要增加足夠的信息,如序列長度或在此鍵序列中的已知位置的特殊鍵值。另外一種替代辦法是候補單詞的端節(jié)點可進行特別標記使其不會與用于其他單詞的節(jié)點合并,見下述。于是多義性消除軟件可在當前節(jié)點的后代的限定的附近內(nèi)向前搜索緣些候補單詞,如發(fā)現(xiàn),就可在所有的相應(yīng)于對象的鍵擊輸入之前將其置于選擇列表中。這些對象是在與輸入的鍵擊序列直接相關(guān)聯(lián)的對象之外包括進來的。在選擇列表中顯示與較長鍵擊序列相關(guān)聯(lián)的對象(稱之為"前視"特征)使得用戶可以有選擇地立即選定對象而無需結(jié)束剩余的鍵擊來指定該對象。返回到圖3。在步驟158-165中,通過檢查詞匯模塊中的鍵擊序列而發(fā)現(xiàn)的對象被授予優(yōu)先級并在選擇列表76中顯示給用戶。為了判斷在選擇列表中顯示的對象的次序,在每個詞匯模塊之間以及在從每個詞匯模塊返回的列表之間建立優(yōu)先級。為了給從各種詞匯模塊認定的對象列表確定優(yōu)先級,在步驟158中檢查簡化鍵盤多義性消除系統(tǒng)的運行模式。如上所述,在正常運行模式中,單詞解釋首先顯示于選擇列表中。來自單詞詞匯模塊的對象列表將被賦予比來自其他詞匯模塊的對象列表更高的優(yōu)先級。反之,如多義性消除系統(tǒng)是在數(shù)字運行模式下,數(shù)字解釋將被賦予比其他詞匯模塊更高的優(yōu)先級。因此,多義性消除系統(tǒng)的模式確定詞匯模塊對象列表之間的優(yōu)先級。可以理解,在某些模式中,詞匯模塊對象列表可整個從選擇列表中去掉。由詞匯模塊生成的對象列表可能只包含單個一個條目,或是包含多個條目。在步驟160中,如對象列表包含多個條目,就決定來自同一詞匯模塊的對象之間的優(yōu)先級。對于與在給定的詞匯模塊中查尋的具體鍵擊序列匹配的對象也賦予優(yōu)先級,該優(yōu)先級確定其互相間的相對顯示。如上所述,承好默認顯示順序是由具有使用代表性的語料庫中的使用頻率的降序。與每個對象相關(guān)聯(lián)的優(yōu)先級數(shù)據(jù)可用于將對象在選擇列表中排序。因為選擇列表區(qū)"可顯示的條目數(shù)目有限,在低于預(yù)定最小使用頻率的對象可能不在選擇列表的初始顯示中。這些未顯示的條目以后會在用戶滾動到顯示列表尾部之外時添加到此選擇列表中。選擇列表自動滾動以使當前選擇的對象一直可見。用戶也可以利用專用滾動按鈕進行手工滾動而使另外的對象進入視圖,在此場合當前選擇的對象可能從視圖中滾出。另外一種替代的方式是選擇列表上的所有的對象可按照用戶的要求同時顯示在"下拉式"列表中。與在詞匯模塊中查尋的對象的顯示相關(guān)聯(lián)的很多屬性是可以通過訪問適當?shù)南到y(tǒng)菜單而由用戶設(shè)定的。比如,用戶可指定在選擇列表區(qū)中各個對象的順序或?qū)ο蟮念悇e。用戶也可以設(shè)定判定詞匯模塊之間和從每個詞匯模塊中認定的對象之間的優(yōu)先級。這樣,在選擇列表區(qū)中顯示給用戶的條目的數(shù)目可保持最少。在選擇列表區(qū)中的附加條目永遠可通重復(fù)按下選擇鍵滾動進入視圖。在決定了對象之間的優(yōu)先級^后,在步驟165中由認定的對象構(gòu)造選擇列表并顯示給用戶。作為由用戶輸入的多義性鍵擊序列的默認解釋,選擇列表中的第一個條目臨時突顯置于文本區(qū)66的插入點88處。之后多義性消除軟件例程返回到步驟150中等待下一個鍵擊。返回到步驟152。如檢測到的鍵擊是選擇鍵60,則從判定步驟150選取"yes(是)"分支轉(zhuǎn)向判定步驟163檢查判斷當前的選擇列表是否為空。如是,則在步驟164,如OverloadSelect標志i殳定為"真"時,就生成一個顯式空格并立即示出到文本區(qū)。OverloadSelect標志是一個系統(tǒng)標志,在不包含顯式空格鍵64的系統(tǒng)中此標志設(shè)定為"真",并且在此系統(tǒng)中對任何激活選擇鍵連續(xù)序列的第一個激活生成一個空格字符,或是如果在選擇鍵激活時選擇列表為空時也生成一個空格字符。在對接收到的鍵擊進行這種初始處理之后,在步驟164B系統(tǒng)執(zhí)行圖5B所示的對標點鍵63所要求的后處理,詳情見后。之后執(zhí)行返回步驟150。如在判定步驟163中,選擇不為空,則選取"no(否)"分支而轉(zhuǎn)向步驟174A。在步驟174A中,如OverloadSelect標志設(shè)定力"真",在選擇列表的每個文本項目的尾部和在插入點添加一個空格。在步驟174中,圍繞選擇列表中的第一條目(以及在臨時安置該條目的插入點)的實線框改變?yōu)辄c線框。在圖3所示的步驟175中,系統(tǒng)等待檢測用戶輸入的下一個鍵擊。在接收到鍵擊時,在步驟U5A系統(tǒng)執(zhí)行在圖5A中所示的標點鍵63所要求的預(yù)處理,詳細#論見后。在判定步驟176中進行檢查以判斷下一個鍵擊是否是選擇鍵。如下一個鍵擊是選擇鍵,則在步驟178中系統(tǒng)前進到選擇列表中的下一個條目并將其標記為當前選定項目。在對接收到的鍵擊進行這一初始處理之后,在步驟178B中系統(tǒng)執(zhí)行圖5B所示的對標點鍵63所要求的后處理,詳情見后。在步驟179中,當前選擇的條目臨時顯示于選擇列表中和在插入點處,其周圍帶有一個點線框。之后例程返回到步驟175檢測用戶輸入的下一個鍵擊??梢岳斫猓刹襟E175-179形成的循環(huán)容許用戶擊序列的各種解釋。'''如下一個鍵擊標志選擇鍵,則例程從判定步驟176繼續(xù)《梧向步驟180,在該步驟中將臨時顯式的條目選擇為鍵擊序列的解釋并在文本區(qū)中轉(zhuǎn)換為正常文本格式。在步驟184中,從存儲器中清除老的鍵擊序列,因為在選擇鍵之后接收到多義性鍵擊向系統(tǒng)表示一個新的鍵擊序列的開始。之后在步驟154中利用新接收到的鍵擊開始新的鍵擊序列。因為具有較高使用頻率的單詞解釋是作為默認選擇顯示,多義性消除軟件的主例程使用戶可繼續(xù)輸入文本,而只有在很少的場合需要另外激活選擇鍵。如上所述,在正常運行模式下選擇列表76中對應(yīng)于單詞的條目首先列出。在其他情況下,有可能希望其他的鍵擊序列解釋在列表中首先列出。比如,在顯示區(qū)不足以支持在顯示屏上顯示文本選擇"列表"的系統(tǒng)中,取自數(shù)據(jù)庫的可能匹配對象的集合由軟件存儲于內(nèi)部并且在插入點只顯示默認對象或顯示選定對象(在一次或多次激活選擇鍵之后)。在此種系統(tǒng)中,在插入點顯示的對象可能隨著在輸入序列添加的每一個鍵擊發(fā)生顯著的改變,因為與新的鍵擊序列相對應(yīng)的使用頻率最高的單詞可能與前一次輸入的序列所對應(yīng)的最常用的單詞外形很少或毫不相象。結(jié)果可能是在插入點處顯示的對象對用戶可能表現(xiàn)為"跳動",并且其不斷改變的外表可能令人分心,尤其是對于新用戶或不熟悉的用戶。為了減輕在插入點的這種"跳動",系統(tǒng)可配置成為不是永遠顯示與當前鍵序列相對應(yīng)的頻率最高的單詞對象,而可以顯示一個單詞或單詞詞干,如果它對應(yīng)于一個較長的單詞或總頻率超過閾值的多個單詞。這種"詞干提升"的結(jié)果是在插入點的顯示的單詞的改變經(jīng)常僅,是在原來顯示的文本對象上添加一個字母,比如,在打入"this"—詞時用戶使用4次鍵擊TUV,GHI,GHI,PQRS。不執(zhí)行"詞干提升"時,系統(tǒng)將會在插入點顯示如下的對象序列(每次一個)"t","vi","ugh","this".執(zhí)行"詞干提升"時,系統(tǒng)將會在插入點顯示如下的對象序列(每次一個)"t","th","thi","this"。結(jié)果是新用戶或不熟悉的用戶將會更相信多義性消除夢統(tǒng)將會正確地解釋他或她的鍵擊。圖4的流程圖示出系統(tǒng)如何判斷對給定的鍵擊序列在給定節(jié)點顯示哪一個對象。圖4為示出在每個節(jié)點對應(yīng)于一個多義性鍵擊序列的樹形結(jié)構(gòu)的節(jié)點中生成單詞數(shù)據(jù)庫的的軟件程序例程的流程圖。在每個節(jié)點,生成多個可與由鍵擊序列生成的可能的單詞或單詞詞干相對應(yīng)的單詞對象。在步驟190中,設(shè)定闞值"MinFactor"。此閾值對應(yīng)于一個最小因子,此因子規(guī)定文本對象要想提升超過單詞對象(即成為在該節(jié)點的選擇列表中首先顯示的默認對象)其總頻率必須超過在節(jié)點處頻率最高的單詞對象的總頻率的倍數(shù)。單詞對象的總頻率是單字母)的所有更長的單詞的頻率的總和。在步驟191中,設(shè)定第二閾值"MaxWordFreq",該閾值對應(yīng)于一個單詞的最大相對頻率,另外一個詞干的值超過此值就可以提升到該單詞之上。在步驟192中,樹中的所有節(jié)點受到遍歷并且標記為未處理。在步驟193中,例程判斷是否樹的所有節(jié)點都已經(jīng)處理過。如是,則例程停止,否則在步驟194中,系統(tǒng)取出下一個未處理節(jié)點并判斷頻率最高的單詞對象的頻率(MostFreqWord),該單詞及以該單詞為詞干的所有單詞的頻率的總和(MostFreqWordTot),以及以某一對象為詞干的所有的單詞的總頻率在與節(jié)點相關(guān)聯(lián)的所有對象中最高的該對象(MostFreqStemTot)。在步驟195中,系統(tǒng)檢查是否MostFreqStemTot至少超過MostFreqWordTot值MinFactor倍。如否,與節(jié)點相關(guān)聯(lián)的默認對象就不改變,而系統(tǒng)返回步驟198,在該步驟節(jié)點標記為已經(jīng)處理之后返回步驟193。如在步驟195中MostFreqWordTot被超過至少MinFactor倍,系統(tǒng)就檢查是斧與節(jié)點相關(guān)聯(lián)的當前默認對象的頻率(MostFreqWord)超過另外一個對象可以提升到一個單詞之上的最大值(MaxWordFreq)。如是,,節(jié)點相關(guān)聯(lián)的當前默認對象就不改變,并且系統(tǒng)返回步驟198。如否,在步驟197中節(jié)點改變,指定與MostFreqStemTot相關(guān)聯(lián)的對象為與節(jié)點相關(guān)聯(lián)的默認對象,之后返回步驟198。需要步驟196中的檢查來防止很常用的詞干提升到常用單詞之上。比如,單詞"for"的詞干"fo"具有很高的頻率,因此對于合理的MinFactor值(比如1.5),在步驟195中的檢查定會滿足,即使常用詞"do"也在同一節(jié)點中出現(xiàn)。單詞"do"明顯具有相對高的頻率,并且如果"do"不作為該節(jié)點的默認對象出現(xiàn),則對多義性消除系統(tǒng)的效率將是巨大的傷害。'II.先進的系統(tǒng)特征l.標點的多義性消除圖l示出本發(fā)明的一個優(yōu)選實施例,其中數(shù)據(jù)鍵56的左上鍵("標點鍵,,)與標點字符句點,短劃和撇號相關(guān)聯(lián)。所有這些字符在多種語言中很常用,比如在英文和法文中。其他字符集合(比如字符逗號,短劃即破折號)可賦予此鍵并利用與本發(fā)明的多義性消除系統(tǒng)方法同樣的原理消除多義性。此系統(tǒng)利用圍繞標點鍵63鍵擊的鍵擊的上下文來判斷應(yīng)該是使用哪一個標點。標點鍵63默認行為是可以修改以適應(yīng)處理某些語言的某些特例。、圖5A和圖5B的流程圖示出系統(tǒng)在激活標點鍵時如何判斷生成哪一個字符。利用與標點鍵63相關(guān)聯(lián)的不同的標點字符生成的不同文本對象添加到選擇列表中。激活標點鍵63的默認解釋由哪一個對象作為第一對象添加到選擇列表來確定。也可以通過激活選擇鍵或通過在顯示的選擇列表中選擇所要求的解釋來選擇另外的替代解釋。圖5A示出在示于圖3的正常系統(tǒng)處理(其中系統(tǒng)對當前輸入的每個鍵擊序列添加應(yīng)該鍵擊)之前處理系統(tǒng)接收到的每個鍵擊的例程判斷哪些單詞對應(yīng)于新的輸入序列并根據(jù)此新序列生成更新的選擇列表。在圖5A中示出的處理出現(xiàn)在圖3的步驟150A和步驟175A中。圖5B示出對新生成的選擇列表進行后處理的例程。在圖5B中示出的處理出現(xiàn)在圖3的步驟164B和步驟1WB中。假設(shè)所有的標志在系統(tǒng)初始化時都已清除。在開始對每個鍵擊進行預(yù)處理時,在圖5A的步驟206中,檢查標志ClearPunctMode。設(shè)定標志ClearPunctMode(在步驟262)以表示在處理下一個鍵擊之前所有的標點檢相關(guān)標志擊緩沖區(qū)應(yīng)清除。如在步驟200發(fā)現(xiàn)此標志設(shè)定,則在步驟202將專門用于標點鍵63處理的所有的標志及緩沖區(qū)清除。同樣的標志擊緩沖區(qū)在系統(tǒng)初始化時也清除。curPunctWorld緩沖區(qū)是用來存儲標點鍵軟件將添加標點字符以生成添加到選擇列表的文本對象。pState標志存儲標點鍵軟件的當前狀態(tài)并區(qū)分標點鍵63激活的上下文的不同的可能場合。如在步驟204中正在處理的當前鍵是標點鍵63,則在步驟206當前默認(或顯示選擇對象)存儲在curPunctWorld緩沖區(qū),并且在步驟208中將標志pState設(shè)定為PUNCT-KEY,表示標點鍵63是最后接收到的鍵。步驟212代表如圖3所示的從步驟151或176開始的鍵擊的正常處理。之后從圖5B所示的連接器D開始繼續(xù)執(zhí)行后處理。如在步驟204中當前鍵不是標點鍵,則在步驟220中,如pState未設(shè)定,則在步驟222中將專門用于標點鍵處理的所有的標志及緩沖區(qū)清除,并在步驟212中繼續(xù)鍵擊的正常處理。如在步驟220中pState標志設(shè)定為非零值,則在步驟230中如當前鍵是多義性數(shù)據(jù)鍵56中的一個,則系統(tǒng)進到步驟232檢查系統(tǒng)Apostrophe—S是否設(shè)定。只有對像英文這樣的語言Apostrophe-S標志設(shè)定為"真",在英文中通常在詞尾在撇號后跟有字母"s"(形成所有格或單詞"is"的短縮形式)。如Apostrophe—S標志設(shè)定為"真",則如在步驟234中發(fā)現(xiàn)pState標志設(shè)定為PUNCT-KEY(表示前一個鍵的激活所標點鍵)并且如在步驟236中當前鍵是與字母"s"相關(guān)聯(lián)的數(shù)據(jù)鍵(圖1中的PQRS鍵),則在步驟238中將pState設(shè)定為AP0S-S,表示接收到標點鍵63并識別到在撇號后面跟有"s"的特別情況。如任何一個檢查(步驟234和步或步驟236)都失敗,則在步驟237中將pState標志設(shè)定為PUNCT-RCVD,表示接收到標點鍵63并且將執(zhí)行標點鍵處理,但是當前無特別情況(如識別到在撇號后面跟有"s")。在任何一種場合,在pState設(shè)定之后,都將在步驟212中繼續(xù)進行鍵擊的正常處理。如在步驟230中,判斷當前鍵不是多義性數(shù)據(jù)鍵,則在步驟250中系統(tǒng)判斷當前鍵是否是退格(Backspace)鍵。如是,則在步驟252中將標點鍵相關(guān)標志及緩沖區(qū)恢復(fù)到其在被刪除的鍵擊之前的狀態(tài),之后在步驟212中繼續(xù)(經(jīng)過連接器C)進行鍵擊(退格鍵)的正常處理。如在步驟250中當前鍵不是退格鍵,則在步驟260中,執(zhí)行一次檢查判斷當前鍵是否是MODE(模式)鍵,選擇鍵或換檔鍵(即不會導(dǎo)致當前單詞被"接受"和輸出到文本緩沖區(qū))。如是,在步驟212繼續(xù)(經(jīng)過連接器C)進行鍵擊處理。否則,在步驟260中判斷此鍵是一個將導(dǎo)致此當前單詞被接受的鍵,并且在步驟262中,清除pState標志和將ClearPunctMode設(shè)定以使所有的標點鍵相關(guān)標志及緩沖區(qū)在接收到下一個鍵擊將在標志202中清除。如在步驟232中判斷Apostrophe—S標志未設(shè)定,則在步驟270中系統(tǒng)判斷Apostrophe-Term是否設(shè)定,并在步驟272中判斷pState是否設(shè)定為PUNCT-APOS,表示標點鍵63接收到且識別到以撇號結(jié)尾的單詞已經(jīng)添加到選擇列表的特別情況。Apostrophe-Term標志設(shè)定為"真"是對像法文這樣的語言,在法文中通常將各種一撇號結(jié)尾的單詞(例如1,,d,等等)與后面的單詞連接而不在兩個單詞中間添加空格。在這種語言中,使系統(tǒng)自動生成隱式"Select"以使用戶能夠立即開始打入后面一個單詞而無需顯式激活選擇鍵是很方便的。如則在步驟270和272中的檢查滿足,則接受當前默認或選擇的單詞并輸出到文本緩沖區(qū)就像激活了選擇鍵一樣。之后在步驟276中,清除當前鍵擊列表,執(zhí)行轉(zhuǎn)向步驟262,在其中清除pState標志并設(shè)定ClearPunctMode標志。另一方面,如在步驟270中系統(tǒng)判斷Apostrophe-Term未設(shè)定,則在步驟272中pState設(shè)定為PUNCT-RCVD,并且在步驟212中繼續(xù)進行鍵擊的正常處理(經(jīng)過連接器C)。在圖5A(詳細情況示于圖3)中的步驟212表示的鍵擊正常處理之后,從連接器D開始執(zhí)行如圖5Bf斤示的后處理。在步驟300中,如pState標志未設(shè)定,則不要求后處理,于是子例程就返^步驟320。步驟302,304和306檢查Apostrophe-Term是否設(shè)定,pState標志是否設(shè)定為PUNCT-KEY和當前默認單詞是否是以撇號結(jié)尾。如3個條件都滿足,則在步驟308將pState標志設(shè)定為PUNCT—AP0S,否則系統(tǒng)轉(zhuǎn)到步驟310而不設(shè)定新的pState值。如在步驟310中,pState標志設(shè)定為P匿T-AP0S或P匿T畫KEY,則在步驟312,314和316中將存儲于curPunctWorld緩沖區(qū)中的文本對象在分別后接句點,短劃和撇號之后添加到選擇列表。如在步驟310的檢查失敗,并且如在步驟330發(fā)現(xiàn)pState設(shè)定為AP0S—S,則在步驟332中將存儲于curPunctWorld緩沖區(qū)中的文本對象在后接撇號及's,之后添加到選擇列表。之后在步驟334,336,338和340中將存儲于curPunctWorld緩沖區(qū)中的文本對象在每個與PQES鍵相關(guān)聯(lián)的字母的后面后接撇號之后添加到選擇列表。之后在步驟342中將pState標志i殳定為PUNCT-RCVD。如在步驟330中pState標志未設(shè)定為AP0S-S,則在步驟352中系統(tǒng)檢查當前選擇列表是否為空。如否,則是在數(shù)據(jù)庫中發(fā)現(xiàn)一個或多個對象與鍵擊緩沖區(qū)中的當前鍵序列(至少包含一次標點鍵激活)顯式匹配。在此場合,子例程就返回到步驟364中而不改變鍵擊緩沖區(qū)中的內(nèi)容以使數(shù)據(jù)庫對象可拼寫為好象那就是用戶的意。否則,只要在數(shù)據(jù)庫中不再存在匹配對象,就在步驟356中將存儲于curPunctWorld緩沖區(qū)中的文本對象在后接短劃之后輸出到選擇列表。在步驟358中,將從鍵擊緩沖區(qū)的開始直到并包含標點鍵的鍵擊為止的鍵擊刪除。之后在步驟360中根據(jù)修改過的鍵擊緩沖區(qū)查詢數(shù)據(jù)庫并生成更新的選擇列表。最后在步驟362中在返回到子例程之前將標點鍵的所有的緩沖區(qū)和標志清除。2.在詞匯模塊存儲器最小化的同時使性能最大化示于圖13的以示于圖10的樹形數(shù)據(jù)結(jié)構(gòu)運行的子例程620的對象認定軟件過程的鍵擊組合中固有的幾種新手段可用來檢索更多的對象詞匯而同時又可利用較少的詞匯模塊存儲器,并且不會增加子例程620的處理時間。根據(jù)輸入詞典中符號的使用頻率將給定詞匯模塊的邏輯符號索引表550的每一行中的符號進行排序,可以使樹形數(shù)據(jù)結(jié)構(gòu)110中的所有節(jié)點400的指令558的大多數(shù)具有等于1的LOGICAL-SYMBOL-INDEX字段555。與此類似,通過將所有節(jié)點400中的像406這樣的所有的包的指令558進行排序而使詞干及單詞對象在對象列表440中以其在該語言中的使用頻率的降序生成,可以使樹形數(shù)據(jù)結(jié)構(gòu)110中的所有節(jié)點400的指令558的大多數(shù)具有等于1的OBJECT-LIST-INDEX字段556。這樣,在樹110中的很多數(shù)據(jù)是冗余的。系統(tǒng)地認定冗余度和通過將鏈接父節(jié)點與子節(jié)點的路徑重新指向并刪除不再被引用的子節(jié)點消除冗余度可導(dǎo)致比原始樹包含少得多的節(jié)點,少得多的指令和少得多的鏈接而仍然可從原始樹檢索到可檢索的每個對象的折疊或巻繞數(shù)據(jù)結(jié)構(gòu)。另外,經(jīng)過其指令在對象列表440中生成類似對象的原始樹的清楚的路徑實例歸并成為折疊樹的公共路徑,此后它們將作為通用(與專用的相對)的對象構(gòu)造規(guī)則,使簡化結(jié)構(gòu)可以比原來用于定義給定詞匯模塊的樹110的結(jié)構(gòu)生成多得多的對象。比如,在一個優(yōu)選實施例中由具有30000英文單詞的列表生成的非折疊詞匯樹可能包含78000條指令。經(jīng)過折疊過程的優(yōu)選實施例的折疊之后,如多義性鍵擊序列和檢索過程是以圖12的流程圖中的優(yōu)選方式實現(xiàn)的話,則經(jīng)過修改的樹可能包含少于29000條指令,比數(shù)字此結(jié)構(gòu)可檢索的單詞對象的數(shù)目要少。此結(jié)果值得注意并且很新穎,因為對于一個鍵擊每個指令的反應(yīng)僅僅是通過后接單個符號只改變對象列表430中的一個對象。這是折疊樹和重復(fù)使用公共指令序列作為通用對象構(gòu)造規(guī)則的檢索軟件產(chǎn)生的結(jié)果。在圖9中示出的節(jié)點是實例。節(jié)點560具有兩個有效鍵,在其有效鍵字段562"010100000"中以"1"表示,在優(yōu)選實施例中"1"的位置表示第二個和第四個鍵禾有效路徑并且具有通到與其相關(guān)聯(lián)的子節(jié)點的指令包和指針566和568。包566包含3個指令"(1,1,O)","(1,2,0)"和"(2,2,2)",前后的指針"P"鏈接560到子節(jié)點。如子例程600已經(jīng)處理過通往子節(jié)點560的鍵擊列表,則子例程620被調(diào)用來處理"2"鍵(該鍵在本實施例中是ABC鍵),之后發(fā)生下面的過程。指令561將把鍵ABC的第一邏輯符號("a")后接于索引1中的老對象以便建立索引1中的新對象。561的第三字段,"0",是STOP-FLAG557的偽值,表示這不是當前包的最后指令,所以對下一個指令563進行解釋。指令563將把鍵ABC的第一邏輯符號("a")后接于索引2中的老對象以便建立索引2中的新對象。新對象的索引將是2,因為新對象的索引是隱含地以指令本身的順序建立的,比如第二指令永遠建立第二對象。563的第三字段,"0",是STOP-FLAG557的偽值,所以對下一個指令567進行解釋。指令567將把鍵ABC的第二邏輯符號("c")后接于索引1中的老對象以便建立索引3中的新對象。567的第三字段,"1",是STOP-FLAG557的真值,表示這是當前包的最后指令,所以子例程620的執(zhí)行將從步驟638轉(zhuǎn)到步驟644??梢詫蓚€或更多的包含不同指令包408的節(jié)點組合成為單個節(jié)點,該節(jié)點可用于與多個節(jié)點獨立時一樣的的目的,這就意味著詞匯樹110中的某些節(jié)點在新的意義上是冗余的。對于本發(fā)明單詞"冗余"用于兩個節(jié)點的含義是通過示于圖14-17中的優(yōu)選實施例中的軟件過程的操作可以將一個節(jié)點去掉。比如,比較圖9中的節(jié)點560和574。鍵2的指令包566和571完全相同,但節(jié)點560的鍵4上的指令570與節(jié)點574的鍵4上的指令572矛盾,兩者不能互相代替,兩個節(jié)點也不能組合成為一個來完成兩者的工作。下面比較節(jié)點560和576。與每個節(jié)點上的鍵2相關(guān)聯(lián)的指令包566和577完全相同。指令包569和578的STOP-FLAG字段557的設(shè)定不同,但該差異不會使它們發(fā)生矛盾。圖14中的子例程620的對象檢索過程的根冬結(jié)果是通過對給定鍵在一個節(jié)點執(zhí)行一組指令生成的新對象列表。附加的對象可后接到對象鈿表的尾部而不會對正確處理該節(jié)點的任何子節(jié)點造成損害。這樣,在578之后執(zhí)行附加的指令不會在節(jié)點576的子節(jié)點的處理中造成錯誤。此過程的本質(zhì)只有在執(zhí)行錯誤的指令或執(zhí)行的指令過少才會遭到破壞。與此類似,在節(jié)點576的鍵9上存在有效鍵不會與在節(jié)點560中缺少鍵9矛盾。因此,節(jié)點560和576是冗余的,并且可以合并成為一個新節(jié)點582,該節(jié)點可達到兩者的凈效應(yīng),并且其作用與兩者的子節(jié)點的父節(jié)點相同??梢岳斫?,在確定冗余度上指針也有作用。在一個優(yōu)選實施例中,在樹中的與不繼續(xù)形成更長單詞的詞干的單詞相關(guān)聯(lián)的鍵擊序列的最后鍵擊中在有效鍵包408中的指針具有特殊值"NULL(零)",這表示再沒有子節(jié)點了。此類節(jié)點稱為"端節(jié)點"。對于具有對兩個節(jié)點是共通的有效鍵的子節(jié)點上的兩個節(jié)點,相應(yīng)的子節(jié)點必定是冗余的,因為其父節(jié)點是冗余的,并且對從子節(jié)點下行的節(jié)點也同樣,一直到到達端節(jié)點或?qū)λ容^的節(jié)點共通的有效鍵序列上不再有后代為止。圖14至17示出為用于壓縮和折疊壓縮類似于圖IO示出的樹IIO的詞匯模塊樹的軟件過程的優(yōu)選實施例的流程圖。圖H為用于建立壓縮詞匯模塊的軟件過程的優(yōu)選實施例的流程圖。在步驟652中,掃描詞典以認定在如圖6中針對法文詞匯模塊所示的物理鍵上出現(xiàn)的符號以外的任何必需的附加多義性符號。在步驟654-656中,對各符號在其相應(yīng)的各鍵上依照其在輸入的詞典中的使用頻率的降序賦予其邏輯索引,與圖7示例中的相同。如給定具有頻率的對象詞典,本行專業(yè)人士很清楚步驟658如何建立110形式的詞匯樹。在步驟660中,認定冗余節(jié)點并將其合并以減少數(shù)據(jù)的重復(fù)并從而將與單個對象相關(guān)聯(lián)的孤立的指令序列轉(zhuǎn)變?yōu)橛糜跈z索多個對象的通用規(guī)則。此過程示于圖15。步驟662從端節(jié)點中認定所有保持為NULL(零)的指針并將其改變?yōu)橹赶蚓哂凶畲蟾腹?jié)點數(shù)的節(jié)點,從而增加模塊中的規(guī)則數(shù)。可以理解,也可以使用其他規(guī)則來賦予子節(jié)點NULL指針,并且此種規(guī)則可根據(jù)正在處理的鍵擊的相關(guān)因子在對象檢索時動態(tài)地應(yīng)用。在步驟中,計算剩余的各獨特指令558及指針404a,以使其可以編碼為獨特的位圖而將較短的位圖賦予較高頻率的指令和地址以節(jié)省空間。在本發(fā)明的一個優(yōu)選實施例中使用Huffman編碼來將最小長度的位圖賦予指令和地址??梢岳斫猓琀uffman編碼技術(shù)是業(yè)內(nèi)公知的,所以毋庸贅言。另外,是多個父節(jié)點的子節(jié)點的節(jié)點可以以特殊的順序存儲以便可快速檢索和減少其定址所需的位(比特)數(shù)。最后,將如上示出的數(shù)據(jù)存儲于步驟666中的文件內(nèi)。在步驟658中建立樹的同時選擇用來描述待存儲的對象的指令558中間,可以理解,當對象是單詞或單詞詞干時,其字符序列包含適宜用來增加樹110中的節(jié)點的冗余的的附加數(shù)據(jù)。比如,英文中并非所有的字母對同樣常見,比如"s"通常與"t"配對。字母對,或稱雙字母組,統(tǒng)計學可用于從前一個字母預(yù)見對象中的最可能的下一個字母。采用這種預(yù)見時,在邏輯符號索引表550中的多義性符號的邏輯順序可動態(tài)地改變以進一步優(yōu)化第一位置的使用。這種預(yù)見可擴展到三個字母,三字母組,并且廣而言之可擴展到n字母組。圖15為折疊詞匯模塊的樹110的軟件過程的優(yōu)選實施例的流程圖。從圖14的流程圖的步驟660進入步驟670。步驟672從圖10的樹110根節(jié)點111下的第一個節(jié)點開始啟動過程。步驟674調(diào)用示于圖16中優(yōu)選實施例的流程圖的子例程690來定位與當前節(jié)點冗余度最大的節(jié)點,如該節(jié)點存在。如目標節(jié)點找到,則判定步驟676將過程指向步驟678,在該步驟中合并冗余節(jié)點,取消樹中的重復(fù)數(shù)據(jù),將多個獨立的指令歸類為共享序列,成為可用于將鍵擊序列與對象關(guān)聯(lián)通用規(guī)則。如判定步驟676失敗,則判定步驟680檢查過程是否完結(jié)。如尚有更多的節(jié)點要處理,流程就轉(zhuǎn)到步驟682去認定另一節(jié)點。圖16為用于在樹110中找尋與給定節(jié)點相比較具有最大冗余度的節(jié)點的軟件過程的優(yōu)選實施例的流程圖。從圖15的流程風的步驟674進入步驟690。步驟692啟動一個位置標志符MAX-SAVING用于測得的冗余度。步驟694從圖10的樹110根節(jié)點lll開始啟動過程。步驟696調(diào)用示于圖17中優(yōu)選實施例的流程圖的子例程710來計算給定節(jié)點與當前節(jié)點的冗余度。判定步驟698檢查冗余度是否大于報告的MAX-SAVING。如是,步驟700記錄臨時發(fā)現(xiàn)的節(jié)點的身份BEST-NODE為相對給定節(jié)點冗余度最大的節(jié)點并且報告的冗余度定為MAX-SAVING。判定步驟702檢查是否所有的節(jié)點都已經(jīng)評估完畢。如否,則流程繼續(xù)轉(zhuǎn)到步驟704,在該步驟中從當前節(jié)點轉(zhuǎn)向下一個節(jié)點。從步驟704流程返回到步驟696。如在判定步驟702中檢查結(jié)果是最后一個節(jié)點已經(jīng)評估,則步驟706將節(jié)點的身份作為冗余度最大者,如有,則返回給給定節(jié)點轉(zhuǎn)到圖15的子例程670的步驟674。圖17為用于計算兩個特定節(jié)點之間的數(shù)字冗余度的軟件過程的優(yōu)選實施例的流程圖。從圖16的流程圖的步驟696進入步驟710。步驟712初始化重復(fù)指令的計算。步驟714將KEY-INDEX初始化為1。步驟716從指定作為參數(shù)的兩個節(jié)點400之中的第一個將與鍵KEY-INDEX相關(guān)聯(lián)的指令包406讀出到子例程并將其置于臨時列表LIST-A中。如鍵KEY-INDEX不是有效鍵,不讀指令。步驟718從指定作為參數(shù)的兩個節(jié)點400之中的第二個將與鍵KEY-INDEX相關(guān)聯(lián)的指令包406讀出到子例程并將其置于臨時列表LIST-B中。如鍵KEY-INDEX不是有效鍵,不讀指令。判定步驟720判斷LIST-A和LIST-B是否有的為空。如否,步驟722從LIST-A和LIST-B各取出一條指令并將各自的剩余指令數(shù)減1。判定步驟724檢查在其LOGICAL-SYMBOL-INDEX和OBJECT-LIST-INDEX字段中指令是否相同。如否,在步驟726中向子例程690的步驟696返回一個失敗代碼表示無冗余。如判定步驟724的判斷為"是",則步驟728將計數(shù)SAVED-INSTRUCTIONS增加1。控制又轉(zhuǎn)到步驟720。如步驟720的檢查是"真",則控制轉(zhuǎn)到判定步驟730,該步驟檢查是否兩個節(jié)點的所有可能的鍵都已經(jīng)比較過。如否,步驟732使KEY-INDEX加1,并且控制轉(zhuǎn)到步驟716。如步驟730的判斷是正,則控制轉(zhuǎn)到步驟734重置KEY-INDEX為1。判定步驟738檢查是否兩個指針有的為空(NULL),端節(jié)點或任何無效鍵的指針為空。如都不空,控制轉(zhuǎn)到步驟740,該步驟利用子例程710分別檢查由兩個不空指針指向的子節(jié)點是否為冗余。步驟740的結(jié)果在判定步驟742中檢查。如兩個子節(jié)點不是冗余的,在步驟744中返回一個失敗代碼。否則認為兩個子節(jié)點為具有某一數(shù)字分數(shù)的冗余節(jié)點,該數(shù)字由步驟746累積。判定步驟748檢查是否與最后鍵(在優(yōu)選實施例中的鍵9)相關(guān)聯(lián)的指針已經(jīng)檢查過。如否,步驟752將KEY-INDEX增加1并將控制轉(zhuǎn)到步驟736。如在判定步驟748中的檢查判斷所有的指針都已經(jīng)檢驗過,則在子例程進入步驟710時將原來認定的兩個節(jié)點的累積冗余度值返回。可以理解,冗余度的數(shù)值計算可加權(quán)以便考慮附加的因素,如在每個節(jié)點的分支數(shù)及作為子節(jié)點指向節(jié)點的父節(jié)點數(shù)??梢岳斫?,如兩個節(jié)點因為與某一個鍵相關(guān)聯(lián)的指令的排序而不是冗余的,則可以將與輸入詞典中的低頻單詞相關(guān)聯(lián)的指令重新排序而不會影響與較高頻率對象相關(guān)聯(lián)的指令的優(yōu)先級,從而可增加樹的冗余度。III.代表性系統(tǒng)的操作圖18A-圖18B示出在代表性應(yīng)用簡化鍵盤多義性消除系統(tǒng)中的便攜式計算機52的顯示器53。在打開便攜式計算機的電源之后,文本區(qū)66和選擇列表區(qū)70是空的。在圖18A中,用戶打入短語"Thisisatest"。詞匯模塊認定最后4個鍵擊TUV,DEF,PQRS,TUV的最可能的解釋是單詞"test"并且將此解釋臨時放在插入點900,而且還將此單詞放在選擇列表中作為默認解釋901。選擇列表中的此第一條目周圍有一個實線框(表示其為隱含選擇對象),并且也臨時放在文本區(qū)的插入點900處,周圍也帶有實線框。詞匯模塊也認定此單詞的解釋"vest"及詞干解釋"vert",并將這些解釋放在選擇列表中。圖5A和圖5B中示出的標點鍵處理軟件將文本對象"test"存儲于curPunctWorld緩沖區(qū)中。在圖18B中,用戶隨后按下.-,標點鍵63。在數(shù)據(jù)庫+沒有對象與此后面帶有標點鍵63的4個鍵TUV,DEF,PQRS,TUV的鍵擊序列相匹配。這樣,出現(xiàn)在選擇列表中的只有的幾個文本對象是由標點鍵處理軟件添加的,包括curPunctWorld緩沖區(qū)中的"test"后接句點911,短劃913和撇號914。結(jié)果形成的默認選擇列表對象是"test."911,該對象也臨時放在文本區(qū)的插入點910處。在圖18C中,用戶其后按下空格鍵922。這生成一個顯式空格字符,它結(jié)束當前的鍵擊序列并使泉統(tǒng)接受臨時放置的文本"test."。也輸出一個后面的空格,之后系統(tǒng)光標920出現(xiàn)。鍵擊緩沖區(qū)現(xiàn)在是空的,并且當前選擇列表921也是空的。這顯示了標點鍵63的一種默認行動-當在激活空格鍵(或選擇鍵)之前激活時,如在包含標點字符的數(shù)據(jù)庫中沒有相匹配的對象,則原來的默認文本對象帶一個句點輸出。在為英文(標志Apostrophe-S設(shè)定為"真")設(shè)計的系統(tǒng)場合下,圖18D示出在圖18B的情況下隨后用戶按下PQRS鍵932的結(jié)果。這將引起圖5B中的步驟322至342的處理過程,并導(dǎo)致標點鍵處理軟件按以下順序在選擇列表中添加"test,s","test-s","test-r","test-p"和"test-q,,。這樣,得到的默i人選擇列表對象是"test,s"931,該對象也臨時放在文本區(qū)的插入點930處。圖18E示出在圖18D的情況下隨后用戶按下TUV鍵932(意圖是打入帶短劃的單詞"test-run")的結(jié)果。這將引起圖5B中的步驟332至340的處理過程,并導(dǎo)致標點鍵處理軟件"test-"輸出作為所接受的文本,并且鍵擊緩沖區(qū)修改為只包含最后兩個鍵擊PQRS及TUV。根據(jù)這兩個鍵擊對數(shù)據(jù)庫進行查詢(在圖5B的步驟360中)得到如圖18E所示的結(jié)果。文本對象"st"是頻率最高的,所以也就作為默認選擇文本對象"st"941出現(xiàn),并且也臨時放置文本區(qū)的插入點940處。圖18F示出在圖18E的情況下隨后用戶按下MNO鍵952以結(jié)束打入帶短劃的單詞"test-run")的結(jié)果。不會發(fā)生特別的標點鍵處理,因為在圖5B的步驟362中在處雍前面的鍵擊時所有的標志都已經(jīng)清除。于是系統(tǒng)就單純地處理當前鍵序列PQRS,TUV,MN0。根據(jù)這些鍵擊對數(shù)據(jù)庫進行查詢得到如圖18F所示的結(jié)果。文本對象"run"是頻率最高的,所以也就作為默i人選擇文本對象"run"951出現(xiàn),并且也臨時放置文本區(qū)的插,入點950處。圖18G-圖18K示出在為法文(標志Apostrophe-T6rm設(shè)定為"真")設(shè)計的系統(tǒng)場合下的示例。在詞示例中,用戶打入文本對象"c,est"該對象實際上是"c"與單詞"est"的連接。圖18G示出用戶按下ABC鍵962的結(jié)果。選擇列表示出與法文ABC鍵相關(guān)聯(lián)的單個字符對象,包含帶重音符的&,a和S,不會發(fā)生特別的標點鍵處理,因為所有相關(guān)的標志在前面都已經(jīng)清除。于是系統(tǒng)就單純地處理當前鍵序列ABC。根據(jù)這些鍵擊對數(shù)據(jù)庫進行查詢得到如圖18G所示的結(jié)果。文本對象"&"是頻率最高的,所以也就作為默認選擇文本對象"&"961出現(xiàn),并且也臨時放置文本區(qū)的插入點960處。在圖18H中,用戶隨后按下.-,標點鍵63。在數(shù)據(jù)庫中存儲有對象"c,"和"a-",并在圖3的步驟156至160中在查詢數(shù)據(jù)庫之后添加到選擇列表中,結(jié)果得到的默認選擇文本對象是"c,"971。結(jié)果,進行圖5B中的檢查300至306,并且在步驟308將pState標志設(shè)定為PUNCT-AP0S。在選擇列表中的"c,"971和"a-"973之后,標點鍵處理軟件(在圖5B中的步驟312,314和316中)添加由curPunctWorld的"a"與后接句,盧、974,短劃975和撇號976構(gòu)成的對象"&.","和"V"。得到的為默認選擇文本對象是"c,"971,并且也臨時放置文本區(qū)的插入點970處。在圖181中,隨后用戶按下DEF鍵982。因為由于處理前面圖18H的鍵擊的結(jié)果使pState標志設(shè)定為PUNCT-AP0S,所以標點鍵處理軟件執(zhí)行圖5A中的步驟274,276和262。輸出當前默認選擇列表對象"c,"作為被接受的文本983,并且系統(tǒng)簡單地處理得到的單鍵序列DEF作為添加當前鍵到清除的鍵擊緩沖區(qū)的結(jié)果。根據(jù)這些查詢數(shù)據(jù)庫,此鍵擊得到的結(jié)果是圖181中示出的選擇列表。文本對象"d"是頻率最高的,所以也就作為默認選擇文本對象"d"981出現(xiàn),并且也臨時放置文本區(qū)的插入點980處。圖18J至圖18K示出隨后用戶按下PQRS鍵992(在18J中)和TUV鍵997(在18K中)以結(jié)束打入單詞"est"的結(jié)果。不會發(fā)生特別的標點鍵處理,因為在圖5A的步驟262中在處理前面的鍵擊時ClearPunctMode標志已經(jīng)設(shè)定,所有標點鍵的緩沖區(qū)和標志都已經(jīng)在圖5A的步驟202中清除。于是系統(tǒng)就單純地處理當前鍵序列DEF,PQRS,TUV。根據(jù)這些鍵擊對數(shù)據(jù)庫進行查詢得到如圖18K所示的結(jié)果。文本對象"est"是頻率最高的,所以也就作為默認選擇文本對象"est"996出現(xiàn),并且也臨時放置文本區(qū)的插入點995處。法文包含4艮多很常用的冠詞,前置詞和代詞,如le,ne,ce,se,je,que,tu和te,這些詞在置于以元音開始的單詞的前面時,將其元音改變?yōu)槠蔡柌⑶掖蜃謺r與后面的單詞之間不留空格。如果沒有在上邊的示例中示出的標點鍵63支持的動作,這種經(jīng)常發(fā)生的單詞對象的結(jié)合就會要求用戶另外激活選擇鍵以便在打入第二對象(est)之前結(jié)束第一個單詞對象(在示例中的c,)。這樣,標點鍵63支持結(jié)尾為撇號的單詞自動連接的功能可顯著提高像法文這樣的語言的系統(tǒng)效率及自然性。雖然本發(fā)明的優(yōu)選實施例已經(jīng)示出和描述,但應(yīng)該理解,在不脫離本發(fā)明的精神和范圍的條件下可進行各種改變。比如,本行的專業(yè)人士將會理解簡化鍵盤多義性消除系統(tǒng)的鍵盤54的數(shù)據(jù)鍵數(shù)目可少到3個多到20個。此處公開的多義性消除技術(shù)同樣可應(yīng)用于不同尺寸的鍵盤。與標點鍵63相關(guān)聯(lián)的特殊字符可改變。比如,本行的專業(yè)人士將會理解在某些應(yīng)用中4j點可代之以逗點。另外,在不同的上下文中生成什么標點字符的選擇也是可以改變的。比如,連續(xù)兩次激活標點鍵63后再按下a可生成長破折號"一",而連續(xù)3次激活標點鍵可生成"..."。本行的專業(yè)人士也將會認識到在計算機中可常用附加的詞匯模塊,比如包含法律名詞,醫(yī)學名詢,以及外語名詞的詞匯模塊。通過系統(tǒng)菜單,用戶可配置系統(tǒng)使附加的詞匯單詞在可能的單詞列表中首先出現(xiàn)或最后出現(xiàn),采用特殊的彩色或加亮。結(jié)果,在后附的權(quán)利要求書中,可以理解本發(fā)明可以通過與此處所專門描述的方式不同的方式實現(xiàn)。權(quán)利要求1.一種用于對用戶輸入的多義性輸入序列進行多義性消除的多義性消除系統(tǒng),此多義性消除系統(tǒng)的構(gòu)成包括(a)具有多個輸入的用戶輸入裝置,多個輸入的每個都與多個字符相關(guān)聯(lián),輸入序列是在每次通過操作用戶輸入裝置進行選擇時生成的,其中生成的輸入序列對應(yīng)于被選定的輸入序列,并且其中生成的輸入序列具有文本解釋,該文本解釋由于與每個輸入相關(guān)聯(lián)的多個字符而具有多義性;(b)包含多個對象的存儲器,多個對象的每個都與輸入序列相關(guān)聯(lián),其中存儲器中的多個對象中的每個還都與使用頻率相關(guān)聯(lián);(c)為用戶顯示系統(tǒng)輸出的顯示器;(d)與用戶輸入裝置,存儲器和顯示器連接的處理器,所述處理器的構(gòu)成包括(i)用于從存儲器內(nèi)的多個對象中認定至少一個與生成的每個輸入序列相關(guān)聯(lián)并具有最高使用頻率的對象的認定部件;(ii)用于顯示至少一個認定的與每個生成的輸入序列相關(guān)聯(lián)的對象作為生成的輸入序列的文本解釋的輸出部件,其中與每個生成的輸入序列相關(guān)聯(lián)的對象以使用頻率的降序排序;以及(iii)用于在檢測到用戶輸入裝置的一個或多個無多義性選擇輸入操作時選擇認定對象中的一個輸入到文本輸入顯示位置的選擇部件;其中所述多義性消除系統(tǒng)的特征在于至少多個輸入中的一個是與多個標點字符相關(guān)聯(lián)的多義性標點輸入,并且其中處理器,在檢測到選擇多義性標點輸入并將其添加到輸入序列,臨時輸出一個終止于相關(guān)聯(lián)的標點字符的輸入序列的相關(guān)聯(lián)的文本解釋,并且在檢測到選擇下一個輸入時,其中當所述下一個輸入是指定輸入的第一集合的元素,其中所述指定輸入第一集合的每個都是與下一個同所述臨時輸出的標點字符不同的字符相關(guān)聯(lián)的,肯定前面輸出的標點字符,其中當所述下一個輸入是指定輸入的一個或多個替代集合元素,其中所述指定輸入的一個或多個替代集合的每個都是與下一個同所述臨時輸出的標點字符不同的字符相關(guān)聯(lián)的,利用與多義性標點輸入相關(guān)聯(lián)的多個標點字符的另一個代替前面輸出的標點字符,其中的代替標點字符是由指定輸入的代替集合確定的,其中所述下一個輸入是其一個元素。2.如權(quán)利要求1的系統(tǒng),其中所述第一集合和所述指定輸入的一個或多個替代集合的組成是根據(jù)在所述存儲器中是否存在一個或多個與包含添加的多義性標點輸入的所述輸入序列相關(guān)聯(lián)的對象而確定的。3.如權(quán)利要求1的系統(tǒng),其中所述第一集合和所述指定輸入的一個或多個替代集合的組成是根據(jù)在所述存儲器中是否存在一個或多個與包含添加的多義性標點輸入并且還在所述輸入是多義性輸入時添加所述下一個輸入的所述輸入序列相關(guān)聯(lián)的對象而確定的。4.如權(quán)利要求1的系統(tǒng),其中所述第一集合和所述指定輸入的一個或多個替代集合的組成是根據(jù)在所述存儲器中是否存在一個或多個與以選擇多義性標點輸入開始并在所述下一個輸入是多義性輸入時添加所述下一個輸入而確定的。5.如權(quán)利要求1的系統(tǒng),其中多義性標點輸入與句點,短劃及撇號相關(guān)聯(lián)。6.如權(quán)利要求2的系統(tǒng),其中處理器,在檢測到選擇多義性標點輸入并將所述多義性標點輸入添加到當前生成的輸入序列以形成不與存儲器中的任何對應(yīng)于完整單詞的對象相關(guān)聯(lián)的序列時,臨時輸出一個相關(guān)聯(lián)的標點字符,并且其中處理器在檢測到選擇下一個輸入時,其中所述下一個輸入是與一個或多個字母相關(guān)聯(lián)但不與字母"s"相關(guān)聯(lián)的多義性輸入,將前面輸出的標點字符改變?yōu)槎虅?,在選擇多義性標點輸入之前肯定前面臨時輸出的當前輸出的輸A序列的文本解釋,并開始新生成的其構(gòu)成包括所述下一個多義性輸入的輸入序列,并且其中處理器在檢測到選擇下一個輸入,其中所述下一個輸入是與一個或多個包含字母"s"的字母相關(guān)聯(lián)的多義性輸入時,在選擇多義性標點輸入之前肯定前面輸出的當前生成的輸入序列的文本解釋,開始新生成的其構(gòu)成包括所緣下一個多義性輸入的輸入序列并以撇號替代前面輸出的標點字符和臨時添加字母"S"作為所述新生成的輸入序列的文本解釋,并且其中處理器在檢測到選擇另外一個下一個輸入,其中所述下一個輸入是與一個或多個字母相關(guān)聯(lián)的多義性輸入時,在選擇多義性標點輸入之前以短劃替代前面輸出的撇號,并開始新生成的其構(gòu)成包括與一個或多個包含字母"S"的字母相關(guān)聯(lián)的后面跟著所述另外一個下一個多義性輸入的輸入序列,并輸出存儲器中的與所述新生成的在所述短劃之后的輸入序列相關(guān)聯(lián)的對象,并且其中處理器在檢測到選擇下一個輸入時,其中所述下一個輸入不與一個或多個字母相關(guān)聯(lián),肯定前面輸出的標點字符。7.如權(quán)利要求4的系統(tǒng),其中處理器,在檢測到選擇多義性標點輸入并將所述多義性標點輸入添加到當前生成的輸入序列以形成不與存儲器中的任何對象相關(guān)聯(lián)的序列時,接受在檢測到選擇多義性標點輸入之前臨時顯示的具有最高使用頻率的與生成的輸入效率相關(guān)聯(lián)的對象,臨時輸出一個默認的與多義性標點輸入相關(guān)聯(lián)的標點字符,并且建立一個長度為多義性標點輸入的新生成的輸入序列。8.如權(quán)利要求1的系統(tǒng),其中處理器,在檢測到在生成的輸入序列中出現(xiàn)選擇多義性標點輸入時生成一個可由用戶輸入裝置一次或多次選擇到無多義性選擇輸入的替代的文本解釋的序列,其中所述的替代的文本解釋序列的第一個的生成是通過將一個與多義性標點輸入相關(guān)聯(lián)的標點字符添加到在其輸入是生成的輸入序列中與輸入序列相關(guān)聯(lián)的具有最高使用頻率的對象上,其后是添加在多義性標點輸入之后輸入的與生成的輸入序列中的在多義性標點輸入之前輸入的輸入序列相關(guān)聯(lián)的具有最高使用頻率的對象,其后是與生成的輸入序列中的先于多義性標點輸入輸入的輸入序列相關(guān)聯(lián)的包含具有越來越低的使用頻率的對象的其,對象組合,以及與生成的輸入序列中的后于多義性標點輸入輸入的輸入序列相關(guān)聯(lián)的具有越來越低的使用頻率的對象,并且使生成的這些對象以所述兩個對象的混合頻率次序的降序生成。9.如權(quán)利要求1的系統(tǒng),其中處理器,在檢測到選擇一個或多個后面為第一選擇的無多義性選擇時,選擇具有最高使用頻率的對象并向顯示器輸出所述選擇的文本對象及單個后面空格,并且其中在檢測到每個后面重復(fù)的連續(xù)的無多義性選擇輸入時從認定的對象中選擇具有下一個較低使用頻率的對象,并且在先于前面輸出的單個空格的其顯示位置以每個所述的連續(xù)選擇的文本對象替代前面輸出的文本對象。10.如權(quán)利要求2的系統(tǒng),其中處理器,在檢測到選擇多義性標點輸入并將所述多義性標點輸入添加到當前生成的輸入序列以形成與存儲器中的具有最高使用頻率的結(jié)尾為與所述多義性標點輸入相關(guān)聯(lián)的完整的單詞對象相關(guān)聯(lián)的序列時,并且在檢測到下一個輸入的選擇,其中所述的下一個輸入是與一個或多個字母相關(guān)聯(lián)的多義性輸入時,肯定所述完整的單詞對象的輸出是當前生成的包含多義性標點輸入的選擇,并開始一個新生成的構(gòu)成所述下一個多義性輸入的輸入序列。11.一種用于對用戶輸入的多義性輸入序列進行多義性消除的方法,此方法的構(gòu)成包括(a)由多個輸入生成輸入序列,多個輸入中的每個與多個字符相關(guān)聯(lián),生成的輸入序列具有的文本解釋由于與每個輸入相關(guān)聯(lián)的多個字符而具有多義性;(b)存儲多個對象,多個對象的每個都包括與輸入序列和像用頻率相關(guān)聯(lián)的字符序列;(c)從多個對象中認定至少一個,生成的每個輸入序列相關(guān)聯(lián)并具有最高使用頻率的對象;(d)顯示至少一個認定的與每個生成的輸入序列相關(guān)聯(lián)的對象作為生成的輸入序列的文本解釋,其中與每個生成的輸入序列相關(guān)聯(lián)的對象以使用頻率的降序排序;以及(e)在檢測到一個或多個無多義性輸入選擇時選擇認定對象中的一個作為生成的輸入序列的文本解釋;其中多個輸入中的至少一個是與多個標點字符相關(guān)聯(lián)的多義性標點輸入,本方法的特征在于包括如下步驟(a)檢測包含多義性標點輸入的輸入序列的生成;(b)在檢測到選擇所述多義性標點輸入時,臨時輸出一個相關(guān)聯(lián)的標點字符;(c)在檢測到選擇下一個輸入時,其中所述下一個輸入是指定輸入的第一集合的元素,并且指定輸入的第一集合中的每一個與不同于所述臨時輸出的標點字符的下一個字符的輸出相關(guān)聯(lián),肯定前面輸出的標點字符;(d)在檢測到選擇所述下一個輸入時,其中當所述下一個輸入是指定輸入的一個或多個替代集合元素,其中所述指定輸入的一個或多個替代集合的每個都是與下一個同所述臨時輸出的標點字符不同的字符相關(guān)聯(lián)的,利用與多義性標點輸入相關(guān)聯(lián)的多個標點字符的另一個代替前面輸出的標點字符,其中的代替標點字符是由指定輸入的代替集合確定的,其中所述下一個輸入是其一個元素。12.如權(quán)利要求11的系統(tǒng),其中所述第一集合和所述指定輸入的一個或多個替代集合的組成是根據(jù)在所述存儲器中是否存在一個或多個與包含添加的多義性標點輸入的所述輸入序列相關(guān)聯(lián)的對象而確定的。13.如權(quán)利要求11的系統(tǒng),其中所述第一集合和所述指定輸入的一個或多個替代集合的組成是根據(jù)在所述存儲器中是否存在一個或多個與包含添加的多義性標點輸入并且還在所述輸入是多義性輸入時添加所述下一個輸入的所述輸7y序列相關(guān)聯(lián)的對象而確定的。14.如權(quán)利要求11的系統(tǒng),其中所述第一集合和所述指定輸入的一個或多個替代集合的組成是根據(jù)在所述存儲器中是否存在一個或多個與以選擇多義性標點輸入開始并在所述下一個輸入是多義性輸入時添加所述下一個輸入而確定的。15.如權(quán)利要求12的方法,還包括(a)在檢測到選擇多義性標點輸入并將所述多義性標點輸入添加到當前生成的輸入序列以形成不與存儲器中的任何對象相關(guān)聯(lián)的序列時,臨時輸出一個相關(guān)聯(lián)的標點字符;以及(b)在檢測到選擇下一個輸入時,其中所述下一個輸入是與一個或多個字母相關(guān)聯(lián)但不與字母"s"相關(guān)聯(lián)的多義性輸入,(i)將前面輸出的標點字符改變文短劃;(ii)在選擇多義性標點輸入之前肯定當前生成的輸入序列的前面輸出的文本解釋;(iii)開始新生成的其構(gòu)成包括所述下一個多義性輸入的輸入序列;以及(c)在檢測到選擇下一個輸入,其中所述下一個輸入是與一個或多個包含字母"s"的字母相關(guān)聯(lián)的多義性輸入時,(i)在選擇多義性標點輸入之前肯定前面輸出的當前生成的輸入序列的文本解釋;(ii)開始新生成的其構(gòu)成包括所述下一個多義性輸入的輸入序列;(iii)以撇號替代前面輸出的標點字符和臨時添加字母"s"作為所述新生成的輸入序列的文本解釋;以及(iv)在檢測到選擇另外一個下一個輸入,其中所述下一個輸入是與一個或多個字母相關(guān)聯(lián)的多義性輸入時,以短劃替代前面輸出的撇號,并開始新生成的其構(gòu)成包括與一個或多個包含字母"s"的字母相關(guān)聯(lián)的后面跟著所述另外一個下一個多義性輸入的輸入序列,并輸出存儲器中的與所述新生成的在所述短劃之后的輸入序列相關(guān)聯(lián)的對象,并且(d)在檢測到選擇下一個輸入時,其中所述下一個輸入不與一個或多個字母相關(guān)聯(lián),肯定前面輸出的標點字符。16.如權(quán)利要求14的方法,還包括在檢測到選擇多義性標點輸入并將所述多義性標點輸入添加到當前生成的輸入序列以形成不與存儲器中的任何對象相關(guān)聯(lián)的序列時,(a)在檢測到選擇多義性標點輸入之前接受臨時顯示的與生成的輸入序列相關(guān)聯(lián)的具有最高使用辨率的對象;(b)臨時輸出一個與多義性標點輸入相關(guān)聯(lián)的默認標疼字符;以及(C)建立一個長度為多義性標點輸入的新生成的輸入序列。17.如權(quán)利要求11的方法,還包括在檢測到在生成的輸入序列中出現(xiàn)選擇多義性標點輸入時,(a)生成一個可由用戶輸入裝置一次或多次選擇到無多義性選擇輸入的替代的文本解釋的序列,其中所述的替代的文本解釋序列的第一個的生成是通過將一個與多義性標點輸入相關(guān)聯(lián)的標點字符添加到在其輸入是生成的輸入序列中與輸入序列相關(guān)聯(lián)的具有最高使用頻率的對象上,其后是添加在多義性標點輸入之后輸入的與生成的輸入序列中的在多義性標點輸入之前輸入的輸入序列相關(guān)聯(lián)的具有最高使用頻率的對象,其后是與生成的輸入序列中的先于多義性標點輸入輸入的輸入序列相關(guān)聯(lián)的包含具有越來越低的使用頻率的對象的其他對象組合,以及與生成的輸入序列中的后于多義性標點且使生成的這些對象以所述兩個對象的混合頻率次序的降序生成。(b)在檢測到用戶輸入裝置的一次或多次的無多義性選擇輸入操作時選擇這些替代文本解釋中的一個。18.如權(quán)利要求11的方法,還包括(a)在檢測到選擇一個或多個后面為無多義性選擇的第一選擇時,選擇具有最高使用頻率的對象并輸出所述選擇的文本對象及單個后面空格;以及(b)在檢測到每個后面重復(fù)的連續(xù)的無多義性選擇輸入時,(i)從認定的對象中選擇具有下一個較低使用頻率的對象;并且(ii)在先于前面輸出的單個空格的其顯示位置以每個所述的連續(xù)選擇的文本對象替代前面輸出的文本對象。19.如權(quán)利要求l2的方法,還包括在檢測到選擇多義性標點輸入并將所述多義性標點輸入添加到當前生成的輸入序列以形成與存儲器中的具有最高使用頻率的結(jié)尾為與所述多義性標點輸入相關(guān)聯(lián)的完整的單詞對象相關(guān)聯(lián)的序列時,并且在檢測到下一個輸入的選擇,其中所述的下一個輸入是與一個或多個字母相關(guān)聯(lián)的多義性輸入時,(a)肯定所述完整的單詞對象的輸出是當前生成的包含多義性標點輸入的輸入序列的文本解釋;以及(b)開始一個新生成的構(gòu)成所述下一個多義性輸入的輸入序列。全文摘要一種簡化鍵盤多義性消除系統(tǒng)。鍵盤有12-16個鍵,9個鍵帶數(shù)字字母和其他符號,并且該9個鍵合另外1個用作10個數(shù)字鍵。文本輸入鍵是有多義性的。用戶利用選擇鍵或其他無多義性鍵限定每個單詞輸入的結(jié)束而可將輸入的鍵擊序列與多個具有同樣的鍵擊序列的單詞匹配。輸入的每鍵擊序列經(jīng)過全部詞匯對比處理而選擇出匹配的并一使用頻率的降序顯示給用戶。以特殊格式存儲的詞匯支持壓縮而不會增加處理時間。起始字母匹配的長單詞的詞干也顯示以減小使用頻率。如與詞干相關(guān)聯(lián)的單詞使用頻率高就作為默認單詞對象顯示。激活與多個標點相關(guān)聯(lián)的多義性鍵可根據(jù)上下文減小多義性消除處理。文檔編號G06F15/02GK101149645SQ200710137398公開日2008年3月26日申請日期1998年9月24日優(yōu)先權(quán)日1997年9月25日發(fā)明者克里福德·A·庫什勒,切里爾·格朗伯克,戴爾·L·格羅夫,愛德華·P·弗林切姆,馬丁·T·金申請人:蒂吉通信系統(tǒng)公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
五台县| 普格县| 洛阳市| 子长县| 子长县| 雷波县| 嵩明县| 泾源县| 武安市| 屏山县| 红河县| 离岛区| 昌江| 泽普县| 阜康市| 海丰县| 鹿泉市| 榆林市| 曲水县| 淳化县| 怀柔区| 华坪县| 昔阳县| 桦甸市| 永川市| 安康市| 吉木乃县| 龙口市| 遂昌县| 西丰县| 潍坊市| 赞皇县| 新化县| 德州市| 上饶县| 凉山| 客服| 凤城市| 嘉兴市| 竹溪县| 合山市|