第三章 清洗

早川渉是在星期四上午出现的。

前一天晚上,伊达在电话里跟松枝提过:警方要聘一位数据顾问,是中村课题原本聘任的那位外部顾问,问松枝觉得如何。松枝说,是研究室出身的学长,人可靠。伊达说,那就这么办。电话里两个人都没有客套,这件事就这样定了。

松枝到警视厅的时候,伊达正站在会议室门口和一个男人说话。男人三十五六岁,深灰色的西装,衬衫第一颗扣子系着,手里拎一个黑色的电脑包。他听见脚步声转过身,看见松枝,点了下头。

"松枝。"他说,"好久不见。"

声音松枝是认得的。隔了这么多年,语调没怎么变,还是那种把每句话的尾音收得很平的调子。

"早川学长。"松枝说。

"听说你现在是教授了。"早川说,"恭喜。中村老师的事,我很遗憾。"

两句都说得很简短。松枝知道他不是敷衍,他从来就是这么说话的。十几年前在那间小讨论室里,早川负责考勤、订教室、收拾白板,每一句话都简短,每一件事都到位。讨论班能办下去,一半靠中村的讲义,一半靠这个学长的后勤。

记忆里最清楚的一次,是讨论班办到第三年,教室被别的课占了,十几个人抱着书站在走廊里。早川打了三个电话,跑了两栋楼,半小时之后把众人领进了一间空着的会议室,连白板笔都多备了两支。那天中村到得晚,进门看见一切照常,什么也没问。后来松枝才明白,不问就是最大的信任。中村信任早川的方式,是不去检查他。

"学长现在在基金,具体做什么?"松枝问。

"建模型,找规律,下注。"早川说,"和做研究差不多,只不过市场每周都给你打分。"

"你们认识,那就好办了。"伊达把两个人让进会议室,"我介绍一下情况。早川先生是中村老师课题聘任的外部数据顾问,对研究室的往来数据最熟,三月底从纽约回国。案子接下来要处理大量的人员记录,本部批准聘他做警方的数据顾问,协助我们这边的整理工作。手续昨天办完了。"

会议室的桌上摆着一台笔记本电脑,一台投影仪。白幕已经放下来了。

"我来说一下现在有什么。"

早川打开电脑,投影亮起来。屏幕上是一个表格的界面,行列很多。

"警方从大学的人事、教务系统调了记录,范围是与中村研究室历史上有过交集的人员。"他说,"教员,职员,在校生,毕业生,合作机构的人。原始数据三百多条,来自五个系统。"

"三十七个人的名单不是已经有了?"伊达问。

"那份名单是近期接触过的人,要重点查。"早川说,"但和这些人有间接关联的,还有早年间和研究室打过交道的,也要查。需要一个完整的名单。"

"毕业生和合作机构的人也有职工号。"他指了指屏幕,"人事系统的旧档留得深,在校期间任过助教、特任的,编号都还在。五个系统并成一张表,功夫主要花在这里:同人不同号,同号不同人,一条一条对出来。"

他切到下一页。同一份数据的另一种形态:姓名有三种写法并存的,编号有空位的,日期格式混着两种。他用光标框出其中一小段。

"五个系统,五套格式。直接用是不行的。分析的第一步是清洗:去重,补全,统一格式,校验一致性。这一步不做,后面任何统计都是垃圾进,垃圾出。"

"要多久。"伊达问。

"三天。我每天来做,做完的部分当天交接。"早川说,"清洗的日志我会留,每条改动有记录,可以复核。"

伊达转向松枝:"松枝先生,您是研究室的出身,又熟悉这些人员。清洗过程中会有拿不准的地方,需要您在场核对。"

"我配合。"松枝说。

就这样定了下来。从星期四开始,每天上午,会议室里三个人:早川操作,伊达看,松枝核对。清洗的过程没有观赏性。大部分时间是早川一个人在键盘上敲,光标在行列之间移动,偶尔停下来,说一句"这条重了,合并",或者"这个字段缺了,标待定,不猜"。他说得很少,做得很快。伊达有时候会问问题,问的都是同一个模式:这条是谁,和案子什么关系。早川答得也快,答完继续。

第一天上午处理的主要是重复。同一个人在教务系统和人事系统里各有一条,姓名一个用汉字一个用假名,程序把它们当成两个人。早川把这样的对子一条一条找出来,并排,确认是同一人,合并。有一条松枝认得,是研究室的一位准教授,早川把两条并成一条之前,先抬头问了松枝一句:是同一个人吧。松枝说是。他才动手合并。

中午三个人在楼下的食堂吃饭。伊达问了早川一个问题:你们做数据的,是不是什么都能算出来。早川想了想说,能算出来的前提是问题提得对。问题提错了,算得再快也是白算。伊达说,那跟我们问人一样,问错了人,跑得再勤也是白跑。早川点头,说是这个道理。两个人隔着一份定食达成了共识。松枝在旁边听着,没有插话。他发现这两个人有一种相似的地方:都不迷信工具,都只信核实过的东西。

出食堂的时候,伊达掏出一包烟,先递给早川。早川摆手,说自己没抽过。伊达又朝松枝偏了偏,松枝也摇头。伊达自己点上一根,站在门口抽完了,三个人才上楼。

"机器判断不了的,就问人。"早川说,"不问清楚不动手,这是规矩。"

"你们做投资的也这么一条条看?"伊达问。

"越是大钱,越要这么看。"早川说,"模型吃掉的是干净数据。脏数据进去,出来的结论比没有结论更糟。没有结论,你至少知道自己不知道。"

伊达把这句话琢磨了一会儿,点头。松枝在旁边听着。他同意这个说法。数学里也一样,一个建立在错误前提上的漂亮证明,比一个承认解不出来的问题危险得多。

松枝在第二天上午注意到了一件事。

当时屏幕上是一批事务人员的记录。秘书,庶务,会计,十几行,都是在研究室待过的人。松枝大部分都认得,有几个名字让他停了停,那是些早他很多届的人,他入学时他们已经不在了。

光标停在一行上,那一行的底色是黄的,是程序自动标出的离群行。

"离群记录。"早川说。

松枝看向那行字。佐藤実,三十八岁,事务职员。备注栏写着:原中村研究室庶务,两年前转岗,现属东大图书馆。职员编号一栏是 215,编号后面跟着一个校验失败的标记。

"校验为什么失败。"松枝问。

"编号不一致。"早川把另一个窗口调出来,是图书馆系统那边导出的名册,"同一个人,这边登记的是 216。末位差一位。"

他把两条记录并排放在屏幕上。佐藤実,215。佐藤実,216。姓名一致,入职年月一致,所属变更的日期一致。

"转岗造成的。"早川说,"人事系统之间迁移的时候,编号要重新分配。旧系统的记录没有同步更新,或者录入的时候错了一位。这种事很常见。"

"哪边是对的。"伊达问。

"图书馆是现属系统,以现属为准,216。"早川说,"旧记录 215 已更正为 216。"

他敲了几个键。215 变成了 216,黄色的底色消失了,校验标记变成通过。他在清洗日志里敲了一行字,保存,然后继续往下走。

整个过程不到一分钟。

松枝看着屏幕。他注意到的是这个做法本身:先查现属系统,再定基准,再改,改完留日志。顺序是对的,每一步都有出处。中村说过,对材料诚实,不添,不减。早川做的正是这件事,一条脏数据被核实,被归位。数据里一个三十八岁的事务职员,就这样从离群点变成了正常记录里的一行。

"这个人,"伊达例行公事地问,"和案子什么关系。"

"佐藤実。"早川看着屏幕,"原研究室的庶务,管报销和备品。两年前转岗走了。和研究室的关联是旧关联。"

"转岗之后还有来往吗。"

"数据上看不出来。"早川说,"记录只到这里。"

伊达点点头,没再问。松枝也没有再问。一条普通的旧记录,一个普通的名字,会议室里三个人的注意力都只停了不到一分钟。松枝后来记得的,是早川敲完保存之后,在那个画面上多停了一秒。光标已经不闪了,他还看着屏幕,一秒,然后切到了下一条。大概是在确认改动的结果。认真的人都有这种习惯,松枝自己改完论文也会回看一遍。

第二天的收尾阶段,早川演示了一下清洗完的数据能做什么。他按入职年份排序,屏幕上的名字按时间流过去,最早的一批是十几年前的。他又按关联类型分组,教员一组,学生一组,事务人员一组,外部合作者一组。四组人,界限清楚。

"现在这份数据,随便问它问题,它都能答。"早川说,"比如,谁和案发的研究室同时期在职。"

他敲了一下,屏幕筛出一片名字。

