Strona korzysta z plików cookies w celu realizacji usług i zgodnie z Polityką Plików Cookies.
Data publikacji: 02-02-2023 | Autor: | Marcin Szeliga |
Ostatnie miesiące przyniosły nam szczególny wzrost popularności chatbotów, czyli programów, z którymi możemy komunikować się w języku naturalnym. Wiele z nich realizuje konkretne zadania biznesowe i nie tylko – od wsparcia sprzedaży, przez automatyzację edukacji, aż po dbanie o nasze codzienne potrzeby.
Modele języka naturalnego zaskakują nas swoją wiarygodnością. Zastanawia jednak, czy nie jest to tylko zwykła sztuczka, jak występ iluzjonisty – wygląda jak prawdziwa magia, ale wiadomo, że nią nie jest. Jak to możliwe, że algorytm umie posługiwać się tak skomplikowanym tworem, jakim jest język? Przetwarzanie języka naturalnego łączy zagadnienia sztucznej inteligencji i językoznawstwa. Ta interdyscyplinarna dziedzina zajmuje się automatyzacją analizy, rozumienia, tłumaczenia i generowania języka naturalnego przez komputer. Przetwarzanie języka naturalnego (ang. natural language processing, NLP) stosuje algorytmy, których zadaniem jest identyfikowanie oraz wyodrębnienie reguł języka naturalnego, w taki sposób, aby niestrukturalne dane były konwertowane w postać zrozumiałą dla komputerów. Następnie komputer wykorzystuje algorytm, aby zebrać niezbędne dane i wydobyć znaczenie z każdego zdania. System generujący język naturalny przekształca informacje zapisane w bazie danych komputera na język łatwy do odczytania i zrozumienia przez człowieka. Tak jak ludzie muszą podświadomie analizować słowa, aby zrozumieć ich znaczenie, tak samo robią maszyny. Parsowanie semantyczne to umiejętność przekształcania danych języka naturalnego w coś, co maszyna może zrozumieć na własnych warunkach. Termin „język naturalny” używany jest, by odróżnić języki ludzkie (takie jak polski, angielski, węgierski) od języka formalnego czy komputerowego (jak C++, Java czy Python).
> Przetwarzanie języka
Podstawowym działaniem NLP jest wyodrębnienie zdania. Drugim etapem jest podział na tokeny. Umożliwiają one podzielenie tekstu na proste części, czyli liczby, słowa, punktacje. Techniki, jakie stosuje NLP, opierają się w głównej mierze na analizie syntaktycznej oraz semantycznej. Analiza syntaktyczna wykorzystywana jest do oceny zgodności języka naturalnego z zasadami gramatycznymi. Natomiast analiza semantyczna pomaga stworzyć szkielet przetwarzania języka naturalnego oraz wyjaśnia, jak NLP oraz sztuczna inteligencja interpretuje ludzkie zdania.
Architekturą używaną do tworzenia ML-ów są modele n-gramowe, rekurencyjne sieci neuronowe (RNN) i transformery. Od czasu debiutu w 2017 r. transformery są coraz częściej wybieranym modelem w przypadku problemów NLP, zastępując modele RNN, takie jak pamięć długo- i krótkotrwała (ang. long-, short-term memory – LSTM). Dodatkowa równoległość uczenia umożliwia trenowanie na większych zestawach danych, niż było to kiedyś możliwe. Doprowadziło to do rozwoju wstępnie wyszkolonych systemów, takich jak BERT (Bidirectional Encoder Representations from Transformers) i GPT (Generative Pre-trained Transformer), które były wytrenowane z użyciem dużych zestawów danych językowych, takich jak Wikipedia Corpus i Common Crawl, i mogą być dobrze dostrojone do konkretnych zadań.
Pod koniec 2022 r., w czasie powstawania tego artykułu, udostępniony szerokiej publiczności został ChatGPT – inteligentny chatbot, który, korzystając z modelu OpenAI GPT-3.5, może generować odpowiedzi na najróżniejsze zadawane w wielu językach pytania. W ciągu tygodnia liczba użytkowników ChatGPT przekroczyła milion. O ile Chat GPT jest jedynie fascynującą demonstracją możliwości współczesnych komputerów w zakresie przetwarzania języka naturalnego (NLP), o tyle w biznesie chatboty służą głównie do automatyzacji procesów obsługi klienta i zwiększenia efektywności pracy pracowników poprzez przejęcie części rutynowych zadań obsługi klienta.
> Informatyka zorientowana na ludzi
Informatyka zorientowana na ludzi (ang. Human Centered Computing, HCC) to multidyscyplinarna dziedzina zajmująca się projektowaniem i rozwojem systemów i technologii komputerowych, które koncentrują się na potrzebach, zdolnościach i preferencjach użytkowników. Takie podejście do informatyki uznaje, że ludzie są głównymi użytkownikami technologii i że projektowanie technologii powinno koncentrować się na uczynieniu jej łatwą i intuicyjną w użyciu. Prowadzi to do uznania interfejsu pomiędzy ludźmi a komputerami (HCI) za kluczowy aspekt systemów komputerowych. Istnieje wiele różnych podejść do projektowania HCI, z których każde ma swoje mocne i słabe strony.
Jako pierwsze pojawiły się interfejsy tekstowe. Użytkownik wydaje w nich polecenia, wpisując je na klawiaturze. Zaletą tego podejścia jest jego uniwersalność – znając konkretny, użyty do komunikacji z komputerem język poleceń, użytkownik może przekazywać bardzo skomplikowane, abstrakcyjne polecenia. Do wad tego sposobu komunikacji z komputerami zalicza się konieczność opanowania składni zastosowanego języka, co ogranicza liczbę potencjalnych użytkowników. Ponadto wpisywanie poleceń jest najwygodniejsze na klawiaturach komputerów, pisanie dłuższych poleceń na klawiaturach smartfonów jest mało wydajne i prowadzi do wielu błędów.
Drugim rodzajem były graficzne interfejsy użytkownika (GUI). GUI są najbardziej powszechnym typem HCI stosowanym w większości nowoczesnych systemów operacyjnych i aplikacji. GUI wykorzystują elementy wizualne, takie jak ikony i menu, aby umożliwić użytkownikom interakcję z komputerem. Z jednej strony ułatwia to nawigację i wybór odpowiednich poleceń, z drugiej – ogranicza uniwersalność i może powodować trudności w używaniu programu, jeżeli interfejs nie został dobrze zaprojektowany.
Najnowszym typem HCI są naturalne interfejsy użytkownika (NUI). Wykorzystują one głębokie modele uczenia maszynowego do przetwarzania języka naturalnego (takiego jak angielski czy polski) oraz przetwarzania obrazu (np. do wykrywania i opisywania widocznych na zdjęciach lub nagraniach wideo obiektów oraz do generowania obrazów). Umożliwia to użytkownikom interakcję z komputerem na podobnych zasadach jak z innymi osobami, np. przy użyciu stosowanych na co dzień gestów i zwrotów.
Przykładem programów, w których stosuje się naturalne interfejsy użytkownika, są chatboty. Termin „chatbot” jest słowem łączącym czasownik „chatować” i rzeczownik „robot”. Można stwierdzić, że chatbot to nowy typ oprogramowania zdolny do symulowania ludzkich umiejętności komunikacyjnych. Użytkownicy wchodzą w interakcję na zmianę z botem, inicjując akcję. Akcją nazywamy zdarzenie, jakim jest np. dołączenie użytkownika do konwersacji lub wysłanie komunikatu. Komunikaty mogą być tekstem, mową lub wizualnymi elementami interfejsu, takimi jak przyciski wyboru, obrazy czy karty menu. Wymieniane aktywności tworzą dialog, którego przebieg (stan) może być przechowywany przez chatbota. Użytkownik i chatbot wymieniają akcje poprzez kanał komunikacyjny, np. czat, pocztę e-mail, komunikator internetowy albo stronę WWW.
> Powody korzystania z chatbotów
Zainteresowanie chatbotami systematycznie rośnie. Zanim przyjrzymy się samym chatbotom, warto zastanowić się nad pytaniem: „czemu ich używamy?”. Pytanie to zadano 146 mieszkańcom USA w wieku od 16 do 55 lat. Najczęstszą odpowiedzią była „produktywność” – w ten sposób odpowiedziało 68% respondentów. Chatboty ułatwiają zdobycie potrzebnych nam w danej chwili informacji (np. sprawdzenie prognozy pogody czy statusu zamówienie) oraz ułatwiają wykonanie prostych zadań (takich jak wybór i zamówienie towaru). Ankietowani zgłaszali również motywacje związane z ciekawością, rozrywką i czynnikami społecznymi.
Obecne zainteresowanie chatbotami jest spowodowane ostatnimi osiągnięciami w zakresie sztucznej inteligencji i głębokiego uczenia maszynowego. Największe firmy internetowe, w tym Google, Facebook i Microsoft, postrzegają chatboty jako następcę graficznych interfejsów użytkownika i od lat konsekwentnie realizują tę wizję – przykładowo w 2017 r. ponad 35 tysięcy użytkowników Messengera było chatbotami. Chatboty są postrzegane jako skuteczne narzędzia bezpośredniego zaangażowania klienta, a bieżący trend pokazuje ich rosnący udział w sprzedaży – coraz rzadziej kupujemy towary za pośrednictwem handlowców czy specjalistycznych aplikacji.
[...]
Pracownik naukowy Wyższej Szkoły Bankowej w Poznaniu Wydział Zamiejscowy w Chorzowie, jest autorem książek poświęconych analizie danych i posiada tytuł Microsoft Most Valuable Professional.
Pełna treść artykułu jest dostępna w papierowym wydaniu pisma.
Transmisje online zapewnia: StreamOnline