6 Semantic Web
Download voor je begint met het hoofdstuk nu eerst de opdrachten:
Het icoontje geeft aan wanneer je een opdracht moet maken.
Vul de antwoorden en je naam + klas in in het Word document en upload aan het einde van het hoofdstuk de antwoorden in de Postbus.
Data en informatie
In dit stuk van de cursus hebben we het vaak over data en informatie. De woorden informatie en data worden vaak door elkaar gebruikt. Toch is er een duidelijk verschil. Data zijn een verzameling van ruwe gegevens die geen of weinig betekenis hebben; informatie is een ordening van data tot een zinvol verband.
Stel je een Excel bestand voor met een reeks jaartallen gevolgd door twee kolommen met cijfers. Als je niet weet dat het gaat om het aantal geslaagden en gezakten voor het eindexamen, betekenen deze data niets. Maar met deze kennis kun je de vraag stellen hoeveel scholieren in 2005 zijn gezakt voor hun eindexamen; je kan de slagingspercentages uitrekenen en vergelijken met andere jaren en eventueel met andere scholen. Deze informatie leidt vervolgens weer tot kennis op basis waarvan het schoolbestuur maatregelen kan nemen om bijvoorbeeld de slagingspercentages te verbeteren. Mogelijk zijn daar dan weer andere data voor nodig. De onderstaande figuur illustreert deze cyclus:
Bron: sc.readle.org.uk
In dit hoofdstuk bekijken we wat een Semantic Web is en wat je er mee kunt:
6a. Wat is een Semantic Web?
6b. Een voorbeeld van Semantic Web data
6c. Uitleg van het voorbeeld
6d. Ambiguïteit opgelost?
6e. Linked Open Data
6f. Iedereen weet wat je bedoelt
Maak opdracht 6-1.
6a Wat is Semantic Web?
Alle websites die we tot nu toe hebben laten zien in deze module zijn human readable, leesbaar voor mensen. Waar wij een nieuwbericht op een website lezen, ziet een computer een lap tekst zonder enige betekenis of inhoud. Het is vergelijkbaar met een tekst in het Chinees (mits je Chinees kan): je ziet wel de tekens, maar wordt er niets wijzer van. Je kan nog net afleiden dat er een telefoonnummer in staat en twee opsommingen. Maar wat zou het voor tekst zijn? Een recept?
Ons algemeen inzicht en voorkennis gebruiken we veel bij het lezen van een tekst. Bijvoorbeeld als we de kop van dit nieuwsbericht lezen "Tsunami's na aardbeving vallen mee", dan begrijpen we al snel dat het gaat om vloedgolven (Tsunami's), die hele dorpen kunnen wegvagen. Hoewel de woorden Tsunami en vloedgolf totaal niet op elkaar lijken, weten wij dat ze veel met elkaar te maken hebben. Dat soort informatie is voor mensen vanzelfsprekend, maar voor computers niet.
Om gestructureerde tekst maken, waarbij de computer iets kan afleiden over de betekenis en functie ervan, is Semantic Web in het leven geroepen.
6b Een voorbeeld van Semantic Web data
Semantic Web is nog volop in ontwikkeling, maar er zijn al een aantal sites die het gebruiken.
Maak opdracht 6-2.
6c Uitleg van het voorbeeld
Zoals je misschien al vermoedt na opdracht 6-2b gedaan te hebben, komt de data van DBpedia direct van Wikipedia. Een groot deel van de data op DBpedia komt uit de infoboxes op Wikipedia, de rechthoekige informatieblok rechts bovenaan de pagina's, want de informatie die daarin staat is gestructureerd. De data bij de velden dbpprop:abstract en rdfs:comment is meertalig, want het maakt gebruik van de links naar de pagina's in andere talen op Wikipedia (onderaan in de linkerbalk). De data op DBpedia kan iets afwijken, want Wikipedia wordt constant veranderd door de gebruikers.
Elk feit dat op DBpedia staat is een triple, dat is een relatie tussen twee entiteiten. Daarmee kan je simpele relaties leggen tussen entiteiten, zoals "Marjan is de moeder van Klaas", want daar wordt de relatie "is moeder van" gelegd tussen de entiteiten "Marjan" en "Klaas". Deze triples zijn de bouwblokken van het Semantic Web.
6d Ambiguïteit opgelost?
Als je op Google Images zoekt naar "Jaguar", dan vind je plaatjes zowel jachtluipaarden, want die heten jaguars in het Engels, en auto's van het merk Jaguar. Het Engelse woord Jaguar is dus ambigu (kan twee dingen betekenen). Google kan geen onderscheid maken tussen de twee concepten die met hetzelfde woord aangeduid worden, dus geeft het je resultaten van beide concepten en moet de gebruiker zelf onderscheid maken tussen de goede en foute resultaten.
Het ambiguïteitprobleem wordt ook opgelost door het Semantic Web. Om dat te laten zien gebruiken we een andere website, namelijk http://freebase.com. Deze site is ook met Semantic Web, maar gebruikers kunnen hier direct nieuwe data op zetten, in plaats van dat het van Wikipedia wordt gehaald. Als je op Freebase zoekt naar "Jaguar" (maar nog niet op enter drukt!), dan krijg je een lijst van verschillende soorten concepten te zien die je zou kunnen bedoelen. Bovenaan staat het bedrijf (Company), daaronder gelijk het dier (Animal) en daaronder nog wat andere resultaten.
Dat Semantic Web het probleem van ambiguïteit oplost is een big deal! Als je een website wil hebben die antwoord kan geven op vragen, dan is het belangrijk om de vraag te begrijpen. Dus als je de vraag intypt "hoe snel is die kever?", dan wil je net als bij de Jaguar onderscheid kunnen maken tussen de auto en het dier.
6e Linked Open Data
Belangrijke principes van Semantic Web is dat het net als op het WWW geen gecentraliseerde structuur heeft en dat het gratis is. Daarom kan iedereen z'n eigen Semantic Web data maken en linken naar data van anderen, net zoals je heel makkelijk een eigen website kan maken en linken naar anderen.
Doordat Semantic Web zo vrij en gespreid opgezet is, is er al snel veel data gemaakt door verschillende partijen. Om goed te kunnen samenwerken is er een Linked Open Data initiatief ontstaan. Op het plaatje (ook hier te zien) zie je allemaal verschillende databanken en welke met elkaar verbonden zijn. Hier staan ook DBpedia en Freebase bij.
Maak opdracht 6-3.
6f Iedereen weet wat je bedoelt
Met de grote ontwikkelingen op het WWW en alle applicaties die daarop draaien zou het heel mooi zijn als die applicaties zouden samenwerken. Stel je voor dat je fotocamera, fotoalbum en kaart (bijvoorbeeld Google Maps) elkaar zouden begrijpen.
Je camera weet waar je staat als je de foto maakt en zet die informatie bij de foto. Als je foto's op je online fotoalbum zet, dan komt alle geografische data daar ook bij te staan. Je kiest ervoor om je vrienden toegang te geven tot je fotoalbum.
Je vriendin Marie gaat binnenkort uit in Amsterdam en kijkt wat er allemaal te doen valt rond het Leidseplein. Ze ziet dat jij foto's online hebt staan van Dansen bij Jansen (want die discotheek is vlakbij het Leidseplein) en vindt het er heel gezellig uitzien. Daarom besluit ze met haar vriendinnen daar naartoe te gaan en laat ze jou weten dat je morgen haar foto's daar ook terug kan vinden.
Er zijn nog veel meer van dit soort scenario's te bedenken waarbij meerdere internetapplicaties en digitale apparaten dezelfde (of gelinkte) Semantic Web data gebruiken, waardoor ze elkaar allemaal begrijpen. Zo kan je bijvoorbeeld delast.fm scrobbler aanzetten, zodat je vrienden kunnen zien welke muziek je geluisterd hebt. Als Hyves nou ook zou weten welke last.fm accountnaam je vrienden hebben, dan zou je wellicht gemakkelijk in iTunes kunnen zien wat je vrienden als laatste geluisterd hebben en wat er anders is aan jullie muziekcollecties.
Maak opdracht 6-4.
Upload nu de opdrachten van hoofdstuk 6 in de Postbus.