Case StudiesBlogO nas
Porozmawiajmy

Co to jest Google Dialogflow?

Kasia Pryczek

11 sie 20217 min czytania

Startups

Spis treści

  • Rozmowy firma–klient

  • Jak działa Dialogflow?

  • Czym jest agent Dialogflow?

  • Czym jest intencja w Dialogflow?

  • Czym jest encja w Dialogflow?

  • Czym jest intencja follow-up w Dialogflow?

  • Rozumienie języka naturalnego

Bez wątpienia obserwujemy wyraźny wzrost usług software’owych, które pomagają firmom ułatwiać klientom dostęp do ich ofert. Coraz częściej zarówno duże, jak i małe przedsiębiorstwa sięgają po takie rozwiązania technologiczne, co zmienia sposób komunikacji na linii firma–klient. Dzięki szybszym, niemal natychmiastowym odpowiedziom na pytania firmy mogą podnosić satysfakcję klientów i wzmacniać ich lojalność.

Osobiście długo byłem sceptyczny wobec korzystania z bota, jednak gdy w kilka minut dostałem szybkie i proste rozwiązanie mojego problemu, zmieniłem zdanie. Pozostaje jednak pytanie: czy chatboty są tak samo niezawodne jak tradycyjna obsługa klienta i czy potrafią wystarczająco naturalnie radzić sobie z indywidualnymi sprawami użytkowników? 

Podczas pracy nad niedawnym projektem trafiłem na produkt z ekosystemu Google Cloud Platform o nazwie Dialogflow. Okazał się bardzo ciekawym eksperymentem i zadziałał lepiej, niż się spodziewałem – stąd ten artykuł.

Rozmowy firma–klient

Dialogflow to usługa w ramach Google Cloud Platform, która umożliwia rozmowy firma–klient głosowo lub tekstowo i opiera się na przetwarzaniu języka naturalnego (NLP). Dzięki szerokim możliwościom integracji dobrze sprawdzi się w praktycznie każdym rodzaju biznesu. Można go używać w wielu popularnych platformach i usługach, takich jak Facebook Messenger, Slack, Skype, Twitter,  Amazon Alexa, Hangouts Chat, Viber czy Twillio. W przeciwieństwie do wielu istniejących chatbotów opartych na sztywno zaprojektowanych ścieżkach dialogu, Dialogflow zapewnia lepszy UX dzięki wykorzystaniu uczenia maszynowego. Obecna wersja próbna (idealna do projektów niekomercyjnych) jest bezpłatna i stanowi dobry punkt startowy przy pracy z chatbotami i aplikacjami głosowymi. Wersja standardowa w zupełności wystarczy dla małej firmy, bo rozliczana jest za użycie – $0,002 za zapytanie tekstowe. 

Jak działa Dialogflow?

W zależności od złożoności rozmów, potrzeby prezentowania spersonalizowanych danych klientowi lub zapisywania ich w bazie oraz liczby scenariuszy przewidywanych w obrębie jednego tematu, czas potrzebny na stworzenie chatbota może się znacznie różnić. Sam schemat działania jest jednak w skrócie wszędzie taki sam: 

  • Użytkownik wysyła zapytanie do Twojej aplikacji
  • Twoja aplikacja przekazuje wiadomość użytkownika do Dialogflow
  • Dialogflow kategoryzuje zamiar zapytania (przypisując właściwą intencję)
  • Po znalezieniu odpowiedniej intencji Dialogflow korzysta z przypisanych encji lub parametrów kontekstu, a w razie potrzeby pobiera dane zewnętrzne przez webhooki i przygotowuje sformatowaną, spersonalizowaną odpowiedź
  • Odpowiedź jest odsyłana do aplikacji
  • Użytkownik otrzymuje odpowiedź 

Aby lepiej zrozumieć ten przepływ, co jest kluczowe przy tworzeniu pierwszego chatbota, warto poznać strukturę agenta oraz to, czym są intencje, encje i konteksty.

Czym jest agent Dialogflow?

Agent Dialogflow to wirtualny agent przeznaczony do prowadzenia rozmów w ramach konkretnego chatbota. Zawiera pełną strukturę do tworzenia naturalnego przepływu dialogu i stanowi warstwę nadrzędną dla konfiguracji językowych oraz bazę wiedzy do dalszego trenowania agenta. Agent obsługuje rozmowy w ponad 20 językach i w razie potrzeby może być wielojęzyczny. Podobnie jak u ludzi, agent jest tak dobry, jak go wyszkolimy; jego wiedza powstaje dzięki mechanizmom uczenia maszynowego, takim jak intencje i encje.

Czym jest intencja w Dialogflow?

