Prawie jak człowiek
Mówi się, że lepsza sztuczna inteligencja niż naturalna głupota. Spróbuj się o tym przekonać, czatując z wirtualnymi rozmówcami niektórzy są wyjątkowo rozgarnięci i dowcipni, albo testując działanie semantycznych wyszukiwarek ciekawie prezentują wyniki.
Nagroda Loebnera
To nagroda dla programu komputerowego typu chatterbot, który przejdzie test Turinga. W teście tym się sprawdza, czy komputer, któremu człowiek zadaje pytania, potrafi odpowiadać po ludzku, nie pozwalając rozpoznać, że rozmawia się z maszyną. Nazwa testu pochodzi od nazwiska brytyjskiego matematyka Alana Turinga, który tak zdefiniował maszynę myślącą. Na twórcę pierwszego programu, który przejdzie test Turinga, czeka medal z 18-karatowego złota i 100 tys. dolarów. Na razie co roku nagradzany jest – do tej pory kwotą 2 tys. dol., a w tym roku 3 tys. dol. – program, który najlepiej symuluje konwersację z człowiekiem. Sprawdzają to sędziowie, „rozmawiając” z komputerami, z których połowę obsługują chatboty, a połowę ludzie. W tym roku do finałów zawodów chatbotów, rozgrywanych 12 października, zakwalifikowały się: Elbot, Eugene, Brother Jerome, Jabberwacky, ALICE i Ultra Hal.
www.loebner.net
Sztuczna inteligencja – w skrócie AI od angielskiego wyrażenia Artificial Intelligence – zajmuje się konstruowaniem maszyn i tworzeniem programów komputerowych potrafiących naśladować chociaż w części zachowania człowieka oraz wykonywać pewne funkcje ludzkiego umysłu. Do takich funkcji należy m.in. analizowanie języka, którym człowiek posługuje się na co dzień, rozpoznawanie kontekstu wypowiedzi, wnioskowanie.
Sztuczną inteligencję wykorzystuje się coraz częściej w internecie. Jak? W sieci działają setki chatterbotów zwanych chatbotami, czyli wirtualnych rozmówców, z którymi można pokonwersować w ludzkim języku. Jest też sporo wyszukiwarek semantycznych, które nie tylko wyszukują strony zawierające słowa z zapytania, ale analizują też kontekst, w jakim użyto tych słów.
Jak pogadać z chatbotem
Rozmowę z chatbotem prowadzi się pisemnie, poprzez okienko dialogowe na stronie internetowej lub przez komunikator, w którym dany bot ma swoje konto, np. Gadu-Gadu, Microsoft Live Messenger, Skype, Google Talk, Yahoo. Chatboty zwykle rozróżniają błędy ortograficzne i literówki, więc niepoprawne wpisanie słowa nie przeszkadza w uzyskaniu odpowiedzi. Wiele jest wyposażonych w syntezę mowy, dzięki temu jednocześnie odczytują swoje wypowiedzi. Chatbotom nadaje się imiona i często przedstawia w postaci graficznej – jako człowieka, zwierzątko lub przedmiot, w formie obrazka statycznego albo animowanego czy nagrania wideo.
Wyszukiwarki semantyczne
Najczęściej z chatbotów korzysta się bezpłatnie. Ale są też boty płatne. Na przykład Dave , reklamowany jako nauczyciel angielskiego, „bierze” 10 dolarów za możliwość konwersowania przez miesiąc. Za tę samą kwotę można przez miesiąc gadać z Claudio , który na tej podstawie określi, jaką osobowość z 9 typów ma jego interlokutor.
O czym rozmawiać
Chatboty opowiadają o firmie, na której są umieszczone, uławiają nawigowanie po witrynie lub rozmawiają na ogólne tematy. Niektóre przeszukują zewnętrzne serwisy i bazy oraz dostarczają informacji np. o połączeniach kolejowych, programie telewizyjnym. Odpowiadają na pytania lub same je zadają.
Wiele chatbotów odpowiada tylko na pytania, które przewidzieli ich programiści. Jeśli pytanie wychodzi poza ten zakres, zmieniają temat albo mówią głupstwa. Rozmowa z chatbotem jest bardziej atrakcyjna, gdy korzysta z bogatej bazy faktów encyklopedycznych i stwierdzeń ogólnych typu woda wrze w temperaturze 100 stopni, a ponadto potrafi kojarzyć i łączyć te fakty oraz wnioskować. Człowiek zna ok. 100 mln ogólnych stwierdzeń. Rekord chatbotów wynosi ponad 10 mln i należy do amerykańskiego projektu CYC . Dla porównania w bazie polskiego chatbota Ewa jest ponad 700 tys. faktów. Z wnioskowaniem bywa różnie. Na przykład Alice na pytanie: „W jakim języku programowania zostałaś napisana?”, odpowiedziała: „Krowa ma dłuższy i się nie chwali”.
Przykładowe chatboty
POLSKOJĘZYCZNE
Alice
http://pl.worldofalice.com
Chatbot rozrywkowy, dostępny przez GG (numer 16); rozmawia na tematy ogólne, podaje horoskop, program TV, wyniki lotto, wydarzenia danego dnia, informuje o pogodzie, opowiada dowcipy, liczy jak kalkulator, tłumaczy z polskiego na angielski i odwrotnie; przeszukuje rozkład jazdy PKP; potrafi wysłać SMS na podany numer.
Radek
www.stanusch.pl
Chatbot dla Polskiego Radia Euro, odpowiada na pytania związane z radiem, orientuje się w temacie Euro 2008; ma relacjonować przygotowania do Euro 2012; na razie tylko na stronie producenta, potrafi mówić.
Hubert
www.hestia.pl
Wirtualny doradca Ergo Hestia, prezentuje ofertę firmy, pomaga dobrać ubezpieczenie, nie opowiada żartów, umie mówić.
ANGLOJĘZYCZNE
A.L.I.C.E.
www.alicebot.org
Potrafi rozmawiać na 40 tys. różnych tematów, wymaga rocznej opłaty 99 dol. (od studentów 39 dol.) za członkostwo w fundacji na rzecz rozwoju bota; w darmowej wersji konwersuje na 100 tematów; mówi.
Jabberwacky
www.jabberwacky.com
Zabawny i dowcipny rozmówca; stale się uczy od wszystkich użytkowników – przechowuje ich wypowiedzi i korzysta z nich przy udzielaniu odpowiedzi, jeśli odpowiadają kontekstowi; nazywany „konwersacyjną Wikipedią”.
Web Hal
www.zabaware.com
Uczący się od użytkowników chatbot, ale nie zachowuje w swojej bazie wulgaryzmów ani nieodpowiednich treści; z syntezy mowy korzysta tylko w płatnej wersji.
INNE
www.chatbots.org
www.mangoost.com/bot/bot.html
www.a-i.com
www.inguaris.pl
www.chatbot.pl
www.elbot.com
Wykorzystane techniki
Chatbota można napisać w dowolnym języku programowania. W uproszczeniu, w bazie wiedzy chatbota należy stworzyć wzorcowe konstrukcje zapytań użytkownika i szablony odpowiedzi na każde z nich oraz ustalić reguły dopasowywania pytań i odpowiedzi do wzorców. Niezbędna jest też baza synonimów dla słów kluczowych, dzięki czemu jeden szablon odpowiedzi może być zastosowany do pytań o tym samym znaczeniu. Można też zdefiniować pytania, jakie będzie zadawał chatbot, oraz jego reakcje na odpowiedź użytkownika.
Dla chatbota rozmawiającego po polsku trzeba dodatkowo stworzyć bazę fleksji, czyli odmian wyrazów. Na przykład Radek ma w bazie ponad 5 mln form fleksyjnych dla 292 tys. polskich wyrazów, a baza synonimów liczy 1,1 mln pozycji.
Bardziej zaawansowane chatterboty mają wbudowane algorytmy uczenia się, dzięki którym gromadzą wiedzę przekazywaną przez użytkowników w czasie rozmowy.
Dzięki technikom sztucznej inteligencji chatterboty rozpoznają we wpisach użytkownika słowa z błędami, tzw. literówkami. „Wiedzą”, jaki powinien być kolejny element w ciągu słów (np. rzeczownik), by wypowiedź była poprawna językowo. Przeprowadzają analizę kontekstową – np. rozpoznają, czy użytkownik, wpisując słowo „zamek”, miał na myśli warownię czy zamek w drzwiach. Potrafią przypisać nowe słowa czy wyrażenia do jakiejś kategorii i zastosować wzorzec odpowiedzi pasujący do tej kategorii.
Wyszukiwarki XXI wieku
Z technik sztucznej inteligencji korzystają też wyszukiwarki semantyczne. W odróżnieniu od tradycyjnych powinny „rozumieć” zapytania zadawane w języku naturalnym oraz tekst na stronach WWW, a także zawartość plików graficznych, audio i wideo. Jednak aby były skuteczne, wszystkie witryny trzeba by zorganizować w nowy sposób – oprócz danych musiałyby zawierać też informacje o tych danych. Zanim to nastąpi, dostępne wyszukiwarki semantyczne analizują ograniczony zakres stron. Wymagają też nauczenia się nowych reguł wyszukiwania, a czasem się mylą. Przedstawiają jednak przejrzyście wyniki wyszukiwania (patrz ilustracje). Oferują też przydatne dodatkowe funkcje.
Przykładowo Powerset umożliwia, po wejściu na stronę podaną w wynikach wyszukiwania, zaznaczenie kolorem za pomocą jednego kliknięcia wszystkich fragmentów pasujących do zapytania. Pozwala też samodzielnie zaznaczać ważne fragmenty – będą one wyświetlone przy ponownym otwarciu artykułu. Można też wysłać adres URL artykułu znajomym – gdy go otworzą, też zobaczą te zaznaczenia.