PP-ChatOCR:基于文心大模型的通用圖像關(guān)鍵信息抽取利器,開發(fā)提效50%!
在日常生活中,大家經(jīng)常會遇到圖像關(guān)鍵信息自動抽取的場景,比如身份證拍照上傳自動識別、發(fā)票拍照上傳自動報銷等。
在這個領(lǐng)域,現(xiàn)有的AI技術(shù)方案已經(jīng)能解決一部分需求,但是依然存在一些痛點(diǎn),比如發(fā)票的種類樣式極其繁多,基于OCR文字識別+規(guī)則后處理的方案無法有效覆蓋全部樣式,即泛化性很差。如果要強(qiáng)行覆蓋全部樣式,成本又太高。
針對這樣的問題,飛槳團(tuán)隊(duì)隆重推出基于文心大模型的全新解決方案——PP-ChatOCR!
PP-ChatOCR將LLM(Large Language Model)與經(jīng)典的PP-OCR模型結(jié)合,達(dá)到了通用場景下的圖片關(guān)鍵信息抽取效果,支持身份證、銀行卡、戶口本、火車票等多種場景的關(guān)鍵信息提取。
您只需要指明自己所關(guān)注的字段,PP-ChatOCR就能幫您從圖片中提取出這些字段的信息!
下面來看看效果~




左右滑動查看更多內(nèi)容
要知道,這后面僅僅是一套OCR模型和針對LLM的Prompt模板哦!這強(qiáng)大的泛化能力,不可謂不香了~
小伙伴們是不是等不及要親自體驗(yàn)了?來,上鏈接!
https://aistudio.baidu.com/aistudio/projectdetail/6488689
在飛槳AI套件中使用PP-ChatOCR
PP-ChatOCR今天正式上線飛槳AI套件PaddleX!源碼全部開放!您可以在AI Studio云端或者PaddleX本地端盡情探索!一方面可以發(fā)揮您的想象力修改Prompt,另一方面您也可以在PaddleX中對PP-OCRv4做訓(xùn)練微調(diào)。同時PaddleX還支持PP-ChatOCR的高性能部署,趕快嘗試與真實(shí)業(yè)務(wù)場景結(jié)合,體驗(yàn)LLM帶來的生產(chǎn)力變革吧!
PP-ChatOCR鏈接:
https://aistudio.baidu.com/aistudio/modelsdetail?modelId=332
PaddleX是一站式、全流程、高效率的飛槳AI套件,具備飛槳生態(tài)優(yōu)質(zhì)模型和產(chǎn)業(yè)方案。PaddleX的使命是助力AI技術(shù)快速落地,愿景是使人人成為AI Developer。
PaddleX支持10+任務(wù)能力,包括圖像分類、目標(biāo)檢測、圖像分割、3D、OCR和時序預(yù)測等;內(nèi)置36 種飛槳生態(tài)特色模型,包括PP-ChatOCR、PP-OCRv4、RP-DETR、PP-YOLOE、PP-ShiTu、PP-LiteSeg、PP-TS等。
PaddleX提供“工具箱”和“開發(fā)者”兩種開發(fā)模式,同時支持云端和本地端。工具箱模式可以無代碼調(diào)優(yōu)關(guān)鍵超參,開發(fā)者模式可以低代碼進(jìn)行單模型訓(xùn)壓推和多模型串聯(lián)推理。
PaddleX未來還將支持聯(lián)創(chuàng)開發(fā),收益共享!歡迎廣大個人開發(fā)者和企業(yè)開發(fā)者參與進(jìn)來,共創(chuàng)繁榮的AI技術(shù)生態(tài)!
目前PaddleX正在快速迭代,歡迎大家試用和指正!比心~
PaddleX本地端即將開放內(nèi)部測試,掃碼進(jìn)群優(yōu)先體驗(yàn)PaddleX本地端!
PaddleX本地端即將開放內(nèi)部測試,微信添加運(yùn)營同學(xué)(微信號:Zoe_Q1029),并回復(fù)【PaddleX】,運(yùn)營同學(xué)會邀請您加入官方交流群,先人一步體驗(yàn)PaddleX本地端,獲得更高效的問題答疑!
PP-ChatOCR核心思想
PP-ChatOCR為什么能做到通用的圖像關(guān)鍵信息抽?。窟@樣的能力帶來了怎樣的價值?讓我們從PP-ChatOCR的設(shè)計核心思想來一探究竟。
傳統(tǒng)OCR+規(guī)則的信息抽?。阂?guī)則復(fù)雜,泛化能力差
在傳統(tǒng)的圖像關(guān)鍵信息抽取技術(shù)方案中,主要思路是先經(jīng)過OCR文字識別,然后根據(jù)業(yè)務(wù)需求,設(shè)計一整套規(guī)則來提取若干關(guān)鍵信息。這樣的做法有一些明顯的缺點(diǎn):
(1)泛化能力差。圖像中文字編排略有調(diào)整,可能就需要修改提取規(guī)則。
(2)擴(kuò)展能力差。新增規(guī)則復(fù)雜,關(guān)鍵信息字段與規(guī)則數(shù)量成正比,成本較高。

