Er bestaat enige dis­cussie over wat de logis­che opvol­ger zal zijn van web 2.0, waarin user-generated con­tent, het delen van infor­matie en inter­op­er­abiliteit cen­traal ston­den. Hoewel meer ideeën de ronde doen, is er veel steun voor het idee web 3.0 gelijk te stellen aan het seman­tis­che web. Het sturende idee achter het seman­tis­che web is dat alle din­gen op inter­net wor­den beschreven in spe­ciale talen, zodat com­put­ers de infor­matie die ze aantr­e­f­fen kun­nen ‘begri­jpen’. Een object kan bijvoor­beeld geken­merkt wor­den als onderdeel van een voer­tuig, als per­soon of als een fysieke plek op aarde. Zodra objecten op een dergelijke manier wor­den gekarak­teriseerd, ontstaat een gigan­tisch netwerk van ‘linked data’ en kun­nen com­put­ers ver­rassende en nut­tige links ont­dekken, die wellicht nooit door mensen ont­dekt zouden zijn. Dit heeft de poten­tie een com­pleet nieuwe vorm van kun­st­matige intel­li­gen­tie mogelijk te maken.

Full coloured LOD cloud

Link­ing Open Data cloud dia­gram; datasets met gestruc­tureerde com­put­er­lees­bare data en daar­tussen aange­brachte links.

Maar zover zijn we nog (lang) niet. Er zijn een hoop rede­nen aan te dra­gen waarom het seman­tis­che web uit de visie van Berners-Lee het niet zal red­den. Een van de belan­grijk­ste rede­nen is het feit dat vee­lal een enkele cen­trale ontolo­gie (‘model van de wereld’) wordt veron­der­steld. Ook is nog niet onom­stotelijk vast­gesteld dat dergelijke tech­nieken werken in de open omgev­ing van het web. In spec­i­fieke omgevin­gen, toepassin­gen en taken wor­den suc­cessen behaald, maar deze ver­talen zich nog niet naar breed toepas­bare ini­ti­atieven. Des­on­danks bestaat er inmid­dels een groeiende ‘wolk’ van datasets met machine-leesbare gegevens, die onder­ling gekop­peld wor­den (‘link­ing open data’ of LOD). Die wolk kan ingezet wor­den als seman­tis­che ruggen­graat om aller­hande taken aan te pakken.

Een andere reden is het feit dat bij alledaagse gebruik­ers van het web weinig animo bestaat om deel te nemen aan het toeken­nen van meta­data aan objecten. We zijn dus­danig gewend ger­aakt aan het gebruik van zoek­ma­chines om een weg door het web te vin­den, dat geen drin­gende reden bestaat om bij te dra­gen aan de ontwik­kel­ing van het seman­tis­che web––los van informele, ‘licht­gewicht’ semantiek in de vorm van per­soon­lijke bookmarks/tags of sim­pele anno­taties op webpagina’s.

Onder de motorkap

Waar we inmid­dels wel steeds meer voor­beelden van zien is het inzetten van semantiek in het zoekpro­ces, bijvoor­beeld verkre­gen uit LOD.1 Wat houdt dat dan in? Recente ontwik­kelin­gen maken het mogelijk dat com­put­ers begri­jpen welke con­cepten gebruikt wor­den in stukken tekst, zoals webpagina’s, zoek­ma­chine queries, tweets, et cetera. Dit begri­jpen houdt niets meer in dan het linken van (delen van) tekst aan meer gestruc­tureerde informatie––veelal in de vorm van zoge­naamde entiteiten zoals je die bijvoor­beeld vindt in LOD.

Een veelvoorkomende defin­i­tie van een ‘entiteit’ omvat per­so­nen, bedri­jven, pro­ducten, locaties, et cetera. Oftewel, alles wat een eigen Wikipedia pag­ina kan hebben. Exaleads zoek­ma­chine voor Wikipedia geeft een goed voor­beeld van entiteiten. Zodra je daar een query intypt haalt de zoek­ma­chine entiteiten op die gere­la­teerd zijn aan de query, die je ver­vol­gens op een inter­ac­tieve manier kan gebruiken om de resul­taten aan te passen aan dat­gene wat je voor ogen had. In zekere zin is dit een mod­erne vari­ant van faceted zoeken, waar­bij meta­data behorende bij of geëx­tra­heerd uit zoekre­sul­taten, wor­den geanaly­seerd en weergegeven, teneinde de zoekre­sul­taten inter­ac­tief te ver­beteren. Een van de meest bek­ende voor­beelden hier­van is te vin­den bij aller­hande online winkels, waar je één of meer cat­e­gorieën kan selecteren om de gevon­den pro­ducten in te perken.

