Как реализовать диалоговый чат-бот с использованием Rasa Core и Rasa NLU? - PullRequest
0 голосов
/ 30 июня 2018

Я могу разработать ChatBot Dialog Flow с Rasa Core и Rasa NLU. Но не удалось реализовать диалоговый чат-бот. Любой может, пожалуйста, помогите мне в этом.

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 голосов
/ 13 июля 2018

Поскольку вы понимаете, что могут быть ситуации, когда пользователь будет запрашивать счетчик отпусков, вам нужно учесть это и в 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   

Я бы также использовал функциональность FormAction в Rasa Core (см. https://core.rasa.com/patterns.html). Создание настраиваемого действия, в котором вы определяете обязательные поля (например, StartDate, TypeOfLeave и т. Д.). Это поможет справиться с ситуациями, когда пользователь уже вводите необходимую информацию в одном предложении. Конечно же, обучайте rasa_nlu и этим возможностям

0 голосов
/ 30 июня 2018

С Rasa Core поток разговоров учится на реальных примерах. Таким образом, вы также должны предоставить примеры разговоров, где пользователь не сотрудничает, и как бот должен реагировать в этих случаях.

Если вы предоставите только примеры, в которых пользователь предоставляет всю запрошенную информацию, то это все, что Rasa Core будет знать, как с этим обращаться.

...