Technologie

Tworzenie chatbot贸w Facebook Messenger z wykorzystaniem pakietu BotMan

chatbot,chatbot polski,chatbot online,chatbot messenger,chatboty w polsce,chatbot sztuczna inteligencja,laravel,botman,botman laravel,chatbot cena
chatbot,chatbot polski,chatbot online,chatbot messenger,chatboty w polsce,chatbot sztuczna inteligencja,laravel,botman,botman laravel,chatbot cena

Wed艂ug badania przeprowadzonego przez Oracle, a偶 80% mi臋dzynarodowych firm deklaruje wprowadzenie chatbota do ko艅ca 2020 roku. W Polsce tak偶e coraz wi臋cej biznes贸w z r贸偶nych segment贸w decyduje si臋 wykorzysta膰 chatboty by usprawni膰 obs艂ug臋 klienta. Ma to szereg zalet:  chatbot jest dost臋pny dla klient贸w 24 na dob臋 7 dni w tygodniu, dzi臋ki niemu zesp贸艂 obs艂ugi klienta b臋dzie m贸g艂 po艣wi臋ci膰 wi臋cej czasu konsumentom, o niestandardowych zapytaniach, a wszystkie typowe przypadki u偶ycia mog膮 zosta膰 zautomatyzowane, ku zadowoleniu obu stron.


Istnieje kilka opcji tworzenia chatbot贸w na platform臋 Facebook Messenger. Mo偶na je rozdzieli膰 na dwie g艂贸wne kategorie: do-it-yourself oraz programowalne. Podej艣cie 鈥濪IY鈥 do prostych chatbot贸w nadaje si臋 艣wietnie, gdy偶 mo偶na 鈥瀢yklika膰鈥 wszystkie po偶膮dane scenariusze i nie potrzebujemy do tego zaawansowanej wiedzy programistycznej. Tak偶e 艣wietnie nadaj膮 si臋 one do przygotowywania prostych demo czy proof of concept. Najpopularniejsze serwisy tego typu to chatfuel.com, botfuel.com i botsociety.io.

W tym artykule chcia艂bym opowiedzie膰 o drugiej opcji z dw贸ch powod贸w: ma ona du偶o wi臋ksze mo偶liwo艣ci, a tak偶e dlatego, 偶e si臋 w niej specjalizujemy.


Jak programujemy chatboty?

Najpro艣ciej rzecz ujmuj膮c - chatbota mo偶emy por贸wna膰 do systemu IVR, czyli dobrze znanych infolinii. Pod艂膮czamy nasz program do komunikatora. S艂ucha on wiadomo艣ci, kt贸re otrzymujemy i je艣li rozpozna wiadomo艣膰, do kt贸rej obs艂ugi zosta艂 zaprojektowany, to odpowiednio odpowie. Oczywi艣cie, jest to znacznie bardziej zaawansowany spos贸b komunikacji od infolinii, gdy偶 nie przyciskamy jedynie numer贸w, ale komunikujemy si臋 s艂owem pisanym.

Na czym polega programowanie chatbota? Na pisaniu funkcji rozpoznawania konkretnych intencji u偶ytkownika, a nast臋pnie odpowiedzi adekwatnie do tego. 呕eby jednak komunikacja nie dzia艂a艂a na zasadzie ping-ponga, lecz mo偶na by艂o przeprowadza膰 bardziej z艂o偶one procesy komunikacyjne (np. z艂o偶enie zam贸wienia), stosuje si臋 mechanizm konwersacji, czyli zawierania obs艂ugi konkretnych intencji u偶ytkownika w scenariusze. Dzi臋ki temu podej艣ciu jeste艣my w stanie reagowa膰 na te same zwroty u偶ytkownika inaczej, zale偶nie od tego w jakim scenariuszu si臋 znajdujemy.

