Information.dk gør drømmen til virkelighed: Det semantiske internet
Det semantiske internet - hvor alle informationer for alvor linkes sammen - har der været talt om i årevis, men nu gør Information noget ved det. Alle artikler på netavisen bliver nu mærket op med for eksempel personer, steder og organisationer og koblet til data fra Wikipedia. Med tiden skal det udnyttes til at forbinde Informations historier med supplerende oplysninger fra hele internettet.
Webudvikler Johannes Wehner stod bag ideen og har gennemført projektet ved siden af de daglige driftsopgaver.
Hvad går projektet ud på?
»Vi har de sidste tre år tagget vores artikler på nettet, men hvor det var én stor bunke af emne-ord. Så stødte jeg på et amerikansk projekt, der autotagger indholdet ved at genkende forskellige elementer i teksten: Personer, steder, organisationer, begivenheder og så videre.
Dem kontaktede jeg, for at høre, om de ikke var interesserede i at lave det på dansk også, og det var de. Men først skulle de lige lave det på kinesisk, fransk, tysk og mange andre sprog. Deres investering var urealistisk i et så lille sprogområde som dansk. Og så måtte jeg jo lave det selv.
Jeg har sparret med Center for Sprogteknologi på Københavns Universitet og med deres hjælp fået fordelt vores gamle emne-ord i forskellige kasser. Organisationer kan være alt fra et band til en fagforening eller et firma. Og stederne har vi lagt ind hierarkisk med lande, store byer og nogle steder også bydele.
Alt det her mærker vi indholdet op med. Det sker automatisk for indhold fra Ritzau, og med vores eget indhold kommer der forslag op, så vi kan vælge det, vi synes passer bedst.
Den mest spændende del er den eksterne, synes jeg. Der tager vi alle vores tags og kobler eksterne adresser på til artikler på dansk og engelsk Wikipedia. Så kan vi hente tekster og billeder fra Wikipedia ind på vores emnesider. Vores tags er også koblet til projektet DBpedia. Dermed får vi en unik ID på en given entitet på internettet, og det er i høj grad interessant. Så kan vi forbinde til andre, der også linker til det indhold. New York Times linker deres tags til DBpedia, så via for eksempel opslaget om Barack Obama kan vi dele links og henvise til deres artikler også.
Vi kan også bruge disse eksterne data til at filtrere vores eget indhold. Så kan folk for eksempel søge efter artikler, der handler om de fire rigeste lande i Asien.«
Hvad er målet med projektet?
»Det er mange-facetteret. På den korte bane handler det om at strukturere vores eget indhold bedre og gøre det nemmere at linke til andre artikler om Barack Obama. Og så kan man på emnesiden om Barack Obama finde links til de personer og organisationer, der tit optræder i sammenhæng med ham: Hillary Clinton, Anders Fogh Rasmussen og så videre.
Det er med til at sætte vores artikler ind i en kontekst. Folk kommer tit direkte fra Google, og der kan være en del viden, der er forudsat. I første omgang bliver historierne så sat ind i en kontekst på vores eget site, og i anden omgang i kontekst med resten af internettet.
På den lange bane er målet at benytte os af de mange muligheder, som et semantisk internet giver os.«
Hvad er din rolle i projektet?
»Jeg har været initiativtager og har stået for udviklingen af det. Det har taget 1-1½ år, for det var et sideprojekt, og i perioder har det ligget dødt, når vi skulle koncentrere os om den daglige drift af vores website. Vi er ikke så mange herinde til den opgave.«
Hvilken teknologi indgår i projektet?
»Hele vores site kører på Drupal, så det har været fundamentet. Vi har skullet trække data ud af teksterne, og til det har vi brugt en simpel form for Named Entity Recognition.
Data fra Wikipedia trækker vi gennem DBpedia, som er et projekt, som tager data fra Wikipedia, vasker dem og gør det til en rigtig database med strukturerede data. Tekster trækker vi direkte fra Wikipedia.«
Hvilke problemer eller udfordringer er I stødt på?
»Det største problem var at finde data til vores lister over tags. Listen over personer og organisationer er sammenstykket af et hav af forskellige datakilder på nettet. Det har været meget håndarbejde at finde dem.
At finde ud af at få koblet emner op med eksterne links har også været et issue, men det kunne klares ved at læse lidt op på det.
Ellers er problemet at skelne mellem flere betydninger for ét ord. Er Kashmir en provins i Pakistan eller et dansk rockband? Der er vi ikke endnu. Vores tagger er lidt grådig og tagger tekster, hvis et ord er indeholdt bare en enkelt gang i artiklen. For eksempel hvis Nato bliver nævnt i en artikel om amerikansk økonomi, bliver den tagget op med Nato, selvom artiklen ikke handler om Nato.
Det er en udfordring at finde en relevans-scoring af ordene, så det kun er de mest relevante, der bliver tagget. Det kan være, at det skal nævnes et vist antal gange, eller skal være nævnt i en teaser-tekst eller underrubrik. Hvis en artikel udelukkende handler om dansk litteratur, så er det ikke sikkert, at Barack Obama skal mærkes op, selvom han bliver nævnt i teksten. Det grubler jeg lidt over, hvordan vi kan gøre bedre.«
Hvilke gode råd kan du give videre til andre?
»Vi håber, at vi kan stille vores løsning til rådighed for andre som en webservice. Så kan man sende sin tekst ind og få strukturerede data tilbage. Vi bruger teknologien internt indtil videre, og når den er så god, som vi synes, den skal være, vil vi tilbyde den eksternt.«
Kommentarer (4)
Jeg synes det er et spændende projekt. Jeg glæder mig til at lege med deres webservice, den dag den kommer online.
Jeg prøvede for sjov skyld at taste URL'en på deres artikel http://www.information.dk/230908 ind på http://www.w3.org/2007/08/pyRdfa/ - resultatet er følgende (skrevet i Turtle):
[code=text]<http://www.information.dk/230908> dc:creator "Nikolai Thyssen"@da ;
dc:date "2010-04-23T15:37:08+02:00"@da ;
xhv:icon <http://www.information.dk/sites/all/themes/motorhead/favicon.ico> ;
xhv:stylesheet <http://www.information.dk/files/css/css_ad5c2961390ac1afbdb5dbe73bf36dbf...,
<http://www.information.dk/files/css/css_f1ff49da4c589497eaf732a45dc3dda2... .[/code]
Det er da en start, men lidt ærgeligt at de ikke sender mere semantisk information ud, når de nu ligger inde med det. De kunne præsentere deres emneord med SKOS-ontologien og linke til DBPedia med rdfs:seeAlso.
Det er fedt at de automatisk kan tagge artikler og bruger denne information til at præsentere artiklerne, men for at Linked Data virkelig skal tage fart, så skal de også selv præsentere data omkring artiklerne på semantisk form.
EDIT: Turtle-koden ser lidt buggy ud (pga. fejl i Version2s code-tag?)
Jeg ved godt at jeg er lidt krakilsk, men jeg var da lige ved at få morgenkaffen i den gale hals. Internettet er vel ikke blevet semantisk? Mon ikke der med internettet menes WWW eller hvad man nu vil kalde det? Altså samlingen af websider bundet sammen af links. På engelsk hedder det "Semantic Web" og det kan det vel også hedde på dansk - det semantiske web.
For eksempel hvis Nato bliver nævnt i en artikel om amerikansk økonomi, bliver den tagget op med Nato, selvom artiklen ikke handler om Nato
Det ser jeg sjovt nok slet ikke som problem, da jeg som regel bruger flere søgeord. Det gælder nemlig om at forestille sig, hvad en webside med den ønskede information vil indeholde af ord.
Hvis man fx vil vide, hvor stor en hær NATO råder over, kunne jeg skrive:
NATO antal soldater
Desværre er der de sidste par år opstået et nyt problem med denne måde at søge på: En webside, som i en sætning, tabel eller oversigt, oplyser antallet af soldater i NATO, vil bruge ordet "soldater" i flertal. Men Google fremviser resultater som indeholder ordet "soldat" i ental.
Det er en meget irriterende form for "superguessing". Nogle gange kan det dog løses ved at bruge gåseøjne.
Det ser jeg sjovt nok slet ikke som problem, da jeg som regel bruger flere søgeord. Det gælder nemlig om at forestille sig, hvad en webside med den ønskede information vil indeholde af ord.
Jeg tror intentionen er at begrænse de tags (og dermed den relaterede information), som bliver vist sammen med en artikel, til de mest relevante, eller tilmed udelukke nogle tags (tænk information om rygestop i en artikel om Prince of Persia).
Måske er det en mulighed på længere sigt at udregne, hvilke ord, der er beslægtet med hinanden ud fra, hvor ofte de optræder sammen i tags til en artikel. Ved at udregne ords "nærhed" vil man kunne linke til begreber, selv om de ikke direkte er nævnt i artiklen. Man ville også kunne finde ud af hvilke ord i en artikel, der hører sammen, og dermed udlede et emne, som man igen kunne bruge til at sortere tags fra, som ikke er nært beslægtet med emnet.

