Раса, как получить значение (слот) от пользователя - PullRequest
1 голос
/ 11 октября 2019

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

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

Это даст мне преимущество, если я смогу увидеть пример nlu, story и domain, где

  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

1 Ответ

0 голосов
/ 25 октября 2019

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

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

## 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)

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

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

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

...