第 23 章
数据风暴
陈禾把手机推过来的时候,屏幕亮着,上面是一张照片。
凌晨三点十七分。民政局门口的台阶上坐了七个人,裹着羽绒服,有的靠着墙,有的抱着胳膊。路灯把他们的影子拉得又长又淡,像用橡皮擦反复擦过的铅笔痕。最前面那个女人手里攥着一个透明文件袋,里面装着户口本、结婚证、两张身份证复印件,还有一份手写的离婚协议。她身后那个男人蹲在台阶上抽烟,烟头的光在黑暗里一明一灭,照出他半张脸上没什么表情。
“这是去年十一月拍的,”陈禾的声音从电话那头传过来,带着一种被熬夜磨平了的沙哑,“禾坪村那批普查数据里,有一对夫妻就在这张照片里。男的叫周大勇,女的叫刘小梅。普查表上填的是‘已婚’,但周大勇实际已经三年没回过家了。刘小梅在镇上超市打工,跟另一个男人住在一起。两个人谁也没提离婚。那张结婚证锁在抽屉里,跟户口本放在一起,压在一沓缴费单下面。”
林砚盯着那张照片。照片右下角有一行很小的水印时间戳,2023.11.17 03:17。他的目光在那行数字上停了两秒,然后移开。
“你凌晨三点发这个给我,就是为了说这个?”
“我在整理普查数据。已经连续四天没在两点前睡过觉了。”陈禾那边传来纸张翻动的窸窣声,还有键盘敲击的声音,断断续续的,“禾坪村四百六十七户,已婚男性三百一十二人。配偶长期失联、未归、或已在外地另组家庭的——我按标准逐户核实的——九十八人。百分之三十一点四。”
百分之三十一点四。林砚在心里把这个数字过了一遍。将近三分之一。他的第一反应是数据采集是否可靠,样本是否有偏,核实标准是否统一。这些念头几乎是自动跳出来的,像某种条件反射。他张了张嘴,想说“你这个口径可能需要再确认一下”,但电话那头传来陈禾翻动笔记本的声音,很响,啪地一声,像在提醒他什么。
“我知道你想说什么,”陈禾说,“你想说这个数字需要交叉验证。我用三种方式验证过了。普查员入户核实,村干部交叉比对,再加上我在镇上派出所调的外出务工登记记录。三个来源对得上。九十八个人,每一个都有名有姓。你要不要我给你念几个?”
“不用。”
“周大勇,四十二岁,在东莞一家电子厂。刘小梅,三十九岁,在镇上的超市。两个人有一个儿子,十四岁,跟着爷爷奶奶。周大勇每年春节回来三天,住在老屋,刘小梅住在镇上,两个人不见面。儿子上次见父亲是去年八月,周大勇给他转了五百块钱学费,在微信上,没有语音,没有视频,就一个转账记录。你知不知道这个孩子跟我说什么?他说,‘我爸跟我妈没离婚,他们只是不在一起住了。’”
林砚沉默着。手机贴在耳朵上,听筒里除了陈禾的声音,还有她那边空调外机的低频嗡鸣,和他自己这边办公室空调出风口的白噪音。两个声音叠在一起,像某种不和谐的合奏。
“你把数据发给我。”他说。
“已经发了。还有一份是禾坪村所在乡镇的整体数据,覆盖六个行政村。你打开邮箱。”
林砚把手机从耳边拿下来,点开邮箱。最新的那封邮件来自陈禾,发送时间凌晨两点四十一分。附件有两个,一个Excel表格,一个PDF扫描件。他点开Excel,屏幕一下子被密密麻麻的行列填满。第一列是户主姓名,第二列是配偶姓名,第三列是婚姻登记日期,第四列是“婚姻状态”,下面用不同颜色标注了“正常”“失联”“另组家庭”“分居未离”。黄色、橙色、红色,三种颜色在屏幕上铺开,像某种正在蔓延的皮肤病变。
他的目光在那些颜色上掠过,然后落在第五列:“子女情况”。有几行填着“无”,有几行填着“一子/一女”,还有几行填着“二子,均随祖父母生活”。第六列是“备注”,有些格子是空的,有些写着“男方在东莞”“女方在深圳龙华”“双方无联系,婚姻证由男方保管”“女方已与他人同居三年,未办离婚”。
林砚滚动鼠标,一页一页往下翻。表格很长,他翻了十几页还没有到底。那些名字在他眼前掠过,像流水线上经过的零件,每一个都带着一串数字和状态标签。他的大脑自动开始归类、统计、寻找模式。颜色分布有明显的规律——红色集中在几个特定的自然村,黄色则更均匀地散布。他想,这跟当地的经济结构有关,那几个红色集中的村子,可能外出务工的比例更高。
“你在看表格。”陈禾说。这不是一个问句。
“嗯。”
“你看到什么了?”
“颜色分布有规律。”林砚说,“红色集中的几个村,我猜是人均耕地更少、外出务工比例更高的地方。你备注里写的‘东莞’‘深圳龙华’‘惠州’,这几个地方是主要流向。从时间上看,2015年之后登记结婚的,出现‘失联’或‘另组家庭’的比例明显高于之前。”
电话那头安静了几秒。然后陈禾说:“你果然在看颜色。”
“什么意思?”
“没什么。”陈禾的声音里有一种很淡的东西,林砚分不清是疲惫还是失望,“你继续看。我把笔记本里的案例整理了一部分,在PDF里。”
林砚点开PDF。第一页是一张手写表格的扫描件,字迹是陈禾的,有些潦草,有些工整,看得出来是在不同时间和状态下记录的。表格上方用红笔写了一行字:“禾坪村婚姻状态普查·案例摘要”。下面分了几个条目,每一条都配着一段简短的手写笔记。
第一条:周大勇、刘小梅。登记日期2008年3月12日。婚房由男方父母出资建于村东,砖混结构,三间。男方外出务工,女方在镇上超市工作,与另一男性同居。双方均未提出离婚。女方原话:“办了证也没用,他不管我,我也不管他,离不离都一样。”男方原话(电话采访):“离了婚孩子归谁?归她她养不起,归我我养不了。就这样吧。”
第二条:李福来、张秀云。登记日期1995年7月8日。男方在深圳龙华一家电子厂工作,2018年起与另一女性同居。女方留在村里照顾公婆和两个孩子。女方原话:“他每年寄钱回来,够用。离了婚,公婆谁管?孩子谁管?他在外面有人,我知道。但我在村里,有房子住,有地种,离了婚我什么都没有。”男方原话(电话采访):“回去离一趟太麻烦,请假扣钱,来回车费。再说,她也没提。”
第三条:王建军、赵小燕。登记日期2012年11月20日。双方均在东莞务工,分居不同镇区。女方与他人同居两年,男方知情。男方原话:“离不离有什么区别?反正也不在一起过。”女方原话(电话采访):“他不同意离,说要离就得给他五万。我拿不出。”
林砚一条一条往下看。笔记本的扫描件一共十七页,记录了四十三个案例。每一个案例都配着同样的结构:登记信息、现状描述、双方原话。那些原话被陈禾用引号原样记录下来,有些是方言口语,有些带着明显的情绪,但大部分都平得像一张纸。最常出现的词是“没用”“一样”“就这样”“太麻烦”。
他翻到最后一页。最后一页只有一行字,没有表格,没有案例,就孤零零地写在页面中央,字迹比前面的都要用力,笔尖几乎划破了纸:“他们不是不想离,是离不起。”
林砚盯着那行字。屏幕的冷光映在他脸上,办公室的空调出风口还在响,他伸手去拿桌上的咖啡杯,杯壁是凉的,里面的咖啡早就喝完了,杯底留着一圈深褐色的渍痕。他抿了一口,酸涩的味道在舌根散开。
“数据我收到了。”他说,“我需要跑一下模型。”
“什么模型?”
“我之前构建的那个婚姻稳定性预测模型。用你的普查数据做输入,看看能不能识别出一些结构性变量。”
“林砚。”
“嗯?”
“你打算用我的数据,跑你的算法。”
“对。这样可以验证模型的预测能力,也能从数据里找出更深层的模式。”
电话那头又安静了。这次安静的时间更长,林砚能听见陈禾的呼吸声,不太平稳,像是在克制什么。然后她说:“你跑吧。跑完了告诉我结果。”
“可能需要几个小时。”
“我今晚不睡。”
“陈禾——”
“我说了我今晚不睡。”她的声音突然硬了一下,像一根绷紧的弦被拨动,“你把结果发给我。不管是什么结果。”
电话挂断了。林砚听着听筒里短促的忙音,把手机放在桌上。屏幕还亮着,邮箱里那封邮件静静地躺在收件箱最上方。他看了一眼时间,凌晨两点五十三分。
他把咖啡杯推到一边,打开电脑上的模型程序。这是一个他花了将近两年时间搭建的预测框架,核心逻辑是把婚姻稳定性拆解为若干个可量化的变量——经济依存度、地理距离、社会网络重叠度、情感交流频率、子女抚养负担、制度约束强度。每个变量都有权重,权重来自他之前对三千多份问卷的回归分析。模型的输出是一个概率值,从0到1,越接近1表示婚姻越稳定。
他把陈禾的Excel表格导入模型。数据清洗花了将近一个小时——有些字段格式不统一,有些备注信息需要手动编码,有些案例的婚姻状态需要重新归类。他一边处理数据一边在心里默算:四百六十七户,有效样本四百零三户,已婚男性三百一十二人,其中“事实离婚”状态九十八人。他把这九十八人单独标记出来,作为因变量。
然后他运行了模型。
屏幕上跳出一串数字。他先看的是整体预测准确率:百分之七十八点三。还可以,不算高但也不低。然后他看变量权重排序。排在第一的是“地理距离”,权重零点二九。第二是“经济依存度”,零点二五。第三是“子女抚养负担”,零点一八。第四是“社会网络重叠度”,零点一二。第五是“情感交流频率”,零点零七。第六是“制度约束强度”,零点零三。
制度约束强度的权重只有零点零三。他盯着这个数字看了很久。在他的模型里,制度约束强度代表的是婚姻登记的法律效力、离婚程序的复杂程度、以及社会舆论对离婚的压力。这个变量的权重低,意味着在预测这段婚姻是否稳定时,制度因素几乎不起作用。起决定作用的是地理距离和经济依存度——两个人离得越远、经济上越不依赖对方,婚姻就越不稳定。
他继续看模型的分类结果。在九十八个“事实离婚”案例中,模型正确识别了八十七个,准确率百分之八十八点八。在三百零五个“正常”婚姻中,模型正确识别了二百二十七个,准确率百分之七十四点四。模型把七十八个“正常”婚姻错误预测为“不稳定”。他点开这七十八个案例的详情,发现大部分都是“夫妻双方均在家务农”或“夫妻在同一个镇打工”的类型。地理距离近,经济依存度高,但在模型里仍然被标记为“高风险”。
他翻看这些案例的备注。有一个案例写着:“男方在村里开小卖部,女方在家种地带孩子。两个人每天见面,但男方酗酒,经常打女方。女方不敢离婚,因为没有经济来源。”另一个写着:“夫妻都在镇上工厂上班,同进同出。但男方有赌博习惯,欠了十几万外债。女方想离,男方不同意。”
林砚靠在椅背上,盯着屏幕上那些被错误分类的案例。他的模型把“地理距离近、经济依存度高”等同于“稳定”,但事实是,有些婚姻之所以没有破裂,只是因为女方没有能力离开。那些“正常”的标签下面,藏着另一种意义上的“事实离婚”——人还在,但关系已经死了。
他拿起手机,想给陈禾发消息,但打了几行字又删掉了。他不知道该怎么用一条微信说清楚这件事。他放下手机,重新看向屏幕。模型还有一个功能是预测未来趋势。他把时间变量加进去,让模型基于过去五年的数据预测未来三年的婚姻状态变化。
运行结果出来了。屏幕上出现了一条曲线。横轴是时间,从2020年到2027年。纵轴是“事实离婚率”。曲线从2020年的百分之十八开始,缓慢上升,到2023年达到百分之二十四,然后有一个明显的加速,到2025年预测值百分之三十一,2027年预测值百分之三十九。曲线在2025年附近有一个拐点,之后越陡。模型在拐点处自动标注了一行小字:“制度适配性危机阈值。”
林砚看着那条曲线。百分之三十九。如果模型的预测是对的,三年后禾坪村将近四成的已婚男性将处于事实离婚状态。而制度对此几乎没有任何回应——离婚程序没有简化,婚姻登记没有弹性,法律上这些人仍然是“已婚”,但实际生活中,那张结婚证已经变成了一张废纸。
他截了图,连同模型输出的详细报告一起,发给了陈禾。
发完之后他靠在椅背上,闭上眼睛。办公室里很安静,只有空调出风口的白噪音。他想起陈禾笔记本最后一页的那行字——“他们不是不想离,是离不起。”他的模型里没有“离不起”这个变量。他的模型里有经济依存度,但经济依存度衡量的是“婚姻内经济互助的程度”,而不是“离婚的经济成本”。这是两个完全不同的东西。
他睁开眼睛,重新看向那张预测曲线。百分之三十九。这个数字在他的脑子里转了一圈,然后他想到另一个问题:如果这个趋势继续下去,十年后呢?十五年后呢?他的模型只预测了三年,因为再往后的数据波动太大,置信区间会宽到没有意义。但他可以想象那条曲线的走向。继续上升,然后趋于某个高位平衡——在那个平衡点上,制度上的“已婚”和事实上的“离婚”将成为两个互不相干的平行系统。
手机震了一下。陈禾的回复,只有两个字:“收到。”
然后是第二条:“我在看。”
第三条:“你跑出来的这个曲线,跟我笔记本里那些人的脸对得上。”
林砚盯着“对得上”三个字。他打字回复:“模型的制度约束强度权重只有0.03。在预测婚姻稳定性时,制度因素几乎不起作用。”
陈禾的回复来得很快:“我知道。我在窗口坐了十一年,我早就知道了。”
“但你的普查数据证明了这一点。这是第一次有大规模数据支撑。”
“然后呢?”
然后呢。林砚看着这两个字,一时不知道该怎么回答。然后什么?然后他可以把这篇论文发出去,然后学术界会讨论,然后也许会有政策层面的关注,然后——然后什么?他想起那张凌晨三点排队的照片,想起周大勇和刘小梅,想起那个说“我爸跟我妈没离婚,他们只是不在一起住了”的十四岁男孩。数据可以证明问题的存在,但数据本身不解决问题。
他打字:“我需要再想想。”
陈禾没有再回复。
林砚把手机放在桌上,屏幕暗了下去。他看向窗外,深圳的夜色被远处的写字楼灯光切成一块一块的,有些亮有些暗。他想起陈禾那边——她应该也在看窗外,但她看到的夜色跟他的不一样。她看到的可能是禾坪村方向的黑,或者龙华城中村上空被路灯染成橙色的云。他们看到的确实不是同一个世界。但那张预测曲线,那个百分之三十九的数字,是他们共同看到的。
他把模型报告重新打开,在文档末尾加了一行备注:“制度约束强度权重过低(0.03),提示现行婚姻制度在事实层面已丧失对婚姻稳定性的调节功能。建议后续研究引入‘制度有效性’变量,重新校准模型。”
写完这行字,他盯着“制度有效性”四个字看了很久。这是一个他之前从未认真考虑过的维度。在他的框架里,制度是给定的背景条件,不是变量。但现在数据告诉他,制度本身已经变成了一个问题。
他把文档保存,关掉电脑。屏幕暗下去的一瞬间,办公室陷入完全的黑暗,只有空调出风口的指示灯还亮着一个微弱的绿点。他坐在黑暗里,手放在键盘上,指尖还能感觉到刚才敲击的余温。那张凌晨三点排队的照片又浮现在他眼前——七个人坐在台阶上,等着一个他们可能根本拿不到的结果。而他的模型预测,三年后会有更多的人排在那条队伍里。
他拿起手机,翻到陈禾的对话框。最后一条消息还是他发的“我需要再想想”。他打了几个字,又删掉。反复了三次,最后他锁了屏,把手机装进口袋,站起来走到窗边。
窗外的深圳还在运转。远处的地铁高架桥上有一列末班车正在驶过,车厢里的灯连成一条移动的光带,很快消失在楼群后面。他想起陈禾说过的话——“你算的是概率,我数的是人。”他刚才跑出来的那条曲线,每一个百分点后面都是几十个、上百个具体的人。周大勇、刘小梅、李福来、张秀云、王建军、赵小燕。那些名字在Excel表格里只是行号,但在陈禾的笔记本里,每一个都带着原话,带着表情,带着某种被生活磨平了的、说不清是麻木还是坚韧的东西。
他的手机又震了一下。陈禾发来一张照片。他点开。是那本笔记本的封面——深蓝色的硬壳封面,边角磨得发白,封面上贴着一张已经褪色的标签,上面用圆珠笔写着“2014-2024”。照片的边缘能看到陈禾的手指,指甲剪得很短,指腹上有薄茧。她把笔记本翻到某一页,拍了下来。
照片里,陈禾的笔记写道:“今天窗口来了一对老夫妻,结婚三十四年,来办离婚。老太太说,他这辈子没跟我说过一句‘我爱你’。老头在旁边坐着,不说话。我给他们办完了手续,老太太走到门口又回来,问我能不能把结婚证还给她。我说可以。她把那张纸拿在手里看了很久,然后折好放进包里,说‘留个念想’。老头在门口等她,两个人一起走了。我不知道他们为什么要离,也不知道他们为什么还要一起走。”
林砚看着这段话。屏幕的光映在他脸上,他能感觉到自己眼眶周围有一点点热,很轻微,像是被什么很细的东西刺了一下。他眨了眨眼,把那点热压下去。
他打字:“你拍这个给我看,是想说什么?”
陈禾的回复过了将近一分钟才来:“没什么。就是想让你看看,你的算法里有没有这个。”
“有没有什么?”
“有没有一个变量,能衡量一张纸在一个人手里攥了三十四年之后的分量。”
林砚盯着这句话。他的模型里没有这个变量。他的模型里只有地理距离、经济依存度、子女抚养负担、社会网络重叠度、情感交流频率、制度约束强度。没有“一张纸攥了三十四年的分量”。这个东西没法量化,没法编码,没法放进回归方程。
他打字:“没有。”
“我知道没有。”陈禾回复,“但你能不能想办法加上去?”
林砚看着“加上去”三个字。他抬起头,看向窗外的夜色。远处有一栋楼的灯还亮着,是附近一家互联网公司的办公楼,凌晨三点还有人进进出出。他想,如果那个楼里有人正在写代码,他们的代码里有没有“一张纸攥了三十四年的分量”?大概也没有。但陈禾问的是“能不能加上去”。这是一个关于可能性而非现实性的问题。
他低头打字:“我需要想想怎么加。”
“好。”陈禾回复,“想好了告诉我。我这边天快亮了,我得眯一会儿。”
“你睡吧。”
“嗯。”
对话停在这里。林砚看着对话框里最后那个“嗯”字,光标在输入框里闪。他又打了一行字:“陈禾。”但想了想,删掉了。他把手机放在窗台上,额头抵着冰凉的玻璃。外面开始起风了,远处那栋楼的灯光在风里微微晃动。
他回到办公桌前,重新打开电脑。屏幕亮起来,Excel表格和预测曲线重新出现在眼前。他把陈禾笔记本最后那页的照片拖到屏幕中央,跟预测曲线并排放着。左边是百分之三十九的预测值,右边是“一张纸攥了三十四年的分量”。两个东西在同一块屏幕上,互不相让地各自亮着。
他打开模型程序,在变量列表最下方新建了一行。光标在那里闪。他打了几个字:“制度情感权重。”然后删掉。又打:“婚姻仪式感。”又删掉。最后他打了一个词:“灰度。”然后停在那里,手指悬在键盘上方,没有继续。
窗外,深圳的天际线在凌晨的黑暗里慢慢透出一点灰。
他把手机翻过来扣在桌面上,屏幕的光在指缝间漏了一瞬就灭了。深圳的天已经灰得能看见对面楼顶的轮廓,空调出风口吹出的气流带着一种干燥的凉意,吹得他后颈发紧。
“灰度”这个词留在变量列表的最后一栏里,光标还在闪。
林砚盯着那个词看了很久。灰度,本质上是把二元判断展开成连续谱——婚姻不是“存续”或“破裂”两个值,中间有无数种状态。但陈禾的数据不是灰度,是黑白分明的一刀切:三分之一。每三个留守丈夫里就有一个,妻子已经不在这个户口本上了。
他把手机又翻过来。陈禾最后那条消息还停在屏幕上,那个“嗯”字像一颗钉子钉在对话框底部。他打了一行字:“你普查里的案例,能发我看看吗?我要做参数校准。”
发出去之后他看了一眼时间,凌晨四点四十七分。陈禾那边天快亮了,她说要眯一会儿。他以为她不会回。
两分钟后,手机震了。
不是文字。是一张截图。微信对话框里,陈禾发来一张手机截屏——某县民政局婚姻登记预约系统的页面,离婚预约一栏,从下周一排到下下周五,全满。每一个时间段后面都标着“已约满”三个红字。截图最上方有一行小字:“当前预约人数:247人。可预约名额:0。”
第二张截图紧跟着来了。是同一个系统的结婚登记页面,下周的预约名额还有大量空余,灰色按钮显示“可预约”。两个页面并排放着,像两排牙齿,一排咬紧了,一排松着。
林砚把两张截图拖进文件夹,命名为“婚姻登记预约对比_禾坪县”。然后他打字:“收到。还有别的吗?”
“有。你等一下。”
他站起来去接了杯水。饮水机发出咕噜咕噜的声响,在空旷的办公室里格外清晰。他端着杯子走回来的时候,手机屏幕上已经多了一串图片消息。
第一张是一份手写的表格照片。陈禾的字他认得,横平竖直,像刻钢板。表格分三列:姓名、年龄、婚姻状态、备注。前几行他扫了一眼——男,四十七岁,已婚,配偶失联六年,另组家庭;男,五十二岁,已婚,配偶外出务工未归,独自抚养两子女;男,三十九岁,已婚,配偶在东莞再婚,未办离婚手续……
备注栏里陈禾用红笔圈了几个词:“事实离婚”“未解除法律婚姻”“子女由男方抚养”。
第二张是打印出来的统计表。标题是“禾坪村婚姻状况普查汇总(初步)”。林砚放大图片,看着那些数字:全村已婚男性二百一十三人,其中配偶长期失联或另组家庭的,七十一人。比例:百分之三十三点三。
三分之一。
他把手机放下,盯着屏幕上那两张并排的截图。离婚预约爆满,结婚预约空置。一边是进不去的门,一边是出不来的门。
他打开电脑上的模型。这套算法最初的设计目的是预测婚姻稳定性——输入一对夫妻的若干特征变量,输出一个概率值。但现在他要做的事不一样了。他把陈禾的普查数据导入,把“事实离婚”作为一个状态标签,让模型去识别哪些变量组合会导致这个状态。
他加了几行代码,把“制度状态”和“事实状态”拆成两个独立的维度。婚姻的法律形式是一个二元变量,存续或不存续。但事实状态是连续的——共同生活、经济共享、情感联结、子女抚养,每一项都可以从零到一赋值。
他把陈禾的七十一例数据一条一条地读进去。每一条背后都是一个人。他尽量不去想这个,只关注变量之间的关系。
凌晨五点二十三分,模型跑出了第一轮结果。
屏幕上跳出一张热力图。横轴是“法律婚姻存续年限”,纵轴是“事实婚姻状态评分”。大部分数据点集中在右下角——法律婚姻持续了很长时间,但事实状态评分极低。他点开一个数据点,弹出的信息框显示:配偶失联八年,法律婚姻存续二十三年,事实状态评分零点一七。
他又点开另一个:配偶在邻县另组家庭,法律婚姻存续十七年,事实状态评分零点零九。
模型给出的结论是一行加粗的红字:“在配偶外出务工超过五年的样本中,事实婚姻状态评分低于零点三的概率为百分之八十七。法律婚姻状态与事实婚姻状态的相关系数为零点一四,不显著。”
不显著。法律上还是夫妻,事实上已经不是了。这两个变量之间几乎没有关系。
他想起陈禾笔记里的话,照片中那潦草的字迹似乎浮现在屏幕前:“但我觉得,那张结婚证对他们来说,可能从来就不是一张纸那么简单。”
林砚盯着那行红字看了很久。空调出风口的冷气吹得他手背发凉。他把模型结果导出成PDF,文件命名的光标闪了闪,他打上“制度适配性危机_初步分析”。
“制度适配性危机”这六个字出现在屏幕上的时候,他感到一种奇怪的空洞。这不是一个学术术语,这是一句判词。他做的模型正在告诉他:婚姻制度在这组数据面前,基本失效了。
手机又震了一下。陈禾发来一条语音,三秒。他点开,听见她的声音,沙哑,带着刚醒来的黏滞感:“你看了吗?”
“看了。”他打字。
“什么感觉?”
他盯着这个问题。什么感觉。他应该回答“数据很有价值”或者“模型结果很有意义”。但他打出来的是:“模型跑出来的结论是,法律婚姻状态和事实婚姻状态之间,相关系数接近于零。”
陈禾那边沉默了一会儿。然后她发来文字:“我跟你说,我昨天半夜整理数据的时候,看到赵桂枝那个案例。她丈夫林守田,法律上还是她丈夫。但她跟我说,她已经有四年没跟他睡一个屋了。四年。法律上他们还是夫妻。”
林砚看着“赵桂枝”这个名字,想起陈禾笔记本里那些被反复引用的案例。他知道这个人。陈禾写过一个细节:赵桂枝用缝纫机踩出来的每一件衣服,领口都多缝一道线。她说“多一道线,结实”。
“你的模型能告诉我,”陈禾又发来一条,“那道多缝的线值多少分吗?”
林砚的手指停在键盘上。
“不能。”他打了两个字。
“那你告诉我,赵桂枝这四年算什么?法律上她是已婚,事实上她一个人过。你的模型里,‘一个人过’这个变量怎么赋值?”
“我用了事实状态评分——”
“零点几?”
林砚没有立刻回。他把赵桂枝的数据点调出来。配偶失联,法律婚姻存续三十四年,事实状态评分零点二一。
“零点二一。”他打了出去。
陈禾那边没有回复。对话框停留在这三个字上。林砚看着屏幕,等了一分钟,两分钟。他以为她不会再回了。
然后手机亮了。是一条长消息,陈禾很少发长消息。
“林砚,我跟你讲。你这套模型,零点二一也好,零点九也好,都是一个数字。但赵桂枝那零点二一,是三十四年。三十四年里她每天做饭、洗衣服、缝衣服、喂鸡、下地。她丈夫每年过年回来七天,住西屋,她住东屋。中间隔着一道墙。她跟我说,有一年除夕她包了饺子端到西屋门口,敲了门,里面没应。她把饺子放在门槛上,回东屋了。第二天早上饺子还在门槛上,冻硬了。你告诉我,这道门槛,在你的模型里是什么变量?”
林砚读了两遍。
窗外,深圳的天已经全亮了。对面楼顶的轮廓清晰起来,玻璃幕墙反射着初升的日光,刺眼。他站起来走到窗边,把百叶窗拉下来一半。
林砚把百叶窗拉到一半,光被切成一条一条,落在地毯上。他坐回椅子,盯着屏幕上陈禾那段话。门槛。她问的是门槛。
他打了四个字:“我算不了。”
发出去之后他才意识到,这四个字比之前所有的“本质上”“结构上”都诚实。他把手机扣在桌上,屏幕朝下,像这样就能让陈禾那边安静下来。
手机还是亮了。
“你不用算。你只要知道有这个东西就行。”
然后她发来一张截图。手机相册的截图,时间是凌晨两点四十七分,画面里是某个政务大厅的走廊,灯管惨白,地上横七竖八坐着人,有裹军大衣的,有抱着孩子的,队伍从取号机一直排到门口。截图底部有一行小字:离婚登记预约已满,当前排号312位。
林砚放大看了看。截图右下角有行更小的字,是陈禾自己加的水印:禾坪村普查·现场附件。
他把手机放下,站起来,走到白板前。白板上还留着“灰度婚约”的框架图,他拿笔在“法律状态”和“事实状态”之间画了一道竖线,在竖线旁边写了个词:门槛。写完又觉得不对,拿板擦擦掉,重新写:断裂带。
这个词比门槛准确。门槛还能跨过去,断裂带跨不过去。
他回到电脑前,把陈禾发来的普查数据包解压。文件不大,一个Excel,三个PDF,还有十几张手机拍的现场照片。Excel第一页是汇总表,数据按自然村分组,禾坪村在第七行。已婚男性总数四百七十三人,其中配偶长期失联或未归的一百五十二人,占比百分之三十二点一。另组家庭但未办理离婚手续的十九人。两项合计,事实离婚状态一百七十一人,占比百分之三十六点二。
三分之一还多。
林砚盯着这个数字看了几秒,然后新建了一个工作簿,把这些数据导进算法模型。模型跑起来的时候,风扇声明显变大,笔记本底部烫手。他起身去接了杯水,回来时进度条停在百分之六十七。
他等。屏幕的蓝光映在玻璃幕墙上,外面深圳的天已经彻底亮了,有无人机从对面楼顶起飞,嗡嗡地掠过窗外的天空。
进度条跳到百分之百。结果窗口弹出来,第一行是模型给出的适配性评分:零点一八。比赵桂枝的零点二一还低。下面跟着一行小字:预测趋势——未来五年,该区域婚姻制度实际覆盖率将下降至百分之五十以下。
林砚盯着“零点一八”这个数字。模型没有感情,它只是把输入的数据按权重算了一遍。但他知道这个数字意味着什么。意味着在禾坪村,法律意义上的婚姻和实际运行的婚姻,正在变成两套互不相干的东西。
他拿起手机。陈禾那边显示正在输入,又停下,又输入。
最后跳出来的是:“你跑完了?”
“跑完了。”
“多少?”
林砚没有直接回答。他打了一行字:“陈禾,你这个普查数据如果提交上去,民政厅那边什么反应?”
“还没交。我想先给你看。”
“为什么先给我看?”
“因为你是唯一一个会用算法去算这个东西的人。我想知道,算出来是什么样子。”
林砚看着这句话,把“零点一八”打了出去。
陈禾那边沉默了很长时间。林砚能想象她此刻的样子,坐在那间租来的公寓里,面前是堆满资料的桌子,笔记本摊开着,上面贴着各色便签。她大概在翻那本笔记本,找什么东西。
果然,她发来一张照片。是笔记本的一页,纸页边缘卷起,上面用圆珠笔密密麻麻写着字,中间有一行用红笔圈出来:赵桂枝,女,五十七岁,婚龄三十四年,丈夫陈广田,年均在家时间七天。红笔旁边用铅笔写了一行小字:她说“吃饭了”三个字,等了三十年才说出口。
林砚看着那行铅笔字。他记得陈禾说过,赵桂枝年轻时从不叫丈夫吃饭,做好了就自己先吃,给丈夫留一碗在锅里。后来年纪大了,才开始站在门口喊一声“吃饭了”。就三个字,隔了三十年。
“你的算法里,”陈禾的消息跳出来,“有这三个字吗?”
林砚把手机放在桌上,离开键盘。他走到窗边,把百叶窗完全拉上去。阳光一下涌进来,刺得他眯起眼。对面的玻璃幕墙反射着光,整栋楼像一面竖起来的镜子。
他想起宋怀章上课时说过的一句话:定量研究最危险的地方,是它让你以为所有东西都可以被量化。当时他不以为然。现在他站在深圳的晨光里,第一次觉得这句话像一根针,扎在某个说不清的地方。
他回到桌前,打字:“模型里没有这三个字。但模型算出来的东西,和这三个字指向的是同一个问题。”
“什么问题?”
“制度适配性危机。”他打完这六个字,又补了一句,“法律规定的婚姻形态,和实际运行的婚姻形态,在禾坪村已经严重脱节。你的普查数据证明了这个脱节不是个案,是系统性的。”
陈禾没有立刻回。过了大概两分钟,她发来一段语音。林砚点开,她的声音有点哑,像是熬了一整夜:“林砚,我跟你说,我在禾坪村待了四个月,走了七个自然村,填了四百多份问卷。你知道最让我受不了的是什么?不是那些数字。是那些男人填问卷时候的表情。他们不觉得自己有问题。他们觉得这就是日子。老婆跑了就跑了,再找一个搭伙过,法律上那张纸,他们根本不在乎。我拿着问卷问一个五十多岁的男人,你老婆走了几年了?他说八年。我说那你们还是夫妻吗?他反问我,什么叫还是不是?她走了,我还在这。这就是夫妻。”
语音到这里停了几秒,她像是在组织语言。
“你的算法能算出来‘她走了,我还在这’是什么意思吗?”
林砚听完,把手机握在手里。语音条下面自动跳出了文字转录,他看着那行字,又听了一遍她的声音。她说话的时候背景里有车流声,大概是站在阳台上。
他打字:“算不出来。但算法可以算出来,这种状态如果持续下去,会有什么后果。”
“什么后果?”
“婚姻制度在这些地区的实际约束力会归零。法律上他们还是已婚,实际上婚姻已经不存在了。下一代在这种环境里长大,对婚姻的认知会变成——一张可以随时忽略的纸。”
陈禾这次回得很快:“那你觉得应该怎么办?”
林砚看着这个问题,手指悬在键盘上。他想起自己提出的“灰度婚约”,那个试图在法律和现实之间找平衡点的框架。但此刻他忽然觉得那个框架太轻了。门槛上的冻饺子,赵桂枝等了三十年的三个字,这些重量不是框架能装下的。
他最终打出的字是:“我不知道。”
这三个字发出去之后,对话框沉默了很长时间。林砚盯着屏幕,觉得自己的手指有点发麻。他起身去接了杯水,回来时陈禾已经发来了一长串消息,一条接一条,像是她一直在打字,只是等他先开口。
“你不知道?你做了三年模型,发了顶刊,跟我说你不知道?”
“你的算法能把婚姻拆成变量,能把感情拆成系数,能把赵桂枝三十年的等待拆成一个回归方程里的变量。然后你告诉我你不知道怎么办?”
“林砚,你有没有想过,你那些百分比和预测曲线,每一条都在告诉那些村庄里的人——你们的活法错了。可你凭什么?你连禾坪村都没去过。”
“你站在深圳的写字楼里,用服务器跑一遍数据,就敢说制度适配性危机。你见过那些男人填问卷时候的表情吗?我说了,他们不觉得自己有问题。你觉得是危机,他们觉得是日子。”
“你的算法里,有赵桂枝等了三十年才说出口的那句‘吃饭了’吗?”
最后这条消息像一记闷拳,打在他胸口。他想起赵桂枝,那个在门槛上包冻饺子的女人,三十年里只等来三个字。他曾经把这个故事写进论文的田野笔记部分,在模型里它被处理成了一个具体的案例数据。
他打字:“你的感性认知有盲区。个案动人,但个案不能代表四百分问卷背后的系统性趋势。你只看到了那些男人的表情,你看到数据里那些被家暴后离村的女人的比例了吗?你看到那些在事实上被遗弃却无法解除婚姻关系的女性,她们的孩子辍学率比正常家庭高出多少个百分点吗?”
“你凭什么说我没看到?我访谈了她们。我坐在她们家的灶台前听她们哭。你的模型能听人哭吗?”
“模型不需要听人哭。模型需要告诉政策制定者,如果不干预,十年后这些地区的婚姻制度会名存实亡。你告诉我,你的眼泪能改变什么?”
发完这句话他就后悔了。对话框上方显示“对方正在输入”,持续了很久,久到他以为她不会回了。然后跳出来一行字:
“你的算法里,有没有一个参数叫‘人还能变好’?”
他盯着这行字,喉咙发紧。窗外的阳光已经移到了墙角,房间里暗下来,只有屏幕的光照着他的脸。他忽然觉得疲惫从骨头缝里渗出来。刚才那些话,有一半是说给陈禾听的,另一半是说给自己听的——他在用冷酷的结论掩饰一个事实:他也不知道,当数据证明一切都在崩塌时,人还能做什么。
他又想起宋怀章那句话。定量研究最危险的地方,是它让你以为所有东西都可以被量化。他当时不以为然,现在他站在这个被数据风暴扫过的废墟上,第一次承认自己可能错了。
他慢慢打字:“也许……算法需要补上‘灰度’的参数。”
发出去之后他等着她反驳,等着她说“灰度有什么用,人都没了”。但陈禾没有回。过了很久,对话框里只跳出来一个动作:她合上了笔记本。那个“对方正在输入”的提示消失了,屏幕彻底安静下来。
林砚靠在椅背上,盯着那个空白的对话框。数据还在服务器里跑着,预测曲线还在延伸,但此刻他忽然觉得,那些数字轻飘飘的,像纸片一样落了一地。而他和陈禾站在这些纸片中间,一个手里攥着模型,一个手里攥着访谈录音,谁也没法单独往前走。
他重新打开模型代码,翻到参数设置那一页,光标停在“制度约束力”这个变量上。他删掉了原来的数值,敲进去一个新的注释:
“待定——需与田野数据交叉验证。需回答:当法律失效时,人靠什么维系关系?”
敲完这行字,他给陈禾发了最后一条消息:“明天早上九点,我把模型跑一遍给你看。你来定参数。”
她没有回。但林砚知道她会来。