Oczywistym jest, i˙z proces pozyskiwania wiedzy z danych musi by´c ograniczo-ny do konkretnej dziedziograniczo-ny (by´c mo˙ze dziedzin). W ˛atpliw ˛a wydaje si˛e by´c mo˙z-liwo´s´c unifikacji cało´sci danych jak ˛a posiada ludzko´s´c i zbudowania systemu, który b˛edzie w stanie odpowiedzie´c nam na niemal˙ze ka˙zde pytanie. Ograni-czaj ˛ac si˛e do pewnego wycinka rzeczywisto´sci zaplanowano stworzenie systemu wieloagentowego, który umo˙zliwi wyszukanie optymalnych, według przyj˛etego kryterium, ofert przejazdów z otoczenia miasta A do otoczenia miasta B. System składa si˛e z Agentów Personalnych, Agenta Koordynuj ˛acego, Agentów Wyszu-kuj ˛acych i Agentów Indeksuj ˛acych. Agenci Personalni przydzielani s ˛a ka˙zdemu u˙zytkownikowi w sposób indywidualny. Stanowi ˛a interfejs pomi˛edzy człowie-kiem, a systemem. Agenci Indeksuj ˛acy odpowiedzialni s ˛a za poszerzanie bazy danych serwisów z ofertami przejazdów. Agenci Wyszukuj ˛acy wyszukuj ˛a poł ˛ a-cze ´n w danych serwisach. Nad prac ˛a wszystkich agentów czuwa jeden Agent Ko-ordynuj ˛acy.
5.3.1. Cele systemu i funkcjonalno´sci
W definiowaniu celów systemu nale˙zy przede wszystkim sformułowa´c pytania lub ich zakres, na które oczekuje si˛e odpowiedzi oraz ustali´c ´zródła danych wyko-rzystywanych w pozyskiwaniu wiedzy. System ma odpowiedzie´c na pytania do-tycz ˛ace mo˙zliwo´sci przejazdu z otoczenia miasta A do otoczenia miasta B w nie-koniecznie ´sci´sle okre´slonym terminie z uwzgl˛ednieniem przyj˛etych kryteriów. Przykładowe pytania i oczekiwane typy odpowiedzi przedstawiono w tab. 5.1. Ze wzgl˛edu na ograniczenie dziedziny, pytania maj ˛a charakter zamkni˛ety i składaj ˛a si˛e z nast˛epuj ˛acych elementów:
5.3. Koncepcja systemu • miejsce wyjazdu, mo˙ze by´c zadane jako otoczenie pewnej miejscowo´sci o do-wolnym promieniu lub domy´slnie miejscowo´s´c, w której znajduje si˛e u˙zytkow-nik,
• miejsce docelowe, sprecyzowane jak wy˙zej,
• data (okres) wyjazdu lub przyjazdu, domy´slnie b˛edzie to najszybsza mo˙zliwa data wyjazdu,
• zakres ceny przejazdu, • rodzaj samochodu, • wiek, płe´c i sta˙z kierowcy,
• uwzgl˛ednienie kryterium minimalizacji kosztów i/lub czasu podró˙zy, i/lub ilo-´sci przesiadek.
Odpowiedzi systemu b˛ed ˛a listami ofert przejazdów uszeregowane w kolejno´sci od najbardziej do najmniej adekwatnych do indywidualnych wymaga ´n u˙zytkow-nika. W tym celu wprowadzono współczynnik atrakcyjno´sci, obrazuj ˛acy stopie ´n w jakim agent ocenia dopasowanie odpowiedzi do profilu i pytania u˙zytkow-nika. Dodatkowo wprowadzono współczynnik zadowolenia, który b˛edzie infor-macj ˛a zwrotn ˛a dla agenta o skuteczno´sci jego działania. ´Zródłami danych, z
któ-Tab. 5.1: Przykładowe pytania i oczekiwane typy odpowiedzi w systemie.
Nr Pytanie Odpowied´z
1. Jakie s ˛a mo˙zliwo´sci dojazdu z Wro-cławia do Warszawy przed ´swi˛e-tami?
Lista ofert przejazdów z Wrocławia do Warszawy w okresie kilku dni przed ´swi˛etami.
2. Jak mog˛e si˛e dosta´c dzi´s wieczo-rem do Gda ´nska z okolic Szcze-cina?
Lista ofert przejazdów z otoczenia Szczecina do Gda ´nska, z czasem przyjazdu do dzi´s do północy. 3. Jak mog˛e najtaniej dojecha´c do
Warszawy?
Lista najta ´nszych ofert przejazdów z miasta w którym znajduje si˛e u˙zytkownik do Warszawy.
4. Jak mog˛e najszybciej dojecha´c do Warszawy?
Lista najta ´nszych ofert przejazdów z miasta w którym znajduje si˛e u˙zytkownik do Warszawy.
5. Jakie s ˛a mo˙zliwo´sci dojazdu z Wro-cławia do Warszawy dzi´s? Mo˙ze by´c z przesiadkami.
Lista ofert przejazdów z Wrocła-wia do Warszawy w dniu dzisiej-szym z uwzgl˛ednieniem ewentual-nych przesiadek
rych system b˛edzie wydobywał wiedz˛e b˛ed ˛a serwisy internetowe, na których ist-nieje mo˙zliwo´s´c zamieszczenia oferty przejazdu. Przykładowy serwis mo˙zna zna-le´z´c pod adresami: http://stopem.pl, http://wroclaw.gumtree.pl, http: //www.autostop.com.pl,http://www.nastopa.pl.
System wyposa˙zony został w baz˛e zawieraj ˛ac ˛a adresy takich serwisów. Do-datkowo Agenci Indeksuj ˛acy na podstawie własnych przekona ´n (zbioru słów
klu-czowych powi ˛azanych z dziedzin ˛a i relacji mi˛edzy nimi) b˛ed ˛a aktualizowa´c baz˛e danych, przeszukuj ˛ac Internet i dodaj ˛ac nowe strony z danymi.
5.3.2. Opis działania systemu
Prac˛e systemu mo˙zna podzieli´c na dwa niezale˙zne nurty: wyszukiwanie po-ł ˛acze ´n oraz uaktualnianie bazy serwisów z ofertami przejazdów. Zasadnicz ˛a rol ˛a systemu jest udzielanie odpowiedzi na pytania u˙zytkownika. Schemat systemu pokazano na rys. 5.1.
Rys. 5.1: Schemat systemu.
Na rys. 5.2 przedstawiono fizyczne rozmieszczenie agentów. Agent Koordy-nuj ˛acy i indeksuj ˛acy b˛edzie uruchamiany na serwerze systemu. Razem z nimi automatycznie tworzona jest trójka agentów RMA, ams i df, które odpowiadaj ˛a za poprawne działanie platformy. Agent Wyszukuj ˛acy b˛edzie znajdował si˛e na ser-werach systemów oferuj ˛acych ogłoszenia, a agent personalny – na komputerze u˙zytkownika.
Prac˛e systemu mo˙zna podzieli´c na nast˛epuj ˛ace rodzaje działania, w kolejno´s-ci opisuj ˛acej proces pozyskiwania odpowiedzi na zadane pytanie:
• zadanie pytania przez u˙zytkownika,
• odbiór i interpretacja pytania przez Agenta Personalnego, • przekazanie zlecenia Agentowi Koordynuj ˛acemu,
5.3. Koncepcja systemu
Rys. 5.2: Fizyczne rozmieszczenie poszczególnych agentów.
• odebranie wyników przez Agenta Koordynuj ˛acego i przekazanie ich do Agenta Personalnego.
U˙zytkownik b˛edzie zadawał pytanie korzystaj ˛ac z formularza. Pytanie u˙zytkow-nika jest nast˛epnie interpretowane przez Agenta Personalnego – indywidualnie przydzielonego ka˙zdemu u˙zytkownikowi. Oprócz po´sredniczenia w komunika-cji klienta z systemem, Agent Personalny zbiera informacje dotycz ˛ace profilu da-nego u˙zytkownika. Opieraj ˛ac si˛e na swojej wiedzy, Agent Personalny weryfikuje i udziela odpowiedzi na zapytania, bior ˛ac pod uwag˛e profil klienta (profil jest te˙z brany pod uwag˛e w interpretacji pytania). Nast˛epnie zadanie przekazywane jest do Agenta Koordynuj ˛acego, który rozdziela je na Agentów Wyszukuj ˛acych. Od-powied´z w postaci pewnego zbioru potencjalnych rozwi ˛aza ´n zadania wysyłana jest pó´zniej, za po´srednictwem Agenta Koordynuj ˛acego, do Agenta Personalnego. Po subiektywnej selekcji wybierane s ˛a najlepsze, a nast˛epnie prezentowane u˙zyt-kownikowi.
Wspomnian ˛a drug ˛a funkcjonalno´sci ˛a systemu jest pozyskiwanie informacji o serwisach internetowych, na których dost˛epne s ˛a oferty przejazdów. W skład podsystemu zapewniaj ˛acego tak ˛a funkcjonalno´s´c b˛ed ˛a wchodziły Agenty Indek-suj ˛ace. Wyniki pracy w postaci adresów serwisów b˛ed ˛a przekazywane do Agenta Koordynuj ˛acego. W projekcie przewidujemy równie˙z wykorzystanie małej bazy danych do przechowywania adresów serwisów.
5.3.3. Opis Agentów
Charakterystyki agentów pracuj ˛acych w systemie zamieszczono w tab. 5.2. W fazie rozwi ˛azywania problemów mo˙ze wyst ˛api´c potrzeba współdzielenia roz-wi ˛aza ´n. W systemie zało˙zono, ˙ze agenci komunikuj ˛a si˛e ze sob ˛a za pomoc ˛a Agenta Koordynuj ˛acego.
W systemie, ze wzgl˛edu na jego nisk ˛a zło˙zono´s´c, zdecydowano si˛e u˙zy´c sys-temu tablicowego. Po otrzymaniu zadania Agent Koordynuj ˛acy bazuj ˛ac na li´scie dost˛epnych serwisów rozdziela je mi˛edzy Agentami Wyszukuj ˛acymi. Nast˛epnie tworzy list˛e odpowiedzi usuwaj ˛ac powtarzaj ˛ace si˛e wpisy. Agenci Indeksuj ˛acy działaj ˛a w sposób praktycznie niezale˙zny i ci ˛agły, przeszukuj ˛ac cały internet. Taki sposób przydzielania zada ´n nie zmniejszy ilo´sci wyst˛epuj ˛acych w systemie kon-fliktów. Zasadniczo w systemie przewidziano nast˛epuj ˛ace rodzaje konfliktów: • jednoczesne ˙z ˛adanie dost˛epu do listy odpowiedzi i bazy adresów serwisów, • jednoczesne zlecenie dwóch ró˙znych zada ´n przez Agentów Personalnych, • zlecenie zadania przez Agenta Personalnego w chwili, gdy nie ma wolnych
Agentów Wyszukuj ˛acych,
• ˙z ˛adanie obsługi przez u˙zytkownika w przypadku braku wolnych Agentów Per-sonalnych.
Tab. 5.2: Opis agentów
Nazwa agenta Rodzaj Zadania
Personalny instytucjo-nalny
• odbieranie pyta ´n • interpretacja pyta ´n
• budowanie profilu u˙zytkownika
• przygotowanie odpowiedzi na podstawie pro-filu u˙zytkownika
Wyszukuj ˛acy reaktywny • wyszukiwanie ofert przejazdów na podstawie specyfikacji
• posługiwanie si˛e map ˛a odległo´sci i kalenda-rzem w realizacji zada ´n
Koordynuj ˛acy socjalny • koordynacja prac ˛a agentów w systemie • planowanie i realizacja planów
• specyfikacja zada ´n
• generowanie celów działania
• dokonywanie zmian w przekonaniach agen-tow na podstawie nowych informacji o ´swie-cie
Indeksuj ˛acy instytucjo-nalny
• poszukiwanie serwisów z ofertami przejaz-dów
• aktualizowanie bazy danych z adresami ser-wisów
• aktualizowanie bazy słów kluczowych
W przypadku ˙z ˛adania dost˛epu do listy odpowiedzi i bazy adresów serwisów przez dwóch lub wi˛ecej Agentów Wyszukuj ˛acych czy Indeksuj ˛acych, Agent Koor-dynuj ˛acy przydziela zasoby w kolejno´sci zale˙znej od ich identyfikatora. Dost˛ep do bazy b˛edzie trwał przez ustalony czas, a nast˛epnie Agent Koordynuj ˛acy b˛e-dzie odbierał przyb˛e-dzielone zasoby i przekazywał do nast˛epnego agenta
szerego-5.4. Realizacja systemu