53
U N I V E R Z I T E T U N O V O M S A D U TEHNIČKI FAKULTET "MIHAJLO PUPIN" Z R E N J A N I N Seminarski rad PREDMET: Inteligentni agenti TEMA: Primjena agenata u poslovanju Mentor: Prof. Dr Želimir Branović Student: Boban Čelebić Broj indeksa: 30/09M-23 Smjer: Informacione tehnologije Zrenjanin, decembar 2010.

Seminar Ski Rad Skraceni

Embed Size (px)

Citation preview

Page 1: Seminar Ski Rad Skraceni

U N I V E R Z I T E T UN O V O M S A D U

TEHNIČKI FAKULTET "MIHAJLO PUPI N"

Z R E N J A N I N

Seminarski rad

PREDMET: Inteligentni agenti

TEMA: Primjena agenata u poslovanju

Mentor: Prof. Dr Želimir Branović

Student: Boban ČelebićBroj indeksa: 30/09M-23

Smjer: Informacione tehnologije

Zrenjanin, decembar 2010.

Page 2: Seminar Ski Rad Skraceni

PRIMJENA AGENATA U POSLOVANJU

Tehnički fakultet „Mihajlo Pupin“, Zrenjanin 2

P R E D G OV O R U ovom radu se opisuju inteligentni agenti, njihova primjena u poslovanju, te se daje konkretan primjer agenata u poslovanju – softverski agenti za preporuke. Računari su sveprisutni kao što su to i automobili, televizori, frižideri, ali čini se da je za puno iskorišćavanje njihovih sposobnosti i dalje potrebna obuka kao za pilota nadzvučnog aviona. Kako se interaktivna televizija, palmtop računari i „pametne“ kartice šire i razvijaju, jaz između miliona neobučenih korisnika i jednakog broja sofisticiranih mikroprocesora postaće još očitiji i izraženiji. Imajući u vidu da udio vremena i života koji savremeni ljudi provode pred zaslonima svojih računara – informišući se, zabavljajući se, razmjenjujući korespondenciju, radeći, kupujući i čak se i zaljubljujući online – postaje jasno da treba naći neko rješenje/olakšanje za problem ograničenog raspona ljudske pažnje i sve složenije kolekcije softvera i podataka. Računari trenutno reaguju samo na ono što interfejs dizajneri zovu direktne manipulacije. Ništa se ne dešava, osim ako lice daje komande iz tastature, miša ili ekrana osetljivog na dodir. Računar je samo pasivni subjekt koji čeka da izvrši određena, vrlo detaljna uputstva - on pruža relativno malo pomoći kod složenih zadataka ili za obavljanje složenijih aktivnosti (kao što je traženje informacija) koje mogu trajati neodređeno vrijeme. Ukoliko želimo da neuvježbani potrošači efikasno koriste buduće računare i mreže, direktna manipulacija će morati ustupi mjesto nekom obliku delegacije/delegiranja. Istraživači i softverske firme polažu velike nade u tzv. softverske agente, koji „znaju“ interese korisnika i autonomno/samostalno djeluju u njihovo ime. Umjesto da vrše potpunu kontrolu (i preuzmu odgovornost za svaki potez računara), ljudi će biti uključeni u proces saradnje u kome će i ljudski i računarski/softverski agenti inicirati komunikaciju, pratiti događaje i obavljati poslove u cilju ispunjavanja ciljeva korisnika. Prosječna osoba će efektivno imati mnogo zamjenika/opunomoćenika („alter ego-a“), tzv. digitalnih proksija (digital proxy) – koji će operisati simultano/uporedo na različitim mjestima. Neki od ovih punomoćnika će jednostavno činiti digitalni svijet manje složenim, skrivanjem tehničkih detalja zadataka, vođenjem korisnika kroz kompleksne online prostore ili ih čak učeći o nekim temama. Ostali će možda aktivno tražiti informacije koje interesuju njihove vlasnike ili nadzirati kritične promjene pri određenim procesima. Neki sasvim drugi agenti će imati ovlašćenja za obavljanje transakcija (kao što je online kupovina) ili će predstavljati ljude u njihovom odsustvu. Kako se, odavno nagoviješteni, razvoj i širenje papirnih i elektronskih „džepnih“ dnevnika već uveliko odvija, softverski agenti će imati posebno korisnu ulogu kao lični sekretari/pomoćnici - da podsećaju njihove nosioce gdje su ostavili stvari, sa kime su, kad, gdje i o čemu razgovarali, koji su zadaci već ostvareni i koji tek treba da budu obavljeni. Agentski programi – agenti - se razlikuju od standardnog softvera uglavnom po onome što se najbolje može opisati kao svijest o sebi kao nezavisnim entitetima/cjelinama. Idealni agent zna šta je njegov cilj i nastojaće da ga ostvari. Agent treba da bude robustan i prilagodljiv, sposoban da uči iz iskustva i reaguje na nepredviđene situacije sa repertoarom različitih metoda. Konačno, treba da bude autonoman tako da može da „osjeti“ trenutno stanje okruženja i da djeluje nezavisno u cilju ostvarivanja napretka ka ostvarenju svog cilja.

Page 3: Seminar Ski Rad Skraceni

PRIMJENA AGENATA U POSLOVANJU

Tehnički fakultet „Mihajlo Pupin“, Zrenjanin 3

S A D R Ž A J

DIO I: OPŠTA TEORIJA INTELIGENTNIH AGENATA ......................... 6

I UVOD .................................................................................................................................................... 7

1.1. OPISNA DEFINICIJA SOFTVERSKIH AGENATA ................................................................................................. 7 1.2. JAKI I SLABI POJAM KONCEPTA "AGENTA" ...................................................................................................... 8 1.3. RAZLIKA AGENATA I “OBIČNIH” PROGRAMA ................................................................................................. 9 1.4. INTUITIVNA RAZLIKA AGENATA I OBJEKATA .................................................................................................. 9 1.5. RAZLIKA AGENATA I EKSPERTSKIH SISTEMA .................................................................................................. 9 1.6. RAZLIKOVANJE INTELIGENTNIH SOFTVERSKIH AGENATA OD INTELIGENTNIH AGENATA U

VJEŠTAČKOJ INTELIGENCIJI .................................................................................................................................... 10

II OSNOVNO O AGENTIMA .............................................................................................................. 11

2.1. VRSTE AGENTSKIH SISTEMA ............................................................................................................................ 11 2.2. INTELIGENTNI AGENTI .................................................................................................................................... 12

III POSLOVNA INTELIGENCIJA ..................................................................................................... 13

IV OBLASTI PRIMJENE INTELIGENTNIH SOFTVERSKIH AGENATA ................................. 14

4.1. UPRAVLJANJE MREŽAMA I SISTEMIMA ............................................................................................................ 14 4.2. MOBILNI PRISTUP / UPRAVLJANJE .................................................................................................................. 14 4.3. E-POŠTA I PORUKE ............................................................................................................................................. 15 4.4. PRISTUPU INFORMACIJAMA I MENADŽMENT ................................................................................................. 15 4.5. SARADNJA (KOLABORACIJA) ............................................................................................................................ 15 4.6. RADNI TOK/PROCES I ADMINISTRATIVNO UPRAVLJANJE ........................................................................... 15 4.7. ELEKTRONSKO POSLOVANJE I TRGOVINA .................................................................................................... 16 4.8. ADAPTIVNI KORISNIČKI INTERFEJSI ............................................................................................................... 16

V DODATNI PRIMJERI ...................................................................................................................... 17

5.1. AGENTI ZA KUPOVINU (SHOPPING BOTS) ...................................................................................................... 17 5.2. KORISNIČKI AGENTI (PERSONALNI AGENTI) ................................................................................................ 17 5.3. AGENTI ZA PRAĆENJE I NADZOR (PREDIKTIVNI) ......................................................................................... 17 5.4. AGENTI ZA IZVLAČENJE INFORMACIJA (DATA MINING) .............................................................................. 18

VI NAPREDNE PRIMJENE AGENATA ........................................................................................... 19

6.1. IZVLAČENJE JAVNIH PODATAKA POMOĆU SOFTVERSKIH AGENATA ZA POTREBE POSLOVNE

INTELIGENCIJE - PRIKUPLJANJE PODATAKA O UKRADENIM AUTOMOBILIMA - .............................................. 20 6.2. ISTRAŽIVANJE INTERNETA POMOĆU AGENATA ZA IZVIĐANJE .................................................................. 20 6.3. MOBILNI SOFTVERSKI AGENTI ZA DINAMIČKO RUTIRANJE ........................................................................ 21 6.4. VJEŠTAČKI OBLICI ŽIVOTA ............................................................................................................................... 22 6.5. “ALIVE” PROJEKAT ......................................................................................................................................... 23

VII ZAKLJUČAK ................................................................................................................................... 24

BIBLIOGRAFIJA .................................................................................................................................. 26

LITERATURA I IZVORI INFORMACIJA ZA DIO I ..................................................................................................... 26

DIO II: KONKRETAN PRIMJER - AGENTI ZA PREPORUKE ......... 27

I UVOD ................................................................................................................................................. 29

II TEHNIKE KOJE KORISTE AGENTI/SISTEMI ZA PREPORUKE ......................................... 30

2.1. NEPERSONALIZOVANE PREPORUKE .............................................................................................................. 30 2.2. DEMOGRAFSKE PREPORUKE ........................................................................................................................... 31 2.3. PREPORUKE NA OSNOVU SADRŽAJA/REJTINGA ........................................................................................... 31 2.4. KOLABORATIVNO FILTRIRANJE ...................................................................................................................... 32

2.4.1. Korisnički orijentisan pristup ......................................................................................................................... 33

Page 4: Seminar Ski Rad Skraceni

PRIMJENA AGENATA U POSLOVANJU

Tehnički fakultet „Mihajlo Pupin“, Zrenjanin 4

2.4.2. Pristup orijentisan na predmete/stavke .......................................................................................................... 34 2.4.3. Pristup zasnovan na modelu .......................................................................................................................... 35

2.5. HIBRIDNI PRISTUPI ............................................................................................................................................ 36 Ponderisana/težinska hibridizacija .......................................................................................................................... 36 Preklopna hibridizacija ............................................................................................................................................ 36 Mješovita hibridizacija ............................................................................................................................................. 36 Kombinacija svojstava/karakteristika ...................................................................................................................... 36 “Pojačavanje” svojstava/karakteristika ................................................................................................................... 37 Kaskadna hibridizacija ............................................................................................................................................ 37 Hibridizacija na meta-nivou .................................................................................................................................... 37

III PROBLEMI I RJEŠENJA .............................................................................................................. 38

3.1. PRIKUPLJANJE PODATAKA ............................................................................................................................... 38 3.2. HLADNI START ................................................................................................................................................... 38

Problem novog člana ................................................................................................................................................. 38 Problem novog predmeta/stavke ............................................................................................................................... 38

3.3. STABILNOST NASUPROT PLASTIČNOSTI .......................................................................................................... 39 3.4. PRORIJEĐENOST ................................................................................................................................................ 39 3.5. PERFORMANSE I SKALABILNOST ..................................................................................................................... 40 3.6. DOSLJEDNOST (KONZISTENCIJA) KORISNIČKOG UNOSA ............................................................................ 40 3.7. PRIVATNOST ....................................................................................................................................................... 41

IV PRIMJERI SISTEMA ZA KREIRANJE PREPORUKA ............................................................... 42

4.1. CHOICESTREAM ................................................................................................................................................. 43 4.2. AMAZON.COM .................................................................................................................................................... 45

V ZAKLJUČAK ..................................................................................................................................... 52

BIBLIOGRAFIJA .................................................................................................................................. 53

LITERATURA I IZVORI INFORMACIJA ZA DIO II ................................................................................................... 53

Page 5: Seminar Ski Rad Skraceni

PRIMJENA AGENATA U POSLOVANJU

Tehnički fakultet „Mihajlo Pupin“, Zrenjanin 5

L I S TA S L I K A / G R A F I KO N A I T A B E L A

DIO I: OPŠTA TEORIJA INTELIGENTNIH AGENATA

VI NAPREDNE PRIMJENE AGENATA ........................................................................................... 19

6.1. REALISTIČNO PONAŠANJE RIBA ....................................................................................................................... 23 6.2. TOSA-INA VJEŠTAČKA BEBA ............................................................................................................................. 23 6.3. INTERAKTIVNO VIDEO OKRUŽENJE VJEŠTAČKOG ŽIVOTA ........................................................................ 23

DIO II: KONKRETAN PRIMJER - AGENTI ZA PREPORUKE

II TEHNIKE KOJE KORISTE AGENTI/SISTEMI ZA PREPORUKE ......................................... 30

2.1. IZVORI ZNANJA SISTEMA ZA KREIRANJE PREPORUKA.................................................................................. 30 2.2. NEPERSONALIZOVANA PREPORUKA .............................................................................................................. 30 2.3. DEMOGRAFSKA PREPORUKA ........................................................................................................................... 31 2.4. PREPORUKA NA OSNOVU SADRŽAJA ............................................................................................................... 32 2.5. KOLABORATIVNO FILTRIRANJE ZASNOVANO NA KORISNIKU .................................................................... 34 2.6. PRIMJER KOLABORATIVNOG FILTRIRANJA ZASNOVANOG NA KORISNIKU ............................................... 34 2.7. KOLABORATIVNO FILTRIRANJE ZASNOVANO NA PREDMETU/STAVKI ..................................................... 35 2.8. PRIMJER KOLABORATIVNOG FILTRIRANJA ZASNOVANOG NA PREDMETU/STAVKI................................. 35 2.9. KOLABORATIVNO FILTRIRANJE ZASNOVANO NA MODELU ........................................................................ 35

IV PRIMJERI SISTEMA ZA KREIRANJE PREPORUKA ............................................................... 42

4.1. CHOICESTREAM – NAJČEŠĆE VRSTE SLUČAJEVA SA POTREBNIM RAZLIČITIM ALGORITMIMA ............... 43 4.2. CHOICESTREAM SISTEM ZA KREIRANJE PREPORUKA ................................................................................... 44 4.3. AMAZON – ARTIKAL SA PREPORUKAMA ........................................................................................................ 46 4.4. AMAZON – POTROŠAČKA KORPA SA PREPORUKAMA ................................................................................... 47 4.5. AMAZON - VAŠE PREPORUKE .......................................................................................................................... 49 4.6. AMAZON - DETALJI PREPORUKE .................................................................................................................... 50 4.7. AMAZON - VAŠE KUPOVINE ............................................................................................................................ 51

Page 6: Seminar Ski Rad Skraceni

PRIMJENA AGENATA U POSLOVANJU

Tehnički fakultet „Mihajlo Pupin“, Zrenjanin 6

- DIO I - O P Š T A T E O R I J A

I N T E L I G E N T N I H AG E N AT A

AG E N T I U P O S L OVA N J U

Page 7: Seminar Ski Rad Skraceni

PRIMJENA AGENATA U POSLOVANJU

Tehnički fakultet „Mihajlo Pupin“, Zrenjanin 7

I U V O D

1.1. OPISNA DEFINICIJA SOFTVERSKIH AGENATA

Inteligentni softverski agenti su popularni istraživački objekat ovih dana. Zbog činjenice da se trenutno termin agent koristi od strane mnogih na mnogo različitih načina, postalo je teško za korisnika da napravi dobru procjenu onoga što su mogućnosti agenata. Pored toga, agenti imaju širok spektar aplikacija koje mogu značajno uticati na njihovu definiciju (njihovo definisanje), pa nije lako oformiti idealnu i čvrstu definiciju koja bi se mogla generalizovati za sve. Međutim, neformalna definicija inteligentnih softverskih agenata se može dati kao: „Komad softvera koji obavlja zadatak koristeći informacije prikupljene iz svog okruženja, i to tako da deluje na odgovarajući način kako bi se uspješno izvršio zadatak i postigao cilj. Softver treba da bude u stanju da se prilagodi promjenama koje se dešavaju u njegovom okruženju, tako da promjene u datim okolnostima i dalje rezultiraju postizanjem tog istog cilja.“ Sada kada smo, u najosnovnijim crtama, dobili ideju o tome šta su agenti, važno je razumjeti kako se oni razlikuju od „normalnih/običnih“ programa. Ime „Inteligentni softverski agenti“ naglašava dvije važne karakteristike: agenstvo i inteligenciju. Stepen autonomije i ovlašćenja datih (implementiranih u) agentu, naziva se agentstvo. Može se mjeriti barem kvalitativno, po prirodu interakcije između agenta i drugih subjekata u sistemu/okruženju u kojem djeluje. U najmanju ruku, agent mora djelovati asinhrono. Stepen agentstva je uvećan, ako zastupnik reprezentuje korisnika na neki način. Ovo je jedana od ključnih vrijednosti agenata. Napredniji agenti mogu da komuniciraju sa drugim subjektima kao što su podaci, aplikacije i servisi. Još napredniji agenti sarađuju i „pregovaraju“ sa drugim agentima. Šta tačno čini agenta „inteligentnim“ je nešto što je teško definisati. To je predmet mnogih diskusija u oblasti vještačke inteligencije, i jasan odgovor još uvek nije dat. Ipak, upotrebljiva definicija o tome šta čini agenta inteligentnim se može formulisati na sljedeći način: "Inteligencija je stepen rasuđivanja i naučenog ponašanja; sposobnost agenta da prihvati listu ciljeva od korisnika i izvrši zadatak koji mu je delegiran“. U najmanju ruku, može da postoji neka lista prioriteta, npr. u obliku pravila, uz mehanizam za zaključivanje ili neki drugi mehanizam za rasuđivanje, koji će da djeluje u skladu sa ovim prioritetima. Viši nivo inteligencije uključuje korisnički model ili neki drugi oblik razumijevanja i rasuđivanja/zaključivanja o tome šta korisnik želi da agent uradi/postigne, i planiranje sredstava za postizanje ovog cilja. Još više na skali inteligencije su sistemi koji uče i prilagođavaju se svome okruženju, kako u pogledu ciljeva i zahtjeva korisnika, tako i u smislu resursa dostupnih agentu. Takav sistem bi, kao i ljudski/živi asistent, otkrivao nove odnose, veze i/ili koncepte nezavisno od ljudskih korisnika, i koristio to novostečeno znanje za anticipaciju (predviđanje) i zadovoljavanje potreba/zahtjeva/ciljeva korisnika.

Page 8: Seminar Ski Rad Skraceni

PRIMJENA AGENATA U POSLOVANJU

Tehnički fakultet „Mihajlo Pupin“, Zrenjanin 8

1.2. JAKI I SLABI POJAM KONCEPTA "AGENTA"

Umjesto formalne definicije, za početak ćemo dati spisak nekih opštih karakteristika agenata. Zajedno ove karakteristike daju globalni utisak o tome šta agent „jeste“. Prva grupa karakteristika je u vezi sa slabim pojmom/shvatanjem koncepta „agenta“. Činjenica da agent posjeduje većinu, ako ne i sve ove karakteristike, je nešto oko čega se većina naučnika slaže u ovom trenutku. To nije slučaj, međutim, sa drugom grupom osobina, koje su povezane sa jakim pojmom/shvatanjem koncepta „agenta“. Karakteristike koje su ovdje predstavljene nisu one koje inače svi podrazumijevaju u vezi sa agentima.

Slabi pojam koncepta „agent“ Možda najčešći način na koji se koristi termin agent, je da označi hardver ili (najčešće) softverski zasnovan kompjuterski sistem koji ima sljedeća svojstva: Autonomija: agenti rade bez direktne intervencije ljudi ili drugih entiteta, i imaju neke

vrstu kontrole nad svojim akcijama i unutrašnjim stanjem; „Društvenost“: agenti održavaju interakciju sa drugim agentima i (katkada) ljudima, putem

neke vrste jezika komunikacije agenata; Reaktivnost: agenti „opažaju“ svoju okolinu/okruženje (koje može biti fizički svijet,

grafičko- korisnički interfejs, skupovi drugih agenata, internet, ili možda sve ove zajedno), i blagovremeno odgovoraju na na promjene koje se javljaju u njemu. To može podrazumijevati da agent provodi većinu svog vremena u nekom vrstu „sna“ iz kojeg će se „probuditi“ ako se dogode određene promjene u okruženju (kao što je dolazak novog e-mail-a);

Proaktivnost: agenti ne reaguju samo na promjene u svom okruženju; oni su u mogućnosti da pokažu ponašanje (preuzimanjem inicijative) usmereno ka postizanju cilja;

Vremenski kontinuitet: agenti su neprekidno aktivni procesi, bilo da nešto aktivno rade ili su pasivni („spavaju“) u pozadini. Oni ne vrše samo prosta izračunavanja i ne izvršavaju skripte koje imaju jedan ulaz i daju jedan izlaz, a zatim prestaju sa radom.

Orijentisanost na cilj: agent je sposoban za rukovanje složenim zadacima visokog nivoa. Odluka o tome na koliko je jednostavnijih podzadataka takav zadatak najbolje podijeliti, i kojim redosljedom i na koji način će se ovi podzadaci najboljeizvršiti, treba da bude u nadležnosti samog agenta.

Jaki pojam koncepta „agenti“ Za neke istraživače - posebno one koji rade u polju vještačke inteligencije - termin agent ima jače i specifičnije značenje od onog koje je skicirano u prethodnom odjeljku. Ovi istraživači obično smatraju da je agent kompjuterski/računarski sistem koji, pored toga da posjeduje svojstva koja su bila identifikovana u prethodnom odjeljku, treba da bude koncipiran i realizovan (implementiran) pomoću pojmova koji su najčešće primenjuju na ljudima. Na primjer, sasvim je uobičajeno u AI da se agenti karakterišu korišćenjem mentalističkih pojmova, kao što su znanje, vjerovanje, namjera i obaveza. Neki AI istraživači su otišli i dalje, uzevši u razmatranje i emotivne agente.

Page 9: Seminar Ski Rad Skraceni

PRIMJENA AGENATA U POSLOVANJU

Tehnički fakultet „Mihajlo Pupin“, Zrenjanin 9

Agenti koji se uklapaju u jači pojam agenta obično imaju jednu ili više sljedećih karakteristika: Mobilnost: sposobnost agenta da se kreće kroz elektronsku mrežu; Dobronamjernost: pretpostavka da agenti nemaju konfliktne (suprotstavljene) ciljeve, i da

će svaki agent stoga uvijek pokušati da uradi ono što se traži od njega; Racionalnost: je (ugrubo) pretpostavka da će agenti raditi u svrhu ostvarivanja svojih

ciljeva i da neće djelovati na takav način da se spriječi ostvarivanje tih ciljeva - barem u meri u kojoj njegova verovanja dozvole;

Adaptacija: agenti bi trebalo da budu u stanju da se prilagode navikama, metodama rada i preferencijama i prioritetima svojih korisnika;

Saradnja: agent ne bi trebalo da prihvati i izvrši instrukcije bez prethodnog „razmatranja“ istih (rezonovanje prije djelovanja), već treba da uzme u obzir da ljudski korisnik može da napravi grešku (na primer, da da nalog koji sadrži konfliktne ciljeve), izostavi važne i/ili pruža nejasne informacije. Na primjer, agent bi trebalo da riješi ovakve probleme postavljanjem pitanja korisniku, ili da ikoristi ugrađeni korisnički model na rješavanju problema poput ovih. Agentu bi trebalo da bude dozvoljeno čak i da odbije da izvrši određene zadatke, na primjer u cilju sprječavanja neprihvatljivo visokog opterećenja mrežnih resursa ili zato što bi izvršavanje zadatka prouzrokovalo štetu drugim korisnicima.

Iako nijedan agent ne posjeduje sve te sposobnosti, postoji nekoliko prototip agenata koji posjeduju dosta njih.

1.3. RAZLIKA AGENATA I “OBIČNIH” PROGRAMA

Frenklin i Graesser (1997) polemišu o četiri ključna pojma koje razlikuju agente od proizvoljnog programa: reakcija na životnu sredinu, autonomija, orijentacija na cilj i upornost. Povezani i izvedeni koncepti uključuju inteligentne agente (posebno istaknuti neki aspekti vještačke inteligencije, kao što su učenje i rasuđivanje), autonomne agente (u stanju da izmijene način na koji postižu svoje ciljeve), distribuirane agente (koja se izvršavaju na fizički različitim računarima), multi-agentske sisteme (distribuirani agenti koji nemaju mogućnosti da sami ostvare svoje ciljeve i stoga moraju da komuniciraju/sarađuju) i mobilne agente (agenti koji mogu da presele svoje izvršavanje na različite procesore).

1.4. INTUITIVNA RAZLIKA AGENATA I OBJEKATA

Agenti su autonomniji od objekata. Agenti imaju fleksibilno ponašanje - reaktivno, proaktivno, socijalno. Agenti imaju najmanje jedan vid/nit kontrole ali mogu imati i više.

(Wooldridge, 2002)

1.5. RAZLIKA AGENATA I EKSPERTSKIH SISTEMA

Page 10: Seminar Ski Rad Skraceni

PRIMJENA AGENATA U POSLOVANJU

Tehnički fakultet „Mihajlo Pupin“, Zrenjanin 10

Ekspertski sistemi nisu vezani/upareni za svoju okolinu. Ekspertni sistemi nisu dizajnirani za reaktivno i/ili proaktivno ponašanje. Ekspertski sistemi nemaju socijalnu sposobnost. (Wooldridge, 2003)

1.6. RAZLIKOVANJE INTELIGENTNIH SOFTVERSKIH AGENATA OD INTELIGENTNIH AGENATA U VJEŠTAČKOJ INTELIGENCIJI

Inteligentni agenti (takođe poznati kao racionalni agenti) nisu samo softverski programi,

oni takođe mogu biti mašine, ljudska bića, zajednica ljudskih bića (kao što su firme/kompanije) ili bilo šta što posjeduje mogućnost ponašanja usmjerenog ka izvršavanju/ispunjavanju nekog cilja.

(Russell & Norvig, 2003)

Page 11: Seminar Ski Rad Skraceni

PRIMJENA AGENATA U POSLOVANJU

Tehnički fakultet „Mihajlo Pupin“, Zrenjanin 11

I I O S N OV N O O AG E N T I M A Agenti predstavljaju softverske programe koji imaju sposobnosti da autonomno, bez intervencije i pomoći korisnika, izvršavaju postavljene zadatke, ma kakvi ti zadaci bili. Agent možemo definisati na sljedeći način: Agent je softver koji, u interakciji sa svojom okolinom/okruženjem, ima sposobnost da fleksibilno i autonomno reaguje u skladu sa ciljevima koji su mu postavljeni, koristeći pri tome repertoar različitih metoda. Tri zahtjeva za agente su ključna: interakcija sa okolinom, autonomnost, fleksibilnost. Interakcija sa okolinom znači da su agenti sposobni da reaguju na ulaze dobijene od senzora iz okruženja i da mogu da izvode akcije koje mijenjaju okruženje u kome agenti djeluju, koje može biti fizičko (realan svijet) ili softversko (računar na kome su instalirani ili Internet). Klasični ES (informacije o okruženju dobijaju preko posrednika/korisnika koji unosi parametre sistema) nisu bili u mogućnosti da djeluju na okruženje (bar ne dirktno) ili su to, takođe, činili preko posrednika/korisnika, koji je, u zavisnosti od dobijenog odgovora, reagovao na okruženje. Autonomnost znači da je sistem u stanju da reaguje samostalno, bez intervencije korisnika (ili drugih agenata) i da ima kontrolu nad sopstvenim akcijama i unutrašnjim stanjem. Takav sistem treba, takođe, da bude sposoban da uči iz iskustva. Agenti, dakle, imaju odlike interakcije sa okruženjem i autonomnosti, ali se ovi sistemi ne mogu smatrati agentima sve dok nemaju mogućnost fleksibilnog ponašanja kada se nađu u situacijama koje nisu planirane prilikom dizajniranja, za što treba da ispune sljedeće uslove: agent treba da primijeti promjene u okruženju i da donese odluku o mogućim akcijama

dovoljnom brzinom da bi takva akcija bila od značaja za sistem u kome djeluje, agenti ne treba samo jednostavno da reaguju kao odgovor na signale iz okruženja, već

treba da budu sposobni da uočavaju povoljne prilike i u tim situacijama preuzimaju inicijativu u skladu sa svojim ciljevima,

agenti treba da su sposobni da stupe u komunikaciju sa drugim agentima i/ili ljudima da bi riješili sopstveni problem ili pomogli jedni drugima u njihovim aktivnostima.

2.1. VRSTE AGENTSKIH SISTEMA

Agenti se mogu klasifikovati/kategorisati u nekoliko karakterističnih kategorija: Kooperativni agenti (Collaborative Agents) Interfejs agenti (Interface Agents) Mobilni agenti (Mobile Agents) Informacioni/Internet agenti (Information/Internet Agents) Reaktivni agenti (Reactive Agents)

Page 12: Seminar Ski Rad Skraceni

PRIMJENA AGENATA U POSLOVANJU

Tehnički fakultet „Mihajlo Pupin“, Zrenjanin 12

Inteligenti agenti (Smart Agents) Hibridni agenti (Hybrid Agents).

2.2. INTELIGENTNI AGENTI

Inteligentni agenti predstavljaju softver koji može automatski da izvrši zadatak koji mu je postavljen. Oni izvršavaju svoje zadatke automatski, bez intervencije korisnika (osim u inicijalnom podešavanju). Inteligentni agenti ”opažaju” okruženje, donose odluke o svojim akcijama i izvršavaju ih. Inteligentni agenti su implementirani kao programi (funkcije), koji preslikavaju opažanja u akcije. Inteligentni agent je: autonomni softverski entitet opaža svoje okruženje putem senzora može da izvrši neki zadatak/akciju ima sposobnosti navigacije i komunikacije. Agent može da bude čovek, robot ili softverski proizvod. Svaki agent posjeduje neko unaprijed ugrađeno znanje, koje kasnije može sami agent da proširuje učenjem i zaključivanjem. Osnovna ideja u razvoju inteligentnih agenata je da budu sredstvo za pomoć ljudskim korisnicima, da umjesto njih obavljaju određene poslove i zadatke. Inteligentni agenti pomažu korisnicima na razne načine: prikrivaju složenost teških zadataka, obavljaju zadatke u ime / umjesto korisnika, nadziru događaje i procedure, i drugo.

Osobine inteligentnih agenata su: autonomnost /samostalnost, sposobnost komunikacije, sposobnost učenja i zaključivanja, inicijativa i blagovremeni odziv pri reagovanju, fleksibilnost, adaptabilnost. Autonomnost je mogućnost rada u heterogenim okruženjima, mogućnost da se inteligentni agent pusti da radi bez nadgledanja. Rad agenta je obično dugotrajan, kontinualan proces. Sposobnost komunikacije agenta je preduslov postojanja agenta – ne bi ni služio ničemu ako ne bi bio u stanju da komunicira sa okruženjem. Jezik komunikacije mora da bude poznat (posebno definisan) i agent mora da bude sposoban da čita poruke na tom jezikom. Sposobnost učenja, to jest mogućnost prikupljanja novog znanja (uz pomoć zaključivanja) tokom rada, je uslovljeno posjedovanjem minimalnog početnog znanja.

Page 13: Seminar Ski Rad Skraceni

PRIMJENA AGENATA U POSLOVANJU

Tehnički fakultet „Mihajlo Pupin“, Zrenjanin 13

I I I P O S L OV N A I N T E L I G E N C I J A Poslovna inteligencija je široka kategorija koja obuhvata tehnologije za prikupljanje, skladištenje, pristup i analizu podataka, u cilju povećanja kvaliteta procesa donošenja odluka. Prosječni analitički projekti koji su danas implementirani u okviru preduzeća i njihovog biznisa ostvaruju/donose prihod/zaradu na uložene investicije od 431% u roku od pet godina. Više od polovine proučavanih implementacija - tačnije 63% - ostvaruju taj prihod u roku od svega dvije godine ili manje. Iako se termin poslovna inteligencija obično odnosi na korišćenje podataka iz skladišta podataka, a analiza istih podrazumijeva korišćenje alata kao što su online analitičko procesuiranje i data mining, poslovna inteligencija takođe obuhvata i korišćenje podataka iz spoljnih izvora. Mnogo vrijednih podataka je dostupno na Internetu, koji se mogu koristiti u cilju povećanja efikasnosti odlučivanja. Međutim, nije lako koristiti podatke sa Interneta, jer su obično u obliku teksta koji nije pogodan za analizu. Takođe, podaci se često nalaze u dokumentima tipa doc (word), ppt ili pdf, što dodatno usložnjava pretragu i analizu. Softverski agenti obavljaju zadatke/poslove u ime drugog entiteta, a mogu se koristiti i za prikupljanje podataka sa Interneta. Jedan od ciljeva ovog rada je da pokaže da su softverski agenti sposobni da prikupljaju važne podatke sa Interneta, koji bi mogli da poboljšaju informacije koje se koriste za sisteme poslovne inteligencije. Tokom poslednjih 10 godina, izraz “Biznis inteligencija” (BI) se razvio iz poštapalice sa dvosmislenim značenjem/korišćenjem do dobro definisanog, realnog tržišta. Takođe, termin BI se često koristi kao skup/kolekcija metoda za prikupljanje, reprezentaciju i analizu podataka preduzeća, u cilju podrške donosiocima odluka. Praveći dublji pogled na izraz “inteligencija”, u rječnicima se mogu naći sinonimi kao što su “znanje, poruka, izviđanje, pojašnjenje". U daljem toku ovog rada, termin “poslovna inteligencija” će biti shvaćen kao proces pružanja boljeg uvida u kompaniju i njene lance akcija/radnji. Poslovna inteligencija kao proces obuhvata tri glavna koraka: integraciju podataka, skladištenje podataka i upotrebu podataka. Integracija podataka obuhvata metode za izdvajanje podataka iz internih i eksternih izvora podataka, kao što su ERP (Enterprise Resource Planning) sistemi ili sistemi baza podataka. Podaci se prenose u oblast prerade, omogućavajući dalje transformacije podataka kao što su “čišćenje” i normalizacija podataka. Proces unošenja sadrži tzv. scheduler (dio koji je unaprijed programiran za preduzimanje nekih automatskih akcija) koji redovno (npr. svakodnevno, nedjeljno ili mjesečno) unosi obrađene (finalne) podatke u bazu podataka za skladištenje, tzv. skladište podataka. Poseban proces unutar ovog procesa je i provjera konzistencije podataka. Skladištenje podataka u skladište podataka: Osnovna ideja skladištenja podataka je da se podaci relevantni donosiocima odluka skladište u namjenske, homogene baze podataka. Važna karakteristika skladišta podataka je integracija heterogenih, distribuiranih, internih i eksternih podataka. Ovo obično podrazumijeva fizičko skladištenje podataka u jednu, centralizovanu bazu/skladište podataka. Upotreba podataka: U cilju podrške donošenju odluka, podaci u skladištu podataka moraju biti dobro organizovani, da bi se ispunili različiti zahtjevi krajnjih korisnika: unaprijed definisani izvještaji za povremene korisnike, ad-hoc analiza podataka za eksperte/specijaliste, ili izvlačenje podataka (data mining) za analitičare podataka/informacija.

Page 14: Seminar Ski Rad Skraceni

PRIMJENA AGENATA U POSLOVANJU

Tehnički fakultet „Mihajlo Pupin“, Zrenjanin 14

I V O B L A S T I P R I M J E N E I N T E L I G E N T N I H S O F T V E R S K I H

AG E N ATA Trenutni trend u razvoju agenata je razvoj skromnih aplikacija niskog nivoa. Ipak, sve više i više se razvijaju naprednije i komplikovanije aplikacije. U ovom trenutku istraživanja se usmjeravaju u razvoj zasebnih agenata, kao što su agenti za elektronsku poštu, agenti za online vijesti i agenti za pretragu. Ovo su prvi koraci ka integrisanim aplikacijama, gdje se ovi jednostavni agenti koriste kao gradivni blokovi. Generalno, mogu se identifikovati osam područja primjene tehnologije agenata. Opisaćemo ukratko svaku od tih područja primjene.

4.1. UPRAVLJANJE MREŽAMA I SISTEMIMA

Upravljanje sistemima i mrežama je jedno od najranijih područja primjene i korišćenja tehnologije inteligentnih agenata, gdje je ova tehnologija omogućila određena poboljšanja. Prelazom na klijent/server filozofiju računara je intenzivirana složenost sistema kojima se upravlja, posebno u oblasti LAN (lokalnih) računarskih mreža, a kako mrežna filozofija računara orijentisane postaje dominantna, složenost dalje raste. Korisnicima u ovoj oblasti (prije svega operaterima i administratorima sistema) potrebno je znatno pojednostavljeno upravljanje, imajući u vidu porast složenosti sistema. Agentske arhitekture su postojale u oblasti upravljanja sistemima i mrežama i ranije, ali ovi agenti su obično bili tipa „fiksna funkcija“, prije nego inteligentni agenti. Međutim, inteligentni agenti se mogu koristiti za poboljšanje softvera za upravljanje sistemima. Na primjer, oni mogu da pomognu pri filtriranju, te da neke automatske radnje prebace na viši nivo apstrakcije, a mogu čak da se koriste za otkrivanje i da reaguju na obrasce ponašanja u sistemu. Dalje, oni se mogu koristiti za dinamičko upravljanje velikim konfiguracijama.

4.2. MOBILNI PRISTUP / UPRAVLJANJE

Kako računari postaju sve zastupljeniji i pri tom mrežna filozofija pomjera fokus sa individualnog kompjutera na mrežu i umrežene kompjutere, korisnici žele da budu mobilniji. Ne samo da žele da pristupe mrežnim resursima sa bilo koje lokacije, već oni žele da pristupe tim resursima bez obzira na ograničenja propusnog opsega, uprkos ograničenjima mobilne tehnologije kao što su bežična komunikacija, i uprkos povremenoj mrežnoj nestabilnosti. Inteligentni agenti koji se (u ovom slučaju) nalaze u mreži, a ne na personalnim računarima korisnika, mogu da se pozabave ovim potrebama i riješe pomenute probleme, uporno sprovodeći u djelo zahtjeve korisnika bez obzira na eventualne poremećaje u mreži. Pored toga, agenti mogu da obrađuju podatke na njihovom izvoru i da šalju samo filtrirane i komprimovane odgovore na upite korisnika, a ne da zatrpavaju mrežu sa velikim količinama sirovih podataka.

Page 15: Seminar Ski Rad Skraceni

PRIMJENA AGENATA U POSLOVANJU

Tehnički fakultet „Mihajlo Pupin“, Zrenjanin 15

4.3. E-POŠTA I PORUKE

Softveri za slanje elektronske pošte postoje već neko vrijeme, i takođe su oblast u kojoj se trenutno koristi tehnologija inteligentnih agenata. Korisnici danas žele mogućnost da automatizovano (automatski) dodjeljuju prioritete porukama i organizuju svoju e-poštu, a u budućnosti će vjerovatno željeti da obave još više zadataka automatski, kao što su adresiranje pošte kao organizacione funkcije, a ne po osobi. Inteligentni agenti mogu implementirati sve ove funkcije kreiranjem pravila za rukovanje poštom (koja se odrede unaprijed), uz dopuštenje da inteligentni agenti rade u ime korisnika u skladu sa tim pravilima. Obično je moguće (ili će bar biti u nekoj bližoj budućnosti) da agenti uproste ova pravila na osnovu posmatranja ponašanja korisnika i pronalaženja obrazaca u njemu.

4.4. PRISTUPU INFORMACIJAMA I MENADŽMENT

Pristup informacijama i upravljanje istima je oblast sa velikom aktivnošću, što ne čudi s obzirom na rast popularnosti Interneta i eksploziju podataka i informacija dostupnih korisnicima. To je područje primjene na koje se ovaj seminarski rad uglavnom fokusira, pogotovo u drugom dijelu rada. Ovdje, inteligentni agenti pomažu korisnicima ne samo pri pretrazi i filtriranju, već i kod kategorigorisanja, pravljenja prioriteta, selektivne diseminacije, označavanja, kao i kod (kolaborativne) razmjene informacija i dokumenata.

4.5. SARADNJA (KOLABORACIJA)

Saradnja/kolaboracija je brzo rastuća oblast u kojoj korisnici rade zajedno na dijeljenim (tzv. share-ovanim) dokumentima, koristeći video-konferencije, ili kroz dijeljenje dodatnih sredstava u mreži. Jedan zajednički imenitelj su dijeljeni resursi, drugi je timski rad. Oba imenitelja se razvijaju pod uticajem mrežno orijentisanog računarstva. Ne samo da je korisnicima u ovoj oblasti potrebna infrastruktura koja će omogućiti robusno i skalabilno dijeljenje podataka i računarskih resursa, već su potrebne i druge funkcije da im pomognu da zaista izgrade i upravljaju kolaborativnim timovima ljudi, i da upravljaju proizvodima/rezultatima njihovog rada.

4.6. RADNI TOK/PROCES I ADMINISTRATIVNO UPRAVLJANJE

Administrativno upravljanje podrazumijeva kako menadžment radnog procesa, tako i oblastii kao što su integracija računarske i telefonske tehnologije, gde se procesi prvo definišu a zatim automatizuju. U ovim područjima, korisnici moraju ne samo da učine procese efikasnijim, već i da smanji troškove ljudskih agenata. Slično kao u oblasti razmene e-pošte, inteligentni agenti se mogu koristiti da se utvrde, a zatim automatizuju zahtjevi korisnika ili poslovnih procesa,

Page 16: Seminar Ski Rad Skraceni

PRIMJENA AGENATA U POSLOVANJU

Tehnički fakultet „Mihajlo Pupin“, Zrenjanin 16

4.7. ELEKTRONSKO POSLOVANJE I TRGOVINA

Elektronska trgovina je oblast koja brzo raste i napreduje, podstaknuta popularnošću Interneta. Kupci moraju da pronađu prodavce proizvoda i usluga, moraju da pronađu informacije o proizvodu (uključujući tehničke specifikacije, održive konfiguracije, itd) koji može da riješi njihove probleme, i pri tome još treba da dobiju i savjet stručnjaka, kako prije same kupovine, tako i za servis i podršku poslije. Prodavci moraju da pronađu kupce i oni treba da daju stručne savjete o proizvodu ili usluzi, kao i o korisničkom servisu i podršci. I kupci i prodavci moraju da automatizuju rukovanje nad svojim „elektronskim finansijskim poslovima“. Inteligentni agenti mogu da pomognu u elektronskoj trgovini na više načina. Agenti mogu da „idu u kupovinu“ umjesto korisnika, uzimajući u obzir date specifikacije i davajući povratnu informaciju se sa preporukama za kupovinu proizvoda koji ispunjavaju te specifikacije. Oni mogu da deluju kao „prodavce“ umjesto pravih prodavaca, tako što obezbeđuju savjete zainteresovanim kupcima za kupovinu proizvoda ili uslugu servisa, a takođe mogu pomoći pri rješavanju problema koje klijenti imaju sa već kupljenim proizvodom (tzv. troubleshooting).

4.8. ADAPTIVNI KORISNIČKI INTERFEJSI

Iako je korisnički interfejs transformisan (bolje reći, preporođen) od pojave grafičkog korisničkog interfejsa (GUI), za mnoge su računari i dalje teški za savladavanje i korišćenje. Kako mogućnosti i primjene računara napreduju, korisnički interfejsi treba da se prilagode propratnom povećanju složenosti. Kako populacija korisnika raste i diversifikuje se, kompjuterski interfejsi treba da nauče navike i preferencije korisnika i da seprilagode pojedincima. Inteligentni agenti (tzv. interfejs agenti) mogu da pomognu kod oba ova problema. Tehnologija inteligentnih agenata omogućava sistemu da prati/nadgleda aktivnosti korisnika, te da na osnovu tog posmatranja i praćenja razvijaju modele korisničkih sposobnosti, i automatski pomognu kada nastanu problemi. U kombinaciji sa govornom tehnologijom, inteligentni agenti omogućavaju računarskom interfejsu da postane više „društven/ljudski“ pri interakciji sa ljudskim korisnicima.

Page 17: Seminar Ski Rad Skraceni

PRIMJENA AGENATA U POSLOVANJU

Tehnički fakultet „Mihajlo Pupin“, Zrenjanin 17

V D O DAT N I P R I M J E R I

5.1. AGENTI ZA KUPOVINU (SHOPPING BOTS)

Agenti za kupovinu putuju mrežom (tj. internetom), skupljajući informacije o proizvodima i uslugama. Ovi agenti, takođe poznat kao „shopping bots“, rade veoma efikasno kad su u pitanju robni proizvodi, kao što su CD-ovi, knjige, elektronske komponente, i ostale slične proizvode. Ovi agenti su vrlo slični agentima za preporuke (koji se razmatraju u posebnom dijelu ovog seminarskog rada).

5.2. KORISNIČKI AGENTI (PERSONALNI AGENTI)

Korisnički agenti, ili lični/personalni agenti su inteligentni agenti koji preduzimaju akcije u vaše ime. Ovoj kategoriji pripadaju oni inteligentni agenti koji već obavljaju, ili će uskoro izvršiti, sljedeće zadatke: Provjeravaju korisnikovu e-poštu, sortiraju poruke po zadatim podešavanjima korisnika

(prioriteti), i obavještavaju korisnika kad pristignu veoma važne poruke. Igraju kompjuterske igre kao „virtualni“ protivnik. Prikupljaju najnovije vijesti, sortirane i poređane poruke po zadatim podešavanjima

korisnika (prioriteti). Pronalaze informacije za/umjesto korisnika, na temu po njegovom izboru. Popunjavaju formulare na internetu automatski (umjesto samog korisnika), i čuvaju te

informacije za kasniju upotrebu. Skeniraj web stranice u potrazi za određenim informacijama i naglašavaju dio teksta koji

predstavlja „važan“ dio tih informacija na tim stranicama. „Razgovaraju“ o različitim temama sa korisnikom, od njegovih najdubljih strahova i

bojazni pa sve do sportskih tema. Vrše sinhronizaciju korisnikovog profila/naloga na više heterogenih društvenih mreža.

5.3. AGENTI ZA PRAĆENJE I NADZOR (PREDIKTIVNI)

Agenti za praćenje i nadzor se koriste za posmatranje i izvještavanje o opremi, najčešće o kompjuterskim sistemima. Agenti mogu pratiti nivo zaliha preduzeća, posmatrati cijene konkurenata i slati ih nazad korisniku, pratiti manipulacije dionica/akcija na berzi od strane insajderskog trgovanja i glasina, itd. Na primjer, NASA-ina Jet Propulsion Laboratory ima agenta koji prati inventar, planira i pravi liste opreme za naručivanje, u cilju smanjenja troškova, te obavlja slične zadatke kod objekata za skladištenje hrane. Ovi agenti uglavnom prate/nadgledaju složene računarske mreže koje mogu da prate konfiguraciju svakog računara priključenog na mrežu.

Page 18: Seminar Ski Rad Skraceni

PRIMJENA AGENATA U POSLOVANJU

Tehnički fakultet „Mihajlo Pupin“, Zrenjanin 18

5.4. AGENTI ZA IZVLAČENJE INFORMACIJA (DATA MINING)

Ovi agenti koriste informacione tehnologije za pronalaženje trendova i šablona u obilju informacija iz mnogo različitih izvora. Korisnici mogu sortirati kroz ove informacije kako bi pronašli sve informacije koje traže.

Agenti za izvlačenje informacija i podataka funkcionišu u skladištima podataka, otkrivajući informacije. „Skladišta podataka“ okuplja informacije iz mnogo različitih izvora. Izvlačenje informacija („data mining“) je proces pomoću kojeg se „gleda“ kroz skladišta podataka da bi se pronašle informacije koje mogu da se iskoriste da se preduzme neka akcija, kao što su otkrivanje načina za povećanje prodaje ili zadržavanje kupaca koji razmišljaju o „prebjegu“ kod konkurencije.

„Klasifikacija“ je jedan od najčešćih tipova izvlačenja informacija, koji pronalazi šablone u informacijama i kategoriše ih u različite klase. Data mining agenti takođe mogu da otkriju velike promjene u trendovima ili ključnim pokazateljima i mogu takođe da otkriju prisustvo novih informacija i da obavijeste korisnika o tome. Na primjer, agenti mogu da detektuju pad za ekonomiju u građevinskoj industriji, te na osnovu ovoga građevinske kompanije mogu da naprave inteligentne odluke u vezi zapošljavanja/otpuštanja zaposlenih ili kupovine/ iznajmljivanja opreme, na način koji najbolje odgovara tim kompanijama.

Page 19: Seminar Ski Rad Skraceni

PRIMJENA AGENATA U POSLOVANJU

Tehnički fakultet „Mihajlo Pupin“, Zrenjanin 19

V I N A P R E D N E P R I M J E N E AG E N AT A Koncept poslovne inteligencije naglašava da firme i kompanije treba da koriste sve raspoložive informacije u cilju povećanja efikasnosti odlučivanja. Uobičajene tehnike/tehnologije za poslovnu inteligenciju su skladištenje podataka, OLAP i data mining, ali se te tehnike/tehnologije odnose samo na interne podatke. Vrijedne eksterne podatke koji su slobodno dostupni na Internetu, bi takođe trebalo iskoristiti. Znanje o razvoju tržišta i aktivnosti konkurenata na tržištu postaje sve više i više kritičan faktor uspjeha preduzeća. World Wide Web pruža javan domen informacija koje se mogu preuzimati, na primjer sa neke web lokacije ili online prodavnice. Ekstrakcija iz izvora polustrukturiranih informacija se uglavnom obavlja ručno i stoga je to vrlo dugotrajan proces. Stoga je svaka nova tehnologija (pogotovo agentska), koja pomaže u ubrzavanju i uprošćivanju ovog procesa, dobrodošla. Na osnovu gore pomenutog pritiska konkurencije, sistematsko praćenje i nadgledanje konkurentskih aktivnosti postaje kritičan faktor uspjeha za kompanije, pri čemu je bitno: rano identifikovanje šansi na tržištu, predviđanje konkurentskih aktivnosti, prepoznavanje novih i potencijalnih konkurenata, učenje iz grešaka i uspjeha konkurenata, kao i provjera i unapređivanje sopstvenih strategija, strateških ciljeva, procesa i proizvoda. Ovaj proces prikupljanja i analiziranja informacija o konkurentima na tržištu naziva se "kompetitivna inteligencija" ili "konkurentska analiza". Danas, puno osnovnih informacija o konkurentima može biti legalno dobavljeno putem javnih izvora informacija (informacije u javnom vlasništvu), kao što su web sajtovi, godišnji izveštaji, saopštenja za štampu ili javne baze podataka. Kako smo ranije pomenuli, agenti za prikupljanje podataka sa interneta djeluju kroz nekoliko koraka. Ovdje ćemo malo pobliže razmotriti osnovna 4 koraka: pristup podacima, preuzimanje/izvlačenje podataka, provjera dosljednosti (konzistencije) podataka, i priprema i skladištenje podataka na lokalnom nivou. Prvi korak je da se pristupi podacima. Obično se podaci čuvaju u skladu sa vremenom generisanja, pri čemu se obično koristi neka vrsta sistema indeksiranja. Sistem indeksiranja se koristi za navigaciju kroz arhivirane podatke. Agenti bi trebalo da budu u stanju da prepoznaju dvije vrste izvora podataka: izvor podataka u realnom vremenu i izvora istorijskih podataka. Postoji nekoliko načina predstavljanja dinamic podataka koji se nalaze ili na “vidljivom” internetu ili na “skrivenom” internetu, koristeći različite sisteme indeksiranja. U zavisnosti od vrste web stranice, agenti pronalaze informacije potrebne za skladištenje u bazu podataka (drugi korak). U zavisnosti od vrste informacija agenti mogu da provjere podatke u potrazi za greškama i da onda predlože eventualne korekcije (treći korak). Nakon što se podaci pregledaju i uklone se greške, agenti formiraju lokalnu bazu podataka (ako ona već ranije nije formirana) i skladište pronađene informacije (četvrti korak). Ovi koraci se iterativno ponavljaju sve dok se svi podaci/informacije ne preuzmu i sačuvaju. Dodatno se mogu pratiti promjene u podacima i ažurirati ove promjene u lokalnu bazu podataka na dnevnoj osnovi.

Page 20: Seminar Ski Rad Skraceni

PRIMJENA AGENATA U POSLOVANJU

Tehnički fakultet „Mihajlo Pupin“, Zrenjanin 20

6.1. IZVLAČENJE JAVNIH PODATAKA POMOĆU SOFTVERSKIH AGENATA ZA POTREBE POSLOVNE INTELIGENCIJE

- PRIKUPLJANJE PODATAKA O UKRADENIM AUTOMOBILIMA -

