对话机器人 Rasa (三):基于规则添加一个意图对应的回复

更新日期: 2023-05-08 阅读次数: 2943 字数: 363 分类: AI

使用 Rasa rules.yml 是最简单的指定回复内容的方式,即,添加一条匹配规则。

添加一个意图对应的回复,需要编辑三个文件。

以回复用户的夸奖为例:

nlu.yml

意图识别:

data/nlu.yml

- intent: praise
  examples: |
    - 你真聪明
    - 你怎么这么聪明
    - 你太智能了
    - you are really smart
    - you are so clever

domain.yml

编辑返回的内容模板。domain.yml 中添加:

version: "3.1"

intents:
  - praise

responses:
  utter_praise:
  - text: "谢谢夸奖,毕竟没有人比我更懂摸鱼啊。ChatGPT 也不如我"

注意不要漏了 intents 里添加相应的意图,否则会在 shell 中看到警告信息:

io.py:98: UserWarning: Parsed an intent 'praise' which is not defined in the domain. Please make sure all intents are listed in the domain.

rules.yml

一条匹配规则,将意图与回复关联。 data/rules.yml

version: "3.1"

rules:

- rule: 面对别人的夸奖,要谦虚回复
  steps:
  - intent: praise
  - action: utter_praise

这里的 rule 后面的描述,只是给自己看的注释。

训练

重新训练模型

rasa train

中文对话测试

rasa shell 中进行测试:

Your input ->  你真聪明
谢谢夸奖,毕竟没有人比我更懂摸鱼啊。ChatGPT 也不如我

Your input ->  so clever
谢谢夸奖,毕竟没有人比我更懂摸鱼啊。ChatGPT 也不如我

参考

  • Rules https://rasa.com/docs/rasa/rules/
  • rule 与 story 该如何选择 https://rasa.com/docs/rasa/writing-stories/

查看合集

📖 对话机器人 Rasa 中文系列教程

tags: rasa

关于作者 🌱

我是来自山东烟台的一名开发者,有敢兴趣的话题,或者软件开发需求,欢迎加微信 zhongwei 聊聊, 查看更多联系方式