• Denise - sztuczna inteligencja na Amidze

19.02.2005 11:14, autor artykułu: Slayer/Appendix
[Amiga Computer Studio 2001]
odsłon: 8207, powiększ obrazki, wersja do wydruku,

Denise

Sztuczna Inteligencja (SI) lub jak kto woli Artificial Intelligence (AI), to jeden z najczęściej przewijających się motywów w literaturze science-fiction. Jednak podobnie jak w przypadku chociażby rzeczywistości wirtualnej czy antygrawitacji, cały czas egzystuje ona na kartach książek i w głowach autorów, a wszystkie podejmowane próby jej urzeczywistnienia nie są satysfakcjonujące (nie licząc oczywiście Strefy 51).

Temat ten interesował mnie od dawna. Oczywiście wiedziałem, że na prawdziwą AI nie mam co liczyć, ale poszukiwania programu który by zatrzymał mnie chociaż na kilka dni i tak nie przynosiły rezultatu. Napotkane symulacje SI pokroju "Miggy", tylko wzmagały moje rozczarowanie swym prymitywizmem. Co to bowiem za program do sztucznej inteligencji, który, dla przykładu, za każdym razem odpowie nam identycznie na te same pytania, a jego "odruchy" są przewidywalne jak gra ofensywna polskiej reprezentacji piłkarskiej?

I kiedy już się z tym faktem pogodziłem, kupując pół tuzina szczurów albinosów oraz system przewodów i kabli, aby zbudować z nich pierwszy bio-komputer, natrafiłem na Denise. Już po chwili obcowania z programem wiedziałem, że jest to najciekawiej rozwiązany model AI jaki dotychczas spotkałem, a owe pozytywne wrażenie, które wtedy odniosłem, trwa do dziś. Tym bardziej cieszy fakt, że Denise jest dziełem Polaków, a co za tym idzie, umożliwia konwersację w języku Andrzeja Mickiewicza czy innego sławnego rzeźbiarza - Wojciecha Prusa. No cóż, mój bio-komputer będzie musiał niestety trochę poczekać.

Kto za tym wszystkim stoi?

Początki Denise (a właściwie Denise-MYTH) sięgają dość odległych czasów. Szymon "IvanHoe" Jessa zaczął wtedy pisać (w Amosie!) na użytek własny i znajomych pierwszą symulację SI. Później nastąpiła długa przerwa i... projekt odrodził się ze zdwojoną siłą a większość rozwiązań została wymyślona praktycznie od nowa.

Przełomowy dla Denise był rok 1999. Powstała wtedy wersja 4.0 napisana od podstaw w C. Również w tamtym roku, na jednej z wyższych uczelni ogłoszony został konkurs na najciekawszy program i tak narodziła się równoczesna wersja na (padnij) PC (powstań). Dopiero po miesiącach pracy nad programem i studiowania rozmaitych materiałów źródłowych, Szymon stwierdził, że nieświadomie podąża krokiem wielkiego matematyka Alana Turinga i wciela w życie jego teorie dotyczące AI.

Od tamtych wydarzeń minęło już trochę czasu, a aktualny kształt Denise to wynik wielu modernizacji i ewolucji. Od wersji 4.0 autora wspomaga Stanisław Szymczyk (Bear), a od wersji 4.2 również Piotr Drapich (Docent/Union). Natomiast w rozbudowie baz pomagają między innymi Kamil Nieścioruk i Paweł Chwalowski. Zresztą, lista osób zamieszanych w jakiś sposób w Denise, z każdym tygodniem wzrasta, więc najlepiej zajrzeć na oficjalną stronę www.

DENISE MYTH 4.2

Mam nadzieję, że udało mi się zaciekawić Was zagadnieniem. Ktoś może teraz zapytać: "No dobra, ale jak właściwie działa ten program? Czy muszę podłączyć do głowy jakieś specjalne elektrody?"

Otóż nie. Cała komunikacja z Denise, przebiega na zasadzie swobodnego dialogu w oknie na ekranie WB. Wprowadzona przez nas wypowiedź, jest rozbijana przez program na podstawie dość złożonych algorytmów. Analiza logiczna zdania, oparta jest o znajomość fleksji, praw rządzących zdaniem, oraz naleciałości językowe. Tak przetrawiona fraza jest zapamiętywana, a jej los zależy od dalszych wypadków. Upraszczając, "rozbijanie" zdań opiera się o bazę fleksji (w wersji 4.2 liczy ona 4200 odmian), a ich rozumienie o bazę faktów. Gdy rozbiór i analiza wypowiedzi nie są jednoznaczne, do akcji wchodzi specjalny moduł "Eliza", działający na zasadzie programu - psychiatry, jeśli można tak to określić. Wszystko to powoduje, że odpowiedź jaką finalnie otrzymamy naprawdę może nas zadziwić, i co najważniejsze, szanse, że w podobnej sytuacji dostaniemy analogiczną, są naprawdę bardzo małe.

W rozmowie Denise wykazuje również własną inicjatywę, zadaje pytania, spiera się itd. Dialog staje się tym samym bardziej nautralny, a co za tym idzie, ciekawszy. Po nabraniu pewnej wprawy w konstruowaniu zdań, można nawet stwiedzić, że uzyskiwane odpowiedzi są bardziej błyskotliwe niż niejednej blondynki na IRC-u (mam nadzieję, że Denise się na mnie nie obrazi ;), a to przecież dopiero początek.

