Datorer och kunskap - Den semantiska webben Robert Herber



Relevanta dokument
Olle Olsson. SICS ( ) W3C ( ) ) BeyondIT Page 1

Introduction to the Semantic Web. Eva Blomqvist

Internets historia Tillämpningar

TNMK30 - Elektronisk publicering

Råd gällande vokabulärer för kommuners och landstings arbete med länkade öppna data


Individuellt Mjukvaruutvecklingsprojekt

Kunskapsgraf. Fredrik Åkerberg Tommy Kvant 1 Introduktion. 2 Relaterade projekt.

Affärsmodeller och samarbete på framtidens Internet

Att söka information (med betoning på Internet)

Slutrapport för JMDB.COM. Johan Wibjer

Web Crawlers. TDTS09, Datornät och internetprotokoll. Denis Golubovic Fredrik Salin Linköpings universitet Linköping

Öppnaskönlitteraturen, visa författarna! BOKSAMPO FSBF :s årskonferens i Korsholm


Projekt Rapport. RaidPlanner. Jeanette Karlsson UD10

SICS Swedish Institute of Computer Science

Internet. En enkel introduktion. Innehåll:

Optimering av webbsidor

Webbteknik. Innehåll. Historisk återblick Teknisk beskrivning Märkspråk Standardisering Trender. En kort introduktion

Semantiska webben och sökmotorer Semantic web and search engines

Algoritmer: Från kaos till ordning? Bild från Pixabay

Handledare: Elisabet Banemark

Vad är Internet? Innehåll: Inledning Vad är Internet? Om du kan Internetadressen Söka på Internet Länklistor Övningar Repetition

Extramaterial till Matematik X

Grundläggande om sökordsoptimering Sida 1. Grundläggande om sökordsoptimering. Marcus Österberg,

Att skriva för webben

Litteratur. Nätverk, Internet och World Wide Web. Olika typer av nätverk. Varför nätverk? Anne Diedrichs Medieteknik Södertörns högskola

Varför ska man använda ett CMS? Vilka är fördelarna och är det alltid bra? Kattis Lodén

Europeana Data Model vad, varför och hur

Arbetsmaterial HTML pass 1 - Grunder

17. DEN OSYNLIGA FRIA WEBBEN EXEMPEL

QR-kodernas intåg för nytta och nöje!

FEM ENKLA KNEP SOM HJÄLPER DIG SYNAS BÄTTRE PÅ GOOGLE

Undersök Google. Sida 1 av 9. En digital lektion från

Talsystem Teori. Vad är talsystem? Av Johan Johansson

Sökmotormarknadsföring

version 2.5 CONTENTO SVENSKA AB Introduktion till Kursbyggarverktyg

Endast medlemmar i STR har tillgång till Objektbanken i astra WEB.

Content Management System. Publiceringssystem

Logik. Dr. Johan Hagelbäck.

Content Management System. Publiceringssystem

Datakursen PRO Veberöd våren 2011 internet

Måldriven, informationscentrerad webbdesign

SESAM - Ifbtr. Olle Olsson

Innehålls förteckning

Att bygga enkla webbsidor

A" söka vetenskapliga ar1klar inom vård och medicin -

Webbsida i Wordpress. Existens på webben och bli sökbar

Det bästa är att kombinera flera olika metoder och källor. TIPS - för informationssökning på webben!

Sociala medier för företag

FrontPage Express. Ämne: Datorkunskap (Internet) Handledare: Thomas Granhäll

SEMSEO sökmotoroptimering SEO

Introduktion till programmering. Programspråk och paradigmer

2D1418, Språkteknologi NADA, Kungliga Tekniska Högskolan SÖKMOTOROPTIMERING. Av Erik Lindgren

Språkteknologi och Open Source

Sökmotoroptimering. Per Svanström SMM. Online Communication Manager. Web Intelligence. /persvanstrom /in/persvanstrom /profiles/per.

WEBB365.SE. Hur skriver man sökmotoroptimerade texter

Lässtrategier för att förstå och tolka texter från olika medier samt för att urskilja texters budskap,

CMS. - Content management system

Den semantiska webben - en översikt

Kort om World Wide Web (webben)

So ka artiklar och annan litteratur

Sökexempel Arbetsterapeuter T3

HTML5 Semantic. Informationen kommer från w3schools.com. En semantisk elementet beskriver tydligt dess betydelse för både webbläsaren och utvecklaren.

En dansk version av detta dokument kan laddas ned här: people/hagerman/retningslinjer.pdf (pdf, 500 kb)

Sök artiklar i databaser för Vård- och hälsovetenskap

Semantisk tjänst. Ämne Version Datum Semantisk applikation maj, Johan Säll Larsson

Introduktion Till WordPress

L0009B. Moment. Introduktion till geografiska databaser: G:\L0009B\Allmänt\IntroGeoDB.pdf (F)

Dialogue Technologies April 2005

A" söka vetenskapliga ar1klar inom vård och medicin -

IRM som stöd för kunskapsutbyte i organisationer. Kristina Groth, KTH Pär Lannerö, Metamatrix

SEO-rapport. Innehållsförteckning. Introduktion EkoLekos sökord.. 3. Rapport från Semrusch som visar EkoLekos Organic Search Summary,...

CMS, optimerade för programmerare Eller hur kan ett sådan skapas.

Hur hänger det ihop? För att kunna kommunicera krävs ett protokoll tcp/ip, http, ftp För att veta var man skall skicka

Business Intelligence. Vad är r Business Intelligence? Andra termer. Övergripande faktorer. Specifika termer för BI är:

Migrering av applikationen AMM till molnet

Case-based resoning. och dess användning inom sjukvården. Linköpings universitet Artificiell intelligens II 729G11 HT 2011

Undersök Google. Lektionen handlar om att jämföra och pröva källors tillförlitlighet vid informationssökning på internet.

QR-kodernas intåg för nytta och nöje!

Webbplats analys emreemir.com

Beräkning med ord. -hur en dator hanterar perception. Linköpings universitet Artificiell intelligens Erik Claesson

Webbprogrammering. Sahand Sadjadee

Olika slags datornätverk. Föreläsning 5 Internet ARPANET, Internet började med ARPANET

Vad är Internet? Innehåll: Inledning 1 Vad är Internet? 2 Om du kan Internetadressen 3 Söka på Internet 4 Övningar 5 Kortfattad repetition 9

Söka, värdera, referera

1 PROTOKOLL. Nätverk. Agenda. Jonas Sjöström

Välkommen till informationssökning via webben. Tips om sökningar inför uppsatsskrivandet med klickbara länkar.

Vad är ArcGIS.com? På ArcGIS.com hittar du:

WEBB PRODUKTION. Publicering av stora webbplatser Thomas Mejtoft. Thomas Mejtoft

Använda Internet. med hjälp av Internet Explorer. Nybörjarguide

PROGRAMMERING. Ämnets syfte. Kurser i ämnet

Det svenska sökbeteendet 2012

SEMSEO sökmotoroptimering SEO "Google Top 10. Google SEO sökmotoroptimering Seminarier 2011

Innehåll. MySQL Grundkurs

Sammanfattning av informationssökning VT19

KN - Seminarium. (Litteratursökning)

Bättre webb för barn och unga!

Laboration 3 i kursen Produktion för tryckta medier och webb: Webbplatsproduktion med ett publiceringssystem

Medieteknologi Webbprogrammering och databaser MEB725, 5p (7,5 ECTS) Klientprogrammering JavaScript Program på flera sidor

Transkript:

Datorer och kunskap - Den semantiska webben Robert Herber rhr08001@student.mdh.se Vetenskapsmetodik, CDT212 Mälardalens Högskola 2010-03-05 1

Sammanfattning Denna rapport behandlar nästa steg i Internets utveckling, den semantiska webben. Vi tar upp vad visionen om den semantiska webben innebär både som idé och hur den i sin tur kan påverka hur vi använder oss av Internet. Vi tar upp var vi befinner oss idag inom området och vad vi kan hoppas på för utveckling de kommande åren. Vi tar även upp några exempel på tjänster som idag erbjuder semantisk data, och även några av de möjligheter som finns när det gäller att utveckla egna semantiska lösningar. 2