Najważniejszym elementem struktury Dialogflow, odpowiedzialnym za rozpoznanie zamiaru użytkownika, jest intencja. Odnalezienie właściwej intencji ma kluczowe znaczenie dla ułożenia rozmowy. Określa, czego szuka użytkownik, i pozwala przygotować naturalne odpowiedzi w wielu wariantach tekstowych oraz z użyciem własnych parametrów. Z tego miejsca możemy uruchamiać webhooki, aby korzystać z danych zewnętrznych. Intencję można wywołać konkretnym zdarzeniem w aplikacji, na przykład wejściem na stronę lub rozpoznaniem wpisu użytkownika w oknie czatu. Weźmy przykład platformy do rezerwacji wizyt u lekarza. Chcemy zainicjować rozmowę w momencie, gdy użytkownik coś wpisze w oknie czatu. Najpierw powinniśmy określić, po co do nas pisze. Być może chce zarezerwować wizytę albo po prostu sprawdzić godziny otwarcia. Dla każdej z tych potrzeb tworzymy osobną Dialogflow intent

Screenshot 2023-07-24 at 09.32.54.png

Aby pomóc naszemu agentowi dopasować właściwy zamiar, tworzymy frazy treningowe. Fraza treningowa to nic innego jak przewidywany przez nas przykład możliwego wpisu, np. „Chciałbym zarezerwować wizytę”, „Jakie są wasze godziny otwarcia?” albo po prostu „Cześć”. Im więcej fraz treningowych przygotujesz, tym szybciej agent będzie się uczył. Warto dodać, że każdy wpis użytkownika jest zapisywany w historii i stanowi materiał do dalszego szkolenia agenta, co pozwala osiągać jak najlepszą trafność dopasowań. 

Screenshot 2023-07-24 at 09.20.36.png

Gdy wpis użytkownika pasuje do którejś z podanych fraz, intencja zostaje znaleziona. Jeśli wpis nie pasuje do żadnej frazy treningowej, wywoływana jest fallback intent, która obsługuje nieprzewidziane sytuacje. Możemy skonfigurować wiadomość zwrotną, aby nakierować klienta na właściwe pytanie i w efekcie uruchomić odpowiednią intencję.

Dla każdej intencji ustawiamy dalsze scenariusze. W pierwszym przypadku możemy po prostu podać statyczną odpowiedź, np. „Jesteśmy otwarci od poniedziałku do piątku w godz. 8:00–18:00”. W przypadku rezerwacji potrzebujemy od użytkownika więcej informacji, by móc kontynuować. Musimy wiedzieć kiedy i do jakiego lekarza. Do tego służą encje.

Czym jest encja w Dialogflow?

Aby zidentyfikować konkretne informacje podawane przez użytkownika, używamy encji. To zmienne, słowa lub frazy oznaczające daty, imiona, adresy czy inne unikalne dla użytkownika dane, które pomagają nam przetworzyć jego prośbę. Dialogflow domyślnie udostępnia bibliotekę encji systemowych dla popularnych typów danych, jak data, lokalizacja, adres, e‑mail itp., ale możemy też zdefiniować własne encje w sekcji Dialogflow Entities. W naszym przykładzie rezerwacji potrzebne są dwie informacje: pożądana data oraz specjalista. Datę możemy obsłużyć za pomocą encji systemowej @sys.date, a specjalistę – tworząc własną, np. @doctor. 

 

Screenshot 2023-07-24 at 09.21.57.png

Od razu przypisujemy do zmiennej @doctor tyle specjalizacji, ile przyjdzie nam do głowy. Nasz agent będzie też uczył się nowych na podstawie fraz treningowych. W sekcji „action and parameters” danej intencji definiujemy, jakich informacji oczekujemy od użytkownika. Ponieważ nie mamy jeszcze daty wizyty ani typu specjalisty i nie możemy dokończyć rezerwacji, oznaczamy je jako wymagane parametry. Następnie dodajemy więcej fraz treningowych zawierających konkretne daty i nazwy specjalizacji i mapujemy je na oczekiwane encje. Dzięki temu agent uczy się wzorca, wyszukuje te informacje w wiadomości użytkownika, zapisuje wartości lub dopytuje o brakujące dane.

Screenshot 2023-07-24 at 09.22.56.png

Screenshot 2023-07-24 at 09.23.45.png

Jeśli użytkownik nie poda w pierwszej wiadomości daty lub specjalisty, Dialogflow agent to wykryje i zada pytania pomocnicze zdefiniowane w polu prompts (actions and parameters), aby uzyskać wymagane wartości.

Screenshot 2023-07-24 at 09.24.35.png

Podane wartości są przechowywane jako zmienne wewnątrz intencji i możemy się do nich odwoływać w odpowiedziach.

Screenshot 2023-07-24 at 09.25.05.png

Gdy mamy już wszystkie informacje potrzebne do przeprowadzenia rezerwacji, możemy włączyć wywołania webhooków dla tej intencji. Pozwala to podłączyć dowolny endpoint do przetworzenia zebranych danych, sprawdzenia dostępności lekarza, zapisania wizyty w naszej bazie lub wygenerowania odpowiedzi na podstawie statusu rezerwacji bezpośrednio z aplikacji. 

Czym jest intencja follow-up w Dialogflow?

A co, jeśli jutro nie ma już wolnych terminów i chcemy zaproponować użytkownikowi inną opcję?  Tworzymy follow-up intent.  Zostanie ona dopasowana wyłącznie jako kontynuacja tematu rezerwacji i w kontekście przeniesie wszystkie parametry oraz wartości z pierwszej części dialogu. 

Dialogflow contexts działają podobnie jak konteksty w języku naturalnym. Gdy ktoś mówi „tak”, potrzebujesz kontekstu, by zrozumieć, na co odpowiada.

Dzięki follow-up intents możemy budować wiele scenariuszy dialogu i obsługiwać je indywidualnie. Zadając właściwe pytania, prowadzimy użytkowników do odpowiedzi, których potrzebujemy. Przykładowo pytanie „Czy chcesz przełożyć wizytę na inny dzień?” najpewniej zaowocuje odpowiedzią „tak” lub „nie”. Dzięki kontekstowi łączącemu follow-up intent z intencją nadrzędną dokładnie wiemy, do którego pytania odnosi się ta odpowiedź. W naszym przykładzie możemy przygotować dwie follow-up intents z różnymi działaniami: jedna na pozytywne odpowiedzi użytkownika, gdzie użyjemy wywołania webhooka, by znaleźć najbliższy możliwy termin, a druga – by sprawnie zakończyć rozmowę. 

 

Screenshot 2023-07-24 at 09.25.36.png

Każda intencja może mieć zagnieżdżonych tyle follow-up intents i scenariuszy, ile przewidzisz. Zagnieżdżanie może być kontynuowane w nieskończoność, co pozwala uzyskać naturalny przepływ rozmowy. Zaprojektowanie maszyny, która wykorzystuje informacje przekazywane przez klientów, daje wrażenie rozmowy z prawdziwą osobą.

Ten prosty przykład może zaowocować rozmową podobną do tej poniżej. Konfiguracja po stronie Dialogflow zajęła dosłownie chwilę i brzmi dość naturalnie, choć obejmuje jedynie bardziej przewidywalne zachowania użytkowników i jeden kierunek rozwoju dialogu. Możliwości budowania dynamicznego flow są bardzo szerokie i ich opis wymagałby osobnego przewodnika. To jednak świetny materiał do eksperymentów, jeśli planujesz stworzyć bardziej zaawansowanego chatbota. 

 

Screenshot 2023-07-24 at 09.26.30.png

Screenshot 2023-07-24 at 09.27.10.png

Screenshot 2023-07-24 at 09.27.27.png

Poza ciekawą i rozbudowaną strukturą Dialogflow oferuje narzędzia do testowania krok po kroku, które przeprowadzą Cię przez cały flow i pozwolą zwizualizować, jak będzie wyglądał po stronie użytkownika. To bardzo pomocne, gdy drzewo intencji rośnie, a scenariusze stają się bardziej zaawansowane. 

Rozumienie języka naturalnego

Mało prawdopodobne, by chatboty były kiedykolwiek tak interaktywne jak ludzie – nie da się w pełni przewidzieć każdego scenariusza ani każdego wpisu użytkownika.  Jeśli jednak dobrze to przemyślisz i poświęcisz czas na zaprojektowanie właściwego flow, rozmowa z agentem Dialogflow może zapewniać zaskakująco dobre rozumienie języka naturalnego. Przyznaję, że w najbardziej zaawansowanych scenariuszach wciąż zdarzają się wiadomości źle zinterpretowane przez agenta, ale trzeba pamiętać, że proces uczenia maszynowego wymaga czasu. Im więcej pojawia się wpisów użytkowników, tym szybciej rośnie nasza baza wiedzy, a wraz z nią trafność dopasowań i odpowiedzi. Analizując rzeczywistą historię wpisów, możemy dostosowywać chatbota, dodawać kolejne frazy treningowe i „uczyć” agenta lepszego języka. Oznacza to, że w przypadku bardziej złożonych dialogów chatboty raczej nie będą całkowicie samowystarczalne – konieczne będą stałe ulepszenia z naszej strony. Mimo to wiele firm skorzysta na wdrożeniu wirtualnego agenta do natychmiastowej obsługi prostych spraw. W ten sposób oszczędzają czas klientów i własny.  

