Dialogflow fullfillment

Dialogflow – rozpoczęcie rozmowy [4]

W poprzednim wpisie pokazałem Wam jak zintegrować Dialogflow z Messenger’em, a dzisiaj rozpoczniemy już właściwą pracę nad chatbotem – skonfigurujemy rozpoczęcie rozmowy z subskrybentem. Dla przypomnienia dodam, że chatbot ten będzie miał za zadanie pomóc użytkownikowi w nauce języka angielskiego . Użytkownik będzie mógł w prosty sposób dodawać słówka, których chce się nauczyć, a bot mu pomoże w nauce generując różnego rodzaju quizy, fiszki i testy. 

Początek rozmowy, który dzisiaj stworzę będzie polegał na krótkim przedstawieniu się bota, zadaniu pytania czy użytkownik jest dalej zainteresowany interakcją z nim. Po otrzymaniu odpowiedzi powinno nastąpić przejście dalej lub podziękowanie za dotychczasową współpracę i pożegnanie się.

Welcome intent

Pierwszą rzeczą jaką powinien zrobić chatbot po rozpoczęciu rozmowy przez użytkownika jest wysłanie wiadomości powitalnej, przedstawienie się, wyjaśnienie do czego służy itp. itd. Aby to zrealizować dodam nowy intent, który będzie odpowiedzialny za przeprowadzenie użytkownika przez początek rozmowy. Takie są początkowe parametry nowo-dodanego intent-u:

  • Name: welcome
  • Output context: welcome-message
  • Events: Facebook Welcome
  • Training phrases:

Teraz kilka słów wyjaśnienia:

  • Ustawiony Output context służy do ograniczenia przeszukiwanych intent do tych, które występują w wybranym kontekście. W moim przypadku służyć będzie do zidentyfikowania czy użytkownik odpowiadająć np. Tak, miał na myśli chęć dalszej współpracy. (więcej informacji znajdziecie w dokumentacji)
  • Events służą do zdefiniowana zdarzeń, które powodować będą uruchomienie intent (poza mówieniem lub pisaniem). Do wyboru mamy wiele predefiniowanych zdarzeń, a ja wybrałem spośród nich event Facebook Welcome, który ma miejsce gdy użytkownik rozpoczyna rozmowę z chatbotem na Messenger’ze.
  • Training phrases pozostawiłem puste, ponieważ w domyśle intent będzie uruchamiany tylko zaraz po rozpoczęciu rozmowy i nie powinien być wywoływany w żaden inny sposób

Dialogflow rozpoczęcie rozmowy

Odpowiedzi jakie dodałem do zakładki Default to:

A do zakładki Facebook Messenger:

Dialogflow rozpoczęcie rozmowy

I teraz ponownie kilka słów wyjaśnienia:

  • zakładka Default to zakładka, w której umieszczamy odpowiedzi uniwersalne, bez znaczenia na którą platformę
  • w zakładce Facebook Messenger są umieszczone odpowiedzi, które będą wysyłane subskrybentom Messenger’a
  • dodatkowy switch, który jest zaznaczony w zakładce Facebook Messenger oznacza, że najpierw wysłana zostanie odpowiedź z zakładki Default, a następnie ta zdefiniowana w bieżącej zakładce
  • Quick replies to element specyficzny dla m.in. Messenger’a, który wyświetla pytanie i buttony z proponowanymi odpowiedziami

Not interested intent

Tak jak mogliście zauważyć, dajemy użytkownikowi możliwość wyboru – może się zgodzić na dalszą współpracę lub podziękować. W tym drugim przypadku chcemy go grzecznie pożegnać. Aby móc zidentyfikować brak zainteresowania użytkownika stworzymy nowy intent:

  • Name: welcome_not_interested
  • Input context: welcome-message
  • Training phrases: Nie jestem, dzieki, nie, nie dzieki, Nie, dzięki 👎

Input context jest rozwinięciem kontekstu, który ustawiliśmy wczesniej. Oznacza mniej więcej tyle, że identyfikuje odpowiedź tylko jeśli została udzielona na pytanie zadane w rozmowie powitalnej.  W tym przypadku dodatkowo definiujemy zbór fraz testowych, w której poza frazą znajdującą się na przycisku Nie, dzięki 👎 dodajemy kilka innych, aby zabezpieczyć się przed ewentualnościa wpisania odpowiedzi przez użytkownika ręcznie.

welcome_not_interested

Jak już mamy skonfigurowany intent wystarczy dodać odpowiedź i ścieżkę odmowy mamy już załatwioną.

Interested intent

W przypadku gdy użytkownik jest zainteresowany dalszą interakcję musimy tę intencję rozpoznać. W tym celu tworzymy intent:

  • Name: welcome_interested
  • Input context: welcome-message
  • Training phrases: Tak, yes, pewnie, Pewnie 👍, ok

Tutaj podobnie jak w przypadku wcześniejszym, przypisujemy kontekst oraz definiujemy zbiór fraz treningowych.

welcome interested intent

Do odpowiedzi dodaję następnie krótki wstęp czym będzie zajmował się bot i… i to w zasadzie tyle na tą chwilę.

welcome interested

Podsumowanie

Właśnie stworzyliśmy razem początek rozmowy z chatbotem. Bot przywitał użytkownika, spytał czy na pewno chce przejść dalej i zareagował odpowiednio na odpowiedź użytkownika. Poznaliśmy dzięki temu podstawowe funkcjonalności związane z konfiguracją intent: events, training phrases, context, responses. W kolejnym wpisie przejdziemy już do definiowania podstawowych możliwości bota oraz stworzymy menu główne chatbota.

Poprzednie wpisy z tej serii:

Udostępnij: