文字挖掘----基於OCR的文件關鍵字提取
前言
緊急新增:有人反饋看不懂。那是因為沒有看姐妹篇,《你有沒有想到,這樣的觀點挖掘引擎?》。請先閱讀本文,再繼續看下去!
做了一段時間的OCR,把大量的圖片、PDF處理成了文字。請注意:這些文字在網際網路上屬於稀有資源。這些文字以前都放在一個盒子裡,如今,用OCR做鑰匙開啟盒子。取出東西,是好是壞也沒人知道。但是,總得取出來看看。
所以,Text Mining就有了用處。我們把這些稀缺資料拿來挖一挖。萬一挖到寶了,可就發了。。。
資料視覺化後,你將得到這樣的結果:
別高興,我將給你列出一堆坑。。。。
在自己的微信公眾號上,寫過一篇文章—-《你有沒有想到,這樣的觀點挖掘引擎?
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,不是純文字。
更多技術交流,歡迎評論。畢竟在技術方面還是個渣渣,所以有不對的地方,歡迎批評指正。感謝!
下面是公眾號的二維碼,掃一掃關注更多精彩原創內容: