字元影像識別方法與系統
本發明是指一種識別方法與系統,特別是指一種字元影像識別方法與系統。
目前,保險公司為了有效減少紙本診斷書或相關單據輸入時發生錯誤及提高輸入的效率,在輸入該診斷書或該相關單據的作業過程中會使用OCR(Optical Character Recognition,光學字元識別)技術,以自動識別出該診斷書或該相關單據的內部影像到對應的輸入欄位中。 然而,現今OCR軟體通常需要搭配指定的影像掃描器才能確保字元辨識的精準度。此外,當該診斷書或該相關單據的字元模糊不清或是被髒污附著時,現有的OCR技術便無法正確辨識該字元。這樣一來,便需要耗費人力再次進行校驗及辨識。 因此,如何提高OCR技術識別字元影像的精準度,便是值得本領域具有通常知識者去思量地。
本發明之目的在於提供一字元影像識別方法,該字元影像識別方法包括以下步驟: (a) 匯入一待識別文件,該待識別文件包括多個字元影像; (b) 辨識出至少一字元分割區域,該字元分割區域包括至少一上述字元影像; (c) 將該字元分割區域中的該字元影像轉換為一可編輯字元; (d) 對該可編輯字元進行校對; (e) 辨識出該字元分割區域於該待識別文件中的相對位置,並對該字元分割區域進行標籤;以及 (f) 輸出該可編輯字元、該字元分割區域於該待識別文件中的相對位置、與該字元分割區域所對應的標籤。 如上述之字元影像識別方法,其中於(b)步驟中,該字元分割區域被分類為一需求字元集與一非需求字元集。 如上述之字元影像識別方法,其中於(b)步驟中是藉由一第一類神經網路模型辨識出該字元分割區域。 如上述之字元影像識別方法,其中該第一類神經網路模型於訓練階段時,採用下述的步驟進行訓練: (b1) 針對該待識別文件,獲取一第一數量的同類別的影像樣本; (b2) 將該些影像樣本分成為一訓練集、一測試集、與一驗證集; (b3) 利用該訓練集作為訓練樣本,以生成該第一類神經網路模型的原型; (b4) 利用該測試集驗證該第一類神經網路模型的原型的正確性,若該測試集的驗證通過率小於一第一預設閾值,則進入步驟(b5),若該測試集的驗證通過率不小於該第一預設閾值,則進入步驟(b6); (b5) 再獲取一第二數量的同類別的影像樣本,並重複(b2)~ (b4)的步驟; (b6) 利用該驗證集驗證該第一類神經網路模型的正確性,若該驗證集的驗證通過率小於一第二預設閾值,則進入步驟(b7),若該測試集的驗證通過率不小於該第二預設閾值,則進入步驟(b8); (b7) 再獲取一第三數量的同類別的影像樣本,並重複 (b6)的步驟; (b8) 完成該第一類神經網路模型的訓練。 如上述之字元影像識別方法,其中於(d)步驟中是藉由一第二類神經網路模型對該可編輯字元進行校對。 如上述之字元影像識別方法,其中該第二類神經網路模型於訓練階段時,採用下述的步驟進行訓練: (d1) 針對該待識別文件中的該字元分割區域,獲取一第四數量的該字元分割區域的可編輯字元樣本; (d2) 將該些可編輯字元樣本分成為一訓練集、一測試集、與一驗證集; (d3) 利用該訓練集作為訓練樣本,以生成該第二類神經網路模型的原型; (d4) 利用該測試集驗證該第二類神經網路模型的正確性,若該測試集的驗證通過率小於一第四預設閾值,則進入步驟(d5),若該測試集的驗證通過率不小於該第四預設閾值,則進入步驟(d6); (d5) 再獲取一第五數量的同類別的可編輯字元樣本,並重複(d2)~ (d4)的步驟; (d6) 利用該驗證集驗證該字元提取模型的正確性,若該驗證集的驗證通過率小於一第五預設閾值,則進入步驟(d7),若該測試集的驗證通過率不小於該第五預設閾值,則進入步驟(d8); (d7) 再獲取一第六數量的同類別的可編輯字元樣本,並重複(d2)~ (d6)的步驟; (d8) 完成該第二類神經網路模型的訓練。 如上述之字元影像識別方法,其中於(e)步驟中是藉由一第三類神經網路模型對辨識出該字元分割區域於該待識別文件中的相對位置,並對該字元分割區域進行標籤。 如上述之字元影像識別方法,其中該第三類神經網路模型於訓練階段時,採用下述的步驟進行訓練: (e1) 針對該待識別文件中的該字元分割區域,獲取一第七數量的該字元分割區域的標籤與在該待識別文件中的相對位置; (e2) 將該些標籤樣本分成為一訓練集、一測試集、與一驗證集; (e3) 利用該訓練集作為訓練樣本,以生成該第三類神經網路模型的原型; (e4) 利用該測試集驗證該第三類神經網路模型的正確性,若該測試集的驗證通過率小於一第七預設閾值,則進入步驟(e5),若該測試集的驗證通過率不小於該第七預設閾值,則進入步驟(e6); (e5) 再獲取一第八數量的同類別的標籤樣本,並重複(e2)~ (e4)的步驟; (e6) 利用該驗證集驗證該第三類神經網路模型的正確性,若該驗證集的驗證通過率小於一第八預設閾值,則進入步驟(e7),若該測試集的驗證通過率不小於該第八預設閾值,則進入步驟(e8); (e7) 再獲取一第九數量的同類別的標籤樣本,並重複(e2)~ (e6)的步驟; (e8) 完成該第三類神經網路模型的訓練。 本發明之一種字元影像識別系統,用以識別一待識別文件中的字元,該待識別文件包括多個字元影像,該字元影像識別系統包括一字元分割區域識別模組、一文意分析模組、一字元分割區域標籤模組及一輸出模組。其中,一字元分割區域識別模組,辨識出至少一字元分割區域,該字元分割區域包括至少一上述字元影像。此外,一文意分析模組,通信連結該字元分割區域識別模組,該文意分析模組將該字元分割區域中的該字元影像轉換為一可編輯字元,並對該可編輯字元進行校對。而一字元分割區域標籤模組,該字元分割區域標籤模組識別出該字元分割區域於該待識別文件中的相對位置,並對該字元分割區域進行標籤,及一輸出模組,輸出該可編輯字元、該字元分割區域於該待識別文件中的相對位置、與該字元分割區域所對應的標籤。 如上述之字元影像識別系統,其中該字元影像識別系統還包括一伺服端與一客戶端,該客戶端具有一顯示螢幕,其中該字元分割區域識別模組、該文意分析模組、該字元分割區域標籤模組、與該輸出模組是設置於該伺服端,該輸出模組輸出該可編輯字元至該客戶端並顯示於該顯示螢幕上。 為讓本之上述特徵和優點能更明顯易懂,下文特舉較佳實施例,並配合所附圖式,作詳細說明如下。
參照本文闡述的詳細內容和附圖說明是最好理解本發明。下面參照附圖會討論各種實施例。然而,本領域技術人員將容易理解,這裡關於附圖給出的詳細描述僅僅是為了解釋的目的,因為這些方法和系統可超出所描述的實施例。例如,所給出的教導和特定應用的需求可能產生多種可選的和合適的方法來實現在此描述的任何細節的功能。因此,任何方法可延伸超出所描述和示出的以下實施例中的特定實施選擇範圍。 在說明書及後續的申請專利範圍當中使用了某些詞彙來指稱特定的元件。所屬領域中具有通常知識者應可理解,硬體製造商可能會用不同的名詞來稱呼同樣的元件。本說明書及後續的申請專利範圍並不以名稱的差異來作為區分元件的方式,而是以元件在功能上的差異來作為區分的準則。在通篇說明書及後續的請求項當中所提及的「包含」係為一開放式的用語,故應解釋成「包含但不限定於」。另外,「耦接」一詞在此係包含任何直接及間接的電氣連接手段。因此,若文中描述一第一裝置耦接於一第二裝置,則代表該第一裝置可直接電氣連接於該第二裝置,或透過其他裝置或連接手段間接地電氣連接至該第二裝置。 請參閱圖1,圖1所繪示為本發明之字元影像識別系統的實施例。字元影像識別系統100包括一字元分割區域識別模組110、一文意分析模組120、一字元分割區域標籤模組130與一輸出模組140,其中字元影像識別系統100還電性連接到一影像輸入裝置10,此影像輸入裝置10例如為一掃描裝置或一數位相機。藉由此影像輸入裝置10,可將一待識別文件(如圖2A)匯入到字元影像識別系統100中。在本實施例中,字元分割區域識別模組110、文意分析模組120、字元分割區域標籤模組130與輸出模組140是設置於伺服端102,該伺服端102例如是由一台或多台伺服器所組成。另外,輸出模組140是電性連接到一客戶端104,客戶端104可為一具有顯示螢幕104a的電子裝置,此電子裝置例如為個人電腦、筆記型電腦、或智慧型手機。 另外,也請參照圖2A,圖2A所繪示為待識別文件的其中一實施例,在本實施例中待識別文件為診斷證明書。從圖2A可知,此待識別文件包括多個字元,而當待識別文件的影像被影像輸入裝置10捕捉後,待識別文件上的字元當然也是以影像的方式存在的,也就是說由影像輸入裝置10匯入到字元影像識別系統100的待識別文件上的字元是無法編輯的,以下將這些字元稱為字元影像。 此外,請同時參照圖3,圖3所繪示為本發明之字元影像識別方法的實施例。首先,實施步驟S210,匯入如圖2A的待識別文件,其詳細流程已如上文所述,在此不再贅述。接著,實施步驟S220,辨識出待識別文件中的字元分割區域81。在圖2B中,字元分割區域81是由虛線所框出來的區域,字元分割區域81例如是由字元分割區域識別模組110識別出來。由圖2B可清楚得知,字元分割區域81是將待識別文件上的字元影像選取出來。在較佳的實施例中,實施步驟S220後還會實施步驟S222,將字元分割區域81分成一需求字元集與一非需求字元集。需求字元集是指在後續的處理中,需要輸出的字元的集合,這些字元例如為圖2B中的元件符號81a所標示出來的區域。非需求字元集是指在後續的處理中,不需要輸出的字元的集合,這些字元例如為圖2B中的元件符號81b所標示出來的區域。更詳細的舉例,在圖2B中,印章『以下空白』由於對於之後的資料處理可能無關輕重,故被歸類為非需求字元集。 之後,實施步驟S230,藉由文意分析模組120將字元分割區域81中的字元影像轉換為可編輯字元。也就是說,原本由影像輸入裝置10所匯入的待識別文件的影像,其上的字元影像是無法編輯的;然而文意分析模組120可將這些字元影像轉換為可編輯字元,其例如是採用OCR(Optical Character Recognition,光學字元識別)的技術。然而,若單純採用OCR的技術,在待識別文件上的字元影像模糊不清或是被髒污附著時,便可能發生判別錯誤的情形。舉例來說,原本『雙和醫院』因為被髒污附著而產生如圖4上方所示的字元,若單純只採用OCR的技術,便可能將『雙和醫院』辨識為『雙利醫院』(如圖4中央所示)。然而,在本實施例中,文意分析模組120可執行步驟S240,對所轉換出的可編輯字元進行校正,例如將『雙利醫院』校正成『雙和醫院』(如圖4下方所示)。 之後,實施步驟S250,可藉由字元分割區域標籤模組130辨識出各個字元分割區域81於待識別文件中的相對位置,並對字元分割區域81進行標籤。舉例來說,在圖2B的待識別文件中,字元分割區域標籤模組130可辨識出『姓名』這個欄位在待識別文件中的相對位置,同時也『姓名』這個欄位一個叫做『姓名』的標籤。 再來,實施步驟S260,藉由輸出模組140輸出上述的可編輯字元、字元分割區域81於待識別文件中的相對位置、與字元分割區域81所對應的標籤至客戶端104,這樣便可在客戶端104的顯示螢幕104a上顯示待識別文件上的字元。值得注意的是,由於輸出模組140還會輸出字元分割區域81於待識別文件中的相對位置,故在客戶端104的顯示螢幕104a上還會重現各字元於待識別文件上的位置。也就是說,若待識別文件為表格形式的文件(如圖2A所示),則在經過本發明之字元影像識別系統100的處理後,不但能呈現可編輯字元還能重現這些可編輯字元於表格中的位置,這是一般OCR軟體所無法達到的。 此外,由於字元分割區域81的標籤也會被輸出,故客戶端104更可對所接受的資料進行更進一步的處理,例如製作成Excel表或由資料庫管理系統對待識別文件中的資料進行整理和歸類。舉例來說,若藉由一般的OCR軟體來擷取診斷證明書的資料,即使準確的辨別各字元,使用者還是需用人工的方式來設定病人與病名的對應關係。然而,藉由字元影像識別系統100,便可自動地建立起病人與病名的對應關係,從而減少人力成本。 綜上,相較於一般的OCR軟體,本發明之字元影像識別系統100具有對辨識錯誤的字元進行校正、重現字元於待識別文件中的相對位置、與對字元分割區域81進行標籤以利於後續資料處理等優點。 在上述的實施例中,字元分割區域識別模組110例如是藉由一第一類神經網路模型112辨識出待識別文件中的字元分割區域81,第一類神經網路模型112例如是藉由深度學習的方式進行訓練,以期提高第一類神經網路模型112的精度,以下將介紹第一類神經網路模型112的訓練方式,還請參照圖5,圖5所繪示為第一類神經網路模型於訓練階段的流程圖。首先,實施步驟S310,針對某類別的待識別文件(例如圖2A所示的診斷證明書),取得一定數量N1的同類別的影像樣本(為了區分方便,在本文其他處又可將N1稱為第一數量)。接著,實施步驟S320,將收集到的這些影像樣本分成為一訓練集、一測試集、與一驗證集。接著,實施步驟S330,將訓練集作為一神經網路模型的訓練樣本,該神經網路模型完成訓練後便生成該第一類神經網路模型112的原型。 之後,實施步驟S340,利用測試集驗證第一類神經網路模型112的原型的正確性,若驗證通過率小於一第一預設閾值(例如90%),則實施步驟S350,若否則實施步驟S360。在此,所謂的通過是指第一類神經網路模型112可以正確辨識出字元分割區域81,在較佳的實施例中還可進一步將字元分割區域81分類為需求字元集與非需求字元集。 在步驟S350中,需再獲取再一定數量N2的同類別的影像樣本(為了區分方便,在本文其他處又可將N2稱為第二數量),並重複步驟S320~步驟S340。在步驟S360中,利用驗證集驗證第一類神經網路模型112的正確性,若驗證通過率小於一第二預設閾值(例如95%),則實施步驟S370,若否則實施步驟S380。 在步驟S370中,需再獲取又一定數量N3的同類別的影像樣本(為了區分方便,在本文其他處又可將N3稱為第三數量),並重複步驟S360。在步驟S380中,則完成第一類神經網路模型112的訓練,也就是說可以將第一類神經網路模型112投入實用中。 在上述的實施例中,文意分析模組120例如是藉由一第二類神經網路模型122對可編輯字元進行校正,例如如圖4所示將『雙利醫院』校正成『雙和醫院』。第二類神經網路模型122例如是藉由深度學習的方式進行訓練,以期提高第二類神經網路模型122的精度,以下將介紹第二類神經網路模型122的訓練方式,還請參照圖6,圖6所繪示為第二類神經網路模型於訓練階段的流程圖。首先,實施步驟S410,針對待識別文件中的某一字元分割區域81,獲取一定數量N4的該字元分割區域的可編輯字元樣本(為了區分方便,在本文其他處又可將N4稱為第四數量)。舉例來說,圖2B中的元件符號81a所標示出來的區域是指醫院名稱。在步驟S410中,就是輸入數量為第四數量N4的醫院名稱。 接著,實施步驟S420,將收集到的這些可編輯字元樣本分成為一訓練集、一測試集、與一驗證集。接著,實施步驟S430,將訓練集作為一神經網路模型的訓練樣本,該神經網路模型完成訓練後便生成第二類神經網路模型122的原型。之後,實施步驟S440,利用測試集驗證第二類神經網路模型122的原型的正確性,若驗證通過率小於一第一預設閾值(例如90%),則實施步驟S450,若否則實施步驟S460。在此,所謂的通過是指第二類神經網路模型122可以正確校正可編輯字元的錯誤。 在步驟S450中,需再獲取再一定數量N5的同類別的可編輯字元樣本(為了區分方便,在本文其他處又可將N5稱為第五數量),並重複步驟S420~步驟S440。在步驟S460中,利用驗證集驗證第二類神經網路模型122的正確性,若驗證通過率小於一第二預設閾值(例如95%),則實施步驟S470,若否則實施步驟S480。 在步驟S470中,需再獲取又一定數量N6的同類別的可編輯字元樣本(為了區分方便,在本文其他處又可將N6稱為第六數量),並重複步驟S460。在步驟S480中,則完成第二類神經網路模型122的訓練,也就是說可以將第二類神經網路模型122投入實用中。 在上述的實施例中,字元分割區域標籤模組130例如是藉由一第三類神經網路模型132辨識出各個字元分割區域81於待識別文件中的相對位置,並對字元分割區域81進行標籤。第三類神經網路模型132例如是藉由深度學習的方式進行訓練,以期提高第三類神經網路模型132的精度,以下將介紹第三類神經網路模型132的訓練方式,還請參照圖7,圖7所繪示為第三類神經網路模型於訓練階段的流程圖。首先,實施步驟S510,針對待識別文件中的字元分割區域81,獲取一第七數量N7的該字元分割區域81的標籤與在該待識別文件中的相對位置。字元分割區域81的標籤例如是由人工先進行標註後再輸入一神經網路模型,例如可以聘請多位資料標註師標註醫院名稱在待識別文件的哪邊,病人的姓名又在待識別文件的何處。關於如何標註,可以參考本案申請人的另外一篇專利申請案(申請號:107140893)。 接著,實施步驟S520,將收集到的這些字元分割區域81的標籤的樣本分成為一訓練集、一測試集、與一驗證集。接著,實施步驟S530,將訓練集作為一神經網路模型的訓練樣本,該神經網路模型完成訓練後便生成第三類神經網路模型132的原型。之後,實施步驟S540,利用測試集驗證第三類神經網路模型132的原型的正確性,若驗證通過率小於一第一預設閾值(例如90%),則實施步驟S550,若否則實施步驟S560。在此,所謂的通過是指第三類神經網路模型132可以正確辨識出各個字元分割區域81於待識別文件中的相對位置,並對字元分割區域81進行標籤。 在步驟S550中,需再獲取再一定數量N8的同類別的標籤樣本(為了區分方便,在本文其他處又可將N8稱為第八數量),並重複步驟S520~步驟S540。在步驟S560中,利用驗證集驗證第三類神經網路模型132的正確性,若驗證通過率小於一第二預設閾值(例如95%),則實施步驟S570,若否則實施步驟S580。 在步驟S570中,需再獲取又一定數量N9的同類別的標籤樣本(為了區分方便,在本文其他處又可將N9稱為第九數量),並重複步驟S560。在步驟S580中,則完成第三類神經網路模型132的訓練,也就是說可以將第三類神經網路模型132投入實用中。 在上述的實施例中,不管是第一類神經網路模型112、第二類神經網路模型122、或第三類神經網路模型132,於訓練時都是將樣本分成訓練集、測試集、與驗證集,先由訓練集訓練後,再由測試集進行測試,若通過則再由驗證集進行驗證。相較於習知的神經網路模型在訓練時,只將樣本分成訓練集與測試集,本案之第一類神經網路模型112、第二類神經網路模型122、與第三類神經網路模型132可獲得更高的正確率。此外,在上述的實施例中,第一類神經網路模型112、第二類神經網路模型122、或第三類神經網路模型132可以為可為遞歸神經網路(Recurrent Neural Network)、長短期記憶模型(Long Short-Term Memory)或是卷積神經網路(Convolutional Neural Network),請注意,此僅為本發明的實施例,並非本發明的限制條件。 雖然本發明已以較佳實施例揭露如上,然其並非用以限定本發明,任何所屬技術領域中具有通常知識者,在不脫離本發明之精神和範圍內,當可作些許之更動與潤飾,因此本發明之保護範圍當視後附之申請專利範圍所界定者為準。
10:影像輸入裝置100:字元影像識別系統110:字元分割區域識別模組112:第一類神經網路模型120:文意分析模組122:第二類神經網路模型130:字元分割區域標籤模組132:第三類神經網路模型140:輸出模組102:伺服端104:客戶端104a:電子裝置81:字元分割區域81a:元件符號81b:元件符號S210~S260:字元影像識別方法的實施步驟S310~S380:第一類神經網路模型於訓練階段的實施步驟S410~S480:第二類神經網路模型於訓練階段的實施步驟S510~S580:第三類神經網路模型於訓練階段的實施步驟
下文將根據附圖來描述各種實施例,所述附圖是用來說明而不是用以任何方式來限制範圍,其中相似的標號表示相似的組件,並且其中: 圖1所繪示為本發明之字元影像識別系統的實施例。 圖2A與圖2B所繪示為待識別文件的其中一實施例。 圖3所繪示為本發明之字元影像識別方法的實施例。 圖4所繪示為文意分析模組進行校正過程的實施方式。 圖5所繪示為第一類神經網路模型於訓練階段的流程圖。 圖6所繪示為第二類神經網路模型於訓練階段的流程圖。 圖7所繪示為第三類神經網路模型於訓練階段的流程圖。
S210~S260:字元影像識別方法的實施步驟