100 Pytań o A.I. : Jakie są najbardziej cenne porady ekspertów na temat chatbotów?

Lior Romanowsky, założyciel i dyrektor generalny Spartans AI Innovation, ma duże doświadczenie w tworzeniu i wdrażaniu chatbotów dla firm z różnych branż:

Jak myślisz, dlaczego chatboty stają się tak ważne, a korzystanie z nich rośnie tak szybko?

“Chatboty istnieją już od czasów mIRC, ale dziś w końcu kwitną z kilku powodów. Po pierwsze, aplikacje do przesyłania wiadomości stają się coraz bardziej popularne i stanowią szybko rozwijający się segment świata społecznego. Widzimy, że aplikacje takie jak Whatsapp, Messenger, Viber i inne docierają do miliardów aktywnych użytkowników, a ludzie używają ich do codziennej komunikacji. Idąc za przykładem rynków azjatyckich i WeChat, Facebook i inne wiodące aplikacje społecznościowe zaczęły otwierać swoje rozwijające się platformy na chatboty. Dzięki temu firmy i marki mogą oferować bardziej wydajny i wygodny (w większości przypadków) sposób interakcji. Zdecydowanie widzę chatboty, zarówno tekstowe, jak i wokalne, przyjmujące znacznie więcej znaczących ról w naszym życiu przez następne dziesięć lat. Będą wokół nas, od naszych chatbotów do lodówek po nasze samochody, które będą nas pytać, gdzie jechać dalej. “

Jakie są największe błędy, które zwykle popełniają firmy z chatbotami?

“Jednym z największych błędów popełnianych przez firmy w świecie chatbotów jest próba odtworzenia interfejsów ze świata mobilnego lub internetowego. Chatboty są zupełnie inne i wrażenia użytkownika powinny być zaprojektowane inaczej. Nie ma sensu odtwarzać czegoś, co użytkownicy już uwielbiają używać na innych interfejsach. Dzięki chatbotom najlepiej działa automatyczne analizy, aktualizacje i oferty, a nie tylko zwykłe informacje, takie jak to, co jest często prezentowane na stronach internetowych firmy. Innym częstym błędem jest brak jasnych wskazówek w chatbotach. Chatbot powinien poprowadzić użytkownika do najbardziej odpowiedniej opcji lub rozwiązania odpowiadającego jego potrzebom, a nie tylko czekać, aż zapyta. Wiele dużych firm zainwestowało czas i wysiłek w opracowanie chatbotów opartych na sztucznej inteligencji, które działają z nieudanymi możliwościami przetwarzania języka naturalnego (NLP). Ludzie nadal wolą prasować, a nie tylko wymyślać pytania o to, czego potrzebują. Projektując chatboty, musimy poprawnie przewidywać potrzeby użytkowników. “

Jakie są zalety Chatfuel w porównaniu do tworzenia innych chatbotów?

“Chatfuel jest prawdziwym liderem na rynku w świecie konstruktorów chatbotów. Pozwala szerokiemu spektrum użytkowników (początkujących i zaawansowanych) na łatwe tworzenie prostych chatbotów z bardzo dobrymi możliwościami integracji i bez kodowania. Kolejne przydatne narzędzie o nazwie Chatflow pozwala na krótki czas wdrożenia i weryfikację pomysłów i jest łatwe w użyciu, nawet dla osób nietechnicznych. Jest łatwy w użyciu, w większości bezpłatny i stanowi bardzo dobry punkt wyjścia dla każdego, kto chce doświadczyć rozwoju chatbota. Rozwiązania takie jak Watson, Lex, Wit i DialogFlow są zdecydowanie usługami, które są mniej dostępne i jasne dla użytkowników bez odpowiednich umiejętności kodowania chatbota. Usługi te wnoszą wiele wartości dodanej pod względem możliwości przetwarzania języka naturalnego przez AIpowered (NLP) (których brakuje w Chatfuel) i są zasadniczo komplementarne do Chatfuel. Obecnie, oprócz Chatfuel, używamy głównie DialogFlow, Wit.ai i Rasa (które jest rozwiązaniem po stronie serwera), aby dodać możliwości NLP do naszych platform i projektów klientów. “

PODEJMOWANIE PROSTYCH DECYZJI

Tu opisujemy szczegółowo, w jaki sposób teoria użyteczności łączy się z teorią prawdopodobieństwa, tworząc agenta teorii decyzji – agenta, który może podejmować racjonalne decyzje w oparciu o to, w co wierzy i czego chce. Taki agent może podejmować decyzje w kontekstach, w których niepewność i sprzeczne cele pozostawiają logicznego agenta bez możliwości podjęcia decyzji. Agent zorientowany na cel ma binarne rozróżnienie między stanami dobrymi (celowymi) i złymi (nie-celowymi), podczas gdy agent podejmujący teorię decyzji przypisuje stanom ciągły zakres wartości, dzięki czemu może łatwiej wybrać lepszy stan, nawet jeśli nie najlepszy stan jest dostępny. Wprowadzamy podstawową zasadę teorii decyzji: maksymalizację oczekiwanej użyteczności. Pokazujemy, że zachowanie racjonalnego agenta można modelować poprzez maksymalizację funkcji użyteczności. Omawiamy bardziej szczegółowo charakter funkcji użyteczności, a w szczególności ich związek z poszczególnymi wielkościami, takimi jak pieniądz. Pokazujemy, jak obsługiwać funkcje użyteczności, które zależą od kilku wielkości. Opisujemy wdrażanie systemów decyzyjnych. W szczególności wprowadzamy formalizm zwany siecią decyzyjną (znaną również jako diagram wpływów), który rozszerza sieci bayesowskie poprzez włączenie działań i narzędzi. Pokazujemy, w jaki sposób agent teorii decyzji może obliczyć wartość pozyskania nowych informacji w celu poprawy swoich decyzji. Omawiamy konsekwencje niepewności preferencji ze strony maszyny, z których najważniejszą jest szacunek dla ludzi.

100 Pytań o A.I. : Kto jest najczęstszym z dostawców Chatbot dla przedsiębiorstw?

Chociaż małe i średnie firmy mogą czuć się bardziej komfortowo, korzystając z prostych i podstawowych dostawców chatbotów, niektóre z większych organizacji B2B (business-to-business) mogą chcieć wybrać bardziej solidną i znaną firmę technologiczną do współpracy podczas tworzenia chatboty dla swoich klientów lub personelu. Poniżej znajdują się niektóre z najlepszych firm, które obecnie świadczą usługi chatbot, z których każda wymaga pewnej podstawowej wiedzy technicznej.

•  IBM Watson: IBM stworzył technologię używaną do zasilania Watson, a teraz oferuje narzędzie, które dzięki wykorzystaniu usług Watson pomaga w tworzeniu własnego chatbota konwersacyjnego, znanego jako chatbot poznawczy. To narzędzie zawiera funkcje o nazwie Watson Tone Analyzer i Watson Conversation, które pozwalają na lepszą interpretację wskazówek konwersacyjnych, pomagając użytkownikom projektować mocniejsze funkcje i aplikacje, niż jest to możliwe w przypadku podstawowych chatbotów. Ten produkt jest obecnie używany przez kilka dużych firm w Stanach Zjednoczonych, w tym 1-800-Flowers, głównego detalistę Macy′s i sieć biurową Staples. https://www.ibm.com/cloudcomputing/bluemix/watson/cognitive-chat-solution

