第六十章
临床应用的第一步是试点。方教授在北大六院的门诊部腾了一间小办公室,摆了两台电脑,连上医院的挂号系统。陈默坐在那间办公室里,看着屏幕上实时跳动的挂号信息——每一个患者挂完号,系统会在后台自动调取该患者的就诊历史,用算法跑一遍,如果有风险,就弹出一条提示,不显示分数,不显示诊断,只显示一句话:“建议精神科进一步评估”。
第一周,弹了四十多条。精神科反馈回来:二十三个人确实达到了抑郁症诊断标准,其中五个是重度,有自伤倾向。五个人被及时收治入院。
第二周,弹了五十多条。精神科的反馈里多了一句话:“能不能让全院的科室都接这个系统?”
三个月后,方教授把试点报告递到了国家精神卫生项目办公室。封面上还是印着那行字——《中国抑郁症流行病学调查及早期筛查体系可行性研究》。但这一次,在报告的最后一页,附上了一组来自试点医院的数据:抑郁症早期识别率提高47%,自杀干预率提高32%。
开会那天陈默没去。他觉得自己不需要去,他只是写了代码。但方教授在台上做汇报的时候,特意放了一张幻灯片——不是曲线图,不是表格,是一张照片。照片上是陈默坐在那间小办公室里的背影:军大衣裹着肩膀,屏幕上的代码密密麻麻,窗外是天光微亮的清晨。照片是方教授偷拍的,像素很低,光线也不好,但那个背影很安静,很稳。
后来那个算法被纳入了国家精神卫生综合管理试点项目,开始在更多的医院铺开。陈默没有申请专利,没有收一分钱授权费。他把代码开源了,放在网上,任何人都可以下载,任何人都可以修改。他想起了五台山大殿里跪在蒲团上发过的愿。那句话他从没对任何人说过,但他记得很清楚——“还完之后,我用这辈子剩下的时间做一件事。写能帮到别人的代码。”
他没有等到还完之后再开始。他已经开始了。
2011年冬天,陈默在回龙观那间三十平米的毛坯房里,打开了他那台旧笔记本电脑。那是公司倒闭后赵磊从办公室废墟里给他抢出来的唯一一件值钱东西,外壳上有一道裂痕,屏幕转轴松了,打开的时候要用一只手扶着,不然屏幕会往后仰倒,像一个颈椎受伤的病人。开机密码还是原来的,他输了三次才输对——不是忘了,是手指在抖,屋里太冷,水泥地面渗上来的寒气从脚底板一路往上爬,爬到指尖就变成了僵。
方教授给他的数据装在一个移动硬盘里,硬盘是黑色的,巴掌大,上面贴着一张标签,油墨被摩擦得有些模糊。他把硬盘插上,USB接口接触不良,插了三次电脑才认出来。数据量比他想象的大——几十万条记录,每一条都是一份完整的抑郁症流行病学调查问卷,几百个字段,从基本信息到症状量表,从家族病史到生活事件,密密麻麻的数字像一片无声的海洋。他粗粗扫了一眼,发现很多字段是空的,有些量表填了一半就中断了,还有些记录里夹着调查员手写的备注,扫描成歪歪扭扭的图片格式,备注里写着“受访者拒绝回答”、“受访者当场哭泣”、“受访者要求中断调查”。
他盯着“受访者当场哭泣”这几个字,看了很久。
赵磊来了。他还是穿着那件黑色T恤,胸口的PHP标语已经彻底洗没了,只剩一片灰白。他站在毛坯房门口,手里拎着两袋速冻饺子,一袋猪肉白菜的,一袋韭菜鸡蛋的。他把饺子往灶台上一搁,然后走到陈默身后,弯腰看屏幕上那些密密麻麻的数据。看了大概十分钟,他说了一句话:“量表不干净。很多噪声数据。先得洗。”
韩鹏也来了。他骑了一个半小时的电动车从昌平赶过来,棉大衣外面套着一件反光背心,背心上印着“代驾”两个字——他现在晚上跑代驾,白天在一家快递分拨中心做系统维护。他把头盔摘下来,头发被压得贴在头皮上,油乎乎的。他看了一眼屏幕,挠了挠头,又挠了挠,然后说:“这个……是不是要先做个特征工程?”
杜川是最后一个来的。他瘦了很多,眼镜片更厚了,镜框用透明胶带缠着左边那条腿,胶带头翘起来一小截。他进来的时候手里拿着一份打印出来的论文,纸张被翻得起了皱。他把论文往桌上一放,说:“我研究过了。这个方向,全球都还在探索阶段。没有成熟方案。我们要做,就得从头来。”
四个人,一台旧电脑,一个接触不良的移动硬盘,一间三十平米的毛坯房。窗外是回龙观灰蒙蒙的天,北京冬天的风从钢窗的缝隙里灌进来,吹得桌上那些纸张哗哗响。
陈默把那份抑郁症筛查量表的打印版铺在折叠桌上,量表很长,PHQ-9,九个问题,从“做事时提不起劲或没有兴趣”到“有不如死掉或用某种方式伤害自己的念头”。每个问题后面有四个选项,从“完全没有”到“几乎每天”。他反复看了几遍,然后抬头看赵磊。
“这个量表,每个人填的时候,答案的分布模式可能比单个答案更重要。但如果只靠量表,很多人会撒谎。”
“为什么撒谎?”
“因为病耻感。”沈禾的声音从身后传来。
她一直在角落里,坐在那张晃腿的折叠椅上,腿上摊着那本《了凡四训》。她抬起头,眼睛从书页上移开,看着他们。
“抑郁症患者最大的障碍不是情绪低落,是病耻感。他们觉得自己不应该这样,觉得说出去会被当成矫情、脆弱、扛不住事。所以在自评量表里,他们会下意识地往轻了填。尤其是那些最需要帮助的人——他们往往填得最‘正常’。”
她站起来,走到陈默旁边,弯腰看着屏幕上那几十万条数据。她的手指在触摸板上滑动,光标在密密麻麻的数字间穿梭,最后停在一个字段上:语言特征。那些调查问卷里有开放式问题,受访者被要求描述最近一周的感受。有人写“还行”,有人写“就那样”,有人写了一大段,字迹潦草,但每一句都在说“我不知道自己怎么了”。
“别只看量表。”沈禾说,“看他们说的话。一个人怎么说自己,比怎么填表更真实。用自然语言处理。”
陈默转头看着她。她的脸在屏幕的蓝光里半明半暗,眼睛下面有青色的阴影——那是长期失眠留下的痕迹。但她的眼神很专注,和当年在大学图书馆暖气片前看专业书时一模一样。
“你不是学心理的吗?”赵磊问,“怎么还懂自然语言处理?”
“我不懂。”沈禾把头发别到耳后,露出一截苍白的耳廓,“但我知道病人在医生面前会撒谎。这是心理学第一课。”
那天晚上,陈默在毛坯房的折叠桌上铺开了一张大白纸,用圆珠笔在上面画架构图。纸是从儿子用过的草稿纸背面翻出来的,上面还残留着铅笔写的乘法口诀。他画了一个圈,圈里写着“多模态数据融合”——量表特征、语言特征、行为特征、生理特征,四条线汇聚到中心。然后在旁边又画了一个圈,写“早期风险预警模型”,打了个问号,又从问号上引出一条线,指向第三个圈:“干预推送系统”。
赵磊趴在旁边看,时不时伸手在纸上画一道线,把两个模块连起来。他的手指上有洗不掉的墨粉渍,指甲缝里黑乎乎的。韩鹏坐在墙角,把移动硬盘插到自己带来的旧笔记本上,开始写数据清洗脚本。他的键盘声不快,但很有节奏,嗒嗒嗒嗒,像一台老式缝纫机。杜川靠在水泥墙上,把那篇英文论文翻得哗哗响,嘴里念念有词,偶尔冒出一句“CNN可能比SVM效果好”,然后自己跟自己辩论半天。
凌晨两点,韩鹏忽然从屏幕前抬起头。“陈哥。”
“嗯?”
“我跑了一下数据。这几年的量表里,有一部分是重复测量的——同一批人,隔了半年、一年再测一次。有些人第一次测的时候分数很低,完全正常,第二次测的时候突然飙到重度了。”
他把屏幕转过来,上面是一条曲线,横轴是时间,纵轴是抑郁评分。一条蓝色的线在某个时间点之前几乎贴在底部,然后突然陡直上升,像一道被折断的抛物线。
“这不是渐变。”韩鹏说,声音有点发干,“是断崖。从正常到重度,往往只隔几个月。这几个月的窗口期——如果抓不住,人就掉下去了。”
所有人都盯着那条线。折叠桌上的台灯闪了一下,灯泡发出细微的滋滋声。窗外有夜行的卡车经过,远光灯扫过钢窗,在水泥墙上投下一道飞快移动的亮斑,像一道无声的闪电。
“就抓这几个月。”陈默说。他把白纸翻到背面,画了一个放大的时间线,在“窗口期”三个字上重重地圈了一个圈。“在断崖之前把人拦住。”