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

如何使用RASA DIETClassifier从自定义数据抽取实体与意图

Rasa框架下使用DIETClassifier对接自定义文本实现意图识别+实体抽取操作流程
  • 第一步:把手里的字符串列表转成Rasa标准NLU训练数据
    DIETClassifier是监督训练模型,必须给每条文本标注对应意图标签、实体边界和类型,不能直接扔无标注纯字符串训练。最终标注好的数据存为data/nlu.yml,格式参考:
    version: "3.1"
    nlu:
    - intent: qa_company_rule # 自定义意图名,按你的Q&A分类来
      examples: |
        - 考勤迟到怎么扣钱
        - [劳动合同](contract_type)到期怎么续签
        - 出差报销需要贴[发票](voucher_type)吗
    - intent: qa_tech_problem
      examples: |
        - 公司VPN连不上怎么办
        - 内部系统[密码重置](operation_type)走什么流程
    
    初始标注量不用太大,每个意图先标10-20条典型问法就能跑初版模型,后续再补badcase迭代。
  • 第二步:修改配置文件启用DIETClassifier
    打开项目根目录的config.yml,配置NLP流水线,中文场景直接用下面的基线配置就行,不用一开始就调复杂参数:
    language: zh
    pipeline:
      - name: JiebaTokenizer # 中文分词组件,处理英文就替换成WhitespaceTokenizer
      - name: LexicalSyntacticFeaturizer
      - name: CountVectorsFeaturizer
        analyzer: char_wb
        min_ngram: 1
        max_ngram: 4
      - name: DIETClassifier
        epochs: 80
        entity_recognition: True
        intent_classification: True
    policies:
      - name: RulePolicy # 纯Q&A场景用规则匹配意图和回复足够
    
    DIET本身是多任务架构,默认就同时支持意图分类和实体抽取,不用额外拆分两个模型分别训练。
  • 第三步:绑定意图和Q&A回复
    纯问答场景不需要写复杂对话故事,直接在data/rules.yml里配置规则,把识别到的意图和对应回复动作绑定:
    version: "3.1"
    rules:
      - rule: 回复制度类问题
        steps:
          - intent: qa_company_rule
          - action: utter_company_rule
      - rule: 回复技术问题
        steps:
          - intent: qa_tech_problem
          - action: utter_tech_problem
    
    再到domain.yml里把你从文章里提取的对应答案填到响应内容里,同时把所有用到的意图、实体类型都在domain里注册就行。
  • 第四步:训练与效果验证
    项目根目录执行命令训练NLU模型:
    rasa train nlu
    训练完成后执行交互测试命令:
    rasa shell nlu
    输入测试语句,直接看返回的意图置信度、实体抽取结果是否符合预期,识别错误的样本直接补到nlu.yml的对应意图下重新训练,迭代3-5轮基本就能覆盖大部分常见问法。

注意:如果初始无标注数据量很大,可以先用小批量标注数据训出初版模型,用模型给剩余未标注数据做预标注,再人工校正标注结果,能省70%以上的标注时间。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 05:42:31