Aby rozpocząć tworzenie chatbota za pomocą programu Watson firmy IBM, zalecamy zapoznanie się ze szczegółowym samouczkiem krok po kroku zatytułowanym Zbuduj chatbota w dziesięć minut za pomocą Watson.

www.ibm.com/blogs/watson/2016/12/build-chat-bot

•  Amazon Lex: to narzędzie do budowania chatbotów jest dostępne za pośrednictwem Amazon Web Services (AWS), które od lat jest używane jako usługa hostingu stron internetowych. Amazon Lex umożliwia użytkownikom korzystanie z automatycznego rozpoznawania mowy (ASR) i rozumienia języka naturalnego (NLU), takich samych technologii głębokiego uczenia się, jak Alexa, inteligentny osobisty asystent opracowany przez Amazon. Aby uzyskać pomoc w rozpoczęciu korzystania z Amazon Lex, możesz przejrzeć ten przewodnik: •  https://aws.amazon.com/lex/gettingstarted

•  Microsoft Bot Framework: Microsoft intensywnie inwestuje również w chatboty, współpracując z innymi firmami w celu opracowania silniejszych technologii chatbot. Dzięki Microsoft Bot Framework użytkownicy mogą tworzyć własne zaawansowane chatboty AI, które mogą być hostowane na różnych platformach, w tym na Skype, oprogramowaniu telekomunikacyjnym, które jest również własnością Microsoft. Możesz przejrzeć listę chatbotów opracowanych za pomocą Microsoft Bot Framework tutaj: https://bots.botframework.com

Możesz również wyświetlić przewodniki, jak zacząć korzystać z narzędzia dla siebie tutaj: https://dev.botframework.com

Wszystkie te zasoby wymagają pewnej wiedzy technicznej i są nieco bardziej skomplikowane w użyciu niż podstawowi dostawcy chatbotów, ale w zamian są w stanie zaoferować większe korzyści i funkcje, w tym rozpoznawanie obrazu i mowy.

Podsumowanie

Omówiliśmy ogólny problem przedstawiania i wnioskowania o probabilistycznych procesach czasowych. Główne punkty są następujące:

  • Zmieniający się stan świata jest obsługiwany za pomocą zestawu zmiennych losowych reprezentujących stan w każdym momencie.
  • Reprezentacje mogą być zaprojektowane tak, aby (w przybliżeniu) spełniały własność Markowa, tak aby przyszłość była niezależna od przeszłości biorąc pod uwagę teraźniejszość. W połączeniu z założeniem, że proces jest jednorodny w czasie, znacznie upraszcza to przedstawienie.
  • Model prawdopodobieństwa czasowego można traktować jako zawierający model przejścia opisujący ewolucję stanu oraz model czujnika opisujący proces obserwacji.
  • Główne zadania wnioskowania w modelach temporalnych to filtrowanie (oszacowanie stanu), przewidywanie, wygładzanie i obliczanie najbardziej prawdopodobnego wyjaśnienia. Każde z tych zadań można zrealizować za pomocą prostych, rekurencyjnych algorytmów, których czas działania jest liniowy w długości sekwencji.
  • Dogłębniej zbadano trzy rodziny modeli temporalnych: ukryte modele Markowa, filtry Kalmana i dynamiczne sieci bayesowskie (które obejmują pozostałe dwie jako przypadki specjalne).
  • O ile nie zostaną przyjęte specjalne założenia, jak w przypadku filtrów Kalmana, dokładne wnioskowanie z wieloma zmiennymi stanu jest niewykonalne. W praktyce algorytm filtrowania cząstek i jego potomkowie stanowią efektywną rodzinę algorytmów aproksymacyjnych.

100 Pytań o A.I. : Jakie są wspólne elementy chatbotów?

Zanim zaczniesz planować utworzenie własnego chatbota, warto poświęcić trochę czasu na pracę z kilkoma najpopularniejszymi chatbotami. Pomoże Ci to zrozumieć, jak działają, i poznać najlepsze praktyki, które pomogą Ci później zbudować najlepszą możliwą usługę chatbot. Aby rozpocząć analizę, poszukaj od trzech do pięciu chatbotów i obserwuj następujące elementy na ich temat:

•  Czy łatwo jest zrozumieć ich cel i sposób ich wykorzystania?

•  Czy ich odpowiedzi są jasne i pomocne?

•  Jakie funkcje szczególnie Ci się podobają?

•  Co uważasz za mylące lub trudne do zrozumienia?

Zapisz swoje odpowiedzi na te pytania i przeanalizuj, które aspekty chatbotów uważasz za najbardziej pozytywne i negatywne. Pomoże to określić, które elementy warto wdrożyć, a także konkretne błędy, których należy unikać, kiedy tworzysz własnego chatbota. Dwa świetne zasoby, których możesz użyć, aby znaleźć chatboty https://botlist.co i https://chatfuel.com/bots (który zawiera chatbots utworzone za pomocą Chatfuel). Istnieje wiele dobrze zaprojektowanych chatbotów, które możesz analizować. Na przykład Marriott International, Inc., duży hotel i sieć ośrodków, obecnie wkłada wiele środków w rozwój przydatnych chatbotów dla swoich gości. Jeden z takich chatbotów można znaleźć na stronie m.me/marriottrewards. Szczególnie podoba mi się film wprowadzający do tego chatbota, który wyraźnie pokazuje różne sposoby korzystania z usługi. Innym interesującym chatbotem, na który warto spojrzeć, jest GrowthBot. Stworzony przez HubSpot, został zaprojektowany, aby służyć specjalistom ds. sprzedaży i marketingu, i zapewnia wiele przydatnych informacji dotyczących tej branży. Na przykład możesz poprosić GrowthBot o listę tematów, które obecnie cieszą się popularnością na Twitterze, głównych rankingów wyszukiwania słów kluczowych Google dla dowolnej firmy lub oprogramowania używanego do prowadzenia określonej witryny. Możesz sam wypróbować tego chatbota pod adresem https://m.me/growthbot.

Rozwijaj swojego Chatbota

Gdy zaczniesz planować rozwój swojego pierwszego chatbota, spróbuj zidentyfikować kluczowe elementy, które chcesz uwzględnić. Oto kilka podstawowych przykładów czynników, które należy wziąć pod uwagę:

•  Rodzaj Chatbota: Czy chcesz stworzyć chatbota opartego na regułach lub bardziej złożonego, który oferuje elementy oparte na sztucznej inteligencji, takie jak przetwarzanie języka naturalnego? W większości przypadków polecam zacząć od chatbota opartego na regułach, który zapewnia podstawowe informacje.

•  Styl komunikacji: w zależności od potrzeb Twojej firmy, możesz dostosować dźwięk rozmowy swojego chatbota, aby był bardziej przyjazny lub nieco poważniejszy. Ogólnie rzecz biorąc, dobrym pomysłem jest utrzymywanie przyjaznych i lekkich odpowiedzi konwersacyjnych.

•  Korzystanie z emotikonów: Studiując inne chatboty, zwróć uwagę na rodzaje emotikonów, których używają w rozmowach. Prawidłowo używane emotikony poprawiają skuteczność komunikacji tekstowej. Ponieważ dodają wskazówki emocjonalne, emotikony mogą sprawić, że komunikacja będzie bardziej ludzka, co pomoże zbudować zaufanie użytkownika.