Wikipedia is uit­ge­groeid tot een aanzien­lijke ken­nis­bron en het aan­tal Wikipediapagina’s bli­jft nog steeds ges­taag groeien. Een van de inter­es­sante eigen­schap­pen van Wikipedia in de con­text van seman­tis­che zoek­ma­chines is dat iedere entiteit geas­so­cieerd is met een door mensen bew­erkte beschri­jv­ing, zodat ze makke­lijk gevon­den en beschreven kun­nen wor­den. Ook bevat Wikipedia struc­turele infor­matie in de vorm van (1) cat­e­gorieën, (2) hyper­links tussen artike­len en (3) infoboxes en sjablo­nen. Infoboxes zijn de ele­menten die bij som­mige Wikipedia-artikelen aan de rechter­hand wor­den weergegeven en vaak semi-gestructureerde infor­matie bevat­ten. Het­zelfde ‘soort’ Wikipedia-artikelen heeft vee­lal het­zelfde soort infoboxes, zoals ste­den, zangers, et cetera. Sjablo­nen lijken hier enigszins op en bevat­ten ook gestruc­tureerde infor­matie die spec­i­fiek is voor een bepaald soort onder­w­erp, zoals medici­j­nen of vliegvelden. DBpe­dia is een ini­ti­atief dat als doel heeft deze infor­matie automa­tisch uit Wikipedia te extra­heren en beschik­baar te stellen in LOD. Door zijn algemene aard speelt DBpe­dia hier een cen­trale rol.

Voorbeeld van Fietstas annotaties

Voor­beeld van Fiet­stas annotaties.

Meth­o­den die tekst kun­nen linken aan entiteiten gebruiken in belan­grijke mate taal­tech­nolo­gie in com­bi­natie met machine leren, en zijn erop gericht om entiteiten, netwerken van entiteiten, profie­len van entiteiten of relaties tussen entiteiten en hun relaties in tek­sten te herken­nen. Aan de Uni­ver­siteit van Ams­ter­dam werken we sinds 2008 aan een gedis­tribueerde omgev­ing genaamd Fiet­stas (nu xTAS genaamd), die de vereiste func­tion­aliteit als web ser­vice aan­biedt. Naast ver­schil­lende vor­men van tek­st­nor­mal­isatie biedt Fiet­stas ook seman­tis­che func­tion­aliteiten zoals het herken­nen van entiteiten en relaties, het nor­malis­eren van entiteiten en het gener­eren van ‘profie­len’ van entiteiten. Dit maakt het mogelijk willekeurige tekst aan te bieden en een lijst met gevon­den entiteiten terug te kri­j­gen. Zie de figuur voor een illus­tratie van het soort van doc­u­men­tan­no­taties dat daar­bij door Fiet­stas gegenereerd wordt. Wat kun­nen we met de ont­dekte links tussen tekst en Wikipedia? Van­wege de directe kop­pel­ing tussen Wikipedia en DBpe­dia kun­nen de tools voor seman­tisch linken (zoals Fiet­stas of Wikipedia-Miner) direct gebruikt wor­den om LOD-entiteiten te herken­nen in willekeurige tek­sten, gebruik­mak­end van aan­vul­lende infor­matie uit Wikipedia. Zodra entiteiten zijn herk­end, kun­nen we deze inzetten tij­dens het zoekproces.

Seman­tisch zoeken en vinden

