Budowanie botów

Trenowanie Chatbotów AI – Praktyczny Przewodnik

Witaj w kolejnym odcinku naszego Poradnika Budowania Botów. W tym artykule przyjmujemy założenie, że rozumiesz już podstawy chatbotów i konwersacyjnej AI. Jeśli jednak dopiero zaczynasz przygodę z projektowaniem botów, nie martw się. Wróć do naszego wprowadzenia, gdzie szczegółowo wyjaśniamy, czym są chatboty oraz jak je tworzyć i projektować.

Nieważne, czy jesteś początkującym czy doświadczonym bot designerem, dobra wiadomość jest taka, że nie potrzebujesz doktoratu z informatyki czy inżynierii danych, aby stworzyć wysoce efektywnego chatbota dla swojego biznesu. Dzięki odpowiednim narzędziom, zestawom danych i chęci do nauki, szybko zaimplementujesz swojego bota. Dzisiaj skupimy się na procesie, który jest prawdopodobnie najważniejszym czynnikiem wpływającym na jakość rozmów, jakie Twój chatbot może prowadzić – trenowanie bota.

Dlaczego trenowanie chatbotów jest tak istotne w konwersacyjnej AI?

Na rynku istnieje wiele dostawców chatbotów, którzy oferują gotowe, “plug-and-play” chatboty które można zintegrować z interfejsem Twojej witryny za pomocą zaledwie kilku linijek kodu. Skoro istnieje tyle funkcjonalności „od zaraz”, po co w ogóle trenować modele AI?

Aby odpowiedzieć na to pytanie, rozważmy opcje obsługi klienta dostępne offline, takie jak wsparcie telefoniczne, jakie oferuje Twoja firma. Teraz pomyśl o proporcji tych rozmów, które dotyczą konkretnych aspektów profilu klienta w odniesieniu do produktów lub usług Twojej firmy. Dla większości firm ta proporcja jest niezwykle wysoka, a skuteczne rozwiązanie wymaga trenowania chatbota.

Trenowanie polega na umożliwieniu Twojemu chatbotowi efektywnego obsługiwania konkretnych potrzeb Twojego biznesu i Twoich klientów. Pozwala on Twojemu botowi odpowiedzieć na pytania klientów, których żadne gotowe chatboty nie są w stanie zaoferować. Przykładem takiego zapytania w scenariuszu bankowym może być: „Dlaczego w zeszłym miesiącu naliczono odsetki na mojej karcie kredytowej?” Aby stworzyć satysfakcjonujące doświadczenie obsługi dla tego rodzaju zapytań i klientów, optymalizacja chatbota jest niezbędna.

Powszechne terminy używane przy trenowaniu chatbotów

Zanim zagłębimy się temat trenowania chatbota do prowadzenia przydatnych rozmów, upewnijmy się, że mówimy tym samym językiem. Oto kilka bardziej powszechnych terminów związanych z trenowaniem chatbota i modelu NLU:

  • Wypowiedzi/zwroty (Utterances/phrases): Są to pytania lub stwierdzenia, które chatbot otrzymuje od użytkownika lub testerów. Podczas szkolenia chatbota prawdopodobnie zbierzesz długą listę wypowiedzi/zwrotów, które obejmują szczegóły Twojego biznesu i branży. Ta lista pomaga w trenowaniu chatbota, aby mógł rozumieć wiele różnych sposobów, w jakie użytkownik może zadać pytanie
  • Intencja (Intent): Intencja reprezentuje ukrytą potrzebę lub cel wypowiedzi. Jeden klient może skontaktować się z chatbotem sieci hoteli, mówiąc: „Chciałbym zarezerwować pokój”, podczas gdy inny może powiedzieć: „Zostawiłem książkę w pokoju”. Jeśli chatbot skutecznie rozpoznaje intencję, jeden klient otrzyma odpowiedzi pomagające w dokonaniu rezerwacji, podczas gdy drugi zostanie przekierowany do procesu dotyczącego zagubionych przedmiotów. Umiejętność chatbota w dokładnym rozpoznawaniu tego, czego użytkownik chce (rozpoznawanie intencji), generuje ważny wskaźnik, który trenerzy botów monitorują (dokładność rozpoznawania intencji).
  • Encje (entities): Są to informacyjne fragmenty danych zawarte w wypowiedziach. Encje to często rzeczowniki, takie jak produkt lub usługa, obiekt, czas lub miejsce. Chatboty są szkolone, aby je wyodrębniać i interpretować. Encje mogą również mieć przypisane zmienne; na przykład „pojazd” może być powiązany ze słowami takimi jak „samochód”, „furgonetka”, „ciężarówka” itp. Encje można dalej podzielić na typy:
  • Większość platform do budowania chatbotów zawiera kilka wbudowanych entities, takich jak nazwisko, adres e-mail, itp.
  • Encje oparte na słowach kluczowych są używane przez specjalistów, którzy szkolą sztuczną inteligencję w przechowywaniu synonimów i wariantów terminów.
  • Regex entities są używane do rozpoznawania wzorców, takich jak adresy e-mail, numery telefonów lub numery rezerwacji.
  • Pattern entities różnicują bardziej złożone lub rzadziej używane wyrażenia.
  • Silnik NLU (NLU engine): Choć związane z przetwarzaniem języka naturalnego (NLP), rozumienie języka naturalnego (NLU) to inna dziedzina badań nad sztuczną inteligencją. NLU polega na umożliwieniu systemom komputerowym przetwarzania i interpretowania języka ludzkiego. Silnik NLU lub model NLU, takie jak zaawansowany model NLU SentiOne, to system NLU z istniejącymi algorytmami, wcześniejszym szkoleniem na zbiorach danych oraz narzędziami do dostosowywania i konfiguracji.