Kao primjer se može navesti online sistem za praćenje krađa automobila. Taj sistem demonstrira da su softverski agenti sposobni da sakupljaju vrijedne informacije sa Interneta, koje mogu da unaprijede informacije koje se koriste u sistemima poslovne inteligencije. Primjer ovakvog sistema je online sistem koji je razvilo hrvatsko Ministarstvo inostranih poslova (http://www.mup.hr). Na web sajtu hrvatskog MIP-a se objavljuju podaci o lopovima, a takođe postoji i arhiva krađa automobila u poslednje 4 godine. Takve informacije su veoma korisne osiguravajućim društvima jer im pomažu u procjeni i sagledavanju koji regioni i koje marke automobila su izloženije krađama, te stoga mogu da naplate više premije osiguranja od njihovih vlasnika. Stoga su za taj sistem pojedina osiguravajuća društva u Hrvatskoj razvila softverske agente koji sakupljaju informacije o ukradenim automobilima sa tog online sistema, te ih naknadno obrađuju i na osnovu toga se izvlači vrlo korisno “znanje” o tome koji regioni i marke automobila su posebno riskantni i podložni krađama. Na osnovu toga, osiguravajuće kompanije mogu da naprave bolje ponude osiguranje, sa realnijim premijama.

6.2. ISTRAŽIVANJE INTERNETA POMOĆU AGENATA ZA IZVIĐANJE

Svaki klik na neki internet link je “skok u nepoznato”. Kada kliknete na plavi podvučeni tekst ili sliku na web stranici, uvijek postoji [ponekad predugačak] trenutak napetosti dok čekate da se učita stranicu. Sve dok ne vidimo šta se stvarno nalazi iza tog linka, ne znamo da li će to dovesti do nagrade u vidu neke interesantne stranica, ili do razočarenja u vidu “junk” strane, ili još gore, da strane uopšte nema - "404 Not Found". Ali šta ako bismo imali asistenta/pomoćnika koji je uvek za korak ispred vas, koji uvijek “gleda” web stranice iza linkova prije Vas – koji “prati” web linkovi i provjerava stranicu na koju link vodi prije nego što ste uopšte otišli na tu stranicu? Pomoćnika koji, kao dobar sekretar, ima dobru [iako ni savršenu] ideju o tome šta biste željeli da vidite/nađete. Pomoćnik može da vas upozori ako je stranica nevažna, ili vas može upozoriti da taj link zavrjeđuje posebnu pažnju. Takav pomoćnik vam može uštedjeti vrijeme i sigurno sačuvati od frustracija. Funkcija takvog pomoćnika predstavlja novu kategoriju softverskih agenata koja će uskoro postati uobičajena kao što su to i pretraživačke mašine koje pomažu pri pretraživanju Interneta i drugih velikih baza podataka i hipermedijskih mreža. Ovi agenti se zovu agenti za izviđanje (reconnaissance agents). Izviđački agenti su programi koji gledaju naprijed tokom pretraživačkih aktivnosti korisnika i djeluju kao izviđači, osmatrači – u cilju da se korisnik poštedi od nepotrebnog pretraživanja i da mu se preporuče najbolje putanje za dalje manevrisanje. Izviđački agenti su takođe među prvim predstavnicima nove klase računarskih aplikacija/programa - samouki agenti koji izvode zaključke o korisnikovim preferencama (željama, interesovanjima, zanimanjima...) putem praćenja i proučavanja interakcija između korisnika i mašine tokom dužeg perioda. Kao primjer navodimo dva takva agenta/programa za izviđanje: Letizia i Powerscout.

Page 21: Seminar Ski Rad Skraceni

PRIMJENA AGENATA U POSLOVANJU

Tehnički fakultet „Mihajlo Pupin“, Zrenjanin 21

Glavna razlika je u tome što Leticija koristi “lokalno izviđanje” - pretraživanje susjedstva trenutno posmatrane web stranice, dok Powerscout koristi “globalno izviđanje” - koristeći usluge tradicionalnih pretraživača za uopšteno pretraživanje weba. Oba programa uče o korisnikovim preferencama tako što nadgledaju pretraživačke aktivnosti korisnika, i oba daju kontinuirani, u realnom vremenu, prikaz svojih preporuka korisniku. Izviđački agenti tretiraju pretraživanje web-a kao kooperativnu aktivnost između ljudskog korisnika i računarskog agenta, obezbeđujući “sredinu” između usko ciljanih rezultata pretraživanja kakve daju pretraživači i potpuno nasumičnog pretraživanja kakvo vrši korisnik. World Wide Web se (u trenutku pisanja ovog rada) sastoji od oko 20 milijardi web stranica (procjena na osnovu raznih izvora1), grupisanih u oko 100 miliona jedinstvenih web sajtova (od kojih je više od pola aktivno). Ovo nepregledno bogatstvo informacija postaje korisno samo ako možemo da pronađemo ono što nam je potrebno. Korisnici Interneta su trenutno prisiljeni da biraju između nasumičnog surfovanja i pretraživanja pomoću pretraživača. Oba metoda su važne alatke, ali svaka ograničava proces pronalaženja relevantnih informacija. Nova generacija alata, izviđački agenti, vrše automatsko traženje dok korisnik surfuje po Internetu. Ovo omogućava korisnicima da održe fokus na potragu za informacijama, uz istovremeno smanjenje vremena i nerviranja prilikom pronalaženja materijala od interesa. Ovo miješanje surfovanja i pretraživanja omogućava korisnicima da se fokusiraju na svoj zadatak, dok se u isto vrijeme računarski sistem angažuje da radi ono što radi najbolje – da preuzima, analizira i čuva relevantne informacije.

6.3. MOBILNI SOFTVERSKI AGENTI ZA DINAMIČKO RUTIRANJE

Mreže za mobilne uređaje je prilično teško dizajnirati i napraviti, iz nekoliko razloga - glavni problem među njima je problem rutiranja paketa kroz mrežu koju karakteriše stalno mijenjanje topologije. Taj problem rutiranja se može lakše i bolje rješavati korisćenjem nove tehnike za distribuirano programiranje: mobilni softverski agenti.

Problem: Bežična mreža koja opslužuje populaciju frekventno mobilnih čvorova predstavlja izazov za sistemske dizajnere. Bilo koja šema za upravljanje rutiranja kroz takvu mrežu mora da bude dovoljno fleksibilna da se prilagodi kontinuiranim i nepredvidivim promjenama u tri osnovne karakteristike tih mreža - opšta gustina, topologija “čvora do čvora” i načini korišćenja. Cilj za takav sistem mora biti obezbeđivanje optimalne usluge i servisa čak i kad se “pravila igre” promijene.

Rješenje: Mobilni agenti služe kao okvir na kojem se mogu graditi decentralizovani infrastrukturni servisi. Ugrađivanjem funkcionalnosti u mobilne softverske agente i distribucijom ovih agenata u i kroz mrežu, “guramo” inteligenciju, tradicionalno centralizovanu u nekoliko kontrolnih čvorova, u sistem u cjelini. Svaki čvor može biti u stanju da bude domaćin

1 http://news.netcraft.com/archives/category/web-server-survey/ http://royal.pingdom.com/2010/01/22/internet-2009-in-numbers/ http://www.worldwidewebsize.com/ http://www.pandia.com/sew/383-web-size.html http://en.wikipedia.org/wiki/World_Wide_Web#Statistics http://www.boutell.com/newfaq/misc/sizeofweb.html

Page 22: Seminar Ski Rad Skraceni

PRIMJENA AGENATA U POSLOVANJU

Tehnički fakultet „Mihajlo Pupin“, Zrenjanin 22

mobilnim softverskim agentima; svaki čvor može da bude punopravni građanin mreže. Nema više potrebe za privilegovanim čvorovima arbitrima, jer se mrežna funkcionalnost sada može graditi od temelja naviše, kroz kooperativno ponašanje svih pojedinačnih čvorova u mreži i od agenata koji se kreću kroz njih. Slijede bitne karakteristike za mobilne infrastrukturne agente: Agenti enkapsuliraju u sebi niti izvršavanja uporedo sa kodom i podacima. Svaki agent radi nezavisno od svih ostalih, samostalan je gledano iz programske perspektive, i čuva svoje stanje kada se kreće iz jednog mrežnog čvora u drugi. Ovo je tzv. jaka mobilnost, kako smo je definisali. Svaki agent se može lako kretati kroz mrežu. Osnovna infrastruktura omogućava primitivne komande (na nivou osnovnog jezika) koje agent može pozvati da bi se preselio u susjedni čvor. Agenti moraju biti mali po veličini. Zbog nekih troškova koji postoje u vezi hostinga i transporta agenata, oni su dizajnirani tako da budu minimalne veličine i maksimalno kompaktni. Jednostavni agenti služe kao gradivni blokovi za kompleksno agregatno ponašanje. Agent je u stanju da sarađuje sa drugim agentima, kako bi obavio složene ili dinamične poslove. Agenti mogu da čitaju iz i upisuju u dijeljene blokove memorije u svakom čvoru, i mogu da koriste ovu mogućnost da koordiniraju svoj rad sa drugim agentima koji se izvršavaju na tom čvoru, kao i da ostave iza sebe informacije za buduće “posjetioce” tog čvora. Agent je u stanju da identifikuje i koristi resurse specifične za svaki čvor u kome se nalazi. Čvorovi se razlikuju samo po tome ko su im susjedi i koliko je zagušena okolna (lokalna) mreža. U više heterogenoj mreži, neki čvorovi mogu imati pristup određenim vrstama informacija - kao što je njihova apsolutna lokacija, dobijena od strane prijemnika GPS signala (sistem globalnog pozicioniranja) – agenti u takvim čvorovima mogu da imaju veću moć i funkcije.

6.4. VJEŠTAČKI OBLICI ŽIVOTA

Relativno nova oblast vještačkih oblika života pokušava da secira i razumije biološki život putem sinteze/stvaranja vještačkih oblika života. Veštački život dijeli sa vještačkom inteligencijom svoj interes i zanimanje za sintezu adaptivnih autonomnih agenata. Autonomni agenti su računarski sistemi koji nastanjuju neki kompleksno, dinamično okruženje, “osjećaju” i djeluju samostalno u tom okruženju, i radeći to ostvaruju niz ciljeva ili zadataka za koje su prevashodno dizajnirani. Izgrađeni su autonomni agenti za praćenje, istraživanje i druge poslove u sredinama koje su nedostupne ili opasne za ljude. Zabava je još jedno potencijalno polje primjene. Ovo je slučaj sa video-igrama, simulacijama vožnje, filmovima, animacijama, animatronics tehnikom, pozorištem, lutkarstvom, određenim igračkama, i slično.

Primjeri: Veći broj istraživača su proučavali i primjenjivali agentsku tehnologiju za proizvodnju animiranih filmova. Umjesto skriptovanja svih pokreta animiranih karaktera, karakteri se modeliraju kao agenti koji obavljaju aktivnosti koje su odgovor na njihove “doživljaje” okoline. Rejnolds je modelirao jata ptica i riba navođenjem/specificiranjem ponašanja pojedinih životinja koje čine stado.

Page 23: Seminar Ski Rad Skraceni

PRIMJENA AGENATA U POSLOVANJU

Tehnički fakultet „Mihajlo Pupin“, Zrenjanin 23

Slika 6.1: Realistično ponašanje riba, modelovano u cilju proizvodnje kratkih animiranih filmova

Tosa je koristio neuronske mreže za modeliranje vještačke bebe, koja reaguje na emocionalan način na zvuke koje pravi posmatrač bebe u njenom ležaju.

Slika 6.2: Tosa-ina vještačka beba reaguje na zvuke koje proizvodi posmatrač

6.5. “ALIVE” PROJEKAT

ALIVE je skraćenica za “Artificial Life Interactive Video Environment” (Interaktivno video okruženje vještačkog života). Jedan od ciljeva projekta ALIVE je da pokaže da virtuelna okruženja mogu da ponude emotivnije i realističnije iskustvo, tako što omogućava učesnicima da komuniciraju sa animiranim likovima.

Slika 6.3: Interaktivno video okruženje vještačkog života

Pokreti su interpretirani od strane agenata na osnovu konteksta. Ovdje, pas odlazi u pravcu koji korisnik pokazuje rukom.

Page 24: Seminar Ski Rad Skraceni

PRIMJENA AGENATA U POSLOVANJU

Tehnički fakultet „Mihajlo Pupin“, Zrenjanin 24

V I I Z A K L J UČA K Inteligentni softverski agenti i agentske tehnologije su jedna od oblasti istraživanja koje se najbrže razvijaju. Oni su pronašli širok spektar primjene. Ovi agenti se mogu definisati na više načina, u zavisnosti od njihove primjene; generalno se mogu definisati ovako: “Agent je softverski stvar koja zna kako da radi stvari koje smo možda mogli sami uraditi ako bismo imali dovoljno slobodnog vremena.” Agentski programi se razlikuju od standardog softvera uglavnom po onome što se najbolje može opisati kao osećaj ili svijest o sebi kao nezavisnoj cjelini. Idealan agent zna šta je njegov cilj i nastoće da ga ostvari. Agent treba da bude i robustan i prilagodljiv, sposoban za učenje iz iskustva i da reaguje na nepredviđene situacije uz korišćenje repertoara različitih metoda. Trebalo bi da bude samostalan, tako da može da “osjeti” trenutno stanje okruženja i da djeluju nezavisno u cilju ostvarivanja napretka ka ostvarenju svog cilja. Inteligentni softverski agenti su sa nama već nekoliko godina. Ali čak iako je ova tehnika još uvek relativno mlada, već izgleda jako obećavajuće. Obećavajuće, ali i prilično maglovita i pomalo nejasna za mnoge. Cilj ovog rada je bio - i jeste - da pruži uvid i pregled onoga što agenti već sada nude i šta se očekuje da će ponuditi u budućnosti, bar kada je poslovanje u pitanju. U tu svrhu, dati su praktični primjeri da pokažu ono što je već postignuto. A u osnovnim crtama su opisani trendovi i razvoj iz prošlosti i sadašnjosti, te se naziru obrisi i konture budućeg razvoja agenata. Jedan od zaključaka koji se može izvući iz ovih trendova i razvoja, jeste da će korisnici biti krajnji test i pokazatelj uspjeha agenata. Korisnici će takođe (iako indirektno) usmjeravati i davati pogon razvoju agenata; to je nešto što izgleda da sasvim izvjesno. Ono što je neizvjesno je da li će korisnici da pronađu, usvoje i počnu da koriste agente sami, ili će samo početi da ih koriste jer se oni počinju ugrađivati u većinu aplikacija. Korisnici mogu otkriti, više ili manje sami, kako korisni i pogodni (“user-friendly”) agenti mogu biti (ili mogu NE biti), baš kao što su mnogi korisnici već otkrili ili otkrivaju prednosti i mane Interneta i World Wide Web-a. Ali, možda će stvari ići baš kao što je išlo u slučaju operativnih sistema i GUI (graphic user interface – grafička radna okruženja), gdje su kompanije sa najvećim tržišnim udjelom manje ili više nametnule upotrebu određenih sistema i softvera. Nedvojbeno je da su softverski agenti inovativna tehnologija koja može da donese različite koristi svojim krajnjim korisnicima, automatizacijom složenih ili zadataka koji se ponavljaju. Međutim, postoji nekoliko potencijalnih organizacionih i kulturnih uticaja ove tehnologije koje treba uzeti u obzir i bolje razmotriti. Organizacioni uticaji uključuju transformaciju cjelokupnog sektora elektronske trgovine, operativnih opterećenja i bezbjednosnih preopterećenja. Softverski agenti su u stanju da brzo pretražuju internet, da identifikuju najbolje ponude dostupne online, i da predstave ova informacije krajnjim korisnicima u objedinjenom (agregatnom) obliku.

Page 25: Seminar Ski Rad Skraceni

PRIMJENA AGENATA U POSLOVANJU

Tehnički fakultet „Mihajlo Pupin“, Zrenjanin 25

Dakle, korisnici ne moraju ručno da pretražujete razne sajtove pojedinih trgovaca; agenti su u stanju da pronađete najbolju ponudu u roku od nekoliko sekundi. U isto vreme, to povećava takmičenje na bazi cijena i preobražava cio sektor elektronske trgovine u jedinstveno, uniformno, savršeno konkurentno tržište. Implementacija agentskih tehnologija takođe zahtijeva dodatna sredstva od kompanija, stavlja dodatni teret na njihove mreže, i zahtijeva nove bezbjednosne procedure. Kulturni efekti implementacije agentskog softvera agensi uključuju pad povjerenja, eroziju vještina i znanja, osipanje privatnosti i socijalnu otuđenost. Neki korisnici ne mogu da se osjećaju sasvim udobno u potpunosti kad delegiraju važne zadatke softverskim aplikacijama. Oni koji se počnu isključivo oslanjati na inteligentne agenti mogu da izgube važne vještine, na primer, one koje se odnose na informacionu pismenost. U cilju da djeluje u ime (umjesto) korisnika, softverski agent mora da ima potpuno razumijevanje preferenci korisnika, uključujući i njegove lične sklonosti. To, zauzvrat, može dovesti do nepredvidivih problema oko privatnosti. Kada se korisnici počnu oslanjati više na softverske agente, naročito kod komunikacionih aktivnosti, mogu da izgube kontakt sa drugim korisnicima.. To su posljedice koje istraživači agentskih tehnologija i korisnici treba da razmotre prilikom razvoja inteligentnih softverskih agenata. U svakom slučaju, softverski agenti su već sa nama, i bez obzira na moguće probleme koje će donijeti njihova implementacija, sigurno je da će oni imati veliku primjenu i uticaj na veliki broj ljudskih aktivnosti: poslovanje, korišćenje računara, komunikaciju, itd.

Page 26: Seminar Ski Rad Skraceni

PRIMJENA AGENATA U POSLOVANJU

Tehnički fakultet „Mihajlo Pupin“, Zrenjanin 26

B I B L I O G R A F I J A

LITERATURA I IZVORI INFORMACIJA ZA DIO I

Spisak literature i izvora informacija koji su korišćeni pri izradi ovog seminarskog rada: [1] Nwana, H.S: Software Agents: An Overview, Intelligent Systems Research AA&T, BT Laboratories, Ipswich, United Kingdom, [2] Wooldridge, M., Jennings, N.R: Intelligent Agents: Theory and Practice [3] Björn Hermans: Intelligent Software Agents on the Internet [4] www.ieee.com [5] Devedžić, V.: Inteligentni informacioni sistemi, 2000. [6] D. N. Chorafas: Agent Technology Handbook, The McGrow-Hill Companies, Inc. 1997 [7] Mohammadian M.: Intelligent Agents for Data Mining and Information Retrieval, Hershey: Idea Group Publishing, 2004. [8] Spertus, Ellen, ParaSite: Mining Structural Information on the Web, Sixth World Wide Web Conference, Santa Clara, CA, 1997. [9] Liautaud B, Hammond M.: E-Business Intelligence: turning information into knowledge into profit, New York: McFraw-Hill, 2001. [10] Bradshaw JM.: Software Agents, Menlo Park: AAAI, 1997. [11] Bigus JP, Bigus J.: Constructing Intelligent Agents Using Java, New York, Wiley & Sons, 2001. [12] Caglayan A, Harrison C.: Agent Sourcebook, New York, Wiley & Sons, 1997. [13] Neil E.: Web Characterization, OCLC – Online Computer Library Center, 2004. http://www.oclc.org/research/projects/archive/wcp/stats/size.htm [14] Lyman P, Varian HR.: How much information?, Regents of the University of California, 2003, http://www.sims.berkeley.edu/research/projects/howmuch-info-2003/internet.htm [15] Givens B.: Public Data on the Internet: Privacy Dilemma, Privacy Rights Clearinghouse/UCAN, 2002, 2005. http://www.privacyrights.org/ar/onlinepubrecs.htm [16] Foner LN.: What’s an Agent Anyway? A sociological case study, Agents Group, MIT Media Lab, 1993, http://foner.www.media.mit.edu/people/foner/Julia/Julia.html [17] Vesset, D.: Worldwide Business Intelligence Tools, 2004-2008 Forecast, Framingham: IDC, 2004. [18] Wooldridge M.: An Introduction to Multy-Agent Systems, London, Wiley & Sons, 2002. [19] Nwana H, Ndumu D.: An Introduction to Agent Technology, BT Technology Journal 1996. [20] Zhang X, Li J., Dong G. Ramamohanarao K., Qun S.: Efficient Mining of High Confidence, Association Rules without Support Thresholds. [21] Mirjana Pejić Bach, Nikola Vlahović, Blaženka Knežević: Public Data Retrieval with Software Agents for Business Intelligence, Graduate School for Economics and Business, University of Zagreb, 2005. [22] Aberer K., Fankhauser P., Huck G., Neuhold E.: JEDI: Extracting and Synthesizing Information from the Web, Proc. of COOPIS, 1998. [23] Kahaner L.: Competitive Intelligence: How to Gather, Analyse Information to Move your Business to the Top, Touchstone, New York, 1998. [24] Lieberman H., Fry C. Weitzman L.: Exploring the Web with Reconnaissance Agents, Communication of the ACM Journal 44, 2001. [25] Fu X., Budzik J, Hammond K.J.: Mining Navigation History for Recommendation, IUI: 106-112, 2000. [26] Lieberman H., Selker T.: Out Of Context: Computer Systems That Adapt To, and Learn From, Context, IBM Systems Journal 39, 2000. [27] Salton, G.: Automatic Text Processing: The Transformation, Analysis and Retrieval of Information by Computer, Addison Wesley, 1989.

Page 27: Seminar Ski Rad Skraceni

PRIMJENA AGENATA U POSLOVANJU

Tehnički fakultet „Mihajlo Pupin“, Zrenjanin 27

- DIO II - KO N K R E T A N P R I M J E R

I N T E L I G E N T N I H AG E N AT A U P O S L OVA N J U

AG E N T I Z A P R E P O R U K E

Page 28: Seminar Ski Rad Skraceni

PRIMJENA AGENATA U POSLOVANJU

Tehnički fakultet „Mihajlo Pupin“, Zrenjanin 28

AG E N T I Z A P R E P O R U K E Softverski agenti/sistemi za preporuku proizvoda/sadržaja/usluga (u daljem tekstu samo agenti za preporuku ili sistemi za preporuku) se koriste sve više i više u elektronskom poslovanju kompanija da pomogne potrošačima/klijentima u pronalaženju proizvoda/sadržaja/usluga za koje su zainteresovani, te time povećaju i profit kompanija kroz unapređivanje njihovog elektronskog poslovanja sa spoljnjim svijetom. U ovom radu se opisuje šta su agenti/sistemi za preporuku i kakvu ulogu oni igraju u e-trgovini. Pri tome, agenti/sistemi za preporuku koriste različite tehnike koje, dalje, koriste različite izvore znanja da daju preporuke potrošačima. U radu se pojašnjavaju ove tehnike, te njihove prednosti i slabosti, te se navode primjeri ovakvih sistema. U radu su predstavljaju/pregledaju neki od osnovnih problema koji se postavljaju pred agente/sisteme za preporuku, te se sagledavaju i rješenja za iste. Zaključni primjeri sistema za preporuku u e-trgovini su detaljno opisani na kraju ovog rada. Prikazano je koje tehnike se koriste i kako stvarne kompanije implementiraju preporuke na svojim web sajtovima.

Page 29: Seminar Ski Rad Skraceni

PRIMJENA AGENATA U POSLOVANJU

Tehnički fakultet „Mihajlo Pupin“, Zrenjanin 29

I U V O D Agenti za preporuku su prilagođeni/personalizovani informacioni softverski agenti koji pokušavaju da predvide koje stavke iz velikog skupa informacija korisniku mogu biti interesantne. Ove stavke mogu biti bilo koje vrste, kao što su: filmovi, muzika, knjige, ili novinski članci. Interes korisnika za artikal je izražen kroz rejting (ocjenu) kojim korisnik ocjenjuje stavku. Sistem za preporuke mora da predvidi rejting za stavke koje korisnik još uvek nije vidio/pogledao. Pomoću ovog sistema za procjenu rejtinga sistem može preporučiti stavke koje imaju najviše procijenjeni rejting. Agenti za preporuku postali su sastavni dio mnogih e-commerce preduzeća [1, 2]. To su ozbiljni poslovni alati koje koristi sve veći broj online prodavnica. Sistemi za preporuku su jedinstvena funkcija/odlika e-trgovina, zbog toga što su modern web stranice u stanju da prate sve aktivnosti posjetilaca/klijenata, za razliku od stvarnih prodavnica. Znanje koje je izvučeno iz ponašanja kupaca (tačnije, analizom isto) predstavlja osnovu za preporuke. Zbog toga što online prodavnice nemaju fizičko ograničenje prostora (smještajnog, za artikle), one mogu da sadrže mnogo veće “zalihe” artikala, pružajući svojim klijentima mnogo veći izbor. Ove velike zalihe je gotovo nemoguće pretražiti u cjelosti, tako da e-commerce prodavnica mora da pruži personalizovane izbore sa smanjenim brojem stavki (artikala) za individualne korisnike. Jedan od načina da se ovo postigne je upravo korišćenjem agenata/sistema za preporuke. Za e-commerce prodavce, sistemi za preporuke pružaju višestruke koristi. Dobri sistemi za preporuke predstavljaju korisnicima interesantne proizvode koje nisu planirali da kupe, navodeći ih na taj način da kupe više stavki/artikala [2, 3, 4]. Ove neplanirane kupovine se još uvijek rjeđe dešavaju u online prodavnicama nego u tradicionalnim prodavnicama [2]. Sistemi za preporuku može da pomogne pri dobijanju povjerenja i lojalnosti potrošača, što je jedna od suštinskih poslovnih strategija u e-trgovini, jer su konkurenti uvijek samo "jedan klik daleko" [4]. Zato što sistemi za preporuke olakšavaju i ubrzavaju pronalaženje nove ili tražene stavke, kupci će se češće vraćati (na web sajt online prodavnice) [2]. Što više korisnik koristi sajt i kupuje stvari, to više system za preporuku “uči” o korisniku i, zahvaljujući tom uvećanom znanju, pravi bolje preporuke. Ovo pomaže da se izgradi "odnos sa dodatom vrijednošću (value-added relationship)" između web sajta i korisnika [4]. Sistemi za preporuke su takođe efikasan način da se promovišu starije ili manje tražene stavke/proizvodi/artikli, kao što su specijalizovani tehnički proizvodi, te proizvodi kojima ističe rok trajanja [2].

Page 30: Seminar Ski Rad Skraceni

PRIMJENA AGENATA U POSLOVANJU

Tehnički fakultet „Mihajlo Pupin“, Zrenjanin 30

I I T E H N I K E KO J E KO R I S T E AG E N T I / S I S T E M I Z A P R E P O R U K E

Tehnike koje se koriste od strane sistema za preporuke se mogu klasifikovati na osnovu izvora informacija koji koriste [5, 2]. Raspoloživi izvori su sama svojstva korisnika (demografija) (npr. starost, pol, zanimanje, prihod, lokacija/adresa), svojstva stavke/artikla/proizvoda (npr. ključne riječi, žanr itd.), kao i sami rejting kojim stavke/artikli bivaju ocijenjeni od strane korisnika (prikupljenih putem upitnika, eksplicitnog ocjenjivanja, transakcijom podataka itd). Vidi sliku 2.1.

Slika 2.1: Izvori znanja sistema za kreiranje preporuka (Izvor: [5])

2.1. NEPERSONALIZOVANE PREPORUKE

Nepersonalizovane preporuke su identične za svakog korisnika. Preporuke se ručno prave/odabiraju (npr. izbor urednika/nadležnog) ili na osnovu popularnosti predmeta (npr. prosječne ocjene, podataka o prodaji). Vidi sliku 2.2.

Slika 2.2: Nepersonalizovana preporuka (Izvor: [5])

Page 31: Seminar Ski Rad Skraceni

PRIMJENA AGENATA U POSLOVANJU

Tehnički fakultet „Mihajlo Pupin“, Zrenjanin 31

Zbog lake “izračunljivosti” (pravljenja, kreiranja) nepersonalizovanih preporuka, veoma su popularne u e-trgovini kompanija. Takva vrsta preporuka su takođe i opcija za web stranice koje ne nude personalizaciju.

2.2. DEMOGRAFSKE PREPORUKE

Demografska tehnika preporuka koristi samo informacije o korisnicima. Korisnici su kategorizovani na osnovu atributa svojih demografskih profila u cilju pronalaženja (odnosno kategorizacije) korisnika sa sličnim karakteristikama (i željama/ukusima). Sistem za preporuke tada preporučuje stavke koje su željene svim ovim sličnim korisnicima (korisnicima u istoj kategoriji interesovanja). Vidi sliku 2.3.

Slika 2.3: Demografska preporuka (Izvor: [5])

Prednosti Novi korisnici mogu dobiti preporuke prije nego što su ocijenili bilo koju stavku, jer

ova tehnika ne koristi ocjene stavki od strane korisnika. Znanja o predmetima/stavkama i njihovim karakteristikama nisu potrebna, stoga je ova

tehnika nezavisna od domena.

Problemi Prikupljanje potrebnih demografskih podataka dovodi do pitanja u vezi privatnosti –

vidi pasus 3.7. Demografska klasifikacija je suviše sirova za visoko personalizovane preporuke [5, 3].

Generalizacije kreirane iz klasifikacije su često pogrešne, posebno kada je riječ o kulturnim stavkama kao što su knjige, muzika ili filmovi [6, 3].

Korisnici sa “neobičnim” ukusima u nekim slučajevima neće dobiti dobre preporuke (tzv. problem "sive ovce", vidi pasus 3.6).

Jednom uspostavljena, korisnikova podešavanja se ne mijenjaju tako lako (tzv. problem “stabilnosti nasuprot plastičnosti”, vidi pasus 3.3).

2.3. PREPORUKE NA OSNOVU SADRŽAJA/REJTINGA

Tehnika preporuka zasnovanih na sadržaju/rejtingu koristi informacije o karakteristikama i svojstvima samog predmeta/stavke kao i informacije o rejting koji su tom predmetu dodijelili sami korisnici. Tehnika kombinuje/upoređuje ove rejtinge i svojstva sa profilom

Page 32: Seminar Ski Rad Skraceni

PRIMJENA AGENATA U POSLOVANJU

Tehnički fakultet „Mihajlo Pupin“, Zrenjanin 32

interesovanja individualnog korisnika, koji je dobijen na osnovu svojstava predmeta/stavki koje je taj korisnik ranije ocijenio. Sistem za preporuke onda može da pronađe stavke sa željenim/preferiranim svojstvima/karakteristikama i da preporuči stavke sa najvećim sličnostima sa onim stavkama koje je korisnik već ranije ocjenjivao (naravno, gledaju se stavke koje je korisnik pozitivno ocijenio ranije). Vidi sliku 2.4. Dakle, preporuke sadržaja/predmeta/stavki koje se dobijaju ovom tehnikom zasnivaju se na profilu/ukusu individualnog korisnika, dok se potpuno ignorišu doprinosi (ocjene/ukusi) drugih korisnika.

Slika 2.4: Preporuka na osnovu sadržaja (Izvor: [5]) Profili interesovanja korisnika su često predstavljeni kao težinski vektori na osobinama/svojstvima/karakteristikama stavki/predmeta. Međutim, ako se koristi automatska metoda “učenja” u softveru sistema za preporuke, kao npr. algoritam indukcije pravila, tada i profili mogu biti zasnovani na pravilima [7]. Ova tehnika za pravljenje preporuka dobro funkcioniše ako se predmeti/stavke mogu pravilno/uspješno predstaviti kao skup svojstava/karakteristika. Kvalitet preporuka direktno zavisi od kvaliteta raspoloživih opisnih podataka/informacija. Da bi imali dovoljan skup svojstava/karakteristika, opisi predmeta/stavki moraju biti u formi iz koje se svojstva/karakteristike mogu izdvojiti/izvući automatski, uz korišćenje tehnika pronalaženja/izvlačenja informacija (npr. tekst); ili se svojstva/karakteristike moraju dodjeljivati manuelno (ručno), što zahtijeva mnogo resursa [8]. Pored objektivne kategorizaciJe, sistemi takođe mogu da koriste korisnički generisane oznake/tagove vezane za predmete/stavke, koje daju subjektivan pogled.

Problemi Analiza sadržaja je neophodna da se utvrde svojstva/karakteristike predmeta/stavki. Tehnika ne zavisi samo od kvaliteta metapodataka predmeta/stavki, vec i od

homogenosti zaliha/skladišta, pa se predmeti/stavke mogu kategorizovati. Kvalitet predmeta/stavki se ne može procijeniti/vrijednovati. Izračunavanje sličnosti je

ograničeno na svojstva/karakteristike predmeta/stavki [5]. Tehnika pati od problema “hladnog starta” kod novih korisnika, vidi pasus 3.2. Jednom uspostavljena, korisnikova podešavanja se ne mijenjaju tako lako (tzv. problem

“stabilnosti nasuprot plastičnosti”, vidi pasus 3.3).

2.4. KOLABORATIVNO FILTRIRANJE

Tehnike kolaborativnog filtriranja koriste ponašanja korisnika u vidu korisnikovog rejtingovanja/ocjenjivanja predmeta/stavki kao svoj primarni izvor informacija. Suština

Page 33: Seminar Ski Rad Skraceni

PRIMJENA AGENATA U POSLOVANJU

Tehnički fakultet „Mihajlo Pupin“, Zrenjanin 33

ovog koncepta je da se naprave/kreiraju korelacije/veze između korisnika ili između stavki. Ove tehnike se naširoko primjenjuju i implementiraju i predstavljaju najzreliju tehniku preporuka. Mogu se razlikovati tri glavna pristupa kod kolaborativnog filtiranja: korisnčki zasnovan, zasnovan na predmetima/stavkama, i pristup zasnovan na modelu.

Prednosti Slično kao kod demografskih tehnika preporuka, ni za ove tehnike nije potrebno znanje

o svojstvima/karakteristikama predmeta/stavki. Kolaborativno filtriranje radi/ funkcioniše potpuno nezavisno od mašinski čitljivih prikaza/ reprezentacija svojstava/karakteristika predmeta/stavki. Stoga su te tehnike nezavisne od domena.

Kvalitet (ne samo relevantnost) predmeta/stavki se može procijeniti/vrijednovati, zato što se takođe izražava kroz rejting/ocjene korisnika [5].

Tehnike kolaborativnog filtriranja su u stanju da daju preporuke "van kutije", jer one “gledaju” izvan preferenci individualnih korisnika [1].

Problemi Kvalitet preporuka zavisi od veličine skupa podataka rejtinga/ocjena predmeta/stavki –

drugim riječima, kvalitet preporuka zavisi od broja ocijenjenih predmeta/stavki u prošlosti (i ocjene njihovih pripadajućih svojstava/karakteristika).

Tehnika pati od problema “hladnog starta” kod novih korisnika i novih predmeta/stavki, vidi pasus 3.2.

Korisnici sa “neobičnim” ukusima u nekim slučajevima neće dobiti dobre preporuke (tzv. problem "sive ovce", vidi pasus 3.6).

Jednom uspostavljena, korisnikova podešavanja se ne mijenjaju tako lako (tzv. problem “stabilnosti protiv plastičnosti”, vidi pasus 3.3).

2.4.1. Korisnički orijentisan pristup Korisnički zasnovan pristup se zasniva na pretpostavci da korisnici koji iste stvari ocijene isto ili slično vjerovatno imaju isti ukus. Prave se korelacije između korisnika, tako što se pomoću profila ocjena različitih korisnika nalaze korisnici sa veoma sličnim ili čak i jednakim ukusima. Ovi korisnici sa sličnim ukusima čine obrasce/skupove/okruženja istomišljenika, na osnovu njihovih zajedničkih preferenci ka predmetima/stavkama. Sistem za preporuku onda može da preporuči stavke koje preferiraju drugi korisnici u istom okruženju/komšiluku. Vidi sliku 2.5.

Slika 2.5: Kolaborativno filtriranje zasnovano na korisniku (Izvor: [5]) Slika 2.6. prikazuje primjer preporuke kreirane pomoću korisnički orijentisanog pristupa.

Page 34: Seminar Ski Rad Skraceni

PRIMJENA AGENATA U POSLOVANJU

Tehnički fakultet „Mihajlo Pupin“, Zrenjanin 34

Slika 2.6: Primjer kolaborativnog filtriranja zasnovanog na korisniku (Izvor: [5]) Međutim, ako postoje mala preklapanja/poklapanja rejtinga/ocjena među korisnicima u skupu podataka (za iste predmete/stvari, naravno), onda ovaj pristup nailazi na tzv. problem “prorijeđenosti”, vidi pasus 3.4. Korisnički orijentisano filtriranje ne funkcioniše naročito dobro kad imamo mnogo korisnika i predmeta/stavki, jer analiza i process poređenja postaju veoma složeni, vidi pasus 3.5.

2.4.2. Pristup orijentisan na predmete/stavke Ovaj pristup se fokusira na predmete/stvari, uz pretpostavku da su stavke koje su ocijenjene slično vjerovatno slične. Predmeti/ stavke se upoređuju na osnovu zajedničke procjene korisnika, u cilju stvaranja okruženja/skupova sličnih predmeta/stavki. Sistem tada preporučuje predmete/stavke susjedne predmetima/stavkama za koje se već zna da ih korisnik preferira. Vidi sliku 2.7.

Slika 2.7: Kolaborativno filtriranje zasnovano na predmetu/stavki (Izvor: [5]) Slika 2.8. prikazuje primjer preporuke kreirane pomoću ovog pristupa.

Page 35: Seminar Ski Rad Skraceni

PRIMJENA AGENATA U POSLOVANJU

Tehnički fakultet „Mihajlo Pupin“, Zrenjanin 35

Slika 2.8: Primjer kolaborativnog filtriranja zasnovanog na predmetu/stavki (Izvor: [5]) Kolaborativno filtriranje orijentisano na predmete/stavke je više skalabilno od korisnički orijentisanog pristupa, jer se prave korelacije između ograničenog broja predmeta/stavki umjesto između potencijalno velikog broja korisnika. Predmeti/stavke se, takođe, lako kategorišu, dok se aktivnosti korisnika moraju podrobno ispitti i analizirati. Vidi pasus 3.5. Takođe, zbog toga što je broj predmeta/stavki svakako manji od broja korisnika, pristup orijentisan na predmete/stavke ima manji problem “prorijeđenosti” (vidi pasus 3.4.) u odnosu na korisnički orijentisan pristup.

2.4.3. Pristup zasnovan na modelu Za velike skupove podataka, kvadratna složenost/kompleksnost matrice ocjena/rejtinga korisnik-stavka postaje vrlo visoka [7]. Ali, u realnom okruženju (tj. kod realnih online aplikacija) predviđanja i preporuke se moraju praviti što brže. Pristup zasnovan na modelu pokušava da riješi ovaj problem derivacijom modela za predviđanje korišćenjem podataka iz prethodnog “korisnik-stavka” ocjenjivanja/rejting-procesa, a u cilju da se ubrza online proces predviđanja i preporučivanja. Za izgradnju modela koriste se tehnike učenja kao što su Bajesove mreže, neuronske mreže, ili latentno semantičko indeksiranje. Za precizan model je neophodna velika količina podataka na raspolaganju. Sistem tada pravi preporuke pomoću modela (korišćenjem modela). Vidi sliku 2.9.

Slika 2.9: Kolaborativno filtriranje zasnovano na modelu (Izvor: [5])

Page 36: Seminar Ski Rad Skraceni

PRIMJENA AGENATA U POSLOVANJU

Tehnički fakultet „Mihajlo Pupin“, Zrenjanin 36

Kako se model gradi/pravi ranije, prije online procesa preporučivanja, ovaj pristup ima bolje performanse od memorijski-zasnovanih pristupa i izbjegava problem skalabilnosti, vidi pasus 3.5. U zavisnosti od tehnika učenja koje se koriste za kreiranje modela, ovaj pristup može da dovede do veće tačnosti (kvaliteta) preporuke i smanjenog problema “prorijeđenosti” [5]. Glavni nedostatak pristupa zasnovanog na modelu je u tome što se rezultujuće preporuke (odnosno, rezultati procesa preporučivanja) ne prilagođavaju automatski promjenama skupa podataka (ocjena/rejtinga). Umjesto toga, model se periodično mora ponovo izgraditi, da reflektuje promjene u skupu podataka

2.5. HIBRIDNI PRISTUPI

Hibridni pristupi kombinuju kolaborativne i demografske ili tehnike preporuka zasnovne na sadržaju/rejtingu da prevaziđu njihove nedostatke. Sistemi koji koriste kolaborativno filtriranje često kao rezultat daju bolje performanse procesa predviđanja, ali imaju problema kada su ograničeni podaci o “korisnik-stavka” ocjenama/rejtinzima [7]. Demografske i tehnike preporuka zasnovane na sadržaju/rejtingu rade podataka o ocjenama i samim tim mogu da kompenzuju problem “hladnog starta” [1]. Postoje razne metode za kombinovanje tehnika preporučivanja u hibridni sistem [1, 9]:

Ponderisana/težinska hibridizacija Mnoštvo različitih komponenti za kreiranje preporuka su numerički kombinuje. Svaka komponenta hibridnog sistema ocjenjuje date stavke i rezultati se kombinuju pomoću linearne formule.

Preklopna hibridizacija Sistem bira između komponenti za kreiranje preporuka na osnovu date situacije i primenjuje izabranu komponentu. Mora postojati neki pouzdan kriterijum na osnovu kojeg će se praviti odluka o izboru komponente za kreiranje preporuke.

Mješovita hibridizacija Preporuke od različitih komponenti za kreiranje preporuka se predstavljaju/listaju rame uz rame (jedna do/pored druge) u kombinovanim listama. Rezultati različitih komponenti za kreiranje preporuka se ne kombinuju.

Kombinacija svojstava/karakteristika Karakteristike/svojstva izvedena (derivisana) iz različitih izvora znanja se kombinuju, a zatim predaju (kao ulazni argument) algoritmu koji pravi jedinstvenu preporuku (jedan izlazni argument).

Page 37: Seminar Ski Rad Skraceni

PRIMJENA AGENATA U POSLOVANJU

Tehnički fakultet „Mihajlo Pupin“, Zrenjanin 37

“Pojačavanje” svojstava/karakteristika Jedna od tehnika za preporuke se koristi za izračunavanje svojstva/karakteristika ili skupa/niza svojstava/karakteristika, koji se dalje predaju kao ulaz sljedećoj tehnici za preporuke.

Kaskadna hibridizacija Tehnikama za preporuke se daje strogi prioritet, pri čemu tehnike sa nižim prioritetom služe kao priprema za bodovanje kod upotrebe tehnika sa višim prioritetom.

Hibridizacija na meta-nivou Jedna od tehnika za preporuke se koristi za kreiranje modela koji se zatim koristi kao ulaz za drugu tehniku.

Page 38: Seminar Ski Rad Skraceni

PRIMJENA AGENATA U POSLOVANJU

Tehnički fakultet „Mihajlo Pupin“, Zrenjanin 38

I I I P R O B L E M I I R J E Š E N J A

3.1. PRIKUPLJANJE PODATAKA

Podaci koje koriste softveri za pravljenje preporuka mogu se svrstati u eksplicitne i implicitne podatke [2]. Eksplicitni se svi podaci kojr korisnici sami unose u system, kao što su demografski podaci, podaci o njihovim preferencama (npr. prikupljenih putem upitnika), tražene ključne riječi, eksplicitne ocjene i recenzije stavki (“mudrost gomile”). Prikupljanje eksplicitnih podataka ne smije biti nametljivo ili vremenski zahtjevno. Način na koji se eksplicitni podaci prikupljaju može da utiče na kvalitet i količinu podataka koji će se prikupiti od korisnika [10]. Sistemi za preporuke ne bi trebalo da se u potpunosti oslanjaju na eksplicitnim podacima. Web sajtovi su u stanju da prate aktivnosti svojih korisnika kako bi došli do implicitnih podataka. NajvažniJi izvor implicitnih podataka u e-trgovini su podaci o transakciji, uključujući informaciju o obavljenoj kupovini. Ostali izvori su modeli posjećivanja/popularnosti web sajtova, sekvence linkova ili vrijeme provedeno u pregledu/čitanju pojedinih stranica, kao i reference pretraživača. Implicitne podataka treba prvo analizirati prije nego što mogu da se koriste za opisivanje osobina korisnika ili “korisnik-predmet” ocjena.

3.2. HLADNI START

Problem hladnog starta se javlja kada je premalo/nedovoljno rejting podataka dostupno u inicijalnom stanju. Sistem za preporuke onda nema dovoljno podataka da proizvede odgovarajuće preporuke. Pravi se/postoji razlika između problema novog korisnika i novog predmeta/stavke.

Problem novog člana Kada se preporuke kreiraju na osnovu korelacije od korisnika do korisnika, baziranim na akumulaciji njihovih ocjena/rejtinga, novog korisnika sa nijednim ili malo/nekoliko ocjena/rejtinga je teško kategorizovati.

Problem novog predmeta/stavke Predmet/stavka sa malo ocjena/rejtinga se ne može lako preporučiti. Ovaj problem se javlja naročito u domenima sa velikim brojem novih stavki (npr. online novinski naslovi/članci). Kako se problem takođe javlja kod stavki sa “dugim repom (tragom)”, problem se često zove i " problem dugog repa" [10]. Rešenje problema hladnog starta je kombinaciJa kolaborativne tehnike sa demografskom tehnikom (kod problema novog korisnika) ili tehnikom zasnovanom na sadržaju (kod problema nove stavke) u jednu hibridni system za preporuke, vidi pasus 2.5. Na taj način

Page 39: Seminar Ski Rad Skraceni

PRIMJENA AGENATA U POSLOVANJU

Tehnički fakultet „Mihajlo Pupin“, Zrenjanin 39

problem hladnog starta se kompenzuje sa tehnikama koje se ne oslanjaju (ne zavise) na “korisnik-stavka” rejting. Druga rješenja problema hladnog starta su upotreba podrazumijevanog rejtinga (npr. prosječna ocean neke stavke od svih korisnika) [6, 10] ili upotreba tehnika aktivnog učenja u tehnikama kreiranja preporuka zasnovanih na modelu [5].

3.3. STABILNOST NASUPROT PLASTIČNOSTI

Suprotno od problema hladnog starta je problem stabilnosti nasuprot plastičnosti. Kada korisnik ocijeni puno predmeta/stavki, njegove preference u profila korisnika se teško mijenjaju [1, 9]. Međutim, u stvarnosti ukus evoluira, što onda postaje problem (može doći do neadekvatnih preporuka za neke korisnike od strane sistema za preporuke). Rješenje za ovo je da se postepeno diskontuju (umanjuje značaj) stariji rejtinzi/ocjene koje je pravio taj korisnik, pa onda te starije ocjene/rejtinzi imaju manji značaj pri kreiranju preporuka. Međutim, time system za preporuke rizikuje gubitak informacija o dugoročnim interestima tog korisnika [1, 9]. U vezi sa ovim je i činjenica da korisnici mogu koristiti web sajt sa različitim namjerama. Na primjer, jednog dana kupac kupuje knjigu za sebe, a sljedećeg dana je u potrazi za nekim poklonom za neku drugu osobu.

3.4. PRORIJEĐENOST

U većini realnih slučajeva sistema za preporuke, s obzirom na veličine kataloga e-poslovanja kompanija, broj rejtinga/ocjena koji/e su već dobijeni/e je obično jako mali u odnosu na broj rejtinga koje treba predvidjeti. Na drugoj strani, tehnike kolaborativnog filtriranja zavise od preklapanja rejtinga više korisnika i imaju problema kada je skup/prostor rejtinga “prorijeđen” (odnosno, kad je veoma malo korisnika ocijenilo jedan predmet/stavku). “Prorijeđenost” u matrici “korisnik-stavka” rejtinga degradira kvalitet preporuka koje se kreiraju na osnovu te matrice. Da bi se “prorijeđenost” smanjila, rejting podataka treba da se podesi ili dodavanjem dodatnih rejtinga ili smanjivanjem dimenzionalnosti matrice. Ocjene mogu biti proširene ubacivanjem simuliranih vrijednosti u ime korisnika (umjesto korisnika). To mogu biti vrijednosti iz drugih izvora (implicitnih) podataka, kao što su broj pogleda ili klikova na predmet/stavku, ili podrazumijevane vrijednosti [6]. Dimenzionalnost rejting-matrice se može smanjiti korišćenjem tehnika kao što su dekompozicija singularnih vrijednosti [1]. To je dobro poznati metod za faktorizaciju matrica koji obezbjeđuje najbolju aproksimaciju nižeg ranga originalne matrice. Tehnike redukcije dimenzionalnosti se često koriste kod pristupa koji koristi tehnike kolaborativnog filtriranja zasnovane na modelu [1].

Page 40: Seminar Ski Rad Skraceni

PRIMJENA AGENATA U POSLOVANJU

Tehnički fakultet „Mihajlo Pupin“, Zrenjanin 40

3.5. PERFORMANSE I SKALABILNOST

Performanse i skalabilnost su važna pitanja za sisteme za preporuke jer web sajtovi za elektronsku trgovinu moraju biti u stanju da kreiraju preporuke u realnom vremenu i često se bave velikim skupovima podataka od više miliona kupaca i stavki. Veliki rast e-biznisa čini skupove podataka sve većim i većim u dimenziJi korisnika [6]. Presudno za performanse je računska složenost/izračunljivost tehnike preporuka koja se koristi. Tehnike koje izračunavaju koeficijent korelacije za M korisnika i N stavki imaju složenost O (M×N) u najgorem slučaju. Zbog zajedničke prorijeđenosti matrice “korisnik-stavka” rejtinga performanse imaju tendenciju da budu bliže O (M+N) [11]. Međutim, za velike skupove podataka ovo i dalje vodi ka problematičnim performansama i skalabilnosti. Tehnike koje mogu da izvrše najskuplje kalkulacije offline su više skalabilne nego tehnike gdje se sve mora računati online, u realnom vremenu [11]. Demografske i tehnike preporuka zasnovane na sadržaju, kao i tehnike kolaborativnog filtriranja zasnovane na predmetu ili modelu, mogu da implementiraju offline izračunavanje (računanje). Ali kolaborativno filtriranje zasnovano na korisnicima može da uradi malo ili nimalo offline računanja, što ga čini nepraktičnim kod velikih skupova podataka [11]. Pored vršenja izračunavanja i kalkulacija u offline modu, sve metode koje pomažu smanjenju veličine skupa podataka poboljšavaju performanse i skalabilnost tehnike kreiranja preporuka [6]. Na primjer, podaci za korisnike koji su davali veoma mali broj ocjena/rejting, kao i podaci o veoma popularnim ili nepopularnim predmetima/stavkama, mogu biti odbačeni [11]. Međutim, ove metode takođe smanjuju i kvalitet preporuka.

3.6. DOSLJEDNOST (KONZISTENCIJA) KORISNIČKOG UNOSA

Tehnike kreiranja preporuka koje sa korelacijama između korisnika, kao što su demografske i kolaborativno filtriranje, zavise od visokog stepena korelacije između korisnika u skupu podataka. Korisnici se mogu podijeliti (grupisati, kategorizovati) u tri klase, na osnovu njihovih koeficijenata korelacije sa ostalim korisnicima [6]. Vecina korisnika pripada klasi tzv. "bijelih ovaca", koje imaju visok rejting korelacije sa mnogim drugim korisnicima. Sistem za kreiranje preporuka može lako naći savjete i preporuke za ove korisnike. Suprotan tip su tzv. "crne ovce". Za njih postoje malo ili nijedan korisnik u korelaciji, tj. nisu u korelaciji sa mnogo drugih korisnika. To čini veoma teškim pronalaženje savjeta i preporuka za njih. Ali, kada se ukupan broj korisnika u skupu podataka povećava, mogucnost da se pronađu slični korisnici raste takođe. Veći problem je problem "sivih ovaca". Ovi korisnici imaju različita mišljenja, ili neobičan/neuobičajen ukus, što rezultira niskim koeficijentom korelacije sa većinom ostalih korisnika. Oni su na granici između grupa ostalih korisnika. Preporuke za njih je veoma teško naći/kreirati i oni takođe mogu uzrokovati kreiranje čudnovatih preporuka za korisnike koji su u korelaciji sa njima.

Page 41: Seminar Ski Rad Skraceni

PRIMJENA AGENATA U POSLOVANJU

Tehnički fakultet „Mihajlo Pupin“, Zrenjanin 41

3.7. PRIVATNOST

Privatnost Je važna tema u sistemima za kreiranje preporuka. Da bi mogao da kreira personalizovane preporuke, sistem mora da zna (bar) nešto o korisnicima. U stvari, što više sistema zna o korisniku, kreiraće tačnije/kvalitetnije preporuke za tog korisnika. Korisnici su prilično (razumno) zabrinuti o tome koje informacije se prikupljaju, kako se koriste, i da li se pohranjuju. Ove zabrinutost oko privatnosti utiče na sakupljanje i eksplicitnih i implicitnih podataka. Što se tiče eksplicitnih podataka, korisnici su nevoljni da objave (učine javnim) informacije o sebi i svojim interese [2, 4]. Ako upitnici postanu previše lični, korisnici mogu pružiti lažne informacije kako bi zaštitili svoju privatnost [4]. Sistemi za kreiranje preporuka bi trebalo da budu sposobni da se uspješno nose i sa korisnicima koji su zabrinuti za svoju privatnost, a ne da seoslanjaju isključivo na eksplicitne podatke ili tehnike za preporuke koje ih koriste, kao što su npr. demografske tehnike preporuka. Što se tiče implicitnih podataka koji se dobijaju praćenjem ponašanja korisnika, postoji zabrinutost da se lični ukusi ili privatne aktivnosti mogu razotkriti (učiniti javnim) kroz preporuke [5]. Korisnici strahuju od stvaranja velikih (i detaljnih) profila potrošača. Da se suoče sa ovim zabrinutostima, sistemi za e-trgovinu moraju pružiti/obezbijediti mehanizme za zaštitu privatnosti [5] i učiniti javnim/transparentnim (obznaniti) koji dobiJa podaci (o korisnicima) se dobijaju i analiziraju. Upotreba i ograničenja skladištenja moraju biti osigurani/obezbijeđeni kroz polise privatnosti [4].

Page 42: Seminar Ski Rad Skraceni

PRIMJENA AGENATA U POSLOVANJU

Tehnički fakultet „Mihajlo Pupin“, Zrenjanin 42

I V P R I M J E R I S I S T E M A Z A K R E I R A N J E P R E P O R U K A

Sisteme za preporuke razvijaju kako same kompanije koje se bave e-trgovinom, tako i nezavisni tehnološki proizvođači, koji nude te sisteme e-kompanijama za kupovinu ili iznajmljivanje. Poslovni model prodavaca tehnologije za kreiranje preporuka je ili da ponude svoje sisteme kao domaćin usluge (na svojim hosting serverima) ili daju daju licencu za svoje sisteme e-commerce kompanijama. Primjeri takvih prodavača tehnologija: ChoiceStream2, Bainote3, EkpertMaker4, Loomia5, Criteo6, SourceLight7 i Collariti8. Veće kompanije koje imaju razvijenu e-trgovinu i e-poslovanje razvijaju sopstvena rješenja sistema za kreiranje preporuka, jer imaju jedinstvene zahtjeve, žele jedinstvene funkcije, ili se bave stavkama za koje proizvodi (softverska tehnologija) nezavisnih proizvođača nije pogodna. Primjeri su: Amazon.com9, Netflik10, Digg11, Internet Movie Database (IMDB)12, Pandora13 i Last.fm14. Dalje se detaljnije opisuju tehnike i upotreba sistema za kreiranje preporuka kod ChoiceStream i Amazon.com.

2 http://www.choicestream.com 3 http://www.baynote.com 4 http://www.expertmaker.com 5 http://www.loomia.com 6 http://www.criteo.com 7 http://www.sourcelight.com 8 http://www.collarity.com 9 http://www.amazon.com 10 http://www.netflix.com 11 http://digg.com 12 http://www.imdb.com 13 http://www.pandora.com 14 http://www.last.fm

Page 43: Seminar Ski Rad Skraceni

PRIMJENA AGENATA U POSLOVANJU

Tehnički fakultet „Mihajlo Pupin“, Zrenjanin 43

4.1. CHOICESTREAM

ChoiceStream je firma koja se bavi personalizacijom i nudi svoju tehnologiju za kreiranje preporuka "RealRelevance Recommendations" kao kompletan servis (sa uključenim hostingom) svim kompanijama koje se bave ili žele da se bave e-trgovinom. Budući da sve različite tehnike za kreiranje preporuka imaju svoje nedostatke i nisu pogodne za sve oblasti primjene, ChoiceStream koristi hibridni sistem baziran na širokom rasponu različititih tehnika koje se biraju i kombinuju u zavisnosti od konkretnog slučaja preporuke [10]. Vrste slučajeva koje pokriva tehnologija ChoiceStream su navedeni u tabeli 4.1.

Vrste slučajeva Definicija

Korisnik sa bogatim profilom Korisnici za koje postoji mnogo podataka (npr. više od 5 transakciJa).

Korisnik sa “prorijeđenim” profilom Korisnici za koje postoji malo podataka (npr. od 0 do 4 transakcije).

Anonimni/novi korisnik Korisnici za koje nema podataka. Popularan sadržaj Stavke u katalogu kompanije za koje može

da se utvrdi da su "najpopularnije". Obično ih je mali broj, ali vrlo velikog obima.

“Mainstream” sadržaj (matični, osnovni, uobičajeni...)

Predmeti/stavke za koje postoje zabelježeni obrasci ponašanja korisnika (na primer, više od 20 transakcija po stavki).

Novi sadržaj Stavke za koje ne postoje prethodno zabilježene transakcije.

Sadržaj sa “dugim repom (tragom)” Stavke u katalogu koje su manje poznate, ali i dalje profitabilne, a za koje postoji određen (manji) broj transakcija u prošlosti.

Optimizacija poslovnog cilja Zahtjev da se maksimalizuje neka druga metrika osim broja transakcija, kao što su prihod, margina, veličina narudžbe...

Tabela 4.1: ChoiceStream – Najčešće vrste slučajeva sa potrebnim različitim algoritmima (Izvor: [10]) Tehnike za kreiranje preporuka koje se koriste od strane ChoiceStream sistema za kreiranje preporuka su [10]:

Kolaborativno filtriranje Koriste se obije vrste kolaborativnog filtriranja (orijentisan na korisnika i orijentisan ka predmetu/stavki).

Kolaborativno filtriranje uz korišćenje višestrukih tabela korelacije Upotreba višestrukih tabela korelacije (npr. broj pregleda ili klikova na neki predmet/stavku plus transakcije) u cilju prevazilaženja problema hladnog starta (vidi pasus 3.2.).

Page 44: Seminar Ski Rad Skraceni

PRIMJENA AGENATA U POSLOVANJU

Tehnički fakultet „Mihajlo Pupin“, Zrenjanin 44

Analiza kohorti Stvaranje grupe/skupova sličnih korisnika, koje/i se nazivaju kohorte, kako bi se kreirale bolje preporuke za korisnike sa oskudnim podacima o rejtinzima/ocjenama (prorijeđenost).

Selektivno filtriranje Selektivnim filtriranjem se najpopularniji predmeti/stavke uklanjaju iz preporuka, tako da oni ne dominiraju i kupci mogu da pronađu/uoče i manje popularne predmete/stavke.

Atributivna korelacija Atributi (svojstva/osobine) predmeta/stavki se koriste da bi se kreirala preporuka na osnovu sadržaja, a u cilju prevazilaženja problema hladnog starta tehnike kolaborativnog filtriranja.

Standardne preporuke Standardne preporuke su krajnja opcija za prikazivanja ako/kad sve druge tehnike zakažu (u kreiranju preporuke).

Optimizacija poslovnog cilja Sa upotrebom funkcije zabilježavanja na duži rok, algoritam za kreiranje preporuka se može prilagoditi tako da, na primjer, preporučuje skuplje predmete/stavke u cilju povećanja prihoda. Tabela 4.2. prikazuje koje tehnike ChoiceStream sistem za kreiranje preporuka koristi u kojim slučajevima.

Vrste slučajeva Kolaborativno filtriranje

Višestruke tabele

korelacija

Analiza kohorti

Selektivno filtriranje

Atributivna korelacija

Standardne preporuke

Zabilježavanje na duži rok

Korisnik sa bogatim profilom

Korisnik sa “prorijeđenim”

profilom

Anonimni/novi korisnik

Popularan sadržaj

“Mainstream” sadržaj

Novi sadržaj

Sadržaj sa “dugim repom

(tragom)”

Optimizacija poslovnog cilja

Tabela 4.2: ChoiceStream sistem za kreiranje preporuka (Izvor: [10])

Page 45: Seminar Ski Rad Skraceni

PRIMJENA AGENATA U POSLOVANJU

Tehnički fakultet „Mihajlo Pupin“, Zrenjanin 45

4.2. AMAZON.COM

Amazon.com, osnovan 1994. godine, je najveća online trgovina u svijetu i jedan od najpoznatijih primjera elektronskog poslovanja koje koristi sisteme za kreiranje preporuka. Amazon intezivno koristi svoj sistem za kreiranje preporuka u cilju bolje i jedinstvene personalizacije svog web sajta. Amazon-ov sistem za kreiranje preporuka koristi tehniku kolaborativnog filtriranja zasnovanog na predmetu/stavki [5, 6, 11]. Taj sistem pretražuje bazu predmeta/stavki u potrazi za predmetima koji su u visokoj korelaciji sa kupljenim i ocijenjenim predmetima/stavkama, pa onda kombinuje pronađene stavke sa visokom korelacijom u listu preporuka [11]. Sistem za kreiranje preporuka se sastoji od online i offline komponente. Offline komponenta kreira matricu predmeta/stavki sa svim sličnim predmetima/stavkama. Online komponenta može zatim da potraži i pronađe (stavke za) preporuke u matrici, kada je potrebno [11]. Za izgradnju matrice korelisanih stavki koristi se funkcija sličnosti da odredi koeficijent korelacije između parova artikala kod kojih postoji tendencija da ih klijenti kupuju zajedno. Ova skupa (resursno zahtjevna) kalkulacija se vrši offline [11, 6]. Online komponenta onda samo mora da pronađe predmete slične onima koje je korisnik već kupio ili ocijenio. Ovo je veoma laka i brza operacija koja se može (efikasno) obaviti online u realnom vremenu. Složenost same operacije zavisi samo od broja predmeta sa kojima je kupac povezan (to jest, koje je kupio ili ocijenio) [11]. Izvođenjem najzahtjevnijih kalkulacija u offline režimu, Amazon-ov sistem za kreiranje preporuka može da se efikasno izbori sa ogromnim skupom podataka od oko 50 miliona kupaca na mjesečnom nivou (samo iz SAD-a) i nekoliko miliona artikala u prodajnom katalogu. Online komponenta je nezavisna od veličine kataloga i broja kupaca [11]. Još jedna korist/prednost kreirane tabele sličnih artikala je da algoritam generiše preporuke višeg kvaliteta za korisnike kod kojih postoji malo podataka o “korisnik-artikal” ocjenama/rejtinzima u odnosu na tradicionalne tehnike kolaborativnog filtriranja [11].

Kupci koji su kupili Na stranica sa informacijama za svaku stavku, Amazon prikazuje i opciju "kupci koji su kupili" koja preporučuje artikle koje često kupuju kupci koji su već kupili izabranu stavku, vidi sliku 4.3. Kao što pokazuje slika 4.4, ta opcija se takođe koristi na stranici sa korisnikovom potrošačkom korpom. Ovo radi kao ekvivalent takozvanim “impulsnim” stavkama u liniji kod naplatnog punkta u supermarketu [11], ali ovdje su te “impulsne” stavke personalizovane za svakog pojedinačnog kupca.

Page 46: Seminar Ski Rad Skraceni

PRIMJENA AGENATA U POSLOVANJU

Tehnički fakultet „Mihajlo Pupin“, Zrenjanin 46

Slika 4.3: Amazon – Artikal sa preporukama

Page 47: Seminar Ski Rad Skraceni

PRIMJENA AGENATA U POSLOVANJU

Tehnički fakultet „Mihajlo Pupin“, Zrenjanin 47

Slika 4.4: Amazon – Potrošačka korpa sa preporukama

Page 48: Seminar Ski Rad Skraceni

PRIMJENA AGENATA U POSLOVANJU

Tehnički fakultet „Mihajlo Pupin“, Zrenjanin 48

Vaše preporuke Na stranici "Vaše preporuke" sve preporuke su izlistane, sa onim preporukama koje su izvedene iz nedavne kupovine na prvom mjestu, vidi sliku 4.3. Oni mogu biti filtrirani po proizvodnoj liniji ili oblasti kojoj proizvod pripada. Korisnici mogu da označe artikle koje već posjeduju ili im nijesu interesantni, a mogu i da ih poređaju po interesantnosti u cilju obezbeđivanja više rejting podataka sistemu za kreiranje preporuka, da bi se dodatno uticalo na ono što biva preporučeno. Takođe je prikazano zašto se neki artikal preporučuje, to jest koji kupljeni artikal je u korelaciJi sa preporučenim artiklom. Osim toga, korisnik može da vidi stranicu sa detaljima za svaku preporuku, na kojoj je prikazanae lista svih korelacija sa kupljenim ili na drugi način ocijenjenim artiklom, vidi sliku 4.5. Amazon podstiče svoje korisnike da poboljšaju podatke o svojim rejtinzima artikala, dajući opciju ocjenjivanja kupljenog artikla na 5-stepenoj skali. Na stranici koja prikazuJe listu svih prethodnih kupovina, artikli mogu biti ocijenjeni, a takođe i isključeni iz kalkulacije preporuka, vidi sliku 4.6.

Page 49: Seminar Ski Rad Skraceni

PRIMJENA AGENATA U POSLOVANJU

Tehnički fakultet „Mihajlo Pupin“, Zrenjanin 49

Slika 4.5: Amazon - Vaše preporuke

1 Preporučeni artikli se mogu označiti kao već kupljeni ili neinteresantni i mogu se ocijeniti 2 Prikazuje se zašto su artikli preporučeni.

Page 50: Seminar Ski Rad Skraceni

PRIMJENA AGENATA U POSLOVANJU

Tehnički fakultet „Mihajlo Pupin“, Zrenjanin 50

Slika 4.6: Amazon - Detalji preporuke

Page 51: Seminar Ski Rad Skraceni

PRIMJENA AGENATA U POSLOVANJU

Tehnički fakultet „Mihajlo Pupin“, Zrenjanin 51

Slika 4.7: Amazon - Vaše kupovine 1Artikli mogu biti ocijenjeni 2Artikli mogu biti isključeni iz kalkulacije sistema za kreiranje preporuka

Page 52: Seminar Ski Rad Skraceni

PRIMJENA AGENATA U POSLOVANJU

Tehnički fakultet „Mihajlo Pupin“, Zrenjanin 52

V Z A K L J UČA K Sistemi za kreiranje preporuka predstavljaju moćnu tehnologiju za personalizaciju. Ako se koristi na pravi način, mogu biti od koristi i potrošačima i preduzecima. Potrošači profitiraju pronalaženjem novih zanimljivih proizvoda a preduzeća mogu povećati svoju prodaju. Kako e-trgovina nastavlja da raste, tehnologije za kreiranje preporuka moraju da se uhvate u koštac sa sve većom količinom podataka. Zato se ovi sistemi i tehnike moraju neprestano dodatno razvijati da zadovolje ovaj izazov u pogledu tačnosti i relevantnosti preporuka, skalabilnosti i performansi. Kolaborativnog filtriranje zasnovano na predmetu/stavki/artiklu se pokazalo kao najbolja tehnika za kreiranje preporuka, u smislu kvaliteta preporuka, skalabilnosti, performansi i sposobnosti učenja [7]. Kombinovano u hibridni sistem sa tehnikama zasnovanim na sadržaju, u cilju prevazilaženja problema hladnog starta, predstavlja najviši domet na polju sistema za kreiranje preporuka koji se koriste danas. Postoje mnoge oblasti za primjenu sistema za kreiranje preporuka, od kojih mnoge imaju svoje posebne zahtjeve koji se ispunjavaju različitim tehnikama. Zato će se (i treba) nastaviti sa razvojem ovih sistema i tehnika, u cilju razvoja još bržih, efikasnijih i korisnijih sistema za kreiranje preporuka, što će imati koristi kako za korisnike tih sistema, tako i za uspjeh kompanija koje se bave elektronskim poslovanjem i trgovinom. Koja će tehnika za kreiranje preporuka najbolje funkcionisati uvijek zavisi od konkretnog slučaja primjene.

Page 53: Seminar Ski Rad Skraceni

PRIMJENA AGENATA U POSLOVANJU

Tehnički fakultet „Mihajlo Pupin“, Zrenjanin 53

B I B L I O G R A F I J A

LITERATURA I IZVORI INFORMACIJA ZA DIO II

Spisak literature i izvora informacija koji su korišćeni pri izradi ovog seminarskog rada: [1] Burke, R. (2002): Hybrid Recommender Systems: Survey and Experiments. U: User Modeling and User-Adapted Interaction, Volume 12, Issue 4 (November 2002), Kluwer Academic Publishers, str. 331–370. [2] Leavitt, N. (2006): Recommendation Technology: Will It Boost E-Commerce?. U: Computer Journal, Volume 39, Issue 5 (May 2006), IEEE Computer Society Press, str. 13–16. [3] Thompson, C. (2008): If You Liked This, You’re Sure to Love That. U: The New York Times Magazine (November 21, 2008), http://www.nytimes.com/2008/11/23/magazine/23Netflix-t.html [4] Schafer, J. B. et al. (2001): E-Commerce Recommendation Applications. U: Data Mining and Knowledge Discovery, Volume 5, Issue 1-2 (January–April 2001), str. 115–153. [5] Kim, J. (2006): What is a recommender system?. U: Proceedings of Recommenders06.com (2006), str. 1-21 [6] McCrae, J. et al. (2004): Collaborative Filtering. http://www.imperialviolet.org/suprema.pdf [7] Candillier, L. et al. (2009): State-of-the-Art Recommender Systems. U: Collaborative and Social Information Retrieval and Access (2009), Idea Group Inc, str. 1–22. [8] Adomavicius, G.; Tuzhilin, A. (2004): Recommendation Technologies: Survey of Current Methods and Possible Extensions. Working paper, Stern School of Business, New York University. [9] Burke, R. (2007): Hybrid Web Recommender Systems. U: Lecture Notes in Computer Science (2007), Springer Berlin/Heidelberg, str. 377–408 [10] ChoiceStream, Inc.: Personalization Technology Brief. http://www.choicestream.com/resources/ [11] Linden, G. et al. (2003): Amazon.com Recommendations: Item-to-Item Collaborative Filtering. U: IEEE Internet Computing, Volume 7, Issue 1 (January/February 2003), str. 76–80. [12] Rose, K. (2008): Recommendation Engine Announcement. http://blog.digg.com/?p=127 [13] Kast, A. (2008): Digg Recommendation Engine White Paper. http://digg.com/whitepapers/recommendationengine