Раса как получить значение (слот) от пользователя

Я хочу, чтобы rasa отвечал пользователям, когда они спрашивают прогноз по номеру детали.

Из того, что я прочитал, я понимаю, что мне нужно использовать слот, но я не могу найти четкого примера, который я мог бы понять, как получить номер детали от пользователя.

Это дало бы мне фору, если бы я увидел пример nlu, истории и домена, где

  1. у пользователя спрашивают номер детали
  2. Пользователь вводит номер детали
  3. Раса сообщает номер детали.

вот что у меня есть до сих пор.

domain.yml

intents:
- greet
- goodbye
- affirm
- deny
- mood_great
- mood_unhappy
- bot_challenge
- get_supplier_forecast
entities:
- partnumber
slots:
  partnumber:
    type: text
templates:
  utter_greet:
  - text: Hey! How are you?
  utter_cheer_up:
  - text: 'Here is something to cheer you up:'
    image: https://i.imgur.com/nGF1K8f.jpg
  utter_did_that_help:
  - text: Did that help you?
  utter_happy:
  - text: Great, carry on!
  utter_goodbye:
  - text: Bye
  utter_iamabot:
  - text: I am a bot, powered by Rasa.
  utter_get_part_number:
  - text: can you give me the part number please
  utter_give_me_a_minute_while_i_check:
  - text: Give me a minute while I see if I can find a forecast for {partnumber}
  utter_confirm_part_number:
  - text: Thanks you asked for forecast for {partnumber} did this help?
actions:
- utter_greet
- utter_cheer_up
- utter_did_that_help
- utter_happy
- utter_goodbye
- utter_iamabot
- utter_get_part_number
- utter_give_me_a_minute_while_i_check
- utter_confirm_part_number

nlu.md

## intent:greet
- hey
- hello
- hi
- good morning
- good evening
- hey there

## intent:goodbye
- bye
- goodbye
- see you around
- see you later

## intent:affirm
- yes
- indeed
- of course
- that sounds good
- correct

## intent:deny
- no
- never
- I don't think so
- don't like that
- no way
- not really

## intent:mood_great
- perfect
- very good
- great
- amazing
- wonderful
- I am feeling very good
- I am great
- I'm good

## intent:mood_unhappy
- sad
- very sad
- unhappy
- bad
- very bad
- awful
- terrible
- not very good
- extremely sad
- so sad

## intent:bot_challenge
- are you a bot?
- are you a human?
- am I talking to a bot?
- am I talking to a human?

## intent:get_supplier_forecast
- Give me a forecast
- Give me a part number forecast
- I want a forecast
- I want a part number forecast
- I want a forecast for a part
- I want a supplier forecast
- Forecast delivery date
- I need a part number delivery date
- I need an item delivery date
- When will i get a part delivered

Stories.md

## happy path
* greet
  - utter_greet
* mood_great
  - utter_happy

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

## sad path 2
* greet
  - utter_greet
* mood_unhappy
  - utter_cheer_up
  - utter_did_that_help
* deny
  - utter_goodbye

## say goodbye
* goodbye
  - utter_goodbye

## bot challenge
* bot_challenge
  - utter_iamabot

## give me a forecast
* get_supplier_forecast{"partnumber":"J12345-001"}
  - slot {"partnumber":"J12345-001"}
  - utter_get_part_number
  - utter_confirm_part_number


person PrestonDocks    schedule 11.10.2019    source источник


Ответы (1)


Файл домена останется прежним. Попробуйте вещи ниже.

Файл истории:

## give me a forecast path1
* get_supplier_forecast{"partnumber":null}
  - slot {"partnumber":null}
  - utter_get_part_number
## give me a forecast path2
* get_supplier_forecast{"partnumber":"J12345-001"}
  - slot {"partnumber":"J12345-001"}
  - utter_confirm_part_number

Включите этот файл NLU:

## intent:get_supplier_forecast
#this is how to mention slots in nlu file
- ['J12345-001'](partnumber)

Примечание. Я не знаю, что такое номер детали в вашем случае. Если их так много, вы можете использовать «таблицы поиска».

Сверху изменения сначала, если слот равен нулю, utter_get_part_number сработает, а если слот заполнен значением utter_confirm_part_number, сработает

Если это не удовлетворяет ваши потребности или работает не так, как ожидалось, вы можете попробовать интерактивное обучение раса. Просто запустите rasa interactive в CMD или попробуйте rasa x interactive talk. Из этого вы можете выбрать, что вы ожидаете от бота.

person V. Dhananjaya    schedule 25.10.2019