多轮对话框架RASA---story

Story一种训练数据的形式,用来训练Rasa的对话管理模型。故事是用户和人工智能助手之间的对话的表示,转换为特定的格式,其中用户输入表示为相应的意图(和必要的实体),而助手的响应表示为相应的操作名称。

Stories.md 顾名思义,就是根据之前的nlu.md和domain.yml来“编故事”,决定什么行为名称,其实就是各种“规则”,来实现多轮对话。相当于一个对话流程场景,我们需要告诉机器对话场景是什么样的。

Story包括三个部分:

用户输入:*开头的语句表示用户的输入消息,我们无需使用包含某个具体内容的输入,而是使用NLU管道输出的intententities来表示可能的输入。

动作:使用-开头的语句表示要执行动作(Action),可分为utterance actionscustom actions,其中,前者在domain.yaml中定义以utter_为前缀,比如名为greet的意图,它的回复应为utter_greet;后者为自定义动作,具体逻辑由我们自己实现,虽然在定义action名称的时候没有限制,但是还是建议以action_为前缀,比如名为inform的意图fetch_profile的意图,它的response可为action_fetch_profile

事件:slots events

      Form eventsForm Action事件

Form Action即表单动作事件,是自定义Action的一种,用于一个表单操作。form activation即激活表单事件,form deactivation即注销表单事件

##开头的行表示一个story的开始,跟随的文本只用于描述;没有实际意义

*开始的行表示一个意图和填充的slot

缩进 - 开始表示Rasa NLU识别到该意图后Rasa Core要执行的action

## happy path
* greet
  - utter_greet
* mood_great
  - utter_happy
## sad path 1
* greet
  - utter_greet
* mood_unhappy
  - utter_cheer_up
  - utter_did_that_help

详细注释:

##表示注释,happy path表示用户配合度较高,

*号表示用户意图,

- utter是对意图的回复,也就是响应action,填入插槽,回应的也是greet,然后用户说要查天气,识别意图为request_weather,系统响应weather_form,需要获取所有实体信息(地点,时间),然后把name置null,返回查询天气结果,然后就可以结束本轮对话。

1* greet 表示用户输入没有entity情况;

2* inform{"people": "six"} 表示用户输入包含entity情况,响应这类intent为普通action

3* request_weather 表示用户输入Message对应的intentform action情况;

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

hblg_bobo

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值