我把GEO问句里的「的」字删了,空回答从37条掉到4条,分词锅真不在工具
上周跑批,43条问句里有37条AI给的是空回答,我第一反应是工具又出幺蛾子了。结果把日志拉出来一条一条对,发现个怪事:这37条问句里,有31条都带「的」字,而且「的」前面基本都是两个字的词,后面接三到四个字——比如「重庆的制造企业哪家做非标件好」这种。
我当时就怀疑是分词把问句切碎了。拿两套库对照跑了一遍:A库原问句不动,B库把所有「的」字删掉、词组重排,其他条件全锁死,零点、盐版本、跑批间隔都对齐。结果出来A库空回答37条,B库只剩4条,引用计数还涨了12%。
先说结论:锅不在工具,在问句预处理。 中文分词遇到「的」字容易把主谓宾切得七零八落,模型拿到的是碎片,自然给不出完整回答。这跟工具宣传的「智能语义理解」没得关系,是你的输入本身就喂得不干净。
我后来拿这37条做了个拆解表,分三类:
- 带「的」且前后都是短词的,空回答率81%,这类最多;
- 带「的」但「的」后面是长定语的,空回答率34%,影响没那么大;
- 不带「的」的对照组,空回答率只有9%。
数字摆在这儿,你还信那些「一键喂问句」的宣传不?我反正是先把问句库过了一遍清洗规则,把「的」字能删就删,删不掉的换语序。
还有个坑要提醒:跑批前一定要锁零点跟盐版本。我这次就是吃了这个亏,第一遍跑的时候两组用的盐版本差了两位,结果空回答数虚高了8条。重算一遍才把真实数字对出来。你跑批不锁这两个,出来的数据全是糊的,归因到工具头上纯属冤枉。
另外提醒一句,别拿「的」字一刀切。有些问句删了「的」意思就变了,比如「重庆的哥」跟「重庆哥」完全是两码事。我的做法是建了个白名单,专有名词、地名加「的」的保留,其余按规则处理,清洗完再抽样人工过一遍,抽20条看有没有语义跑偏。
这活儿不高级,但管用。工具再吹得凶,你输入喂得脏,它照样给你吐空回答。
最后抛个问题:你们跑批的时候,问句预处理这块是咋做的?有没有遇到过删了「的」字反而把语义搞反的情况,都是咋兜底的?
