下一章 上一章 目录 设置
4、回应 压力测试 ...
-
压力测试安排在公司办公室,一间开放式的小会议室,白墙,长桌,墙上贴满了产品迭代的流程图和用户反馈便签。沈听澜让技术团队提前准备了三个极端场景的数据集:第一个来自西南某省,方言口音重,语速快,说话人之间频繁打断;第二个来自东北一家制造企业的内部会议,语气直来直去;第三个是沈听澜自己加的——一组刻意压低情绪的谈判录音,说话人有极强的情感克制习惯,把愤怒和焦虑全部压在一个平稳的语调下面。
"我要看算法在这三类数据上的表现。"沈听澜站在白板前面,用马克笔画了三栏,"准确率下降多少、哪些标签被误判、误判的类型有没有规律。周四下午两点之前跑完,周五林律师过来的时候我要能展示结果。"
技术总监叫陈航,跟了沈听澜两年,技术上很信她,但性格偏保守。他看了一眼白板上的三栏,皱了皱眉。"第三个数据你从哪里弄的?情绪压平的录音很难找,常规训练集里几乎没有这种样本。"
"我自己录的。"沈听澜把马克笔帽扣上,"我找了几个朋友念了同样一段谈判台词,一个版本正常情绪,一个版本强迫自己平静。两个版本的音轨波形差别很小,但语义背后的情绪意图完全不同。我想看算法能不能区分。"
陈航推了推眼镜,看了她几秒。"你这是要把产品往死里测。"
"不往死里测,将来就会死在外面。"沈听澜拉开会议室的门,"周五林律师来的时候,我要看到完整的报告。"
周四晚上,沈听澜留在办公室等结果。团队把数据表格和可视化图表发过来,她一条一条地过。西南方言数据的准确率从91%掉到了78%,东北数据掉到83%,真正让她意外的反而是第三个数据集——算法面对那些"刻意压平"的录音时,准确率只掉了7个百分点,但误判的方式很特殊:它把所有的"刻意平静"都标记成了"低活跃度",而不是"中性"。
沈听澜盯着那行数据看了半天,拿起手机给林疏桐发了条消息:"测完了。意料之外的发现,你明天看了就知道了。"
对面隔了一刻钟回:"意料之外的好坏?"
"不好不坏。是有价值的那种意外。"
"那值得一听。"
周五下午两点,林疏桐准时出现在潮声科技的办公室门口。沈听澜亲自出去接她,把门禁权限临时录进了林疏桐的手机。"下次来直接刷就行,不用让前台通报。"
林疏桐扫了一眼手机屏幕上的门禁卡片,没说什么,把手机收进包里。"会议室在哪?"
沈听澜把她带进那间小会议室,白板上还留着周三画的框架图。陈航已经在里面等了,投影仪连着笔记本电脑,桌面上摊着几份打印好的数据报告。林疏桐坐下来,没寒暄,直接翻开第一份报告,扫了一眼标题,然后抬头看沈听澜。"先从哪个数据开始?"
"你自己挑。"沈听澜在她对面坐下来,把三份报告的封面朝向林疏桐,"你可以先看你觉得最可能出问题的那个。"
林疏桐的手指在三个文件封面上停了一下,抽出了那份西南方言数据集。她翻得很快,第一页是数据概况,第二页是准确率对比表,第三页开始逐条列了误判样本的音频转录和算法标签。翻到第五页的时候,她停了下来,盯着页面上一段对话看了将近半分钟。
"这条。"她把报告转过来朝向沈听澜,"算法打的是什么标签?"
沈听澜欠身看了一眼那段转录文本。是一段生产调度会,说话人在陈述一个工期延误的情况,语气听起来确实比较急促,但从文本内容看,对方只是在客观陈述事实,没有明显的情绪指向。算法给的标签是"焦虑"。
"它把语速和中断频率当成情绪指标了。"沈听澜说。
"但你看这段话的第三句——'李工那边我已经催过三次了'。"林疏桐的手指点了点那行字,"这句话里的'催'——算法如果只靠语速判断,会漏掉它真正的意思。语速快不一定是焦虑,也可能只是这个人说话本来就快。"
沈听澜看着她。林疏桐说这段话的时候,语气还是那种平稳的、几乎不带任何修饰的陈述。但沈听澜注意到她的手指还停在报告页面上,指腹轻轻按在那一行文字下面,像是想把那个标签从纸上抠下来重新贴一次。
"你判断的方式跟我的算法一样。"沈听澜说。
林疏桐抬头看她。"什么意思?"
"你也在做情绪识别,"沈听澜往前倾了倾身,"只不过你的训练集是十年的法律实务。你把'催'这个字拆解成几种可能的意思,然后用你经验里的上下文去判断哪一种更合理。我的算法没那么好的训练集,它只有六万条打了标签的音频。"
会议室安静了几秒。陈航在旁边坐着,看看沈听澜又看看林疏桐,觉得自己在这里有点多余,低头假装在整理打印件。
林疏桐把报告合上,推到一边。"压力测试的结果有统计汇总吗?"
"有。"沈听澜从桌下抽出一张折叠的A3纸,展开铺在桌面上。那是一张热力图,横轴是三种数据集,纵轴是情绪标签的八个类别,每个单元格里标注了准确率和误判类型。林疏桐低头看了将近两分钟,然后抬起头,目光从热力图移到沈听澜脸上。
"你的算法在'平静'这个标签上的表现比其他标签都好。"她说。
"对。"
"但你第三个数据集里那些'刻意压制'的样本,算法识别的方式有问题。它把压制后的状态判定为'平静',但实际上说话人的内心状态和'平静'完全不是一回事。你的算法能识别表面,但识别不了表层之下的东西。"
沈听澜靠在椅背上,双手交叠放在桌面上。她看着林疏桐,忽然觉得这个人说话的方式像一把薄刃——不是用来伤人,是用来剖开表皮,让你看到里面的结构。林疏桐就是后一种。
"我知道。"沈听澜说,"这也是我最担心的一点。如果客户把'情绪热度图'当成某种'内心真实状态'的可视化,他们会过度信任这张图。我产品的标签是'热度'不是'真实',但普通用户分不清这两个词的区别。"
"你打算在说明书里怎么区分?"
"还没想好。你来之前我写了一个版本,但措辞太技术化了,用户看不懂。我换了一版白话的,又觉得太软,像在打预防针。"沈听澜从桌面上抽出一张纸递过去,"两个版本都在上面,你帮我看一下。"
林疏桐接过去看了两版,看完之后把纸折了一下放在桌角。"第一版的第三段和第二版的结尾部分拼接一下。"她伸手从包里拿出一支笔,低头在纸上画了个标记,"第一版用'本工具旨在呈现可观测的语言行为特征'开头,然后接第二版那句'不构成对任何谈判方主观意图的确定性判断'。中间加一句过渡——'情绪热度是语言行为的副产品,不等同于心理状态'。"
沈听澜把纸拿回来看了一眼那个拼接标记。标记画得很干净,两条线精准地切在行间,像是早就想好了应该从哪里剪断、从哪里缝合。"你现场就能拼。"
"结构感是练出来的。"林疏桐把笔收回去,又看了一眼那份热力图,"还有一个问题。你第三个数据集里那些'刻意压制'的样本,来源是什么?你自己录的?"
"我找朋友录的。"
"朋友知道你在做什么实验吗?"
沈听澜愣了一下。"知道。我让他们按剧本念的。"
"签知情同意书了?"
沈听澜看着林疏桐,忽然觉得自己的后颈凉了一下。"没有。"
林疏桐的表情没有变化。她伸出手指,轻轻敲了两下桌面。"你录了人的声音做训练集,不管样本数量多少,只要这些声音的特征会被算法吸收并应用到未来的商业产品中,你就需要一份书面的数据使用授权。这是底线。补一份模板给我,我帮你改。"
沈听澜沉默了三秒。这三秒里她脑子里翻过了很多念头——她觉得自己应该早就想到这一层,但她确实疏忽了。做技术出身的人容易把精力集中在"能不能做出来"上,对"该不该这么做"的敏感度天然会慢半拍。
"好。"她说,"你今天提了三个问题——语义误判、标签定义、数据合规。三个问题我全部接。"
林疏桐看着她,嘴角动了动,那个弧度大概只有半毫米,放在别人脸上根本算不上表情,但放在林疏桐脸上已经是相当明确的信号了。"你接得倒是快。"
"你的问题我为什么接得慢?"沈听澜反问。
林疏桐没接这句话,低下头重新翻开了西南方言数据集的报告,看了几页,又抬头。"你刚才说'朋友'——什么朋友?"
"大学同学。有学戏剧的,有搞配音的,还有两个是半职业话剧演员。"沈听澜看着她翻报告的侧脸,"他们念台词的能力很强,几乎能精确地控制每一个字的轻重和情绪方向。"
"那你有没有想过用这个资源做一套标准化的语料库?"林疏桐说,"不是乱采数据,而是让专业演员按照精确的情绪指令录制标准样本,作为算法训练的基础参照系。这样你将来做校正的时候,不需要到处找真实业务数据来'喂'算法,你可以用一套带精确标注的标准语料做参照。而且这些演员签了授权合同,数据所有权干干净净。"
沈听澜靠在椅背上,看着林疏桐。她在想的是另一件事——这个人不光在帮她堵漏洞,还在帮她建新的跑道。"你有没有考虑过转行做咨询?"
"没有。"林疏桐合上报告,放进包里,"做法律我顺手,咨询要面对的人太多。"
陈航在旁边终于忍不住笑了一声,又马上收了回去。沈听澜看了他一眼,然后转回头来看着林疏桐。"晚上有空?之前说粤菜馆那顿没吃尽兴,换个地方补上。"
"今天可以。"林疏桐站起来,把椅子推回桌下,"但我有个条件——饭桌上不谈工作。你今天脑子转了一整天,该停下来了。"
沈听澜跟着站起来,伸手拿外套。"不谈工作可以。那谈什么?"
"你上次说你喜欢聂鲁达。我前阵子翻了他的《漫歌》,有一首写海的,你读过没有?"
沈听澜的动作停了一下。她确实读过,那首写太平洋的诗她大学时抄在笔记本上,后来笔记本找不到了,诗也忘得差不多了。但林疏桐怎么会知道她喜欢聂鲁达?她只说过办公室那本诗集是聂鲁达的,没具体说过喜欢哪一首。
"你查了我?"她问,语气里没有防备,更像是在确认一个已经知道的答案。
"你办公室那本书的扉页上有批注,第三页折了一个角。"林疏桐已经走到了门口,侧过身看她,"你折角的那首诗是《海洋》,你自己可能都没注意。"
沈听澜站在原地,手里攥着外套的袖子。她确实没注意那本书折了角——那本诗集她至少两年没翻过了,折页是大学时留下来的,她自己早就忘了。但林疏桐进她办公室的次数一只手数得过来,其中大部分时候她们都在讨论合同条款。这个人能在那样的场合注意到一本放在角落里的诗集、翻开扉页、看到批注、记住是哪首诗折了角。
"你观察人的方式,"沈听澜把外套穿上,走向门口,"跟你的工作有关系吗?"
"有一定关系。"林疏桐推开会议室的门往外走,"但对你,不太一样。"
她说这句话的时候没有回头,声音平平地递过来,像在陈述一件不需要被讨论的事实。沈听澜跟着她走出办公室,穿过开放式工位区,几个还在加班的同事抬头看了一眼——老板和那个律师一前一后往外走,两个人都没说话,但脚步的频率几乎同步。
电梯里只有她们两个人。轿厢壁的金属表面映出模糊的影子,沈听澜看着那个影子,发现林疏桐的手搭在公文包的提手上,手指是放松的——她之前观察过,林疏桐紧张的时候会攥包带,但此刻她的手指舒展地搭着,甚至轻轻打着节拍。沈听澜仔细辨认了一下,那个节奏像是某首民谣的四三拍。
"你在打拍子。"沈听澜看着金属壁上的倒影。
"嗯。"
"什么歌?"
"没有歌。"林疏桐说,"就是随便敲的。"
电梯到了地下车库,门打开的时候冷风灌进来。沈听澜往外走,忽然停下来,转头看了林疏桐一眼。"聂鲁达那首诗,你记不记得最后几句?"
林疏桐站在电梯口,车库里灯光偏暗,她的面容在昏黄的光线下轮廓分明。"'我是那徒劳地翻卷的浪,我是那击碎礁石的白。'"
沈听澜看着她。这两个人站在空旷的车库里,周围没有第三个人,说话的时候声音能听到轻微的混响。她忽然觉得这个场景很对——两个人都站在各自选择的路上,一个在浪里翻卷,一个在礁石上立着,说不清是浪击碎了礁石,还是礁石承受了浪。但她们都还在自己的位置上,各自发力。
"走吧,"沈听澜说,"今晚不谈工作,说好了。"
林疏桐点了下头,跟着她往车的方向走了。地下车库里回荡着两个人的脚步声,一前一后,逐渐重合。