Trenowanie i optymalizacja silnika NLU

Trenowanie chatbota obejmuje dwa główne aspekty: trenowanie modelu NLU, a następnie testowanie samego bota.

Najpierw omówimy trening NLU. W tej fazie wzbogacasz słownictwo swojego bota, szkoląc go za pomocą danych treningowych chatbota, które obejmują wypowiedzi i encje używane do opisu Twojego biznesu, produktów i branży. Poszerzenie możliwości językowych Twojego bota pozwala mu bardziej dokładnie zrozumieć intencję użytkownika i odpowiadać na potrzeby klienta.

Jeśli kiedykolwiek miałeś frustrujące doświadczenie z chatbotem, które zakończyło się odpowiedzią: „Przepraszam, nie rozumiem, o co pytasz”, oznacza to, że zbiór danych treningowych bota nie obejmował pytania, które zadałeś, i nie był w stanie rozpoznać Twojej intencji.

Aby uniknąć takiego doświadczenia i osiągnąć wysoką dokładność rozpoznawania intencji, potrzebujesz wysokiej jakości wariacji zdań i zapytań, które Twoi klienci prawdopodobnie będą używać. Wszystko kręci się wokół objętości, ilości i trafności danych, które dostarczasz swojemu botowi. Najbardziej efektywne boty oparte na sztucznej inteligencji konwersacyjnej są zasilane dużymi zbiorami danych do swojego silnika NLU; uczenie maszynowe i modele ML działają najlepiej, gdy mają bogate materiały źródłowe do syntezowania. Obejmuje to zróżnicowane zestawy danych, które mogą zawierać tekst z analizy mediów społecznościowych, dane klientów posiadane przez Twoją firmę, transkrypcje rozmów z centrum obsługi klienta lub historyczne rozmowy z kanałów cyfrowych, takich jak Messenger, Twitter czy e-maile.

Zgromadzenie takiej ilości danych z różnych obszarów Twojej organizacji może być proste lub niezwykle trudne. Będzie to zależało od możliwości udostępniania danych w Twojej organizacji, strategii danych i ewentualnego wsparcia kilku opiekunów. Jeśli wymagania te wydają się cię przerastać, nie zniechęcaj się. Niektóre platformy chatbotów ułatwiają trenowanie NLU. SentiOne Automate dysponuje danymi z 11 lat monitorowania mediów społecznościowych, co pomogło nam poprawić precyzyjność naszego najnowocześniejszego modelu wykrywania intencji. Dzięki dodawaniu 150 milionów nowych punktów danych do naszego nagradzanego silnika NLU każdego dnia, SentiOne Automate osiąga dokładność rozpoznawania intencji wynoszącą od 94% do 96%. Oznacza to, że tylko 4-6% pytań chatbota nie jest poprawnie rozumiane. To wysoki standard. Dla większości zespołów tworzących boty, dokładność rozpoznawania intencji już na poziomie 80-85% może dostarczać doskonałe wyniki biznesowe.

