Chatboty: audio, AI i uczenie maszynowe

W ostatnie Święta Bożego Narodzenia moja córka otrzymała grę o tytule „Haering Things”, nad którą spędziliśmy wspólnie wiele czasu. Jest to wariacja na temat „Whispering Challenge”, która stała się bardzo popularna: Jedna osoba ma na głowie słuchawki, które nie tylko blokują dźwięk, ale wydają też losowe odgłosy. Inna osoba siada naprzeciwko osoby w słuchawkach i odczytuje z karty przypadkowe zdanie, na przykład „Gołębie lubią się tulić”. Następnie, bez pomocy innych dźwięków czy wskazówek, osoba w słuchawkach musi odczytać to zdanie wyłącznie na podstawie ruchu ust.

Podobnie jak komputer, osoba usiłująca odczytać zdanie szuka wskazówek – choć te nie są wcale oczywiste. Gracz wykorzystuje zmysł wzroku, aby „usłyszeć” i odszyfrować słowa wypowiadane ustami. Na tym właśnie polega zabawa, ponieważ sygnały wzrokowe mogą być zupełnie inne i niezwiązane z tym, co w rzeczywistości zostało wypowiedziane. Ta gra wykorzystuje fakt, iż ludzie maja ograniczoną zdolność łączenia zmysłów słuchu i wzroku.

Czy komputer mógłby sobie poradzić lepiej? Współczesne chatboty demonstrują na tym polu obiecujące możliwości. W tych aplikacjach wykorzystywane są technologie audio, sztuczna inteligencja (AI) oraz uczenie maszynowe, które razem pozwalają zapewnić zbliżone do ludzkiego rozumowanie i odpowiedzi udzielane w czasie rozmowy. W szczególności postępy w rozwoju programowania języka naturalnego i sieci neuronowych, połączone razem, są w stanie zapewnić dynamiczną interakcję człowieka i maszyny, oferując potencjalnie duże korzyści firmom oraz samym użytkownikom.

Połączenie technologii

Choć rozwój technik AI, uczenia maszynowego i technologii audio trwa już od dłuższego czasu, dopiero niedawno ich połączenie pozwoliło uzyskać wiarygodną i „ludzką” interakcję maszyny z człowiekiem.

Sztuczna inteligencja i programowanie języka naturalnego

Rozwój AI sprawia, że dotychczasowe rozwiązania obliczeniowe polegające na automatyzacji i skalowaniu procesów zostaje zastąpione rozwiązaniami opartymi na wiedzy i reakcji na informacje. Program AI, wykonując określone procesy, pozwala firmom uzyskać lepszą wiedzę o rynkach, generować nową wartość oraz podejmować szybkie i pewne decyzje.

System AI pracujący w domenie audio może pomagać ludziom na różne sposoby, ponieważ znaczną część komunikacji międzyludzkiej można teraz wiarygodnie zaprogramować również w maszynach. Są one w stanie przetwarzać i rozumieć złożone wzorce dzięki wykorzystanym algorytmom przetwarzania języka naturalnego (NLP). Obecnie projektanci prowadzą prace nad maszynami, które byłyby w stanie wykorzystać język naturalny w komunikacji dwukierunkowej. Na przykład:

  1. Maszyna słyszy ludzki język i go rozumie
  2. Maszyna rozumie ludzki język i udziela odpowiedzi w ludzkim języku

Jednym z wyzwań podczas programowania komunikacji dwukierunkowej jest zapewnienie, że algorytmy są w stanie zrozumieć kontekst środowiska i odpowiednio zareagować – to tzw. „Frame Problem”. Twórcy muszą zagwarantować, że komputer potrafi uzyskać instrukcje potrzebne do realizacji odpowiedniej funkcji. Aby odpowiednio zareagować, maszyny trzeba zaprojektować tak, by zrozumiały nie tylko bezpośredni przekaz mowy, ale też sygnały i gesty wskazujące na intencje i nastawienie użytkownika.

Języki programowania często wykorzystywane w obszarze AI to między innymi Python, Java, Lisp, Prolog oraz C++. Python jest bardzo popularny w zastosowaniach AI dzięki modularnej architekturze bibliotek skupionych na określonej funkcjonalności. Język ten pozwala w stosunkowo prosty sposób zdefiniować reguły określające znaczenie. Biblioteki Pythona, takie jak NTLK, Gensim oraz Quepy są znakomite do przetwarzania języka naturalnego i tekstu. Biblioteki te oferują następującą funkcjonalność:

  • NTLK (Natural Language Toolkit) jest zbiorem otwartych modułów Pythona. Zapewnia on dane lingwistyczne i zasoby leksykalne pozwalające na realizację NLP oraz analizę tekstu.
  • Gensim jest modułem zaprojektowanym w celu ekstrakcji znaczenia semantycznego dokumentów, odrzucając ich niepewne i skomplikowane cechy.
  • Quepy pozwala na przekształcenie pytań w języku naturalnym na zapytania bazy danych.
Uczenie maszynowe i sieci neuronowe

Dla ludzi uczenie się stanowi naturalną część wrodzonej inteligencji, biologicznego dojrzewania oraz życiowego doświadczenia. Proces uczenia się można opisać jako ciągłe samodoskonalenie, w którym informacja zwrotna jest wykorzystywana, aby w przyszłości osiągnąć lepsze rezultaty działań. Dzięki badaniu ludzkiego mózgu – szczególnie sieci neuronowych – naukowcy opracowali efektywne metody uczenia maszynowego i przenieśli je do AI. Sieci neuronowe składają się z połączeń elektrycznych, które wpływają na zbiorowe zachowanie wielu neuronów. Tym samym sieci neuronowe są systemem bardziej złożonym, niż pojedynczy neuron.

Połączone z tzw. głębokim uczeniem (deep learning) ze sprzężeniem zwrotnym, które zmienia zachowanie systemu w zależności od pozytywnego lub negatywnego wyniku otrzymanego w informacji zwrotnej, najnowsze osiągnięcia pozwalają na realizację nowych i kreatywnych sposobów rozwiązywania wielu złożonych problemów. Należą do nich rozumienie i udzielanie odpowiedzi podczas rozmowy w języku naturalnym. Istnieją produkty, które umożliwiają szybkie rozpoczęcie pracy z systemem rozpoznawania naturalnej mowy, takie jako Google AIY Voice Kit oraz ReSpeaker 2-Mics Pi HAT w ofercie Seeed Studio.

Narodziny chatbotów

Chatboty łączą technologie audio, AI oraz uczenie maszynowe. Na podstawie danych z czujników wykorzystują algorytmy, aby wyodrębnić istotne treści, na podstawie tych treści udzielić odpowiedzi, a w dalszym kroku również uczyć się na podstawie kolejnych danych wejściowych. Chatboty stanowią jednostronne, przewidujące systemy komunikacji. Są już wykorzystywane przez wiele firm – w tym Amazon, Apple, Facebook i Google – aby nawiązywać kontakt z ich klientami. Chatboty stale są udoskonalane dzięki technikom uczenia maszynowego i analizy predykcyjnej. Odczuwają, myślą, a następnie podejmują decyzje i działania. Systemy chatbotów są związane z obszarami AI, uczenia maszynowego i deep learning (rysunek 1).

Rys. 1. Chatboty są związane z obszarami AI, uczenia maszynowego i deep learning

Firmy spodziewają się, że chatboty pozwolą zwiększyć ich zyski i zapewnić lepszą obsługę klienta, a tym samym i zaangażowanie klientów. Współcześni klienci są obeznani z nowinkami technologicznymi, a także oczekują, że firma szybko i sprawnie odpowie na ich zapytanie. Mówiące chatboty, takie jak Siri, Alexa i Cortana obecnie znajdują się już w wielu mieszkaniach na zachodzie. Projektanci takich systemów cały czas starają się naśladować, a nawet przewyższyć możliwości i zachowanie człowieka. Pracują nad wyposażeniem chatbotów w udoskonaloną inteligencję pozwalającą na dynamiczną interakcję, dzięki czemu boty stałyby się bardziej przyjazne i przystępne dla ludzi. Celem jest nauczenie komputerów funkcji mowy takich samych, jakimi dysponują ludzie. Są to między innymi:

  • Zamiana tekstu na mowę i mowy na tekst
  • Analiza głosu i nastawienia
  • Klasyfikator języków naturalnych i tłumaczenie języków
  • Funkcjonalność wirtualnego agenta i programowanie poprzez dialog

Sztuczna inteligencja wykorzystująca deep learning, taka jak zastosowana w Google DeepMind, pozwala komputerom przeprowadzać realistyczne konwersacje za pomocą syntezowanego głosu. Daje im to możliwość przejścia testu Turinga – co oznacza, że ich odpowiedź jest tak realistyczna, że człowiek nie jest w stanie orzec, czy rozmawia z komputerem. Deep learning uzyskuje takie rezultaty, przetwarzając dużą objętość tekstów rozmów, by opanować ludzki język oraz przeanalizować inne aspekty komunikacji pojawiające się w tych rozmowach. Ponieważ AI jest w stanie przetworzyć ogromną liczbę rozmów, dysponuje wystarczająco dużą bazą do wyciągania wniosków i generacji stosownych odpowiedzi w ludzkim języku.

Poza nauką komunikacji, AI musi być również w stanie odpowiedzieć ludzkim głosem wyrażającym ludzkie emocje. W tym celu przechowywanie gotowych głosów w pamięci nie wystarczy. Ponieważ sztuczne sieci neuronowe przetwarzają tysiące godzin nagrań ludzkiej mowy, są w stanie ekstrapolować ich szczegóły w celu emulacji naturalnego głosu ludzkiego. To z kolei pozwala chatbotowi dobrać głos i ton odpowiedni do danej sytuacji. AI potrzebuje jedynie kilku chwil zarejestrowanego głosu i już jest w stanie odtworzyć ten głos – bez względu na inne cechy przekazu i jego merytoryczną treść.

Chatboty wykorzystujące AI są w stanie zapewnić bardziej spersonalizowaną obsługę. Aby zapewnić satysfakcję klienta i zwiększyć efektywność sprzedaży, konieczna jest możliwość prowadzenia naturalnych, ludzkich rozmów oraz zadawania pytań i rozumienia odpowiedzi. Celem programowania chatbotów zawsze jest zapewnienie jak najwyższej jakości obsługi użytkownika.

Chatboty działają równie dobrze z dowolnymi mediami – nie interesuje ich, czy rozmowa odbywa się przez telefon, za pośrednictwem e-maila lub np. mediów społecznościowych. W każdym wypadku chatboty są zaprogramowane tak, aby prowadzić rozmowę w odpowiedni sposób. Można je postrzegać jako inną wersję cyfrowego interfejsu użytkownika, który wykorzystuje najnowsze osiągnięcia technologiczne. Rozwiązanie to jest odpowiednie w niektórych obszarach działalności, takich jak sprzedaż i marketing, obsługa użytkownika i podobne zadania. W przypadkach, gdy chatboty są w stanie komunikować z firmą za pośrednictwem medium cyfrowego, pozwalają one firmie komunikować się również z samymi klientami.

Jednym z największych wyzwań, które dotyczą chatbotów, jest przygotowanie ich do odpowiedzi na konkretne potrzeby użytkownika. Ponieważ ludzie są tak skomplikowani, pożądane byłoby, aby chatboty rozumiały, czego chce użytkownik – nawet, jeśli kontekst rozmowy jest dynamiczny i zmienny. To wymaga rozumienia subtelnych niuansów i różnic występujących w ludzkim języku, w celu uniknięcia błędów w interpretacji.

W połączeniu z analizą predyktywną, skuteczne chatboty oparte na sztucznej inteligencji mogą niemal czytać w myślach osób, które wchodzą z nimi w interakcję – przewidując, dokąd zmierza rozmowa. To oznacza, że z czasem chatboty będą ewoluować, skupiając się raczej na przewidywaniu i udzielaniu propozycji. Tym samym potencjalnie będą mogły coraz lepiej samodzielnie podejmować akcje. Tworzenie coraz bardziej inteligentnych chatbotów stanowi ciągłe wyzwanie, ponieważ projektanci muszą zapewnić im możliwość rozumienia kontekstu i reagowania na sytuację, jednocześnie odpowiadając na akcje i potrzeby człowieka.

Podsumowując: Rozmowa nabiera tempa

Postępy w rozwoju AI, uczenia maszynowego i technologii audio pozwoliły na powstanie naturalnych interfejsów komunikacji człowieka z maszyną – chatbotów. Możliwości rozpoznawania mowy i głosu pozwalają chatbotom odgrywać główną rolę w zakresie podstawowej obsługi klienta i podobnych zadań. Są one w stanie interpretować i odpowiadać na pytania, a także uczyć się w oparciu o mowę ludzką, z uwzględnieniem jej subtelnych szczegółów i różnic.

Jednak aby udzielić prawidłowej odpowiedzi, maszyny trzeba zaprogramować tak, aby rozumiały nie tylko jawnie wypowiadane słowa, ale też szczegóły i gesty wskazujące na intencje i nastawienie osoby mówiącej. Na tym polu postępy w programowaniu komunikacji w języku naturalnym pozwalają udoskonalić interakcję między człowiekiem i maszyną, umożliwiając skuteczną komunikację między nimi.

O autorze