"再比如,谁在近三年里离开过。"

又一片名字。比刚才那片小一些。

伊达盯着屏幕看了半天,说:"这就是你们平时吃饭的本事。"

"是。"早川说,"不过有一句话我也要说清楚。数据能回答的问题,取决于数据里有什么。数据里没有的,问不出来。"

清洗进行到第三天,数据集变了样。重名合并了,空位标注了,编号统一了,三百多条原始记录收敛成一个干净的表。早川把最终版交接给伊达,附一份清洗日志,日志按时间排,每一条改动一行,改动前后两版都留着。

"这些日志,"伊达翻着打印件,"都要给我看的?"

"都给您。"早川说,"数据工作的规矩,过程要可复核。您随时可以抽查任何一条。"

"好。"伊达把日志收进文件夹,"辛苦你了。"

"分内的事。"

早川收拾电脑的时候,松枝帮他把投影的线拔下来卷好。会议室里只剩下他们两个人。

"你这些年,"松枝说,"一直在做数据。"

"一直在做。"早川把电脑放进包里,"离开学校以后先去了一家小公司,后来到现在这家基金。做的事情其实没变,找规律,验证规律。只是对象从定理换成了市场。"

"后悔吗,离开学界。"

早川拉上电脑包的拉链,想了想。

"不后悔。"他说,"学界适合能把一辈子押在一个问题上的人。我不是。你和中村老师是。"

这句话说得很平,听不出是自嘲还是陈述。松枝没有接。十几年前他们就熟到可以不接话,现在仍然可以。

"中村老师的课题,"松枝说,"数据那边以后怎么交接,你有头绪吗。"

"课题大概会终止。我手头的顾问工作等学部的通知。"早川把电脑包拎起来,"警方这边只要还需要,我就继续做。中村老师待我不薄。"

他走到门口,停下来,回了一下头。

"有件事我想说一下。"早川说,"中村老师当年劝过我留下。我读博最后一年,他找我谈过一次,问我要不要继续做研究。我说我想去业界。他只说了一句,想清楚就行。"

"你当时想清楚了吗。"

"想清楚了。我不是能坐一辈子冷板凳的人。"早川的语气还是平的,"但老师没有看低我。后来课题需要数据顾问,他还找我。这份人情我记着。所以这次的事,我会做到底。"

松枝点点头。他没有说谢谢。十几年前他们就不说这种话。

"松枝。"他说,"这个案子,你打算管到什么程度。"

"到它解决。"松枝说。

早川点了下头。

"那我尽力帮你。"他说,"数据这边,有任何不清楚的地方,随时叫我。"

他走了。松枝在会议室里又坐了一会儿。桌上还留着那三天的记录:三百多条原始数据,一份干净的表,一册清洗日志。他想,这个案子至少有一个可靠的底座了。人物,关系,记录,都经过了核对的眼睛。这份记录是底座,三十七个人的名单要靠它一个一个核对。底座之上还悬着的东西不多,只有一枚结。

走廊里,伊达刚打完电话,正往这边走。

"早川先生回去了?"伊达问。

"刚走。"

"这三天辛苦他,也辛苦您了。"伊达拍拍腋下的文件夹,"东西我都收好了。松枝先生,说句实在的,我原先对这种活儿是将信将疑的。三百多个名字,翻来翻去,能翻出什么。但你们现在整理过后,我不这么想了。这份完备的名单就是办案的地基。"

"接下来要做什么?"

"接下来我们挨个走。"伊达说,"名单上的人,挨个见,挨个问。笨办法,您知道的。"

"需要的时候请叫上我。"

"一定。"伊达走出两步,又回头,"您那个学长,是个实在人。数据上的事交给他我放心。"

松枝点了点头。伊达下楼之后,他回到会议室。桌上还留着那册清洗日志。他把最后一页翻回去看了一遍:日志的最后一行是早川的签名,字迹横平竖直,和聘任记录上那个签名一样。松枝合上日志,关灯,离开会议室。

〔顾问工作记录 · 03〕

数据集 D 清洗日志(第 3 日,交接版摘要)。

原始记录 317 条,合并重复 12 条,补全缺省字段 9 处,统一编号格式 5 类。
剔除离群记录一条(佐藤実,转岗致职员号末位不一致,已更正)。
校验通过率:交接版 100%。

过程可复核。无遗留异常。
上一章回目录下一章