Wysoka dokładność rozpoznawania intencji jest osiągana, gdy boty rozumieją synonimy, mowę potoczną i branżowe niuanse dotyczące tego, jak rzeczywiście klienci się wypowiadają. Ważne jest, aby włączyć jak najwięcej danych specyficznych dla Twojej firmy i klientów. Wiele platform oferuje bogate szkolenie NLU, co ułatwia to zadanie.

Optymalizacja chatbota dla jakościowych rozmów

Poprzednie prace polegały na umożliwieniu silnikowi NLU rozumienia zapytań i kojarzenia ich z odpowiednią intencją. W tym momencie zaprojektowałeś bota, zmapowałeś/aś przepływy rozmów, zintegrowałeś/aś systemy firmowe i… w końcu masz bota, z którym możesz rozmawiać i przetestować! Kolejnym aspektem trenowania jest optymalizacja Twojego bota w celu poprawy jego umiejętności prowadzenia rozmów i skutecznego rozwiązywania problemów klientów. Teraz musisz ocenić:

  • Czy rozpoznaje pytania?
  • Czy poprawnie odpowiada na pytania?
  • Czy udziela poprawnych odpowiedzi?

Ten etap obejmuje dopracowywanie odpowiedzi i dodawanie nowych, jeśli zostaną odkryte jakiekolwiek luki. Na tym etapie przyda się Twoja znajomość potrzeb obsługi klienta i postawienie się w pozycji klienta, aby porozumiewać się z chatbotem tak, jakby robił to faktyczny klient. Gdy Twój bot jest już aktywny i zbiera analizy, powinieneś/powinnaś kontynuować podobne cykle doskonalenia, aby stale poprawiać wskaźniki wydajności biznesowej. Ważnym wskaźnikiem dla wielu zespołów jest zdolność bota do skutecznego zamykania spraw obsługowych bez eskalacji rozmowy do agenta obsługi klienta.

Zanim usiądziesz z listą 1000 pytań do chatbota od klientów i zabierzesz się do pracy, porozmawiajmy o opcjach automatycznego testowania chatbota.

Szybsze testowanie chatbota

Wykonanie testów chatbota w sposób manualny jest bardzo czasochłonne, żmudne i wymaga ogromnego nakładu pracy. Niektóre platformy, takie jak SentiOne Automate, oferują zautomatyzowane testy chatbota, które mogą angażować bota w rozmowy i testować jakość odpowiedzi. Automatyczne testowanie może przeprowadzać tysiące rozmów przez system i drastycznie zmniejszyć nakład pracy manualnej. Zespoły testowe mogą wtedy poświęcić więcej czasu na poprawę wyników niż na wprowadzanie zapytań.

W ramach testów warto udostępnić bota osobom spoza zespołu projektowego. Dzięki świeżemu spojrzeniu mogą one pomóc w poszukiwaniu „nietypowych przypadków”, czyli zachowań bota, które nie zostały uwzględnione w obecnym planie testowym. Na przykład, jak bot reaguje na przekleństwa lub kontrowersyjne pytania? Jak radzi sobie z długą pauzą? Czy zespół nie przeoczył powszechnie używanych slangowych zwrotów lub wyrażeń potocznych?

Wprowadzanie wielojęzycznych funkcji do chatbota

Wiele chatbotów potrafi posługiwać się różnymi językami i automatycznie wnioskować o preferencjach językowych na podstawie domyślnego języka przeglądarki lub lokalizacji adresu IP.

Chatboty, takie jak SentiOne Automate, mogą również posługiwać się wieloma językami w ramach tej samej rozmowy. Użytkownicy mogą zadać pytanie po hiszpańsku, a następnie kolejne po niemiecku, a chatbot zrozumie oba pytania i udzieli odpowiedzi w odpowiednim języku. Osoby które często podróżują mogą korzystać z natychmiastowej użyteczności chatbotów, bez konieczności tłumaczenia lub wyboru języka, tak jak robią to na stronach internetowych lub w przypadku wsparcia telefonicznego. Niezależnie od miejsca pobytu, mogą natychmiastowo komunikować się w preferowanym języku.

SentiOne Automate posiada wstępnie przeszkolony wielojęzyczny silnik NLU, co ułatwia to zadanie. Zespoły mogą szkolić swojego bota w preferowanym języku, a SentiOne będzie korzystać z tego samego modelu treningowego, aby udzielać odpowiedzi w praktycznie dowolnym wybranym przez Ciebie języku. Jeśli Twoja firma głównie działa w 2-3 określonych językach, możesz zaangażować członków zespołu wielojęzycznego, aby dalej dostosować i zoptymalizować szkolenie językowe, ale nie ma konieczności sekwencyjnego szkolenia bota język po języku.

