admin管理员组文章数量:1794759
Transformer课程 业务对话机器人Rasa 3.x Contextual Conversations
Transformer课程 业务对话机器人Rasa 3.x Contextual Conversations
Rasa 官网Learn more about Rasa: rasa Rasa documentation: rasa/docs Join the Rasa Community: forum.rasa Twitter: twitter/Rasa_HQ Facebook: www.facebook/RasaHQ Linkedin: www.linkedin/company/rasa Youtube :www.youtube/watch?v=aqe8zmUGh-s
Contextual Conversations考虑上下文通常是提供良好用户体验的关键。本页是创建上下文对话模式的指南。
在上下文对话中,对话中前一步之外的内容会影响下一步应该发生的事情。例如,如果用户询问“有多少?”,仅仅从信中还不清楚用户在问什么。在助手说“你有邮件”的情况下,回答可能是“你的邮箱里有五封信”。在关于未付账单的对话中,回答可能是“你有三张逾期账单”。助手需要知道上一个操作才能选择下一个操作。
要创建上下文感知会话助手,您需要定义会话历史如何影响下一个响应。
例如,如果用户询问示例音乐会机器人如何开始,机器人会根据他们是否喜欢音乐做出不同的响应:
与喜欢音乐的用户的对话:
与不喜欢音乐的用户的对话:
Step-by-step Guide on Creating Contextual Conversation Patterns 1. Defining Slots插槽是助理的内存。插槽存储您的助手稍后需要参考的信片段,可以根据插槽设置slot_was_set事件引导对话流程。有不同类型的插槽,每个插槽都以自己的方式影响会话流。
在音乐会机器人示例中,likes_music槽是一个布尔槽。如果为true,则bot发送一条介绍消。如果为false,则bot发送另一条消。在域中定义插槽及其类型: domain.yml
slots: likes_music: type: bool mappings: - type: custom 2. Creating Stories故事是对话应该如何进行的例子。在上面的示例中,音乐会机器人对喜欢音乐的用户和不喜欢音乐的用户的响应不同,因为这两个故事: stories.yml
stories: - story: User likes music steps: - intent: how_to_get_started - action: utter_get_started - intent: affirm - action: action_set_music_preference - slot_was_set: - likes_music: True - action: utter_awesome - story: User doesn't like music steps: - intent: how_to_get_started - action: utter_get_started - intent: deny - action: action_set_music_preference - slot_was_set: - likes_music: False - action: utter_goodbye这些故事根据用户的意图(肯定或否定)而有所不同。根据用户的意图,自定义操作会设置一个槽,进一步引导对话。
3. Configuring the TEDPolicy除了添加故事来解释上下文之外,机器学习策略还可以帮助您的模型概括为看不见的对话路径。重要的是要理解,使用机器学习策略并不意味着放弃对助手的控制。如果基于规则的策略能够进行预测,则该预测将始终具有更高的策略优先级,并将预测下一个操作。
TED策略用于处理意外的用户行为。例如,在下面的对话中(摘自Rasa X上的对话):
stories: - story: Story from conversation with a2baab6c83054bfaa8d598459c659d2a on November 28th 2019 steps: - checkpoint: STORY_START - intent: greet - action: action_greet_user - slot_was_set: - shown_privacy: true - intent: ask_whoisit - action: action_chitchat - intent: ask_whatspossible - action: action_chitchat - intent: telljoke - action: action_chitchat - intent: how_to_get_started entities: - product: x - slot_was_set: - product: x - action: utter_explain_x - action: utter_also_explain_nlucore - intent: affirm - action: utter_explain_nlu - action: utter_explain_core - action: utter_direct_to_step2在这里,我们可以看到用户首先完成了一些聊天任务,然后最终询问他们如何开始使用Rasa X。TED策略正确地预测了Rasa X应该向用户解释,然后还引导他们开始使用,而不需要先询问所有符合条件的问题。
由于机器学习策略已经推广到这种情况,您应该将此故事添加到您的训练数据中,以不断改进您的机器人,并帮助模型在将来更好地推广。RASAX是一个工具,可以帮助您改进您的机器人,使其更加上下文化。
Setting max_history
通常,只有一定数量的上下文与您的助手相关。max_history是Rasa对话管理策略的超参数,用于控制模型在对话中查看多少步骤以决定下一步要采取的操作。
在下面的故事中,用户连续三次请求帮助。前两次,机器人发送相同的信,但第三次,它将它们交给人工客服 stories.yml
stories: - story: user persists in asking for help steps: - intent: help - action: utter_help - intent: help - action: utter_help - intent: help - action: action_human_handoff为了让模型了解这种模式,它至少需要知道前面的四个步骤,即四个的最大历史信max_history。如果max_history为3,则模型将没有足够的上下文来查看用户已经发送了两个帮助请求,并且永远不会预测人工切换操作。
通过将max_history 历史记录传递到配置文件中的策略设置,可以设置max_history ,例如:
config.yml
policies: - name: "TEDPolicy" max_history: 5您需要确保将max_history设置得足够高,以便您的助手能够准确预测下一步要做什么。有关更多详细信,请参阅Featureizer上的文档。
Summary以下是您可以应用的概念摘要,以使您的助手能够进行上下文对话:
-
为上下文对话写故事
-
使用插槽存储上下文信以供以后使用
-
根据bot所需的上下文量,为策略设置最大历史记录
-
使用TED策略对不可见的对话路径进行泛化
rasa 链接 rasa/docs/rasa/contextual-conversations
Rasa系列博客:- 业务对话机器人Rasa 3.x Internals及Rasa框架定制实战
- 业务对话机器人Rasa核心算法DIET及TED论文详解
- 业务对话机器人Rasa 3.x部署安装初体验
- 业务对话机器人Rasa 3.x Playground
- 业务对话机器人Rasa 3.x Command Line Interface
- 业务对话机器人Rasa 3.x 命令 rasa shell 及rasa run
- 业务对话机器人Rasa 3.x 命令rasa run actions、rasa test、rasa data split 、rasa data convert nlu
- 业务对话机器人Rasa 3.x 命令rasa data migrate、rasa data validate、rasa export、rasa evaluate markers、rasa x
- 业务对话机器人Rasa 3.x 会话驱动开发(Conversation-Driven Development)
- 业务对话机器人Rasa 3.x 生成自然语言理解NLU数据
- 业务对话机器人Rasa 3.x 写入会话数据(Writing Conversation Data)
- 业务对话机器人Rasa 3.x 聊天和FAQs常见问题解答
- 业务对话机器人Rasa 3.x docker安装部署
- 业务对话机器人Rasa 3.x Handling Business Logic
- 业务对话机器人Rasa 3.x Fallback and Human Handoff
- 业务对话机器人Rasa 3.x Handling Unexpected Input
本文标签: 机器人课程业务TransformerConversations
版权声明:本文标题:Transformer课程 业务对话机器人Rasa 3.x Contextual Conversations 内容由林淑君副主任自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.xiehuijuan.com/baike/1686996154a126746.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论