Ostatnia faza tworzenia chatbota to jego pod艂膮czenie do komunikatora, by nas艂uchiwa艂 wiadomo艣ci od u偶ytkownik贸w i na nie odpowiada艂. Trwa to nie d艂u偶ej ni偶 15 minut.


W czym napisa膰 swojego chatbota?

Jest bardzo du偶o j臋zyk贸w programowania i narz臋dzi, kt贸re pozwalaj膮 tworzy膰 chatboty. W zasadzie wszystkie popularne j臋zyki programowania to umo偶liwiaj膮 鈥 C#, PHP, JS, Python, Ruby, Swift czy Go. My na co dzie艅 tworzymy rozwi膮zania internetowe w PHP, dlatego te偶 naturalne by艂o dla nas wykorzystanie rozwi膮za艅 stworzonych dla tego j臋zyka. I o jednym szczeg贸lnym chc臋 tu napisa膰.


Czym jest BotMan?

Jest to najbardziej popularne rozwi膮zanie do tworzenia chatbot贸w w PHP. Pakiet BotMan zosta艂 stworzony na pocz膮tku 2017 roku przez Marcela Pociota, jednego z najbardziej aktywnych tw贸rc贸w Open Source dla frameworka Laravel. 


chatbot botman

Pakiet Botman do tworzenia chatbot贸w we frameworku Laravel.


Botman od pocz膮tku projektowany by艂 jako rozwi膮zanie uniwersalne 鈥 mo偶na z niego korzysta膰 r贸wnie偶 bez frameworka Laravel. Jest te偶 uniwersalny w kontek艣cie integracji, gdy偶 obs艂uguje 鈥 poza Messengerem 鈥 r贸偶ne komunikatory, m.in. Skype, WeChat, Telegram, Amazon Alexa. Co ciekawe, pozwala r贸wnie偶 na posiadanie chatbota na swojej w艂asnej stronie 鈥 przypomina to wtedy widget live-chatu.


chatbot botman

BotMan widget do tworzenia chatbot贸w na stronie www.


Oczywi艣cie istniej膮 inne podobne rozwi膮zania, ale BotMan wygl膮da na to najbardziej kompleksowe. Jest on stale utrzymywany i dzi臋ki takim dodatkom jak Web Widget czy Playground (o kt贸rym wspomn臋 zaraz) tworzenie chatbot贸w sta艂o si臋 szybsze i 艂atwiejsze.


Napiszmy troch臋 kodu

BotMan ma bardzo dobr膮 dokumentacj臋, kt贸ra opisuje wszystkie jego mo偶liwo艣ci i zastosowania, dlatego nie chcia艂bym za bardzo jej powiela膰. Poka偶臋 w skr贸cie jak stworzy膰 nowy projekt i zaimplementowa膰 pierwsz膮 prost膮 funkcjonalno艣膰.



composer global require "botman/installer"

composer create-project --prefer-dist botman/studio 

php artisan serve

I ju偶 :) Nasz chatbot dzia艂a. Mamy mo偶liwo艣膰 przetestowania go na stronie. Jest on tak偶e gotowy by pod艂膮czy膰 go pod Messengera.  Dla nas najwa偶niejszy jest plik routes/botman.php, kt贸ry wygl膮da tak:



hears('Hi', function ($bot) {
            $bot->reply('Hello!');
        });
 
        $botman->hears('Start conversation', 
        App\Http\Controllers\BotManController::class.'@startConversation'); 

Najpierw tworzona jest instancja, kt贸ra obs艂uguje chatbota. Potem prosimy BotMana, by nas艂uchiwa艂 s艂owo 鈥濰i鈥 i je艣li ono wyst膮pi, by odpisa艂 鈥濰ello鈥. Natomiast je艣li us艂yszymy 鈥濻tart conversation鈥 鈥 BotMan uruchomi konkretn膮 metod臋 w podanym kontrolerze. W BotManie kontrolery s艂u偶膮 do logicznego grupowania scenariuszy i odpowiedzi.


Sk膮d czerpa膰 wiedz臋 o chatbotach?