PP-ChatOCR:擴(kuò)展能力強(qiáng),泛化能力強(qiáng),開發(fā)成本降低
圖像關(guān)鍵信息提取的關(guān)鍵點(diǎn)在于對OCR識別結(jié)果的規(guī)則化處理。如上所述,傳統(tǒng)的技術(shù)方案采用人工編寫規(guī)則的“硬編碼”方式,不夠優(yōu)雅,泛化能力很差。那么,既然OCR識別結(jié)果都是文字,把規(guī)則化處理的工作交給號稱具備了AGI雛形能力的LLM來做會不會有很好的效果呢?答案是肯定的。把不經(jīng)任何處理加工的OCR識別結(jié)果直接喂給LLM,編寫好Prompt提示詞,就能非常準(zhǔn)確、穩(wěn)定地獲得我們所關(guān)注的關(guān)鍵信息了。
PP-ChatOCR的泛化能力極強(qiáng),只要OCR能順利識別出來關(guān)鍵文字,PP-ChatOCR理論上就能提取出關(guān)鍵信息,甚至少量的文字識別錯誤也能被LLM自動糾正!
PP-ChatOCR的擴(kuò)展能力也很強(qiáng),如果業(yè)務(wù)中需要額外提取新的字段信息,只需要修改一下Prompt,就搞定了全部工作!
這樣一來,搭建一套通用圖像關(guān)鍵信息抽取系統(tǒng)的成本就大大下降了,而這就是大模型技術(shù)變革帶來的生產(chǎn)力提升!

PP-ChatOCR要點(diǎn)解讀
PP-ChatOCR整體的技術(shù)框架如下圖所示。

