OCR+NLP 提取信息并分析,這個(gè)開源項(xiàng)目火了!
Python中文社區(qū)(ID:python-china)
文字是傳遞信息的高效途徑,利用OCR技術(shù)提取文本信息是各行業(yè)向數(shù)字智能化轉(zhuǎn)型的第一步。與此同時(shí),針對OCR提取的海量文本信息,利用NLP技術(shù)進(jìn)一步加工提取、分析理解后才能最大化發(fā)揮文本信息的價(jià)值。NLP技術(shù)可以提升OCR準(zhǔn)確率,并從文本中抽取關(guān)鍵信息、構(gòu)建知識圖譜,搭建檢索、推薦、問答系統(tǒng)等。
雖然各行業(yè)智能化產(chǎn)業(yè)升級已經(jīng)在如火如荼的開展中,但是在實(shí)際應(yīng)用落地中卻遇到諸多困難,比如:數(shù)據(jù)樣本不夠、模型精度不高、預(yù)測時(shí)延大等。為此,百度飛槳針對真實(shí)、高頻的產(chǎn)業(yè)場景,提供了從數(shù)據(jù)準(zhǔn)備、模型訓(xùn)練優(yōu)化,到模型部署全流程的案例教程。
聽說文檔和代碼已經(jīng)開源了,來吧
OCR + NLP 串聯(lián)技術(shù)難點(diǎn)
市面上有不少開源的OCR、NLP產(chǎn)品,但是如果想直接利用這些工具,會面臨底層框架不統(tǒng)一、串聯(lián)難度高、效果無法保證等問題。PaddleOCR和PaddleNLP是面向產(chǎn)業(yè)界的開發(fā)庫,均基于飛槳開源框架最新版本,能夠?qū)CR和NLP技術(shù)無縫結(jié)合。
今天我們針對金融行業(yè)研報(bào)、物流快遞單,來看看OCR + NLP信息抽取技術(shù)的應(yīng)用。
OCR + NLP金融研報(bào)分析
當(dāng)前,諸多投資機(jī)構(gòu)都通過研報(bào)的形式給出對于股票、基金以及行業(yè)的判斷,讓大眾了解熱點(diǎn)方向、龍頭公司等各類信息。然而,分析和學(xué)習(xí)研報(bào)往往花費(fèi)大量時(shí)間,研報(bào)數(shù)量的與日俱增也使得研報(bào)智能分析訴求不斷提高。這里我們采用命名實(shí)體識別技術(shù),自動抽取研報(bào)中的關(guān)鍵信息,例如,“中國銀行成立于1912年。”中包含了組織機(jī)構(gòu)、場景事件、時(shí)間等實(shí)體信息。
OCR+NLP Pipeline
針對研報(bào)數(shù)據(jù)的命名實(shí)體識別與詞頻統(tǒng)計(jì)整體流程如上圖所示。首先將研報(bào)pdf數(shù)據(jù)使用fitz包拆分為圖像格式,然后利用PaddleOCR套件在研報(bào)數(shù)據(jù)集上微調(diào)PP-OCR[1]的檢測模型,使用現(xiàn)有的識別模型獲得文本信息。PP-OCR是PaddleOCR中由百度自研的明星模型系列,由文本檢測、文本方向分類器與文本識別模塊串聯(lián)而成。
PP-OCR Pipeline
對OCR識別出的文本進(jìn)行整理后,調(diào)用PaddleNLP中的Taskflow API抽取文本信息中的組織機(jī)構(gòu)實(shí)體。最后對這些實(shí)體進(jìn)行詞頻統(tǒng)計(jì),就可初步判定當(dāng)前研報(bào)分析的熱點(diǎn)機(jī)構(gòu)。
Taskflow使用示意圖
目前,Taskflow API 支持自然語言理解(NLU)和生成(NLG)兩大場景共八大任務(wù),包括中文分詞、詞性標(biāo)注、命名實(shí)體識別、句法分析、文本糾錯、情感分析、生成式問答和智能寫詩,均可一鍵調(diào)用。
物流快遞單信息抽取
雙十一要到了,想必很多人都預(yù)備了一個(gè)滿滿的購物車。去年雙十一成交量4982億元,全國快遞企業(yè)共處理快件39億件,這背后則是物流行業(yè)工作量的驟增。除了滿負(fù)荷的長深高速公路,還有繁忙的快遞小哥。無論是企業(yè)業(yè)務(wù)匯總,還是寄件信息填寫,都少不了關(guān)鍵信息智能提取這一環(huán)節(jié),這其中均采用了命名實(shí)體識別技術(shù)。
命名實(shí)體識別大體上有三種方案:字符串匹配、統(tǒng)計(jì)語言模型、序列標(biāo)注。前兩種方法需要預(yù)先構(gòu)建詞典、窮舉所有實(shí)體,無法發(fā)現(xiàn)新詞、變體等。本案例中采用了目前的主流方法——序列標(biāo)注。
數(shù)據(jù)集包括1600條訓(xùn)練集,200條訓(xùn)練集和200條測試集,采用BIO體系進(jìn)行標(biāo)注。
實(shí)體定義和數(shù)據(jù)集標(biāo)注示例
針對輕量化、高精度的需求,可以選用RNN+CRF 方案。也可以采用預(yù)訓(xùn)練模型,通過模型壓縮、動轉(zhuǎn)靜加速等方式滿足精度和性能的要求。我們采用Ernie-Gram[2] + CRF 獲得了最佳效果。
此外,命名實(shí)體識別技術(shù)可以應(yīng)用于各類關(guān)鍵信息的提取,例如電商評論中的商品名稱、電子發(fā)票中的抬頭信息、收入證明中的金額、法律文書中的犯罪地點(diǎn)等信息。結(jié)合關(guān)系抽取、事件抽取技術(shù),還可以構(gòu)建知識圖譜、搭建問答系統(tǒng)等。