Seman­tis­che zoek­ma­chines stellen ons dus in staat om rel­e­vante entiteiten en hun relaties te iden­ti­fi­ceren in grote hoeveel­he­den tekst en ver­vol­gens in te zetten, bijvoor­beeld door het zoekpro­ces te sturen, sug­gesties te gener­eren of door de resul­taat­p­re­sen­tatie aan te passen. De mogelijke toepassin­gen van het inzetten van semantiek tij­dens het zoeken zijn legio en var­iëren van het sim­pel­weg inzetten van alter­natieve schri­jfwi­jzen of syn­on­iemen (zoals de tilde oper­a­tor in Google), via spec­i­fieke inter­pre­taties zoals Wol­fra­mAl­pha die ver­zorgt, tot het volledig taalkundig analy­seren van een query (zoals Pow­er­set en Ask.com dat beogen).

Laten we verder ingaan op het sce­nario van een zoek­ma­chine voor het web. Het automa­tisch ‘expanderen’ van een query met alter­natieve schri­jfwi­jzen lijkt een veel­belovende strate­gie om op een automa­tis­che manier meer rel­e­vante webpagina’s te iden­ti­fi­ceren. Waarom past een bedrijf als Google dit dan niet op grote schaal toe? Een belan­grijk tege­nar­gu­ment is ambiguïteit; de gemid­delde query bestaat gemid­deld uit ongeveer 2,4 ter­men (vaak zelfs min­der) en biedt vaak niet genoeg hou­vast om zeker te weten wat een gebruiker bedoelt. Een dergelijke strate­gie kan daarom al snel de ver­keerde kant opgaan en ter­men intro­duc­eren die niet rel­e­vant zijn. Een ander tege­nar­gu­ment is het feit dat het zoekpro­ces min­der transparant wordt. Zodra er automa­tisch ter­men wor­den toegevoegd aan de query, bestaat de kans dat er doc­u­menten wor­den teruggegeven die niet rel­e­vant zijn, waar­door de kans groot is dat de gebruiker gefrus­treerd raakt en uitwijkt naar een andere zoek­ma­chine. Een betere strate­gie is dan om gebruik­ers de keus te geven door mid­del van zijdel­ings ver­melde sug­gesties in de resultaatpagina’s.

Ondanks het feit dat de genoemde tech­nieken niet automa­tisch wor­den toegepast, werken de drie grote zoek­ma­chines voor het web (Google, Bing en Yahoo!) aan ver­be­terin­gen van algo­ritmes en meth­o­den die met hoge pre­cisie kun­nen aangeven welke entiteit(en) wor­den bedoeld in een query. Zij passen dergelijke tech­nieken trouwens al enige tijd in beperkte mate toe. In het bij­zon­der bij het zoge­naamde ‘ver­ti­cal search’, waarin een incre­menteel lerend algo­ritme beslist wat de inten­tie van de gebruiker is. Aan de hand van de voor­spelde inten­tie (‘ik wil een boek kopen’, ‘ik wil meer infor­matie’, et cetera) wordt ver­vol­gens besloten of er, naast de nor­male webre­sul­taten, ook resul­taten wor­den weergegeven uit ‘ver­tica– le’ sub-zoekmachines die gespe­cialiseerd zijn in een bepaald type infor­matie. Denk aan Google Maps, YouTube of plaat­jes, maar ook aan resul­taten uit online winkels, blogs, het nieuws, et cetera. In het meest voorkomende geval wor­den de resul­taten uit deze ‘ver­ti­cals’ ver­w­even met de nor­male zoekre­sul­taten. De Yahoo! zoek­ma­chine gaat hier­mee zelfs nog een stap verder en biedt spec­i­fieke overzichtspagina’s aan voor som­mige queries. Ook het sim­pel­weg herken­nen van bepaalde patro­nen kan wor­den beschouwd als een vorm van intel­li­gent zoeken. Probeer maar eens de Google queries ‘time in Ams­ter­dam’, ‘2*2’ of ‘1 dol­lar in euro’. Of een bepaalde datum.

