RASA3.0-实现FAQ和chitchat功能

多数对话机器人都需要有简单的FAQ和chichat功能。在一般情况下,FAQ和chitchat的问答数量较多。如果使用一个意图来表示一个FAQ或者chitchat并为之搭配一个动作,那么故事写起来将非常复杂,从而导致整个过程非常低效。RASA提供了NLU组件ResponseSelector实现该功能。


第一步:

在nlu.yml中增加相关intent,并提供训练数据用于意图识别,如下所示:

- intent: chitchat/whatyoucando
  examples: |
    - 你能干什么?
    - 你是干什么的?
    - 你可以做什么?
    - 你能做什么?
    - 你有什么功能?
    - 功能有哪些?
    - 你的本领是什么?
- intent: faq/checkweather
  examples: |
    - 天气来源
    - 你的天气数据哪里来的?
    - 你是怎么查询天气的?

第二步:

在responses.yml中定义机器人回复的信息内容,如下所示:

responses:
  utter_chitchat/whoyouare:
    - text: 你好,我是Hank,一个无所不能的超级对话机器人(假的)。
  utter_chitchat/whatyoucando:
    - text: 我能帮你查找中国大陆地区城市级别的当下和未来两天的天气情况,也可以查询家庭常见疾病信息。
  utter_faq/checkweather:
    - text: 数据来源是心知天气
  utter_faq/askgraph:
    - text: 东南大学的知识图谱

第三步:

在rules.yml中定义规则,将意图和动作建立规则映射,rules是基于规则的流程控制,如下所示:

rules:
  - rule: respond to FAQS
    steps:
      - intent: faq
      - actions: utter_faq
  - rule: respond to chitchat
    steps:
      - intent: chitchat
      - actions: utter_chitchat

第四步:

在config.yml中增加组件和策略,使用ResponseSelector组件用于闲chitchat和faq,使用RulePolicy策略进行规则预测,如下所示:

pipeline:
- name: ResponseSelector
policies:
- name: RulePolicy 

最后:

在domain.yml中增加对应的intents和actions,如下所示:

intents:
- chitchat
- faq
actions:
- respond_chitchat
- respond_faq 

大功告成啦!!!

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值