文本挖掘----基於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,不是純文本。

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

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

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章