•  Treść: Jakiego rodzaju treści będziesz opiekować się dla swojego chatbota? Na przykład możesz oferować użytkownikom filmy wideo, pliki PDF lub pliki audio za pośrednictwem usługi chatbot, więc dokładnie zastanów się, które formy mediów najlepiej komunikują się z twoją grupą docelową. Aby uzyskać jeszcze bardziej efektywną obsługę i zachęcić do zaangażowania, polecam tworzenie ekskluzywnych treści dla chatbota.

•  Facebook Messenger Chatbots: Jedną z głównych zalet budowania chatbota na platformie Facebook Messenger jest możliwość ciągłego nadawania, co pozwala na częstszą komunikację z subskrybentami. Jeśli wybierzesz tę opcję, zawsze planuj swoje treści z wyprzedzeniem. Unikaj też wysyłania zbyt wielu wiadomości w krótkim czasie. W przeciwnym razie subskrybenci mogą czuć się bombardowani wiadomościami lub spamem.

Przykład Chatbota

Jeden prosty przykład wysokiej jakości chatbota pochodzi od Whole Foods, amerykańskiej sieci supermarketów, której właścicielem jest Amazon. Jest hostowany na platformie Facebook Messenger. Aby znaleźć chatbota Whole Foods, odwiedź: www.messenger.com/t/wholefoods

Podobnie jak w przypadku wszystkich chatbotów na Facebooku Messenger, na początek musisz poszukać przycisku w górnej części z napisem “Rozpocznij” i kliknąć go.

1. Wiadomość powitalna: W tym obszarze możesz powitać użytkownika i podać przegląd informacji dostarczanych przez bota. Najlepiej, aby ta treść była krótka i prosta. Zwróć uwagę, że Whole Foods oferuje także krótkie zdanie na temat tego, jak zacząć od nowa w razie potrzeby. Stąd użytkownik klika “Got It”.

2. Elementy menu głównego: w tej sekcji można znaleźć różne opcje i zdjęcia, w razie potrzeby. Zazwyczaj dobrym pomysłem jest ograniczenie pozycji menu do trzech opcji, jeśli to możliwe, aby menu nie stało się zbyt skomplikowane. Spróbuj rozważyć rzeczy, które Twoi idealni klienci najprawdopodobniej chcieliby znaleźć. W podanym przykładzie opcje chatbota Whole Foods W podanym przykładzie opcje chatbota Whole Foods obejmują:

•  Szukaj przepisów

•  Przeglądaj przepisy kulinarne

•  Znajdź sklep

3. Zanurz się głębiej w dostępne opcje: Po wybraniu “Przeglądaj przepisy”, chatbot oferuje mi jeszcze trzy opcje do wyboru, w tym rodzaj potrawy, kuchni i specjalnych diet, oprócz opcji przejścia krok wstecz w menu. Wybieram “Rodzaj potrawy”.

4. Zadaj bardziej szczegółowe pytania: na podstawie odpowiedzi, którą wybrałem powyżej, chatbot kontynuuje zadanie, pytając, którą część posiłku planuję, aby mógł odpowiednio dostosować wyświetlane informacje. Wybieram “Aplikacje, zupy i sałatki”. Chatbot odpowiada miłą wiadomością i pozwala mi być bardziej szczegółowym w mojej prośbie, sprawdzając, czy szukam przystawek, sałatek, zup lub gulaszu, a jednocześnie zapewnia sposób cofnięcia się o jeden poziom w menu.

5. Informacje są prezentowane: w oparciu o opcje wybrane powyżej, chatbot udostępnia kilka przepisów, którymi można łatwo nawigować za pomocą strzałek kierunkowych. Po wybraniu opcji “Wyświetl przepis” przekierowuję z powrotem na stronę Whole Foods, gdzie mogę zobaczyć przepis w całości. Nawigując przez chatbota Whole Foods, możesz nie tylko zobaczyć, jak działa bot, ale także cieszyć się bardziej angażującym doświadczenie w porównaniu z tradycyjnym wyszukiwaniem w witrynie internetowej firmy. W zależności od tego, jakie rzeczy będziesz oferować, możesz nie potrzebować tylu kroków, ale dobrym pomysłem jest uwzględnienie relacyjnych, konwersacyjnych odpowiedzi wraz z opcjami menu. W tym przypadku, podobnie jak w wielu innych chatbotach dla dużych firm, struktura wiadomości botów wygląda mniej więcej tak:

•  Wiadomość powitalna

•  Dostępne trzy opcje

•  Określ wyszukiwanie

•  Oferta wyników

W przypadku mniejszych firm lub usług doradczych możesz rozważyć zastosowanie nieco innej struktury, zilustrowanej poniżej:

•  Wiadomość powitalna

•  Trzy opcje

-Uzyskaj informacje o naszych produktach

– Dołącz do naszego kursu

– Skontaktuj się z nami

Poleciłbym teraz poświęcić trochę czasu na przetestowanie i przejrzenie wielu różnych chatbotów, nie tylko dużych firm, ale także niektórych mniejszych.

Wnioskowanie przybliżone w DBN

Opisano dwa algorytmy aproksymacji: ważenie wiarygodności i Monte Carlo łańcucha Markowa . Z tych dwóch ten pierwszy jest najłatwiej dostosowany do kontekstu DBN. Zobaczymy jednak, że przed pojawieniem się praktycznej metody wymagane jest kilka ulepszeń w stosunku do standardowego algorytmu ważenia wiarygodności. Przypomnijmy, że ważenie wiarygodności polega na próbkowaniu węzłów sieci w kolejności topologicznej, przy czym każda próbka jest ważona według prawdopodobieństwa, które odpowiada obserwowanym zmiennym dowodowym. Podobnie jak w przypadku dokładnych algorytmów, moglibyśmy zastosować ważenie prawdopodobieństwa bezpośrednio do rozwiniętego DBN, ale wiązałoby się to z tymi samymi problemami związanymi z rosnącymi wymaganiami czasowymi i przestrzennymi na aktualizację w miarę wzrostu sekwencji obserwacji. Problem polega na tym, że standardowy algorytm uruchamia po kolei każdą próbkę, przez całą sieć. Zamiast tego możemy po prostu uruchomić wszystkie N próbek razem przez DBN, po jednym wycinku na raz. Zmodyfikowany algorytm pasuje do ogólnego wzorca algorytmów filtrowania, z zestawem N próbek jako wiadomością do przodu. Pierwszą kluczową innowacją jest zatem wykorzystanie samych próbek jako przybliżonej reprezentacji obecnego rozkładu stanu. Spełnia to wymóg „stałego” czasu na aktualizację, chociaż stała zależy od liczby próbek wymaganych do utrzymania dokładnego przybliżenia. Nie ma również potrzeby rozwijania DBN, ponieważ musimy mieć w pamięci tylko bieżący i następny wycinek. Takie podejście nazywa się próbkowaniem według ważności sekwencyjnej lub SIS. W naszej dyskusji na temat ważenia prawdopodobieństwa w Rozdziale 13 zwróciliśmy uwagę, że dokładność algorytmu ucierpi, jeśli zmienne dowodowe znajdują się „poniżej” badanych zmiennych, ponieważ w takim przypadku próbki są generowane bez żadnego wpływu dowodów i prawie wszystkie mają bardzo niską wagę. Teraz, jeśli spojrzymy na typową strukturę DBN – powiedzmy, parasol DBN – widzimy, że rzeczywiście zmienne stanu wczesnego będą próbkowane bez korzyści z późniejszych dowodów. W rzeczywistości, przyglądając się uważniej, widzimy, że żadna ze zmiennych stanu nie ma żadnych zmiennych dowodowych wśród swoich przodków! Stąd, chociaż waga każdej próbki będzie zależeć od dowodów, rzeczywisty zestaw wygenerowanych próbek będzie całkowicie niezależny od dowodów. Na przykład, nawet jeśli szef codziennie przynosi parasol, proces pobierania próbek może nadal wywoływać halucynacje niekończących się słonecznych dni. W praktyce oznacza to, że ułamek próbek, które pozostają dość blisko rzeczywistej serii zdarzeń (a zatem mają nie pomijalne wagi) spada wykładniczo z t, długością sekwencji. Innymi słowy, aby utrzymać dany poziom dokładności, musimy zwiększać liczbę próbek wykładniczo z t. Biorąc pod uwagę, że algorytm filtrowania w czasie rzeczywistym może używać tylko ograniczonej liczby próbek, w praktyce błąd pojawia się po bardzo małej liczbie kroków aktualizacji. Rysunek