Innehållsförteckning Inledning... 3 Den semantiska webben... 4 Från då till nu... 4 Web 1.0 - Länkade resurser... 4 Web 2.0 - Interaktiva resurser... 4 Web 3.0 - Integrerade resurser... 5 Semantisk beskrivning av data... 5 Resource Description Framework... 5 Description Logic... 5 Web Ontology Language... 6 Triplestores... 6 SPARQL... 6 DBpedia... 6 Sökmotorer... 7 Wolfram Alpha... 7 SenseBot... 8 Mjukvaruutveckling... 8 Slutsatser... 8 Bibliography... Error! Bookmark not defined. Bilder... 9 Inledning Semantik betyder läran om uttryckets betydelse (enligt NE http://www.ne.se/semantik), den semantiska webben innebär alltså att på något sätt kunna uttyda meningen med innehåll på webben. Webben är idag uppbyggd av i huvudsak HTML, ett designspråk som på ett väldigt enkelt sätt kan presentera information för oss människor. Det som den nuvarande dokumentbaserade webben saknar är ett bra sätt att tydligt deklarera vad resursen (informationen) är, dess egenskaper, och dess relation till andra resurser. Det finns meta-taggar, men det kan inte ge en exakt beskrivning av enskilda data i dokumentet utan enbart om dokumentet i sin helhet. Den semantiska webben är till början ett förvirrande begrepp för många. En stor anledning till detta är att det inte bara finns en idé om hur det kommer att fungera, utan det är ett myller av olika tekniker och visioner. Detta har gjort att kunskapen ofta inte är särskilt stor kring ämnet, och även om mycket händer inom området dröjer det paradigmskifte som många inom området väntar på. Men det händer mycket inom området och de närmaste åren kommer att bli väldigt spännande, och det går utmärkt att redan nu börja skapa applikationer som drar nytta av nya semantiska tekniker samtidigt som man skaffar sig värdefull kunskap inför framtiden. För att sammanfatta visionerna om den semantiska webben kort: information ska ha exakt mening information ska kunna förstås och behandlas av datorer informationskällor ska integreras 3

Den semantiska webben Från då till nu För att få lite perspektiv på informationsutbytet på nätet tar vi en snabb tillbakablick för att sen blicka vidare framåt. Internet har utvecklats väldigt mycket sen dess början. De olika stadierna i denna utveckling har i huvudsak varit som följer: Det började med direkt kommunikation mellan två datorer. För att ladda ner en fil anslöt man sig direkt till den andra datorn. Web 1.0 - Länkade resurser Webben fick sitt genomslag 1991 (Wikipedia - Web 1.0, 2010) och det blev möjligt att navigera mellan olika resurser anslutna till Internet på ett smidigt sätt. Från en början var det inget som privatpersoner hade hemma, men det utvecklades snart. Det man skapade var ett nät av resurser, därav "web". Sökmotorer gjorde att information blev lättare att hitta. Figur 1: Länkade resurser Web 2.0 - Interaktiva resurser Nästa steg i informationsutveckling på Internet var att alla fick chansen att bli delaktiga i informationsutbytet. Man brukar säga att detta inleddes 2004 (Wikipedia - Web 2.0 2010). Det började publiceras bloggar, sociala nätverkssidor, wikis och CMS (Content Management System) vid sidan av de statiska hemsidorna. Det är här vi är nu, och idag har de flesta webbsidorna vi besöker något interaktivt inslag. 4

Figur 2: Interaktiva resurser Web 3.0 - Integrerade resurser Nästa steg i webbens utveckling tror många alltså är att resurser börjar integreras med varandra, och det är just detta som kallas den semantiska webben. Istället för att enbart länka till en annan webbsida pekar man vidare till precis det data saken gäller. Semantisk beskrivning av data Resource Description Framework En viktig del av att beskriva data semantiskt är att definiera relationen mellan data. Detta kan göras med RDF (Resource Description Framework), en standard framtagen av W3C (World Wide Web Consortium) 2004 för detta ändamål. Med RDF beskrivs data i formen subjekt, predikat och objekt där predikatet beskriver relationen i sig. Detta sätt att ge data betydelse ger en bra grund för semantiska data som på grund av sin abstrakta form teoretiskt sätt kan beskriva så gott som alla relationer, och detta med en logik som kan förstås och tolkas av datorer. (RDF - Semantic Web Standards, 2004) Med en stor mängd data relaterade till varandra bildar dessa tripplar en graf av relationer mellan olika data, där alla data i grafen får en mening. Denna mening kan datorer förstå utifrån dess relationer till annan data i grafen. Så här skulle en enkel beskrivning av filmen Avatar kunna se ut i RDF med XML-syntax: <Description id="avatar"> <title>avatar</title> <director about="http://www.rdfmovies.com/directors.rdf#james_cameron" /> </Description> I det här fallet är filmen Avatar subjektet. Filmen har en relation (predikat) till regissören James Cameron (objekt) som ligger i en annan fil och som innehåller vidare information om honom. Filmen kan på samma sätt ha flera relationer som bildar flera tripplar, men detta är endast ett kort exempel. Description Logic DL (Description Logic) är en samling av språk som används för kunskapsrepresentation. Dessa språk är mer uttrycksfulla än den satslogik som finns inom matematiken, men är 5

effektivare än predikatlogik för att lösa beslutsproblem. DL har använts inom Artificiell Intelligens, Bioinformatik men är kanske viktigast inom Informationsvetenskapen där den semantiska webben är ett viktigt område. DLs uppgift är att modellera relationerna mellan koncept, roller och individer. (Wikipedia - Description Logic, 2010) Web Ontology Language OWL (Web Ontology Language) är en påbyggnad av RDF som lägger till möjligheten att beskriva klasser, egenskaper och objekt. Det bygger på Description Logic och kan beskrivas som en objekt-orienterad påbyggnad av RDF. Det är uppdelat i tre underspråk med lite olika användningsområden: OWL Lite, OWL DL och OWL Full. OWL Full innehåller hela OWL-syntaxen samt RDF-syntaxen utan några begränsningar i användning. Till exempel finns ingen tydlig skillnad mellan klass och instans eftersom detta inte finns i RDF, en "Airbus 330" klassas alltså i samma kategori som "flygplan" istället för som en individuell förekomst av klassen. Detta gör att OWL Full kanske inte är optimalt att arbeta med, men det har fördelen att vara fullständigt bakåtkompatibelt med RDF. (OWL Reference, 2004) OWL DL, där DL står för Description Logic, innehåller samma funktionalitet som OWL Full men med vissa begränsningar. Skillnad görs mellan klass och instans till skillnad från OWL Full, vilket ger tydligare klasshierarkier. Mycket av RDF-syntaxen går inte att använda enligt DL-specifikationen. (OWL Reference - OWL DL, 2004) OWL Lite är den enklaste varianten av språket. Det har samma begränsningar som DLspecifikationen och har några ytterligare begränsningar utöver den, tanken med detta är att erbjuda en minimalistisk variant av OWL där endast de viktigaste språk-elementen finns representerade. Detta finns främst för att underlätta för verktygsutvecklare. Triplestores Triplestores är ett begrepp som inkluderar alla databaser som innehåller RDF-data. Det finns två kategorier av triplestores, dels har vi sådana som bygger på SQL-databaser i grunden och alltså inte är byggda för RDF från början, sedan finns det de som är byggda för RDF från början. (Rusher) SPARQL För att ställa frågor till triplestores så har W3C tagit fram en specifikation för frågespråket SPARQL. SPARQL är en rekursiv akronym som står för SPARQL Protocol and RDF Query Language. Frågespråket har alltså stöd för att ställa frågor till så kallade triplestores och är en motsvarighet till det utbredda SQL för traditionella relationsdatabaser. (Wikipedia - SPARQL, 2010) DBpedia Att börja bygga in semantik i sin egna webbtjänst utan någon relation till annan data skulle vara ganska ointressant, för det är ju både innehållet och relationen till andra data som ger data dess betydelse. Intressant nog så finns det ett RDF-interface med Wikipedia-data som heter DBpedia. DBpedia hade i november 2009 2,9 miljoner ämnen i sin databas, med 479 miljoner fakta kopplat till detta. Detta gör att den som är intresserad på ett smidigt sätt redan idag kan bygga tjänster med stora mängder semantiska data och det ger ett mycket bra utgångsläge att kunna komma åt en stor databas med information och data som täcker många ämnesområden. (DBpedia Wiki, 2009) 6

DBpedia är även sammanlänkat med andra semantiska databaser som till exempel World Factbook (fakta om länder), Projekt Gutenberg (bokdatabas med böcker utan copyright), Friend-Of-A-Friend (semantiskt socialt nätverkande), Geonames (geografisk databas) och många fler. (DBpedia Wiki, 2010) Sökmotorer Sökmotorer är bland det mest centrala på nätet idag, och så fort man ska hitta något går de flesta direkt till en sökmotor. Det är nästan svårt att minnas hur man letade information innan Google. De flesta sökmotorer bygger i dagsläget på sökord, vilket inte kräver överdrivet komplicerade algoritmer, eller åtminstone algoritmer som går att greppa. Det innebär att det oftast inte gör någon skillnad om man söker på de tre orden "pizzeria i västerås" eller de två orden "västerås pizzeria". För alla som är vana med detta känns det inte konstigt, och nästan effektivare än att formulera en vanlig mening. Men tänk vilka möjligheter det skulle innebära om sökmotorerna faktiskt förstod vad vi menade och kunde tolka det. Tänk om vi skulle kunna fråga när filmen går på bio och i samma mening fråga efter en buss hem efteråt. Då finns även möjligheten att när teknologi för röststyrning är bättre utvecklad än idag ställa frågor verbalt direkt till datorn, och få ett intelligent svar på detta. Det finns ett antal olika sökmotorer som arbetar med semantiska data idag, de är ingen ersättning för traditionella sökmotorer ännu, även om de helt klart komplettera dessa. Dessa resultat är Wolfram Alpha Wolfram Alpha är en sökmotor som försöker ge svar på vad vi frågar istället för att lista webbsidor som i sin tur kan ge svaret på vår fråga. Det är ett spännande projekt som har kommit långt, tyvärr är antalet områden som sökmotorn kan svara på än så länge få. Man kan få fram mycket spännande fakta som skulle kräva mycket mer ansträngning via traditionell sökning. För att ta ett exempel, "distance to mars" listar inte bara km mellan jorden och Mars utan även hur lång tid det tar för ljuset att färdas denna sträcka, vilket är 6,5 minuter. Utöver detta listas information om hur lång tid det tar för Mars att fullborda sitt omlopp runt solen. Ännu mer imponerande blir det när sökmotorn förstår "distance between mars and the sun", där svarar sökmotorn på liknande sätt och vi får direkt reda på att ljuset tar 14 minuter på sig att färdas mellan solen och Mars. Wolfram Alpha erbjuder mycket data inom statistiktunga områden, och även områden som kräver snabba uppdateringar såsom väder och aktiedata. Problemet med Wolfram Alpha är att mängden data fortfarande är ganska begränsad. Detta beror på att den inte likt traditionella sökmotorer "crawlar" webben med robotar. Detta skulle ge mycket information men idag finns ingen algoritm som klarar av att plocka ut semantiska data ur detta och samtidigt säkerställa samma kvalitet som Wolfram Alphas resultat ger. Målet med Wolfram Alpha att redovisa vetenskapligt korrekta resultat, något som inte skulle vara möjligt på detta sätt. Det Wolfram Alpha gör istället är att hämta data från erkända källor och databaser, dessa källor redovisas sedan i varje sökning. Information om filmer hämtas exempelvis bland annat från IMDb, Freebase och Wikipedia. Data om jordbävningar hämtas från bland annat 7

EarthquakeDB. Det är på detta sätt som Wolfram Alpha kan presentera exakta data där traditionella sökmotorer endast listar webbsidor. SenseBot SenseBot är en intressant sökmotor som arbetar med Text Mining, och försöker utvinna semantisk information direkt ur vanliga webbsidor. SenseBots sökresultat ser vid ett snabbt ögonkast ut som det vi skulle få ut från Google, men istället för att länka till andra sidor så gör SenseBot ett försök att sammanfatta informationen. För varje sökresultat får man upp en mening där SenseBot försöker ge ett svar på frågan man ställde utan att man ska behöva navigera till webbsidan. Länken till webbsidan är istället bara en referens till källan. Det fungerar på flera frågor riktigt bra, och idén är helt klart lovande. Men det är inte tillräckligt för att byta från traditionella sökmotorer. (Semantic Engines LLC) Mjukvaruutveckling För de som är intresserade av mjukvaruutveckling är det inte helt lätt att veta var man ska börja för att utveckla semantiska applikationer. Semantiska applikationer är inte begränsade till en speciell typ av applikationer, utan semantiska tekniker kommer i framtidens webb vara centralt i hur data behandlas. Därför är det viktigt för utvecklare inriktade på data-tunga applikationer att bygga upp en förståelse för semantisk datahantering. Det går redan idag att utveckla mycket intressanta applikationer, det är bara fantasin som sätter gränserna. Med till exempel DBpedia som vi har tagit upp tidigare i denna rapport kan man få tillgång till en stor mängd data. Här är en tabell över några av de programmeringsbibliotek som kan vara intressanta att kolla närmare på: Bibliotek Programspråk Triplestore Länk SemWeb C#/.NET Ja http://razor.occams.info/code/semweb / RAP PHP Ja http://www4.wiwiss.fuberlin.de/bizer/rdfapi/ RDF-Core Perl Ja http://search.cpan.org/dist/rdf-core/ Redland RDF C Ja http://librdf.org/ Libraries Soprano C++ Ja (via plugins) http://soprano.sourceforge.net/ LINQ to RDF C#/.NET Ja (via LINQ) http://code.google.com/p/linqtordf/ Tabell 1: Programmeringsbibliotek Slutsatser Den semantiska webben är ingen ny idé, och det har tagit lång tid för idén att mogna. Men nu pekar mycket på att vi är på väg mot ett genombrott, och flera tjänster finns på nätet som erbjuder och drar nytta av semantiska data. Det kommer att dröja några år innan det slagit igenom på bred front eftersom mycket fortfarande är halvfärdigt och det tar tid innan alla utvecklare är med på spåret. Färdigt att användas idag för vardagsanvändare är helt klart Wolfram Alpha när man söker efter exakt information inom de ämnesområden som sökmotorn täcker. SenseBot når inte riktigt ända fram men är väldigt spännande projekt att följa eftersom det med sitt arbetssätt 8

har tillgång till i princip obegränsade mängder data, och om det lyckas blir det säkerligen en Google-konkurrent. För mjukvaruutvecklare, speciellt för webbutvecklare, är det helt klart värt att börja titta på RDF och OWL eftersom det är grunden för att arbeta med semantisk data. Det finns mycket data att arbeta med redan nu, till exempel genom DBpedia. Referenser DBpedia Wiki. den 23 Februari 2010. http://wiki.dbpedia.org/interlinking (använd den 24 Februari 2010). DBpedia Wiki. den 23 November 2009. http://wiki.dbpedia.org/about (använd den 24 Februari 2010). OWL Reference - OWL DL. den 10 Februari 2004. http://www.w3.org/tr/owl-ref/#owldl (använd den 2 Mars 2010). OWL Reference - OWL Full. den 10 Februari 2004. http://www.w3.org/tr/owl-ref/#owlfull (använd den 2 Mars 2010). RDF - Semantic Web Standards. den 10 Februari 2004. http://www.w3.org/rdf/ (använd den 5 Mars 2010). Rusher, Jack. w3.org - Triple store. den 13 November 2003. http://www.w3.org/2001/sw/europe/events/20031113-storage/positions/rusher.html (använd den 18 Februari 2010). Semantic Engines LLC. About SenseBot. http://www.sensebot.net/about.htm (använd den 27 Februari 2010). Wikipedia - Description Logic. den 2 Mars 2010. http://en.wikipedia.org/wiki/description_logic (använd den 5 Mars 2010). Wikipedia - SPARQL. den 2 Februari 2010. http://en.wikipedia.org/wiki/sparql (använd den 4 Mars 2010). Wikipedia - Web 1.0. den 5 Mars 2010. http://en.wikipedia.org/wiki/web_1.0 (använd den 5 Mars 2010). Wikipedia - Web 2.0. den 5 Mars 2010. http://en.wikipedia.org/wiki/web_2.0 (använd den 5 Mars 2010). Bilder Omslagsbild http://www.javaworld.com/javaworld/jw-04-2009/images/jw-lod-datasets.jpg Figur 1: Länkade resurser http://www.howtoweb.com/pics/googlemapped.gif Figur 2: Interaktiva resurser http://apptech.files.wordpress.com/2008/04/web2-0starfish.jpg 9