微信自动回复关键词触发不到?同义词、错别字与标点的覆盖策略

1 阅读4分钟

买家问「这个能开个票吗」,词表里明明有「发票」两个字,自动回复却一声不吭;翻配置、看开关、查时段,样样正常。问题常常出在看不见的一层:买家打出来的字,和你写给机器看的字,本来就不是同一句话。这篇按先分因、再补词、后回归的顺序讲一遍,把漏触发堵在客户发现之前。

漏触发只有三类,判错了就是白做功

**词没覆盖。**买家换了说法——「开个票」「要票」「能报销吗」,而词表里只有「发票」。这是覆盖问题,补同义词就能解决。

**词被形式吃掉。**词表里有「发票」,买家写的是「发飘」,或者在词中间插了空格、表情、繁体字。词在,匹配对不上,属于匹配层的问题,加再多新词也没用。

**规则没生效。**命中了却没发出去:被更高优先级的规则压住、时段不在范围内、规则处于关闭状态、同一轮对话里已经有别的规则先发过。

判定顺序三步,两分钟走完:头一步,看日志里这条消息有没有命中记录,没有就是前两类;第二步,看命中之后有没有发送动作,有命中没发送就是第三类;第三步,看发出去的内容对不对,发错了属于回复内容的问题,与触发无关。顺序别倒着走,否则容易在词表上做无用功。

**别只拿自己想的问法去测。**测试消息要用买家原话,原话从历史会话里抄,抄的时候连标点和错别字一起抄,否则测出来的是「你的系统对你会不会说话」,不是「对买家会不会说话」。

同义词按买家口径来扩,不按字典

**一个意思至少列五到八种说法。**以开票为例:发票、开票、开个票、要票、能报销吗、抬头、专票、普票。以催发货为例:多久发、什么时候发、几天到、发出了吗、物流到哪了。这些不是规范词,是买家随手打出来的字。

疑问句式一起覆盖。「能不能」「可不可以」「多久」「怎么」这类疑问词组合出来的表达,比名词本身更容易被漏掉。

**按组管理,别散着放。**同一意思的说法归成一组,改一处全组生效,日后整体停用只需要关一组。

**别把关键词写成一整句话。**词表里填「请问什么时候能开发票」,大概率一条都命中不了;关键词要拆成最小词组,长短各留一个,长的管精确、短的管兜底。

**定期回看命中次数。**一个词如果三个月零命中,要么写法不对,要么和别的组重复了,两种都该处理掉,留在表里只会增加误触发的面。

错别字、标点与全半角:匹配层的四个设置

**匹配方式选包含,不选完全一致。**除非业务上必须精确命中,整句匹配会让所有带附加信息的问句失效。

**输入先归一化。**去空格、去表情、全角与半角标点统一处理、常见错别字做映射(发飘→发票、退宽→退款、邮费→运费)。这一步要放在进入词表比对之前,否则词表再全也搭不上。

**关键词里不带标点和语气词。**写成「多少钱?」的词,遇上半角输入的买家就直接失效。

**模糊匹配慎开。**它能兜住一部分错别字,但误触发率跟着涨。要开就限制在两个字以上的名词类词,并配好否定例。

**简繁与拼音要分开看。**港台买家用繁体字,繁转简要放在归一化那一步;拼音首字母匹配(比如 kp 代替「开票」)看着省事,误触发面却很大,不建议开。

小结

补词不是终点,回归才是。每补一批词按三个动作收尾:把漏触发的原话存进测试集;每条新词各跑一条正例和一条否定例,确认「不用开票了」这类句子不会触发;盯一周触发日志,看新词的命中与误触发。用微客AI助手 这类带触发日志的方案,每条消息命中了哪条规则、哪个词都能看到,漏触发的原话还能按周导出,词表的缺口就不用靠猜。记住一条:词表是活的,它能覆盖的范围,取决于你多久看一次真实会话。

参考文章