中文 OCR 錯字更正檢索系統

緣由與目的:

電腦網路的發達,使得資訊的出版、傳播、與取得過程更加便利。 雖然未來的資料以全數位形式出現是可預期的事情,然而現今紙本資料, 仍然記錄了全世界非常多的資訊。要將(回溯性)紙本資料數位化, 以提供網路化的資訊服務並非易事。

一套將紙本資料數位化的流程,是將紙本資料掃瞄成影像檔, 再利用OCR(Optical Character Recognition)軟體辨識影像檔取得數位文字, 以便提供全文的檢索與影像的取用。如果原始文件可產生高品質的影像和OCR文字, 採用這個途徑將會是成本效益極佳的選擇。

然而OCR文件常常含有辨識錯誤的詞彙,導致其提供的檢索品質可能降低。 過去的研究顯示,OCR辨識錯誤的情形,對影像品質良好的文件,並不嚴重, 對檢索成效的影響也不大。然而圖書館的館藏,常常是年代較為久遠、印刷或 紙質較差的紙本資料,其OCR的結果,常常是詞彙錯誤率較高的數位文件, 其對檢索結果的影響也較顯著。因此,一個值得研究的課題,是如何降低 OCR的辨識錯誤、提升OCR文件的檢索成效。

OCR系統中,有時也會有事先建好的詞庫與錯誤詞彙的更正模組, 以自動校正OCR辨識錯誤的詞彙。然而不管如何,OCR錯誤總是難以避免。 這可能是事先建構的詞庫,無法涵蓋任一領域、任一文件所使用的詞彙所致。 相對的,檢索系統中則總是會建構文件特定(collection- specific)的索引詞彙, 而這些特定文件的全域性(global)索引詞彙,如果好好利用,有可能可以 進一步幫助更正更多的OCR錯誤。

系統特色:

  1. 全自動詞彙擷取(包含正確詞、錯誤詞)
  2. 全自動錯字偵測(自動詞彙歸類)
  3. 詞彙文件篇數統計、錯字更正提示

範例:

筆者提出一種方法,利用檢索系統裡自動辨識的關鍵詞彙或索引詞彙, 以詞彙歸類的技術,將可能的錯誤詞彙與正確詞彙關聯起來,如圖一所示。


圖一:正確詞彙與其錯誤詞彙

從圖一可知,有些OCR錯誤錯得很離譜,如「委員會」錯成「委二會」, 很難用傳統的OCR技術,如混淆字表(confusion table)來做更正。 像「員」與「二」兩個字外型差距很大,混淆字表裡不太可能蒐納進去, 因而也就不太可能被傳統的OCR技術所更正。 如圖二所示,左欄為OCR廠商所使用的一般性混淆字表,右欄為本系統發展出來 的文件特定(collection-specific)的混淆字表。

圖二:(左) OCR廠商提供的混淆字表 (右)本計畫開發出來的混淆字表

從檢索系統的索引檔中,我們可以比較哪些長度相同的多字詞只差一個字, 而將其列為可能的錯誤詞彙對(term pairs),在檢索時便能互相提示, 達到詞彙更正以及提升檢索成效的的目的,如圖三所示。


圖三:兩個查詢詞及其相對應的錯誤詞彙。

圖三顯示在8438篇OCR文件中,兩個正確詞彙與其自動發現的錯誤詞彙。 其中
第一欄:自動發現的「正確詞彙」。
第二欄:第一欄詞彙的文件篇數。
第三欄:自動發現的「錯誤詞彙」。
第四欄:第三欄詞彙的文件篇數。
第五、六欄:「正確詞彙」與「錯誤詞彙」的「差異字元」。
第七欄:差異字元在所有(正確 與 錯誤 詞彙的)「詞彙對」 出現的次數(例如:若「灣」、「瀉」是從「解放台灣、解放台瀉」,以及 「台灣問題、台瀉問題」得來的,那麼這欄位的數字就是 2 )。
第八欄:包含「錯誤詞彙」但不含「正確詞彙」的文件篇數
第九欄:同一「正確詞彙」的所有「錯誤詞彙」 在第八欄中的文件篇數總和。 此欄的數字代表用「正確詞彙」查詢不出來,但用其所有的「錯誤詞彙」 能夠查出來的文件篇數。

