Licentie

CC BY-SA 4.0
9/5/2017

Historisch krantenarchief gepubliceerd als Linked Open Data

  • Techblog

Op de website Nieuws van de Groote Oorlog, een initiatief van meemoo, vind je meer dan 50.000 gedigitaliseerde kranten uit de Eerste Wereldoorlog. Meemoo werkt voortdurend aan de toegankelijkheid van dit digitale archief. In deze blog beschrijven we hoe we onderzoekers in staat stellen om grootschalige en semi-automatische zoekopdrachten uit te voeren in dit archief door onze toepassing van Linked Data.

Linked Open Data

Steeds meer organisaties vinden hun weg naar Linked Open Data (LOD) om hun data te publiceren. Deze methode laat toe om verschillende bronnen, zoals een locatie, een krant of een persoon, met elkaar te linken. Hierdoor kunnen nieuwe relaties of relaties die minder voor de hand liggen zichtbaar worden. Open Data wijst op het feit dat deze bronnen gepubliceerd zijn volgens een open licentie. Bij Het Archief worden de metadata vrijgegeven onder een CC0-licentie en zijn ze dus open. De inhoud van de kranten en de OCR-tekst vallen niet onder deze licentie (zie voetnoot). In het geval van ons krantenarchief ligt de uitdaging bij het herkennen van belangrijke entiteiten zoals een bekende persoon en die proberen te linken met bijvoorbeeld Wikipedia. Onderzoekers kunnen zo aan de hand van een SPARQL-query informatie uit Wikipedia benutten om kranten samen te stellen voor een collectie.

Elke bron, zoals een krant, locatie of persoon wordt met een URI geïdentificeerd zodat andere bronnen hier naar kunnen verwijzen. Om links tussen informatie voor te stellen maakt Linked Data gebruik van triples. Een triple kan beschouwd worden als een uitdrukking die bestaat uit een vast patroon, opgebouwd uit een subject, predikaat en object. Hierbij is het subject de bron waarover gesproken wordt en heeft dat subject een relatie (predikaat) met een object. Dit object kan een andere bron zijn of een bepaalde waarde zoals een voornaam bevatten. Neem nu als voorbeeld volgend feit: “de krantenpagina met als URI <http://data.viaa.be/noid/6d5p844s42191512140002> bevat een tag die Alfred Bastien voorstelt”. Dit kan herleid worden tot volgende triple:

Subject: <http://data.viaa.be/noid/6d5p844s42191512140002> → de besproken krant

Predikaat: <http://www.bbc.co.uk/ontologies/creativework#tag> → heeft een tag van

Object: <http://fr.dbpedia.org/resource/Alfred_Bastien> → Alfred Bastien

Hoe wij Belgische oorlogskranten publiceerden als Linked Open Data

Stap 1: bestaande informatie omzetten

Het media asset management (MAM) systeem van meemoo bevat reeds waardevolle metadata zoals titel, organisatie en datum. Deze ruwe data werden opgehaald en omgezet naar het Turtle-formaat. De code van het script is beschikbaar als open-source op GitHub. Voor de semantische beschrijvingen werd o.a. de BBC Creative Work Ontology gebruikt. De Creative Work-klasse bevat eigenschappen zoals titel, tag en datum van creatie die ook bij onze databank hetarchief van toepassing zijn. De Optical Character Recognition (OCR) tekst en scan van een pagina zijn echter niet beschikbaar als Open Data, omdat hierop nog auteursrechten kunnen rusten. Alle andere metadata zijn vrij beschikbaar als Open Data volgens CC0.

Stap 2: linken met externe bronnen

