專利名稱:基于部首樣式的草體漢字手寫注釋的檢索的制作方法
技術(shù)領(lǐng)域:
本發(fā)明總的涉及筆跡處理。具體來說,本發(fā)明涉及一種草體漢字的改進(jìn)的字跡(ink)匹配技術(shù)。字跡匹配技術(shù)關(guān)注以下的事實(shí),即書面漢語中有大量的漢字,并且諸如用于匹配英語字母表中的字母的傳統(tǒng)匹配技術(shù)不足以用以檢索的目的。
字跡匹配基于下面的假設(shè)而起作用,即假設(shè)電子字跡可用作不需要識(shí)別就可進(jìn)行匹配的第一類數(shù)據(jù)。換言之,用戶可書寫草體漢字,并且不必解釋這些草體筆劃表示什么字就可以在搜索或匹配操作中使用包括與草體筆劃相關(guān)的時(shí)間和空間信息的電子字跡數(shù)據(jù)。
這里所述的改進(jìn)方案取決于與動(dòng)態(tài)編程匹配的改進(jìn)相關(guān)的一種強(qiáng)有力的部首抽取技術(shù)。本發(fā)明對所有漢語以及使用漢字的其它語言具有重要價(jià)值。目前漢字在亞洲的很多地方都在普遍使用,包括中國、臺(tái)灣、日本、朝鮮及其它地方。
漢字追溯其根源是人類最早的書寫形式之一象形文字??捎梢粋€(gè)或多個(gè)稱作部首的子漢字組成的單個(gè)漢字表示一個(gè)詞、想法或概念。與英語中用于拼寫單詞的字母表中的字母不同,漢字更簡潔。每個(gè)漢字都以一個(gè)單個(gè)漢字表示一個(gè)完整的詞、想法或概念。
盡管漢字表示一種簡潔高效的交流形式,但它在自動(dòng)化系統(tǒng)中會(huì)存在問題。把漢字輸入計(jì)算機(jī)是一個(gè)瓶頸,一些人已經(jīng)提出用數(shù)字化輸入板代替鍵盤來解決這個(gè)難題。輸入板允許用戶把他或她的筆跡輸入計(jì)算機(jī),并且筆跡識(shí)別技術(shù)把用戶的筆跡轉(zhuǎn)換為隨后可輸入計(jì)算機(jī)的被識(shí)別的文本。在手寫漢字識(shí)別的領(lǐng)域中,聯(lián)機(jī)識(shí)別具有的優(yōu)點(diǎn)在于它捕獲書寫輸入點(diǎn)和筆劃時(shí)的時(shí)間順序。因此,利用書寫筆劃線時(shí)產(chǎn)生的時(shí)間數(shù)據(jù),聯(lián)機(jī)識(shí)別系統(tǒng)可區(qū)別下劃線和上劃線。
盡管手寫漢字識(shí)別取得了很大進(jìn)展,但問題的復(fù)雜性超出了最初的預(yù)期。這在很大程度上是由于在普通商業(yè)用詞匯中需要大量的漢字。例如,在書面漢語中,日常使用漢字有三千到五千個(gè)。在書面日語中,漢字字符或“kanji(漢字)”的數(shù)量要少一些。盡管如此,一個(gè)人仍然需要理解幾千個(gè)漢字才能閱讀日文報(bào)紙。而且,手寫漢字識(shí)別的另一個(gè)困難是筆體隨書寫人不同而變化很大,并且人們常常書寫潦草。
近來,在諸如文件檢索的手寫注釋搜索的某些應(yīng)用中,字跡匹配技術(shù)呈現(xiàn)出廣闊的發(fā)展前景。進(jìn)一步的背景資料可見美國專利5,832,474的“用戶手寫注釋的部分匹配搜索的文件搜索和檢索系統(tǒng)”。在這些應(yīng)用中,字跡匹配與傳統(tǒng)漢字識(shí)別技術(shù)相比的優(yōu)越之外在于它處理各種筆體,尤其是草體。最近,語義匹配技術(shù)得到應(yīng)用,在這種技術(shù)中,漢字被分割成其組成部首并且這些部首隨后被預(yù)搜索以把漢字匹配問題簡化為更小的匹配問題之一。通過執(zhí)行基于抽取的部首的部分匹配,隨后的漢字匹配處理不必檢查不包括匹配的部首的那些漢字。
盡管基于參考部首的語義匹配是一項(xiàng)非常有前景的技術(shù),但該技術(shù)成功的關(guān)鍵在于系統(tǒng)從完整漢字中抽取部首的能力。部首抽取是一個(gè)非常復(fù)雜的問題。因?yàn)槭謱憹h字的書寫形式自由,沒有任何網(wǎng)格線,所以漢字中部首的位置在每次書寫該漢字時(shí)都會(huì)有很大的不同。另外,一個(gè)部首可能會(huì)無意中與漢字的其它部分相交,從而難以把該部首識(shí)別為漢字中的獨(dú)立元素。而且,在快速書寫時(shí),用戶可能會(huì)允許筆無意中連筆,這樣會(huì)把漢字的一個(gè)部分的結(jié)束筆劃與下一部分的開始筆劃連在一起。盡管連筆并不是漢字的實(shí)際部分,但它們?nèi)匀怀尸F(xiàn)在筆劃數(shù)據(jù)中,這僅僅是因?yàn)橛脩粼跁鴮憹h字的各個(gè)部分時(shí)沒有提起筆或記錄針。
除了上述問題,另一個(gè)問題是動(dòng)態(tài)編程。動(dòng)態(tài)編程是一種模式匹配技術(shù),它在確定一種模式(如部首中的一劃)是否匹配另一種模式時(shí)估計(jì)插入成本(cost)、刪除成本和替換成本。傳統(tǒng)上,筆劃插入成本和筆劃刪除成本正比于筆劃長度來計(jì)算。筆劃替換成本較復(fù)雜,這是因?yàn)樗鼈兩婕皽y量兩個(gè)筆劃之間的形狀相似性。通過使用傳統(tǒng)的技術(shù),動(dòng)態(tài)編程用于獲得考慮進(jìn)行替換的兩個(gè)筆劃之間的點(diǎn)對的一個(gè)集合。替換成本被測量為兩個(gè)點(diǎn)一對的歐幾里德距離之和。在計(jì)算替換成本之前,每個(gè)筆劃被臨時(shí)移位以使該筆劃的邊框的左上角與原點(diǎn)(0,0)重疊。
傳統(tǒng)的基于歐幾里德的方法用于計(jì)算替換成本,它有兩個(gè)缺點(diǎn)。首先,動(dòng)態(tài)編程過程耗時(shí)。其次,使用歐幾里德距離的技術(shù)所引入的錯(cuò)誤是累加的。在參考筆劃和測試筆劃均被移位至它們的左上角與原點(diǎn)重疊之后,逐點(diǎn)的距離分析被執(zhí)行。如果各個(gè)筆劃的基本形狀相對一致,則歐幾里德距離技術(shù)可給出一個(gè)有用的品質(zhì)因數(shù)。但是,如果各個(gè)筆劃除了它們的左上角之外在形狀上基本相同,則歐幾里德距離技術(shù)無效。通過對齊兩個(gè)筆劃的左上角,會(huì)發(fā)現(xiàn)這兩個(gè)筆劃的剩余部分間隔為一個(gè)大的歐幾里德距離,從而產(chǎn)生不正確的估計(jì),即兩個(gè)筆劃在形狀上彼此不相似。
本發(fā)明提供了一種大大改進(jìn)的部首抽取技術(shù),它將顯著提高語義匹配的性能。正如在此將要更充分討論的,該技術(shù)采用一種漢字標(biāo)準(zhǔn)化處理過程和一種改進(jìn)的筆劃分割處理過程,它將消除一些可能會(huì)混淆動(dòng)態(tài)編程過程的有問題的產(chǎn)物(artifacts)。
該技術(shù)還采用了一種新的動(dòng)態(tài)編程方法,在該方法中,通過使用正切矢量、中心關(guān)系估計(jì)以及起始點(diǎn)-結(jié)束點(diǎn)估計(jì)可以更健壯地估計(jì)替換成本。該動(dòng)態(tài)編程過程還使用部首分類數(shù)據(jù)結(jié)構(gòu),該結(jié)構(gòu)標(biāo)記開始和結(jié)束部首以便于更好地匹配。另外,該動(dòng)態(tài)編程過程還采用了一種技術(shù),以便于通過使用參考部首的長度來標(biāo)準(zhǔn)化動(dòng)態(tài)編程成本,并且這些標(biāo)準(zhǔn)化的成本隨后根據(jù)動(dòng)態(tài)編程成本而被交互調(diào)節(jié)以消除位置的不相似性。
改進(jìn)的動(dòng)態(tài)編程過程的結(jié)果是一個(gè)或n個(gè)最佳抽取部首的輸出。最佳抽取部首(或n個(gè)最佳抽取部首)隨即用于減少隨后整字匹配的詞匯量。盡管動(dòng)態(tài)編程的改進(jìn)對部首抽取特別有幫助,但它們也用于隨后的整字抽取或匹配操作。
參考下面的說明書和附圖可以更全面地理解本發(fā)明的目的和優(yōu)點(diǎn)。
圖1是用于理解部首識(shí)別處理的特定方案的機(jī)器印刷及手寫形式的典型漢字;圖2是提供漢字手寫注釋的語義字跡匹配系統(tǒng)概貌的框圖;圖3和4包括表示優(yōu)選實(shí)施例的部首抽取處理的流程圖;圖5是表示傳統(tǒng)形狀相似性估計(jì)的缺點(diǎn)之一的部首匹配圖;圖6是表示優(yōu)選實(shí)施例的正切矢量技術(shù)的部首匹配圖;圖7是表示中心關(guān)系技術(shù)的部首匹配圖;以及圖8是表示起始點(diǎn)-結(jié)束點(diǎn)估計(jì)的部首匹配圖。
圖9是目前優(yōu)選的部首集的圖示。
圖1示出了機(jī)器印刷或排字形式10以及手寫形式12的典型漢字。該特定漢字的意思是“貓”,并且由至少一個(gè)部首構(gòu)成,如部首14(出現(xiàn)在該漢字的最左邊)。該部首本身具有含義,即“動(dòng)物”。因此,表示“貓”的漢字包括嵌入其中的表示“動(dòng)物”的另一基本漢字。這個(gè)例子當(dāng)然只是為了說明,因?yàn)樵跁鏉h字中至少有兩百個(gè)日用的部首。
通常,在漢語和其它使用漢字的語言中,部首是這些漢字的小的基本意義單元。一個(gè)或多個(gè)部首可組成一個(gè)漢字。如果適當(dāng)?shù)貢鴮?,每個(gè)部首應(yīng)當(dāng)僅僅處于漢字塊的一個(gè)已知子區(qū)域中。正如這里所使用的,漢字塊指的是在印刷頁上漢字占用的近似矩形區(qū)域。可在漢字周圍畫出矩形邊框以標(biāo)出漢字塊的界線。因此,可把邊框看作是通常為矩形的彈性形狀,它可伸縮以緊密的配合在漢字的周圍,僅僅接觸漢字的末端。部首位于漢字塊內(nèi)的預(yù)定位置。
例如,在圖1所示的典型漢字中,適當(dāng)書寫的部首14占用了該漢字塊的最左部分區(qū)域,基本上延伸到該漢字的整個(gè)高度。在其它漢字中,組成部首可占用其它位置。有時(shí),這些位置占用了延伸到漢字塊的整個(gè)高度(或整個(gè)寬度)的子區(qū)域。其它一些部首則占用小于漢字塊的整個(gè)高度或?qū)挾鹊膮^(qū)域。
漢字匹配處理的概述基本漢字匹配處理可參考圖2示出。圖2所示的系統(tǒng)表示一種采用本發(fā)明方法和設(shè)備的系統(tǒng)的典型實(shí)施例。其它系統(tǒng)也是可能的。漢字匹配處理最好針對記錄時(shí)間及空間信息的稱作“字跡”數(shù)據(jù)的動(dòng)態(tài)記錄數(shù)據(jù)來執(zhí)行。在數(shù)字化輸入板16上由記錄針18畫出的筆劃被記錄為一個(gè)點(diǎn)序列(例如,在輸入板的x-y坐標(biāo)空間中的點(diǎn))以及某種時(shí)間戳記,通過它可以推知筆劃方向。該筆劃在一種數(shù)據(jù)結(jié)構(gòu)中表示,該數(shù)據(jù)結(jié)構(gòu)可用于表示筆劃方向并用于區(qū)別筆劃的起始點(diǎn)和結(jié)束點(diǎn)。由當(dāng)前優(yōu)選實(shí)施例使用的字跡數(shù)據(jù)類型保留有時(shí)間(時(shí)間)信息以及位置(x,y點(diǎn))信息。
任何手寫漢字處理系統(tǒng)的基本目的都是把手寫漢字(用戶提供)與以前存儲(chǔ)的通過系統(tǒng)訓(xùn)練(training)獲得的信息相匹配。用戶輸入諸如圖1所示漢字12的手寫漢字并且系統(tǒng)把該漢字與以前存儲(chǔ)的數(shù)據(jù)匹配。利用這種方法,以前寫入的手寫注釋可以直接檢索。如果可以得到用以把存儲(chǔ)數(shù)據(jù)與排版漢字相對應(yīng)的檢查表,則用戶的手寫輸入可轉(zhuǎn)換為排版漢字以進(jìn)行其它處理或顯示。
繼續(xù)參考圖2,用戶的手寫輸入作為詢問字跡存儲(chǔ)在詢問字跡數(shù)據(jù)結(jié)構(gòu)中。以前獲得的數(shù)據(jù)作為數(shù)據(jù)庫字跡存儲(chǔ)在數(shù)據(jù)存儲(chǔ)器22中。通過讓用戶訓(xùn)練系統(tǒng)關(guān)于他或她的筆跡的其它樣本可增加數(shù)據(jù)存儲(chǔ)器22的數(shù)據(jù)量。訓(xùn)練涉及讓用戶輸入預(yù)先知道其意思的漢字的樣本。因而,用戶的訓(xùn)練輸入可用于構(gòu)建字典中每個(gè)漢字的帶標(biāo)號(hào)數(shù)據(jù)。稱作彈性匹配的處理則可用于比較數(shù)據(jù)結(jié)構(gòu)20中的詢問字跡和數(shù)據(jù)庫結(jié)構(gòu)22中的數(shù)據(jù)庫字跡,以在數(shù)據(jù)庫字跡數(shù)據(jù)存儲(chǔ)器中選擇哪個(gè)漢字最匹配詢問字跡數(shù)據(jù)存儲(chǔ)器中的漢字。
執(zhí)行彈性匹配是一個(gè)耗時(shí)的處理,特別是在數(shù)據(jù)庫字跡數(shù)據(jù)存儲(chǔ)器包括大量詞匯時(shí),通常它也確實(shí)如此。我們記得,漢語包括日用的三千到五千個(gè)漢字。
為了加速傳統(tǒng)的彈性匹配過程,圖2所示的部首抽取技術(shù)得到應(yīng)用。在圖2中,傳統(tǒng)的彈性匹配操作在塊24中執(zhí)行。但是,在執(zhí)行此操作之前,通過部首抽取過程可以明顯簡化匹配操作或搜索。
部首抽取過程涉及首先分割詢問字跡以及數(shù)據(jù)庫字跡,以把每個(gè)漢字分割為其組成部分。分割塊30和32因?yàn)榇四康亩峁T趫D1示出的典型漢字中,通過識(shí)別組成部分之間的白色空間或者通過連接部分的分析,部首14可被分割或與該漢字的其余部分分開。但是,正如在下面的優(yōu)選實(shí)施例的描述中將更充分研究的,手寫漢字很少如此整齊地書寫。很多時(shí)候,一個(gè)部首會(huì)接觸或重疊漢字的其余部分;或者用戶快速地在組成部分之間寫下連筆。本發(fā)明提供了幾種技術(shù),它們通過改進(jìn)將在下面詳細(xì)討論的部首分割和抽取處理來關(guān)注這些問題。
源自處理26和28的分割的漢字均在相應(yīng)的彈性匹配塊30和32中被測試以確定任何一個(gè)分割部分是否表示已知的部首。為此,在34提供參考部首的數(shù)據(jù)庫。在一個(gè)典型實(shí)施例中,大約有兩百個(gè)參考部首。這些部首是從漢字字典最常出現(xiàn)的部首集中挑選出來的。參考部首可通過訓(xùn)練獲得,例如讓用戶書寫作為隨后要標(biāo)號(hào)的獨(dú)立部分的部首;或者從整字訓(xùn)練數(shù)據(jù)中人工抽取良好的部首樣本。無論是哪種方法,參考部首均提供用于這些部首的字跡數(shù)據(jù)的良好整齊的樣本,通過它們可以比較用戶詢問字跡和數(shù)據(jù)庫字跡。
源自模塊30和32的抽取部首隨后在部首代碼估算塊36中比較。塊36根據(jù)部首代碼的匹配僅僅返回最匹配的候選項(xiàng)。最匹配的部首代碼則提供給另一個(gè)部首代碼估算塊38,塊38從數(shù)據(jù)庫字跡數(shù)據(jù)存儲(chǔ)器22中挑選那些具有最匹配部首候選項(xiàng)的最匹配漢字候選項(xiàng),所選漢字隨后提供給彈性匹配塊24以便與來自數(shù)據(jù)存儲(chǔ)器20的詢問字跡相比較。
利用這種方式,用戶的輸入詢問(存儲(chǔ)在詢問字跡數(shù)據(jù)存儲(chǔ)器20中)僅僅與來自數(shù)據(jù)庫字跡數(shù)據(jù)存儲(chǔ)器22的所選漢字進(jìn)行彈性匹配。通過首先對部首執(zhí)行彈性匹配(塊30和32),整個(gè)匹配處理可以非??斓貓?zhí)行。通過返回最匹配的三十個(gè)(兩百個(gè)當(dāng)中的三十個(gè))漢字候選項(xiàng),可以減少85%的計(jì)算時(shí)間。
考慮到語義(部首抽取)模型,下面將詳細(xì)描述優(yōu)選實(shí)施例的部首抽取和改進(jìn)的動(dòng)態(tài)編程技術(shù)。這些技術(shù)可在塊30和32執(zhí)行部首抽取時(shí)采用并且改進(jìn)的動(dòng)態(tài)編程技術(shù)可在執(zhí)行彈性匹配(如圖2的塊30、32和24)時(shí)使用。盡管圖2示出的部首抽取框架是目前優(yōu)選的,但應(yīng)當(dāng)理解,本發(fā)明的技術(shù)也可在其它應(yīng)用中使用。
改進(jìn)的部首抽取參考圖3和4,現(xiàn)在將描述目前優(yōu)選的部首抽取技術(shù)。輸入筆劃數(shù)據(jù)40由用戶作為詢問字跡提供,或者來自一個(gè)數(shù)據(jù)庫。在動(dòng)態(tài)編程匹配操作之前對輸入數(shù)據(jù)執(zhí)行漢字標(biāo)準(zhǔn)化和筆劃分割處理。在圖3中,漢字標(biāo)準(zhǔn)化開始于步驟42;筆劃分割開始于步驟50并且動(dòng)態(tài)編程開始于步驟60。動(dòng)態(tài)編程步驟的細(xì)節(jié)將在圖4中示出。
漢字標(biāo)準(zhǔn)化當(dāng)一個(gè)人在沒有標(biāo)線的紙上寫字時(shí),他或她的筆跡的尺寸可能每次都不同。因此,當(dāng)一個(gè)漢字與以前存儲(chǔ)的漢字相比較時(shí),或者當(dāng)一個(gè)部首與以前存儲(chǔ)的部首比較時(shí),相應(yīng)筆劃的長度可能不同。
為了解決這個(gè)問題,通過首先定義圍繞漢字的邊框并接著把邊框尺寸調(diào)整為標(biāo)準(zhǔn)化的或標(biāo)準(zhǔn)尺寸,優(yōu)選實(shí)施例執(zhí)行漢字標(biāo)準(zhǔn)化。在圖3中,邊框45畫在漢字12的周圍并在隨后按比例縮放到標(biāo)準(zhǔn)尺寸的邊框46。在圖示的例子中,最初書寫的漢字大于標(biāo)準(zhǔn)化的漢字。當(dāng)然,在一些情況下,最初書寫的漢字會(huì)小于標(biāo)準(zhǔn)漢字,在此情況下,邊框的尺寸將按比例放大。
如步驟47所示,細(xì)成漢字的像素或點(diǎn)隨后被移位,如48所示,這樣最初書寫的漢字在尺寸上被縮小或放大至充滿標(biāo)準(zhǔn)化的邊框46。
在目前優(yōu)選的實(shí)施例中,使用的是線性標(biāo)準(zhǔn)化。每個(gè)漢字的邊框被標(biāo)準(zhǔn)化為標(biāo)準(zhǔn)漢字尺寸并且漢字中的像素被相應(yīng)移動(dòng)。假設(shè)(x1,y1),(x2,y2)分別是漢字邊框的左上角和右下角。對于該漢字內(nèi)的一點(diǎn)來說,標(biāo)準(zhǔn)化后的新坐標(biāo)將是x`=0+(x-x1)fxy`=0+(y-y1)fy式中的fx和fy分別是在x和y方向上的比例因子。fx和fy被定義為fx=Sx/(x2-x1)fy=Sy/(y2-y1)式中的Sx是我們所選的標(biāo)準(zhǔn)漢字的寬度,而Sy是高度。目前,Sx和Sy分別選擇為40和50。在標(biāo)準(zhǔn)化之后,每個(gè)漢字邊框的左上角移動(dòng)到原點(diǎn)(0,0)。
在優(yōu)選實(shí)施例中,對參考部首34(圖2)執(zhí)行類似的標(biāo)準(zhǔn)化操作。當(dāng)標(biāo)準(zhǔn)化一個(gè)參考部首時(shí),我們標(biāo)準(zhǔn)化包含該部首的整個(gè)漢字。在訓(xùn)練處理中,參考部首并不被直接訓(xùn)練。為了保留每個(gè)參考部首的部首位置信息,我們選擇一個(gè)包含該部首的字并且讓用戶寫下該漢字。之后,參考部首可從其相應(yīng)的漢字中交互抽取。我們在使用動(dòng)態(tài)編程之前標(biāo)準(zhǔn)化參考(訓(xùn)練)漢字的尺寸。
筆劃分割在通過漢字標(biāo)準(zhǔn)化進(jìn)行筆劃數(shù)據(jù)的標(biāo)準(zhǔn)化之后,如步驟52所示,首先通過基于落筆和抬筆信息組合筆劃來執(zhí)行筆劃分割。當(dāng)捕獲輸入筆劃數(shù)據(jù)40時(shí)可獲得落筆和抬筆信息以及輸入點(diǎn)的時(shí)間順序。輸入點(diǎn)組合成原始筆劃,其開始于一個(gè)落筆點(diǎn)且結(jié)束于一個(gè)抬筆點(diǎn)。如步驟54所示,系統(tǒng)則把這些原始筆劃進(jìn)一步分割成更小的筆劃。這個(gè)進(jìn)一步的分割是通過在y值的軌跡最小和最大值以及x值的軌跡最小值處斷開原始筆劃來執(zhí)行的。我們稱這些斷點(diǎn)為“內(nèi)部斷點(diǎn)”,以把它們區(qū)別于原始筆劃的落筆和抬筆斷點(diǎn)。
有時(shí)數(shù)學(xué)最小或最大點(diǎn)對于人眼來說并不非常顯眼。但它們?nèi)匀辉跀?shù)據(jù)中。我們稱這些點(diǎn)為“模糊”斷點(diǎn)。目前優(yōu)選的實(shí)施例在步驟56消除模糊斷點(diǎn)。模糊斷點(diǎn)的消除處理根據(jù)下面的步驟定義模糊斷點(diǎn)假設(shè)pn-i,……,pn-l,Pn,pn+l,…pn+j是依照其時(shí)間順序的連續(xù)輸入點(diǎn)。設(shè)pn-l,pn和pn+j是斷點(diǎn),并且Pn由于其y值的軌跡最小值而為內(nèi)部斷點(diǎn)。為了檢查pn是否“模糊”,我們定義dy1為“試驗(yàn)筆劃pn-l,…pn”的兩個(gè)連續(xù)點(diǎn)的y值的平均差,并且dy2為試驗(yàn)筆劃pn,…pn+j”的平均差,如下所示dy1=1iΣk=n-in-1((pk)y-(pk+1)y)=[(pn-i)y-(pn)y]/i++]]>dy2=1jΣk=n+1n+j((pk-1)y-(pk)y)=[(pn)y-(pn+j)y]/j]]>為了使內(nèi)部斷點(diǎn)明顯,我們優(yōu)選dy1和dy2的較大的絕對值。由于dy1和dy2通常方向相反,所以采用下面的規(guī)則如果|dy1-dy2|≤T,則Pn是模糊內(nèi)部斷點(diǎn),因而將其刪除。
T是一個(gè)閾值,目前設(shè)置為0.5。消除模糊的x-最小和y-最大斷點(diǎn)的過程是相似的。
在消除模糊斷點(diǎn)之后,在步驟58識(shí)別和消除任何連筆。連筆在手寫漢字中非常普遍。連筆就是那些不是印刷體手寫漢字的標(biāo)準(zhǔn)漢字的一部分的筆劃。在草體筆跡中,有時(shí)候兩個(gè)分開的筆劃會(huì)由另外一個(gè)筆劃即連筆連接。
通過檢驗(yàn)筆劃數(shù)據(jù)來估計(jì)筆劃方向可以檢測連筆。如果筆劃是從右下到左上,則很可能這是連筆。
實(shí)際上,連筆并不總是出現(xiàn)在手寫漢字中。額外的連筆更可能受到形成漢字時(shí)的記錄針?biāo)俣群头较虻挠绊?。例如,一個(gè)用戶通常可能寫的是沒有連筆的整齊的印制體漢字。但是,當(dāng)該用戶寫字很快時(shí)則可能出現(xiàn)連筆。
目前優(yōu)選的筆劃消除技術(shù)使用下面的規(guī)則來檢測和消除連筆如果ey-sy≤1并且ex-sx≤1,則這是連筆。
在上面的公式中,(sx,sy)和(ex,ey)分別是分割筆劃的起始點(diǎn)和結(jié)束點(diǎn)并且原點(diǎn)(0,0)位于數(shù)字化輸入板或捕獲設(shè)備的左上角。
一旦完成上述的筆劃分割處理,則如步驟60所示,現(xiàn)在可執(zhí)行動(dòng)態(tài)編程。優(yōu)選實(shí)施例的動(dòng)態(tài)編程在圖4中詳細(xì)示出。
動(dòng)態(tài)編程動(dòng)態(tài)編程的目的是匹配兩個(gè)部分,如參考部首和所述漢字。匹配處理在筆劃級執(zhí)行;因此,其結(jié)果就是兩個(gè)筆跡之間的最佳筆劃關(guān)系或匹配。與此匹配相關(guān)的成本被計(jì)算。由于動(dòng)態(tài)編程在筆劃級執(zhí)行,所以在優(yōu)選實(shí)施例中首先計(jì)算筆劃操作(插入筆劃、刪除筆劃或替換筆劃)。
如步驟62所示,優(yōu)選實(shí)施例使用點(diǎn)級數(shù)據(jù)計(jì)算筆劃操作的成本。它與傳統(tǒng)方法的不同之處在于筆劃插入成本和刪除成本在正比于筆劃長度的方向上計(jì)算,并且替換成本根據(jù)形狀相似性進(jìn)行計(jì)算。比較起來,優(yōu)選實(shí)施例把每個(gè)筆劃看作是一個(gè)連續(xù)的點(diǎn)序列,在該序列中,在點(diǎn)級執(zhí)行動(dòng)態(tài)編程以便完全匹配兩個(gè)點(diǎn)序列。該點(diǎn)級計(jì)算包括基本操作插入64、刪除66和替換68。優(yōu)選實(shí)施例中的替換成本估計(jì)使用若干改進(jìn)的技術(shù),包括正切矢量方法70、中心關(guān)系估計(jì)72和起始點(diǎn)-結(jié)束點(diǎn)估計(jì)74。這些將在下面討論。但是,在進(jìn)行這些改進(jìn)技術(shù)的討論之前,參考圖5將描述傳統(tǒng)替換成本測量的缺點(diǎn)之一。
在傳統(tǒng)的替換成本測量中,兩個(gè)筆劃,如a的筆劃s1和b的筆劃s2之間形狀相似。首先通過在c臨時(shí)對齊兩個(gè)筆劃以使它們的左上角(或它們各自邊框的左上角)重疊來執(zhí)行估計(jì)。如c所示,雖然兩個(gè)筆劃除了最左上角的部分外基本相似,但通過使兩個(gè)筆劃在它們的左上角對齊,兩個(gè)筆劃的其余部分仍然間隔較大的歐幾里德距離。這會(huì)導(dǎo)致累積錯(cuò)誤,這樣,替換成本所估計(jì)的值高于整個(gè)形狀本來所確定的值。
圖6示出了如何根據(jù)本發(fā)明的優(yōu)選實(shí)施例估計(jì)替換成本。參考圖6,我們定義兩個(gè)筆劃的相應(yīng)點(diǎn)如下設(shè)s1是具有l(wèi)1個(gè)點(diǎn)的筆劃,并且s2是具有l(wèi)2個(gè)點(diǎn)的筆劃。Pi是s1上的第i個(gè)點(diǎn),Pi在s2上的相應(yīng)點(diǎn)是Pi,其中j=il1l2]]>接著我們計(jì)算兩個(gè)相應(yīng)點(diǎn)Pi和Pj的替換,如下所示POINT_SUB_COST(Pi|S1,S2)=1-cosθ(vi,vj)式中vi是在點(diǎn)Pi的正切矢量,并且vj是在點(diǎn)Pj的正切矢量,θ(vi,vj)是兩個(gè)矢量之間的角度,并且θ∈
。
cosθ(vi,vj)可計(jì)算為cosθ(vi,yj)=(x2-x1)×(x4-x3)+(y2-y1)×(y4-y3)(x1-x2)2+(y1-y2)2×(x3-x4)2+(y3-y4)2]]>式中(x1,y1)和(x2,y2)分別是vi的起始點(diǎn)和結(jié)束點(diǎn);(x3,y3)和(x4,y4)分別是vj的起始點(diǎn)和結(jié)束點(diǎn)。
可以看出,θ(vi,vj)越大,POINT_SUB_COST(vi,vj)的值就越大。兩個(gè)相應(yīng)點(diǎn)的替換不影響它們的歐幾里德距離,但影響在這些相應(yīng)點(diǎn)的兩個(gè)筆劃之間的“瞬時(shí)”形狀的差。
通過對沿著筆劃s1的所有點(diǎn)的點(diǎn)替換成本求和,我們可得到筆劃s1和s2之間的替換成本STROKE_SUB_COST(s1,s2)=Σi=1l1POINT_SUB_COST(pi|s1,s2)]]>式中的l1是筆劃s1的長度。讓我們通過進(jìn)一步的標(biāo)準(zhǔn)化來改進(jìn)這個(gè)筆劃替換成本STROKE_SUB_COST(s1,s2)=max(l2l1,l1l2)×(l2+l1)/2l1Σi=1l1POINT_SUB_COST(Pi|s1,s2)]]>式中的 項(xiàng)反映了兩個(gè)筆劃的平均長度,并且 反映了筆劃尺寸的差值,因此,筆劃尺寸的差值越大,替換成本就越大。
在標(biāo)準(zhǔn)化之后,我們近似具有STROKE_SUB_COST(s1,s2)≈STROKE_SUB-COST(s2,s1)新的筆劃替換成本可克服幾個(gè)缺點(diǎn)。首先,通過找到相應(yīng)的點(diǎn),我們可以在計(jì)算點(diǎn)替換成本時(shí)去掉動(dòng)態(tài)編程過程。其次,如圖6所示,使用正切矢量計(jì)算替換成本不具有累積效應(yīng)。
以上概述的估計(jì)替換成本的正切矢量法允許不考慮筆劃的結(jié)構(gòu)信息來匹配筆劃。為了進(jìn)一步提高性能,筆劃的結(jié)構(gòu)關(guān)系可通過筆劃的中心關(guān)系以及它們的起始點(diǎn)和結(jié)束點(diǎn)的估計(jì)進(jìn)行估計(jì)。
當(dāng)用戶形成一個(gè)漢字時(shí),漢字中的筆劃以結(jié)構(gòu)關(guān)系排列(即,筆劃之間的空間關(guān)系)。為了估計(jì)結(jié)構(gòu)關(guān)系,筆劃的重心被計(jì)算并且用于表示筆劃的位置。如圖7所示,結(jié)構(gòu)信息可通過兩個(gè)筆劃中心之間的空間關(guān)系來反映。參考圖7,前兩個(gè)匹配的筆劃是ri(參考部首的第i劃)和ci(漢字的第j劃)。系統(tǒng)隨后將匹配rm和cn。
設(shè)pi,pj,pm,pn分別是ri,cj,rm和cn的重心。矢量 可反映兩個(gè)筆劃ri和rm之間的空間關(guān)系。類似地,矢量 可反映cj和cn之間的空間關(guān)系。當(dāng)我們試圖匹配rm和cn時(shí),不僅rm和cn在形狀上要相似,而且它們相對于前面匹配的筆劃(即,分別是ri和cj)的空間關(guān)系也應(yīng)當(dāng)相似。換言之,矢量 和 之間的角度應(yīng)當(dāng)小。
我們的準(zhǔn)則是
如果 則rm和cn應(yīng)當(dāng)不匹配。θT是一個(gè)閾值,目前設(shè)置為π/2。在動(dòng)態(tài)編程中,如果兩個(gè)被檢驗(yàn)筆劃確定為不匹配,則我們把替換成本設(shè)置為非常高的數(shù),從而使替換不能發(fā)生。否則,我們使用上述方法計(jì)算筆劃替換成本。
一個(gè)例外是,如果pi=pm或pj=pn,則由此產(chǎn)生的零長度矢量的方向沒有意義。因此,在這種情況下,上述準(zhǔn)則將被忽略,并且將計(jì)算替換成本。
優(yōu)選實(shí)施例還在計(jì)算替換成本時(shí)估計(jì)起始點(diǎn)和結(jié)束點(diǎn)。通過首先查看匹配或替換的上兩個(gè)筆劃,該系統(tǒng)檢查兩個(gè)筆劃可能的匹配。一個(gè)筆劃的起始點(diǎn)與下一個(gè)筆劃的結(jié)束點(diǎn)用于定義建立一個(gè)角度的矢量,通過該角度可比較要進(jìn)行匹配的筆劃。該過程可參考圖8進(jìn)行理解。
如圖8所示,設(shè)上兩個(gè)匹配的筆劃是ri(部首的第i劃)和ci(漢字的第j劃)。要檢驗(yàn)的兩劃是rm和cn。設(shè)ei和ei分別是筆劃ri和ci的結(jié)束點(diǎn)。設(shè)sm和sn分別為筆劃rm和cn的起始點(diǎn)。矢量 反映兩個(gè)筆劃ri和rm之間的空間關(guān)系。類似地,矢量 反映筆劃ci和cn之間的空間關(guān)系。當(dāng)我們試圖使筆劃rm匹配cn時(shí),不僅rm和cn在形狀上應(yīng)當(dāng)相似,而且它們相對于前面匹配的筆劃(即分別是ri和ci)的空間關(guān)系也應(yīng)相似。換言之,矢量 和 之間的角度應(yīng)當(dāng)小。
我們的準(zhǔn)則是如果 則rm和cn不匹配。θT是一個(gè)閾值,目前設(shè)置為π/2。與中點(diǎn)矢量類似,在動(dòng)態(tài)編程中,如果兩個(gè)正在檢測的筆劃被確定為不匹配,則我們把替換成本設(shè)置為非常高的數(shù),從而使替換不能發(fā)生。否則,我們使用上述方法計(jì)算筆劃替換成本。
而且,有時(shí)當(dāng)兩個(gè)連續(xù)的筆劃連在—起時(shí),第—?jiǎng)澋慕Y(jié)束點(diǎn)正好是第二劃的起始點(diǎn),即ei=sm或ej=sn。在這種情況下,將不考慮上述準(zhǔn)則,并將計(jì)算替換成本。
在計(jì)算了上述插入成本、刪除成本和替換成本之后,在76執(zhí)行動(dòng)態(tài)編程匹配。動(dòng)態(tài)編程匹配在目前優(yōu)選的實(shí)施例中通過把部首分成兩個(gè)主要類別的部首分類過程78得到改進(jìn)。在第一類中,部首開始一個(gè)字的前幾劃。在第二類中,部首結(jié)束該漢字的后幾劃。
一個(gè)部首所屬的類別通常是預(yù)知的。這種類別信息在目前優(yōu)選的動(dòng)態(tài)編程匹配處理中得到加強(qiáng)。當(dāng)一個(gè)參考部首匹配一個(gè)漢字時(shí),如果該漢字中匹配的筆劃不在該部首期望的類別中,則要增加更多的成本。通過下面的動(dòng)態(tài)編程過程可解釋目前優(yōu)選的實(shí)施方案。
以前,動(dòng)態(tài)編程用于匹配參考部首R(shí)=r1r2…rm和字C=c1c2…cm的一個(gè)子序列。在此處理中,可根據(jù)每個(gè)操作成本而發(fā)生三個(gè)操作插入、刪除或替換。最終的目的是尋找一個(gè)具有最小總成本的最佳操作序列。例如,設(shè)r=r1r2r3r4是由四劃組成的參考部首,并且C=c1c2c3…c8是由八劃組成的匹配漢字。為了把R變換成C的一個(gè)子序列,即c`=c=c3c4c5c6,如表1所示,一種可能的操作順序是插入c1,插入c2,用c3替換r1,用c4替換r2,插入c5,用c6替換r3并刪除r4。
表1用于把第一類部首部分匹配一個(gè)漢字的一個(gè)子序列的動(dòng)態(tài)編程過程I插入;S替換;D刪除
在最初的動(dòng)態(tài)編程過程中,我們允許匹配在筆劃序列C中的任意位置開始并在任意位置結(jié)束。在上面的例子中,實(shí)際匹配從c3替換r1開始且結(jié)束于刪除r4。因此,總成本就是c3替換r1,c4替換r2,插入c5,c6替換r3和刪除r4之和,且沒有考慮插入c1和插入c2的成本。
當(dāng)考慮到部首類別時(shí),我們試圖把懲罰(penalty)加入與漢字的前幾劃不匹配的第一類別的筆劃中或與漢字的后幾劃不匹配的第二類別的筆劃中。為此,我們改進(jìn)動(dòng)態(tài)編程過程,以便對第一類部首來說允許匹配從匹配字的第一劃開始并在任意位置結(jié)束;并且對于第二類部首來說允許匹配從一個(gè)字的任意位置開始并在最后一筆結(jié)束。在表1的情況中,總成本將是插入c1,插入c2,c3替換r1,c4替換r2,插入c5,c6替換r3和刪除r4之和??梢钥闯觯ヅ溆刹迦隿1和插入c2的成本懲罰,這是因?yàn)樘鎿Q沒有開始于C的第一劃。如上所述,對于第一類部首來說,動(dòng)態(tài)編程可在一個(gè)字的任意位置結(jié)束。
類似地,對于屬于第二類別的部首R(shí)來說,希望匹配在C的最后一劃cm結(jié)束的C的一個(gè)子序列。如表2所示,一種可能的操作順序是插入c1,插入c2,c3替換r1,r4替換r2,插入c5,c6替換r3,刪除r4、插入c7和插入c8。
表2用于使第二類部首匹配一個(gè)字的動(dòng)態(tài)編程過程的圖示
在這種情況下,前兩個(gè)插入操作(插入c1和插入c2)應(yīng)當(dāng)零成本執(zhí)行,這是因?yàn)槠ヅ淇梢栽谧值娜我馕恢瞄_始。但是,后兩個(gè)插入操作(插入c7和插入c8)的成本不應(yīng)忽略。
動(dòng)態(tài)編程匹配步驟76產(chǎn)生用于使一個(gè)參考部首匹配一個(gè)字的一部分的總動(dòng)態(tài)編程成本。該總成本是所有操作成本(插入、刪除和替換)之和。因此,對于每個(gè)字來說,當(dāng)所有的參考部首都嘗試與之匹配時(shí),筆劃較少的部首往往得出較小的動(dòng)態(tài)編程成本。這可能會(huì)導(dǎo)致錯(cuò)誤的結(jié)果。為了解決這個(gè)問題,如步驟80所示,目前優(yōu)選的實(shí)施例使用參考部首82的長度來標(biāo)準(zhǔn)化動(dòng)態(tài)編程的成本。標(biāo)準(zhǔn)化動(dòng)態(tài)編程的成本將消除筆劃較少的部首所固有的優(yōu)越性,從而產(chǎn)生一種更健壯的部首抽取處理過程。
兩個(gè)部首(例如,參考部首和檢驗(yàn)部首)間的位置相似性是可在部首抽取方案中利用的某種航向信息。如步驟84所示,優(yōu)選實(shí)施例使用位置相似性作為篩選部首的基礎(chǔ),從而去除那些位置不相似的部首。對于每個(gè)字來說,該去除處理涉及到把基于動(dòng)態(tài)編程的彈性匹配應(yīng)用到所有參考部首。該過程隨后計(jì)算參考部首與該字間的匹配筆劃的位置相似性。在去除具有負(fù)位置相似性的部首之后,剩余部首的動(dòng)態(tài)編程成本被分級并且具有最低成本的兩個(gè)最匹配部首被選為該漢字的抽取部首。如圖所示,對所有的參考部首均重復(fù)分級步驟86和不相似去除步驟84。因此,這個(gè)過程的最終產(chǎn)物表示88所示的抽取的一個(gè)或多個(gè)部首。
部首代碼估算在從每個(gè)字中抽取部首之后,字符串就變成了部首代碼即部首ID的一個(gè)序列。當(dāng)兩個(gè)字符串相比較時(shí),通過動(dòng)態(tài)編程處理而在部首代碼級上進(jìn)行匹配。這既應(yīng)用到筆跡匹配筆跡(即手寫數(shù)據(jù)庫和手寫詢問)又應(yīng)用到筆跡匹配打字體文本(即手寫數(shù)據(jù)庫和打字體文本詢問)。對于打字體詢問來說,可立即轉(zhuǎn)換為部首代碼并且與數(shù)據(jù)庫串的部首代碼相比較。
在用于匹配兩個(gè)字符串的動(dòng)態(tài)編程中,三個(gè)基本操作被定義字插入、字刪除和字替換,它們中的每一個(gè)都與一種操作成本相關(guān)聯(lián)。其目的就是把詢問串的部首代碼轉(zhuǎn)換成數(shù)據(jù)串的部首代碼。利用動(dòng)態(tài)編程處理,系統(tǒng)獲得一個(gè)最佳匹配序列,該序列可實(shí)現(xiàn)最小的編排距離(最小總操作成本)。
字插入和刪除成本被指定為常數(shù)。字替換成本反映了兩個(gè)字(即四個(gè)部首代碼,每個(gè)字兩個(gè))的差值。字替換被定義為一個(gè)字中的部首代碼在另一個(gè)字中沒有被找到的出現(xiàn)次數(shù)。如果一個(gè)字沒有抽取的部首代碼,則它由兩個(gè)空部首代碼(ID為零的代碼)表示并且替換代碼以相同的方式計(jì)算。
如果需要,空部首代碼可作如下修改。每個(gè)字具有兩個(gè)抽取的部首并且因而每個(gè)字可由對應(yīng)于部首ID的兩個(gè)數(shù)表示。如果沒有抽取部首,則為空部首代碼并且部首ID為零。在一個(gè)實(shí)施例中,對于失配部首代碼或未抽取部首代碼來說,字替換以相同的方式計(jì)算。但是,如果需要的話,與失配部首代碼相比,一種更嚴(yán)厲的懲罰可應(yīng)用了未抽取的部首代碼。
而且,從前面的算法中可以看出,每個(gè)抽取的部首被同等對待。特別是,當(dāng)兩個(gè)部首代碼相同時(shí),它們對替換成本沒有影響。盡管本方法鼓勵(lì)部首代碼中的匹配,但它對具有較小部首抽取成本,即具有更可靠的抽取部首的部首代碼中的匹配沒有益處。當(dāng)在部首抽取處理中獲得每個(gè)部首代碼時(shí),動(dòng)態(tài)編程成本將與之相關(guān)聯(lián)。新方法提出把前個(gè)部首的此動(dòng)態(tài)編程成本附加到替換成本計(jì)算中。如果均具有高置信度(部首抽取的低成本)的兩個(gè)部首代碼相匹配,則它們的替換成本應(yīng)當(dāng)小于具有低置信度的兩個(gè)部首代碼的替換成本。通過組合方法,我們把我們的新字替換成本描述如下。
讓我們比較兩個(gè)字C1=a1a2和C2=b1b2,其中a1a2是來自C1的抽取部首,并且b1b2是來自C2的抽取部首。而且dpCOST_b1、dpCOST_b2、dpCOST_a1、dpCOST_a2是在筆劃級上的動(dòng)態(tài)編程成本,即分別是b1、b2、a1和a2的部首抽取成本。這兩個(gè)字的抽取成本將是SUB_COST(b1,b2;a1,a2)=COST(b1;a1,a2)+COST(b2;a1,a2)式中COST(b1;a1,a2)是b1的替換成本,它等于 并且COST(b2;a1,a2)是b2的替換成本 式中的csub_max是一個(gè)指定的常數(shù),它表示當(dāng)(a1,a2)和(b1,b2)完全不同時(shí)的最差情況下的替換成本。通過實(shí)驗(yàn)可知,對于任何筆劃x來說,dpCOST_x都小于csub_max。
無論何時(shí)在部首代碼中存在匹配(例如,b1=a2),COST(b1;a1,a2)和COST(b2;a1,a2)都總是小于csub_max/2,并且最終的替換成本將小于csub_max。
參考部首在構(gòu)建一個(gè)工作實(shí)施例時(shí),應(yīng)當(dāng)選擇參考部首,目的就是為了提高整體的語義匹配處理。參考部首的選擇直接影響部首抽取處理。通常,正確抽取的部首越多,最終的匹配率越高。提高正確抽取的部首數(shù)的一種方法是增加參考部首的數(shù)目。因此,更多的部首被抽取。但是,當(dāng)參考部首數(shù)據(jù)庫增加時(shí),需要花更多的時(shí)間來訓(xùn)練參考部首并且花更多的時(shí)間來抽取參考部首。因而,選擇正確的部首數(shù)就變成了處理時(shí)間與匹配率之間的折衷。
部首選擇的另一個(gè)考慮涉及部首間的相似性。把相似的部首一起放在訓(xùn)練集中會(huì)引起混亂。另外,一些部首更難以抽取,僅僅是因?yàn)樗鼈冇卸喾N不同的寫法??赡芤鸹靵y和能夠以很多種不同方式書寫的部首最好從用于部首抽取的參考部首集中刪除。圖9示出了用于實(shí)施漢字識(shí)別系統(tǒng)的目前優(yōu)選的部首。所示的前45個(gè)參考部首包括在兩千個(gè)左右的常用漢字中最頻繁使用的部首。由于這些字在漢字手寫中并不是以相同的頻率出現(xiàn),所以我們在這個(gè)部首集中補(bǔ)充了另外十二個(gè)部首,它們是從在數(shù)據(jù)庫串中最頻繁使用的部首中挑選出來的。在設(shè)計(jì)一個(gè)工作實(shí)施例時(shí),這些參考部首可用于構(gòu)建最初的實(shí)施例。之后,正如系統(tǒng)所使用的,根據(jù)使用頻率的統(tǒng)計(jì)數(shù)據(jù),其它一些部首被標(biāo)識(shí)并加到參考部首數(shù)據(jù)集中。
根據(jù)前面的描述可以理解,此處所述的部首抽取技術(shù)可單獨(dú)使用或彼此組合使用,以便于提高整個(gè)語義匹配處理。盡管本發(fā)明是以其目前優(yōu)選的形式描述的,但應(yīng)當(dāng)理解,在不背離所附權(quán)利要求所述的本發(fā)明精神的情況下可以進(jìn)行某些改進(jìn)。
權(quán)利要求
1.一種用于檢索草體手寫注釋的方法,包括存儲(chǔ)注釋的詞匯(lexicon);存儲(chǔ)對應(yīng)于所述注釋的語義部分的多個(gè)部首;輸入要檢索的手寫注釋;通過首先標(biāo)準(zhǔn)化所述輸入手寫注釋,接著識(shí)別所述手寫注釋中用以表示抽取部首的部分,從而從所述輸入手寫注釋中抽取至少一個(gè)部首;執(zhí)行所述抽取部首和所述存儲(chǔ)的多個(gè)部首之間的估算操作以識(shí)別至少一個(gè)候選部首;使用所述候選部首選擇所述詞匯的一個(gè)子集;執(zhí)行所述輸入手寫注釋和所述子集之間的匹配操作,以便于從所述詞匯中檢索一個(gè)注釋。
2.根據(jù)權(quán)利要求1的方法,其中所述標(biāo)準(zhǔn)化步驟通過下面的步驟執(zhí)行,即把所述手寫注釋表示為多個(gè)點(diǎn)并按比例縮放所述點(diǎn)之間的間隔,以使輸入手寫注釋按比例縮放至一個(gè)預(yù)定尺寸。
3.根據(jù)權(quán)利要求1的方法,其中所述抽取步驟通過下面的步驟執(zhí)行,即根據(jù)與所述筆劃相關(guān)的抬筆/落筆信息識(shí)別所述輸入手寫注釋中的筆劃并在隨后組織所述筆劃。
4.根據(jù)權(quán)利要求1的方法,其中所述抽取步驟通過下面的步驟執(zhí)行,即根據(jù)所述筆劃中的軌跡最大和最小點(diǎn)識(shí)別所述輸入手寫注釋中的筆劃并在隨后組織所述筆劃。
5.根據(jù)權(quán)利要求4的方法還包括有選擇地消除所選軌跡最大和最小點(diǎn)。
6.根據(jù)權(quán)利要求1的方法,其中所述抽取步驟通過識(shí)別所述輸入手寫注釋中的連筆并消除所述連筆來執(zhí)行。
7.根據(jù)權(quán)利要求1的方法,其中所述估算操作通過下面的步驟執(zhí)行,即把所述抽取部首以及所述存儲(chǔ)的多個(gè)部首表示為連續(xù)點(diǎn)系列并且對所述各個(gè)連續(xù)點(diǎn)系列執(zhí)行動(dòng)態(tài)編程匹配。
8.根據(jù)權(quán)利要求1的方法,其中所述估算操作包括一種動(dòng)態(tài)編程匹配操作,該動(dòng)態(tài)編程匹配操作得出至少一個(gè)表示匹配接近程度的編程成本量度。
9.根據(jù)權(quán)利要求8的方法還包括確定參考部首的長度并且根據(jù)所述參考部首的長度標(biāo)準(zhǔn)化所述編程成本量度。
10.根據(jù)權(quán)利要求1的方法,其中所述估算操作包括一種動(dòng)態(tài)編程匹配操作,該動(dòng)態(tài)編程匹配操作包括根據(jù)起始點(diǎn)和結(jié)束點(diǎn)把部首分類的步驟。
11.根據(jù)權(quán)利要求1的方法,其中所述估算操作包括一種動(dòng)態(tài)編程匹配操作,該動(dòng)態(tài)編程匹配操作包括通過比較與所述抽取部首和所述存儲(chǔ)的多個(gè)部首相關(guān)的正切矢量計(jì)算替換成本的步驟。
12.根據(jù)權(quán)利要求1的方法,其中所述估算操作包括一種動(dòng)態(tài)編程匹配操作,該動(dòng)態(tài)編程匹配操作包括估計(jì)所述抽取部首的中心和所述存儲(chǔ)的多個(gè)部首的中心之間的關(guān)系的步驟。
13.根據(jù)權(quán)利要求1的方法,其中所述估算操作包括一種動(dòng)態(tài)編程匹配操作,該動(dòng)態(tài)編程匹配操作包括估計(jì)所述抽取部首和所述存儲(chǔ)的多個(gè)部首的起始點(diǎn)和結(jié)束點(diǎn)的步驟。
14.根據(jù)權(quán)利要求1的方法,其中所述估計(jì)操作包括比較所述抽取部首內(nèi)的筆劃與所述多個(gè)部首內(nèi)的筆劃并刪除具有負(fù)位置相似性的所述候選部首的步驟。
15.根據(jù)權(quán)利要求1的方法,其中所述估計(jì)操作產(chǎn)生多個(gè)抽取的部首候選項(xiàng)并且包括根據(jù)動(dòng)態(tài)編程成本把所述候選項(xiàng)分級的步驟。
16.一種用于檢索草體手寫注釋的方法,包括存儲(chǔ)注釋的詞匯;存儲(chǔ)對應(yīng)于所述注釋的語義部分的多個(gè)部首;輸入要檢索的手寫注釋;通過使用筆劃起始點(diǎn)和結(jié)束點(diǎn)信息來識(shí)別所述手寫注釋內(nèi)的各個(gè)筆劃并在隨后根據(jù)軌跡最大和最小點(diǎn)進(jìn)一步分割所述各個(gè)筆劃并且使用所述分割的各個(gè)筆劃來表示所述抽取的部首,從而從所述輸入手寫注釋中抽取至少一個(gè)部首;執(zhí)行所述抽取部首和所述存儲(chǔ)的多個(gè)部首之間的估算操作以選擇至少一個(gè)候選部首;使用所述候選部首選擇所述詞匯的一個(gè)子集;執(zhí)行所述輸入手寫注釋和所述子集之間的匹配操作,以便于從所述詞匯中檢索一個(gè)注釋。
17.根據(jù)權(quán)利要求16的方法還包括有選擇地消除所選軌跡最大和最小點(diǎn)。
18.根據(jù)權(quán)利要求16的方法,其中所述抽取步驟通過識(shí)別所述輸入手寫注釋中的連筆并消除所述連筆來執(zhí)行。
19.根據(jù)權(quán)利要求16的方法,其中所述估算操作通過下面的步驟執(zhí)行,即把所述抽取部首以及所述存儲(chǔ)的多個(gè)部首表示為連續(xù)點(diǎn)系列并且對所述各個(gè)連續(xù)點(diǎn)系列執(zhí)行動(dòng)態(tài)編程匹配。
20.根據(jù)權(quán)利要求16的方法,其中所述估算操作是一種動(dòng)態(tài)編程匹配操作,該動(dòng)態(tài)編程匹配操作得出至少一個(gè)表示匹配接近程度的編程成本量度。
21.根據(jù)權(quán)利要求20的方法還包括確定參考部首的長度并且根據(jù)所述參考部首的長度標(biāo)準(zhǔn)化所述編程成本量度。
22.根據(jù)權(quán)利要求16的方法,其中所述估算操作是一種動(dòng)態(tài)編程匹配操作,該動(dòng)態(tài)編程匹配操作包括根據(jù)起始點(diǎn)和結(jié)束點(diǎn)把部首分類的步驟。
23.根據(jù)權(quán)利要求16的方法,其中所述估算操作是一種動(dòng)態(tài)編程匹配操作,該動(dòng)態(tài)編程匹配操作包括通過比較與所述抽取部首和所述存儲(chǔ)的多個(gè)部首相關(guān)的正切矢量計(jì)算替換成本的步驟。
24.根據(jù)權(quán)利要求16的方法,其中所述估算操作是一種動(dòng)態(tài)編程匹配操作,該動(dòng)態(tài)編程匹配操作包括估計(jì)所述抽取部首的中心和所述存儲(chǔ)的多個(gè)部首的中心之間的關(guān)系的步驟。
25.根據(jù)權(quán)利要求16的方法,其中所述估算操作是一種動(dòng)態(tài)編程匹配操作,該動(dòng)態(tài)編程匹配操作包括估計(jì)所述抽取部首和所述存儲(chǔ)的多個(gè)部首的起始點(diǎn)和結(jié)束點(diǎn)的步驟。
26.根據(jù)權(quán)利要求16的方法,其中所述估計(jì)操作包括比較所述抽取部首內(nèi)的筆劃與所述多個(gè)部首內(nèi)的筆劃并刪除具有負(fù)位置相似性的所述候選部首的步驟。
27.根據(jù)權(quán)利要求16的方法,其中所述估計(jì)操作產(chǎn)生多個(gè)抽取的部首候選項(xiàng)并且包括根據(jù)動(dòng)態(tài)編程成本把所述候選項(xiàng)分級的步驟。
28.一種用于從草體手寫注釋中提取部首的方法包括輸入要檢索的手寫注釋;和通過首先標(biāo)準(zhǔn)化所述輸入手寫注釋,接著識(shí)別所述手寫注釋中用以表示抽取的部首的部分,從而從所述輸入手寫注釋中抽取至少一個(gè)部首;
29.根據(jù)權(quán)利要求28的方法,其中所述標(biāo)準(zhǔn)化步驟通過下面的步驟執(zhí)行,即把所述手寫注釋表示為多個(gè)點(diǎn)并按比例縮放所述點(diǎn)之間的間隔,以使輸入手寫注釋按比例縮放至一個(gè)預(yù)定尺寸。
30.根據(jù)權(quán)利要求28的方法,其中所述抽取步驟通過下面的步驟執(zhí)行,即根據(jù)與所述筆劃相關(guān)的抬筆/落筆信息識(shí)別所述輸入手寫注釋中的筆劃并在隨后組織所述筆劃。
31.根據(jù)權(quán)利要求28的方法,其中所述抽取步驟通過下面的步驟執(zhí)行,即根據(jù)所述筆劃中的軌跡最大和最小點(diǎn)識(shí)別所述輸入手寫注釋中的筆劃并在隨后組織所述筆劃。
32.根據(jù)權(quán)利要求31的方法還包括有選擇地消除所選軌跡最大和最小點(diǎn)。
33.根據(jù)權(quán)利要求28的方法,其中所述抽取步驟通過識(shí)別所述輸入手寫注釋中的連筆并消除所述連筆來執(zhí)行。
34.一種用于從草體手寫注釋中提取部首的方法包括輸入要檢索的手寫注釋;和通過使用筆劃起始點(diǎn)和結(jié)束點(diǎn)信息來識(shí)別所述手寫注釋內(nèi)的各個(gè)筆劃并在隨后根據(jù)軌跡最大和最小點(diǎn)進(jìn)一步分割所述各個(gè)筆劃并且使用所述分割的各個(gè)筆劃來表示所述抽取的部首,從而從所述輸入手寫注釋中抽取至少一個(gè)部首。
35.根據(jù)權(quán)利要求34的方法還包括有選擇地消除所選軌跡最大和最小點(diǎn)。
36.根據(jù)權(quán)利要求34的方法,其中所述抽取步驟通過識(shí)別所述輸入手寫注釋中的連筆并消除所述連筆來執(zhí)行。
37.在一種用于匹配手寫注釋的動(dòng)態(tài)編程過程中,一種用于確定筆劃替換成本的改進(jìn)方法包括識(shí)別多個(gè)要比較的筆劃;把正切矢量分配給每個(gè)進(jìn)行比較的筆劃;并且把替換成本建立在所述矢量之間的關(guān)系上。
38.在一種用于匹配手寫注釋的動(dòng)態(tài)編程過程中,一種用于確定筆劃替換成本的改進(jìn)方法包括識(shí)別多個(gè)要比較的筆劃;確定與每個(gè)進(jìn)行比較的筆劃相關(guān)的重心;和把替換成本建立在所述重心之間的關(guān)系上。
39.在一種用于匹配手寫注釋的動(dòng)態(tài)編程過程中,一種用于確定筆劃替換成本的改進(jìn)方法包括識(shí)別多個(gè)要比較的筆劃;執(zhí)行匹配操作以識(shí)別一對筆劃;使用所述多個(gè)筆劃的起始點(diǎn)和結(jié)束點(diǎn)的關(guān)系計(jì)算替換成本。
40.根據(jù)權(quán)利要求34的一種用于檢索草體手寫注釋的方法還包括接收來自用戶的輸入注釋;存儲(chǔ)注釋的詞匯;和使用所述抽取的部首選擇所述詞匯的一個(gè)子集;執(zhí)行所述輸入手寫注釋和所述子集之間的匹配操作,以便于從所述詞匯中檢索一個(gè)注釋。
41.一種用于檢索草體手寫注釋的方法,包括存儲(chǔ)注釋的詞匯;存儲(chǔ)對應(yīng)于所述注釋的語義部分的多個(gè)部首;輸入要檢索的手寫注釋;從所述輸入手寫注釋中抽取至少一個(gè)部首;執(zhí)行所述抽取部首和所述存儲(chǔ)的多個(gè)部首之間的估算操作以識(shí)別至少一個(gè)候選部首;使用所述候選部首選擇所述詞匯的一個(gè)子集;執(zhí)行所述輸入手寫注釋和所述子集之間的匹配操作,以便于從所述詞匯中檢索一個(gè)注釋。
42.一種用于檢索草體手寫注釋的方法,包括存儲(chǔ)注釋的詞匯;存儲(chǔ)對應(yīng)于所述注釋的語義部分的多個(gè)部首;輸入要檢索的手寫注釋;通過識(shí)別所述手寫注釋內(nèi)的各個(gè)筆劃,把正切矢量分配給所述各個(gè)筆劃中的每一筆劃和所述存儲(chǔ)的多個(gè)部首并且使用所述正切矢量之間的關(guān)系計(jì)算替換成本并且執(zhí)行所述各個(gè)筆劃和所述存儲(chǔ)的多個(gè)部首之間的動(dòng)態(tài)編程,使用所述分配的正切矢量計(jì)算替換成本,從而從所述輸入手寫注釋中抽取至少一個(gè)部首;執(zhí)行所述抽取部首和所述存儲(chǔ)的多個(gè)部首之間的估算操作以選擇至少一個(gè)候選部首;使用所述候選部首選擇所述詞匯的一個(gè)子集;執(zhí)行所述輸入手寫注釋和所述子集之間的匹配操作,以便于從所述詞匯中檢索一個(gè)注釋。
43.根據(jù)權(quán)利要求42的方法,其中所述分配正切矢量包括的步驟是至少找到一對點(diǎn),在這一對點(diǎn)中,所述一對點(diǎn)的第一點(diǎn)來自所述單個(gè)筆劃并且所述一對點(diǎn)的第二點(diǎn)來自所述存儲(chǔ)的多個(gè)部首;在所述一對點(diǎn)的所述第一點(diǎn)計(jì)算所述單個(gè)筆劃的第一正切矢量并且在所述一對點(diǎn)的所述第二點(diǎn)計(jì)算所述存儲(chǔ)的多個(gè)部首的第二正切矢量。
44.根據(jù)權(quán)利要求42的方法,其中所述關(guān)系是所述第一正切矢量和所述第二正切矢量之間的角度。
45.一種用于檢索草體手寫注釋的方法,包括存儲(chǔ)注釋的詞匯;存儲(chǔ)對應(yīng)于所述注釋的語義部分的多個(gè)部首;輸入要檢索的手寫注釋;通過識(shí)別所述手寫注釋內(nèi)的各個(gè)筆劃,確定與所述各個(gè)筆劃相關(guān)且與所述存儲(chǔ)的多個(gè)部首相關(guān)的重心信息,使用重心信息之間的關(guān)系計(jì)算替換成本,從而從所述輸入手寫注釋中抽取至少一個(gè)部首;執(zhí)行所述抽取部首和所述存儲(chǔ)的多個(gè)部首之間的估算操作以選擇至少一個(gè)候選部首;使用所述候選部首選擇所述詞匯的一個(gè)子集;執(zhí)行所述輸入手寫注釋和所述子集之間的匹配操作,以便于從所述詞匯中檢索一個(gè)注釋。
46.根據(jù)權(quán)利要求45的方法,其中所述確定重心信息的步驟包括的步驟是識(shí)別來自所述各個(gè)筆劃的第一對筆劃;識(shí)別來自所述存儲(chǔ)的多個(gè)部首的第二對筆劃,其中第一筆劃對應(yīng)于所述第一對筆劃的第一劃并且第二筆劃對應(yīng)于所述第一對筆劃的第二劃;形成所述第一對筆劃的重心之間的第一矢量;并且形成所述第二對筆劃的重心之間的第二矢量。
47.根據(jù)權(quán)利要求45的方法,其中所述關(guān)系是所述第一矢量和所述第二矢量之間的角度。
48.一種用于檢索草體手寫注釋的方法,包括存儲(chǔ)注釋的詞匯;存儲(chǔ)對應(yīng)于所述注釋的語義部分的多個(gè)部首;輸入要檢索的手寫注釋;通過識(shí)別所述手寫注釋內(nèi)的各個(gè)筆劃,確定與所述各個(gè)筆劃相關(guān)且與所述存儲(chǔ)的多個(gè)部首相關(guān)的起始點(diǎn)和結(jié)束點(diǎn)信息并且使用起始點(diǎn)和結(jié)束點(diǎn)信息之間的關(guān)系來計(jì)算替換成本,從而從所述輸入手寫注釋中抽取至少一個(gè)部首;執(zhí)行所述抽取部首和所述存儲(chǔ)的多個(gè)部首之間的估算操作以選擇至少一個(gè)候選部首;使用所述候選部首選擇所述詞匯的一個(gè)子集;執(zhí)行所述輸入手寫注釋和所述子集之間的匹配操作,以便于從所述詞匯中檢索一個(gè)注釋。
49.根據(jù)權(quán)利要求48的方法,其中所述確定起始和結(jié)束點(diǎn)信息的步驟包括的步驟是識(shí)別來自所述各個(gè)筆劃的第一對筆劃;識(shí)別來自所述存儲(chǔ)的多個(gè)部首的第二對筆劃,其中第一劃對應(yīng)于所述第一對筆劃的第一劃并且第二劃對應(yīng)于所述第一對筆劃的第二劃;形成所述第一對筆劃的第一劃的結(jié)束點(diǎn)和所述第一對筆劃的第二劃的開始點(diǎn)之間的第一矢量;并且形成所述第二對筆劃的第一劃的結(jié)束點(diǎn)和所述第二對筆劃的第二劃的開始點(diǎn)之間的第二矢量。
50.根據(jù)權(quán)利要求48的方法,其中所述關(guān)系是所述第一矢量和所述第二矢量之間的角度。
51.在用于匹配手寫注釋的動(dòng)態(tài)編程過程中,一種用于估算包含在所述注釋內(nèi)的部首的改進(jìn)方法包括通過使用第一動(dòng)態(tài)編程操作對輸入的手寫注釋執(zhí)行部首抽取以產(chǎn)生多個(gè)抽取的部首候選項(xiàng),其中第一動(dòng)態(tài)編程操作產(chǎn)生與所述多個(gè)抽取的部首候選項(xiàng)中的每一項(xiàng)相關(guān)的一組成本;把每個(gè)所述部首候選項(xiàng)與一個(gè)部首代碼相關(guān)聯(lián);使用第二動(dòng)態(tài)編程操作估算所述部首代碼,在第二動(dòng)態(tài)編程操作中,替換成本使用在所述第一動(dòng)態(tài)編程操作期間確定的所述一組成本來確定。
全文摘要
草體漢字使用語義匹配處理進(jìn)行分析,由此,漢字中的部首首先被抽取并且用以把整個(gè)詞匯的搜索空間減小到只包含匹配部首的那些漢字。在執(zhí)行部首抽取時(shí),輸入漢字被標(biāo)準(zhǔn)化并被分割為筆劃,這些筆劃接著根據(jù)抬筆/落筆信息和軌跡最大和最小值信息組織。模糊斷點(diǎn)和連筆在該處理中被消除。動(dòng)態(tài)編程匹配則以筆劃為基礎(chǔ)執(zhí)行,其中筆劃替換成本通過各種方法以逐點(diǎn)為基礎(chǔ)進(jìn)行估計(jì),這些技術(shù)包括正切矢量分析、中心關(guān)系估計(jì)和起始點(diǎn)/結(jié)束點(diǎn)估計(jì)。動(dòng)態(tài)編程成本根據(jù)參考部首的長度進(jìn)行標(biāo)準(zhǔn)化并且位置不相似性被消除。
文檔編號(hào)G06K9/62GK1324068SQ0112142
公開日2001年11月28日 申請日期2001年3月29日 優(yōu)先權(quán)日2000年3月29日
發(fā)明者馬躍, 章馳 申請人:松下電器產(chǎn)業(yè)株式會(huì)社