專利名稱:漢字變換裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及漢字變換裝置,尤其涉及將注音字母串變換成漢字串的漢字變換裝置。
漢語中使用的漢字超過一萬個。如何能從中正確地選出漢字并高速度輸入是包括文字處理等在內(nèi)的漢語計算機處理中最重要的問題。以往的漢字輸入方式有話音識別、文字識別、鍵盤等。其中,利用鍵盤最為可靠,因此廣泛地付諸實用。而利用鍵盤的輸入方式劃分成藉助漢字讀音和藉助漢字字形這兩種。籍助漢字字形的輸入方式必須預(yù)先記住輸入規(guī)則,而默記這些規(guī)則需要相當長的時間,并且要達到熟練的程度也需要時間。籍助漢字讀音的輸入方式較為自然而且最易學(xué)習(xí),因此在當前,當然也包括將來,這是漢字輸入的主流方式。
輸入讀音的漢字變換裝置其例子有中國臺灣專利申請75105838號。圖6是該輸入讀音的漢字變換裝置結(jié)構(gòu)圖。圖中,10是輸入部,輸入任意長度的拼音、標音、羅馬字等注音字母串,由鍵盤構(gòu)成。18是詞典部,將作為變換對象的單詞與注音字母對應(yīng),由制造者預(yù)先存入(永久存儲)。當同一發(fā)音有多個單詞時,按照使用頻度、筆劃數(shù)的順序排列變換先后,這與日語文字處理器的詞典部無異。14是NCHAR寄存器,存儲所輸入注音字母串的音節(jié)數(shù)。12、13是PTR和NP寄存器,分別在注音字母串變換成單詞時使用。PTR寄存器12存儲變換起始位置,即輸入注音字母串中開始進行變換的位置。NP寄存器13在輸入的注音字母串變換成單詞時存儲變換對象的單詞長度。15是比較部,在某一長度的單詞作變換處理之后,將上述NP寄存器13的值減1,從而將漢字數(shù)以及字母數(shù)均減小1個后的單詞作為變換對象。16是變換控制部,將上述PTR寄存器12的設(shè)定位置從所輸入注音字母串的最初位置開始依次朝后移動,檢查有無已變換的音節(jié),如果尚未有音節(jié)得到變換,并且詞典部18中存在對應(yīng)的單詞,則變換成該對應(yīng)單詞,從而將先輸入的音節(jié)串優(yōu)先作為變換對象。17是詞典檢索部,將上述變換控制部16送來的音節(jié)串作為檢索關(guān)鍵詞,檢索詞典部18,查找相應(yīng)的單詞。23是輸出部,由陰極射線管(CRT)及打印部構(gòu)成,輸出上述變換控制部16檢出的單詞。
上述結(jié)構(gòu)的漢字變換裝置采用最長一致法將輸入的注音字母串變換成漢字。
此處所謂的最長一致法在將注音字母串變換成漢字時所采用的原則是,第1,以變換對象單詞構(gòu)成漢字字數(shù)多的為優(yōu)先,第2,以先輸入的注音字母串為優(yōu)先。
該方法主要通過上述PTR寄存器12、NP寄存器13、NCHAR寄存器14、比較部15以及變換處理部16來實現(xiàn),其作用將在后文的實施例中詳細說明。
但是,在上述漢字變換裝置中,采用最長一致法之后僅以詞典部記錄的單詞為變換單位。因此,當作為變換對象的注音字母串中某個音節(jié),與其前面的音節(jié)和后面的音節(jié)都對應(yīng)有字數(shù)相同的單詞(后文稱為前單詞、后單詞)時,優(yōu)先變換出與先輸入的音節(jié)對應(yīng)的單詞(前單詞),然后,自然將前、后單詞共用的音節(jié)除去之后變換余下的音節(jié)。因此,當前面的音節(jié)對應(yīng)多個單詞,并且未作出正確選擇的情況下,會有下文所示那樣的變換差錯。
例如,輸入“有一千個”,“一”對應(yīng)的音節(jié)與前面的“有”、后面的“千”所對應(yīng)的音節(jié)都有對應(yīng)的單詞。這時,由于前單詞和后單詞漢字數(shù)相同,所以,優(yōu)先將先輸入的“有一”所對應(yīng)的音節(jié)作漢字變換。但是,詞典部18中對應(yīng)于“you3yi4”(對應(yīng)于“有一”的音節(jié))記錄有“有益”,從使用頻度出發(fā),“有益”優(yōu)先于“有一”,因此,優(yōu)先變換前單詞的結(jié)果是“有益”,而后面的“qian”(漢字“千”對應(yīng)的音節(jié))單獨成為變換對象。但是,在詞典部18中記錄有多個對應(yīng)于該發(fā)音的漢字,而且出于使用頻度的原因,輸出時“牽”先于“千”,從而優(yōu)先變換成“牽”。結(jié)果后單詞不作漢字變換,產(chǎn)生完全錯誤的變換結(jié)果“有益牽個”。同樣,若要輸入“西元一九八八年”,與輸入的“九八”相當?shù)淖⒁糇帜复癹iou3ba1”在詞典部18中對應(yīng)記錄有單詞“酒(外1)”,(外1)吧因而錯誤變換成“西元一酒(外1)九年”。此外,在輸入“二十時”時,漢字變換裝置不會將表示數(shù)量的“十”與表示數(shù)量單位的“時”作為不同的漢字處理,因而在“十”及“時”相當?shù)淖⒁糇帜复癝hi2Shi2”處兩個音節(jié)都變換成“時”,結(jié)果錯誤變換成“二時時”。
而且,這雖不限制漢語文章,但文章中會用到很多數(shù)字。因此,在輸入漢語文章時,上述那樣由數(shù)字引起的錯誤變換發(fā)生極多。雖然如此,但不能將數(shù)字逐個地記錄在詞典中。如果這樣的話,舉一個極端的例子,“西元”和“年號”等也必須逐年全部記錄,詞典且不用說,漢字變換裝置也會變得大型、成本高并且處理速度慢。
本發(fā)明有鑒于此,目的在于減少漢語文章作漢字輸入時由數(shù)字引起的變換差錯。
為了實現(xiàn)上述目的,本發(fā)明的漢字變換裝置包括記錄有注音字母串及其對應(yīng)單詞的詞典部;根據(jù)最長一致法取出作為漢字變換對象的音節(jié)的音節(jié)取出部;以音節(jié)取出部取出的音節(jié)作為檢索關(guān)鍵詞,檢索上述詞典部,查出由相應(yīng)漢字構(gòu)成的單詞的詞典檢索部;當詞典檢索部查出單詞時將取出的音節(jié)串變換成漢字的漢字變換部;記錄有注音字母串及其對應(yīng)數(shù)量單位字的數(shù)量單位字字典;記錄有注音字母串及其對應(yīng)數(shù)字的數(shù)字字典;數(shù)量單位字檢出部,對照上述數(shù)量單位字字典,檢查由上述音節(jié)取出部取出成為當前漢字變換對象而在詞典中沒有相應(yīng)單詞的音節(jié)串最后的音節(jié)是否為數(shù)量單位字的讀音;數(shù)字檢出部,當上述數(shù)量單位字檢出部查出數(shù)量單位字時,接收該通知,并對照上述數(shù)字字典,檢查該音節(jié)串最后音節(jié)前的所有音節(jié)是否為數(shù)字的讀音;數(shù)量詞生成部,當上述數(shù)字檢出部判定該音節(jié)串最后音節(jié)前的所有音節(jié)都為數(shù)字的讀音時,接收該通知,將除去最后音節(jié)之外的各個數(shù)字音節(jié)所對應(yīng)的數(shù)字以及最后一音節(jié)所對應(yīng)的數(shù)量單位字組合成一體,生成作為漢字變換對象的數(shù)量詞。
通過上述結(jié)構(gòu),本發(fā)明可實現(xiàn)下列作用。
音節(jié)取出部根據(jù)最長一致法,從輸入的注音字母中取出作為漢字變換對象的音節(jié)串。詞典檢索部以上述音節(jié)取出部取出的音節(jié)串為檢索關(guān)鍵字,對記錄有注音字母串及由其對應(yīng)漢字構(gòu)成的單詞的詞典部進行檢索,查出由相應(yīng)漢字構(gòu)成的單詞。數(shù)量單位字檢出部對照數(shù)量單位字字典,檢查上述音節(jié)取出部取出作為變換對象但在詞典中不存在對應(yīng)單詞的音節(jié)串最后的音節(jié)是否為數(shù)量單位字的讀音。進而當數(shù)量單位字檢出部查出數(shù)量單位字時,數(shù)字輸出部檢查所取出的音節(jié)串除最后音節(jié)之外的所有音節(jié)是否為數(shù)字的讀音。如果上述數(shù)字檢出部判定,由上述音節(jié)取出部取出并成為當前變換對象的音節(jié)串除最后音節(jié)之外都是數(shù)字的發(fā)音,則數(shù)量詞生成部將最后音節(jié)之外的各音節(jié)所對應(yīng)數(shù)字以及最后音節(jié)的數(shù)量單位字組合在一起,生成作為漢字變換對象的數(shù)量詞。
圖1是本發(fā)明的漢字變換裝置一個實施例的結(jié)構(gòu)圖。
圖2是以上述實施例的寄存器初始化部為主的動作流程圖。
圖3是以上述實施例的變換處理部為主的動作流程圖。
圖4是上述實施例中數(shù)量單位字字典的數(shù)據(jù)記錄情況示意圖。
圖5是上述實施例中數(shù)字字典的數(shù)據(jù)記錄情況示意圖。
圖6是已有漢字變換裝置的結(jié)構(gòu)圖。
下面根據(jù)實施例說明本發(fā)明。
圖1是本發(fā)明的漢字變換裝置一個實施例的結(jié)構(gòu)圖。圖2、3是該實施例的處理流程圖。下面參照
本實施例的結(jié)構(gòu)和作用。
圖1中,對與圖6所示已有技術(shù)裝置有相同結(jié)構(gòu)、作用的部分標以相同符號,除了與最長一致法有關(guān)的部分之外,原則上省略其詳細說明。10是輸入部,18是詞典部。14是表示所輸入注音字母串音節(jié)數(shù)的NCHAR寄存器。
在漢語中,一個漢字對應(yīng)一個音節(jié),因此,所輸入注音字母串的音節(jié)數(shù)即為要變換的漢字數(shù)。另外,通常多個注音字母表示一個音節(jié),即表示一個漢字,所以本說明書中原則上采用“注音字母串”一詞,該詞也包括單個注音字母。此外,“音節(jié)”一詞從前后文可以清楚地理解為有多個音節(jié)時,作為“音節(jié)串”,但日語中由于沒有單、復(fù)數(shù)的區(qū)別,所以這一用詞不很嚴密。漢語的單詞有時也由一個漢字構(gòu)成。因此,有時一個注音字母相當于一個漢語單詞。12、13分別是將注音字母串變換成單詞時用到的PTR寄存器和NP寄存器。PTR寄存器12存儲變換處理起始位置,即輸入的注音字母串進行變換處理的開始位置,NP寄存器13存儲所輸入注音字母串變換成單詞時的變換單詞長度,即單詞構(gòu)成漢字數(shù),換句話說是音節(jié)數(shù)。亦即,上述兩個寄存器的存儲內(nèi)容分別設(shè)定為ptr、np,則從輸入的注音字母串第ptr個音節(jié)開始的np個連續(xù)音節(jié)作為漢字變換對象,成為詞典檢索部17對詞典部18作檢索時的檢索關(guān)鍵詞。(下文中,nchar、np、ptr分別表示NCHAR、NP、PTR寄存器所存儲的整數(shù)值)。11是將NCHAR寄存器14、NP寄存器13、PTR寄存器12的值初始化的寄存器初始化部,圖2示出其動作流程。后文將對此作詳細說明,其作用大致為,計算所輸入注音字母串的音節(jié)數(shù),在NCHAR寄存器14中設(shè)定該值,同時,若該值大于詞典部18中收入的最長單詞的漢字數(shù)max(本例中設(shè)為8),則NP寄存器13中設(shè)定上述max值;若該值不大于max,則NP寄存器13中設(shè)定所輸入注音字母串的音節(jié)數(shù),然后將PTR寄存器12的值設(shè)為1。15是比較部,不斷檢查是否(np+ptr)>(nchar+1),若該關(guān)系成立,則將NP寄存器13的值減1,同時,使寄存器初始化部11再次將PTR寄存器12的值設(shè)定為1。21是數(shù)量單位字字典,預(yù)先記錄(永久存儲)數(shù)量單位字的讀音以及對應(yīng)的數(shù)量單位字。圖4大致示出其記錄情形。此處所謂的數(shù)量單位是圖4所示的“個”、“年”、“時”、“只”等,用于表示物體、人和事情等的時間、長度、個數(shù)、重量等絕對量和絕對座標位置的單詞,也包括“人”、“個”等日語助數(shù)詞所對應(yīng)的單詞。22是數(shù)字字典,存儲數(shù)字的讀音及對應(yīng)數(shù)字,更正確地講是漢語數(shù)字。其記錄情形如圖5所示。20是數(shù)量詞檢出部,該部對由上述音節(jié)取出部取出成為當前變換對象的音節(jié)串,判斷為詞典檢索部17對詞典部18檢索的結(jié)果不存在對應(yīng)單詞時,以該音節(jié)串最后音節(jié)作為檢索關(guān)鍵詞,檢索數(shù)量單位字字典21,查核該音節(jié)是否為數(shù)量單位讀音,如果查到對應(yīng)的數(shù)量單位字,則接著對該音節(jié)串最后音節(jié)前的所有音節(jié),以每一音節(jié)為檢索關(guān)鍵詞,檢索數(shù)字字典22,查核各音節(jié)是否為數(shù)字讀音。19是數(shù)量詞生成部,如果上述數(shù)量詞檢出部20判定由上述音節(jié)取出部取出成為當前變換對象的音節(jié)串除最后音節(jié)之外都是數(shù)字,則本數(shù)量詞生成部將最后音節(jié)之外的各個音節(jié)所對應(yīng)的數(shù)字與最后音節(jié)的數(shù)量單位字組合,看作為單詞,生成作為一個漢字變換對象的數(shù)量詞。在本例中,由于數(shù)字的絕對數(shù)量少,上述數(shù)量詞檢出部還兼作數(shù)字檢出部。16是變換處理部,其動作流程如圖3所示,后文將詳細說明。變換處理部16從輸入的注音字母串第ptr個音節(jié)起在連續(xù)的np個音節(jié)中檢查是否有已變換成漢字的音節(jié)。如果存在已作變換的音節(jié),則將PTR寄存器12的值增1。如果沒有已變換的音節(jié),而且詞典部18等中存在應(yīng)變換的單詞和數(shù)量詞,則將該單詞和數(shù)量詞變換成漢字,同時將ptr加上np。若既無可變換的單詞也無可變換的數(shù)量詞,則僅將ptr加1,不作其它任何變換。17是詞典檢索部,以上述變換處理部16送來的音節(jié)作為檢索關(guān)鍵詞,從詞典部18中取出相應(yīng)的單詞,若詞典部18內(nèi)記錄有多個對應(yīng)單詞,則選取記錄在前、可能性最高的單詞作為候選詞,傳送給上述變換處理部16。23是輸出部,輸出上述變換處理部16變換出的結(jié)果。
下面根據(jù)圖2說明寄存器的初始化動作流程。
在S1,將計算音節(jié)數(shù)的寄存器置零。
在S2,從輸入部輸入注音字母串。
在S3,檢查當前輸入的注音字母是否聲調(diào)鍵。是,則進至S4。否,則進至S5。
在S4,將計算音節(jié)數(shù)的寄存器內(nèi)容增1,返回S2。
在S5,檢查當前輸入的注音字母是否輸入結(jié)束鍵。如果是輸入結(jié)束鍵,則進至S6。若否,例如是顯示位置的換行操作鍵等,則返回S2,等待下一注音字母輸入。
在S6,判斷當前輸入的音節(jié)數(shù)是否大于8。若在7以下,則進至S8,若在8以上,則進至S7。
在S7,將NP寄存器的值設(shè)定為8。
在S8,將NP寄存器的值設(shè)定為當前輸入的音節(jié)數(shù)。
步驟S7、S8是為優(yōu)先變換音節(jié)數(shù)多的單詞而進行的。
在S9,將NCHAR寄存器的值設(shè)定為當前輸入的音節(jié)數(shù)。
在S10,將PTR寄存器的值設(shè)定為1。本步驟是為優(yōu)先變換先輸入的音節(jié)而進行的。
下面根據(jù)圖3,以變換處理部的動作流程為主,說明各部分的作用。
在S11,從注音字母串第ptr個音節(jié)開始取出np個連續(xù)的音節(jié)。
在S12,檢查在S11取出的音節(jié)中是否有已變換成漢字的音節(jié)。如果有,則進至S16,反之則到S13。
在S13,檢查詞典部是否記錄有與S11中取出的音節(jié)對應(yīng)的單詞。如果查出對應(yīng)的單詞,則進至S14,反之到S17。
在S14,將輸入的注音字母串中從第ptr個音節(jié)開始的np個連續(xù)音節(jié)變換成S13中查出的單詞(包括一個漢字)后,進至S15。
在S15,將PTR寄存器的值加np。這是為了將已變換成漢字的np個音節(jié)之后輸入的音節(jié)作為下一漢字變換對象。
在S16,將PTR寄存器的值加1。
在S17,檢查NP寄存器的當前值是否大于1。在大于1時進至S18,若為1,則至S16。
在S18,檢查S11中取出的音節(jié)中最后的音節(jié)是否為數(shù)量單位字的讀音。如果是,進至S19,如果不是,至S16。
在S19,檢查在S11取出的音節(jié)中前np-1個音節(jié)是否都為數(shù)字的讀音。如果都是數(shù)字的讀音,則到S20。若否,則至S16。
在S20,將前np-1個音節(jié)所對應(yīng)的數(shù)字與最后音節(jié)所對應(yīng)的數(shù)量單位字組合,看作為單詞,生成作為一個漢字變換對象的數(shù)量詞。然后,將所輸入音節(jié)中第ptr個音節(jié)開始的np個連續(xù)音節(jié)變換成相當于該數(shù)量詞的漢字和漢數(shù)字。再進至S15。
在S21,判斷(np+ptr)是否大于(nchar+1)。如果是,則進至S22。若否,則至S11。
在S22,將NP寄存器的值減1,將PTR寄存器的值設(shè)定為1,然后進至S23。這樣,從輸入音節(jié)串的前端開始,以音節(jié)數(shù)減少一個的單詞作為變換對象,重新開始檢索。
在S23,檢查NP寄存器的值是否為零。若是零,則所輸入音節(jié)已全部變換成漢字,在此結(jié)束漢字變換處理。若不是零,則至S11。
下面,根據(jù)音節(jié)字母輸入串“Wo3men5er4shi2shi2zai4jian4”,說明上述結(jié)構(gòu)的本實施例漢字變換裝置的具體動作。
首先,為了方便理解,將詞典部中對應(yīng)該輸入串的單詞示出如下“Wo3men5我們”“Shi2Shi2時時”“Shi2zai4實在”“zai4jian4再見”如圖2所示,輸入上述注音字母串(S2)后,寄存器初始化部依據(jù)輸入鍵,就每一音節(jié)劃分聲調(diào)符號,再求出音節(jié)數(shù)(S3-S5)。上述輸入串有7個音節(jié),因而作為音節(jié)數(shù),NCHAR寄存器置7(S9),同時,由于該值小于詞典部中記錄的最長單詞(如前所述,構(gòu)詞漢字數(shù)最多)的字母數(shù)8(本例的詞典部收納的單詞的漢字數(shù)最多為8)(S6),將NP寄存器的初始值設(shè)為7(S8),并且將PTR寄存器設(shè)為1(S10)。NP寄存器在此的作用是存儲作為當前漢字變換對象單詞的漢字數(shù)。另外,PTR寄存器的值ptr表示作為當前詞典檢索對象的注音字母串最前端的位置是上述輸入注音字母的第ptr個音節(jié)。這時,由于最初設(shè)定為1,所以從輸入的注音字母串最前端的位置開始,檢索詞典部是否記錄有構(gòu)成音節(jié)為7個的單詞,即以所輸入的全部音節(jié)為檢索對象。
根據(jù)輸入的音節(jié)數(shù)設(shè)定PTR寄存器、NP寄存器、NCHAR寄存器的初始值之后,如圖3所示,由變換處理部首先根據(jù)PTR寄存器和NP寄存器的值,從輸入部送來的注音字母串中取出第1至第7個連續(xù)的音節(jié)串“Wo3men5er4shi2shi2zai4jian4”(S11),進而檢查有無已變換的音節(jié)(S12)。在此情況下,輸入的全部音節(jié)當然都未作漢字變換,因此,將這些音節(jié)作為檢索關(guān)鍵詞送至詞典檢索部,對詞典部進行檢索(S13)。由于不存在與此對應(yīng)的單詞,并且當前NP寄存器的值大于1(S17),所以檢查最后的音節(jié)是否為數(shù)量單位字的讀音(S18)。若判定最后的音節(jié)不是數(shù)量單位字的讀音,則應(yīng)該將作為變換對象的音節(jié)串朝后移動一個音節(jié),并只將PTR寄存器的值增加1,不作變換處理(S16)。這時,比較部判定(np+ptr)的值大于(nchar+1)的值(S21),結(jié)果判定后面不能取出輸入的音節(jié)串來變換音節(jié)數(shù)為7的單詞。因此,將變換對象的音節(jié)數(shù)定為6后,最初輸入音節(jié)串中應(yīng)作檢索的NP寄存器值減1,成為6,同時將PTR寄存器的值再次設(shè)定為1(S22)。NP寄存器的值當然不是O(S23),所以取出后面6個連續(xù)的音節(jié),開始作為漢字變換處理。
根據(jù)PTR寄存器的新值和NP寄存器的值依次取出的“Wo3men5er4shi2shi2zai4”、“men5er4shi2shi2zai4jian4”(S11)也是未作變換的音節(jié)(S12),但詞典部內(nèi)沒有對應(yīng)的單詞(S13),并且最后的音節(jié)也不是數(shù)量單位字的讀音(S18),因而不作變換處理。只是將PTR寄存器的值增1(S16)。結(jié)果,在處理“men5er4shi2shi2zai4jian4”時,PTR寄存器的值為3,比較部判定(np+ptr)>(nchar+1)(S21)。因此,判定不能取出長度為6的單詞,將NP寄存器的值減1,成為5。又將PTR寄存器的值設(shè)定為1(S22)。這樣就以音節(jié)數(shù)為5的單詞作為漢字變換的對象,開始進行處理。
NP寄存器的值為5時,根據(jù)PTR寄存器和NP寄存器的值從輸入的注音字母串中首次取出的音節(jié)串“Wo3men5er4shi2shi2”(S11)都未作變換(S12),因此以此為檢索關(guān)鍵詞,查找詞典部。其中未記錄與此對應(yīng)的單詞(S13)。但最后的音節(jié)“shi2”是記錄在數(shù)量單位字字典中的數(shù)量單位字讀音(S18)。因此,接著檢查前面的4個音節(jié)“Wo3”、“men5”、“er4”、“shi2”是否都是記錄在數(shù)字字典中的數(shù)字讀音。這時,在前的“Wo3”、“men5”不是數(shù)字的讀音,因而不生成數(shù)量詞和作漢字變換,僅將PTR寄存器的值增1(S16)。這時,比較部判定(np+ptr)小于(nchar+1)(S30),因而PTR寄存器加1,并根據(jù)該新的值,取出后輸入的音節(jié)數(shù)為5的注音字母串“men5er4shi2shi2zai4”(S11)。該注音字母串還未作變換(S12),因此以此為檢索鍵,檢索詞典部。該部不存在對應(yīng)單詞(S13),而最后的音節(jié)不是數(shù)量單位字的讀音(S18),所以不作變換處理。僅僅將PTR寄存器的值增1(S16)。這樣就取出“er4shi2shi2zai4jian4”。但是,這一情況下與前面的音節(jié)串結(jié)果相同,PTR寄存器的值也增加1。這時,比較部判定(np+ptr)>(nchar+1)(S21),從而判定后面不能取出變換音節(jié)數(shù)為5的單詞所用的音節(jié)串,所以將NP寄存器的值減1,成為4。又將PTR寄存器的值再次設(shè)定為1(S22)。當然,在此情況下,NP寄存器的值不是0(S23),可繼續(xù)取出后面的連續(xù)音節(jié),作變換處理。
NP寄存器的值變成4時,根據(jù)PTR寄存器和NP寄存器的值從輸入的注音字母串中先取出的連續(xù)音節(jié)串“Wo3men5er4shi2”以及后取出的音節(jié)串“men5er4shi2shi2”(S11)全部音節(jié)都未作變換(S12),因而以此為檢索關(guān)鍵詞,檢索詞典部(S13),但其中未記錄相應(yīng)的單詞,而最后的音節(jié)“shi2”是記錄在數(shù)量單位字字典中的數(shù)量單位字讀音(S18),“Wo3”、“men5”卻不是數(shù)字的讀音,所以與前面的音節(jié)串一樣,不作漢字變換處理。因此,重復(fù)PTR寄存器的值增1的動作(S16)。然后,同樣地按照輸入順序取出“er4shi2shi2zai4”和“shi2shi2zai4jian4”=連續(xù)音節(jié)串(S11)。這些音節(jié)串都未作漢字變換(S12),但詞典部內(nèi)沒有對應(yīng)的單詞(S13),并且最后的音節(jié)不是數(shù)量單位字的讀音(S18),因而不作任何變換處理,只是將PTR寄存器的值依次增加1(S16)。在處理“shi2shi2zai4jian4”時,PTR寄存器的值成為5,比較部判定(np+ptr)大于(nchar+1)(S21)。因此,判定后面不能取得用于4音節(jié)單詞漢字變換的音節(jié)串,并將NP寄存器的值減1,成為3。而且PTR寄存器的值再次設(shè)定為1(S22)。接著取出3個連續(xù)的音節(jié),開始作漢字變換處理。
NP寄存器的值為3,PTR寄存器的值為1時,首先取出連續(xù)的音節(jié)串“Wo3men5er4”(S11)。該串全未作漢字變換(S12),在詞典部內(nèi)也沒有對應(yīng)的單詞(S13),并且最后的音節(jié)不是數(shù)量單位字的讀音(S18),所以不作變換處理。僅僅將PTR寄存器的值增1,變成2(S12)。接著,取出滯后一音節(jié)輸入的音節(jié)串“men5er4shi2”(S11)。該串都未作變換(S12),在詞典部內(nèi)又沒有對應(yīng)的單詞(S13),并且最后的音節(jié)“shi2”是數(shù)量單位字字典中記錄的數(shù)量單位字讀音(S18),但“men5”不是數(shù)字的讀音。因此,與前面的音節(jié)串一樣,不作變換處理,僅僅將PTR寄存器的值增大1(S16)。然后取出再滯后一音節(jié)輸入的音節(jié)串“er4shi2shi2”(S11)。該串全部音節(jié)都未作漢字變換(S12),詞典部內(nèi)無對應(yīng)單詞(S13),并且最后的音節(jié)“shi2”是記錄在數(shù)量單位字字典中的數(shù)量單位字讀音(S18)。因此,檢查“er”、“shi2”是否為數(shù)字字典中記錄的數(shù)字讀音。這時,“er4”、“shi2”都是數(shù)字字典中記錄的數(shù)字讀音。因此,將第一個音節(jié)“er4”及第二個音節(jié)“shi2”所對應(yīng)的數(shù)字“二”、“十”與第三個音節(jié)“shi2”對應(yīng)的數(shù)量單位字“時”組合,成一個數(shù)量詞“二十時”,從而將注音字母串“er4shi2shi2”變換成所生成的數(shù)量詞“二十時”(S20)。接著,將PTR寄存器的值加上變換成漢字的音節(jié)數(shù)3,變成6(S15)。比較部判定(np+ptr)大于(nchar+1)(S21),從而判定已經(jīng)完成音節(jié)數(shù)為3的單詞的漢字變換。因此,將NP寄存器的值減1,以音節(jié)數(shù)為2的單詞作為處理對象。而且PTR寄存器的值再度設(shè)定為1(S22)。然后,用最長一致法進行同樣的漢字處理。
NP寄存器的值為2,PTR寄存器的值為1時,先取出兩個連續(xù)音節(jié)“Wo3men5”(S11),各個音節(jié)尚未作漢字變換(S12),而且詞典部內(nèi)有對應(yīng)的單詞“我們”,所以將其變換成漢字“我們”,并在PTR寄存器的值1上加NP寄存器的值2,成為3(S15)。接著,取出后面輸入的連續(xù)音節(jié)串“er4shi2”、“shi2shi2”、“shi2zai4”(S11)。這些音節(jié)串都包含有已變換成漢字的音節(jié)(S12),所以不作任何處理。但PTR寄存器的值逐次增1,最后達到6。這時,取出連續(xù)音節(jié)串“zai4jian4”(S11),其所有音節(jié)都未作漢字變換(S12),而且詞典部內(nèi)記錄有對應(yīng)的單詞“再見”,所以將“zai4jian4”變換成漢字“再見”,并將PTR寄存器的值6再加上NP寄存器的值2,成為8(S15)。比較部判定(np+ptr)大于(nchar+1)(S21),不能處理音節(jié)數(shù)為2的單詞變換。然后將NP寄存器的值減1,成為1。而PTR寄存器的值再度設(shè)定為1(S22)。這時,NP寄存器的值不是0(S23),開始處理音節(jié)數(shù)為1的單詞的漢字變換。
然而,NP寄存器的值成為1時,所取出的音節(jié)都已變換成漢字,因而不管PTR寄存器的值為多少,不作任何處理。最后,比較部判定(np+ptr)大于(nchar+1)(S30),將NP寄存器的值減1,成為0。變換處理部從而判定所輸入的音節(jié)串已完成漢字變換處理,然后向輸出部傳送變換結(jié)果“我們二十時再見”。
以上根據(jù)實施例對本發(fā)明作了說明,但本發(fā)明不限于上述實施例,在不改變其要旨的情況下,當然可以作適當變形后實施。例如①不必如圖2所示那樣,在輸入結(jié)束鍵按下之后才開始將輸入的注音字母串變換成漢字,在聲調(diào)鍵按下之后,即每輸入一個音節(jié),就從上一次輸入的注音字母串結(jié)束位置起變換當前輸入的注音字母串。這種情況下結(jié)果不變。
②數(shù)量單位字及漢語數(shù)字不是單獨地存儲在數(shù)量單位字字典和數(shù)字字典中,而是用不同的標志分別表示,然后一起記錄在詞典部中。數(shù)量單位檢出部和數(shù)字檢出部進而根據(jù)各個標志進行檢出。
③在漢語數(shù)字中,比“億”大的單位“兆”、“京”等和數(shù)量單位字“振”、“里”等很少使用。因此,附加一種功能,由文章輸入者根據(jù)作為輸入對象的漢語文章的具體情況,選擇是否將這些詞作為本發(fā)明的作用對象。
④也可以采用其它的裝置來使用最長一致法。另外,數(shù)字檢出部的作用也可以構(gòu)造成一旦發(fā)現(xiàn)有一個字不是數(shù)字的發(fā)音,就中止后續(xù)的檢出作業(yè)。
如上所述,根據(jù)本發(fā)明,用最長一致法將輸入的音節(jié)串變換成漢語文字時,若作為變換對象的音節(jié)串最后的音節(jié)是數(shù)量單位字,并且其余音節(jié)均為數(shù)字的讀音,則將對應(yīng)的漢語數(shù)字及數(shù)量單位字組合成一個較大變換單位的數(shù)量詞后,看作為單詞,一起變換成漢字,而且優(yōu)先于較短的單詞作漢字變換。因此,在“有一千個”之類的文章中,由于未能適當?shù)胤珠_處理數(shù)量詞“一千個”而產(chǎn)生的變換差錯可消除,漢字變換的正確率得以提高。
權(quán)利要求
1.一種漢字變換裝置,包括記錄有注音字母串及其對應(yīng)單詞的詞典部;根據(jù)最長一致法取出作為漢字變換對象的音節(jié)的音節(jié)取出部;以音節(jié)取出部取出的音節(jié)作為檢索關(guān)鍵詞,檢索上述詞典部,查出由相應(yīng)漢字構(gòu)成的單詞的詞典檢索部;當詞典檢索部查出單詞時將取出的音節(jié)串變換成漢字的漢字變換部;其特征在于,還包括記錄有注音字母串及其對應(yīng)數(shù)量單位字的數(shù)量單位字字典;記錄有注音字母串及其對應(yīng)數(shù)字的數(shù)字字典;數(shù)量單位字檢出部,對照上述數(shù)量單位字字典,檢查由上述音節(jié)取出部取出進而為當前漢字變換對象而在詞典中沒有相應(yīng)單詞的音節(jié)串最后的音節(jié)是否為數(shù)量單位字的讀音;數(shù)字檢出部,當上述數(shù)量單位字檢出部查出數(shù)量單位字時,接收該通知,對照上述數(shù)字字典,檢查該音節(jié)串取后音節(jié)前的所有音節(jié)是否為數(shù)字的讀音;數(shù)量詞生成部,當上述數(shù)字檢出部判定該音節(jié)串最后音節(jié)前的所用音節(jié)都為數(shù)字的讀音時,接收該通知,將除去最后音節(jié)之外的各個數(shù)字音節(jié)所對應(yīng)的漢語數(shù)字以及最后音節(jié)所對應(yīng)的數(shù)量單位字組合成一體,生成作為漢字變換對象的數(shù)量詞。
全文摘要
本發(fā)明的漢字變換裝置,由音節(jié)取出部按最長一致法從輸入注音字母串未作漢字變換的音節(jié)中取出變換對象。詞典檢索部以此為檢索關(guān)鍵詞,檢索詞典部有無對應(yīng)單詞。若無,則數(shù)量單位字檢出部檢查音節(jié)串最后音節(jié)是否為數(shù)量單位字的讀音。如果是,則數(shù)字檢出部檢查該音節(jié)前的所有音節(jié)是否為數(shù)字的讀音。如果是,則數(shù)量詞生成部將對應(yīng)的數(shù)字及數(shù)量單位字組合成一數(shù)量詞,再由變換處理部作漢字變換。
文檔編號G06F3/023GK1096601SQ9311433
公開日1994年12月21日 申請日期1993年11月6日 優(yōu)先權(quán)日1993年6月15日
發(fā)明者周峻慧, 謝用勛, 林啟軒 申請人:松下電器產(chǎn)業(yè)株式會社