pokazuje ten efekt dla SIS zastosowany do problemu lokalizacji w świecie siatki: nawet przy 100 000 próbek aproksymacja SIS zawodzi całkowicie po około 20 krokach. Oczywiście potrzebujemy lepszego rozwiązania. Drugą kluczową innowacją jest skupienie zestawu próbek na obszarach o wysokim prawdopodobieństwie wystąpienia w przestrzeni stanów. Można to zrobić, wyrzucając próbki, które mają bardzo niską wagę, zgodnie z obserwacjami, podczas replikacji tych, które mają dużą wagę. W ten sposób populacja próbek pozostanie dość zbliżona do rzeczywistości. Jeśli myślimy o próbkach jako o zasobach do modelowania rozkładu a posteriori, sensowne jest użycie większej liczby próbek w obszarach przestrzeni stanów, w których a posteriori jest wyższa. Rodzina algorytmów zwana filtrowaniem cząstek jest przeznaczona właśnie do tego. (Inną wczesną nazwą było próbkowanie sekwencyjne z ponownym próbkowaniem, ale z jakiegoś powodu nie udało się to złapać.) Filtrowanie cząstek działa w następujący sposób: Najpierw generujemy populację N próbek z wcześniejszego rozkładu P(X0). Następnie cykl aktualizacji jest powtarzany dla każdego kroku czasowego:

  1. Każda próbka jest propagowana do przodu przez próbkowanie następnej wartości stanu xt+1 przy danej bieżącej wartości xt próbki, w oparciu o model przejścia P(Xt+1 | xt).
  2. Każda próbka jest ważona prawdopodobieństwem, które przypisuje nowemu dowodowi, P(et+1 | xt+1).
  3. Populacja jest ponownie próbkowana w celu wygenerowania nowej populacji N próbek. Każda nowa próbka jest wybierana z aktualnej populacji; prawdopodobieństwo wybrania określonej próbki jest proporcjonalne do jej wagi. Nowe próbki są nieważone.

Algorytm pokazano szczegółowo tu

a jego działanie dla parasola DBN pokazano na rysunku

Możemy pokazać, że ten algorytm jest spójny — daje prawidłowe prawdopodobieństwa, ponieważ N dąży do nieskończoności — badając operacje w jednym cyklu aktualizacji. Zakładamy, że populacja próbek zaczyna się od poprawnej reprezentacji komunikatu przekazującego — to znaczy f1:t =P(Xt | e1:t) w czasie t. Zapisując N(xt | e1:t) dla liczby próbek zajmujących stan xt po przetworzeniu obserwacji e1:t, mamy zatem

dla dużego N. Teraz propagujemy każdą próbkę do przodu, próbkując zmienne stanu w czasie t +1, biorąc pod uwagę wartości dla próbki w t. Liczba próbek osiągających stan xt+1 z każdego xt jest prawdopodobieństwem przejścia pomnożonym przez populację xt ; stąd całkowita liczba próbek osiągających xt+1 wynosi

Teraz ważymy każdą próbkę według jej prawdopodobieństwa dla dowodu w t +1. Próbka w stanie xt+1 otrzymuje wagę P(et+1 | xt+1). Całkowita waga próbek w xt+1 po zobaczeniu et+1 wynosi zatem

Teraz czas na ponowne próbkowanie. Ponieważ każda próbka jest replikowana z prawdopodobieństwem proporcjonalnym do jej wagi, liczba próbek w stanie xt+1 po resamplingu jest proporcjonalna do całkowitej wagi w xt+1 przed resamplingiem:

Dlatego populacja próbek po jednym cyklu aktualizacji prawidłowo reprezentuje komunikat do przodu w czasie t+1. Filtrowanie cząstek jest zatem spójne, ale czy jest skuteczne? W wielu praktycznych przypadkach wydaje się, że odpowiedź brzmi tak: filtrowanie cząstek wydaje się utrzymywać dobre przybliżenie do prawdziwego a posteriori przy użyciu stałej liczby próbek. Rysunek pokazuje, że filtrowanie cząstek dobrze radzi sobie z problemem lokalizacji w świecie siatki przy zaledwie tysiącu próbek.

Działa również w rzeczywistych problemach: algorytm obsługuje tysiące zastosowań w nauce i inżynierii. (Niektóre odniesienia podano na końcu rozdziału.) Obsługuje kombinacje zmiennych dyskretnych i ciągłych, a także modele nieliniowe i niegaussowskie dla zmiennych ciągłych. Przy pewnych założeniach – w szczególności, że prawdopodobieństwa w modelach przejścia i czujników są ograniczone od 0 i 1 – można również wykazać, że aproksymacja utrzymuje błąd ograniczony z dużym prawdopodobieństwem, jak sugeruje rysunek. Algorytm filtrowania cząstek ma jednak słabości. Zobaczmy, jak radzi sobie w świecie próżni z dodanym brudem. Przypomnijmy, że zwiększa to rozmiar przestrzeni stanów o współczynnik 242, czyniąc dokładne wnioskowanie HMM niewykonalne. Chcemy, aby robot wędrował po okolicy i budował mapę lokalizacji brudu. (Jest to prosty przykład jednoczesnej lokalizacji i mapowania lub SLAM, który omówimy bardziej szczegółowo w rozdziale 26.) Niech Dirti;t oznacza, że ​​kwadrat i jest brudny w czasie t i niech DirtSensort będzie prawdziwe wtedy i tylko wtedy, gdy robot wykryje brud w czasie t. Założymy, że w dowolnym kwadracie brud pozostaje z prawdopodobieństwem p, podczas gdy czysty kwadrat staje się brudny z prawdopodobieństwem 1􀀀p (co oznacza, że ​​każdy kwadrat jest brudny średnio przez połowę czasu). Robot posiada czujnik zabrudzenia dla swojej aktualnej lokalizacji; czujnik jest dokładny z prawdopodobieństwem 0,9. Rysunek przedstawia DBN.

Dla uproszczenia zaczniemy od założenia, że ​​robot ma doskonały czujnik lokalizacji, a nie zaszumiony czujnik ścienny. Działanie algorytmu pokazano na rysunku (a), gdzie jego oszacowania dla zabrudzenia są porównywane z wynikami dokładnego wnioskowania.

(Niedługo zobaczymy, jak dokładne jest możliwe wnioskowanie.) Przy niskich wartościach trwałości brudu p błąd pozostaje mały – ale nie jest to wielkie osiągnięcie, ponieważ dla każdego kwadratu prawdziwy a posteriori dla brudu jest bliski 0,5, jeśli robot nie odwiedził ostatnio tego placu. Przy wyższych wartościach p brud pozostaje dłużej, więc odwiedzenie kwadratu daje więcej przydatnych informacji, które są ważne przez dłuższy czas. Być może zaskakujące jest to, że filtrowanie cząstek działa gorzej dla wyższych wartości p. Zawodzi całkowicie, gdy p=1, chociaż wydaje się to najłatwiejszym przypadkiem: brud pojawia się w czasie 0 i zostaje na zawsze, więc po kilku wycieczkach po świecie robot powinien mieć prawie idealną mapę brudu. Dlaczego filtrowanie cząstek w tym przypadku nie działa?

Okazuje się, że teoretyczny warunek wymagający, aby „prawdopodobieństwa w modelach przejść i czujników były ściśle większe od 0 i mniejsze od 1” jest czymś więcej niż tylko matematyczną pedantyzmem. Najpierw każda cząstka zawiera 42 domysły z P(X0) o tym, które kwadraty są brudne, a które nie. Następnie stan każdej cząstki jest rzutowany do przodu w czasie zgodnie z modelem przejściowym. Niestety, model przejściowy dla brudu deterministycznego jest deterministyczny: brud pozostaje dokładnie tam, gdzie jest. Tak więc początkowe domysły w każdej cząstce nigdy nie są aktualizowane przez dowody. Szansa, że ​​wszystkie wstępne domysły są poprawne, wynosi 2-42 lub około 2×10-13, więc jest znikome prawdopodobieństwo, że tysiąc cząstek (lub nawet milion cząstek) będzie zawierało jedną z poprawną mapą brudu. Zazwyczaj najlepsza cząstka z tysiąca otrzyma około 32 dobrze, a 10 źle, i zwykle będzie tylko jedna taka cząstka, a może garść. Jedna z tych najlepszych cząstek zdominuje całkowite prawdopodobieństwo w miarę upływu czasu i załamie się różnorodność populacji cząstek. Następnie, ponieważ wszystkie cząstki zgadzają się na jednej, niepoprawnej mapie, algorytm nabiera przekonania, że ​​mapa jest poprawna i nigdy nie zmienia zdania. Na szczęście problem jednoczesnej lokalizacji i mapowania ma szczególną strukturę: uzależnione od kolejności lokalizacji robotów, stany zabrudzenia poszczególnych kwadratów są niezależne. Dokładniej,

Oznacza to, że warto zastosować sztuczkę statystyczną o nazwie Rao-Blackwellization, która opiera się na prostym założeniu, że dokładne wnioskowanie jest zawsze dokładniejsze niż próbkowanie, nawet jeśli dotyczy tylko podzbioru zmiennych. (Patrz Ćwiczenie 14.RAOB.) W przypadku problemu SLAM uruchamiamy filtrowanie cząstek w lokalizacji robota, a następnie dla każdej cząstki wykonujemy dokładne wnioskowanie HMM dla każdego kwadratu brudu niezależnie, uwarunkowane sekwencją lokalizacji w tej cząstce. Każda cząstka zawiera zatem próbkowane położenie plus 42 dokładne a posteriori dla 42 kwadratów — dokładnie, zakładając, że hipotetyczna trajektoria położenia, po której następuje ta cząstka, jest poprawna. To podejście, zwane filtrem cząstek Rao-Blackwellized, bez problemu radzi sobie z deterministycznym zabrudzeniem, stopniowo budując dokładną mapę brudu z dokładnym wykrywaniem lokalizacji lub wykrywaniem zaszumionych ścian, jak pokazano na rysunku (b). W przypadkach, które nie spełniają rodzaju warunkowej struktury niezależności, Rao-Blackwellization nie ma zastosowania. W uwagach na końcu  wymieniono szereg algorytmów, które zostały zaproponowane do rozwiązania ogólnego problemu filtrowania ze zmiennymi statycznymi. Żaden z nich nie ma takiej elegancji i szerokiego zastosowania jak filtr cząstek, ale kilka z nich jest skutecznych w praktyce w niektórych klasach problemów.

100 Pytań o A.I. : Jakie są główne wyzwania dla chatbotów?

Firmy używające chatbotów do komunikowania się z klientami są uczciwe , to ostatnia koncepcja. Te proste narzędzia pomogą poprawić komunikację między organizacjami a osobami, którym służą, zwłaszcza gdy będą one nadal rozwijane w przyszłości. Obecnie technologia chatbot jest wciąż na wczesnym etapie. Podobnie jak w przypadku większości nowych technologii, po drodze często występują przeszkody do pokonania. Jestem jednak pewien, że w ciągu kilku najbliższych lat będziemy wchodzić w interakcje z chatbotami na różne sposoby w ciągu dnia, doświadczając licznych korzyści, jakie one zapewniają. Gdy planujesz początkowy projekt własnego chatbota, możesz rozważyć niektóre z najczęstszych wyzwań, przed którymi stają dziś programiści pracujący w tej przestrzeni:

•  Brak wysokiej jakości przykładów chatbotów: jeśli chcesz stworzyć stronę internetową, możesz łatwo przejść do Google lub YouTube i znaleźć wiele samouczków i najlepszych praktyk, które pomogą Ci po drodze. Ponieważ jednak technologia chatbot jest dość nowa, znalezienie dobrych informacji na temat procesu projektowania i potencjalnych pułapek może być trudne.

•  Brak umiejętności odpowiadania na złożone pytania: Gdy dana osoba wchodzi w interakcję z chatbotem, może się łatwo sfrustrować, jeśli na pytania nie zostanie udzielona szybka lub odpowiednia odpowiedź. Niektóre z najczęściej używanych dziś chatbotów są zbudowane z logiką drzewa decyzyjnego, pracując z informacjami z dużej bazy danych i zapewniając wspaniałe zasoby, gdy wybierzesz spośród dostępnych opcji. Jednym z przykładów może być chatbot z supermarketem od Whole Foods. Jeśli jednak podasz bardziej skomplikowaną prośbę lub pytanie, te chatboty mogą nie zrozumieć niektórych używanych przez Ciebie wyrażeń lub mogą nie zwrócić właściwych informacji. Ponieważ narzędzia do przetwarzania języka naturalnego (NLP) i sztucznej inteligencji będą w dalszym ciągu poprawiać się w przyszłości, szybkość reakcji chatbotów również ulegnie poprawie.

•  Brak empatii i jakości konwersacji: większość ludzi, którzy wchodzą w interakcje z chatbotem, chce mieć możliwość prowadzenia znaczącej rozmowy, podobnej do tej, którą mogliby przeprowadzić z przedstawicielem obsługi klienta. Oznacza to, że chatboty muszą być w stanie odpowiednio rozpoznawać ludzkie emocje i odpowiednio reagować, wykazując empatię i inne umiejętności społeczne. Chociaż chatboty mogą być w stanie lepiej to osiągnąć w przyszłości, ich umiejętności konwersacyjne są dziś raczej nudne i pozbawione życia.

•  Brak rozpoznawania głosu i zaawansowane funkcje: Obecnie większość chatbotów nie działa dobrze z rozpoznawaniem głosu, chociaż mogą być lepiej do tego przystosowane w przyszłości. Dodanie rozpoznawania głosu i innych zaawansowanych funkcji pomoże zwiększyć atrakcyjność i popularność chatbotów.

