首页 文章

如何使用Rasa Core和Rasa NLU实现对话聊天机器人?

提问于
浏览
-3

我能够使用Rasa Core和Rasa NLU开发Dialog Flow ChatBot . 但无法实现对话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.

场景1:

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

场景2:

如果我以负面的方式或不同的问题进入,循环不会破坏 .

假设

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

User: show me my leaves count

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

如何打破对话流并使其成为会话对象 .

2 回答

  • 0

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

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

  • 1

    由于您认识到可能存在用户将查询休假计数的情况,因此您还需要在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这些可能性

相关问题