專(zhuān)利名稱(chēng):一種全新的聯(lián)機(jī)手寫(xiě)漢字識(shí)別方法和手寫(xiě)輸入方法
漢字手寫(xiě)輸入是建立在漢字識(shí)別基礎(chǔ)上的一種方法,它靠計(jì)算機(jī)自動(dòng)認(rèn)識(shí)人寫(xiě)在紙或介質(zhì)上的漢字。其最大優(yōu)點(diǎn)是輸入方便自然,使用者無(wú)須再學(xué)習(xí),同時(shí)也為不希望許多人介入的保密資料輸入計(jì)算機(jī)提供了方便,所以手寫(xiě)輸入是辦公自動(dòng)化中不可缺少的文字輸入設(shè)備,它對(duì)于擴(kuò)大計(jì)算機(jī)在國(guó)民經(jīng)濟(jì)各部門(mén)的應(yīng)用具有實(shí)際意義。
漢字識(shí)別有聯(lián)機(jī)和脫機(jī)兩種,由于漢字本身的復(fù)雜,使得機(jī)器識(shí)別的難度增大。手寫(xiě)輸入利用的是聯(lián)機(jī)手寫(xiě)漢字識(shí)別技術(shù),它是漢字識(shí)別中最簡(jiǎn)單的一種類(lèi)型。
國(guó)外的字符識(shí)別機(jī),早在五十年代就投入實(shí)際使用。到七十年代,技術(shù)已經(jīng)相當(dāng)成熟。其印刷文字輸入速度達(dá)到每秒數(shù)千字符,拒識(shí)率小于萬(wàn)分之一,誤識(shí)率小于十萬(wàn)分之一。不僅如此,國(guó)外對(duì)于漢字識(shí)別也進(jìn)行了大量的研究工作。
日本早在1977年就完成了“圖象信息處理系統(tǒng)”中印刷漢字的識(shí)別裝置。該裝置識(shí)別速度為每秒100字,識(shí)別率達(dá)到99.9%;1984年,日本研制了識(shí)別2300字的多體印刷漢字識(shí)別裝置,識(shí)別率為99.88%,識(shí)別速度大于每秒100字,代表了當(dāng)時(shí)印刷漢字識(shí)別的最高水平。
我國(guó)在七十年代開(kāi)始進(jìn)行漢字識(shí)別的研究,當(dāng)時(shí)主要用于郵政信函分揀中的字符識(shí)別,以及計(jì)算機(jī)輸入用的英文、數(shù)字、符號(hào)的識(shí)別。后來(lái)一些大學(xué)、研究所開(kāi)始對(duì)印刷體和手寫(xiě)體漢字識(shí)別進(jìn)行研究,取得了一些成果。其中聯(lián)機(jī)手寫(xiě)漢字識(shí)別,即我們通常所說(shuō)的手寫(xiě)板的進(jìn)展最受人們的關(guān)注。十多年前,軍方首先研制出壓敏型圖形輸入板,用普通的鋼筆或元珠筆,即可在PC機(jī)上實(shí)現(xiàn)聯(lián)機(jī)手寫(xiě)漢字識(shí)別,其識(shí)別率達(dá)到98%。其后上海、電子部某研究所以及一些大學(xué)都研制出各種手寫(xiě)輸入器,在普通圖形輸入板和PC機(jī)上實(shí)現(xiàn)了手寫(xiě)漢字聯(lián)機(jī)識(shí)別。
最近幾年來(lái),國(guó)內(nèi)外漢字聯(lián)機(jī)識(shí)別裝置的研究開(kāi)發(fā)非?;钴S,各種手寫(xiě)板紛紛面世爭(zhēng)奪市場(chǎng)。人們看到,隨著科技和辦公自動(dòng)化的發(fā)展,漢字聯(lián)機(jī)識(shí)別裝置已經(jīng)走向?qū)嵱谩?br>
現(xiàn)在的手寫(xiě)板在價(jià)格上較前有所降低,使用性能上比較穩(wěn)定可靠,識(shí)別率也有所提高。但是它仍然存在不小的問(wèn)題第一是輸入速度;第二是識(shí)別率;第三是價(jià)格。
在許多研究者看來(lái),要使手寫(xiě)板提高速度是沒(méi)有可能的。他們認(rèn)為,事情總是一利一弊,用手寫(xiě)比起鍵盤(pán)輸入方便自然,怎么可能同時(shí)要求它快!因此,更多的專(zhuān)家和廠商關(guān)心的是提高識(shí)別率和降低成本,在性能和價(jià)格比中尋找新的市場(chǎng)要么去生產(chǎn)低價(jià)位、對(duì)用戶(hù)書(shū)寫(xiě)限制較嚴(yán)的低檔產(chǎn)品;要么去研制開(kāi)發(fā)能識(shí)別不受限制的各種自由書(shū)寫(xiě)體的高檔產(chǎn)品。專(zhuān)家們更青睞于后者,他們期待手寫(xiě)板能做到象人作筆記時(shí)所用的字體和速度來(lái)書(shū)寫(xiě),能識(shí)別行書(shū)手寫(xiě)漢字,不過(guò)這樣一來(lái),對(duì)于機(jī)器識(shí)別的要求就會(huì)大大提高,成本也會(huì)相應(yīng)地增加。
總之,有鑒于現(xiàn)狀,目前手寫(xiě)板的市場(chǎng)定位往往還只是針對(duì)輸入量不大、對(duì)輸入速度要求不高的一個(gè)群體。從這里我們也看到了手寫(xiě)板的局限和存在的問(wèn)題,能否做到既快又好還省錢(qián),這是漢字聯(lián)機(jī)識(shí)別有待于解決的問(wèn)題,也是國(guó)內(nèi)外專(zhuān)家正在研究、攻克的一個(gè)難題。
本發(fā)明的目的就是為了克服上述現(xiàn)有技術(shù)的缺陷,為漢字聯(lián)機(jī)識(shí)別提供一種全新的、極為簡(jiǎn)單、省事的漢字識(shí)別方法和輸入方法。采用這種方法能夠解決人們認(rèn)為手寫(xiě)板不可能解決的輸入速度問(wèn)題,實(shí)現(xiàn)既快又好、造價(jià)低而且對(duì)使用者要求也低的綜合性?xún)?yōu)良效果。
有關(guān)專(zhuān)家提出的漢字聯(lián)機(jī)識(shí)別自由書(shū)寫(xiě)體問(wèn)題,最終目的也是為了提高手寫(xiě)板的輸入速度,這種思路的出發(fā)點(diǎn)是通過(guò)加強(qiáng)計(jì)算機(jī)軟件的性能來(lái)實(shí)現(xiàn)的。但此方案即使可行,研制生產(chǎn)的成本也會(huì)大大增加,而識(shí)別率能達(dá)到什么指標(biāo)也還是個(gè)問(wèn)號(hào)。本發(fā)明從另一個(gè)完全不同的角度出發(fā),既能解決手寫(xiě)板的速度問(wèn)題和識(shí)別問(wèn)題,同時(shí)還能大大降低生產(chǎn)成本。
能夠?qū)崿F(xiàn)上述目的的按照本發(fā)明的新的聯(lián)機(jī)手寫(xiě)漢字識(shí)別方法和手寫(xiě)輸入方法是,先將漢字的單筆劃分成若干類(lèi)。需要加以說(shuō)明的是,依據(jù)不同的分類(lèi)“標(biāo)準(zhǔn)”,可以分成五類(lèi)、六類(lèi)或者十類(lèi)、八類(lèi)不等,但這些方案總體上都是相同的。
以下結(jié)合
本發(fā)明的第一個(gè)實(shí)施方案,它將單筆劃分成六大類(lèi)。
圖1是按照本發(fā)明將漢字單筆劃分成六類(lèi)并與6個(gè)數(shù)字相對(duì)應(yīng)的示意圖。
圖2是傳統(tǒng)的“聯(lián)機(jī)手寫(xiě)漢字識(shí)別”流程示意圖。
圖3是本發(fā)明流程示意圖。
圖4是本發(fā)明操作界面示意圖和相關(guān)的機(jī)內(nèi)碼表。
下面請(qǐng)看圖1,當(dāng)將單筆劃與1、2、3、4、5、6這六個(gè)阿拉伯?dāng)?shù)字對(duì)應(yīng)以后,我們可以利用它對(duì)所有的漢字進(jìn)行編碼。方法是用這些數(shù)字作為筆劃的代碼,按書(shū)寫(xiě)順序?qū)ψ诌M(jìn)行編碼。假定設(shè)全部漢字中筆劃數(shù)最多的字為k,則可將從1到k所指的每一筆劃所對(duì)應(yīng)的數(shù)字之間形成的全部數(shù)字串分成兩大類(lèi)凡有漢字與之對(duì)應(yīng)的數(shù)字串稱(chēng)之為有效數(shù)字,沒(méi)有漢字與之對(duì)應(yīng)的稱(chēng)為無(wú)效數(shù)字。
圖2是“聯(lián)機(jī)手寫(xiě)漢字識(shí)別”流程示意圖,從該圖可以看到聯(lián)機(jī)手寫(xiě)漢字識(shí)別的基本過(guò)程。第一步書(shū)寫(xiě)筆劃;第二步是識(shí)別筆劃,根據(jù)圖形輸入板輸出的座標(biāo)點(diǎn),依據(jù)筆劃書(shū)寫(xiě)的方向和筆劃長(zhǎng)度來(lái)識(shí)別基本筆劃,再由基本筆劃方向變化檢出折點(diǎn),用折點(diǎn)前后方向的變化來(lái)識(shí)別復(fù)合筆劃。同時(shí),用伸長(zhǎng)和縮短某一方向序列長(zhǎng)度找到兩個(gè)方向序列間的最佳匹配,用迭代計(jì)算的方法提高識(shí)別的精確度;第三步是識(shí)別整字,根據(jù)筆劃進(jìn)而判別未知漢字。由已經(jīng)識(shí)別出的筆劃形成文字特征,再去查找字典中的各標(biāo)準(zhǔn)文字特征進(jìn)行比對(duì)。如果是匹配的,即進(jìn)入第四步判別輸出;如果不匹配,即字典中沒(méi)有這個(gè)文字的特征,那就要計(jì)算輸入文字特征與字典中各標(biāo)準(zhǔn)文字特征間的距離,按照距離最小的原則來(lái)識(shí)別。在判別顯示多個(gè)漢字時(shí),經(jīng)手工選定后被挑出的字會(huì)重新進(jìn)入樣本集,后面的步驟是讓機(jī)器學(xué)習(xí)并且擴(kuò)充字典的過(guò)程。
雖然聯(lián)機(jī)手寫(xiě)漢字識(shí)別已經(jīng)是漢字識(shí)別中最為簡(jiǎn)單的一種了,但是我們?nèi)匀豢梢愿杏X(jué)到其繁復(fù)的操作運(yùn)算過(guò)程,機(jī)器在識(shí)別了基本筆劃后還要識(shí)別復(fù)合筆劃,在識(shí)別了復(fù)合筆劃以后還要識(shí)別整字。在字典中每一個(gè)整字都有許多個(gè)子樣,并且子樣集還在不斷擴(kuò)充,越積越多。
這一切不僅要多占機(jī)器的內(nèi)存,而且還會(huì)大大增加軟件的復(fù)雜度,同時(shí)還要付出另一個(gè)代價(jià),那就是影響機(jī)器運(yùn)轉(zhuǎn)的速度!因?yàn)閺?fù)雜的運(yùn)算過(guò)程一定是耗時(shí)的。試想,在這樣的前提下,如果再讓機(jī)器學(xué)習(xí)各種人手寫(xiě)的行書(shū),結(jié)果又將會(huì)怎樣!從中我們也可以明白,為什么手寫(xiě)板價(jià)格始終降不下來(lái),而質(zhì)量又始終提不上去的原因了!本發(fā)明最核心的內(nèi)容就是提出了這個(gè)問(wèn)題,并且解決了這個(gè)問(wèn)題。其過(guò)程如下首先,假定我們用數(shù)字1對(duì)應(yīng)橫一丶提 ;用數(shù)字2表示豎丨;數(shù)字3表示撇丿;數(shù)字4表示捺丶點(diǎn)丶;數(shù)字5表示所有順時(shí)針?lè)较虻恼酃P劃、 、、フ、 、、、;數(shù)字6表示所有逆時(shí)針?lè)较虻恼酃P劃 、∠、乙、、、。多重折筆以尾折為準(zhǔn),判定其為順折還是逆折。這樣我們就能得到一份用數(shù)字給漢字編碼的碼表,但這張碼表僅僅是一個(gè)毛坯,必須再對(duì)它進(jìn)行加工。
方法是按照漢字使用頻度的高低來(lái)確定碼的長(zhǎng)度,這樣就有了碼表剪裁和碼長(zhǎng)縮短的第一個(gè)原則即我們規(guī)定字的使用頻度與碼長(zhǎng)成反比,頻度越高的字碼長(zhǎng)越短。碼長(zhǎng)從1碼開(kāi)始,頻度遞減碼長(zhǎng)遞增。
但僅僅采用這一種方法省略的筆劃數(shù)目是有限的,本發(fā)明提出一個(gè)與傳統(tǒng)做法完全相反的觀點(diǎn)和做法,那就是人為地、有目的有規(guī)則地設(shè)置重碼,這也是本發(fā)明與眾不同的構(gòu)思之一。
以往每一個(gè)搞漢字編碼的人都十分頭疼重碼,無(wú)論搞鍵盤(pán)輸入還是手寫(xiě)輸入,都將消除重碼作為攻克的難點(diǎn)必欲除盡,并將重碼率的高低列為評(píng)價(jià)一個(gè)方案優(yōu)劣的標(biāo)準(zhǔn),恰恰是這種機(jī)械而僵化的思想使人們陷入了困境。如果我們換一條思路,不是生硬地消滅它,而是巧妙地利用它,問(wèn)題反倒迎刃而解了。
對(duì)于手寫(xiě)板來(lái)說(shuō),與其在寫(xiě)得不規(guī)范時(shí)出現(xiàn)一堆不相干的重碼字?jǐn)_亂視線,不如讓它們有規(guī)則地排列候選,順著這條辯證的思路,會(huì)得到另一個(gè)收獲,那就是節(jié)省書(shū)寫(xiě)的筆劃數(shù),須知,這一點(diǎn)恰好是手寫(xiě)板亟待解決的難題。
如何為手寫(xiě)板人為地設(shè)置和編制重碼,這是需要認(rèn)真對(duì)待的問(wèn)題。
對(duì)于一份碼表來(lái)說(shuō),若設(shè)字符(數(shù)字或字母)所對(duì)應(yīng)的漢字?jǐn)?shù)目為n,過(guò)去人們片面追求n的值恒等于1,將此看成是一種最理想的狀態(tài),其實(shí)并非。對(duì)于手寫(xiě)板來(lái)說(shuō),在n的值大于等于1,小于等于10這樣的范圍內(nèi)選擇一個(gè)合理的值域是十分有意義的,我們可以選擇n=6或n=7,它是碼長(zhǎng)再次被縮短的依據(jù)??傊?,這是我們確定剪裁碼表的第二個(gè)原則。也就是說(shuō),我們將要通過(guò)人為地設(shè)置重碼,又一次采用高頻先見(jiàn)的原則,重新剪輯、排列碼表中有效數(shù)字所對(duì)應(yīng)的漢字,使相對(duì)而言碼長(zhǎng)短的有效數(shù)字在可能的前提下,盡可能對(duì)應(yīng)于多個(gè)漢字。
我們看到,當(dāng)設(shè)定n的最大值越是大,則碼長(zhǎng)越是短,而重碼字?jǐn)?shù)也越多;反之,設(shè)定n的最大值越小,則碼長(zhǎng)越長(zhǎng),而重碼字?jǐn)?shù)越少。若設(shè)n的最大值等于1,則書(shū)寫(xiě)筆劃數(shù)的省略就非常有限了;若選n的最大值超過(guò)10,則眼睛搜尋的速度就會(huì)明顯降低,人也容易感到疲勞,它們之間成反比。因此,我們將n的最大值等于10視為重碼字選擇的極限。可見(jiàn),n的設(shè)定是在減少重碼數(shù)和節(jié)省筆劃數(shù)之間尋找一個(gè)最佳的平衡點(diǎn)。
實(shí)施方案1,設(shè)n的值大于等于1小于等于7,即一個(gè)有效數(shù)字最多對(duì)應(yīng)于7個(gè)重碼字,這是一個(gè)較為理想的方案,它使常用字只要寫(xiě)前幾筆就能提前出來(lái),既有效地控制了碼長(zhǎng),提高了書(shū)寫(xiě)速度,又不至于使眼睛感到疲勞。
經(jīng)過(guò)這樣處理的碼表是較為理想的。接下來(lái),我們將碼表置于機(jī)器內(nèi)存中,使之成為聯(lián)機(jī)手寫(xiě)識(shí)別的數(shù)據(jù)字典。書(shū)寫(xiě)的筆劃經(jīng)識(shí)別后直接轉(zhuǎn)換成相對(duì)應(yīng)的數(shù)字,并且根據(jù)書(shū)寫(xiě)筆劃的增加形成新的有效數(shù)字。與傳統(tǒng)觀念完全不同的是,本發(fā)明不走整字識(shí)別的途徑,而是直接搜尋、檢索方才我們所說(shuō)的那張碼表。
請(qǐng)看圖3本發(fā)明流程示意圖。輸入筆劃后,進(jìn)到第二步識(shí)別筆劃。傳統(tǒng)的做法是在定義了簡(jiǎn)單筆劃以后再定義許多復(fù)合筆劃,然后再識(shí)別整字。本發(fā)明在第二步就已經(jīng)顯出了它的特點(diǎn),僅需要機(jī)器依次識(shí)別六類(lèi)最基本的筆劃以及少量筆劃的組合,而作為比對(duì)的樣本集也只是筆劃--數(shù)字對(duì)應(yīng)表以及有限的筆劃組合。根據(jù)筆劃--數(shù)字對(duì)應(yīng)表,即時(shí)判別輸入筆劃所對(duì)應(yīng)的數(shù)字并轉(zhuǎn)換成數(shù)字。
然后進(jìn)到第三步搜尋碼表。傳統(tǒng)的做法,第三步是識(shí)別整字。在圖2中,對(duì)于它的繁復(fù)我們已經(jīng)有所了解。而本發(fā)明省卻了這道工序,將識(shí)別過(guò)程變得極其簡(jiǎn)單。因?yàn)樽寵C(jī)器自動(dòng)搜尋碼表,用數(shù)字搜尋數(shù)字對(duì)于計(jì)算機(jī)來(lái)說(shuō)是最容易實(shí)現(xiàn)的。這是本發(fā)明與傳統(tǒng)的手寫(xiě)板在構(gòu)思上最為不同的地方。
順便說(shuō)一下,關(guān)于碼表,實(shí)施方案1用了6個(gè)數(shù)字,其碼表是根據(jù)圖1的筆劃-數(shù)字對(duì)應(yīng)表生成的。實(shí)施方案2用了5個(gè)數(shù)字。兩種方案的碼表都是根據(jù)漢字使用頻度,將國(guó)標(biāo)6763個(gè)字分段有序排列而成的。
第四步,判別。我們?cè)O(shè)計(jì)從起筆開(kāi)始,每增寫(xiě)一筆,均顯示不同的漢字,并以字的選定作為輸出和繼續(xù)輸入的切換。
請(qǐng)看圖4所示當(dāng)輸入第一筆順折時(shí),就已經(jīng)出現(xiàn)了候選的7個(gè)高頻字“了對(duì)民子加小也”。如果被選中,用筆點(diǎn)后該字即上編輯區(qū);如果不選,繼續(xù)寫(xiě)下一筆,就會(huì)出現(xiàn)新的候選字,直至終了。拿“民”字來(lái)說(shuō),本來(lái)要寫(xiě)7筆,寫(xiě)得潦草還會(huì)出現(xiàn)許多不相干的重碼,而現(xiàn)在加上選擇只寫(xiě)2筆。而且不產(chǎn)生歧義,使用者會(huì)感覺(jué)到既省力又提高了速度。
上述做法的好處是大大降低了手寫(xiě)板軟件開(kāi)發(fā)的難度。因?yàn)閳D3中的第二步,筆劃識(shí)別,只需要識(shí)別最基本的五或六類(lèi)、最多十類(lèi)筆劃以及少量的筆劃組合,識(shí)別后立即轉(zhuǎn)換成數(shù)字,再由數(shù)字去搜尋碼表,判定輸出漢字,這個(gè)過(guò)程較之于傳統(tǒng)的處理方法大大改進(jìn)和簡(jiǎn)化了。現(xiàn)有技術(shù)對(duì)于聯(lián)機(jī)手寫(xiě)單筆劃的判別是非常準(zhǔn)確的,因此本方法的識(shí)別正確率毋須測(cè)試就能保證達(dá)到100%。
還需指出,圖3本發(fā)明流程圖中,雖然也標(biāo)有“學(xué)習(xí)”和“樣本集”圖框,但是它同圖2中出現(xiàn)的含義幾乎完全不同。圖2中的學(xué)習(xí)是根據(jù)多個(gè)未知子樣抽取出來(lái)的模式表達(dá)形式,自動(dòng)構(gòu)造或充實(shí)、修改字典,以此來(lái)不斷提高系統(tǒng)識(shí)別率。凡經(jīng)機(jī)器學(xué)習(xí)以后識(shí)別的文字都要作為子樣進(jìn)入字典,留待未知漢字進(jìn)行匹配時(shí)增加一個(gè)比對(duì)的子樣。于是,隨著書(shū)寫(xiě)字?jǐn)?shù)的增加,新的子樣集合會(huì)不斷膨脹,字典數(shù)據(jù)庫(kù)也會(huì)不斷加大,所以設(shè)計(jì)時(shí)必須在軟、硬件中預(yù)留足夠的空間,否則就會(huì)影響到機(jī)器的性能。從這個(gè)意義上說(shuō),傳統(tǒng)的聯(lián)機(jī)手寫(xiě)漢字的識(shí)別率取決于預(yù)留空間的大小,這也是專(zhuān)家們預(yù)言的提高性能就要加大成本的理由。
而本發(fā)明圖3中所示的“學(xué)習(xí)”、“樣本集”,因?yàn)樗耆蝗≌肿R(shí)別,只是取最簡(jiǎn)單的筆劃進(jìn)行識(shí)別和比對(duì),所以即使增加筆劃和筆劃組合的子樣,其數(shù)量也是極為有限的,設(shè)計(jì)時(shí)可以做到忽略不計(jì)。這樣,成本下降,機(jī)器性能卻不會(huì)受影響。
對(duì)于一個(gè)標(biāo)準(zhǔn)的樣本集來(lái)說(shuō),機(jī)器的學(xué)習(xí)功能其實(shí)是一種智能性的容錯(cuò)。傳統(tǒng)的做法是不斷擴(kuò)充樣本集,也就是不斷地容錯(cuò),其代價(jià)很大而效果不一定理想。本發(fā)明的思路不僅是利用有效數(shù)字輸出對(duì)應(yīng)的漢字,同時(shí)還能利用無(wú)效數(shù)字來(lái)糾錯(cuò),作為判別未識(shí)筆劃和未知漢字的排除性依據(jù)。當(dāng)對(duì)某一筆劃判別不準(zhǔn),諸如不知應(yīng)該是撇還是橫,或者是豎還是豎鉤時(shí),無(wú)效數(shù)字就可以用否定肯定的推理形式來(lái)幫助我們作出判別。用無(wú)效數(shù)字來(lái)否定某些不存在的筆劃組合,從軟、硬件的設(shè)計(jì)上都是非常經(jīng)濟(jì)合算的。
從邏輯上講,容錯(cuò)是一種擴(kuò)大外延的做法,外延擴(kuò)大內(nèi)涵必定縮小,意味著事物的性質(zhì)變得模糊;反之,糾錯(cuò)是一種縮小外延的做法,外延縮小內(nèi)涵必定增加,事物的性質(zhì)更加明確。容錯(cuò),顧名思義是讓它有更大的包容性。而包容模糊、不確定的東西是要付出代價(jià)的,對(duì)于機(jī)器的配置來(lái)說(shuō),犧牲的是空間;對(duì)于機(jī)器的性能來(lái)說(shuō),犧牲的是時(shí)間。反過(guò)來(lái)說(shuō),利用無(wú)效數(shù)字的糾錯(cuò)完全不需要付出任何代價(jià)。
利用數(shù)字碼表糾錯(cuò)應(yīng)該成為漢字識(shí)別領(lǐng)域中的新概念。在聯(lián)機(jī)手寫(xiě)識(shí)別中,它的作用已經(jīng)十分明顯。在脫機(jī)漢字識(shí)別中,也應(yīng)該引起人們的重視。
最后,還要強(qiáng)調(diào)指出,為聯(lián)機(jī)手寫(xiě)漢字識(shí)別所設(shè)計(jì)、特制的碼表,除了在碼長(zhǎng)的分配上要根據(jù)字的使用頻度來(lái)確定,而且,每行重碼字的排列也要求遵循高頻先見(jiàn)的原則。我們必須給機(jī)器以及使用者提供一部盡可能方便而又完美的“字典”,有了它,使用者只要輕松地寫(xiě)幾筆,所要的字就能顯現(xiàn);有了它,機(jī)器可以免去繁復(fù)無(wú)比的計(jì)算和冗長(zhǎng)的檢索,速度可以大大提高。
就現(xiàn)有技術(shù)來(lái)說(shuō),聯(lián)機(jī)手寫(xiě)對(duì)于識(shí)別簡(jiǎn)單的筆劃,其識(shí)別率很容易達(dá)到100%,誤差通常來(lái)自對(duì)整字的識(shí)別。本發(fā)明好在它沒(méi)有因循守舊,跟在別人后面去繞一個(gè)本來(lái)就不應(yīng)該繞的圈子--“整字識(shí)別”,而是巧妙地利用精確度可以達(dá)到百分之百的數(shù)字化碼表,利用數(shù)字對(duì)數(shù)字的比對(duì)和檢索,使原本復(fù)雜的事情一下子就變得極其容易了。它所帶來(lái)的正面效應(yīng)是,機(jī)器的識(shí)別率提升了,運(yùn)行速度加快了,書(shū)寫(xiě)筆劃減少了,從而讓使用者感受到一種既快又好的服務(wù)。
下面是按照本發(fā)明采用六個(gè)數(shù)字編碼的碼表節(jié)錄5 了對(duì)民子加小也51 那展群張建強(qiáng)刁511 即退剝隸既錄彐5111 尋聿5112 肅5113 君尹郡5114 靈帚5115 逮逯5116 懇墾艮暨512 司敢丑遐憨513 層屬局尼尾屜尸5131 居劇屋屠慰殿屁51311 尉熨51312 臀5132 辟避刷屆屈犀壁51324 屑51325 臂劈譬璧擘檗513251 嬖甓襞鐾5133 履尻屐屣屨5134 尺盡遲晝屏屢屎51342 咫51343 羼5135 尿孱屙515 引彈弱費(fèi)弓弧疆5151 弭弼5152 犟5153 弗彌艴5154 弦粥鬻5155 弛弳5156 弘516 已己改導(dǎo)異忌巳5161 愍5165 巽521 際隨衛(wèi)阿陳巴陣5211 陸阮阱5212 隔疏陵陡陋陬5213 蛋眉?jí)欕]隋陌胥52132 鹛隳52134 疋52136 阢5214 陜5216 陛522 陽(yáng)阻隙隕隅阽限5221 騭陟5225 隉隰523 階隊(duì)除降陰附險(xiǎn)5231 阡陲阼5232 隍陴隗5233 阪5234 墜5235 陷陶隆隱524 防院障陪隘隧陀5241 陔525 限陂陘53 力邊辦刀皮架乃532 召賀駕邵頗迢袈5325 劭迦哿鼐534 忍刃535 孕盈尕勰戤54 又通習(xí)觀難雙預(yù)541 勁戲圣羽頸翼翠5412 逕剄巰5415 翟戳翌懟羿戮鷚542 勇恿甬543 歡登雞凳癸544 買(mǎi)叉蚤545 矛艱予勸鄧柔桑5454 疊顙5455 豫矜騖鷸蟊婺鶩54553 瞀蝥鍪55 水馬驗(yàn)書(shū)駐騙驅(qū)551 孩孫孔孟承駛孑5511 驟騎馱孺驃騏驍55112 驪5512 騾騍騁駟驥駔勐5513 孤驕駁孢駱馴孜55132 驊駙驄騅55135 駒騶55136 騮5514 驢駭駝駢騸驤5515 遜馳騷馭驛驏5516 駿駘驂552 亟553 沓淼凼554 遼函孓555 丞巹56 乜統(tǒng)計(jì)結(jié)果表明,對(duì)于相同的337個(gè)字,如果使用原來(lái)的手寫(xiě)板,需要書(shū)寫(xiě)筆劃總計(jì)3102個(gè),平均每字寫(xiě)9.2個(gè)筆劃,而采用本發(fā)明總計(jì)書(shū)寫(xiě)筆劃數(shù)1185個(gè),平均每字只寫(xiě)3.5個(gè)筆劃,省略筆劃數(shù)為總數(shù)的61.8%,若將重碼選擇折合為書(shū)寫(xiě)一筆,那么省略筆劃數(shù)為總數(shù)的51%。由此可見(jiàn)如采用本發(fā)明書(shū)寫(xiě)上述漢字,速度可以快一倍。識(shí)別率可以達(dá)到100%。對(duì)于可能出現(xiàn)的倒插筆,可以用在碼表上增加容錯(cuò)碼的辦法給以解決。
綜上所述,可以看到本發(fā)明通過(guò)前面所講的方法有效地解決了以往手寫(xiě)板存在的種種問(wèn)題。本發(fā)明的構(gòu)思突破了現(xiàn)有的聯(lián)機(jī)手寫(xiě)輸入的框框,走出了另一條新路。其獨(dú)到之處至少有四點(diǎn)一是不采用識(shí)別整字的方法,用數(shù)字給漢字編碼的碼表取代字典或樣本集,完全改變了聯(lián)機(jī)手寫(xiě)識(shí)別原有的復(fù)雜面貌。二是用最簡(jiǎn)單的數(shù)字對(duì)數(shù)字的檢索取代了用未知漢字去比對(duì)樣本的繁復(fù)的做法。三更新了漢字識(shí)別必須建立在匹配基礎(chǔ)上的傳統(tǒng)觀念。四是打破了手寫(xiě)輸入無(wú)法提高速度的陳見(jiàn)。
漢字識(shí)別是一門(mén)綜合性的技術(shù),它需要用到模式識(shí)別、圖象處理、形式語(yǔ)言、模糊數(shù)學(xué)、組合數(shù)學(xué)等專(zhuān)業(yè)知識(shí),同時(shí)也需要有關(guān)系到語(yǔ)言學(xué)、文字學(xué)、統(tǒng)計(jì)學(xué)以及心理學(xué)、生物學(xué)和邏輯學(xué)的一般知識(shí)。對(duì)于諳熟計(jì)算機(jī)性能的專(zhuān)家來(lái)說(shuō),他們是攻關(guān)的主力,但是他們解決問(wèn)題的手段,往往偏重于前者,而忽略一般知識(shí)的運(yùn)用。但事實(shí)上,對(duì)于象漢字識(shí)別這樣一門(mén)交叉學(xué)科、邊緣學(xué)科來(lái)說(shuō),后一種知識(shí)的運(yùn)用實(shí)在是不應(yīng)當(dāng)缺少的。
關(guān)于本發(fā)明的第二個(gè)實(shí)施方案。它在整體上與第一個(gè)方案沒(méi)有差別,僅僅在最初的數(shù)字與單筆劃的對(duì)應(yīng)關(guān)系上與前者不同。第二個(gè)方案將單筆劃分為五類(lèi)。
下面是按照本發(fā)明將漢字單筆劃分成五類(lèi)并與5個(gè)數(shù)字相對(duì)應(yīng)的表五類(lèi)漢字單筆劃與數(shù)字對(duì)應(yīng)表 由此生成的碼表與實(shí)施方案1的碼表會(huì)有一些小小的區(qū)別,須在軟件設(shè)計(jì)的相關(guān)處作相應(yīng)修改,但總體框架不變。比較實(shí)施方案1與2的區(qū)別,方案2在機(jī)器識(shí)別上標(biāo)準(zhǔn)訂得比較寬,但是書(shū)寫(xiě)的筆劃數(shù)會(huì)增加,輸入速度會(huì)慢一些。假定筆劃分類(lèi)數(shù)不變,僅僅是將數(shù)字與筆劃的對(duì)應(yīng)關(guān)系加以變動(dòng),譬如將1改為表示撇,3改為表示橫等等,這種做法并無(wú)意義。但筆劃總的分類(lèi)數(shù)要是有了改變,情況就不一樣了。分類(lèi)數(shù)減少,會(huì)導(dǎo)致手寫(xiě)筆劃數(shù)的增加;分類(lèi)數(shù)增加,會(huì)使手寫(xiě)筆劃數(shù)減少。
下文是按照本發(fā)明將漢字單筆劃分成十類(lèi)并與10個(gè)數(shù)字相對(duì)應(yīng)的表十類(lèi)漢字單筆劃與數(shù)字對(duì)應(yīng)表 注多重折筆以尾折為準(zhǔn),判定其為順折還是逆折。*號(hào)的含義是“順折”為全部順時(shí)針?lè)较虻恼酃P劃減去數(shù)字7、8、9、0所對(duì)應(yīng)的筆劃的集合。
按此分類(lèi)生成的碼表也是一個(gè)較好的可實(shí)施的方案。它比實(shí)施方案1多用了數(shù)字7、8、9、0,用這4個(gè)數(shù)字去對(duì)應(yīng)于原來(lái)在數(shù)字5中的4個(gè)順時(shí)針?lè)较虻恼酃P,這樣做的效果使得20%的有效數(shù)字其陣態(tài)分布的均衡性有所提高,進(jìn)而輸入的筆劃數(shù)會(huì)減少,輸入速度會(huì)提高。但是,相應(yīng)地說(shuō),這一方案對(duì)軟件識(shí)別能力的要求也會(huì)隨之提高,比如,它要區(qū)分和フ這樣兩種不同的折筆劃,而在實(shí)施方案1中這些是可以忽略的。所以,我們選取何種筆劃分類(lèi)標(biāo)準(zhǔn)作為實(shí)施方案,還要考慮到軟件的性能和硬件的材料成本,尋求一個(gè)最佳組合。
權(quán)利要求
1.一種全新的聯(lián)機(jī)手寫(xiě)漢字識(shí)別方法和手寫(xiě)輸入方法,其特征在于將漢字的單筆劃按某種分類(lèi)標(biāo)準(zhǔn)分成若干大類(lèi),每一類(lèi),對(duì)應(yīng)于一個(gè)阿拉伯?dāng)?shù)字,用這些數(shù)字作為筆劃的代碼,按書(shū)寫(xiě)順序給漢字編碼。設(shè)筆劃數(shù)最多的字為k,將從1(某種情況下也可以是0)到k所指的每一筆劃所對(duì)應(yīng)的數(shù)字之間形成的全部數(shù)字串分成兩類(lèi)凡有漢字與之對(duì)應(yīng)的數(shù)字串稱(chēng)之為有效數(shù)字,沒(méi)有漢字與之對(duì)應(yīng)的稱(chēng)為無(wú)效數(shù)字,將此碼表進(jìn)行剪裁后放入聯(lián)機(jī)手寫(xiě)漢字識(shí)別軟件中。
2.根據(jù)權(quán)利要求1,其特征在于用數(shù)字1對(duì)應(yīng)橫-、提 ;用數(shù)字2表示豎丨;數(shù)字3表示撇丿;數(shù)字4表示捺、點(diǎn)丶;數(shù)字5表示所有順時(shí)針?lè)较虻恼酃P劃、 、フ、 、、、數(shù)字6表示所有逆時(shí)針?lè)较虻恼酃P劃 、、∠、乙、、、。多重折筆以尾折為準(zhǔn),判定其為順折還是逆折。同上,順折用5表示,6逆折用6表示。
3.根據(jù)權(quán)利要求1,其特征在于用數(shù)字7表示橫折;數(shù)字8表示橫撇フ;數(shù)字9表示順彎鉤 數(shù)字0表示順折鉤 。在此前提下,權(quán)利要求2中所述的順折是指全部順時(shí)針?lè)较虻恼酃P劃減去7、8、9、0所對(duì)應(yīng)的筆劃的集合。
4.根據(jù)權(quán)利要求1,其特征在于碼表剪裁和碼長(zhǎng)縮短的第一原則是,按照漢字使用頻度的高低確定碼的長(zhǎng)度,使用頻度與碼長(zhǎng)成反比,頻度越高的字碼長(zhǎng)越短,碼長(zhǎng)從1碼開(kāi)始,字的使用頻度遞減碼長(zhǎng)遞增。
5.根據(jù)權(quán)利要求1,其特征在于碼表剪裁和碼長(zhǎng)縮短的第二原則是,通過(guò)人為地設(shè)置重碼,再次采用高頻先見(jiàn)的原則,重新剪輯、排列碼表中有效數(shù)字所對(duì)應(yīng)的漢字,使相對(duì)而言碼長(zhǎng)短的有效數(shù)字在可能的前提下,盡可能對(duì)應(yīng)于多個(gè)漢字。設(shè)一個(gè)有效數(shù)字對(duì)應(yīng)的漢字個(gè)數(shù)最多為n,則有n大于等于1小于等于10,在此范圍合理確定n的最大值,作為碼長(zhǎng)再次被縮短的依據(jù)。
6.一種全新的聯(lián)機(jī)手寫(xiě)漢字識(shí)別方法和手寫(xiě)輸入方法,其特征在于將按上述權(quán)利要求所形成的碼表置入機(jī)器內(nèi)存中,使之成為聯(lián)機(jī)手寫(xiě)識(shí)別的數(shù)據(jù)字典,在手寫(xiě)板上輸入的筆劃和筆劃組合經(jīng)識(shí)別后按照規(guī)定直接轉(zhuǎn)換成對(duì)應(yīng)的數(shù)字,并隨書(shū)寫(xiě)筆劃的增加形成新的有效數(shù)字。
7.根據(jù)權(quán)利要求6,其特征在于從書(shū)寫(xiě)筆劃獲得的有效數(shù)字直接去搜尋、檢索碼表,輸出漢字,而不走識(shí)別整字的途徑。
8.根據(jù)權(quán)利要求6,其特征在于從起筆開(kāi)始,每增寫(xiě)一筆,均顯示不同的漢字,并以重碼字的選擇作為輸出和繼續(xù)輸入的切換。
9.根據(jù)權(quán)利要求1、5、6,其特征在于當(dāng)用書(shū)寫(xiě)筆劃后得到的數(shù)字去搜尋、檢索碼表時(shí),定義n為正整數(shù),當(dāng)n大于等于1時(shí)為有效數(shù)字,可以顯示或輸出漢字;n=0時(shí)為無(wú)效數(shù)字,無(wú)效數(shù)字可以作為判別未識(shí)筆劃、或未知漢字的排除性依據(jù)。
全文摘要
本發(fā)明涉及一種全新的聯(lián)機(jī)手寫(xiě)漢字識(shí)別方法和手寫(xiě)輸入方法。特點(diǎn)是將輸入漢字的筆劃轉(zhuǎn)換成數(shù)字,內(nèi)置數(shù)字碼表,用數(shù)字對(duì)數(shù)字碼表的檢索取代用未知字比對(duì)整字的復(fù)雜過(guò)程,更新了漢字識(shí)別必須建立在匹配基礎(chǔ)上的傳統(tǒng)觀念。打破了手寫(xiě)輸入無(wú)法提高速度的偏見(jiàn)。它具備以下優(yōu)點(diǎn):1)識(shí)別率可提高到100%;2)書(shū)寫(xiě)筆劃可省略25-40%;3)不用內(nèi)置復(fù)雜的整字識(shí)別軟件,內(nèi)存空間占得少。該方法可廣泛應(yīng)用于電腦、記事本、手機(jī)等各種微型電子產(chǎn)品上。
文檔編號(hào)G06K9/62GK1343953SQ9911146
公開(kāi)日2002年4月10日 申請(qǐng)日期1999年8月16日 優(yōu)先權(quán)日1999年8月16日
發(fā)明者王頌平 申請(qǐng)人:王頌平