Dialogflow fullfillment

Dzisiaj chciałem rozpocząć cykl związany z Dialogflow – narzędziem od Google’a, które pomaga tworzyć chatboty wykorzystujące NLP i zintegrować je z różnymi platformami (Facebook, Web, Slack, Twitter, Telegram itp.).

W chwili pisania tego posta nie znam dokładnie tego narzędzia – znam ogólny koncept, wiem jak użyć podstawowych funkcji, wiem co oznaczają poszczególne pojęcia, ale nigdy nie tworzyłem bardziej skomplikowanych rozwiązań za pomocą tego narzędzia. Z tego powodu cykl ten potraktuję edukacyjnie i postaram się przedstawić Wam w jaki sposób stworzyć chatbota w Dialogflow i zintegrować go z wybranymi platformami. Aby bot, którego będę chciał zaimplementować był nieco ciekawszy niż dokumentacyjne przykłady (zamawianie jedzenie itp.), wpadłem na inny pomysł – chatbot, który pomoże w nauce słówek z języka angielskiego.

Założenia?

  • użytkownik będzie mógł dodawać słówka, których chce się nauczyć
  • przeglądanie dodanych słówek
  • generowanie ‚quizów’ z dodanych słówek
  • dostęp do statystyk
  • poszczególne opcje będzie mógł uruchamiać tekstowo lub wybierając odpowiednie przyciski/elementy – jeśli dana platforma pozwoli na to

Brzmi ambitnie? Nie wiem czy wszystko będzie się dało łatwo zrealizować, ale spróbujmy.

Zaczynamy

Pierwsza rzecz jaką trzeba zrobić to założenie konta na Dialogflow i stworzenie nowego agenta. Wybieram nazwę, język (polski), strefę czasową, klikam „Create” i … dzieje się. Własnie stworzyłem agenta, który będzie odpowiadał za interakcję z użytkownikiem.

Po stworzeniu agenta widzimy standardowy ekran:

Dialogflow

  • Panel nr 1 – menu (o elementach menu będę pisał nieco więcej, gdy będę używał poszczególnych elementów w implementacji)
  • Panel nr 2 – zawiera dwa „Intents” (nie chcę spolszczać tego typu słów)
    • Default Fallback Intent – agent uruchomi ten „Intent” w przypadku gdy wpisana fraza nie będzie pasowała do żadnych innych
    • Default Welcome Intent – „Intent”, który zostaje uruchomiony podczas pierwszej wizyty użytkownika (powitanie)
  • Panel nr 3 – symulator agenta, pozwala nam na bieżąco testować wprowadzane zmiany

A czym właściwie jest ten „Intent”, który pojawia się w panelu nr 2? „Intent” to nazwa grupy do jakiej agent przyporządkował wiadomość od użytkownika i służy do określenia jego zamiaru. Mam nadzieję, że nieco bardziej rozjaśni się to wraz z kolejnymi wpisami.

To tyle na dziś – postanowiłem, że posty z tej serii będą krótkie i będą odzwierciedlały to co aktualnie robię w tym temacie. Zaznaczam, że z czasem wpisy te będą mogły nosić znamiona chaosu, ponieważ koncepcja będzie mogła się zmieniać w czasie, a ograniczenia technologiczne mogą powodować drobne modyfikacje. Mimo to mam nadzieję, że wyjdzie z tego coś pożytecznego, dla Was i dla mnie.

Udostępnij: