Wiki S Podporou Zpracování Sémantiky
Total Page:16
File Type:pdf, Size:1020Kb
MASARYKOVA UNIVERZITA F}w¡¢£¤¥¦§¨ AKULTA INFORMATIKY !"#$%&'()+,-./012345<yA| Wiki s podporou zpracování sémantiky DIPLOMOVÁ PRÁCE Bc. Jakub Talaš Brno, podzim 2010 Prohlášení Prohlašuji, že tato diplomová práce je mým p ˚uvodnímautorským dílem, které jsem vypra- coval samostatnˇe.Všechny zdroje, prameny a literaturu, které jsem pˇrivypracování použí- val nebo z nich ˇcerpal,v práci ˇrádnˇecituji s uvedením úplného odkazu na pˇríslušnýzdroj. Vedoucí práce: RNDr. Tomáš Gregar ii Podˇekování Chtˇelbych podˇekovatRNDr. Tomáši Gregarovi za odborné vedení. Rodiˇc˚umza podporu bˇehemstudia a všem ostatním, kteˇríjakkoliv napomohli vzniku této práce. iii Shrnutí Sémantické technologie prodˇelalyv posledních letech bouˇrlivývývoj. Novým cílem sou- ˇcasnýchsnah je pˇredstavitjejich výhody a pˇrivéstje i k bˇežnémuuživateli. Jednou z cest nabývajících na významu je nenásilná a vhodná integrace sémanticky zpracovávaných dat do známých systém ˚ua aplikací – operaˇcních systém ˚u,wiki, systém ˚upro správu obsahu apod. Moje diplomová práce se zabývá zapojením sémantických dat do wiki systému Trac a jejich využití pˇredevšímv oblasti project managementu a e-learningu. iv Klíˇcováslova sémantický web, wiki, Trac, XML, RDF, project management, Python v Obsah 1 Úvod ............................................. 1 2 Motivace pro sémantický web .............................. 3 3 Technologie sémantického webu ............................. 5 3.1 Sémantika dat ..................................... 5 3.2 Ontologie ........................................ 6 3.3 Resource Description Framework (RDF) ...................... 8 3.4 Úložištˇesémantických dat .............................. 10 3.4.1 SPARQL . 11 3.4.2 Sesame . 12 3.5 Wiki systémy ..................................... 13 3.6 Trac ........................................... 14 3.6.1 Deep Thought . 15 4 Sémantická data v souˇcasnýchnástrojích ........................ 16 4.1 Sémantické wiki .................................... 16 4.2 Další projekty se sémantikou ............................ 20 4.3 Shrnutí ......................................... 22 4.3.1 Požadavky na sémantické wiki . 23 5 Analýza Tracu a Deep Thought .............................. 25 5.1 Sémantický e-learning ................................ 25 5.2 Základní struktura sytému Trac ........................... 26 5.2.1 Rozdíly mezi Trac a Deep Thought . 28 5.3 Trac API ........................................ 28 5.4 Webové technologie v rámci Trac .......................... 30 5.5 Analýza návazností pluginu na Trac ........................ 30 6 Vývoj a využití Semantic Extension ........................... 32 6.1 Výbˇerpoužitého software .............................. 32 6.2 Používané ontologie ................................. 33 6.3 Použití a funkce programu .............................. 35 6.4 Vnitˇrnístruktura pluginu .............................. 36 6.4.1 Hlavní komponenta SemanticExtensionPlugin ........... 36 6.4.2 Makro SemexCommon ............................ 38 6.4.3 Makro Semex ................................. 38 6.5 Nasazení a další rozvoj ................................ 40 7 Závˇer ............................................. 42 Literatura . 44 A Postup nasazení Semantic Extension .......................... 45 A.1 Konfigurace Sesame 2 ................................ 45 A.2 Instalace Trac 0.12 a jeho spuštˇení .......................... 46 A.3 Zasazení Semex do infrastruktury ......................... 46 B Wiki systémy se sémantikou a bez ní .......................... 48 vi C Sémantická úložištˇe .................................... 49 D Ontologie použité v Semex ................................ 50 E Snímky obrazovek ..................................... 51 F Struktura archívu práce .................................. 54 vii Kapitola 1 Úvod Rozmach takzvaných sémantických technologií v první dekádˇejednadvacátého století pˇri- nesl nové pohledy na práci s informacemi. Sémantika, tedy nauka o významu dat, jeho vy- jádˇrení,zpracování a využívání, zaˇcínápronikat z akademické sféry do širšího povˇedomí, z teorie do praktického užívání. Informace dnešního webu jsou zacíleny pˇredevšímna lidské uživatele. Takzvaný sémantický web je model sít’ové služby podobné souˇcasnémuwebu, avšak postaven mnohem více na strojovˇeˇcitelných datech. Ta mohou být zpracována po- ˇcítaˇcia v koneˇcném d ˚usledkupˇredloženaˇclovˇekujako informace v pˇresnˇejšía jednodušší podobˇe. Základní technologie pro podporu sémantického webu už existují ˇradulet. Umíme více ˇciménˇedobˇresémantická data získat, vyˇcistita zpracovat, uložit i použít. V dnešní dobˇesto- jíme pˇredevšímpˇredúkolem pˇrinéstvytvoˇrenétechnologie mezi bˇežnéuživatele Internetu. Ti jsou ˇcastovelmi konzervativní a nestojí o zmˇenyzp ˚usob˚upráce. Proto se v poslední dobˇe prosazuje myšlenka preferovat uživatelskou pˇrívˇetivostpˇredformální korektností a úpl- ností. Souˇcasnýsmˇerse orientuje na uživatele a hledá zp ˚usoby, jak integrovat výhody sé- mantického webu s existujícími nástroji – prohlížeˇci,wiki systémy, systémy pro správu ob- sahu, e-learningovými aplikacemi i celými operaˇcnímisystémy. Dobrým testovacím prostˇredímpro nasazování nových metod jsou vzdˇelávacíinstituce. Masarykova univerzita byla vždy na jedné z pˇredníchpozic v zavádˇeníe-learningu v Ceskéˇ republice[1]. V posledních letech probˇehlona Fakultˇeinformatiky nˇekolikvýzkumných pro- gram ˚uzamˇeˇrenýchna využití sémantiky dat ve vzdˇelávání.V jejich rámci probˇehlvývoj napˇr.v oblasti získávání sémantických dat, jejich anotaci a ukládání. Moje diplomová práce se zamˇeˇrujena integraci sémantiky do wiki systém ˚ua její praktic- kou implementaci do systému Trac. Jde o populární webovou aplikaci zamˇeˇrenouna pod- poru vývoje a prezentace softwarových projekt ˚u.Její fakultní instalace Deep Thought je sou- ˇcástíširšího ekosystému program ˚upoužívaných na fakultˇek podpoˇrevýuky. Pˇredevším v kurzech Moderní znaˇckovacíjazyky, Programování v jazyce Java a pˇrizávˇereˇcnýchpra- cích student ˚u.Praktická ˇcástdiplomové práce pˇridávásémantiku založenou na jazyce zva- ném RDF (Resource Description Framework) a sémantickém úložišti Sesame 2 do wiki, která je souˇcástíTracu. Její rozšiˇritelnosta otevˇrenáveˇrejnálicence ovšem slibuje v budoucnu roz- sáhlejší možnosti použití i za hranicemi potˇrebzmínˇenýchkurz ˚u. Motivaci k vyvíjení a studování právˇesémantiky uvedu v následující kapitole Motivace pro sémantický web. Dále ve tˇretíkapitole popíšu nˇekolikklíˇcovýchtechnologií a postup ˚u použitých k dosažení cíle. Ve ˇctvrté navazuji zhodnocením souˇcasnýchsémantických wiki 1 1. ÚVOD systém ˚ua dalších pˇríklad˚uuživatelsky pˇríjemnéhovyužití sémantiky. Pátá kapitola popi- suje projekty Trac a Deep Thought, jejich souˇcásti,rozdíly, návaznosti a aplikaˇcníprogra- movací rozhraní (API). Šestou kapitolu vˇenujipopisu samotného vývoje a použití praktické ˇcásti– rozšíˇrení Trac Semantic Extension. Rozeberu jeho jednotlivé souˇcásti,jejich využití a možnosti rozšíˇrení.V závˇereˇcné sedmé kapitole se zamýšlím nad souˇcasnýmitrendy a dal- ším rozvojem technologií v oblasti sémantiky nejen na Masarykovˇeuniverzitˇe. 2 Kapitola 2 Motivace pro sémantický web Souˇcasnýweb si dobyl rozhodující pozici mezi ostatními internetovými službami a jen má- lokdo si bez nˇejdovede dnešní svˇetpˇredstavit.Jedním z problém ˚uje však rozsáhlost a neu- spoˇrádanostjeho obsahu. Jím komplikuje uživatel ˚umorientaci a vyžaduje od nich vˇenovat pozornost i zbyteˇcnýminformacím. S myšlenkou pˇridánísémantiky k obsahu (jako cesty k pozvednutí úrovnˇesouˇcasnéhowebu) pˇrišelTim Berners-Lee[2]. K tomu je potˇrebapˇrede- vším sémanticky oznaˇckovatstávající data. Bývají ˇcastouložena ve špatnˇestrukturovaných nebo neformalizovaných a nestandardizovaných formátech – HTML, obrázcích, textových souborech i r ˚uznýchproprietárních formátech, at’ už založených na XML, nebo binárních. Vize sémantického webu pˇrinášímožnost inteligentního získávání pˇresnˇejšíchinformací s ohledem na kontext a okamžitou aktualizaci obsahu v závislosti na zmˇenáchv séman- tických datech, ze kterých obsah vychází. Pˇríkladembudiž tˇrebaseznam 10 nejlidnatˇejších mˇestv Ceskéˇ republice na Wikipedii1 nebo jiné populární informaˇcníslužbˇe.V souˇcasné dobˇeje tˇrebaudržovat takový seznam manuálnˇea pˇrizmˇenáchjej adekvátnˇeaktualizovat. Pˇrestose nabízí elegantnˇejšíˇrešení,vytvoˇreníautomatického seznamu a jeho okamžitou re- flexi pˇrizmˇenách.Pokud by v nˇejakédatabázi existoval seznam mˇesta poˇctujejich obyvatel, bylo by jednoduché se pˇripožadavku na tuto stránku dotázat na mˇestaumístˇenav Ceskéˇ republice a jejich poˇcetobyvatel. Z nich by bylo automaticky vybráno deset nejlidnatˇejších a výsledek by byl vrácen stránce. To je pˇrínos,který právˇesémantický web umožˇnuje. Popsaná procedura je však bˇehna dlouhou trat’ vyžadující kooperaci nˇekolikaodlišných souˇcástí.Zejména je tˇrebamít informace v sémantické formˇedostupné. Jelikož chceme po- užít i kvanta sémantiky prostých existujících dat, je tˇrebazajistit jim takzvanou anotaci. To je proces pˇriˇrazovánípˇredevšímslov a frází, ale také obrázk ˚ua jiných multimediálních for- mát ˚utakzvaným ontologickým pojm ˚um.Na ontologie lze nahlížet jako na explicitní popis urˇcitédomény, ˇcástilidského svˇeta,s jejími termíny a vztahy mezi nimi. Ontologie tedy tvoˇrí znalostní bázi dané domény. Anotaci ontologických pojm ˚uv textu jsem se vˇenovalve své bakaláˇrsképráci2. Pro tyto potˇrebydnes existuje pomˇernˇeširoká škála více ˇciménˇedobˇre zvládnutých a funkˇcníchnástroj ˚u.Pˇriprocesu anotace se získané