借助OCR和正则表达式,复旦博士用130行代码核查核酸报告,800份只需要2分钟!

2022 年 4 月 11 日 大数据文摘

大数据文摘出品

作者:Caleb


上海尚未解封。


4月9日,在上海市疫情防控工作新闻发布会上,上海市副市长、市疫情防控工作领导小组副组长宗明表示,3月1日以来,上海市已持续开展了多轮次核酸筛查或抗原检测。


自4月4日上海宣布进行全员核酸检测以来,截至4月8日24时,累计筛查约9527人次,已完成检测的样本中累计检出阳性感染者9.44万余人。


面对如此数量的核酸报告,人工核查核酸报告费时费力,高压之下些许错误也无法避免,有什么更好的办法吗?


4月7日,根据复旦大学报道,学校信息科学与工程学院博士生李小康使用OCR正则表达式帮助学院几分钟核查完数百人核酸完成截图,大大提高了核查效率和精度。


相关话题在知乎上也引起了众多讨论,该话题已经得到了300多万次浏览。



用OCR和正则表达式“防疫”


首先,我们需要简单介绍一些OCR。


OCR,英文全称Optical Character Recognition,即光学字符识别,也可简单地称为文字识别,这是文字自动输入的一种方法。


OCR主要是通过扫描和摄像等光学输入方式获取纸张上的文字图像信息,利用各种模式识别算法分析文字形态特征可以将票据、报刊、书籍、文稿及其它印刷品转化为图像信息,再利用文字识别技术将图像信息转化为可以使用的计算机输入技术。



李小康表示,“OCR可以把图像中的文字识别出来,转换为文本信息,就方便用来核查了。而且因为核酸截图是打印字体,识别率非常高,几乎可以做到100%准确”。


一张截图中的文本信息很多,包括脱敏处理的姓名、证件类型、证件号码、采样时间、组织机构等内容,但不是所有信息都有用。其中姓名、采样时间、是否已采样最为关键,是需要检索筛选出的内容。



在此基础上,李小康想到了Python语言中的正则表达式。正则表达式使用单个字符串来描述、匹配一系列匹配某个句法规则的字符串,在很多文本编辑器里,正则表达式通常被用来检索、替换那些匹配某个模式的文本。


“使用正则表达式就可以把想要的信息从OCR识别的文本中筛选出来。最后,确认好每张截图里的姓名、检测时间和是否已采样等信息后,再把所有人的结果输出到Excel文件中,方便人工确认。”


3月15日晚,李小康花了一个多小时就写出了初始代码,共130行,发现确实能够跑通,且运行效率很高。利用自己班上的核酸截图数据上进行验证后发现,程序不仅准确率高、运行时间短,80多张图只用了20多秒就完成了,还发现了此前人工核查没有发现的问题。



800张图只要2分钟,程序已封装


三月初以来,复旦启动了常态化核酸筛查工作,班级辅导员必须核查,“不漏一人”。


作为生物医学工程专业博士生,研究方向是医学影像与人工智能李小康平常会接触很多图像处理方法,他表示,自己开发这个程序的初衷是为了减少自己和身边老师的工作量


“虽然原理也很简单,只要是会写代码的人第一时间就会明白是怎么回事,但是不做相关工作的感受不到这件事情的费时费力,自然也不会想出办法。我只是用我学到的知识解决实际工作中的困难。”


李小康把这件事发到朋友圈之后,不少学工的同事表示很感兴趣,他也把代码分享了出去,让有需求的老师们都能及时使用。“因为程序使用Python语言编写,代码注释也写得很完整,只要会使用Python,就可以很快上手


为了方便不会编程的老师使用,李小康最后还把程序进行了封装。“大家需要用的时候,只要在命令行输入一行代码就可以运行,非常简单。”


目前,程序已在该学院开始服务。李小康曾让别的老师试用自己的程序进行核查。800幅截图,原来要几个人核对一个多小时,现在只需等2分钟就拿到结果。



网友:洞察问题并解决问题的能力和意识值得肯定


在知乎上,不少网友对此也表示出了相当的赞赏。


