🏛️ Menedżer dialogu chatbota rządowego — obserwuj maszynę stanów obsługującą obywatela
Interaktywny symulator maszyny stanów dialogu: obserwuj, jak chatbot obsługi obywateli klasyfikuje intencję, wypełnia sloty i prowadzi rzeczywistą rozmowę o usłudze rządowej krok po kroku.
O menedżerze dialogu chatbota rządowego
Większość chatbotów rządowych skierowanych do obywateli nie jest napędzana pojedynczym modelem czarnej skrzynki zgadującym kolejną odpowiedź — pod przyjaznym oknem czatu znajduje się maszyna stanów dialogu: graf nazwanych stanów („oczekiwanie na identyfikator nieruchomości”, „potwierdzanie typu zezwolenia”, „przekazano człowiekowi”) połączonych przejściami, które uruchamiają się tylko wtedy, gdy rozumienie przez system bieżącej wiadomości pasuje do tego, czego oczekuje dany stan. Utrzymuje to rozmowę przewidywalną i możliwą do audytu, co ma znaczenie, gdy bot podaje opłatę, potwierdza termin złożenia wniosku lub rejestruje zgłoszenie, które gmina musi rozpatrzyć.
Ta symulacja renderuje ten graf bezpośrednio: stan początkowy rozgałęzia się na trzy intencje usługowe — Podatek od nieruchomości, Wniosek o zezwolenie i Zgłoś problem — plus bezpośrednie wyjście „Porozmawiaj z człowiekiem”, a każda gałąź przechodzi przez własne stany wypełniania slotów, zanim połączy się z powrotem przy „Coś jeszcze?”. Kliknij wbudowane przykładowe wiadomości (lub wpisz własne), a mała, oparta na regułach warstwa NLU decyduje, na podstawie bieżącego stanu i wysłanego tekstu, do którego stanu przejść dalej — w tym zapętlając się z powrotem na sobie samym, jeśli wymagany slot nie został znaleziony, dokładnie tak, jak zrobiłby to produkcyjny menedżer dialogu.
Najczęściej zadawane pytania
Czym jest maszyna stanów dialogu i czym różni się od pojedynczego klasyfikatora intencji?
Pojedynczy klasyfikator intencji patrzy na jedną wiadomość w izolacji i zwraca etykietę — „podatek od nieruchomości”, „zezwolenie”, „skarga” — bez pamięci o tym, co było wcześniej. Maszyna stanów dialogu śledzi za to bieżący stan (np. „oczekiwanie na identyfikator nieruchomości”) i akceptuje tylko przejścia, które mają sens z tego stanu, wykorzystując nadchodzącą wiadomość, by zdecydować, którą krawędzią podążyć. Pozwala to, by to samo słowo znaczyło co innego w różnych stanach — „ul. Dębowa 123” jest adresem, gdy bot o niego pyta, a bezsensownym szumem w innym przypadku — i pozwala systemowi pamiętać, o co już zapytano i na co odpowiedziano na przestrzeni wielu tur, a nie tylko ostatniej wiadomości.
Co oznacza „wypełnianie slotów” w konwersacyjnym systemie AI?
Gdy intencja jest już znana (powiedzmy, „Wniosek o zezwolenie”), system zwykle wciąż potrzebuje kilku fragmentów ustrukturyzowanej informacji — zwanych slotami — zanim będzie mógł działać: adresu, typu zezwolenia, może daty. Wypełnianie slotów to proces wydobywania każdej z tych wartości z odpowiedzi użytkownika w wolnym tekście i zapisywania ich w małym ustrukturyzowanym rekordzie. Wniosek o zezwolenie nie jest możliwy do realizacji, dopóki każdy wymagany slot (adres, typ_zezwolenia) nie ma wartości; zadaniem menedżera dialogu jest wciąż pytać o to, co wciąż jest puste.
Dlaczego bot zapętla się z powrotem, gdy brakuje slotu, zamiast po prostu zapytać raz?
Prawdziwi użytkownicy często odpowiadają na inne pytanie niż zadane, zbaczają z tematu lub podają odpowiedź, której ekstraktor nie potrafi sparsować („ten duży w pobliżu szkoły” nie jest adresem możliwym do sparsowania). Gdyby maszyna stanów po prostu przechodziła dalej niezależnie od tego, próbowałaby wyszukać zezwolenie z brakującym adresem i zawiodła bezgłośnie lub uległa awarii dalej w potoku. Zamiast tego stan „pytania” ma pętlę zwrotną: jeśli oczekiwany wzorzec slotu nie zostanie wykryty w odpowiedzi, maszyna pozostaje w tym samym stanie i ponawia pytanie. Ta pętla to dokładnie to, co ta symulacja liczy jako „pętlę wypełniania slotu” — rzeczywisty, mierzalny sygnał tego, ile tarcia spowodowała dana tura.