Andere manieren om con­cepten en entiteiten in te zetten tij­dens het zoeken vin­den we in zoge­naamde Micro­for­mats en in RDFa. Dit zijn seman­tis­che talen die als doel hebben om semantiek in te bed­den in XHTML-opmaakcode. Waar Micro­for­mats een spec­i­fiek vocab­u­laire behelst, kan RDFa gebruikt wor­den om ieder willekeurig ken­nis­model in te zetten in de anno­tatie van (gedeeltes van) webpagina’s. Het doel hier­van is om op een backwards-compatible manier seman­tis­che web­func­tion­aliteit aan webpagina’s te kun­nen toevoe­gen. Dit wordt vee­lal op automa­tis­che wijze toegepast. Zoek­ma­chines kun­nen hier ver­vol­gens gebruik van maken, bijvoor­beeld door zoge­naamde ‘rich snip­pets’, waarin dergelijke gestruc­tureerde infor­matie wordt getoond in het scherm met zoekre­sul­taten. Denk aan resul­taten van LinkedIn, waar­bij de huidige baan en locatie van een per­soon wor­den getoond, aan recen­si­escores voor een bepaald prod­uct of recept, maar denk ook aan het weergeven van de tij­den en locaties waarop een bepaalde film wordt vertoond.

In het alge­meen kan je stellen dat een van de ontwik­kelin­gen op weg naar het web 3.0, het zoekge­drag van gebruik­ers betreft. Waar we in eerste instantie gewend waren aanzien­lijke aan­tallen webpagina’s uit de resultaatpagina’s van zoek­ma­chines te bek­ijken, wordt tegen­wo­ordig door­gaans slechts de eerste pag­ina bekeken. Tien jaar gele­den keek min­i­maal 58 pro­cent van de gebruik­ers alleen naar de eerste resul­taat­pag­ina; in 2005 was dit per­cent­age zelfs opgelopen tot meer dan 80 pro­cent. Ook zien we in het zoekge­drag van gebruik­ers dat we vaker op zoek zijn naar scher­per gedefinieerde een­heden, zoals eerderge­noemde entiteiten. Als iemand wil weten waar en hoe laat een bepaalde film in de buurt draait, accepteert men niet langer pagina’s van ver­schil­lende bio­scopen te moeten bek­ijken. In plaats daar­van verwachten we dat de zoek­ma­chine ons deze stap uit han­den neemt en een overzicht teruggeeft.

Of het nu gaat om dubbelzin­nigheid in zoekvra­gen aan te pakken, het weergeven van intel­li­gente manieren van inter­ac­tie of de pre­sen­tatie van zoekre­sul­taten, alle voor­beelden tot dusver laten zien dat seman­tis­che zoek­ma­chines de zoek­er­var­ing van de gebruiker nu al aan het veran­deren zijn.

Recente ontwik­kelin­gen

Eerder kwa­men Micro­for­mats en RDFa al aan de orde en in het bij­zon­der hoe deze toegepast wor­den om de resultaatpagina’s van zoek­ma­chines ‘intel­li­gen­ter’ te maken. De wild­groei aan ver­schil­lende dialecten en de ver­schil­lende mate van onder­s­te­un­ing bij ver­schil­lende zoek­ma­chines deden Bing, Google en Yahoo! recen­telijk besluiten een geza­men­lijk voors­tel voor een vocab­u­laire om entiteiten te beschri­jven naar buiten te bren­gen, waarmee gestruc­tureerde infor­matie opgenomen kan wor­den op webpagina’s. Op de bijbe­horende web­site, schema.org genaamd, staan alle cat­e­gorieën die onder­s­te­und wor­den, alsmede doc­u­men­tatie voor ontwikke­laars en web­mas­ters. Onder de cat­e­gorieën bevin­den zich entiteit­stypen als per­so­nen, films, pro­ducten, locaties en meer. Ook wordt onder­s­te­un­ing gegeven voor seman­tis­che web­talen als OWL en RDF, met als doel schema.org-annotaties deel uit te laten maken van LOD.

