Myśląc o sztucznej inteligencji, prawdopodobnie myślisz o przyjaznych systemach, które mogą z tobą rozmawiać i rozwiązywać trudne problemy albo o maniakalnych robotach, które są skłonne do dominacji nad światem. Naukowcy obiecują nam autonomiczne samochody, które będą bezpieczniejsze niż człowiek prowadzący auto. Możemy także usłyszeć o obawach o systemy wspomagania medycznego, które utrzymują życie ludzi w wirtualnych rękach. Sztuczna inteligencja jest obiecująco rozwiajającą się gałęzią informatyki, ale też stwarza wiele obaw. Może być używana do podejmowania decyzji w systemach tak dużych jak samolot czy automatyczna wywrotka, jak i małych, takich jak telefony komórkowe, które potrafią prezycyjnie przewidzieć wpisywany tekst. Ich wspólną cechą jest to, że próbują naśladować ludzką inteligencję. I co ważne, takie systemy mogą być znaczącym ułatwieniem w życiu codziennym.
Sztuczna inteligencja (w skrócie SI lub po angielsku AI) znana także jako inteligentne systemy, jest przede wszystkim nauką informatyczną, ale czerpie wiele pomysłów z innych dziedzin, w szczególności z matematyki (głównie logiki, kombinatoryki, statystyki, prawdopodobieństwa i teorii optymalizacji), biologii, psychologii, językoznawstwa, neurobiologii i filozofii.
W tym rozdziale omówimy kilka inteligentnych systemów. Wiąże się to nieuchronnie z rozpatrzeniem również aspektów etycznych i filozoficznych — Czy naprawdę chcemy, aby maszyny przejmowany niektóre z naszych zawodów? Czy możemy im ufać? Czy pewnego dnia nie przekroczymy bariery i nie zrobimy jednego kroku za daleko? Co tak naprawdę rozumiemy przez powiedzenie, że komputer jest inteligentny? Nie odpowiemy na te pytania bezpośrednio w tym rozdziale. Jednakże zdobycie wiedzy technicznej na temat SI pozwoli ci podejmować bardziej świadome decyzje dotyczące bardziej skomplikowanych problemów.
Dla wielu ludzi jest oczywiste, że mogą łatwo rozmawiać z drugą osobą i wypowiedzieć własne zdanie o tej rozmowie. Zdolność do tego jest formą inteligencji. Dla komputerów nie jest to takie proste! Podjęto wiele prób zaprojektowania programów komputerowych, które mogą prowadzić rozmowę z człowiekiem i brzmieć inteligetnie. Te programy komputerowe nazywane są czatbotami (ang. chatbot, chatterbot) albo linguabotami.
Czatboty możesz spotkać w internecie w takich sytuacjach jak np. udzielanie pomocy na stronie rezerwacji biletu. Czasami nawet trudno stwierdzić, czy otrzymujesz automatyczną odpowiedź, czy rozmawiasz online z konsultantem. Zaczniemy od spojrzenia na kilka bardzo prostych czatbotów, które zostały zaprojektowane raczej jako eksperyment niż do oferowania poważnej pomocy.
Jednym z takich czatbotów jest Eliza, która stara się naśladować psychoterapeutkę rogeriańską i brzmi najbardziej inteligentnie w rozmowach, które miałyby miejsce podczas sesji terapeutycznej. Psychoterapia rogeriańska jest to technika, która polega na próbie zrozumienia pacjenta poprzez zadawanie pytań i przetwarzaniu fragmentów jego wypowiedzi w celu upewnienia go, że zostały one poprawnie zrozumiane.
-
Ostrzeżenie. Czatboty i informacje osobiste!
Kliknij na poniższy link i rozpocznij rozmowę z Elizą w języku angielskim, (pamiętając, że została zaprojektowana jako psychoterapeutka rogeriańska, więc będzie odpowiadała w tym stylu).
Kliknij tutaj aby porozmawiać z Elizą.
Myślisz, że Eliza jest tak samo mądra jak człowiek? Czy uwierzyłbyś, że Eliza jest człowiekiem, jeśli ktoś inny by ci tak powiedział??
Prawdopodobnie zgodzisz się, że chociaż Eliza brzmi czasami trochę inteligentnie, to zadaje ona bardzo niejasne i ogólnikowe pytania. Zapomina o wcześniejszej części rozmowy i czasami mówi rzeczy, które brzmią bardzo dziwnie! Jako przykład przeanalizuj poniższą rozmowę:
Eliza: Cześć, Jestem Eliza.
Człowiek: Cześć, jestem człowiekiem.
Eliza: Czy wierzysz to, że to normalne być człowiekiem?
Człowiek: Tak.
Eliza: Jesteś pewny?
Człowiek: Tak.
Eliza: Dlaczego powtarzasz się?
Wypowiedzi Elizy są bardzo ogólnikowe. Korzysta z wbudowanych wzorów wypowiedzi lub opiera się tylko na ostatniej wpisanej przez ciebie linijce tekstu. Prowadzi to często do bardzo dziwnych konwersacji, takich jak ta powyżej! W tym przypadku, gdy powiedziałem, że jestem człowiekiem, wtedy Eliza użyła dopasowania wzorców do słów kluczowych i zapytała „Czy wierzysz w to, że to normalne być człowiekiem?”. Jeśli powiedziałbym „Jestem bananem”, wtedy ta sama reguła wygenerowałaby pytanie „Czy wierzysz w to, że to normalne być bananem?”. Gdy odpowiedziałem „Tak”, to właściwie Eliza nie zrozumiała znaczenia mojej wypowiedzi, więc po prostu zapytała mnie, czy byłem tego pewny. Ma ona generalną zasadę, że gdy ktoś mówi „Tak”, to dobrze jest go zapytać czy na pewno. Eliza ma także wzorce, które są wywoływane, gdy ktoś powtarza się. Eliza tak naprawdę nie rozumie tego, co do niej piszesz (znaczenia tekstu), zamiast tego trzyma się reguł, które podpowiadają, co może być właściwą odpowiedzią. W żaden sposób nie jest w stanie stwierdzić, że dwukrotna odpowiedź „Tak” była dla mnie naprawdę ważna! To właściwie duża wskazówka, że Eliza nie jest tak naprawdę inteligentna i nie rozumie kontekstu rozmowy, a nawet tego, czy odpowiedź na jej pytanie jest lub nie jest sensowna.
Teraz przeprowadź kolejną konwersację z Elizą. Jest wiele innych przykładów podobnych do konwersacji powyżej, pokazujących, że Eliza mówi bez sensu. Ile możesz znaleźć takich przykładów? Sprawdź, jak Eliza odpowiada, gdy używasz takich strategii rozmowy:
- Spróbuj być „papugą”, która tylko powtarza wszystko, co powiedziała Eliza.
- Co się dzieje, gdy nie dajesz sensownych odpowiedzi na jej pytania?
- Jeśli mówisz te same rzeczy, które powiedziałeś wcześniej, czy Eliza zawsze reaguje w ten sam sposób?
- Co się stanie, gdy zaczniesz mówić o rzeczach, które nie pojawiłyby się raczej na sesji terapeutycznej -- będziesz starał się rozmawiać z Elizą na ogólne tematy (pamiętaj, że Eliza operuje w specjalistycznej dziedzinie, to znaczy ona zakłada, że jest terapeutką)?
Jak już wspomnieliśmy, Eliza jest czatbotem, który pracuje w specjalistycznej dziedzinie (próbuje być terapeutką). Stara się brzmieć inteligentnie poprzez zadawanie ogólnikowych pytań. Dzięki temu szybko zapewne odkryłeś, że Eliza nie jest w ogóle inteligentna i będzie powtarzała te same rzeczy w kółko.
Spróbuj przeprowadzić rozmowę z kolejnym czatbotem — Mitsuku. Pierwowzorem czabota Mitsuku była ALICE. Mitsuku zawiera całą bazę wiedzy AIML czatbota Alice (w angielskiej wersji przewodnika autorzy proponują rozmowę z Alice, lecz podany odnośnik jest nieaktualny [przyp. tłum.]).
Kliknij tutaj, aby porozmawiać z Mitsuku.
Czy Mitsuku brzmi bardziej inteligentnie od Elizy? Czy brzmi równie inteligentnie jak człowiek lub czy możesz sprawić, że będzie mówiła bezsensowne rzeczy? Spróbuj użyć tych samych wskazówek, których używałeś w przypadku Elizy i zobacz, czy działają one na Mitsuku (spójrz na listę punktów w podrozdziale poświęconym Elizie).
Mitsuku oraz Eliza używają reguł do budowania swoich wypowiedzi, jednakże Mitsuku ma ich więcej. Algorytm odpowiedzialny za wybranie tego co powiedzieć, jest w tym przypadku bardziej wyrafinowany. Jeśli chcesz się dowiedzieć, jak skonsturowana jest Mitsuku, po prostu ją zapytaj, a ona da ci odpowiedź!
Poniżej zamieszczamy możliwe reguły stosowane przez Mitsuku:
- Jeśli jest wspomniany „ulubiony kolor”, powiedz „niebieski”
- Jeśli wspomniany jest członek rodziny (np. „mama”, „tata” lub „brat”), powiedz coś związanego z rodziną.
Aby użyć reguł, czatbot analizuje twoje ostatnie zdanie (i możliwe, że również wcześniejsze zdania) poprzez dopasowanie zdania do wzorców, które ma zapisane. Jeśli zdanie pasuje do wzorca w regułach, wtedy dana reguła jest „aktywowana”. Reguła określa odpowiedź. Czasami jest ona po prostu szablonem zdania i czatbot analizuje tekst, który wpisałeś i wybiera słowa, które mogą być wpisane w szablon. To dlatego czasami odpowiedzi są konstruowane w ten sposób, że używane są części tekstu wpisanego przez człowieka..
Jakość tych reguł determinuje to, jak inteligentnie czatbot będzie brzmiał.
Mitsuku jest bez wątpienia bardziej inteligentna od Elizy, jednak nadal ma ograniczenia. Czasami sama się do nich przyznaje!!
Człowiek: Co wydarzy się w roku 2000?
Mitsuku: Nie mogę przewidzieć przyszłości.
Człowiek: To jest przeszłość.
Mitsuku: Tak, to jest coś z przeszłości.
Człowiek: Więc dlaczego powiedziałaś, że nie możesz przewidzieć przyszłości?
Mitsuku: To była wstępnie zaprogramowana odpowiedź, całkowicie zdeterminowana przez twoje stwierdzenie.
Człowiek w tej rozmowie musiał być trochę złośliwy, oszukując ją i mówiąc „co wydarzy się”. Jej zasady nie przewidują, że człowiek może ją w taki sposób traktować.
W poprzednich podrozdziałach widzieliśmy przykłady dwóch czatbotów, które mają reguły pomagające konstruować wypowiedzi. Jeden z nich działa w specjalistycznej dziedzinie, symulując terapeutę i nie jest w stanie prowadzić bardzo ogólnej konwersacji. Drugi jest w stanie prowadzić bardziej ogólną rozmowę. Obydwa czatboty mają swoje reguły, które zostały wbudowane w nie przez ich twórców. Te zasady mogą się zmienić tylko wtedy, gdy ich twórca o tym zdecyduje i zaktualizuje oprogramowanie czatbota.
Istnieją innego rodzaju czatboty, które są w stanie uczyć się zasad od ludzi w czasie konwersacji. Poprzez analizowanie tego, co pisze człowiek, czatbot próbuje nauczyć się, jak powinien odpowiadać w różnych sytuacjach. Założeniem jest, że jeśli odpowiada w sposób podobny do człowieka, wtedy może będzie brzmiał jak człowiek. Celem większości tych czatbotów jest prowadzenie ogólnej konwersacji, tzn. nie są one ograniczone do jednej dziedziny, tak jak terapeutka Eliza.
Twórcy uczących się czatbotów przyjęli zasadę, że gdy próbujesz symulować ludzką inteligencję, wtedy prawdopodobnie uczenie się od ludzi jest drogą do celu.
-
Ostrzeżenie. Interakcja z czarbotami, które się uczą
Przykładem czatbota, który uczy się od ludzi jest Cleverbot.
Kliknij tutaj, aby porozmawiać z Cleverbotem (po angielsku).
W przeciwieństwie do Elizy i Mitsuku, których reguły były określone przez programistów, Cleverbot uczy się zasad, opierając się na tym, co powiedzą ludzie. Na przykład, gdy Cleverbot mówi „cześć” do człowieka, to śledzi wszystkie reakcje, takie jak „hej”, „hello!”, „siema”, „co tam?” (angielskie „hi”, „hello!”, „hey ya”, „sup!”). Zasada działa w ten sposób: gdy ktoś powie „cześć" do Cleverbota, to Cleverbot powie to, co na ogół ludzie mówili w odpowiedzi do Cleverbota na „cześć”. Z kolei gdy Cleberbot mówi coś w rodzaju „co tam?” lub „hello!”, to wtedy będzie przyglądał się temu, jak ludzie odpowiadają na to i w ten sposób uczy się właściwej odpowiedzi. To pozwala zbudować Celverbotowi coraz większą bazę danych odpowiedzi.
Fundamentem dla Cleverbota jest założenie, że ludzie są rzeczywiście inteligentni i będą uczyli go mówienia inteligentnych rzeczy. Jeśli na przykład człowiek powie Cleverbotowi coś jak „szkoła jest nudna” w odpowiedzi na „hej”, Cleverbot może nauczyć się, że gdy osoba powie „hej”, to właściwą odpowiedzią Clverbota jest „Szkoła jest nudna”!
-
Ciekawostka. Krótki film stworzony przez Cleverbota
Istnieje wiele czatbotów, z którymi możesz rozmawiać. Możesz zajrzeć na listę w angielskiej Wikipedii lub wyszukać je w Internecie za pomocą wyszukiwarki. Każdy czatbot na liście ma swoją stronę na Wikipedii. Część z tych czatbotów będzie miała reguły zdefiniowane przez programistów, część będzie miała reguły, które powstały poprzez uczenie się od ludzi.
Jeśli masz urządzenie z systemem Apple iOS (np. iPhone), spójrz na czatbota Siri, który znajduje się w systemie pomocy urządzenia. Siri jest przykładem czatbota, którego zadaniem jest pomoc człowiekowi, w przeciwieństwie do większości czatbotów, których celem jest po prostu rozrywka internetowa. Siri ma również wbudowane rozpoznawanie głosu, dlatego możesz do niej mówić, a nie tylko pisać.
W podrozdziałach powyżej zaznajomiłeś się z niektórymi czatbotami i (mamy nadzieję!), wyciągnąłeś wniosek, że nie są one całkowicie przekonujące, udając człowieka (choć niektóre są lepsze od innych!). Ale może wkrótce pojawią się nowe czatboty, które nie będą miały tych ograniczeń. Czy powinniśmy uważać je za inteligentne? W jaki sposób moglibyśmy to stwierdzić? Czy istnieje formalny sposób, w jaki możemy ustalić, czy czatbot jest na poziomie ludzkiej inteligencji?
Bardzo znany informatyk, Alan Turing, odpowiedział na to pytanie w 1950 roku, zanim istniał pierwszy czatbot! Alan Turing miał niezwykłą wizję przyszłości i wiedział, że wymyślenie inteligentnych komputerów jest tylko kwestią czasu i że będziemy potrzebować metody sprawdzającej, czy udało nam się stworzyć naprawdę inteligentny komputer.
Zastanawiał się nad tym, jak można byłoby zdefiniować inteligencję (określenie inteligencji jest zaskakująco trudne!) i stwierdził, że jednym ze sposobów byłoby uznanie, że komputer jest inteligenty, jeśli potrafi konwersować z człowiekiem jak człowiek. Definicja ta nie obejmuje całej inteligencji, ponieważ uwzględnia jedynie to, co osoba lub komputer mówi i ignoruje inne elementy inteligencji, takie jak określenie najlepszego sposobu na przejście przez budynek (lub labirynt) lub zdecydowanie, jak działać w konkretnej sytuacji (na przykład na imprezie towarzyskiej, przy podejmowaniu decyzji o tym, jaką kolejną rzecz zrobić w pracy lub co zrobić, gdy ktoś się zgubi). Jednakże komunikacja jest nadal bardzo istotnym elementem ludzkiej inteligencji.
Aby sprawdzić, czy program komputerowy może lub nie może komunikować się jak człowiek, Turing zaproponował test. Oprócz programu komputerowego, do przeprowadzenia testu wymagane są dwie osoby. Jedna z osób działa jako „przesłuchujący”, a druga jako „człowiek”, do porównania z programem komputerowym. Przesłuchującego umieszcza się w innym pomieszczeniu niż komputer i „człowiek”. Przesłuchujący rozmawia zarówno z człowiekiem, jak i z programem komputerowym, ale nie wie z kim rozmawia w danej chwili. Rozmowy przeprowadzane są na zasadzie podobnej do komunikatora tekstowego, dzięki czemu program komputerowy nie potrzebuje komunikować się głosowo. Podczas rozmów zarówno człowiek, jak i komputer próbują przekonać przesłuchującego, że są człowiekiem. Po zakończeniu rozmów przesłuchujący musi powiedzieć, który z rozmówców był komputerem, a który człowiekiem. Jeśli nie jest w stanie tego z dużą pewnością stwierdzić, oznacza to, że komputer przeszedł pomyślnie test.
Test zaproponowany przez Turinga stał się w końcu sławny i otrzymał nazwę „testu Turinga”. Jedną z motywacji do tworzenia czatbotów jest próba stworzenia takiego, który zda test Turinga. Niestety nie został jeszcze stworzony czatbot, który zdałby ów test, a kwestią otwartą w informatyce jest to, czy jest to w ogóle możliwe, podobnie jak inne pytania o sztuczną inteligencję, które napotkasz dalej w tym rozdziale.
Istnieją również inne formy testu Turinga. Gry akcji mają czasami postać sterowaną komputerowo, która walczy z twoją postacią, zamiast drugiej, kontrolowanej przez człowieka postaci. Odmianę testu Turinga można wykorzystać do określenia tego, czy komputerowo kontrolowany gracz wydaje się posiadać (lub nie) ludzką inteligencję, prosząc przesłuchującego, aby grał zarówno przeciwko postaci komputerowej, jak i ludzkiej, i aby sprawdzić, czy potrafi odróżnić je od siebie.
W rzeczywistości wiele aspektów ludzkiej inteligencji mogłoby zostać przetestowanych przed odmianę testu Turinga. Jeśli chciałbyś mieć komputerowego szachistę, który wyglądałby jak człowiek, a nie komputer (niektórzy ludzie woleliby grać przeciwko człowiekowi, a nie komputerowi), możesz również użyć do tego testu Turinga! Jakie inne możliwe testy Turinga możesz wymyślić?
-
Ciekawostka. Prawdziwy test Turinga
-
Projekt. Uruchom swój własny test Turinga na czatbocie
W tym rozdziale pisaliśmy jedynie o jednym zastosowaniu SI. Ten dział informatyki zawiera o wiele więcej ekscytujących zastosowań, takich jak komputery, które mogą grać w gry planszowe przeciwko ludziom, komputery, które się uczą, komputery, które są w stanie kontrolować roboty, które eksplorują środowisko zbyt niebezpieczne, aby weszli tam ludzie.
W przyszłości ten rozdział będzie rozbudowany.
- O sztucznej inteligencji na stronie i-Programmer;
- Paradoks sztucznej inteligencji (i-Programmer).
Wszystkie materiały są po angielsku.
- Robot Harold — materiały dodatkowe na stronie CS Unplugged, o tym, dlaczego SI jest taka trudna;
- test Turinga — materiały dodatkowe na stronie CS Unplugged;
- Wikipedia -- o sztucznej inteligencji;
- Wikipedia -- test Turinga;
- Wikipedia -- o uczeniu maszynowym;
- CS4FUN -- o czatbotach;
- CS4FUN -- o teście Turinga;
- IEEE Spectrum -- o sztucznej inteligencji;
- TED -- filmy z wykładami na temat sztucznej inteligencji.