• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      卷積神經(jīng)網(wǎng)絡在古籍漢字識別中的應用實踐

      2019-10-21 03:34:50郭利敏劉悅?cè)?/span>
      圖書館論壇 2019年10期
      關(guān)鍵詞:訓練樣本字體古籍

      郭利敏,葛 亮,劉悅?cè)?/p>

      0 前言

      雖然OCR(Optical Character Recognition)技術(shù)在計算機視覺領(lǐng)域已有10多年,傳統(tǒng)OCR技術(shù)對現(xiàn)代印刷體的識別很成熟,但在古籍漢字的識別上還存在挑戰(zhàn)。由于古籍漢字屬于書法字體,筆畫并不像打印字體那樣橫平豎直,沒有固定模板匹配;不同作品書寫筆畫粗細不同、筆畫黏連;長期保存過程中還存在部分筆畫模糊與缺失現(xiàn)象;書法字形又承載著作者獨特書寫風格,形態(tài)各異,給書法字識別帶來了困難。

      近年,隨著深度學習技術(shù)在OCR 領(lǐng)域的應用研究,將其用于現(xiàn)代手寫體漢字的識別已有非常多的成果。比如,IDSIA團隊首次將卷積神經(jīng)網(wǎng)絡運用到手寫體漢字的識別,在ICDAR-2011脫機手寫體漢字識別競賽中,其識別準確率達到92.18%[1];在ICDAR-2013聯(lián)機和脫機手寫體漢字識別競賽中,采用卷積神經(jīng)網(wǎng)絡模型方法對脫機手寫體漢字識別率達到了94.77%[2];最近的研究表明漢字的細微結(jié)構(gòu)特征對漢字的準確識別有很大的作用[3]。

      長久以來,古籍文獻資源的數(shù)字化成果主要有古籍索引數(shù)據(jù)庫、古籍書目數(shù)據(jù)庫、古籍全文數(shù)據(jù)庫等三種類型,各種數(shù)據(jù)庫往往只是從古籍外部特征與主題內(nèi)容的角度對古籍文獻進行描述與組織,為全文文本數(shù)據(jù)庫提供檢索服務[4]。隨著數(shù)字人文的興起,數(shù)字人文為古籍數(shù)字化的深度開發(fā)提供了新的理論和實踐方法,在使得古籍語義分析、字頻統(tǒng)計、信息挖掘、智能標點以及古文獻數(shù)字化地圖建設等成為可能的同時,也對數(shù)字化古籍的加工提出了新的要求。在數(shù)字人文古籍元數(shù)據(jù)從數(shù)字化到數(shù)據(jù)化的轉(zhuǎn)化加工過程中,對于古籍文本漢字的識別是最為基礎(chǔ)也是最重要的工作之一,但由于字庫的不完善、不規(guī)范和不統(tǒng)一等使得傳統(tǒng)的OCR技術(shù)識別古籍困難[5],使得這項工作一直以人工為主,而工作人員又必須具備一定的專業(yè)知識素養(yǎng),非常耗時費力。所以運用深度學習技術(shù)對特定樣本進行學習訓練,并運用遷移學習的方式對古籍漢字進行識別,可以為數(shù)字人文古籍漢字的元數(shù)據(jù)加工提供一種可行的解決方案,旨在提高古籍資源在數(shù)字人文應用研究中的效率。

      1 試驗方法和思路

      一個卷積神經(jīng)網(wǎng)絡(CNN)通常是由一系列的卷積層和子采樣層以及1 個或多個全連接層組成。其中,卷積層用以從輸入圖片中提取圖片的特征信息,全連接層則用以將提取的特征信息進行分類。

      本文通過構(gòu)建卷積神經(jīng)網(wǎng)絡對特定的繁體字數(shù)據(jù)集進行特征學習,并將訓練結(jié)果用于預測古籍中的漢字。整個方法可分為三個步驟(見圖1)。

      圖1 基于卷積神經(jīng)網(wǎng)絡的古籍漢字識別流程

      步驟一:構(gòu)建訓練集。運用漢字生成技術(shù),針對古籍漢字字形尋找相似的字體,同時運用數(shù)字圖像處理技術(shù)模擬真實情況下的古籍漢字圖片的噪聲,如筆畫模糊、筆畫缺失等現(xiàn)象構(gòu)建訓練集。

      步驟二:網(wǎng)絡模型的構(gòu)建與訓練。設計卷積神經(jīng)網(wǎng)絡模型結(jié)構(gòu),并在步驟一中構(gòu)建的訓練集的基礎(chǔ)上進行學習訓練。

      步驟三:識別和結(jié)果分析。通過步驟二得到已訓練好的深度學習網(wǎng)絡,將從古籍圖片中切割出來的古籍漢字圖片(測試集)使用該網(wǎng)絡進行識別,結(jié)果分為“可識別”和“不可識別”兩類。標注為“不可識別”的,表示機器無法對其進行識別或識別準確率非常低;標注為“可識別”的,則表示機器可識別,同時會給出網(wǎng)絡的識別結(jié)果,再對此部分結(jié)果進行正確率的分析。

      基于卷積神經(jīng)網(wǎng)絡的古籍漢字識別,其本質(zhì)就是通過深度學習的方式構(gòu)建一個漢字圖片與漢字字符的分類器,將輸入的漢字圖片通過卷積神經(jīng)網(wǎng)絡逐層提取圖片特征,得到各個分類漢字的概率,隨后選擇概率最高的一個分類作為目標輸出,即識別結(jié)果。為了提高精確度,通常會使用閾值作為結(jié)果篩選的依據(jù),如公式1所示。

      其中,P為目標輸出的概率,T為閾值,當概率大于等于閾值時才采用這個結(jié)果。然而閾值T通常是通過先驗知識和實驗對比選擇較好閾值,依賴主觀判斷,這種方式準確性較低、通用性較差。

      因此,在設計網(wǎng)絡模型的時候特別增加一個“不可識別”的分類項,網(wǎng)絡可以將不確定的識別結(jié)果作為輸出項,達到動態(tài)閾值的結(jié)果,從而提高精確度。

      1.1 構(gòu)建訓練集

      充分的訓練數(shù)據(jù)集是訓練卷積神經(jīng)網(wǎng)絡的關(guān)鍵,然而真實數(shù)據(jù)樣本的采集和整理需要大量的人力去把握其規(guī)模和準確性。目前針對漢字手寫體的數(shù)據(jù)庫有北京郵電大學發(fā)布的HCL2000 脫機手寫數(shù)據(jù)庫[6]、國家863中文手寫評測數(shù)據(jù)[7]等,都是比較規(guī)范書寫的數(shù)據(jù)。相比而言,目前能表現(xiàn)真實書寫情況的手寫單字樣本數(shù)據(jù)庫有中國科學院發(fā)布的CASIA-OLHWDB1.0-1.2手寫單字樣本數(shù)據(jù)庫和CASIAHWDB1.0-1.2 文本行數(shù)據(jù)集[8],以及華南理工大學發(fā)布的涵蓋單字、詞組、文本行、數(shù)字、字母、符號等綜合手寫數(shù)據(jù)集SCUTCOUCH[9],但上述的數(shù)據(jù)集都集中在簡體漢字的標準體或現(xiàn)代手寫體上,對于書法風格的古籍漢字而言,無論是字形還是字體風格都相距甚遠。

      為避免在訓練過程中出現(xiàn)“過擬合”(Over Fitting),提升CNN 模型的性能,也因為沒有找到合適的數(shù)據(jù)集進行模型訓練,所以采用數(shù)據(jù)生成技術(shù)來構(gòu)建訓練集。從不同字體中抽取字體并生成字體圖片,并結(jié)合圖像的平移、尺度縮放、旋轉(zhuǎn)、水平或垂直拉升、椒鹽噪聲、高斯噪聲等方法對圖形進行隨機變化和添加隨機噪聲,如圖2所示。

      圖2 測試集中選取的有代表性的圖片

      圖3 “度”字的部分訓練樣本

      通過圖2 對測試集的觀察,發(fā)現(xiàn)如下特點:(1)測試集的圖片格式大小不一,字形多樣。(2)從“煙”字可看到,部分圖片具有簡體和繁體兩種寫法。(3)從“送”和“七”字可以看出圖片的有缺失或者其他干擾噪聲。依據(jù)上述特點,選取10種不同的字體文件(其中包含細明體、黑體、宋體、隸屬、楷書等),每一個漢字分為簡體、繁體兩種,去重后共計有773 個目標漢字(部分漢字簡、繁體相同),每一個漢字對于每一種字體施加隨機形變和隨機噪聲,生成的訓練樣本如圖3所示。

      1.2 卷積神經(jīng)網(wǎng)絡的結(jié)構(gòu)設計

      經(jīng)過嘗試多種網(wǎng)絡結(jié)構(gòu),并在準確度、收斂速度等多方面綜合評估后,最終確定圖4的網(wǎng)絡結(jié)構(gòu)。網(wǎng)絡結(jié)構(gòu)由7個卷積層和3個全連接層組成,其中表示卷積層的卷積核大小為卷積步長為y;表示池化層(max-pooling)的大小為步長為y;表示填充層(padding),在圖像邊界填充x 個像素點,“#Class”表示目標分類的個數(shù),本文共計773個漢字(包含簡繁體)以及“不可識別”分類,所以“#Class”為774個。

      圖4 卷積神經(jīng)網(wǎng)絡模型結(jié)構(gòu)

      1.3 測試樣本

      測試樣本均來自上海圖書館主頁(www.library.sh.cn)的“我的圖書館系統(tǒng)”登錄驗證碼所用圖片(圖片均源自“盛宣懷檔案”)。如圖5所示,我們對每張圖片進行人工標注,并做了二次審核以保證標注的正確性,其中共有660 個字1213張圖片。由圖2可知,由于測試集的圖片形狀格式不一,所以我們需要對測試集進行預處理,使其成為統(tǒng)一大小的灰度圖片。處理結(jié)果如圖6所示。通過預處理不僅把原始圖片調(diào)整為統(tǒng)一大小,還能在一定程度上抑制原始圖像的背景噪聲。

      圖5 “我的圖書館”登錄驗證碼界面

      圖6 測試集預處理前后對比

      2 實驗結(jié)果分析

      由于計算資源有限(僅一塊NVIDIA GeForce 1080 Ti顯卡來做GPU 運算)。為了減少運算量,選取48*48大小的圖片作為CNN 網(wǎng)絡模型的輸入,在小規(guī)模數(shù)據(jù)集上嘗試構(gòu)建多種網(wǎng)絡結(jié)構(gòu),從收斂速度以及準確率兩方面進行評估后,最后選定圖5的結(jié)構(gòu)作為本次實驗的最優(yōu)結(jié)構(gòu),進行大規(guī)模的訓練和實際樣本的測試。

      目標漢字共計773個,用于生成訓練樣本的字體文件共計10個(包含TTF和TTC格式),共計20種字體,每個字每一種字體生成160帶有隨機噪聲的樣本。所以整體的訓練樣本數(shù)量約為160*10*2*773=2473600 個樣本,由于部分字體并沒有包含繁寫體,所以最終生成的訓練樣本比上述值少些。

      為評估實驗結(jié)果,引入兩個評價指標:準確率(Accuracy)和精確率(Precision)。

      準確率(Racc)是:對于給定的測試數(shù)據(jù)集,正確識別的樣本數(shù)(Sright)與總樣本數(shù)(Stotal)之比。準確率可反應卷積神經(jīng)網(wǎng)絡對預測樣本整體的識別能力。

      精確率(Rprecision)是:對給定的測試數(shù)據(jù)集,正確識別的樣本數(shù)(Rright)與識別出的樣本數(shù)量(Rright+Rerror)之比。精確率可反應卷積神經(jīng)網(wǎng)絡的預測結(jié)果的可靠程度,在準確率較難提升的情況下,通過提升精確率使得網(wǎng)絡的實際運用更好,系統(tǒng)更可靠。

      對上述訓練樣本在圖5 的模型結(jié)構(gòu)于TensorFlow平臺上進行20訓練輪迭代后做了相應測試,結(jié)果見表1。

      表1 識別結(jié)果

      其中,Runknow為無法識別樣本。通過公式(2)與公式(3)計算所得:

      2.1 訓練樣本的多樣性

      由于訓練集對模型識別的結(jié)果影響較大,特地在原有樣本基礎(chǔ)上,新增王羲之書法字體和顏體書法字體,通過字體生成技術(shù)生成單字160個不同的樣本,見圖7。同樣進行20 輪迭代訓練后,得出的測試結(jié)果如表2所示。可見,增加字體樣本后未識別樣本降低,整體的準確率有所提升。所以,訓練樣本字體的多樣性有助于提升CNN網(wǎng)絡的識別率??梢酝ㄟ^將古籍中的漢字切割、標注、預處理后構(gòu)建訓練樣本,以此提高樣本的多樣性,進而提升識別性能。

      圖7 新增王羲之、顏真卿字體

      表2 增加樣本前后測試準確度對比

      2.2 錯誤結(jié)果分析

      圖8 預處理前后樣本對比

      如前文圖1所示,模型對圖片的結(jié)果識別分為“可識別樣本”和“不可識別樣本”兩類,其中可識別樣本包括識別正確樣本和識別錯誤樣本。在對錯誤樣本和不可識別樣本進行分析后,得到幾個導致識別錯誤的原因。

      (1)圖片預處理導致的失真問題。雖然把原始圖片轉(zhuǎn)換成灰度圖,一定程度上降低了背景噪聲,但程序批量處理使部分樣本在轉(zhuǎn)換后失真嚴重,如圖8所示。這種情況是由于缺少相應的訓練樣本使得機器將其識別為“不可識別樣本”。雖然降低模型的正確率,但對精確率有一定的提升。

      (2)相近字體導致的識別錯誤。在識別錯誤結(jié)果中,部分是相近字形導致的識別錯誤。如圖9所示,將文件名第一個字符表示此圖片標注的漢字,第二個為卷積神經(jīng)網(wǎng)絡識別的漢字,可見由于手寫體字形的多樣性和不確性使得網(wǎng)絡將其識別成為其他相似字。如“化”字,由于連筆產(chǎn)生的多余信息被識別為“他”字。因此,對卷積神經(jīng)網(wǎng)絡來說,如何提升筆畫細節(jié)的識別能力非常重要,也是提高準確度的關(guān)鍵。

      圖9 相近字體識別錯誤樣例

      (3)簡繁體識別錯誤。在校驗識別結(jié)果后,發(fā)現(xiàn)有部分繁體字被識別成為簡體字,共計27個樣本,占比約10%。由于在訓練集中,簡、繁體字被定義成為兩個不同的樣本,對于這樣的結(jié)果目前無法解釋,需要增加測試樣本作進一步探究,但通過建立簡繁體映射表則可解決此問題。錯誤樣例見圖10。

      (4)其他錯誤。對其余一些識別錯誤的樣本,很難找到具體的原因,但通過提升網(wǎng)絡對筆畫細節(jié)的識別能力,以及提升網(wǎng)絡對不可識別漢字的判斷能力,可降低這部分錯誤的出現(xiàn)率,進而提升網(wǎng)絡識別的精確率。

      3 結(jié)語

      圖10 簡繁字體識別錯誤樣例

      古籍的元數(shù)據(jù)文本加工是數(shù)字人文研究中最重要也是工作量最大的基礎(chǔ)工作之一,它有著工作量大、專業(yè)性強的特點,一直以來都是以人工識別為主,耗時費力。本文構(gòu)建了卷積神經(jīng)網(wǎng)絡模型,通過數(shù)據(jù)生成技術(shù)生成古籍漢字圖片作為訓練集,并在TensorFlow 平臺上訓練后,用于數(shù)字化古籍漢字的識別,該方法可用于輔助古籍漢字的元數(shù)據(jù)加工工作。下一步將繼續(xù)擴大訓練集,并結(jié)合標注漢字圖片進行模型結(jié)構(gòu)和訓練集合的調(diào)整,進一步提高其識別率。

      對圖書館而言,由于圖書館學自身專業(yè)的定位,使得圖書館行業(yè)內(nèi)計算機、數(shù)學相關(guān)的專業(yè)背景的人才相對較少,類似于傳統(tǒng)的OCR 這種需要大量計算機和數(shù)學背景知識專業(yè)應用,對于圖書館而言,大多都依賴其他行業(yè)的應用成果。但對于卷積神經(jīng)網(wǎng)絡這類深度學習的應用,使得之前需要花費大量時間盡力進行的特征編碼、算法設計等相對復雜的設計變得非常簡單,在網(wǎng)絡模型既定的情況下,通過調(diào)整訓練集就可以得到一個更適合于圖書館應用場景的結(jié)果。圖書館恰好有著大量的行業(yè)數(shù)據(jù)積累,圖書館館員也具有對這部分數(shù)據(jù)整理歸納的能力,所以深度學習相對于傳統(tǒng)計算機算法處理而言,是一個更適合于圖書館的應用方案。

      猜你喜歡
      訓練樣本字體古籍
      中醫(yī)古籍“疒”部俗字考辨舉隅
      關(guān)于版本學的問答——《古籍善本》修訂重版說明
      天一閣文叢(2020年0期)2020-11-05 08:28:06
      字體的產(chǎn)生
      人工智能
      關(guān)于古籍保護人才培養(yǎng)的若干思考
      天一閣文叢(2018年0期)2018-11-29 07:48:08
      我是古籍修復師
      金橋(2017年5期)2017-07-05 08:14:41
      寬帶光譜成像系統(tǒng)最優(yōu)訓練樣本選擇方法研究
      融合原始樣本和虛擬樣本的人臉識別算法
      基于稀疏重構(gòu)的機載雷達訓練樣本挑選方法
      組合字體
      慈利县| 龙里县| 洮南市| 芦溪县| 交口县| 轮台县| 绩溪县| 东平县| 佛冈县| 唐河县| 普兰县| 三明市| 思茅市| 新平| 克东县| 四平市| 海城市| 新余市| 黎平县| 德保县| 宜都市| 北海市| 墨竹工卡县| 于都县| 内黄县| 祁东县| 大渡口区| 武宣县| 蕲春县| 连江县| 东辽县| 额济纳旗| 丰县| 海淀区| 板桥市| 庆城县| 宿迁市| 南投市| 雅安市| 苏尼特右旗| 霞浦县|