In een tweede stap willen we metadata toevoegen aan hetarchief die de koppeling maken met informatie een externe bron. Hiervoor kozen we DBpedia, die een extractie van informatie uit Wikipedia naar Linked Data gemaakt heeft. Dit doen we door bekende personen en plaatsnamen te extraheren uit de OCR-tekst van elke pagina. De tool die we hiervoor gebruikten is DBpedia Spotlight. Deze service herkent en classificeert entiteiten zoals plaats-, persoons- en organisatienamen met behulp van Stanford’s Named Entity Recognition (NER) software en geeft de DBpedia URI’s hiervan terug. Zo vonden we gemiddeld 33 entiteiten per pagina.

Stap 3: Triple Pattern Fragments

Een belangrijke uitdaging bij Linked Open Data is het gebruik ervan. Eén object, in dit geval een krant, zal enkele tientallen links bevatten. Deze linken zelf opnieuw naar enkele tientallen andere objecten. Hierdoor kunnen opgestelde queries snel complex worden en veel resources van een server vereisen. Om dit te tackelen kan de data gepubliceerd worden op een specifieke manier. De triples werden gepubliceerd aan de hand van een Triple Pattern Fragments Interface (TPF). Het idee hierachter is dat een server enkel HTTP GET-requests volgens een bepaald triplepatroon beantwoordt. De triples die hiermee overeenstemmen worden een fragment genoemd en kunnen in cache opgeslagen worden waardoor weinig resources van de infrastructuur nodig zijn. De eenvoudige interface laat toe dat intelligente clients, zoals een webapplicatie, gebouwd kunnen worden. Andere organisaties, zoals DBpedia en Wikidata, publiceren ook via zo’n TPF-interface waardoor een client vragen kan beantwoorden over al deze databronnen heen.

Toepassing: krantencollectie bouwen

Om een collectie semi-automatisch te bouwen, maken we gebruik van de gegenereerde DBpedia-tags van stap 2. Figuur 1 (zie hieronder) toont een voorbeeldvraag die een TPF-cliënt kan beantwoorden, namelijk: “Geef mij alle kranten die een verwijzing bevatten naar frontschilders”. Frontschilders komen niet an-sich voor in onze metadata, maar via linked open databronnen kunnen we een lijst van alle frontschilders ophalen en in dezelfde query controleren of die voorkomen in de kranten op hetarchief. Hier kan je deze query zelf uitvoeren.

Voorbeeld van een TPF-client die alle kranten met een verwijzing naar een frontschilder opvraagt. Links zie je een screenshot en rechts een woordje uitleg:

Zoals je in bovenstaand voorbeeld ziet, creëert het linken van data nieuwe opportuniteiten: we beperken ons niet langer tot de metadata die opgeslagen zijn in ons eigen systeem, maar kunnen aan de hand van bestaande metadata-bronnen, zoals DBpedia, queries op onze dataset loslaten die vroeger veel manueel werk of scripting vergden om te beantwoorden.

NER-software zoals die van Stanford doet slechts een best effort om entiteiten te herkennen. De fouten die er zijn, zijn vaak te wijten aan slechte OCR-kwaliteit en een verschil in tijdsperiode. Een volgende stap zou het opzetten van een crowdsource-tool zijn die anderen in staat stelt om verbeteringen zelf in te voeren.

Meer weten over meemoos Linked Data-projecten? Bekijk dan zeker ook dit project.

De linked dataset kan hier gequeried worden.

VOETNOOT: Zaken als de naam van een krant of de publicatiedatum, kunnen beschouwd worden als open data. Voor de inhoud van de kranten en de OCR-tekst ligt de situatie iets anders. Het grootste deel van de krantenartikelen en illustraties is niet ondertekend. In België zijn anonieme werken auteursrechtelijk beschermd tot 70 jaar na publicatie. Die termijn is ruim verstreken en zodoende behoort het grootste deel van de collectie inmiddels tot het publieke domein. In uitzonderlijke gevallen is nog individueel auteursrecht van toepassing. We kunnen dus niet garanderen dat al het bronnenmateriaal op Nieuws van de Groote Oorlog daadwerkelijk vrij is van auteursrechten én dus open is.

We halen de pagina op, even geduld...