Bardzo du偶o informacji znajduje si臋 w dokumentacji. BotMan posiada te偶 sw贸j kana艂 na Slacku (#BotMan), gdzie programi艣ci wymieniaj膮 si臋 wiedz膮 i rozwi膮zuj膮 problemy. Dost臋pne s膮 r贸wnie偶 kursy w postaci screencast贸w, a tak偶e ebooki, np. ten i ten. Za wykupienie kursu w postaci screencast贸w (autorstwa Marcela, tw贸rcy BotMana) dostaje si臋 dost臋p do interaktywnego edytora kodu online, kt贸ry pozwoli na testowanie chatbota natychmiast w przegl膮darce.

chatbot botman

BotMan - testowanie bezpo艣rednio w przegl膮darce.


Je偶eli chcesz dowiedzie膰 si臋 znacznie wi臋cej szczeg贸艂贸w dotycz膮cych tematu tworzenia chatbot贸w - polecam r贸wnie偶 moje wyst膮pienie na Laravel Pozna艅 Meetup o tworzeniu chatbot贸w w BotManie. M贸wi艂em tam tak偶e o specyfice Messengera i oferowanych kontrolkach. 


Zach臋camy do subskrupcji naszego kana艂u na YouTube! :)


Czy warto tworzy膰 Chatboty w BotManie?

Je艣li dotar艂e艣 do tego miejsca, to chyba wiesz ju偶 偶e tak :)

Je艣li jeste艣 programist膮 PHP, jest to 艣wietne rozwi膮zanie, kt贸re oferuje te same mo偶liwo艣ci co alternatywne rozwi膮zania w Pythonie, node.js czy Go. Dodatkowo rozwi膮zanie to ca艂y czas jest rozwijane i wspierane, co jest wa偶ne w kontek艣cie tworzenia chatbot贸w w celach komercyjnych.

My na co dzie艅 korzystamy z tego rozwi膮zania do tworzenia chatbot贸w dla nas i naszych klient贸w. Przewag膮 tego podej艣cia r贸wnie偶 w stosunku do DIY jest to, 偶e mo偶emy bez problemu informowa膰 za pomoc膮 chatbota o dynamicznych danych (np. prognoza pogody, stan zam贸wienia czy o innych danych, kt贸re przechowujemy w bazie danych lub jeste艣my w stanie wyliczy膰).

Mam nadziej臋, 偶e zach臋ci艂em Ci臋 do zainteresowania si臋 chatbotami, w szczeg贸lno艣ci BotManem, w kt贸rym tworzenie chatbot贸w  jest naprawd臋 proste i przyjemne.


Chcesz porozmawia膰 ze mn膮 o chatbotach? Napisz do nas :)

Tak!




Adam Matysiak
Za艂o偶yciel, by艂y CTO i turkusowy lider. Programista z 15-letnim do艣wiadczeniem. Pasjonat frameworku Laravel i tworzenia chatbot贸w. Prowadzi bloga "Turkusowy Prezes" i wyst臋puje na konferencjach zwi膮zanych z programowaniem i turkusowym zarz膮dzaniem. W wolnych chwilach biega i uprawia cross-fit.

Czego potrzebujesz?

Strony internetowej

Systemu informatycznego

Aplikacji mobilnej

Projektu graficznego

Wsparcia technicznego

Chatbota

Preferowana forma kontaktu

Podaj dane kontaktowe

Administratorem danych osobowych jest HighSolutions sp. z o.o. (dalej 鈥濻p贸艂ka鈥) z siedzib膮 w Tarnowie Podg贸rnym, ul. Szkolna 21/1, 62-080 Tarnowo Podg贸rne, adres email kontakt@highsolutions.pl. Szczeg贸艂owe informacje o przetwarzaniu danych osobowych znajduj膮 si臋 w polityce prywatno艣ci.

Dzi臋kujemy!

Odezwiemy si臋 wkr贸tce