W Startup House stale szukamy nowych sposobów na większą efektywność i na to, jak pomóc Twojemu biznesowi wypracować najlepsze praktyki online. Jeśli chcesz o tym porozmawiać lub poruszyć inny obszar naszych kompetencji, napisz śmiało na

Polecane artykuły:

Rola product designera w cyklu życia produktu

Product Managerzy i 4 główne wyzwania, z którymi się mierzą

Jak error tracking i monitoring aplikacji mogą oszczędzić czas w wytwarzaniu oprogramowania

Testy bezpieczeństwa: strażnik ochrony oprogramowania

Kontrola konfiguracji: choreograf zmian w systemie

Infrastruktura testowa: fundamenty wysokiej jakości oprogramowania

Jak monetyzować produkt cyfrowy?

Jaka jest różnica między Quality Assurance a Quality Control?

Opublikowany 11 sierpnia 2021

Udostępnij


Kasia Pryczek

Ruby on Rails Developer

Digital Transformation Strategy for Siemens Finance

Cloud-based platform for Siemens Financial Services in Poland

See full Case Study
Ad image
Co to jest Google Dialogflow?
Nie przegap żadnego artykułu - zapisz się do naszego newslettera
Zgadzam się na otrzymywanie komunikacji marketingowej od Startup House. Kliknij, aby zobaczyć szczegóły

Może Ci się również spodobać...

Jak wykorzystać wczesnych użytkowników do stworzenia lepszego produktu?
User testingStartupsProduct development

Jak wykorzystać wczesnych użytkowników do stworzenia lepszego produktu?

Early adopters to kluczowi uczestnicy procesu product discovery, oferujący cenne spostrzeżenia i feedback, które mogą kształtować rozwój Twojego produktu. Identyfikując i angażując early adopterów, możesz weryfikować założenia, dopracować propozycję wartości i zbudować lepszy produkt. Poznaj skuteczne strategie znajdowania early adopterów, prowadzenia zdalnych testów z użytkownikami oraz wykorzystywania ich wiedzy, aby zyskać przewagę konkurencyjną.

Marta Przyłęcka

23 lut 20213 min czytania

Czy QA jest konieczne na wczesnym etapie planowania projektu?
Software developmentStartups

Czy QA jest konieczne na wczesnym etapie planowania projektu?

Zaangażowanie QA (Quality Assurance) na wczesnym etapie projektu przynosi liczne korzyści, w tym zapobieganie błędom, poprawę jakości oprogramowania i obniżenie kosztów. Dowiedz się, jak QA może uczestniczyć w warsztatach z klientem, analizować wymagania, projektować strategie testowe, tworzyć dokumentację testową i od razu testować nowe funkcjonalności.

Magdalena Filcek

28 maj 20216 min czytania

Modern smart factory with robotic arms, digital screens, and connected IoT devices symbolizing the role of software development in Industry 4.0.
Startup challengesStartupsGrowing companies

8 rzeczy, na które warto zwrócić uwagę przy wyborze dostawcy oprogramowania

Wybór odpowiedniego dostawcy oprogramowania to kluczowa decyzja, która może przesądzić o sukcesie Twojej firmy. Ten kompleksowy przewodnik oferuje cenne wskazówki i proces krok po kroku: jak ocenić potrzeby biznesowe, uwzględnić opinie klientów, sprawdzić referencje i certyfikaty dostawcy, ustalić kluczowe wskaźniki efektywności (KPI), zrozumieć zapisy umowy oraz zapewnić płynne przejście. Dowiedz się, jak Startup House, lider w projektowaniu i rozwoju produktów, może pomóc Ci znaleźć idealne rozwiązanie software’owe dla Twojej firmy.

David Adamick

27 lip 20216 min czytania

Gotowy, aby scentralizować swoje know-how z pomocą AI?

Rozpocznij nowy rozdział w zarządzaniu wiedzą — gdzie Asystent AI staje się centralnym filarem Twojego cyfrowego wsparcia.

Umów bezpłatną konsultację

Pracuj z zespołem, któremu ufają firmy z czołówki rynku.

Rainbow logo
Siemens logo
Toyota logo

Budujemy to, co będzie dalej.

Firma

Startup Development House sp. z o.o.

Aleje Jerozolimskie 81

Warszawa, 02-001

VAT-ID: PL5213739631

KRS: 0000624654

REGON: 364787848

Kontakt

hello@startup-house.com

Nasze biuro: +48 789 011 336

Nowy biznes: +48 798 874 852

Obserwuj nas

Award
logologologologo

Copyright © 2026 Startup Development House sp. z o.o.

UE ProjektyPolityka prywatności