•  Brak wysokiej jakości sztucznej inteligencji: Wiele obecnie używanych chatbotów musi być wstępnie zaprogramowanych i oferować jedynie ograniczony stopień sztucznej inteligencji. Uczenie maszynowe znacznie rozszerzy możliwości chatbotów. Na przykład, jeśli chcesz wyszukać bilety lotnicze na nadchodzącą podróż, chatbot z dobrą sztuczną inteligencją może ostrzec Cię, gdy dostępne będą bardziej ekonomiczne oferty biletów. Ponieważ chatboty mogą się komplikować, dobrym pomysłem jest zaprojektowanie bardzo prostego chatbota, gdy zaczynasz od początku, mając na uwadze powyższe wyzwania.

Dokładne wnioskowanie w DBN

Po naszkicowaniu kilku pomysłów na przedstawienie złożonych procesów jako DBN, przechodzimy teraz do kwestii wnioskowania. W pewnym sensie na to pytanie już udzielono odpowiedzi: dynamiczne sieci bayesowskie są sieciami bayesowskimi i mamy już algorytmy wnioskowania w sieciach bayesowskich. Mając sekwencję obserwacji, można skonstruować pełną reprezentację DBN w sieci bayesowskiej, replikując wycinki, aż sieć będzie wystarczająco duża, aby pomieścić obserwacje, jak na rysunku

Ta technika nazywa się rozwijaniem. (Z technicznego punktu widzenia DBN jest równoważny pół-nieskończonej sieci uzyskanej przez rozwijanie na zawsze. Wycinki dodane poza ostatnią obserwacją nie mają wpływu na wnioskowanie w okresie obserwacji i można je pominąć.) Po rozwinięciu DBN można użyć dowolnego z algorytmy wnioskowania – eliminacja zmiennych, metody grupowania itd. Niestety naiwne zastosowanie rozwijania nie byłoby szczególnie wydajne. Jeśli chcemy przeprowadzić filtrowanie lub wygładzanie z długą sekwencją obserwacji e1:t , rozwinięta sieć wymagałaby przestrzeni O(t) i tym samym rosłaby bez ograniczeń w miarę dodawania kolejnych obserwacji. Co więcej, jeśli po prostu uruchomimy algorytm wnioskowania od nowa za każdym razem, gdy dodana zostanie obserwacja, czas wnioskowania na aktualizację również wzrośnie jako O(t). Patrząc wstecz, widzimy, że stały czas i przestrzeń na aktualizację filtrowania można osiągnąć, jeśli obliczenia można wykonać rekurencyjnie. Zasadniczo aktualizacja filtrowania w równaniu  polega na zsumowaniu zmiennych stanu z poprzedniego kroku czasowego w celu uzyskania rozkładu dla nowego kroku czasowego. Sumowanie zmiennych jest dokładnie tym, co robi algorytm eliminacji zmiennych  i okazuje się, że uruchamianie eliminacji zmiennych ze zmiennymi w kolejności czasowej dokładnie naśladuje operację aktualizacji filtrowania rekurencyjnego w równaniu. Zmodyfikowany algorytm utrzymuje większość dwóch wycinków w pamięci w dowolnym momencie: zaczynając od wycinka 0, dodajemy wycinek 1, następnie sumujemy wycinek 0, następnie dodajemy wycinek 2, a następnie sumujemy wycinek 1 i tak dalej. W ten sposób możemy osiągnąć stałą przestrzeń i czas na aktualizację filtrowania. (Taką samą wydajność można osiągnąć poprzez odpowiednie modyfikacje algorytmu klastrowania.). Tyle dobrych wieści; teraz złe wieści: okazuje się, że „stała” złożoności czasowej i przestrzennej aktualizacji jest prawie we wszystkich przypadkach wykładnicza liczby zmiennych stanu. Dzieje się tak, że w miarę postępu eliminacji zmiennych czynniki rosną i obejmują wszystkie zmienne stanu (a dokładniej wszystkie te zmienne stanu, które mają rodziców w poprzednim przedziale czasu). Maksymalny rozmiar czynnika to O(dn+k), a całkowity koszt aktualizacji na krok to O(ndn+k), gdzie d to rozmiar domeny zmiennych, a k to maksymalna liczba rodziców dowolnej zmiennej stanu. Oczywiście jest to znacznie mniej niż koszt aktualizacji HMM, który wynosi O(d2n), ale nadal jest niewykonalny dla dużej liczby zmiennych. Ten ponury fakt oznacza, że ​​chociaż możemy używać DBN do reprezentowania bardzo złożonych procesów czasowych z wieloma słabo powiązanymi zmiennymi, nie możemy skutecznie i dokładnie wnioskować o tych procesach. Sam model DBN, który reprezentuje wcześniejszy wspólny rozkład na wszystkie zmienne, jest rozkładany na czynniki składowe CPT, ale rozkład tylnego stawu uwarunkowany sekwencją obserwacji – to znaczy przekazem do przodu – generalnie nie podlega rozkładowi. Problem jest generalnie nierozwiązywalny, więc musimy sięgnąć do metod przybliżonych.

100 Pytań o A.I. : Jakie są największe korzyści oferowane przez Chatbots?

Kiedy firma opracowuje i wdraża chatbota, zwykle stara się zautomatyzować przynajmniej część komunikacji z klientami. Na przykład do 80 procent zapytań klientów dotyczących poszczególnych produktów to powtarzające się pytania, a nie unikatowa komunikacja. Z tego powodu tworzenie chatbota to udostępnianie podstawowych informacji o produkcie , co ma sens, ponieważ klienci mogą otrzymywać natychmiastowe, skuteczne odpowiedzi o każdej porze dnia i nocy. Korzystanie z narzędzi chatbota ma wiele różnych zalet. Dotyczy to nie tylko firm, ale także różnego rodzaju organizacji. Oto niektóre z najważniejszych zalet technologii chatbot:

•  Natychmiastowa komunikacja: oczekiwanie na rozmowę z obsługą klienta jest jednym z najgorszych aspektów tradycyjnej komunikacji z firmą. Chatboty oferują natychmiastową odpowiedź na podstawowe potrzeby klientów.

•  Zmniejszone koszty działania: Po opracowaniu samego chatbota często korzystanie z narzędzia wiąże się z niewielkimi lub żadnymi kosztami, w przeciwieństwie do płacenia stawek godzinowych i korzyści pracownikom obsługi klienta. W najbliższej sekcji podzielę się bezpłatnym i skutecznym sposobem na tworzenie chatbotów.

•  Łatwość dostępu: Nie ma potrzeby pobierania specjalnego oprogramowania do komunikowania się z chatbotem, ponieważ większość narzędzi chatbota może działać na popularnych serwisach, takich jak Facebook Messenger, Slack, Telegram, Kik, a nawet na stronach internetowych. Oznacza to również, że firmy mogą dotrzeć do dużej publiczności za pomocą prostych chatbotów.

•  Oszczędność czasu: Oprócz wspomnianych powyżej korzyści kosztowych, firmy mogą również zmniejszyć ilość czasu poświęcanego na zadania komunikacyjne za pomocą chatbotów.

•  Usługi mobilne: w przypadku większości firm i organizacji tworzenie chatbota jest bardziej wydajne i opłacalne niż aplikacja mobilna. Podczas gdy utrzymywanie użytkowników w aplikacjach jest zwykle niskie, w chatbotach jest znacznie wyższe.

•  Komunikacja na dużą skalę: o wiele łatwiej jest komunikować się lub oferować usługi szerokiej publiczności w krótkim czasie za pomocą chatbota niż za pomocą tradycyjnych metod rozmowy zapewnianych przez centrum telefoniczne lub grupę obsługi klienta.