Przyśpieszenie procesu optymalizacji chatbotów za pomocą ChatGPT

Chociaż chatboty oparte na dużych modelach językowych (szczególnie ChatGPT) nie oferują takich samych funkcji obsługi klienta jak konwersacyjna AI, mogą pomóc przyspieszyć niektóre zadania związane z optymalizacją konwersacyjnych chatbotów. Oferują one możliwość łączenia i syntezowania języka. Kilka potencjalnych zastosowań to:

  • Budowanie NLU na podstawie przykładów z zestawu danych: Możesz wziąć powszechnie używane zwroty klientów, takie jak „Chciałbym poprosić o zwrot pieniędzy” i poprosić ChatGPT o przykłady podobnych zwrotów.
  • Generowanie synonimów encji: ChatGPT może szybko wygenerować listę synonimów dla powszechnie używanych słów przez klientów.
  • Tworzenie ścieżek użytkowników: Możesz poprosić ChatGPT o generowanie scenariuszy lub sekwencji działań dla powszechnych zadań, takich jak znalezienie lokalnego oddziału Twojej firmy.
  • Budowanie skryptów testowych: ChatGPT może pomóc w testowaniu. Podaj powszechne potrzeby klientów (np. sprawdzenie stanu konta) i poproś ChatGPT o wygenerowanie dziesięciu różnych sposobów ich wyrażania.
  • Tworzenie odpowiedzi bota: ChatGPT może pomóc w pisaniu odpowiedzi udzielanych przez Twojego chatbota.

Najnowsza wersja SentiOne Automate integruje ChatGPT od OpenAI, umożliwiając automatyczne generowanie zwrotów w NLU. Należy pamiętać, że tego rodzaju zastosowania są wciąż w pewnym stopniu w fazie eksperymentalnej – zawsze sprawdzaj dokładność i odpowiedniość generowanego tekstu przez ChatGPT!

Bądź na bieżąco, aby otrzymywać więcej porad dotyczących budowy botów

Mamy nadzieję, że wskazówki i porady które zawarliśmy w tym artykule pomogą ci w trenowaniu i optymalizacji chatbotów. Kontynuuj swoją podróż edukacyjną dzięki naszemu Poradnikowi Budowania Botów – w kolejnej części podpowiadamy jak wybrać najlepszy kanał komunikacji dla Twojego chatbota.

Zespół odpowiedzialny za platformę SentiOne Automate posiada głębokie doświadczenie w dziedzinie rozumienia języka naturalnego i systemów konwersacyjnej AI. Jeśli chciałbyś/abyś dowiedzieć się więcej o chatbotach opartych na sztucznej inteligencji, umów się na spotkanie z naszym zespołem ekspertów.

Pamiętaj, że mówiąc o chatbotach, mamy na myśli również voice boty. Podstawową różnicą między nimi jest sposób komunikacji, ale mają one tę samą podstawową technologię, z dodatkiem technologii przeznaczonej do rozpoznawania i generowania głosu. W związku z tym oba rozwiązania mają podobne use case’y. Dlatego zasady omówione w serii Poradnik Budowania Botów można zastosować zarówno do chatbotów, jak i voice botów, bez znaczących różnic.


 

Podsumowanie artykułu

Artykuł jest częścią serii Poradnik Budowania Botów. Podkreśla on znaczenie trenowania chatbotów w konwersacyjnej AI. Omawia istotę optymalizacji chatbotów w celu efektywnego obsługiwania konkretnych potrzeb biznesowych i klientów, umożliwiając im udzielanie precyzyjnych i satysfakcjonujących odpowiedzi. Artykuł wyjaśnia kluczowe pojęcia związane z trenowaniem chatbotów, takie jak wypowiedzi, intencje, encje i silnik NLU. Omawia proces trenowania silnika NLU oraz samego chatbota w celu poprawy jego funkcjonalności i sprawniejszego rozwiązywania problemów klientów. Artykuł wspomina również o korzyściach związanych z automatycznym testowaniem chatbotów i zdolności chatbotów do obsługi wielu języków. Dodatkowo, mówi o wykorzystaniu dużych modeli językowych, takich jak ChatGPT, w celu wspomagania procesu optymalizacji chatbotów poprzez generowanie przykładów, synonimów, ścieżek użytkowników, skryptów testowych i odpowiedzi bota.