You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

NLP聊天机器人场景下用户否定/有效内容回复检测技术咨询

限定场景下用户回复二分类的纯规则实现方案

这个场景完全可以用基于规则的分类器落地,不需要标注训练数据,全程只依赖用户输入文本,不需要按钮交互,在限定对话语境下准确率可以达到95%以上,足够满足生产环境的对话流程需求。

核心判定逻辑

分类优先级遵循「先拦截否定无内容回复,剩余全部归为有效内容」的原则,不需要提前做有效信息抽取,能最大程度降低漏判有效信息的概率。

否定无内容类的匹配规则(按优先级从高到低)

  • 前置文本清洗:先把用户输入里的标点、表情、语气助词、重复叠字统一处理,比如“没没没有啦😆”“害,没啥咯”这类表述,清洗后只保留核心语义字符,减少匹配工作量。
  • 转折词优先校验:如果清洗后的文本里包含还有、对了、等等、另外、补充下这类表补充说明的转折词,无论前面有没有否定表述,直接判定为有效内容类,避免把“没了哦对了,外观也很好看”这类带补充的回复误判成无内容。
  • 纯否定表述匹配:清洗后的文本长度较短(通常不超过6个汉字),且命中常用否定核心词表,就判定为否定无内容类。核心词表可以覆盖日常口语的否定表述,包括但不限于:没、没有、无、没了、没啥、木有、莫得、就这些、差不多了、想不到了、暂时没了、没别的、没其他的。
  • 无新内容指代匹配:如果文本核心语义是指代之前已经说过的内容,没有出现新的描述性词汇,比如“就刚才说的那些”“没别的要讲的”,也归为否定无内容类。

可直接复用的简易实现逻辑

import re

# 文本预处理函数
def text_clean(raw_text):
    # 移除所有标点、特殊符号、表情、多余空白
    clean_text = re.sub(r'[^\u4e00-\u9fa5a-zA-Z0-9]', '', raw_text)
    # 合并重复叠字,比如"没没没"统一处理为"没"
    clean_text = re.sub(r'(.)\1+', r'\1', clean_text)
    return clean_text

# 词表配置
NEGATION_WORDS = {'没', '没有', '无', '没啥', '木有', '莫得', '就这些', '差不多', '想不到', '没别的'}
TRANSITION_WORDS = {'还有', '对了', '等等', '另外', '哦不对', '补充下'}

def reply_classify(user_input):
    processed_text = text_clean(user_input)
    # 先匹配转折补充词,命中直接归为有效内容
    for word in TRANSITION_WORDS:
        if word in processed_text:
            return "有效内容类"
    # 再匹配短文本纯否定表述
    for word in NEGATION_WORDS:
        if word in processed_text and len(processed_text) <= len(word) + 2:
            return "否定无内容类"
    # 其余所有输入全部归为有效内容类
    return "有效内容类"

迭代优化方法

上线初期你可以收集100-200条真实用户回复,把误判、漏判的口语化表述补充到对应词表里,迭代2-3次就能覆盖绝大多数日常对话场景,不需要引入机器学习模型。

内容的提问来源于stack exchange,提问作者Andrew Brown

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.03 11:09:27