整體來說,PP-ChatOCR的技術(shù)流程還是比較簡單的,一共分為以下若干步驟:
OCR推理。使用OCR模型對輸入圖像進(jìn)行文字檢測識別處理,這里PP-ChatOCR默認(rèn)使用了PP-OCR系列的最高精度模型--PP-OCRv4_server,保證在速度不敏感的服務(wù)器端提供最準(zhǔn)確的OCR識別結(jié)果。
場景判別。直接將OCR識別的結(jié)果送入LLM,并詢問LLM“根據(jù)當(dāng)前的OCR識別結(jié)果,當(dāng)前圖像的場景屬于以下場景列表的哪一種:【火車票】、【身份證】、【駕照】、【營業(yè)執(zhí)照】、【學(xué)位證書】...文心大模型基本可以做到100%的場景判別準(zhǔn)確率。
Prompt構(gòu)造。在Prompt構(gòu)造環(huán)節(jié),由于我們要使用few-shot learning 或者所謂的in-context learning的技巧,需要知道當(dāng)前圖像所屬于的場景,所以正好用上第二步場景判別的結(jié)果。除了few-shot learning之外,通用的PP-ChatOCR暫時沒有使用其它特別的技巧,僅僅是將任務(wù)要求描述清楚,讓大模型輸出json格式的結(jié)果,方便我們解析。
后處理。理想情況下大模型的輸出結(jié)果應(yīng)當(dāng)是符合預(yù)期的json,但是眾所周知LLM是一個黑盒子,總會有一些意外存在,為了能夠在業(yè)務(wù)系統(tǒng)中穩(wěn)定運(yùn)行,就必須妥善處理這些意外。PP-ChatOCR目前實(shí)現(xiàn)了json格式檢查等后處理操作,在真實(shí)業(yè)務(wù)場景下,可以設(shè)置更多的后處理規(guī)則,以保證系統(tǒng)的可靠性。
值得注意的是,如果您在一個明確的場景中使用PP-ChatOCR,上述第二步場景判別過程是可以省略的,第三步的few-shot learning直接提供該場景下的例子即可。
整體看下來,不知道大家有沒有發(fā)現(xiàn),雖然PP-ChatOCR名字里面帶了Chat一詞,但是在使用上并沒有顯式的Chat過程。這里稍微解釋一下,PP-ChatOCR面向的是真實(shí)業(yè)務(wù)場景的落地,是需要集成到業(yè)務(wù)系統(tǒng)中自動化運(yùn)行的。要做到這一點(diǎn),就必須要求其輸出格式化的結(jié)果,不能有廢話(這個其實(shí)很關(guān)鍵),而且整體精度要足夠高。在真實(shí)的圖像關(guān)鍵信息提取的場景中,幾乎沒有人會拿一張火車票或者證件去跟LLM“聊天”,所以即使在AI Studio的應(yīng)用中心,PP-ChatOCR也沒有要求大家像使用ChatBot一樣聊天。而之所以帶上Chat一詞,歸根到底還是跟LLM產(chǎn)生了對話,而且現(xiàn)在跟LLM相關(guān)的項(xiàng)目,動輒就要帶上Chat,我們也不能例外。
就這一套通用場景下的PP-ChatOCR技術(shù)方案,基于一個通用的PP-OCRv4模型、一套共用的Prompt模板,沒有增加復(fù)雜的前后處理邏輯,目前在12種圖像場景中,已經(jīng)達(dá)到了平均80%以上的精度。在一些相對簡單的場景(例如身份證)中,精度可達(dá)97%。
在此基礎(chǔ)之上,大家可以充分發(fā)揮想象力,進(jìn)行垂類場景中PP-ChatOCR能力的定制優(yōu)化,比如說可以使用更強(qiáng)大的OCR模型、使用更多的Prompt工程技巧、添加更多的前后處理規(guī)則等。在下面一小節(jié),我們就來聊一聊如何打造個性化的PP-ChatOCR。
如何打造個性化的PP-ChatOCR
在真實(shí)業(yè)務(wù)中,一般不建議直接使用通用版的PP-ChatOCR,而是需要針對業(yè)務(wù)場景中的圖像類型進(jìn)行專門的優(yōu)化適配,以實(shí)現(xiàn)足夠高的精度和穩(wěn)定性,滿足真實(shí)業(yè)務(wù)需求。那么,如何打造個性化的PP-ChatOCR呢?下面讓我們一一道來。
獲取文心大模型調(diào)用能力
首先,我們需要有方法調(diào)用文心大模型的能力。AI Studio SDK 中集成了文心大模型服務(wù)調(diào)用能力,所以沒有申請到API的同學(xué)也可以在AI Studio直接調(diào)用文心大模型了!具體使用方式請掃描文章底部的二維碼進(jìn)群了解~
創(chuàng)建PP-ChatOCR模型產(chǎn)線
飛槳AI套件PaddleX已上線AI Studio平臺,目前的入口在模型庫,大家可以在這里找到PP-ChatOCR,閱讀其介紹文檔,并最終創(chuàng)建屬于你自己的PP-ChatOCR模型產(chǎn)線。
AI Studio模型庫鏈接如下:
https://aistudio.baidu.com/aistudio/modelsoverview?supportPaddlex=true&sortBy=weight
準(zhǔn)備評估數(shù)據(jù)與效果驗(yàn)證
為了客觀地評價PP-ChatOCR的效果,建議大家從業(yè)務(wù)場景中準(zhǔn)備一定量的評估數(shù)據(jù)進(jìn)行定量的綜合評價。例如,可以準(zhǔn)備50張火車票圖像,根據(jù)業(yè)務(wù)需求標(biāo)注所關(guān)注的字段及其真值。
在對通用的PP-ChatOCR效果進(jìn)行評估之后,其結(jié)果可以作為baseline指導(dǎo)后續(xù)針對業(yè)務(wù)場景的優(yōu)化工作。
針對業(yè)務(wù)場景的優(yōu)化
終于來到了關(guān)鍵的環(huán)節(jié),在這里,我們討論如何針對具體的垂類業(yè)務(wù)場景進(jìn)行PP-ChatOCR的優(yōu)化。
PP-ChatOCR由傳統(tǒng)的OCR模型和文心大模型兩部分組成,所以優(yōu)化大致可以分為兩個方面:一是訓(xùn)練微調(diào)OCR模型,使之在垂類場景中的精度進(jìn)一步提高;二是“調(diào)教”文心大模型,通過Prompt工程和適當(dāng)?shù)暮筇幚砉ぷ魇勾竽P湍軌蜉敵鑫覀兿胍慕Y(jié)果,甚至可以考慮對LLM進(jìn)行微調(diào)。
微調(diào)OCR模型方面,推薦大家使用飛槳最新推出的PP-OCRv4模型。PP-OCRv4 是實(shí)用的超輕量通用OCR模型。在實(shí)現(xiàn)前沿算法的基礎(chǔ)上,考慮精度與速度的平衡,進(jìn)行了模型瘦身和深度優(yōu)化。在飛槳AI套件中即可體驗(yàn)和訓(xùn)練微調(diào)PP-OCRv4,大大提高開發(fā)效率。
鏈接如下:https://aistudio.baidu.com/aistudio/modelsoverview?category=%E5%9F%BA%E7%A1%80%E6%A8%A1%E5%9E%8B&supportPaddlex=1&sortBy=weight&task=%E6%96%87%E5%AD%97%E8%AF%86%E5%88%AB
“調(diào)教”文心大模型方面,大家就有非常廣闊的發(fā)揮空間了。Prompt方面,大家可以基于PP-ChatOCR提供的基礎(chǔ)Prompt進(jìn)行優(yōu)化。比如最常見實(shí)用的in-context learning技巧,給LLM幾個例子,效果通常就會有明顯的提高。再比如給大模型一些場景相關(guān)的信息,讓大模型充分理解上下文語境,應(yīng)該也能帶來一些效果提升。另外,對大模型輸出的約束也很重要,比如不能輸出廢話,不能被惡意使用者越獄等。最后還有一個終極大招,就是對大模型本身進(jìn)行微調(diào)。不過目前來看文心大模型現(xiàn)有的能力已經(jīng)能夠滿足PP-ChatOCR的使用場景,因此大概率是沒必要“殺雞用牛刀”的。
到了這一步,作為PP-ChatOCR的使用者,模型開發(fā)基本就結(jié)束了。經(jīng)過上述步驟的全方位調(diào)優(yōu)之后,確認(rèn)在評估數(shù)據(jù)中的精度和穩(wěn)定性達(dá)標(biāo),就可以著手部署到真實(shí)的業(yè)務(wù)系統(tǒng)中去啦!
One more thing,未來在飛槳AI套件PaddleX,大家不僅可以開發(fā)自己的模型,還可以聯(lián)創(chuàng)貢獻(xiàn),和平臺收益共享!
聯(lián)創(chuàng)模式不僅可以技術(shù)變現(xiàn),還可以讓個人開發(fā)者收獲滿滿的成就感,為企業(yè)開發(fā)者吸引流量和關(guān)注,真可謂好事成雙!而且,有了大量的用戶,就能夠收集到有價值的反饋,促進(jìn)貢獻(xiàn)者進(jìn)一步優(yōu)化模型,從而吸引更多的用戶,可謂雙螺旋上升~
為了保護(hù)貢獻(xiàn)者的知識產(chǎn)權(quán),我們會提供完善的加密鑒權(quán)機(jī)制,各位貢獻(xiàn)者只需要按照我們的文檔接入加密鑒權(quán)能力,就可以放心地貢獻(xiàn)模型啦!關(guān)于聯(lián)創(chuàng)的更多細(xì)節(jié),敬請關(guān)注飛槳AI套件PaddleX后續(xù)更新!
最后,再次邀請大家進(jìn)入PaddleX用戶交流群~共創(chuàng)繁榮AI技術(shù)生態(tài)~
PaddleX本地端即將開放內(nèi)部測試,微信添加運(yùn)營同學(xué)(微信號:Zoe_Q1029),并回復(fù)【PaddleX】,運(yùn)營同學(xué)會邀請您加入官方交流群,先人一步體驗(yàn)PaddleX本地端,獲得更高效的問題答疑!
PP-ChatOCR所使用的PP-OCRv4模型,目前已發(fā)布在PaddleOCR 2.7新版本中,歡迎大家使用!
AI Studio應(yīng)用中心體驗(yàn)PP-ChatOCR:
https://aistudio.baidu.com/aistudio/projectdetail/6488689
飛槳AI套件PaddleX中的PP-ChatOCR:
https://aistudio.baidu.com/aistudio/modelsdetail?modelId=332
PaddleOCR GitHub:
https://github.com/PaddlePaddle/PaddleOCR