•  Ulepszona personalizacja w czasie: gdy chatboty wykorzystują sztuczną inteligencję i uczenie maszynowe, mogą zapamiętać to, o co prosił użytkownik w poprzedniej komunikacji, i personalizować bieżącą rozmowę na podstawie informacji ze wszystkich poprzednich. Zapewnia to znacznie lepszą obsługę i wyższy poziom zadowolenia klientów, a jednocześnie oferuje bardziej efektywne wzorce komunikacji, niż byliby w stanie zapewnić operatorzy.

•  Zwiększona prędkość otwarcia: gdy bot wchodzi w interakcję z użytkownikiem, może wysyłać różnego rodzaju powiadomienia. Wiadomości te mają tendencję do generowania wysokich wskaźników “otwartych”, zwykle między 85-90 procent. Jest to niewiarygodne w porównaniu z tradycyjnymi wiadomościami e-mail, które są otwierane tylko w około 25-30 procent czasu.

W marketingu dodatkową korzyścią oferowaną przez chatboty jest możliwość otrzymywania danych i analiz dotyczących potencjalnych klientów, które można następnie wykorzystać do usprawnienia działań marketingowych i zwiększenia sprzedaży. Istnieje także kilka wad wdrażania chatbotów, zwłaszcza gdy organizacja nie planuje skutecznie odpowiedzi. Źle wykonane chatboty mogą prowadzić do sfrustrowanych klientów i użytkowników. Jednak firmy, które starannie i celowo opracowują niestandardowe chatboty, mogą korzystać z przewagi konkurencyjnej, oprócz licznych korzyści oferowane przez tę technologię.

Główne zalety chatbotów w miejscu pracy

Większość osób śledzących trendy w marketingu cyfrowym zna eksplozję rozwoju chatbotów, szczególnie tych wykorzystywanych w celu usprawnienia procesów marketingowych lub obsługi klienta firmy. W wielu przypadkach te chatboty zostały opracowane do użytku z Facebook Messenger. Jednak wiele osób nie zdaje sobie sprawy, że chatboty mogą być również używane do komunikacji wewnętrznej w firmie. Mogą być szczególnie korzystne dla dużych firm, oferując większą wydajność i lepszą komunikację między pracownikami. Im większa organizacja, tym bardziej może zyskać na chatbocie. Wynika to z faktu, że duże firmy zwykle przetwarzają większe ilości danych i mają bardziej złożone operacje i reguły niż mniejsze. Oto tylko kilka sposobów, w jakie chatboty w miejscu pracy mogą pomóc dużym firmom:

•  Szybszy odbiór informacji: Zamiast spędzać godziny na szukaniu dostawcy, który zaspokoi potrzeby Twojej firmy, chatboty mogą pomóc Ci znaleźć najlepszą opcję w ciągu kilku sekund, jednocześnie udzielając odpowiedzi na pytania.

•  Lepsze możliwości szkolenia dla pracowników: Posiadanie chatbota może skrócić czas potrzebny na przeszkolenie każdego nowego pracownika, który dołącza do organizacji. Ponadto firmy tworzące chatbota opartego na drzewku logicznym mogą zaoferować swoim pracownikom lepszy dostęp do wszystkich wewnętrznych informacji, ponieważ ten typ chatbota można zaprojektować wokół wszystkich danych istniejących w intranecie organizacji

•  Lepsza komunikacja z zasobami ludzkimi: Planujesz wakacje w ciągu najbliższych dwóch miesięcy? Chatboty mogą łatwo obliczyć, ile dni urlopu pozostało i czy są jakieś konflikty w harmonogramie z Twoimi współpracownikami.

•  Zwiększona motywacja dla personelu: Za pomocą chatbotów możesz bardzo szybko i łatwo wysyłać pozytywne, podnoszące na duchu notatki dla swoich pracowników, gratulując im osiągnięcia kamieni milowych lub po prostu uznając ich osiągnięcia.

•  Szybsza komunikacja: Tradycyjnie ważne wiadomości są zwykle przekazywane w organizacji za pośrednictwem poczty elektronicznej lub wewnętrznego intranetu. Chatbot może jednak szybciej udostępniać nowe informacje wszystkim członkom, co może być pomocne w nagłych lub skomplikowanych sytuacjach, takich jak fuzje i przejęcia.

To tylko kilka zalet, które chatboty mogą zaoferować dużym firmom, a lista prawdopodobnie wzrośnie w miarę ulepszania technologii

Konstruowanie DBN

Aby skonstruować DBN, należy określić trzy rodzaje informacji: uprzedni rozkład względem zmiennych stanu, P(X0); model przejściowy P(Xt+1 | Xt); oraz model czujnika P(Et | Xt). Aby sprecyzować modele tranzytowe i sensorowe, należy również określić topologię połączeń pomiędzy kolejnymi warstwami oraz pomiędzy zmiennymi stanu i dowodu. Ponieważ zakłada się, że modele przejścia i czujniki są jednorodne w czasie — takie same dla wszystkich t — najwygodniej jest po prostu określić je dla pierwszego wycinka. Na przykład, pełna specyfikacja DBN dla świata parasolowego jest podana przez sieć trójwęzłową pokazaną na rysunku (a).