比如知乎用户@AimiBritni就表示,这个产品本身并没有特别出彩的地方,但是“这种洞察问题并解决问题的能力和意识”十分值得我们学习。


同时,也有不少网友在这基础之上,贡献了自己针对防疫和抗疫的想法。比如知乎用户@第一大明白就写到:

如果流调人员有一个专业的应用程序 用该应用程序扫一下阳性病例的健康码,便可自动识别阳性病例的个人信息 ,与此同时, 该程序调用公安、工信、支付等各系统掌握的有关阳性病例在各场所行动轨迹的数据,先按照已被各部门掌 握的数据生成一个半成品的行动轨迹 ,该轨迹内容不为流调人员所见,之后在应用程序前端按照时间、地点等要素生成表单, 流调人员可以通过询问阳性病例来 填写大数据中没有的信息 ,填写时,地点都自动联系国家地名库中的标准地名, 之后一键生成初级流调信息报告,流调人员再通过目前采用的验证方式完成流调信息的确认,生成最终的流调报告。

链接:

https://www.zhihu.com/question/526681561/answer/2431023725


但是在这背后,我们仍然不能忽略了一些基本的事实。那就是防疫几年,核酸数据仍然没有一个全国统一公开的API接口,一个技术上没有任何难度的小功能,却没有一个健康码系统率先开发并提供。


防疫固然重要,但如何将信息化进程与防疫结合,让志愿者从事更有意义的工作与服务,也是需要思考的问题。


相关报道:
https://mp.weixin.qq.com/s/l8u9JifKDlRDoz32-jZWQg
https://mp.weixin.qq.com/s/RogQcUAsZszW5HkYwYcV-w


点「在看」的人都变好看了哦!
登录查看更多
1

相关内容

OCR (Optical Character Recognition,光学字符识别)是指电子设备(例如扫描仪或数码相机)检查纸上打印的字符,通过检测暗、亮的模式确定其形状,然后用字符识别方法将形状翻译成计算机文字的过程;即,针对印刷体字符,采用光学的方式将纸质文档中的文字转换成为黑白点阵的图像文件,并通过识别软件将图像中的文字转换成文本格式,供文字处理软件进一步编辑加工的技术。
【实用书】Python数据分析手册,437页pdf带你实战数据清洗
【中科院自动化所刘成林研究员】跨模态零样本文字识别
【干货书】数据科学家统计实战,附代码与409页pdf
专知会员服务
59+阅读 · 2020年11月6日
【实用书】学习用Python编写代码进行数据分析,103页pdf
专知会员服务
190+阅读 · 2020年6月29日
【IJCAI2020】TransOMCS: 从语言图谱到常识图谱
专知会员服务
34+阅读 · 2020年5月4日
NLP基础任务:文本分类近年发展汇总,68页超详细解析
专知会员服务
57+阅读 · 2020年1月3日
“三行代码,确实需要耗上一整天!”
三年磨一剑——微信OCR图片文字提取
微信AI
0+阅读 · 2021年3月8日
R语言自然语言处理:情感分析
R语言中文社区
16+阅读 · 2019年4月16日
腾讯数平精准推荐 | OCR技术之检测篇
机器学习研究会
13+阅读 · 2018年3月17日
国家自然科学基金
1+阅读 · 2013年12月31日
国家自然科学基金
0+阅读 · 2013年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
2+阅读 · 2012年12月31日
国家自然科学基金
1+阅读 · 2011年12月31日
国家自然科学基金
0+阅读 · 2009年12月31日
国家自然科学基金
0+阅读 · 2009年12月31日
国家自然科学基金
1+阅读 · 2008年12月31日
Arxiv
24+阅读 · 2021年1月25日
VIP会员
相关基金
国家自然科学基金
1+阅读 · 2013年12月31日
国家自然科学基金
0+阅读 · 2013年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
2+阅读 · 2012年12月31日
国家自然科学基金
1+阅读 · 2011年12月31日
国家自然科学基金
0+阅读 · 2009年12月31日
国家自然科学基金
0+阅读 · 2009年12月31日
国家自然科学基金
1+阅读 · 2008年12月31日
Top
微信扫码咨询专知VIP会员