
近日,根據(jù)復(fù)旦大學(xué)報(bào)道,學(xué)校信息科學(xué)與工程學(xué)院博士生李小康使用OCR和正則表達(dá)式幫助學(xué)院幾分鐘核查完數(shù)百人核酸完成截圖,大大提高了核查效率和精度。
相關(guān)話題在知乎上也引起了眾多討論,目前該話題已經(jīng)得到了300多萬次瀏覽。
OCR,英文全稱Optical Character Recognition,即光學(xué)字符識(shí)別,也可簡(jiǎn)單地稱為文字識(shí)別,這是文字自動(dòng)輸入的一種方法。
OCR主要是通過掃描和攝像等光學(xué)輸入方式獲取紙張上的文字圖像信息,利用各種模式識(shí)別算法分析文字形態(tài)特征可以將票據(jù)、報(bào)刊、書籍、文稿及其它印刷品轉(zhuǎn)化為圖像信息,再利用文字識(shí)別技術(shù)將圖像信息轉(zhuǎn)化為可以使用的計(jì)算機(jī)輸入技術(shù)。
李小康表示,“OCR可以把圖像中的文字識(shí)別出來,轉(zhuǎn)換為文本信息,就方便用來核查了。而且因?yàn)楹怂峤貓D是打印字體,識(shí)別率非常高,幾乎可以做到100%準(zhǔn)確”。
一張截圖中的文本信息很多,包括脫敏處理的姓名、證件類型、證件號(hào)碼、采樣時(shí)間、組織機(jī)構(gòu)等內(nèi)容,但不是所有信息都有用。其中姓名、采樣時(shí)間、是否已采樣最為關(guān)鍵,是需要檢索篩選出的內(nèi)容。
在此基礎(chǔ)上,李小康想到了Python語言中的正則表達(dá)式。正則表達(dá)式使用單個(gè)字符串來描述、匹配一系列匹配某個(gè)句法規(guī)則的字符串,在很多文本編輯器里,正則表達(dá)式通常被用來檢索、替換那些匹配某個(gè)模式的文本。
“使用正則表達(dá)式就可以把想要的信息從OCR識(shí)別的文本中篩選出來。最后,確認(rèn)好每張截圖里的姓名、檢測(cè)時(shí)間和是否已采樣等信息后,再把所有人的結(jié)果輸出到Excel文件中,方便人工確認(rèn)?!?/span>
3月15日晚,李小康花了一個(gè)多小時(shí)就寫出了初始代碼,共130行,發(fā)現(xiàn)確實(shí)能夠跑通,且運(yùn)行效率很高。利用自己班上的核酸截圖數(shù)據(jù)上進(jìn)行驗(yàn)證后發(fā)現(xiàn),程序不僅準(zhǔn)確率高、運(yùn)行時(shí)間短,80多張圖只用了20多秒就完成了,還發(fā)現(xiàn)了此前人工核查沒有發(fā)現(xiàn)的問題。
三月初以來,復(fù)旦啟動(dòng)了常態(tài)化核酸篩查工作,班級(jí)輔導(dǎo)員必須核查,“不漏一人”。作為生物醫(yī)學(xué)工程專業(yè)博士生,研究方向是醫(yī)學(xué)影像與人工智能,李小康平常會(huì)接觸很多圖像處理方法,他表示,自己開發(fā)這個(gè)程序的初衷是為了減少自己和身邊老師的工作量。
“雖然原理也很簡(jiǎn)單,只要是會(huì)寫代碼的人第一時(shí)間就會(huì)明白是怎么回事,但是不做相關(guān)工作的感受不到這件事情的費(fèi)時(shí)費(fèi)力,自然也不會(huì)想出辦法。我只是用我學(xué)到的知識(shí)解決實(shí)際工作中的困難?!?/span>李小康把這件事發(fā)到朋友圈之后,不少學(xué)工的同事表示很感興趣,他也把代碼分享了出去,讓有需求的老師們都能及時(shí)使用?!耙?yàn)槌绦蚴褂肞ython語言編寫,代碼注釋也寫得很完整,只要會(huì)使用Python,就可以很快上手?!?/span>為了方便不會(huì)編程的老師使用,李小康最后還把程序進(jìn)行了封裝?!按蠹倚枰玫臅r(shí)候,只要在命令行輸入一行代碼就可以運(yùn)行,非常簡(jiǎn)單。”目前,程序已在該學(xué)院開始服務(wù)。李小康曾讓別的老師試用自己的程序進(jìn)行核查。800幅截圖,原來要幾個(gè)人核對(duì)一個(gè)多小時(shí),現(xiàn)在只需等2分鐘就拿到結(jié)果。
網(wǎng)友:這種洞察問題并解決問題的能力和意識(shí)值得肯定在知乎上,不少網(wǎng)友對(duì)此也表示出了相當(dāng)?shù)馁澷p。
比如知乎用戶@AimiBritni就表示,這個(gè)產(chǎn)品本身并沒有特別出彩的地方,但是“這種洞察問題并解決問題的能力和意識(shí)”十分值得我們學(xué)習(xí)。
同時(shí),也有不少網(wǎng)友在這基礎(chǔ)之上,貢獻(xiàn)了自己針對(duì)防疫和抗疫的想法。比如知乎用戶@第一大明白就寫到:如果流調(diào)人員有一個(gè)專業(yè)的應(yīng)用程序,用該應(yīng)用程序掃一下陽性病例的健康碼,便可自動(dòng)識(shí)別陽性病例的個(gè)人信息,與此同時(shí),該程序調(diào)用公安、工信、支付等各系統(tǒng)掌握的有關(guān)陽性病例在各場(chǎng)所行動(dòng)軌跡的數(shù)據(jù),先按照已被各部門掌握的數(shù)據(jù)生成一個(gè)半成品的行動(dòng)軌跡,該軌跡內(nèi)容不為流調(diào)人員所見,之后在應(yīng)用程序前端按照時(shí)間、地點(diǎn)等要素生成表單,流調(diào)人員可以通過詢問陽性病例來填寫大數(shù)據(jù)中沒有的信息,填寫時(shí),地點(diǎn)都自動(dòng)聯(lián)系國(guó)家地名庫中的標(biāo)準(zhǔn)地名,之后一鍵生成初級(jí)流調(diào)信息報(bào)告,流調(diào)人員再通過目前采用的驗(yàn)證方式完成流調(diào)信息的確認(rèn),生成最終的流調(diào)報(bào)告。
https://www.zhihu.com/question/526681561/answer/2431023725
但是在這背后,我們?nèi)匀徊荒芎雎粤艘恍┗镜氖聦?shí)。那就是防疫幾年,核酸數(shù)據(jù)仍然沒有一個(gè)全國(guó)統(tǒng)一公開的API接口,一個(gè)技術(shù)上沒有任何難度的小功能,卻沒有一個(gè)健康碼系統(tǒng)率先開發(fā)并提供。
防疫固然重要,但如何將信息化進(jìn)程與防疫結(jié)合,讓志愿者從事更有意義的工作與服務(wù),也是需要思考的問題。https://mp.weixin.qq.com/s/l8u9JifKDlRDoz32-jZWQg
https://mp.weixin.qq.com/s/RogQcUAsZszW5HkYwYcV-w