当前位置: 首页 > news >正文

Rasa中config.yml文件信息详细解释

在 Rasa 中,config.yml 是非常关键的配置文件之一,它的作用是定义你的对话机器人使用哪些模型组件来完成:

  • 意图识别(NLU)
  • 实体抽取(NER)
  • 对话管理(Core)

🧠 作用简述

部分功能
recipe指定使用哪种 Rasa 模型训练流程
assistant_id项目的唯一标识符,用于部署和版本管理
language机器人处理的语言
pipeline定义 NLU 模块的组件流水线(意图识别+实体识别)
policies定义 Core 模块使用的对话策略组件(控制对话流程)

🔍 字段逐个解析

1. recipe

指定训练流程的类型。通常使用默认值 default.v1,它会根据 pipeline 和 policies 自动训练你的模型。

recipe: default.v1

2. assistant_id

每个 Rasa 助手有一个唯一的 ID,默认系统会自动生成。用于部署时标识机器人。

assistant_id: 20250412-010713-concrete-weapon

你可以修改成自己的项目名,也可以不管它。


3. language

定义对话机器人使用的语言(比如 enzh 等)。对模型训练和分词等有影响。

language: en

若你在做中文医生助手,应改为:

language: zh

4. pipeline(NLU 组件流水线)

NLU 模型是由多个组件组成的流水线,每个组件负责特定任务,比如:

  • 分词
  • 特征提取
  • 意图识别
  • 实体识别

你当前的文件是:

pipeline: null

这表示:使用默认 pipeline。Rasa 默认 pipeline 通常包括:

pipeline:
  - name: WhitespaceTokenizer           # 分词器(按空格分)
  - name: RegexFeaturizer              # 支持正则匹配特征
  - name: LexicalSyntacticFeaturizer   # 提取词性、大小写等语言特征
  - name: CountVectorsFeaturizer       # 用词袋模型提取词向量
  - name: CountVectorsFeaturizer       # 字符级 n-gram 特征
    analyzer: char_wb
    min_ngram: 1
    max_ngram: 4
  - name: DIETClassifier               # 主意图识别和实体识别模型
    epochs: 100
    constrain_similarities: true
  - name: EntitySynonymMapper          # 实体同义词映射
  - name: ResponseSelector             # 多候选响应选择器
    epochs: 100
  - name: FallbackClassifier           # 置信度低时触发兜底逻辑
    threshold: 0.3
    ambiguity_threshold: 0.1

👉 你也可以自定义这个 pipeline,比如换成 JiebaTokenizer 用于中文分词。


5. policies(对话策略)

控制机器人如何决定下一步动作。策略是用来决定在特定上下文中说什么或做什么。

目前是:

policies: null

表示使用默认策略,通常是这几种:

policies:
  - name: MemoizationPolicy         # 记住训练数据里的对话路径
  - name: RulePolicy                # 用于处理规则(如故事文件中的规则)
  - name: TEDPolicy                 # 强大的上下文感知策略(用 transformer 架构)
    max_history: 5
    epochs: 100
    constrain_similarities: true
  - name: UnexpecTEDIntentPolicy    # 辅助检测用户意图偏差
    max_history: 5
    epochs: 100

你可以按需调整,比如关闭 MemoizationPolicy、调整 max_history 等。


🧪 示例:中文医生助手常用配置(推荐)

language: zh

pipeline:
  - name: JiebaTokenizer
  - name: RegexFeaturizer
  - name: LexicalSyntacticFeaturizer
  - name: CountVectorsFeaturizer
  - name: CountVectorsFeaturizer
    analyzer: char_wb
    min_ngram: 1
    max_ngram: 4
  - name: DIETClassifier
    epochs: 100
  - name: EntitySynonymMapper
  - name: FallbackClassifier
    threshold: 0.4
    ambiguity_threshold: 0.1

policies:
  - name: RulePolicy
  - name: MemoizationPolicy
  - name: TEDPolicy
    max_history: 5
    epochs: 100
  - name: UnexpecTEDIntentPolicy
    max_history: 5
    epochs: 100

相关文章:

  • RCE漏洞学习
  • 【Vue #3】指令补充样式绑定
  • 仿真每日一练 | Workbench移动载荷作用下旋转楼梯瞬态特性分析
  • idea 保存格式化 但是不格式化 Xml
  • 【AI论文】VCR-Bench:视频链式思考推理的综合评估框架
  • 如何查看自己 Android App 的私有数据?从 `adb backup` 到数据提取全过程
  • 01_核心系统下的技术原理解析
  • 从代码学习深度学习 - Bahdanau注意力 PyTorch版
  • 探索DeepFM:双重特征交互模型让CTR预测更精准
  • springcloud整理
  • inux 基础入门操作 第十章 C++多线程介绍 2
  • 计算齿轮故障频率|平行轴|行星轮齿轮
  • 八股系列(分布式与微服务)持续更新!
  • 初阶数据结构--链式二叉树
  • 解决电脑问题——突然断网!
  • 有宽阔的意思的单词
  • 2025认证杯一阶段各题需要使用的模型或算法(冲刺阶段)
  • Python及C++中的集合
  • 【软考系统架构设计师】信息安全技术基础
  • JVM 常用字节码指令有哪些?
  • 湖南营销型网站建设报价/全球疫情最新数据消息
  • 做网站_接活/2345网址导航官网下载
  • 宝安高端网站建设/seo站长工具 论坛
  • 青岛网站建设小公司/今日新闻大事
  • iis做网站之vps/网址域名注册信息查询
  • 响应式网站多少钱 开发/windows优化大师的功能