对话机器人(五)——RASA:Config

本文详细介绍了RASA的配置,包括pipeline组件如语言模型(MitieNLP、spaCyNLP)、分词器、特征提取和实体识别等,以及策略部分,如TEDPolicy的多任务架构和策略优先级。同时,还涵盖了端点配置,如event broker和tracker store等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

定义了模型将用于根据用户输入进行预测的组件策略。recipe: 当前配置文件所用的格式,rasa仅支持default.v1格式。

recipe: default.v1
language: en

pipeline:
# 将由 Suggested Config 功能选择

policies:
- name: MemoizationPolicy
- name: TEDPolicy
  max_history: 5
  epochs: 10

1. pipline组件

组件构成NLU pipline并按顺序将用户输入处理成结构化输出。包含语言模型、分词器、特征提取、实体识别、意图分类、结构化输出。

组件具有以下特征:

  • 组件的顺序至关重要
  • 组件是可以替换的
  • 有些组件时互斥的
  • 有些组件可以同时使用

a. 语言模型

加载预训练的词向量模型。

(1) MitieNLP

MITIE 库需要一个语言模型文件,必须在配置中指定。

pipeline:
- name: "MitieNLP"
  # 加载语言模型
  model: "data/total_word_feature_extractor.dat"

可以使用mitie预训练自己的词向量。参考: 用 Rasa NLUpedia 制造自己的中文NLU 系统

(2) spaCyNLP

初始化 spaCy 结构。每个 spaCy 组件都依赖于此,需要放在pipline的开头。

pipeline:
- name: "SpacyNLP"
  # 加载语言模型
  model: "en_core_web_md"
  # 当检索单词向量时,这将决定单词的大小写是否相关。' False'则是忽略大小写。
  case_sensitive: False

参考: 安装 SpaCy

b. 分词器

组件 依赖 备注
JiebaTokenizer Jieba
MitieTokenizer Mitie 支持中文分词
spaCyTokenizer spaCy
  • 还可以自定义分词器
pipeline:
- name: "JiebaTokenizer"
  dictionary_path: "path/to/custom/dictionary/dir"
  # 检查是否拆分意图的标志
  "intent_tokenization_flag": False
  # 意图分割的符号
  "intent_split_symbol": "_"
  # 正则表达式检测token
  "token_pattern": None

c. 特征提取

组件 类型 特点
MitieFeaturizer 密集特征
SpacyFeaturizer 密集特征
ConveRTFeaturizer 密集特征 仅在英语会话语料库上进行训练
LanguageModelFeaturizer 密集特征
RegexFeaturizer 稀疏特征 会读取训练数据中的正则表达式配置
CountVectorsFeaturizer 稀疏特征 使用词袋模型
LexicalSyntacticFeaturizer 稀疏特征 提供词法和语法特征
(1) MitieFeaturizer
pipeline:
- name: "MitieFeaturizer"
  # 池化操作。'mean'和'max'
  "pooling": "mean"
(2) SpacyFeaturizer
pipeline:
- 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值