其他
腾讯天衍实验室郑冶枫:AI抗疫的核心技术复盘丨公开课回顾
过去两个月,作为国内互联网行业第一梯队,腾讯在抗击疫情中付出了诸多努力。
数据层最重要是数据来源,依托互联网信息,用爬虫技术爬取,当然我们也有医疗知识库,对这些信息校对。第一个版本上线,我们覆盖率并不高,可能只覆盖到50%的问题,所以我们会每天分析日志数据,找到里面高频、没有很好回答的问题进行补充;在技术层,我们用爬虫技术、数据库技术、人工智能技术;在功能层;辅用我们以前做的工作,包括拼写纠错、意图识别等;在应用层,就是展现给用户能看到的体验,包括问答系统、个性化推荐系统等。
第一个版本上线,很多热点问题没有覆盖到,后续设置了热点问题挖掘模块,发现新问题没有回答就用搜索引擎搜索,自动从网上找到答案,这些答案可能来源参差不齐,我们会做一个质量评估区分,是来源于权威网站还是来历不明网站,只采用权威网站信息,格式可能跟我们不太一样,需要做人工改写。所有改写完的问答,都会找中华预防医学会专家做人工校对,确保无误以后入库。
用户甚至可以制定意图,比如他想知道所有跟口罩相关的科普知识,我们会通过意图分析,把数据库里信息做分类处理,把口罩相关信息推送给用户,让用户自由阅览。
甚至还做了一个接入指南,帮助他们去更快速地接入,可以把我们的工具嵌入到他们的小程序里,做智能问答;也开放给行业合作伙伴,有30多家行业合作伙伴最终接入了我们的系统。患者小区查询严格意义上这是患者踪迹查询,有些地方会公布患者踪迹,去过哪些餐馆,哪些公开场所,只要这些信息权威来源公布,我们就会纳入查询范围。
因为我们平台触及用户比较多,展现也比较灵活,所以可以更方便把不同来源的信息,包括是官网、微信公众号、微博信息集成起来,在一个平台上集中展现。信息可以展现在地图上,用户实时交互,得到比较好的用户体验,我们最终覆盖城市232个,城市覆盖率超过70%。覆盖小区数目超过8000个。
第一个难点:信息滞后。最笨的方法是人工直接寻找信息,做一次就上线,可这个方法最大问题是源于信息更新,因为疫情高峰时期,每天都会有新的小区出现,有信息更改,所以希望越自动化越好。我们是采用自动定时爬取的方法,每天爬取2到3次,对爬取的信息用自然语言理解模型,提取小区名字、信息发布来源、信息发布时间等信息;提取出信息以后,跟数据库里已有信息做比对去重,比如小区不同名称,最后,所有数据都要做人工校验确保来源准确。第二个难点:信息来源欠缺权威性。我们的受众比较广,能力越大责任就越大,所以当时设计产品的时候,最重要的考虑就是数据来源必须官方渠道。所以我们就开创性地提出,一种正向反向溯源方法提高数据质量,因为开始冷启动的时候,没有权威信息来源列表,最开始的爬虫方法信息质量没有保证,所以一旦提取到小区发现确诊病例,就会用这个小区名字反向搜索,可能出现几十个信息来源,最后去定位最权威来源(一般来源于官方的发布)。找到权威来源之后,我们才把信息放到工具上,没找到就放在内部数据库不会上线。发现权威来源以后,不在我们的白名单里,我们会把这些来源加入到我们白名单。第三个难点:小区信息未关联具体地址或地理坐标。一般官方发布都只给小区名字,很难做交互,体验也不好,所以我们跟腾讯地图合作,他们开放API给我们,拿小区名字去搜索,然后得到经纬度,名称也做归一化。名称归一化很重要,官方发布的小区名字和腾讯地图直接做匹配,30%小区不能匹配,我们花了很多功夫做人工审核、做数据清洗保证数据准确性。
首先新冠肺炎是新疾病,对医生来说,特别是初级医生,都没见过这种疾病,准确诊断是很大的挑战。早期阶段表征是磨玻璃状,背景对比度不够强,此外磨玻璃本身就存在同状异病的情况,诊断准确率会受影响。对于武汉一线医生,做CT检查人特别多,工作量特别大,每天都是超负荷工作,一个薄层CT扫描会产生300张左右的影像,肉眼阅读可能需要5到15分钟,对医生来说确实需要一个能够帮助提高诊断准确率,加快阅片速度的助手。对AI算法来说,也是非常巨大的挑战,因为疫情爆发初期,很难获得大量数据。我们第一个版本只用一周时间就要开发、迭代,最终落地。还有标注的问题,因为前线医生都非常忙,我们不想打扰前线医生抗疫工作,也不可能让前线医生给我们标很多数据。 但好在我们团队过去两年一直关注小样本学习问题,最终用自研小样本学习技术,在数据量不是特别大情况得到比较满意的准确率。
前期主要是捐献给广东医疗队,当他们到需要到武汉去,帮助前线抗疫。所以对这些医生来说,他们就像个战士,走的时候必须有武器,没有CT扫描仪,就没法做很多检查,所以我们捐赠了6台设备。
第1个版本时,时间非常紧,只有一周时间,因为第1台捐赠CT发车时间是2020年2月16号,我们拿到数据已经是2月初,后面还要跟CT厂家联调,留给算法开发的时间只有一个星期,当时也是顶着压力让同事们一起加班加点,最后顺利的完成任务。我们分类任务是进行一个三分类,输入一个CT图像以后,首先分析是不是肺炎,因为也可能是肺结节、其他肺部疾病、正常无疾病。确定是肺炎之后,还需要区分是病毒性肺炎(新冠肺炎),还是其他肺炎(细菌引起抗细菌引起感染引起的肺炎)。第2个版本我们又加了肺炎区域分割,可以统计病灶数目、病灶体积、病灶占肺部区域的百分比等,后面又加了肺叶定位和随访功能。
第一种,传统传染病动力学模型,这个方法对参数非常敏感,非常难调,因为参数一改变它结果就出现很大差异,特别是R0参数(病毒基本传播数),表示平均下来一个病人会传染多少正常的人; 第二种是机器学习模型,纯数据驱动,这种方法的问题是数据训练量比较少,做复杂的模型很有点难度。