Een andere recente ontwik­kel­ing is Open Graph van Face­book. We ken­nen alle­maal de Face­book ‘Like’-knoppen op web­sites en dit is de vol­gende ver­sie daar­van. Face­book erk­ende een veel­ge­ho­orde klacht van gebruik­ers dat een sim­pele ‘Like’ in veel gevallen mis­stond. Gebruik­ers wilden bijvoor­beeld alleen maar aangeven dat ze iets gezien of geho­ord had­den, zon­der een impli­ciet posi­tief waardeo­ordeel te geven. En, hoewel het in eerste instantie al mogelijk was om een zoge­naamd object­type (zoals ‘acteur’, ‘stad’, et cetera) mee te geven aan dat­gene dat ‘geliked’ kon wor­den, werd er maar spo­radisch gebruik van gemaakt, voor­namelijk van­wege de erg beperkte lijst met onder­s­te­unde types. Open Graph heeft als doel beide bezwaren aan te pakken. Allereerst kan men, naast de ‘Like’-actie, eigen acties definiëren, zoals ‘Lis­tened’, ‘Watched’, et cetera. Ten tweede kun­nen nu ook entiteiten aange­duid wor­den (zoge­naamde ‘objects’), waarop de acties betrekking hebben. Maar wat heeft dit te maken met het seman­tis­che web? En met zoeken? Het aan­duiden van objecten en mogelijke acties die men daarop kan onderne­men, heeft wel degelijk het karak­ter van het seman­tis­che web. Daar­naast zijn alle Facebook-acties, waaron­der de bek­ende ‘Like’-knop, geschreven in RDFa. En, wellicht nog belan­grijker, het onder­s­te­unt het sociale karak­ter van inter­net en brengt dit naar het seman­tis­che web. Met dergelijke anno­taties kun­nen namelijk geper­son­aliseerde sug­gesties wor­den gedaan, bijvoor­beeld aan de hand van acties van vrien­den of van per­so­nen die erg lijken op een gebruiker.

Tot slot is het open source con­tent­man­age­mentsys­teem (CMS) Dru­pal een ver­meld­ing waard. Dit van oor­sprong Bel­gis­che project wordt over de gehele wereld als back­end voor aller­lei web­sites gebruikt. In de laat­ste ver­sie (Dru­pal 7) wordt er out-of-the-box onder­s­te­un­ing gebo­den voor RDFa. Dit betekent dat alle con­tent op een web­site met Dru­pal als CMS, stan­daard ontsloten kan wor­den met RDFa. Denk aan per­so­nen op een forum, pro­ducten in een web­shop, of bijvoor­beeld recen­sies. Door het open karak­ter van Dru­pal zijn objecten en types vri­jelijk te definiëren en kun­nen deze dus met min­i­male inspan­ning aange­bo­den wor­den als machinelees­bare infor­matie en deel gaan uit­maken van het seman­tis­che web.

Tot slot

Met het steeds breder beschik­baar komen van machinelees­bare infor­matie, en meth­o­den om deze infor­matie te con­sumeren en pro­duc­eren, en met het steeds slim­mer wor­den van automa­tis­che meth­o­den om entiteiten te herken­nen in tekst, komt het seman­tis­che web steeds dichter­bij. Met behulp van mod­erne, seman­tis­che zoek­ma­chinetech­nolo­gieën zijn inmid­dels de eerste stap­pen – van hoge kwaliteit en op grote schaal – gezet om deze infor­matie in te zetten om gebruik­ers sneller te laten vin­den wat ze zoeken. Of dit alles daad– werke­lijk web 3.0 gaat voorstellen zullen we pas over enige tijd weten, maar voor nu ziet de zoek­ma­chine van de toekomst er in ieder geval al slim­mer, inter­ac­tiever en socialer uit.

(Dit artikel ver­scheen eerder in het tijd­schrift Infor­matie Pro­fes­sional, zie hier voor een hi-res scan daarvan.)

  • E. Meij, “Zoek­ma­chines van de toekomst,” Infor­matie Pro­fes­sional, vol. 11, pp. 16–20, 2011.
    [Bib­tex]
    @article{IP:2011:meij,
      Author = {Meij, E.},
      Date-Added = {2012-02-12 10:34:00 +0100},
      Date-Modified = {2012-02-12 10:37:39 +0100},
      Journal = {Informatie Professional},
      Month = {November},
      Pages = {16--20},
      Title = {Zoekmachines van de toekomst},
      Volume = {11},
      Year = {2011}}
  1. Overi­gens vind het omge­keerde ook plaats, dat wil zeggen het inzetten van zoekalgo­ritmes zoals Google die gebruikt om wijs te wor­den uit de gigan­tis­che hoeveel­heid aan data die op het seman­tis­che web in de vorm van gelinkte data te vin­den is. Dat is echter niet het onder­w­erp van dit artikel. []