1. 程式人生 > >文字挖掘----基於OCR的文件關鍵字提取

文字挖掘----基於OCR的文件關鍵字提取

前言


緊急新增:有人反饋看不懂。那是因為沒有看姐妹篇,《你有沒有想到,這樣的觀點挖掘引擎?》。請先閱讀本文,再繼續看下去!

做了一段時間的OCR,把大量的圖片、PDF處理成了文字。請注意:這些文字在網際網路上屬於稀有資源。這些文字以前都放在一個盒子裡,如今,用OCR做鑰匙開啟盒子。取出東西,是好是壞也沒人知道。但是,總得取出來看看。

所以,Text Mining就有了用處。我們把這些稀缺資料拿來挖一挖。萬一挖到寶了,可就發了。。。

資料視覺化後,你將得到這樣的結果:
資料視覺化,谷震平的專欄

別高興,我將給你列出一堆坑。。。。

在自己的微信公眾號上,寫過一篇文章—-《你有沒有想到,這樣的觀點挖掘引擎?

》。這篇文章主要是對觀點挖掘引擎做了簡單的概述,給出了每個步驟大致需要實現怎樣的功能。但是,沒有涉及到技術和框架的東西。所以特地在CSDN上講講技術層面的東西。


OCR處理圖片


這是一個很重要的過程—-資料預處理,直接影響最後的挖掘結果。難點有兩個:

  • 圖片的佈局、PDF檔案的版面識別
  • OCR識別的精度,一般都會有錯誤字元出現

不要妄想自己能解決這兩個問題,請交給專業人士去搞,因為比較頭疼。但是對於一般的開發者而言,或者精度要求不那麼高的同學而言,直接用OCR的成熟東西就好,比如Tesseract。

給出一篇文章:《OCR—-Python呼叫Tesseract引擎(Ubuntu下)

》。參照來做,沒有問題的。


文字挖掘工具


自己寫演算法去挖掘處理好的文字,簡直可笑。。。因為水很深很深。主要的難點:

  • 文字挖掘常用演算法自己手寫,耗時
  • 語料庫(特別是中文)
  • 句法分析、語義分析

所以,對於一般的開發者而言,或者公司快速生成而言,用框架吧。推薦兩款:(1)結巴分詞,(2)清華大學的中文分詞THUTag

我使用的是jieba,感覺API講解的好。

操作指南就不秀了,也沒什麼可寫的。當你裝完環境,可能只是這樣:

# abstract word extract
tags_output = jieba.analyse.extract_tags(text,topK=20
,withWeight = True)

對,我並沒有開玩笑。。。only one code !


資料視覺化


資料視覺化,這是個可深可淺的活。有時候,誰都能幹;有時候,需要深知業務邏輯的人才。嚇得我都不敢多說一句了。。。

這塊也是現在比較火的BI工程師的職業範疇。BI Engineers用什麼,我不知道。但是,我用的視覺化工具是Echart,百度開源的(PS:支援國產的好處就是API都是中文的哎。。。)。

Echart3和Echart2整體的功能沒有多少改變,但是樣式和風格變了很多。拋開版本不說,EChart框架貌似不太適合含有邏輯關係資料的展現 。做分類結果展示還可以,但是關係圖,我只能呵呵。

最近,在嘗試D3的技術,有空再碼。


結語


關鍵詞提取也好,觀點挖掘也好,都沒有本質的區別。我做的這個東東,主要是在資料結構上用創新。畢竟是圖片、PDF,不是純文字。

更多技術交流,歡迎評論。畢竟在技術方面還是個渣渣,所以有不對的地方,歡迎批評指正。感謝!

下面是公眾號的二維碼,掃一掃關注更多精彩原創內容:

谷震平的專欄 微信公眾號  二維碼