disertacija
Programming languages for autopoiesis facilitating semantic wiki systems

Markus Schatten (2010)
Sveučilište u Zagrebu
Fakultet organizacije i informatike Varaždin
Podaci o radu
NaslovProgramming languages for autopoiesis facilitating semantic wiki systems
AutorMarkus Schatten
Voditelj/MentorMirko Čubrilo (mentor)
Miroslav Bača (sumentor)
Sažetak rada
Wiki sustavi, progresivna tehnologija kojoj u njezinim počecima neki poznati stručnjaci nisu predvidjeli svijetlu budućnost, danas su u širokoj upotrebi. Sustavi koji svakom pridošlici omogućavaju da na njima ostavi traga, razvijaju se autopoietično u sve impresivnije i impresivnije repozitorije znanja. Možda najpoznatiji primjer takvog sustava, Wikipedia, otvorena enciklopedija Interneta u vrijeme pisanja ovog teksta u svojoj engleskoj inačici broji preko 2.2 milijuna članaka, koje su ljudi širom svijeta postavili na sustav, a postoje inačice za gotovo sve svjetske jezike. Ipak, čini se da su wiki sustavi došli do svoje granice rasta. Sve je češće i češće slučaj da se na različitim sustavima pokušavaju definirati pravila ponašanja, pravila organiziranja znanja, pravila dodavanja metapodataka primarno u svrhu jednostavnijega pretraživanja i izvođenja zaključaka iz ovih ogromnih repozitorija (uglavnom) tekstualnih podataka. Napori poput semantičkih wiki sustava, koji u tradicionalne (obične) wiki sustave pokušavaju dodati semantičku komponentu čini se u potpunosti zanemaruju jedan od osnovnih razloga nevjerojatnog uspjeha ove vrste sustava. Wiki sustavi su jednostavni za korištenje i stoga ih koristi širok spektar ljudi. Korisnici imaju vrlo različita shvaćanja tehnologije koja variraju od vrhunskih stručnjaka za informacijsku tehnologiju do laika. Dakako, da distribucija korisnika naginje onima manje vičnim informacijskim tehnologijama. Upravo zbog toga uvođenje naprednih koncepata poput semantičkih tehnologija uvelike ograničava primjenjivost takvih sustava jer od običnih korisnika traži relativno dobro poznavanje takvih tehnologija. Kao što je prethodno napomenuto, wiki sustavi razvijaju se autopoietično, za razliku od tradicionalnih alopoietičnih (tehničkih) informacijskih tehnologija. Autopoiesis očitava se upravo u činjenici da korisnici svojim sudjelovanjem na sustavu stvaraju taj sustav, šire ga, unaprijeđuju ga novim i novima sadržajima, pravilima i definicijama. Postavlja se pitanje je li moguće koncept semantičkog weba "ugraditi" u wiki sustave, a da se pri tome zadrži njihova početna jednostavnost? Jedna druga vrsta suvremenih Web 2.0 sustava na koje želimo ovdje ukazati su sustavi za društveno označavanje (engl. social tagging). Oni su danas sve češće u upotrebi, a koriste upravo organizaciji znanja pojedinog korisnika (engl. personal information management - PIM; personal knowledge management - PKM). Takvi sustavi svojim korisnicima omogućavaju da postavljaju oznake (engl. tag) na bilo koji sadržaj na koji nailaze na webu. Impresivni su takvi sustavi iz perspektive pretraživanja. Naime dok poznate tražilice pretražuju web naprednim algoritmima, sustavi za društveno označavanje koriste jednostavno oznake koje su postavili korisnici. Sustavi za društveno označavanje često pronalaze relevantnije podatke od naprednih tražilica jer dolazi to tzv. Delfi efekta prema kojem je prosječno mišljenje nekog podskupa ljudi bolji prediktor od mišljenja jedne nasumice odabrane osobe. Još jedno pitanje koje ovdje valja postaviti jest pitanje suvremenih organizacija i posebice njihovih informacijskih sustava. Suvremene organizacije danas su otvorene, adaptibilne, heterarhijske i virtualne. Je li moguće iskoristiti suvremene informacijske tehnologije kako bi se podržale potrebe suvremenih organizacija za adaptibilnošću, otvorenošću, heterarhiji i virtualnošću? U ovom ćemo radu pokušalo se, pa makar djelomično, odgovoriti i na to pitanje, na koje suvremeni (rigidni, alopoietski postavljeni) informacijski sustavi ne daju odgovor. Web usluge (engl. web services) danas su način na koji je putem mreže moguće koristiti usluge raznih organizacija. Semantičkim opisom takvih usluga pokušava se omogućiti automatizirano računalno korištenje takvih usluga. Je li integracijom ove tehnologije i gore navedenih moguće podržati potrebe suvremenih organizacija? U ovom radu krenulo se pristupom objektno-orijentiranog semantičkog modeliranja te su tako dobivena saznanja stavljena u autopoietični kontekst. Osnovni ciljevi bili su: (1) da sustav autopoietično generira formalizirano znanje nad kojim se može računalno rezonirati, (2) od prosječnog korisnika očekuje se nikakvo ili minimalno poznavanje semantičkih tehnologija, (3) sustav se treba autopoietično razvijati kako na području vlastitog sadržaja tako i na području vlastite funkcionalnosti (za razliku od tradicionalnih wiki sustava koji se razvijaju u pravilu isključivo na području sadržaja). Pretpostavljeno je da je svijet kojeg korisnici na sustavu opisuju jedan skup objekata koji su u međusobnim relacijama i raznim interakcijama. Može se reći da je "osnovna jedinica" sustava objekt. Svaki objekt potencijalno ima svoje relacije s drugim objektima i niz metoda kojima reagira na podražaje (poruke) od drugih objekata. Relacije se ponekad u kontekstu objektno-orijentiranog pristupa nazivaju i atributima radi jednostavnosti implementacije iako je riječ o relaciji sadržavanja. U radu je također primjenjen takav pristup radi jednostavnosti te se atributima smatraju objekti koji su jednostavni znakovni nizovi dok će svi ostali objekti biti vezani relacijama. Podskupove skupa svih objekata nazivamo ekstenzijom nekog koncepta ukoliko postoji jasna intenzija (definicija, pravilo) koncepta po kojem jednoznačno možemo svaki objekt klasificirati bilo kao člana ekstenzije koncepta, bilo kao člana komplementarnog skupa ekstenziji. Koncepti se još nazivaju tipovima ili klasama te ćemo ta tri naziva u daljnjem razmatranju smatrati sinonimima. Možemo reći da se svaki koncept sastoji od svoje intenzije (definicije), ekstenzije (skupa svih objekata na koje je koncept primjenjiv) i svog simbola (oznakom kojom označavamo taj specifični koncept). Ako se promotri wiki sustav iz perspektive semantičkog modeliranja može se reći da postoje tri osnovna koncepta na kojima je moguće temeljiti razmatranje, a to su: (1) stranica, (2) osoba i (3) wiki sustav (koji uključuje sam sustav, sve njegove članke odnosno stranice i korisnike). Uvedena je sljedeća pretpostavku: neka je svaki objekt tipa stranica generički objekt (u kontekstu modeliranja znanja često označen simbolom Thing). Neka sada svaki korisnik sustava može označavati stranice na sustavu postavljajući oznake u obliku uređenih parova atribut:vrijednost. Na taj način korisnici specijaliziraju svaki generički objekt u neku (novu) klasu objekata. Također, neka. atribut i vrijednost mogu biti i neka od ključnih riječi poput class, inherits, relation, rule i sl. poznatih iz objektno-orijentiranih programskih jezika. Na taj način korisnik potencijalno može još uže specijalizirati svoje mišljenje (znanje) o stranici (objektu). Na taj je način podržano dodavanje atributa pojedinom objektu kao i njegovo određivanje koje se tiče klase u koju pripada. Primjerice ako neki korisnik na neku stranicu postavi oznaku class:avion to znači da taj korisnik tu stranicu više ne smatra člankom već opisnikom objekta, tipa. "avion". Također, svaki korisnik može i potvrditi postojeću oznaku čime se vjerodostojnost oznake povećava. Wiki sustavi po svojoj standardnoj sintaksi omogućavaju povezivanje svake stranice s drugim stranicama kako na samom sustavu tako i izvan njega, putem hiperveza. Možemo reći da je ovdje riječ o relacijama s drugim objektima. Pretpostavlja se dakle da svaki korisnik može na svaku stranicu dodavati hiperveze na druge stranice u obliku relacija. : naziv_objekta pri čemu može biti riječ o stranicama na samom sustavu (koje su onda tipa stranica ili nekog specijaliziranijeg tipa) ili eksternim stranicama (pri čemu uvodimo tip external resource). Neka, također svaki korisnik može potvrditi vezu kao i kod atributa odnosno označavanja čime se vjerodostojnost relacije povećava. Pretpostavlja se nadalje da svaki korisnik može svakoj stranici nadodati web uslugu ili neku drugu vrstu skriptne ekstenzije koja proširuje funkcionalnost stranice te takve dodatke nazivamo metodama. Neka je svaka takva metoda semantički opisana pomoću standardnog obrasca i svog opisnika (primjerice engl. WSDL - Web Service Definition Language). Svaka se metoda, kao i u prethodna dva slučaja može potvrditi od drugih korisnika, čime se povećava njezina vjerodostojnost. Zaključno možemo reći da smo ovako koncipiranim sustavom u stanju podržati dinamično kreiranje klasa, objekata, njihovih atributa, metoda i relacija. Konkretno, moglo bi se reći daje riječ o dinamički kreiranoj ontologiji, dakle formalizaciji određene aplikacijske domene. Pozabavimo se sada vjerodostojnošću (istinitošću) informacija koje korisnici pospremaju u sustav. Kako bi to učinili potrebno je prethodno opisati koncept organizacije ribarske mreže kao i mogućnosti podržavanja takvog koncepta informacijskom tehnologijom. Riječ je o konceptu koji pokušava iskoristiti najbolje od dvaju poznatih koncepata iz organizacijske teorije, hijerarhije i heterarhije odnosno mrežne strukture. Ako promatramo ribarsku mrežu na obali ona se čini potpuno heterarhijskom, svi su čvorovi istovjetni i na jednakoj razini. No primimo li jedan čvor i uzdignemo ga dinamički oko njega nastaje hijerarhija pri čemu je odabrani čvor na vrhu. Primimo li drugi nastaje druga itd. Na taj način dinamički možemo stvarati nove i uništavati stare hijerarhije. Postavlja se pitanje kako podržati takav koncept informacijskom tehnologijom. Pretpostavimo da imamo sustav na kojem se vodi niz projekata neke organizacije (ili općenito nekog socijalnog sustava) pri čemu svaki projekt ima svoj vlastiti autopoietični semantički wiki sustav. Moglo bi se reći da svaki projekt definira svojevrsnu aplikacijsku domenu. Sama funkcionalnost tog sustava u ovom trenutku nam nije bitna, nego nam je bitan mehanizam kojim ćemo pronaći najadakvatniju osobu za pojedini projekt koja se svojim znanjima i sposobnostima ističe te time postaje vođa. Kako bi objasnili taj mehanizam potrebno je objasniti PageRank algoritam kojeg koristi poznata tražilica Google pri rangiranju stranica koje se pretražuju. Algoritam analizira web stranice brojeći ulazne i izlazne veze svake stranice. Svaka veza koju neka stranica ima prema nekoj drugoj stranici smatra se glasom potpore te stranice za stranicu na koju pokazuje. Sve se stranice inicijalno postavljaju na određeni rank koji je jednak 1/N pri čemu je N broj stranica koje se analiziraju. Ako neka stranica kojim slučajem pokazuje na više stranica tada se njezin glas dijeli tako da svaka stranica dobiva n-ti dio njezinoga glasa (ako je n broj stranica na koje stranica pokazuje). Sada se do određene preciznosti analizira tako postavljena mreža stranica zbrajanjem ulaznih veza svake stranice i prosljeđivanjem novih vrijednosti na druge stranice. Na taj način dobije se rank za svaku stranicu, ta što je on veći to ta stranica ima veću "potporu" drugih stranica. Taj se rank može nazvati i vjerojatnošću kojom će neki korisnik nasumice obilazeći stranice u zadanoj mreži odabrati upravo zadanu stranicu. Page rank mreža ustvari predstavlja Markovljev lanac u kojem su stranice stanja, a tranzicije (koje su sve jednako vjerojatne) veze između tih stranica. Postavimo sad taj algoritam u kontekst jedne socijalne mreže, dakle mreže ljudi, odnosno konkretno mreže članova nekog projekta ili aplikacijske domene. Dajemo svim članovima projekta mogućnost da glasuju za druge korisnike za koje smatraju da su najadekvatniji za vođu projekta. Ako sada glasove promatramo kao veze na druge stranice tada primjenom PageRank algoritma dinamički dobivamo hijerarhiju članova na određenom projektu. Uvišestručavanjem ovog algoritma (stoga i više različitih projekata) u stvari podržavamo koncept ribarske mreže. PageRank algoritam ima još jednu zanimljivu odliku koju ćemo primijeniti u daljnjem izlaganju. Naime, zbroj svih rankova svih čvorova u mreži je jednak 1 što je dakako korisno u kontekstu teorije vjerojatnosti. Vratimo se sada na istinitost pojedinih informacija u autopoietičnom semantičkom wikiju. Pretpostavimo da je svaka oznaka koju neki korisnik postavi ponderirana njegovim rankom. Ovakav je ponder opravdan jer rank na neki način iskazuje uvjerenje drugih članova da će dotični član učiniti pravu stvar, što lako možemo povezati s definicijom znanja: "Znanje je istinito vjerovanje". Oznake se akumuliraju, dakle svaka se oznaka može postaviti i više puta od različitih članova. Zbrajanjem pondera dobivamo vjerojatnost koja iskazuje uvjerenje članova projekta da je informacija točna. Sada kad imamo brojčani iznos vjerojatnosti možemo i logički formalizirati znanje u tako dinamički kreiranoj ontologiji. Jasno je da ontologiju možemo opisati nekim od jezika, za ontologije (npr. F-Logika - engl. frame logic, f-logic, Deskripcijska Logika - engl. description logic) pri čemu se na ovom mjestu odlučujemo za logiku temeljenu na okvirima odnosno F-Logiku. Potrebno je za odabrani jezik izvesti shemu anotacije vjerojatnosti što će biti učinjeno u radu. No, što je u slučaju ako zaključke želimo izvoditi iz više različitih ontologija, što je opravdano pitanje. Naime, ako kao što smo pretpostavili imamo niz projekata na kojima se dinamički stvaraju ontologije tada je visoka vjerojatnost da će nam ponekad biti potrebno znanje iz više različitih područja. Primjerice, recimo da se jedan projekt bavi vinima, drugi receptima i treći gastronomskom ponudom nekog područja. Vrlo jednostavno može se dogoditi da netko postavi upit "U kojem restoranu mogu popiti vino koje najbolje ide uz određenu vrstu ribe, a da pri tome ne platim više od 200 kn?" Agent koji pokušava odgovoriti na to pitanje mora prvo pronaći nazive recepata koji sadrže tu određenu vrstu ribe, zatim mora pronaći vina koja idu uz navedene recepte i na kraju pretražiti restorane koji neku od kombinacija imaju u svojoj gastronomskoj ponudi uz odgovarajuću cijenu. Za spajanje različitih izvora znanja postoji princip amalgamacije izvora znanja. U radu bi se taj koncept pokušao primijeniti na ovako načinjen sustav ponderiranjem vjerojatnosti pojedinih izraza s izvedenicom broja članova na pojedinom projektu. U ovom radu izvedena je formalizacija koja povezuje wiki sustave, semantički web, mrežne usluge, društveno označavavanje i socijalne mreže. Uz to opisan je i jedan jezik iz koji je nazvan Niklas (prema poznatom Niklasu Luhmanu koji je prvi uveo pojam autopoiesisa u društvene znanosti). Konkretno, istražene su mogućnosti primjene dobro formaliziranih koncepata iz semantičkog weba i semantičkih mrežnih usluga u autopoietičnom kontekstu wiki sustava uz pripomoć društvenog označavanja i socijalnih mreža kao što je prethodno opisano. Prvo su objašnjeni i formalizirani jezici za (obične) wiki sustave. U tom kontekstu bilo je potrebno opisati niz formalizacija sintakse koje se u takvim jezicima koriste poput hiperveza, slika i raznih drugih dodataka, poglavlja, formatiranja teksta, tablica, varijabli i predložaka. Nakon formalizacije jezika za wiki sustave opisani su jezici za semantičke wiki sustave koji su određeno proširenje prethodno opisanih jezika. U tu svrhu bilo je potrebno opisati i formalizirati sintaksu i konkretno koncepte poput atributa i relacija, konverzija, semantičkih predložaka i mrežnih usluga. Pri tome se koristila logika, temeljena na okvirima (F-logika) kao jezik za formalizaciju. Na kraju su semantički wiki sustavi stavljeni u autopoietični kontekst. Bilo je potrebno izvesti anotaciju vjerojatnosti na prethodno definirane jezike obzirom na socijalnu mrežu kao i amalgamacijsku shemu kako bi se omogućila integracija izvora znanja. Na kraju je prikazan niz primjera mogućih autopoietičnih aplikacija kako bi se poduprla teza o korisnosti prethodno izvedene formalizacije. Najvažniji primjer jest konstrukcija autopoietičnog sustava za sigurnost osobnih računala. Osnovna ideja je izgraditi autopoietični semantički wiki sustav o osnovnim prijetnjama osobnim računalima (poznatih pogrešaka) te ih povezati s potrebnim zakrpama. Na taj način bi se omogućila svojevrsna baza znanja o prijetnjama i rješenjima te time i razvoj aplikacija za korištenje takve baze. Uz navedeni prikazani su i sustav za autopoietičnu znanstvenu konferenciju ili časopis te autopoietični sustav za upravljanje znanjem u organizaciji. Glavni cilj ovog istraživanja bio je na jednom mjestu ukazati na teoriju i primjenu autopoiesisa u informacijskim znanostima s posebnim naglaskom na korisnost drukčijeg pristupa semantičkim wiki sustavima. Htjelo se pokazati da su wiki sustavi u načelu autopoietični zbog svoje jednostavnosti korištenja od strane društvenog sustava koji ih okružuje, a ta se jednostavnost gubi uvođenjem kompleksnih semantičkih tehnologija. Svojevrsnim skrivanjem semantičkih tehnologija u pozadinu sustava te uvođenjem drugih društvenih tehnologija poput društvenog označavanja i društvenih mreža pokušao se dokinuti taj jaz između semantičkih tehnologija i wiki sustava. Hipoteze ovog istraživanja, koje su u radu i potvrđene, bile su sljedeće: HIPOTEZA 1. Na temelju formalizacije jezika, za wiki sustave i jezika za semantičke wiki sustave te uvođenja koncepta organizacije ribarske mreže moguće je izvesti anotacijsku shemu vjerojatnosti u takve jezike po uzoru na druge logičke programske jezike. Anotacijska shema izvedena je uz pomoć sintaske logike temeljene na okvirima. HIPOTEZA 2. Na temelju sheme za anotaciju vjerojatnosti u jezike za semantičke wiki sustave te na temelju uvođenja analize društvenih mreža u wiki sustave i semantičke wiki sustave moguće je izvesti amalgamacijsku shemu za takve jezike po uzoru na druge logičke programske jezike. Amalgamaeijska shema izvedena je uz pomoć integracije društvenih mreža. HIPOTEZA 3. Na temelju sheme za anotaciju vjerojatnosti i sheme za amalgamaciju moguće je izvesti novu vrstu jezika za autopoietične semantičke wiki sustave. Pri tome je formalizirana sintaksa i semantika novog jezika koji je svojevrsna kombinacija anotirane i amalgamirane logike temeljene na okvirima i prikaznih jezika za wiki sustave. Iz navedenog jasno je da se znanstveni doprinos ovog rada sastoji od eksplicitne formalizacije (običnih) wiki sustava, formalizacije jezika za semantičke wiki sustave, uvođenja semantičkih mrežnih usluga u semantičke wiki sustave te uvođenja objektno orijentiranog pristupa u formalizaciju jezika za semantičke wiki sustave. Osnovni doprinos ogledava se u razvoju novog jezika za autopoietične semantičke wiki sustave uvođenjem koncepata dobivenih iz društvenog označavanja i analizom socijalnih mreža odnosno konkretno uvođenjem anotacije tako dobivenih vjerojatnosti i odgovarajuće amalgamacijske sheme te na kraju primjene koncepta autopoiesisa u kontekstu informacijskih sustava. Uz navedeno opisana je jedna implementacija takvog jezika utjelovljena u jeziku niKlas. Iz društvene perspektive otvara se čitav niz mogućnosti za razvoj novih vrsta aplikacija temeljenih na podržavanju autopoiesisa društvenog sustava. Naime, krajnji proizvod tj. aplikacija TAOPIS koja podržava autopoietične semantičke wiki sustave razvija se prema načelima paradigme otvorenog koda i dana je zajednici na besplatno korištenje.
Ključne riječiprogramski jezik autopoiesis semantički web društvene mreže wiki logika temeljena na okvirima
Naslov na drugom jeziku (hrvatski)Programski jezici za semantičke wiki sustave koji potiću autopoiesis
Povjerenstvo za obranuMirko Maleković (predsjednik povjerenstva)
Mirko Čubrilo (član povjerenstva)
Miroslav Bača (član povjerenstva)
Michael Kifer (član povjerenstva)
Vladimir Mateljan (član povjerenstva)
Ustanova koja je dodijelila akademski/stručni stupanjSveučilište u Zagrebu
Fakultet organizacije i informatike Varaždin
MjestoVaraždin
Država obraneHrvatska
Znanstveno područje, polje, granaDRUŠTVENE ZNANOSTI
Informacijske i komunikacijske znanosti
UDK004
OPĆENITO
Računalna znanost i tehnologija. Računalstvo. Obrada podataka
Vrsta studijasveučilišni
Stupanjposlijediplomski doktorski
Naziv studijskog programaInformacijske znanosti
Akademski / stručni nazivdoktor/doktorica znanosti, područje društvenih znanosti, polje informacijske i komunikacijske znanosti
Kratica akademskog / stručnog nazivadr.sc.
Vrsta radadisertacija
Jezik engleski
Datum obrane2010-02-12
Ključne riječi na drugom jeziku (engleski)programming language autopoiesis semantic web social network wiki frame logic
Verzijaobranjena verzija
Vrsta resursatekst
Prava pristupaRad u otvorenom pristupu
Uvjeti korištenja radahttp://rightsstatements.org/vocab/InC/1.0/
URN:NBNhttps://urn.nsk.hr/urn:nbn:hr:211:648175
PohranioLadislav Cvetko