概述
今年的三月份以来,新的一轮疫情在多个城市造成了很大的影响,尤其是深圳、上海、北京等超大城市先后出现大面积疫情。我居住在上海, 和很多同事一样,在经历了疫情初期的慌乱和不安之后,在公司和团队的支持和关心下,一方面竭力照顾自己和家人的生活和健康,确保现有工作不受到很大的影响,同时也在力所能及的范围内参与到志愿者的队伍中去,甚至利用自身掌握的技术创新,为基层社区的工作提供服务和帮助。
在为社区楼道做志愿者期间,我发现尤其是到4月中旬疫情常态化管理以来,几乎每天都会要求小区居民做抗原自我检测,然后楼道组长或志愿者需要收集所有的信息,汇总提交给居委会作为备案。这个工作虽然看起来不复杂,但是很繁琐费时。所以我利用自己掌握的专业能力,基于微软现有的产品,快速设计和搭建了一个解决方案,极大地提高了这项工作的效率。
痛点
为了收集居民们每天的抗原检测信息,包括房号、人数、以及抗原样本照片等,大部分的楼道,都是通过楼道微信群通过接龙的形式来完成的,这样一方面居民群中的消息会非常多,影响了居民本身的沟通,另外就是志愿者进行统计时,需要不断地翻出所有的聊天记录,并且一个一个下载图片核对,然后手工地整理Excel表格。这个工作,以一个楼有100户为例,至少需要一个小时的时间。
解决方案
当这个工作变成常态化之后,而志愿者自身也有家庭和工作需要照顾,如果能为他们节省时间,提高工作的效率和智能化程度就变得有价值了。我利用一个周末的时间,根据以下的原则设计和实现了一套解决方案。
- 用户的输入界面一定要简单,必须要在手机上能完成。
- 输出的结果一定要一步到位,居委会要的是Excel,就输出Excel。
- 在确保输入和输出体验的前提下,尽可能地把志愿者要做的工作降到最低,把图片收集,识别与核对,信息汇总的工作全部交给自动化的流程来做。
- 这个方案要能根据实际情况进行扩展和适配,例如居委会要收集的信息可能会增加,不同抗原试剂的形状是不一样的等等。
- 这个方案尽可能使用微软现有产品和实现,不产生过多的额外成本。
这套方案使用如下图所示的四个微软标准产品和服务实现。只要拥有Microsoft 365 E3或以上授权的用户,都能够在一天左右的时间内搭建出来这套方案。
项目收益
这个方案在4月9日(周六)晚上完成,4月11日正式投入使用。目前在小范围试用,在一个多月的运行期间,经过几次改版,基本能稳定提供服务,目前通过这个方案的使用人次大约4000人次。如果以每天节省2个小时计算,一共节省的时间100小时左右。
解决方案细节
用户提交信息
Microsoft Forms允许用户快速创建表单,它拥有丰富的控件、分支逻辑、多语言和主题支持,简单明快的页面,能自动适应桌面端和移动端浏览器。它也是一个安全合规的服务,包括对于上传文件的权限管理拥有非常好的能力。
自动处理表单数据
用户通过Forms 提交了信息后,接下来就会被Power Automate的一个流程监控到,然后根据我们的逻辑,这里会把志愿者原先要手工做的工作全部自动化,包括对表单中数据的解析,图片的处理,以及通过一个人工智能模型对其进行识别,检测阴性的人数,最后根据不同的数据规则写入到Excel文件中去。
通过人工智能模型自动识别阴性
通过Power Automate 自带的AI Builder 的功能,我们把前期收集到的一部分抗原样本图片导入到模型中去,并且对上面的二维码以及阴性的图案进行标记,然后进行训练定型。通过大约100张图片,没有写一行代码,我们就实现了这样一个计算机视觉的模型,在后期使用中验证得到大约90%的准确率。
自动生成Excel报告
利用Excel Online的强大的多人编辑和协作能力,它可以在居民多人同时提交数据时应对自如,不会出现数据覆盖或错误等问题。
除了记录流水数据之外,我通过简单的几行脚本就从模板文件中自动生成每天的报告。有意思的是,这些脚本是在云端的,由Power Automate直接调用。
总结
生活中会有很多困难的时刻,但是在面对困难时,我们可以有不同的态度和方式。疫情面前也还是一样,我们看到很多无畏的逆行者,很多默默地用自己的行动相互支持的人们。
我们都希望疫情很快能够过去,这个小工具最好没有用武之地。但作为一个技术人员,我很高兴能用自己掌握的知识和能力,做一点力所能及的服务,看到基层工作人员和志愿者脸上的笑容,由衷地感受到科技赋能的价值和意义。
通过这个小小的案例,我们也可以看到,基于微软的Microsoft 365产品,可以利用低代码甚至无代码的方式,快速地搭建出来简单实用的解决方案,如果再搭上了人工智能的翅膀,那么可以想象的空间几乎是无限的。
从技术的层面来说,这个看起来不算很专业的小工具,可能也代表了未来的一种新的趋势,就是:
- 从解决周围现实的问题出发,利用低代码的工具,每个人都可以在很短时间内开发出来自己需要的应用
- 也许低代码可能解决不了所有的问题,某些时候还需要一部分专业代码开发,以及调用云端的人工智能的服务等等。
- 这种混搭也许将成为常态,只不过在不同的项目中,这几个部分占的比重略有不同而已。