Na podstawie tej specyfikacji, kompletny DBN z nieograniczoną liczbą wycinków czasu może być skonstruowany według potrzeb poprzez skopiowanie pierwszego wycinka. Rozważmy teraz ciekawszy przykład: monitorowanie robota zasilanego bateryjnie poruszającego się w płaszczyźnie X–Y. Po pierwsze, potrzebujemy zmiennych stanu, które będą zawierać zarówno Xt =(Xt ,Yt) dla pozycji, jak i dla prędkości. Zakładamy, że pewna metoda pomiaru pozycji – na przykład kamera stała lub pokładowy GPS (Global Positioning System) – daje pomiary Zt . Pozycja w następnym kroku czasowym zależy od aktualnej pozycji i prędkości, tak jak w standardowym modelu filtra Kalmana. Prędkość w kolejnym kroku zależy od aktualnej prędkości i stanu baterii. Dodajemy Batteryt, aby przedstawić rzeczywisty poziom naładowania baterii, który ma za rodzica poprzedni poziom naładowania baterii i prędkość i dodajemy BMetert , który mierzy poziom naładowania baterii. Daje nam to podstawowy model pokazany na rysunku (b). Warto przyjrzeć się bliżej charakterowi modelu czujnika dla BMetert. Załóżmy dla uproszczenia, że ​​zarówno Batteryt, jak i BMetert mogą przyjmować wartości dyskretne od 0 do 5. Jeśli miernik jest zawsze dokładny, wówczas CPT P(BMetert | Batteryt) powinien mieć prawdopodobieństwa 1,0 „wzdłuż przekątnej” i prawdopodobieństwa 0,0 w innych miejscach. W rzeczywistości do pomiarów zawsze wkrada się hałas. W przypadku pomiarów ciągłych można zastosować rozkład Gaussa z małą wariancją. W przypadku naszych zmiennych dyskretnych możemy przybliżyć rozkład Gaussa za pomocą rozkładu, w którym prawdopodobieństwo błędu spada w odpowiedni sposób, tak aby prawdopodobieństwo dużego błędu Jest bardzo mały. Używamy terminu model błędu Gaussa, aby objąć zarówno wersję ciągłą, jak i dyskretną. Model błędu Gaussa Każdy, kto ma praktyczne doświadczenie w robotyce, skomputeryzowanej kontroli procesu lub innych formach automatycznego wykrywania, z łatwością potwierdzi, że małe ilości szumu pomiarowego są często najmniejszym z problemów. Prawdziwe czujniki zawodzą. Kiedy czujnik ulegnie awarii, niekoniecznie wysyła sygnał mówiący: „A tak przy okazji, dane, które zamierzam wysłać, to stek bzdur”. Zamiast tego po prostu wysyła bzdury. Najprostszy rodzaj awarii nazywa się awarią przejściową, w której czujnik czasami decyduje się wysłać jakieś bzdury. W przypadku awarii przejściowej czujnik poziomu akumulatora może mieć zwyczaj wysyłania odczytu 0, gdy ktoś uderzy w robota, nawet jeśli akumulator jest w pełni naładowany. Zobaczmy, co się stanie, gdy wystąpi awaria przejściowa z modelem błędów Gaussa, który nie uwzględnia takich awarii. Załóżmy na przykład, że robot siedzi cicho i obserwuje 20 kolejnych odczytów baterii po 5. Następnie miernik baterii ma chwilowe zajęcie i następny odczyt to BMeter21=0. W co prosty model błędu Gaussa doprowadzi nas do przekonania o Battery21? Zgodnie z regułą Bayesa odpowiedź zależy zarówno od modelu czujnika P(BMeter21=0 | Battery21), jak i predykcji P(Battery21 | BMeter1:20). Jeśli prawdopodobieństwo dużego błędu czujnika jest znacznie mniejsze niż prawdopodobieństwo przejścia na Battery21=0, nawet jeśli to ostatnie jest bardzo mało prawdopodobne, to rozkład a posteriori przypisze wysokie prawdopodobieństwo rozładowania akumulatora. Drugi odczyt 0 przy t=22 sprawi, że ten wniosek będzie prawie pewny. Jeśli awaria przejściowa zniknie, a odczyt powróci do 5 od t=23 wzwyż, szacunkowy poziom baterii szybko powróci do 5. (Nie oznacza to, że algorytm myśli, że bateria została magicznie naładowana, co może być fizycznie niemożliwe; zamiast tego algorytm uważa teraz, że poziom naładowania baterii nigdy nie był niski, a skrajnie nieprawdopodobna hipoteza, że ​​miernik baterii popełnił dwa kolejne ogromne błędy, musi być właściwym wyjaśnieniem). Ten przebieg wydarzeń ilustruje górna krzywa na rysunku (a), który pokazuje oczekiwaną wartość  Batteryt w czasie, przy użyciu dyskretnego modelu błędu Gaussa.

Mimo powrotu do zdrowia jest czas (t=22), kiedy robot jest przekonany, że jego bateria jest rozładowana; przypuszczalnie w takim razie powinien wysłać sygnał mayday i zamknąć się. Niestety, zbyt uproszczony model czujnika sprowadził go na manowce.

Najprostszy model awarii czujnika pozwala na pewne prawdopodobieństwo, że czujnik zwróci zupełnie niepoprawną wartość, niezależnie od rzeczywistego stanu świata. Na przykład, jeśli miernik baterii zawiedzie, zwracając 0, możemy powiedzieć, że

P(Bmetert =0 |Batteryt =5)=0:03;

które jest prawdopodobnie znacznie większe niż prawdopodobieństwo przypisane przez prosty model błędu Gaussa. Nazwijmy to przejściowym modelem awarii. Jak to pomaga, gdy mamy do czynienia z odczytem 0? Zakładając, że przewidywane prawdopodobieństwo rozładowania baterii, zgodnie z dotychczasowymi odczytami, jest znacznie mniejsze niż 0,03, najlepszym wyjaśnieniem obserwacji BMeter21=0 jest chwilowa awaria czujnika. Intuicyjnie możemy myśleć o przekonaniu o poziomie naładowania baterii jako o pewnej „bezwładności”, która pomaga przezwyciężyć tymczasowe skoki w odczycie licznika. Górna krzywa na rysunku (b) pokazuje, że model awarii przejściowych może obsługiwać awarie przejściowe bez katastrofalnej zmiany przekonań. Tyle o tymczasowych błędach. A co z uporczywą awarią czujnika Niestety, tego rodzaju awarie są zbyt częste. Jeśli czujnik zwróci 20 odczytów na 5, a następnie 20 odczytów na 0, wówczas model tymczasowej awarii czujnika opisany w poprzednim akapicie spowoduje, że robot stopniowo zacznie wierzyć, że jego bateria jest rozładowana, podczas gdy w rzeczywistości może się okazać, że miernik przegrany. Dolna krzywa na rysunku 14.14(b) pokazuje „trajektorię” przekonania dla tego przypadku. Przy t=25 — pięciu odczytach równych 0 — robot jest przekonany, że jego bateria jest rozładowana. Oczywiście wolelibyśmy, aby robot uwierzył, że jego licznik baterii jest uszkodzony — jeśli rzeczywiście jest to bardziej prawdopodobne zdarzenie. Nic dziwnego, że do obsługi trwałych awarii potrzebujemy modelu trwałej awarii, który opisuje zachowanie czujnika w normalnych warunkach i po awarii. Aby to zrobić, musimy uzupełnić stan systemu o dodatkową zmienną, powiedzmy BMBroken, która opisuje stan miernika baterii. Utrzymywanie się awarii musi być modelowane przez łuk łączący BMBroken0 z BMBroken1. Ten łuk trwałości ma CPT, który daje małe prawdopodobieństwo awarii łuku trwałości w dowolnym kroku czasowym, powiedzmy 0,001, ale określa, że ​​czujnik pozostaje uszkodzony po jego zerwaniu. Gdy czujnik jest w porządku, model czujnika dla BMeter jest identyczny z modelem awarii przejściowej; gdy czujnik jest uszkodzony, mówi, że BMeter zawsze wynosi 0, niezależnie od rzeczywistego poziomu naładowania baterii. Model trwałej awarii czujnika akumulatora pokazano na rysunku (a).

Jego działanie w dwóch sekwencjach danych (przejściowy impuls i trwała awaria) pokazano na rysunku (b). Jest kilka rzeczy, które należy zwrócić uwagę na te krzywe. Po pierwsze, w przypadku chwilowego piku prawdopodobieństwo uszkodzenia czujnika znacznie wzrasta po drugim odczycie 0, ale natychmiast spada do zera po zaobserwowaniu 5. Po drugie, w przypadku uporczywej awarii prawdopodobieństwo uszkodzenia czujnika szybko wzrasta do prawie 1 i tam pozostaje. Wreszcie, gdy wiadomo, że czujnik jest uszkodzony, robot może jedynie założyć, że jego bateria rozładowuje się w „normalnym” tempie. Świadczy o tym stopniowo obniżający się poziom E (Batteryt |…). Do tej pory jedynie zarysowaliśmy powierzchnię problemu przedstawiania złożonych procesów. Różnorodność modeli przejściowych jest ogromna i obejmuje tak różne tematy, jak modelowanie układu hormonalnego człowieka i modelowanie wielu pojazdów poruszających się po autostradzie. Modelowanie sensorów jest również samo w sobie obszernym poddziedziną. Jednak dynamiczne sieci bayesowskie mogą modelować nawet subtelne zjawiska, takie jak dryf czujnika, nagła dekalibracja i wpływ warunków egzogenicznych (takich jak pogoda) na odczyty czujnika.