成效:

筆者以輔仁大學中國社會文化研究中心的 OCR 檢索測試集做實驗, 此測試集包含三項資料: 8438 篇 OCR文件(平均辨識正確率約69%-75%)、 30道事先準備的查詢主題、以及每一道查詢主題經人工判斷的相關文件資訊。 其中第三道查詢主題的文字如下:「中日關係; 中共與日本間恢復締約談判之 相關報導; 相關文章內容包含中共與日本間締約、談判之情形,若文章內容 著重於民間團體呼籲促進中日間關係則視為部分相關。」

筆者用「正確詞彙」當詞庫,將這30道查詢主題的所有文字拿來斷詞, 得到20個查詢詞(亦即這20個詞彙的選擇是公正、沒有偏頗的)。 把每個詞以「精確比對模式」拿來查詢後,這20個詞總共查出 3238 篇文件。 以這20個詞的「錯誤詞彙」查詢,則總共可得出額外的 572 篇相關文件, 但會額外得出 164 篇不相干的文件(像「中日關係」的主題用「中蘇關係」 去查,就會額外得到另外3篇文件,如圖三第一列所示)。因此,查全率(recall) 最多會進步572/(572+3238)=15.01%。查準率(precision)會退步 164/(164+572+3238) = 4.13%。整體而言,查詢 OCR 文件的成效有明顯的提升。

成效改進:

以上沒有用到任何人工維護的資源,如辭典、語料庫等, 是全自動的方法做到。 如果有額外的資源可用,則可以輕易的提升其成效。

一個簡易的改進方法如下:假若我們有完全乾淨的文件,且這些文件跟 OCR文件的領域、用詞差不多,則可以將圖三中第三欄的「錯誤詞彙」拿來比對 這些正確的乾淨文件,如果這些「錯誤詞彙」出現在正確文件中,則我們可以 得知,他們其實不是「錯誤詞彙」,如「中蘇關係」、「中捷關係」 (中國與捷克的關係),而可以從上述的「詞彙對」中去除。

另外,從這些錯誤的「詞彙對」所得到的「差異字元」,我們也可以 知道這「差異字元」是錯的(例如「日」與「蘇」、「日」與「捷」)。 從這些錯的差異字元可以回來更正更多 OCR 文件的「詞彙對」, 使得精確率的降低更為輕微,甚至完全消失。

相關著作:

  1. 蔡孟竹, 曾元顯, " 中文OCR文件檢索測試集之製作與應用", 「教育資料與圖書館學」, 第 40 卷, 第 3 期, 2003 年 3 月, 頁 325-344.

  2. Yuen-Hsien Tseng, "Automatic Cataloguing and Searching for Retrospective Data by Use of OCR Text", Journal of the American Society for Information Science and Technology (Previously known as Journal of the American Society for Information Science, JASIS), Vol. 52, No. 5, April 2001, pp. 378-390.

  3. Yuen-Hsien Tseng, "Error Correction in a Chinese OCR Test Collection," Proceedings of the 25th International ACM SIGIR Conference on Research and Development in Information Retrieval - SIGIR '02, Aug. 11-15, Tampere, Finland, 2002, pp.429-430.

  4. Yuen-Hsien Tseng and Douglas W. Oard, " Document Image Retrieval Techniques for Chinese" Proceedings of the Fourth Symposium on Document Image Understanding Technology, Columbia Maryland, April 23-25th, 2001, pp. 151-158.

相關計畫:

  1. 曾元顯, 「中文OCR文件錯誤詞彙之自動偵測與更正及其在資訊檢索上的應用」, 國科會90學年度研究計畫報告, NSC 90-2413-H-030-004-

  2. 曾元顯, 「多國語文OCR文件之資訊擷取與檢索」, 國科會89學年度研究計畫報告, NSC 89-2413-H-030-006-

  3. 曾元顯, 「雜訊文件關鍵詞自動擷取及應用」, 國科會88學年度研究計畫報告, NSC 88-2413-H-030-017-


Established on June 1, 2001, last modified on June 1, 2003 by
Yuen-Hsien Tseng <tseng@lins.fju.edu.tw>