【问题标题】:How to implement conversational chatbot using Rasa Core and Rasa NLU?如何使用 Rasa Core 和 Rasa NLU 实现对话聊天机器人?
【发布时间】:2018-06-30 16:48:32
【问题描述】:

我能够使用 Rasa Core 和 Rasa NLU 开发 Dialog Flow ChatBot。但无法实现对话式聊天机器人。有谁能帮帮我。

For example:
===============================
Bot: Hi, how can I help you ?

User: I want to apply leave.

Bot: Sure, may I know when you want to apply ?

User: 07-07-2018

Bot: Ok, How many days ?

User: 1 day

Bot: Ok, which type of leave ?

User: Casual Leave ?

Bot: You want to apply Casual Leave from 07-07-2018 to 07-07-2018 ?

Bot: Please confirm Yes / No ?

User: Yes

Bot: Congrats, your leave applied successfully.

场景一:

如果我按顺序输入所有内容就可以了。

场景 2:

如果我以否定的方式或不同的问题输入,循环不会中断。

假设

....
Bot: Ok, How many days ?

User: show me my leaves count

Bot: Ok, which type of leave ?
....

如何打破对话流程并使其成为对话式。

【问题讨论】:

    标签: python machine-learning chatbot rasa-nlu rasa-core


    【解决方案1】:

    使用 Rasa Core,可以从真实示例中学习对话流程。因此,您还应该提供用户不合作的示例对话,以及机器人在这些情况下应如何响应。

    如果您只提供用户提供所有请求信息的示例,那么 Rasa Core 将知道如何处理。

    【讨论】:

    • 用例请参考 场景 2 当 Bot 询问用户应该给出多少天数时,但如果用户输入错误或提出不同的问题示例:在给出数字之前几天他想检查他有多少叶子。然后机器人应该根据用户提出的问题做出适当的反应,它应该显示叶子数。但是 Bot 询问哪种类型的休假?这将是该序列中的下一个问题。
    【解决方案2】:

    由于您认识到用户可能会询问休假计数的情况,因此您还需要在 stories.md 中满足这一点,以训练对话引擎。

    ## Happy Flow
    * intent_applyLeave
    - utter_whichDay
    * informDay
    - utter_typeOfLeave
    * informType
    - utterConfirmation
    > checkConfirmation
    
    ## confirmYes
    > checkConfirmation
    * informYes
    - action_ApplyLeave
    
    ## confirmNo
    > checkConfirmation
    * informNo
    - action_ResetParams
    
    ## Not-so-Happy flow
    * intent_applyLeave
    - utter_whichDay
    * query_leaveBalance
    - utter_leaveBalance
    - utter_whichDay
     * informDay
    - utter_typeOfLeave
    * informType
    - utterConfirmation
    > checkConfirmation   
    

    我还将使用 Rasa Core 中的 FormAction 功能(请参阅https://core.rasa.com/patterns.html)。创建自定义操作,在其中定义必填字段(例如 StartDate、TypeOfLeave 等)。这将有助于满足用户已经在一个句子中输入必要信息的情况。当然,请务必用这些可能性训练 rasa_nlu

    【讨论】:

    • 谢谢@Edmund。我会尝试更新结果。
    • 成功了吗?另一种替代手动创建 stories.md 的方法是使用交互式学习模式
    猜你喜欢
    • 2020-11-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多