又是IT技能,复旦博士用130行代码完成核酸核查统计

又是IT技能,复旦博士用130行代码完成核酸核查统计,第1张

最近一段时期以来,又一波疫情在席卷全国各地,很多城市开启了常态化核酸筛查工作。这种非常时期,经常会核查核酸报告,如果是少量的人群,或许花费的时间不会长,但是如果是很多人数的话,该怎么核查呢?

比如说当学校的辅导员需要挨个检查学生的核酸完成截图,确保“不漏一人”,在面对几百张重复性高的截图时,稍不留神,就眼花看错看漏了。

为了减轻这种繁琐耗时的工作量,一位来自复旦大学信息科学与工程学院的李小康写出了130行的代码,快速开发出一个小程序,提高了核酸核查的速度和精度,使得原来需要几个人核对一个多小时的800幅截图,现在只需2分钟就能拿到结果!

用所学知识和技能减轻了疫情防控的压力,大大提高了核查的效率和精度,李小康的事迹火上热搜,《人民日报》也为他点赞:“知识就是力量!”

1

800幅截图,1小时到2分钟,一串代码

三月以来,复旦大学启动常态化核酸筛查工作,要求班级辅导员必须核查学生“健康云”核酸完成截图,如果核查发现有人还没参加核酸,就要及时催促其尽快检测。

信息科学与工程学院的李小康,对这项繁琐的日常工作产生了思考和行动。“这个工作听起来好像很简单,但实际做的时候,一个班级的截图可能就需要花上半小时核查,如果是人数多的院系可能需要更久,还可能会看错看漏。”

他认为这件事情单调枯燥又费时,重复性很强,正符合计算机程序的特点,所以就产生了“写一个代码程序用于自动核查核酸完成截图”的想法。

程序一写好,李小康就在自己班级的核酸截图数据上进行验证,准确率果然很高,甚至检测出了之前人工核查没有发现的问题。并且,程序运行时间很短,80多张图只需要20多秒,800幅截图,原来要几个人枯燥核对一个多小时,现在只需等2分钟就拿到结果,大大节约时间和人力!

2

程序原理不复杂,一个多小时跑通代码

说起程序原理,李小康认为并不复杂。由于他长期对代码敏感性,在面对自动核查核酸截图时,李小康第一时间想到了曾经学过的OCR(光学字符识别)技术。

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

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

为此,李小康想到了Python语言中的正则表达式——可以搜索到字符串中的特定模式内容。“使用正则表达式就可以把想要的信息从OCR识别的文本中筛选出来。最后,确认好每张截图里的姓名、检测时间和是否已采样等信息后,再把所有人的结果输出到Excel文件中,方便人工确认。”

经过思考,李小康的程序思路就基本确定为OCR文字识别+正则表达式筛选,并且花了一个多小时就写出了初始代码,共130行,发现确实能够跑通,且运行效率很高。其中也遇到了几个技术难题——OCR技术的实现、学生提交截图类型不统一、截图数量多时的程序等待焦虑等。李小康逐一尝试工具、分析图像特点,寻找到了最佳解决方案。

3

学以致用,是一种幸运

谈及开发程序的初衷,李小康表示自己只是为了减少自己和身边老师的工作量。因为程序是用Python编写的,代码注释也很完整,所以会使用Python的可以很快上手。为了方便不会编程的老师使用,李小康还把程序进行了封装,只需简单输入一行代码就能运行。

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

在各地疫情严峻的时期,减轻抗疫工作者的时间压力,这何尝不是学习者的一种幸运!我们相信知识就是力量,也相信技能会改变生活,当我们真正把知识和技能用在生活中,才会发现自己是最大的受益人。所以趁着年轻,多学习多改变自己,作为企业发展中亟需的专业人才,成为对社会有用的人。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/918835.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-16
下一篇 2022-05-16

发表评论

登录后才能评论

评论列表(0条)

保存