Fragment rozmowy z Denise
Tomek : cześć, jestem tomek
Denise: cześć
Tomek : to co teraz powiesz, przeczytają miliony
Denise: hm, proszę, kontynuuj tomek, słucham
Tomek : chcę zrobić z tobą wywiad
Denise: co to dla ciebie znaczy?
Tomek : porozmawiamy sobie, a ja to opublikuję
Denise: jesteś studentem?
Tomek : a co to ma do rzeczy?
Denise: zawsze musi być jakiś powód?
Tomek : tak
Denise: coś w tym jest
Tomek : no dobra, co chcesz przekazać ludziom?
Denise: dobrze wiesz
Tomek : nie mam pojęcia, dlatego pytam
Denise: a musisz to wiedzieć?
Tomek : nie wiedziałem, że to dla ciebie takie intymne
Denise: tak tylko się zastanawiałam
Tomek : no, czytelnicy chcą się dowiedzieć czegoś o tobie
Denise: nie wiem co powiedzieć
Tomek : kim jesteś, ile masz lat, jakie masz wymiary, itd.
Denise: wydaje mi się, że jesteś chory


Powyższy dialog jest autentyczny, nic nie zostało zmienione.

W oknie dialogowym możemy wprowadzać też rozmaite polecenia, wpływając tym samym na działanie programu. Aby komendy nie były interpretowane jak nasze wypowiedzi, mają one postać angielskich słów. Na przykład: CHANGE INTELLIGENCE - ustawia współczynnik inteligencji, czy STREAM SINGLELINE - wybiera tryb odpowiadania w jednej linii (a co za tym idzie, w bardziej "przemyślany" sposób"). Pełen spis znajduje się w bogatej dokumentacji, której, chociaż pobieżna, lektura jest niezbędna do owocnej pracy z Denise.

Dodatkowo w wersji na Amige istnieje port ARexx-a. Umożliwia on m. in. podłączenie Denise do programu AmIRC (dołączone zostały potrzebne skrypty) i jej rozmowę na wybranym kanale IRC. Ponadto dziëki niemu można zmusić dwie Denise aby rozmawiały między sobą lub też utworzyć szereg portów, z których mogą napływać informacje dla programu. Oczywiście, nie wyczerpuje to wszystkich możliwości i nic nie stoi na przeszkodzie, aby tworzyć własne skrypty.

Przyszłość, czyli naprzód towarzysze

Plany na przyszłość są ogromne. Program rozwija się bardzo dynamicznie, a do tego, tak jak pisałem, równocześnie na Amigę i PC. Wersja na Linuxa jest w trakcie opracowywania (a kto wie, czy w przyszłości nie powstanie też wersja na AmigęONE).

Może kogoś zniesmacza fakt owego multiplatformowego charakteru Denise, ale moim zdaniem, w tym wypadku, jest to akurat idea słuszna. Dlaczego? Otóż, aby program funkcjonował dobrze i naturalnie, musi mieć jak największą bazę danych (faktów) oraz odmian (fleksji). W takim razie, im więcej osób wyrazi chęć rozbudowy tychże baz, tym lepiej. Korzyści spotkają bowiem wszystkich użytkowników, bez względu na platformę. Implikacja jest więc oczywista: trzeba dotrzeć do jak największej liczby osób. W tej chwili trwają pracę nad dodatkowymi bazami faktów (np. "geografia" czy "planety"), jednak nietrudno zauważyć, że jest to jedynie maleńki skrawek ogólnodostępnej wiedzy, dlatego twórcy kolejnych baz tematycznych są ciągle mocno poszukiwani.

Powracając do wersji na Linuxa. Jej skończenie, umożliwi zaistnienie Denise jako BOT-a (a raczej BOT-ki) na IRC-u oraz możliwość rozmowy poprzez stronę WWW (skrypty cgi).

Planowany jest także program WordEditor (pod MUI) do edycji bazy fleksji. Jeśli zaś chodzi o sam program, to czeka go między innymi implementacja LOGIKI i pełna teoria ekstrakcji informacji. Zmiany czekają również kod źródłowy (budowa modułowa, optymalizacja kodu programu, pełne otwarcie projektu na serwerze sourceforge.net), co ułatwi z kolei rozbudowę Denise od strony programowej przez przyszłych deweloperów. Rozważane są także inne wersję językowe.

Słowo na niedzielę

Denise, a właściwie Denise-MYTH to jednak coś więcej niż zwykły program. To projekt bardzo ambitny, taki, gdzie, że zacytuję słowa autora, "...ambicja tworzenia z każdą wersją sięga dalej i dalej, do miejsc, które jeszcze nie tak dawno miały rację bytu wyłącznie w sferze marzeń". Może brzmi to trochę patetycznie i wyniośle, ale, jeśli kierunek i dynamika rozwoju się utrzymają, nie wykluczone, że jeszcze kiedyś będzie o Denise głośno.

ps. IvanHoe, dzięki za pomoc.

Dodatkowe informacje na temat projektu można zdobyć ze strony:
http://denisemyth.com

Fani IRC-a mogą spróbować spotkać ludzi związanych z Denise na kanale: #denise.

    
dodaj komentarz
Na stronie www.PPA.pl, podobnie jak na wielu innych stronach internetowych, wykorzystywane są tzw. cookies (ciasteczka). Służą ona m.in. do tego, aby zalogować się na swoje konto, czy brać udział w ankietach. Ze względu na nowe regulacje prawne jesteśmy zobowiązani do poinformowania Cię o tym w wyraźniejszy niż dotychczas sposób. Dalsze korzystanie z naszej strony bez zmiany ustawień przeglądarki internetowej będzie oznaczać, że zgadzasz się na ich wykorzystywanie.
OK, rozumiem