1. Nauka
  2. /
  3. Kursy
  4. /
  5. Tworzenie chatbotów w Pythonie

Connected

ćwiczenie

Obsługa odmowy

Co się stanie, jeśli zaproponujesz użytkownikowi coś, co mu nie odpowiada? Bot będzie wyglądał dość nieporadnie, jeśli natychmiast zaproponuje to samo po raz drugi.

W tym ćwiczeniu zmodyfikujesz funkcję respond() tak, aby przyjmowała i zwracała 4 argumenty:

  • Wiadomość użytkownika jako argument oraz odpowiedź bota jako pierwszą wartość zwracaną.
  • Słownik params zawierający encje wskazane przez użytkownika.
  • Listę prev_suggestions. Przekazana do respond(), powinna zawierać sugestie z poprzedniej wiadomości bota. Zwrócona przez respond(), powinna zawierać bieżące sugestie.
  • Listę excluded, która przechowuje wszystkie wyniki jawnie odrzucone przez użytkownika.

Funkcja powinna dodawać poprzednie sugestie do listy wykluczeń za każdym razem, gdy otrzyma intent "deny". Powinna też odfiltrowywać wykluczone sugestie z odpowiedzi.

Instrukcje

100 XP
  • Zdefiniuj funkcję respond() przyjmującą 4 argumenty: message, params, prev_suggestions i excluded.
  • Zinterpretuj message i zapisz wynik w parse_data.
  • Wartość klucza "intent" w parse_data jest sama w sobie słownikiem par klucz-wartość. Przypisz parse_data["intent"]["name"] do zmiennej intent, a parse_data["entities"] do zmiennej entities.
  • Jeśli intent wynosi "deny", użyj metody .extend() na liście excluded, aby dodać do niej prev_suggestions.
  • Zainicjalizuj pusty słownik params oraz puste listy suggestions i excluded. Następnie kliknij Prześlij odpowiedź, aby wysłać wiadomości do bota.