个人微信机器人:关键词没匹配上为什么不要回「我没听懂」
·
未命中回「我没听懂,请换个说法」,私聊会把闲聊聊死,群里会被当刷屏。开发当这是礼貌。现场是:随口一句表情或天气,机器人必出站。开口变多,有用回复不变。被移出之后,命中的词也没人看。
有没有资格开口,和开口说什么,是两件事。没资格时,任何句子都不该入队。
未命中默认只记日志
词表是白名单。命中才出站。未命中记会话、原文摘要、原因。用日志补词,不要用气泡填空。把「我没听懂」当成未命中分支的返回值,等于把未命中改写成命中,后面统计全假。
群要叠加点名。未点名闲聊属于未命中,更不能出站。报价赔偿不在词表里,未命中时也不该再丢给模型编一句「没听懂」加价格。自身消息、非文本,同样在匹配之前结束。
def decide(event, rules, session):
if session.state == "human":
return "skip"
if event.get("is_self"):
return "skip"
text = event.get("text") or ""
hit = match(text, rules)
if hit:
return ("send", hit.reply)
log_miss(session.id, text[:80])
return "skip"
match 的未命中分支禁止返回固定句。「帮助」要作为显式词,不能挂在所有 miss 上。转人工是规则,走状态,不走兜底。投诉句先停嘴,再考虑要不要记工单。
模型不是 miss 的默认下一站
没有词就推理,贵,还容易把未审内容打进群。要上模型,单独开关、单独配额、群默认关。开关关闭时必须回到只记账。用模型把「我没听懂」说得更像人,刷屏本质不变。
验收:发无关闲聊,不应出站,日志有 miss;发词表短句,只出现已审回复;临时打开全局兜底,群开口次数应明显上升,当作反例。个人微信机器人要准,不要每条都响。
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐
所有评论(0)