第 27 章
灰度决策
俯瞰这座城市,浦东的天际线在十七楼的落地窗前铺展成一片冷硬的轮廓。会议室里,投影仪已经亮了,墙面上铺着一张热力图,红蓝交错的色块像某种医学影像。林砚进来的时候,周秉义坐在长桌的另一端,面前摊着一份文件,手里转着一支签字笔。
“坐。”周秉义抬了抬下巴,笔尖朝对面的椅子点了点。
林砚拉开椅子。桌面光滑得能映出灯管的影子,他的手指按上去,留下几枚模糊的指纹。空调出风口在头顶持续地嗡鸣,那种十七楼特有的低频声,比楼下街道的噪音更让人耳膜发紧。投影仪的热气从机器侧面涌出来,混着新打印文件的油墨味——那种刚拆封的复印纸才有的、略带化学感的味道。
“项目进展我看了。”周秉义把签字笔放下,笔身磕在桌面上,发出清脆的一声。“数据很漂亮。特别是你加入那个——灰度变量之后,预测准确率提升了十一个百分点。”
林砚没有立刻接话。他的目光落在投影画面的右下角,那里标注着数据来源:禾坪村婚姻状况普查(2015)。陈禾的字迹他认得,那些手写的普查表格被扫描录入系统时,边缘的卷角都还留着。
“我们准备把这个模型产品化。”周秉义站起来,走到投影前,手指点在热力图最密集的红色区域上。“你看这里,高离婚风险人群的识别精度已经达到商业可用的水平。如果配合我们的用户付费意愿模型——”
“周总。”林砚打断了他。“这个模型的训练数据,是陈禾在禾坪村做的田野普查。那份普查的目的是为基层婚姻登记制度改革提供依据,不是商业预测。”
周秉义转过身来,脸上挂着一种耐心的、近乎温和的表情。他走回桌边,拿起那份文件,推到林砚面前。
“数据使用协议。法务部拟的,你看一下。”
林砚翻开文件。第一页是标准的授权条款,密密麻麻的宋体字在日光灯下泛着灰。他的视线往下走,在第三页停住了。
“授权范围包括但不限于:将数据用于模型训练、产品开发、商业推广及关联公司的数据产品开发。”
油墨味钻进鼻腔。他翻到第四页,第五页。每翻一页,纸页边缘划过指尖的触感都更涩一些——那是打印纸切割时留下的毛边,整齐但锋利。
“周总,这里写的‘关联公司’,具体指哪些?”
“集团下面的数据服务公司,还有几家控股子公司。”周秉义坐回去,双手交叉放在桌上。“林老师,我们是做企业的。数据放在那里不产生价值,就是沉没成本。你那个普查数据,样本量三千多户,覆盖了不同年龄段、不同务工流向的婚姻状况——这在市场上是稀缺资源。”
“稀缺资源。”林砚重复了这四个字。他的声音很平,像在课堂上复述一个学生的回答。
“你想想。”周秉义身体前倾,签字笔又拿起来了,在指间转了一圈。“现在婚恋市场的痛点是什么?匹配效率低,离婚率高。我们有数据,有算法,有产品能力。这套模型推出去,能帮多少人避免踩坑?”
“帮人避免踩坑。”林砚又说了一遍。他发现自己正在做一件很熟悉的事——把对方的话拆解成命题,然后逐一检验。这是学术训练留下的习惯,但今天这个习惯让他感到一种说不清的疲惫。
“周总,这份数据里有很多案例,当事人并不知道自己的婚姻状况会被用来做商业预测。陈禾做普查的时候,村民填表,是相信这些信息会被用来改善制度,不是被卖。”
“改善制度?”周秉义笑了一声。那笑声很短,从鼻腔里出来,像被什么东西卡了一下。“林老师,你在科研岗位待了这么多年,应该比我清楚——制度改善的速度。你那个报告提交上去多久了?有回音吗?”
林砚的手指停在协议第六页的页脚。那页纸的右下角有一个小小的折痕,大概是复印时留下的,像一道浅浅的疤。他没有回答周秉义的问题。报告提交了三个月,省民政厅的回复是一封格式化的“已收悉,正在研究”。陈禾上周在电话里说,她准备再补充一份数据。
“我给你算笔账。”周秉义把签字笔搁下,笔尖朝林砚的方向。“这个项目如果产品化,第一年的营收预期在两千万左右。你的分成比例是百分之八。合同签三年。林老师,你在社科院一年的课题经费是多少?三十万?五十万?”
空调的风突然大了一档,头顶的嗡鸣声变粗了。林砚把协议合上,手指压在封面上。封面是磨砂质感的铜版纸,指尖按上去有细微的颗粒感。
“周总,我需要问一个问题。”
“你说。”
“这个模型的商业应用场景具体是什么?是给婚恋平台做匹配优化,还是给保险公司做风险评估?”
周秉义看着他,嘴角的弧度没变。“都是。也可能给金融机构做贷前婚姻状况评估。市场在哪里,产品就在哪里。”
“贷前婚姻状况评估。”林砚把这几个字咬得很慢。“用禾坪村那些外出打工、失联多年、事实离婚的案例,去判断一个人的还款能力?”
“数据是客观的。”周秉义说。“客观数据产生客观结论。”
“陈禾在禾坪村待了四十七天。”林砚的声音突然低下来,他自己都没预料到。“她跟着村会计一户一户走,有些人家男人出去十几年没回来,女人在家里照顾老人孩子,地里的活全是她一个人干。陈禾问她们婚姻状况,她们说‘还在’。法律上还在。但事实上——”
他停住了。
“事实上什么?”周秉义问。
林砚看着投影画面上的热力图。红色区域里那些被标注为“极高离婚风险”的婚姻,实际维持年限的中位数是二十三年。这是陈禾的数据,也是他模型里最大的异常值。他花了三个月试图用各种变量解释这个异常——经济依赖、子女牵绊、社会压力——但没有一个变量能完全解释。最后他在模型里加了一个叫“灰度系数”的修正项,把预测准确率拉高了十一个百分点。
但那十一个百分点是怎么来的,他心里清楚。是把那些无法解释的案例压缩成一个统计噪声项,让模型看起来更干净。
“事实上,我的模型解释不了她们为什么不离。”林砚说。
周秉义的表情第一次出现了变化。他的眉毛没动,但签字笔停住了。那种旋转的、带着节奏感的动作消失了,笔身横在桌面上,像一根搁浅的桅杆。
“林老师,你是学者,我是做企业的。学者追求解释,企业追求应用。这两件事不矛盾。”
“矛盾。”林砚说,“如果应用的前提是解释。我的模型解释不了陈禾数据里最核心的那部分——那些不离婚的人到底在靠什么维持。如果我把这个模型产品化,等于告诉用户:你的婚姻稳定性可以被预测。但陈禾的数据恰恰说明——”
他翻开协议,翻到最后一页。那里有一个签名栏,旁边用加粗字体标注着:“本人确认已阅读并理解上述全部条款,同意授权数据用于商业用途。”
“说明什么?”周秉义追问。
“说明婚姻的稳定性,很大程度上取决于婚姻之外的东西。”林砚说。“户口、宅基地、子女上学、老人赡养、打工地的居住成本。这些东西我的模型里全都没有。我把它们打包成一个灰度系数,然后告诉市场这个模型可以预测婚姻——这是学术欺诈。”
会议室安静了。
空调的嗡鸣声变得格外清晰,像一台老式冰箱在厨房角落里独自运转。投影仪的光束里飘着细小的灰尘,在热力图上方缓慢旋转。周秉义靠在椅背上,手指交叉,拇指互相绕了两圈。他盯着林砚看了大概五秒钟,然后拿起签字笔,在协议封面上轻轻敲了两下。
“林老师,我理解你的顾虑。这样,协议你先拿回去,仔细看。我可以让法务部把关联公司那一条的范围缩小,只保留婚恋平台这一个应用场景。”
他把协议推到林砚面前,手指按在封面上,没有松。
“但你得给我一个答复。下周一之前。”
林砚站起来。椅子腿在地板上刮出一声短促的尖响。他拿起协议,纸页在手里沉甸甸的,比看上去要重。走到门口的时候,周秉义的声音从身后传来。
“对了,陈禾那边,你不用担心。她的报告在省厅那边,我会帮她说几句话。”
林砚的手停在门把上。金属的凉意从掌心传上来,带着一丝静电般的刺麻。
“你认识省厅的人?”
“不算认识。”周秉义的声音听起来很轻松。“但企业有企业的渠道。有时候帮人递句话,比走正式流程快。”
门开了。走廊里的灯更亮,白晃晃的,照得协议封面上的磨砂颗粒一粒粒都看得清。林砚走出去,门在身后合上时发出一声沉闷的咔嗒。
走廊尽头的窗户开着一条缝。十一月的风从缝隙里挤进来,带着黄浦江上潮湿的铁锈味。林砚站在窗边,把协议卷起来,又展开。他低头看着封面上的几个字:《数据使用授权协议》。
手机在口袋里震了一下。他掏出来看,是陈禾发来的消息,只有一行字。
“收到调岗通知了。下周去档案室报到。”
他盯着这行字看了很久。屏幕的光在走廊的白墙上投出一小块淡蓝色的影子。
陈禾的调岗通知书是一张A4纸,标准的红头文件格式。
她是在整理离婚档案的时候发现的。那本档案夹里夹着过去三年龙华登记处的所有离婚材料,按日期排列,厚得像一本电话簿。她翻到2015年11月的那一叠,手指碰到一张不属于档案的纸——纸张的克重不一样,更薄,边角也更锋利。抽出来一看,是调岗通知书,落款日期是三天前。
“经研究决定,调任陈禾同志至档案管理科工作,免去其婚姻登记科副科长职务。请于本月底前完成工作交接。”
通知书的右下角盖着区民政局的公章。红色的印泥在纸张纤维上洇开了一点,像一滴血落在宣纸上。陈禾把通知书翻过来,背面是空白的。她又翻回去,重新读了一遍。每个字都认识,组合在一起却让她觉得陌生。
“档案管理科。”她念出声来。声音在空荡荡的办公室里显得很响。
隔壁工位的同事在收拾东西,键盘往抽屉里一塞,保温杯往包里一揣,拉链拉上的声音在安静的办公室里格外刺耳。他经过陈禾身边的时候停了一下,嘴唇动了动,最后只说了句“陈姐,我先走了”。
陈禾点点头。办公室的灯灭了一半,只剩下她头顶这一排还亮着。日光灯管发出细微的电流声,嗡嗡的,像一群困在玻璃罩子里的苍蝇。
她把调岗通知书放在桌面上,用手掌压平。纸张的触感很粗糙,是那种批量采购的廉价复印纸,表面有细小的木纤维凸起。她的手指顺着纸边摩挲过去,摸到一处轻微的折角,来回按了两下。
档案管理科。她在心里把这个词拆开又拼上。档案,管理,科。一个不需要面对任何人的岗位。一个不需要做任何判断的岗位。一个可以把所有材料按编号排列、按日期归档、然后锁进铁皮柜里的岗位。
她拿起手机,翻到林砚的对话框。光标在输入框里闪,她打了几个字又删掉。打了几次,最后只发出去一句话。
“收到调岗通知了。下周去档案室报到。”
发完之后她把手机扣在桌面上。屏幕的光从边缘透出来,在桌面上映出一小片椭圆形的亮斑。她盯着那片亮斑,脑子里突然闪过一个画面——禾坪村那个姓吴的女人,普查表上写着“已婚”,但男人已经十年没回来。陈禾问她为什么不办离婚,她低头搓着围裙边,说“办了,地就没了”。
地就没了。四个字,比调岗通知书上所有字加起来都重。
陈禾站起来,走到文件柜前。柜子最底层那格放着她的笔记本,从入职第一天开始记的,封皮已经磨破了,露出里面灰白色的硬纸板。她把笔记本抽出来,翻到最后一页。上面记着上周从禾坪村回来之后整理的数据:全行政村已婚男性一千二百四十七人,其中配偶长期失联或另组家庭的,三百八十六人。比例是百分之三十点九。
她盯着这个数字看了很久。百分之三十点九。这个数字她报上去了,在报告里写得清清楚楚,附了案例,附了访谈记录,附了每一户的具体情况。然后呢?
然后她收到了调岗通知书。
陈禾把笔记本合上,抱在胸前。硬纸板的棱角抵着锁骨,有一点疼。她走到窗边,外面是错落的办公楼和居民区夜景,高楼的灯一层一层亮着,像无数个排列整齐的单元格。远处的工地还在施工,塔吊的红色指示灯一闪一闪,在夜色里划出规律的弧线。
手机又震了一下。她拿起来看,是林砚的回复。
“电话说。”
陈禾看着这两个字。屏幕的光映在她脸上,把眼角的细纹照得格外清楚。她拨过去,响了一声就接了。
“你看到了?”林砚的声音从听筒里传出来,有些失真,像是从很远的地方传来的。背景里有空调的嗡鸣声,还有某种持续的、低沉的电子噪音。
“看到了。”陈禾说。“你呢?协议签了?”
“没有。”
沉默。听筒里只有电流的沙沙声,像收音机调到空白频段时的底噪。
“周秉义说,他可以帮你在省厅那边递话。”林砚的声音压得很低。
陈禾握着手机的手指收紧了。她走到办公桌前,把调岗通知书拿起来,对着灯光又看了一遍。公章的位置刚好在“免去”两个字上面,红色的印泥压住了黑色的宋体字。
“递什么话?”她问。
“你的报告。他说企业有企业的渠道。”
陈禾把通知书放回桌面。纸张落下去的时候发出很轻的一声响,像一片叶子掉在地上。
“林砚,你信吗?”
电话那头沉默了很长时间。长到陈禾以为信号断了。然后林砚的声音传过来,比刚才更哑了一些。
“我不信。但我不知道还能怎么办。”
陈禾靠着桌沿坐下来。办公椅的轮子在地板上滑动了半寸,发出吱呀一声。她把手机换到另一只耳朵旁边,听筒贴上去的时候感觉到一阵温热——那是刚才通话时捂出来的汗。
“你知道我为什么被调岗吗?”她说。“不是因为报告写得不好。是因为报告写得太好了。数据太清楚了。清楚到有人觉得,这份报告如果继续往上走,会变成麻烦。”
“陈禾——”
“我跟你说,林砚。”她打断他。“我在龙华窗口干了快十年。办过的离婚登记,少说也有几万对。每一对来离婚的,我都问一句‘想好了吗’。你知道我为什么要问这一句?”
“程序要求。”
“程序个屁。”陈禾的声音突然硬起来,带着一种林砚很少听到的锋利。“是因为我想知道,到底有多少人是真的想好了,有多少人只是没别的路走了。我记了十年的笔记本,上面每一页都是答案。三百八十六个事实离婚的案例,只是禾坪村一个村。如果全省普查呢?全国呢?”
她停了一下,吸了口气。办公室的日光灯管又闪了一下,电流声变了调。
“他们把我调到档案室,以为我就看不到这些了。档案室里的离婚档案,比窗口看到的还全。每一份卷宗里都夹着故事,只是没有人去翻。”
听筒里传来林砚翻动纸张的声音,哗啦哗啦的,像在找什么东西。
“你的意思是——”
“我的意思是,我不去档案室。”陈禾说。“调岗通知我收到了,但交接我不会做。普查数据我还有备份,案例库我还能继续更新。他们可以把我从窗口调走,但没法把我从这件事里调走。”
电话那头安静了几秒。然后林砚说了一句话,声音很低,低到几乎被空调的嗡鸣盖过去。
“周秉义让我下周一之前给他答复。签或者不签。”
“你怎么想?”
“我不想签。但如果不签,项目就没了。项目没了,我那些模型、数据、分析框架,全都没了。”
陈禾把手机从耳边拿开了一寸,看着屏幕上跳动的通话计时。数字一秒一秒往上走,像某种倒计时。
“林砚,你那个模型,”她说,“你跟我说实话,它到底能不能用?”
“能。在一定范围内能。”
“什么范围?”
“预测那些——那些原本就会离的婚姻。”
“那那些不会离的呢?”
电话那头又是一阵沉默。陈禾听见林砚的呼吸声,很轻,但带着某种节奏上的犹豫——吸气,停顿,呼气,再停顿。像一台老式打字机在敲打一份写不下去的文件。
“那些不会离的,”林砚终于说,“我的模型解释不了。数据量不够,变量不够,或者说,我一开始就问错了问题。”
陈禾闭上眼睛。眼皮后面是龙华窗口的画面,那些排队的人,那些签字的笔,那些被撕碎又拼起来的结婚证。还有禾坪村那些女人的手,粗糙的、裂着口子的手,在普查表上按下一个个红手印。
“那你打算怎么办?”她问。
“我想把模型的问题公开。”林砚说。“发一篇论文,把算法在‘搭班子婚姻’上的预测失败写清楚。承认这个模型有边界。”
“你知道这意味着什么吗?”
“知道。项目会终止。缘算会解约。我在学术圈的位置可能也保不住。”
陈禾把手机重新贴回耳边。听筒的温度已经和她的耳朵一样了,分不清是谁在暖谁。
“林砚,”她说,“我在窗口的时候,有一对夫妻来办离婚。男的在外面有人了,女的一直知道,忍了八年。办完手续,女的在门口哭了,男的递给她一张纸巾。就一张纸巾。女的不接,男的就把纸巾放在她脚边,走了。女的捡起那张纸巾,揣在口袋里,也走了。”
“你说这个是什么意思?”
“意思是,有些东西是算不出来的。你那个模型再准,也算不出一张纸巾的重量。”
电话里安静了很久。久到陈禾以为林砚挂了。然后她听见他笑了一声,很短,从鼻腔里出来的,像被什么东西卡了一下。
“你说得对。”他说。“我算不出来。”
“那你还要公开?”
“要。”
陈禾把调岗通知书拿起来,折了两折,塞进笔记本的封套里。纸张的边角从封套口露出来一小截,白色的,很扎眼。
“下周一,”她说,“你给周秉义答复的时候,我也在。”
“你在?”
“我去省厅。报告要再交一次,这次我亲自去。”
“你岗位的事——”
“岗位可以再找。数据不能断。”
林砚沉默了几秒。然后他说:“陈禾,我们是不是又走到一起了?”
陈禾看着窗外。塔吊的红色指示灯还在闪,一下,一下,像某种缓慢的心跳。她把笔记本抱在怀里,硬纸板的棱角又抵住了锁骨。
“我们从来就没分开过。”她说。“只是各走各的路,现在路又碰上了。”
电话那头传来一声很轻的响动,像是林砚把手机换了一边耳朵。然后他说:“下周一,我给周秉义答复。不管结果怎么样,我给你打电话。”
“好。”
“你那边,省厅如果——”
“我知道。”陈禾说。“你管你的算法。我管我的数据。”
挂断之后,陈禾把手机放在桌上。屏幕暗下去,办公室里只剩下日光灯管的白光和窗外塔吊的红光。她翻开笔记本,在最后一页的空白处写了一行字:第27周,调岗通知,不服从。
字迹很潦草,圆珠笔的油墨在纸面上洇开了一点。她把笔记本合上,封套里那张调岗通知书的边角还露在外面,像一道没愈合的口子。
林砚回到实验室的时候已经过了十点。
整层楼只剩下走廊尽头安全出口的绿色指示灯还亮着,那种幽暗的、持续的光芒从门缝里渗进来,在地板上投出一条狭长的光带。他推开实验室的门,主机风扇的低鸣声立刻涌出来,像一群困在铁盒子里的蜜蜂。屏幕还亮着,上面是他离开前跑的那组模型——预测准确率百分之八十三点七,比上一版高了两个点。
他把协议放在键盘旁边。铜版纸的封面在屏幕蓝光下泛着冷色,磨砂颗粒一颗颗都看得清。旁边是陈禾的普查笔记,翻开的那一页上记着禾坪村吴姓妇女的案例:丈夫外出务工十年未归,每月汇款五百元,婚姻状态“已婚”,实际独居。
他坐下来。椅子的气压杆发出一声闷响。他打开模型后台,把“灰度系数”这一项调出来。这是一个复合变量,由十七个子变量加权而成,其中包括经济依赖度、子女年龄结构、户籍所在地、双方务工距离、亲属网络密度。每个子变量的权重都是他用数据拟合出来的,拟合优度零点九一。
但他知道,这个零点九一没有意义。因为“灰度系数”本身就是一个黑箱。他把所有无法解释的异常值都塞进去,然后用一个统计学的魔法让它们消失。模型变得更准了,但变得更准的原因,恰恰是因为它把最真实的那部分数据变成了噪声。
他打开陈禾的笔记,翻到最后一页。三百八十六个事实离婚案例。每一个案例都有名字,有年龄,有外出务工的年份,有配偶和子女的状况。这些数据在他的模型里只占一个变量——婚姻状态——而且被简化成了两个值:已婚,未婚。
他想起周秉义的话:数据是客观的。客观数据产生客观结论。
但陈禾的数据不是客观的。那些名字、那些年份、那些汇款记录、那些留在村里的女人和孩子——它们是一堆具体的人,具体的日子,具体的等待和具体的放弃。他把它们压缩成二进制,然后告诉自己这就是科学。
主机风扇的声音突然变大了,大概是某个后台进程在跑。林砚把协议翻开,翻到最后一页。签名栏空着,旁边的加粗字体像一道栅栏。他的手指在签名栏上方停了一会儿,然后合上协议,把它推到桌子另一头。
他拿起手机,给周秉义发了一条消息。
“周总,协议我不签了。模型的事,我会在论文里写清楚。”
发完之后他把手机扣在桌面上。和几个小时前陈禾办公室里那片亮斑,大概是一样的形状。
他靠在椅背上,看着天花板。日光灯管有一根坏了,在角落里一闪一闪的,像某种频率不规则的信号。主机风扇还在转,空调出风口还在嗡鸣,安全出口的绿光还在门缝里渗进来。
他想起陈禾在电话里说的那句话:有些东西是算不出来的。
他打开一个新文档,在第一行打了一行字:《婚姻稳定预测算法的边界:基于禾坪村普查数据的反思》。光标在标题后面闪,一下,一下,像某种缓慢的心跳。
他开始打字。
第二天早上八点四十,林砚被一条微信消息震醒。他昨晚在实验室趴着睡着了,右脸压出一片红印,脖子僵得转不过去。手机屏幕上是周秉义的回复,凌晨两点十七分发的,只有四个字:“当面谈。九点。”后面跟了一个定位,是周秉义公司的新地址,CBD某栋写字楼的二十七层。
林砚盯着那四个字看了很久。光标在对话框里闪,他想打点什么,又觉得打什么都不合适。最后他只回了一个“好”。发完之后他才注意到手机右上角的信号格旁边,有一个未接来电的图标。陈禾,昨晚十一点四十七分。他拨回去,响了两声,被按掉了。过了十几秒,一条消息弹出来:“在开会。晚点说。”
他锁了屏。实验室的日光灯管还在闪,和昨晚一样。主机风扇的声音比夜里小了一些,说明后台进程跑完了。他站起来,颈椎发出一声脆响,然后走到洗手间用冷水洗了把脸。镜子里的自己眼袋浮肿,嘴唇干得起皮,白大褂领口有一小块咖啡渍,不知道是什么时候沾上的。
九点差五分,他到了那栋写字楼。前台核实身份之后让他去左手边的会议室。走廊铺着灰色地毯,踩上去几乎没有声音。会议室的门虚掩着,他推门进去的时候,投影仪已经亮了,幕布上是一个他从未见过的界面——左侧是用户画像标签,右侧是匹配成功率曲线,中间一行加粗标题:“情感基础型婚姻稳定性评估模型(商业版V2.0)”。
周秉义坐在长桌的另一头,面前摊着一份文件。他比上次见面瘦了一些,下颌线条更明显,衬衫袖口挽到小臂中段,露出一块价格不菲的表。旁边坐着一个戴金丝眼镜的男人,四十岁上下,正在笔记本电脑上敲字,听见门响也没抬头。
“坐。”周秉义抬了抬下巴,示意林砚坐在他对面。
林砚拉开椅子。椅腿在地毯上发出沉闷的摩擦声。投影仪散出的热气正好对着他的位置,额头上很快沁出一层薄汗。
“这是法务部的赵总。”周秉义介绍了一句,没等林砚回应就切入正题,“你昨晚发的消息我看了。协议的事先放一放,有个新情况。”他朝赵总点了点头。赵总把笔记本电脑转过来,屏幕上是一份数据合作框架协议,密密麻麻的条款下面,附着一张商业模型流程图。
“简单说,”周秉义往椅背上一靠,双手交叉放在腹部,“公司要上市了。投资人希望看到我们的数据来源有学术背书。你的禾坪村普查数据,加上我们现有的用户行为数据,训练出来的模型在内部测试里表现非常好。V2.0版本的匹配准确率比V1.0提升了十四个百分点。”
林砚看着那张流程图。禾坪村的数据被标注为“训练集A”,用户行为数据标注为“训练集B”,两者汇入一个叫“融合层”的模块,输出端连接着“婚姻稳定性评分”和“推荐匹配度”。他注意到“事实离婚”这个字段被重新命名为“历史状态异常”,权重系数是负的零点七三。
“这个系数是谁定的?”他问。
赵总终于抬起头,推了推眼镜:“模型团队根据市场反馈调的。用户不希望看到‘离异’标签出现在匹配结果里,所以我们把相关特征的权重做了平滑处理。”
“平滑处理。”林砚重复了一遍这个词。他想起陈禾给他看过的那些档案——那些丈夫在外地“失联”七八年的女人,她们的婚姻状态在民政局系统里依然是“已婚”,在算法公司的模型里变成了“历史状态异常”,权重负零点七三。换句话说,系统会主动降低这些人的匹配优先级。她们被算法划掉了。
“本质上,”林砚开口,声音比他预想的要稳,“这些数据反映的是制度失效,不是个体缺陷。把它们拿来训练商业模型,相当于用病人的X光片去推销保健品。”
赵总微微皱了皱眉,看向周秉义。周秉义倒是不以为意,笑了一下:“林砚,你这话就矫情了。所有数据都是这样用的。电商用消费记录预测购买力,保险公司用体检报告定价保费,本质上都是把人的行为量化。你做的学术研究,不也是量化吗?”
空调出风口的冷气正对着林砚的后颈吹。他后背一阵发凉,但额头还在冒汗。投影仪的光束里浮动着细小的尘埃,每一粒都清晰可见。
“不一样。”他说,“我的研究是把数据当作理解问题的工具。你们的模型是把数据当作定价工具。前者是为了看见,后者是为了筛选。”
周秉义的笑容收了起来。他身体前倾,双手撑在桌面上,声音压低了一些:“林砚,我跟你交个底。这个模型已经进入内测阶段了,投资方那边催得很紧。你的名字和你的研究,是这份商业计划书里最值钱的部分。协议你可以不签,但数据的使用权你已经通过之前的合作协议授权给公司了。法务上我们站得住脚。”
林砚翻开面前那份协议。他翻得很快,但每一页的条款都像针尖一样扎进他的眼睛。第4.2条:乙方授权甲方将合作期间产生的所有数据用于模型训练及商业开发。第7.8条:乙方同意甲方对原始数据进行脱敏、清洗及特征工程处理。第11.3条:本协议自双方签字之日起生效,有效期五年。
他把协议合上,推到桌子中央。
“我不签新的协议。但我想知道一件事。”他看着周秉义,“你们打算怎么用这个模型?”
周秉义和赵总交换了一个眼神。赵总把电脑屏幕转回去,敲了几下键盘,投影上的界面切换了。新的一页是一份产品路线图,从“婚姻稳定性评估”出发,向外延伸出“婚前风险评估”“离婚倾向预警”“再婚匹配优化”三条产品线,最下面一行小字写着“目标客群:25-45岁城市中产,年收入20万以上”。
“我们的目标是,”周秉义的声音恢复了那种平稳的、不带感情的语调,“让婚姻匹配这件事变得可计算、可预测、可优化。就像信用评分一样。你不需要理解一个人,你只需要看他的分数。”
林砚盯着那行小字。城市中产,年收入二十万以上。禾坪村的那些人不在目标客群里。他们的数据被用来训练模型,但他们永远不会是模型的用户。他们的婚姻是训练集里的噪声,是“历史状态异常”,是需要被平滑掉的负权重。
“你们有没有想过,”林砚说,声音很轻,“那些被你们标记为‘历史状态异常’的人,她们可能根本不知道自己的婚姻状态被这样用了。她们的名字、她们的等待、她们的放弃,变成了一个负零点七三。”
会议室安静了几秒。空调的嗡鸣声突然变得很响。赵总合上电脑,站起来,看了周秉义一眼,然后对林砚说:“林博士,我建议你回去再考虑一下。商业合作是双向选择,但数据授权是有法律效力的。”他推开会议室的门走了出去,门在身后无声地合拢。
周秉义没有动。他坐在那里,看着林砚,表情说不上是失望还是别的什么。
“你变了。”周秉义说,“去年你跟我谈这个项目的时候,你说算法可以帮人做更好的选择。现在你告诉我算法不能做什么。你到底站哪边?”
林砚站起来。椅子腿在地毯上又发出一声沉闷的摩擦。他走到门口,手放在把手上,停了一下。
“我站数据那边。”他说,“数据本身没有立场。用数据的人有。”
他拉开门走了出去。走廊里铺着灰色地毯,踩上去还是没有声音。电梯间的落地窗外是这座城市的天际线,玻璃幕墙反射着上午的阳光,亮得刺眼。他站在电梯口,看着楼层数字一格一格地跳。
手机震了一下。陈禾的消息:“开完会了。你那边怎么样?”
他打了三个字:“见面说。”发完之后又补了一句:“我去找你。”
陈禾回得很快:“我在办公室。今天窗口没人,整个大厅就我自己。”
他盯着那条消息看了一会儿。整层楼只有他一个人站在电梯间。电梯到了,门打开,里面空荡荡的,不锈钢壁面映出他模糊的轮廓。他走进去,按了一楼。
从写字楼到民政局坐地铁要四十分钟。他换乘了两次,在车厢里一直站着,手抓着吊环,身体随着列车晃动。旁边的座位上有人在看短视频,外放的声音很大,是一个情感博主在讲“如何判断对方是否适合结婚”,评论区刷得飞快。林砚别过头,看着车窗外的隧道壁面飞速后退,黑色的电缆线在灯光里一段一段地闪。
出地铁站的时候是十一点出头。民政局门口的梧桐树叶子黄了一半,风一吹就簌簌地往下掉。他推开玻璃门走进去,大厅里果然空荡荡的。三个窗口只开了一个,陈禾坐在那个窗口后面,面前摊着一摞文件,手边放着一个已经凉了的纸杯,杯壁上凝着水珠。
她抬头看见他,没说话,只是朝旁边的椅子抬了抬下巴。林砚走过去坐下。窗口的台面是米白色的,边缘有一道细长的划痕,从左边一直延伸到右边。他盯着那道划痕看了一会儿。
“你先说还是我先说?”陈禾开口,声音比电话里沙哑一些。
“你先。”
陈禾从文件下面抽出一张纸,推到他面前。是调岗通知书,抬头印着民政局的红头,内容很简短:经研究决定,调任陈禾同志至档案管理科工作,不再负责婚姻登记窗口业务及改革试点相关工作。落款日期是昨天。下面有一行手写批注:“请于本周内完成交接。”
林砚把通知书拿起来。纸张比普通打印纸厚一些,边缘有些毛糙,像是从一整本里撕下来的。他翻到背面,背面是空白的,但在右下角有一小块淡黄色的水渍,可能是茶杯留下的。
“深层原因呢?”他问。
陈禾把那杯凉水端起来喝了一口,放下的时候杯底在桌面上磕出一声脆响。“报告交上去之后,省厅那边没有直接回应。但是我们处长老周找我谈话了,说改革试点方向不明确,数据基础不扎实,需要重新评估。然后第二天我就收到了这个。”她用指尖点了点那张通知书,“档案管理科。连电脑都没有配全,全是纸质档案。我去了就是每天翻故纸堆。”
“你打算怎么办?”
陈禾把通知书收回去,折了两折,塞进文件堆里。她抬起头看着林砚,眼睛里有血丝,但目光很直。“我不去。我准备把普查数据重新整理一遍,做成更完整的报告,直接递省厅。绕开处里。”
林砚注意到她说话的时候,右手一直按在那摞文件上,指节微微发白。窗口上方的日光灯管发出细微的电流声,和实验室那根坏掉的灯管频率不太一样,更细,更密。
“数据困境呢?”他问,“你之前说普查数据不完整,很多家庭的情况只能靠推测。”
陈禾沉默了一会儿。她拉开抽屉,从里面拿出一个牛皮纸笔记本,翻开到某一页。上面是她手写的记录,字迹很小,行距很密。她指着其中一段:“这户,丈夫在东莞打工,七年没回来,但每个月给家里打两千块。妻子说‘他还知道打钱,就算没离’。这种怎么归类?法律上是已婚,经济上是分居,情感上是空白。我的分类表里没有这一栏。”
她又翻了一页:“这户更麻烦。丈夫在县城另组了家庭,生了孩子,但没办离婚手续。原配知道,也不闹,因为‘闹了也没用,他每个月给大儿子寄学费’。这种在系统里是已婚,在事实上是重婚,在村里人的观念里是‘各过各的’。”
她把笔记本合上,手掌压在上面。“我提交的报告里把这些都写了。但处里说这些是个案,不能代表整体。他们要我删掉,只保留统计口径内的数据。”
林砚看着那个牛皮纸笔记本。封面已经磨得起毛了,边角卷曲,上面用圆珠笔写着“禾坪村·2023”。他想起自己昨晚在实验室里面对的那台主机——那些数据被压缩成二进制之后,这些“个案”就消失了。它们变成了训练集里的噪声,被平滑处理,被负零点七三。
“我拒绝签署数据商业化协议了。”他说。
陈禾看着他,没接话。
“但数据的使用权之前已经授权了。法务上他们站得住脚。”他继续说,声音很平,像在陈述一个实验结论,“我阻止不了他们把数据用在商业模型上。我唯一能做的是在论文里写清楚边界条件,把‘事实离婚’这些字段的原始含义保留下来。”
“写了有用吗?”陈禾问。
“不知道。”林砚说。他低下头,看着台面上那道划痕。“但如果不写,那些数据就真的变成负零点七三了。”
陈禾没再追问。她站起来,走到窗口旁边的文件柜前,拉开最下面一层抽屉。里面整整齐齐码着十几个牛皮纸档案盒,盒脊上贴着标签,写着不同的村名。她抽出“禾坪村”那一盒,放在台面上。
“这是原始问卷和访谈记录。我复印了一份留底。”她把盒子推向林砚,“你拿去吧。论文里用得上。”
林砚接过档案盒。盒子比预想的沉,里面的纸张厚实、粗糙,带着一股旧纸和墨水的味道,还有一丝若有若无的樟脑味。他打开盒盖看了一眼,最上面是一张手绘的村庄地图,用铅笔标注了每一户的位置和编号。地图边缘有陈禾的批注,字迹潦草,有些地方被反复涂改过。
“你呢?”他问,“档案管理科那边怎么交代?”
陈禾把抽屉推回去,金属滑轨发出一声尖锐的摩擦。“我请了三天病假。三天之内把新报告写完。”她停顿了一下,“如果不行,再说。”
林砚把档案盒抱在怀里。盒子边缘硌着他的小臂,有点疼。他站起来,准备走,又停住了。
“陈禾。”
“嗯?”
“你之前说,有些东西是算不出来的。”他看着她,“我现在信了。”
陈禾没有笑,也没有点头。她只是把台面上那杯凉水端起来,走到窗边的饮水机前倒掉,接了杯热的。热气从杯口升起来,模糊了她的半张脸。
“晚上我给你打电话。”她说,“你把论文框架发我看看。数据怎么用,我们得对一下口径。”
林砚点了点头。他抱着档案盒走出民政局大厅。外面的风比早上大了,梧桐叶在地上打着旋。他站在台阶上,掏出手机看了一眼时间——十一点五十三分。周秉义没有发新消息。那条“当面谈。九点。”还停在对话框里,像一枚已经失效的坐标。
他走下台阶,往地铁站的方向走。档案盒在怀里,沉甸甸的,随着他的步伐轻轻晃动。盒子里的纸张发出细碎的沙沙声,像某种频率不规则的信号。
走到地铁口的时候,他停下来,回头看了一眼民政局的大门。玻璃门反射着正午的阳光,白晃晃的,看不清里面。他想起陈禾站在饮水机前的样子——热气模糊了她的脸,但她的声音很清楚:晚上我给你打电话。
他把档案盒换到另一只手臂上,走下地铁站的台阶。扶梯向下运行,城市的声响被逐渐隔绝,只剩下机械运转的低频嗡鸣。他低头看着怀里那个牛皮纸盒,盒盖上“禾坪村·2023”的字样在日光灯下显得格外清晰。
电梯到了站台层。他走进车厢,找了个角落的位置坐下,把档案盒放在膝盖上。列车启动,窗外的广告牌开始飞速后退。他打开盒盖,抽出最上面那张手绘地图。铅笔线条已经有些模糊了,但每一户的编号还能辨认。在村子的最东边,有一个用红笔圈出来的标记,旁边写着“陈禾注:这户情况特殊,需单独访谈”。
他合上盒盖,靠在椅背上。车厢里的广播报着下一站的名字,声音被隧道里的回声拉长,变得含混不清。他闭上眼睛,手指按在档案盒的边缘,感受着那层厚纸板的粗糙纹理。
广播报的是“鼓楼大街”,离学校还有四站。他本该坐到终点,但膝盖上的档案盒压得他大腿发麻。他站起来,把盒子夹在腋下,走出车厢。站台上人不多,一个穿校服的女孩靠在柱子上刷手机,屏幕光映在她脸上,蓝莹莹的。
他找了个长椅坐下,重新打开盒盖。那张手绘地图上,红笔圈出的标记旁边还有一行更小的字,铅笔写的,笔迹和陈禾的一样——“赵德贵,68岁,妻在深圳带孙,三年未归。本人称‘各过各的’。”
“各过各的。”
他把这四个字念出声,声音在空旷的站台里散开。赵德贵。档案里应该有他的访谈记录。他翻到对应的页码,陈禾的字迹密而小,记着对方原话:“她带孙子,我种地,过年回来住几天,平时各管各。离什么婚?离了地谁种?”
他合上档案。地铁隧道里吹来的风带着铁锈和橡胶摩擦的气味,凉飕飕地贴在后颈上。手机震了一下,是邮件提醒。他点开,发件人是“数衡科技·战略合作部”,标题写着“婚姻预测模型商业化方案——第二次沟通会”。
他盯着“第二次”三个字看了两秒。第一次沟通会他缺席了,借口是学校有课。实际上他坐在办公室里,对着屏幕上那份商业计划书发了四十分钟呆。计划书第三页有一张图表,把“婚姻稳定性预测”包装成“家庭金融风险评估”的核心模块,目标客户是银行和保险公司。
他把手机锁屏,塞进口袋。站台顶灯发出持续的、低沉的嗡鸣,像某种大型设备的底噪。他忽然想起陈禾在禾坪村拍的那张照片——村口小卖部的墙上贴着一张褪色的婚姻登记宣传画,画上两个穿西装婚纱的卡通人像,底下印着“依法登记,幸福一生”。照片右下角,一个真实的、佝偻的背影正走出画面。
他站起来,把档案盒重新夹好,往出口走。扶梯向上,城市的声响一层层压下来——车流、人声、施工电钻的间歇性尖啸。
出站后他没有直接回学校,拐进了路边一家便利店。他买了一瓶水,站在店门口的台阶上喝。下午四点的阳光斜着打过来,把对面写字楼的玻璃幕墙照成一片金白。他低头看手机,翻到和陈禾的微信对话框。上一条消息还是三天前,她发来一张截图:省民政厅的收文回执,编号和日期清清楚楚。他回了一个“收到”,她没再说话。
他打了一行字:“你那份报告,厅里有没有反馈?”
发出去之后他把手机翻了个面,扣在掌心。屏幕震动的时候他几乎同时就翻了过来。陈禾回得很快:“有。电话通知,让我下周去省厅做一次专题汇报。”
“好事。”
“不一定。”隔了几秒,又来一条,“刚接到我们局里的通知,让我下周起去档案科报到。说是‘轮岗交流’。”
他盯着“轮岗交流”四个字。档案科。民政局最边缘的科室,管的是几十年前的纸质档案,和窗口业务完全脱钩。
“你答应了?”
“还没。通知在我桌上,我看了三遍。”
他站在便利店门口,阳光从侧面照过来,手机屏幕反光,他不得不用另一只手遮着。一个外卖骑手从他身边跑过,带起一阵风,塑料袋窸窸窣窣地响。
他打字:“晚上给你打电话。”
“好。”
他把手机揣起来,往学校方向走。经过校门时保安跟他点了点头,他没什么反应,径直穿过主干道,绕过图书馆,进了社会学系那栋老楼。走廊里日光灯管有一根在闪,发出断续的电流声。他推开实验室的门,里面空着,仪器面板上的指示灯亮着几点微弱的绿光。
他坐到工位前,打开电脑。桌面上那个文档还在——《婚姻稳定预测算法的边界:基于禾坪村普查数据的反思》。他敲了几下键盘,光标移到“结论”那一节。他写了一段,删掉。又写了一段,又删掉。最后他把整节内容清空,只留下一句话:
“当模型预测的准确率越高,它对现实的解释力反而越弱——因为被排除在模型之外的‘不可预测者’,恰恰是婚姻存续中最具决定性的变量。”
他盯着这句话看了很久。屏幕的光映在眼镜片上,白晃晃的两个点。
手机响了。是陈禾。
他接起来。听筒里先传来一阵纸张翻动的窸窣声,然后是她的声音,比平时低一些:“你那边方便说话吗?”
“方便。实验室就我一个。”
“我跟你说,今天下午我把调岗通知看了第五遍的时候,突然想明白一件事。”她顿了一下,“他们让我去档案科,是因为我那份报告里写了——‘建议将事实婚姻状态纳入登记系统动态评估’。这句话触到了某个东西。”
“什么东西?”
“责任。”她的声音很平,“如果登记系统承认‘事实婚姻’也需要评估和干预,那就要有人去干预。谁去?怎么干预?出了问题谁负责?他们不想碰这个。”
林砚握着手机,拇指无意识地摩挲着手机壳边缘的毛刺。实验室角落那台服务器发出持续的低频嗡鸣,和地铁站台的声音很像。
“我今天也收到了一封邮件。”他说,“数衡科技要我把普查数据接入他们的商业模型。他们说,只要我签一份数据使用协议。”
“你签了吗?”
“没有。”
电话那头安静了几秒。然后陈禾说:“你为什么不签?”
“因为……”他靠在椅背上,天花板上的灯管闪了一下,“因为他们的模型里,赵德贵这种案例会被归类为‘低风险稳定婚姻’。配偶长期不在身边,但没有离婚记录,没有冲突数据,系统会给他打一个高分。这个分数会被卖给银行,用来评估他能不能贷款。但他实际上是一个人在种六亩地,晚上回到空房子里自己做饭。”
他说完这些,发现自己声音有点哑。
陈禾没接话。听筒里只有电流的底噪。
过了一会儿她说:“我今天整理档案的时候,翻到一份1998年的结婚登记。男方签名那一栏,是别人代签的。女方按了个手印。备注栏写着‘男方在外打工,无法到场’。”
“然后呢?”
“然后他们就这样过了二十多年。去年男方回来办了离婚。理由是‘性格不合’。”她停了一下,“那张登记表上,两个人的照片都是后来补拍的,背景是照相馆的蓝布。”
林砚闭上眼睛。实验室里那几点指示灯在黑暗中格外清晰,像某种仪器的休眠状态。
“陈禾。”
“嗯。”
“我那个模型,可能从根上就错了。”
电话那头安静了很长时间。长到他以为信号断了。然后他听见她吸了一口气,声音很轻:“你终于说了。”
“嗯。”
“我也做了一个决定。”她说,“明天我把调岗通知退回去。不签字。然后重新写一份试点方案,把档案科也纳入改革范围——他们不是让我去管档案吗?那我就从档案开始。”
他听见她那边有椅子挪动的声音,然后是脚步声,像是走到了窗边。
“你那边天黑了没有?”她问。
他转头看窗外。校园里的路灯刚亮,昏黄的光晕罩着梧桐树冠。
“黑了。”
“我这边也黑了。”她说,“林砚,我们两个现在都在做一件可能没有结果的事。”
“我知道。”
“但我觉得这样比之前好。”
他握着手机,没说话。窗外有学生骑着自行车经过,车铃响了两声,清脆地划破傍晚的安静。他听见陈禾那边也有类似的声音,远远的,可能是楼下街道的车流。
“那就这样。”她说,“你写你的,我写我的。写完互相看。”
“好。”
电话挂断后,他把手机放在桌上。屏幕暗下去之前,他看见通话时长:四分十七秒。他重新打开那个文档,光标还在那句话后面闪烁。他按了一下回车,开始写下一段。
光标在“边界”两个字后面停住。林砚盯着屏幕,手指悬在键盘上。实验室的空调管道里传来低沉的震动声,像某种大型机械在墙壁深处呼吸。他删掉刚打的一行字,又重新打了一遍。还是不对。
他拿起手机,翻到下午的通话记录。陈禾的号码在列表最上面,通话时长四分十七秒。他盯了几秒,按了拨号。
响到第三声她才接。
“你还没睡。”她那边有纸张翻动的声音,哗啦哗啦,像在整理什么东西。
“你也没睡。”
“我在分类。”她说,“普查数据。按年龄、婚龄、外出务工时长,分了十七个维度。你那边呢?”
“在写。”他把椅子往后推了推,滑轮碾过地砖,发出干涩的摩擦声,“写到边界那一段,卡住了。”
“卡在哪儿?”
他张了张嘴,不知道怎么描述。光标在屏幕上闪。窗外有夜风灌进半开的窗缝,吹得桌角一叠打印纸翻起又落下。
“我原来以为,”他说,“模型的问题在于变量不够。把收入、教育、地域、家庭结构都加进去,就能逼近真实。但今天下午,公司那边给我看了一个商业方案。”
“他们要什么?”
“把普查数据接进他们的预测系统。用户填完个人资料,模型直接输出离婚概率。卖给保险公司,卖给婚介平台,卖给——”
“卖给想查未来老婆底细的人。”她替他说完。