Afstudeerproject Bachelor Informatiekunde 2008 Universiteit van Amsterdam
Het ontsluiten van Nederlandse Parlementaire Publicaties naar Brits voorbeeld
Naam student: E-mail: Opleiding: Begeleider: Tweede beoordelaar: Datum ingediend:
Tim Gielissen
[email protected] Bachelor Informatiekunde Dr. Maarten Marx Valentin Jijkoun 23-06-2008
Inhoudsopgave 1 – Inleiding ................................................................................................................................................................................ 3 Overzicht van de scriptie........................................................................................................................................................ 4 2 – Achtergrond.......................................................................................................................................................................... 5 2.1 Inleiding ........................................................................................................................................................................... 5 2.2 Nederland ........................................................................................................................................................................ 5 Staten-Generaal Digitaal (SGD).......................................................................................................................................... 5 Parlando ............................................................................................................................................................................ 6 Sargasso: Actie Open Democratie 1.0 ............................................................................................................................... 6 Overige gerelateerde Nederlandse initiatieven ................................................................................................................ 7 2.3 Internationaal .................................................................................................................................................................. 7 Het Europese Parlement ................................................................................................................................................... 7 TheyWorkForYou.com ....................................................................................................................................................... 7 2.4 Conclusies ........................................................................................................................................................................ 8 3 – Analyse ............................................................................................................................................................................... 10 3.1 Analyse huidige situatie ................................................................................................................................................. 10 3.2 Gewenste situatie .......................................................................................................................................................... 14 3.3 Literatuur ....................................................................................................................................................................... 14 3.4 Conclusies ...................................................................................................................................................................... 18 4 – De data ............................................................................................................................................................................... 19 4.1 De oorspronkelijke data................................................................................................................................................. 19 Formaten ......................................................................................................................................................................... 19 Structuur.......................................................................................................................................................................... 19 Metadata ......................................................................................................................................................................... 20 4.2 Data-opslag en transformatie ........................................................................................................................................ 21 4.3 Kwaliteit van de originele data....................................................................................................................................... 22 4.4 Datavergaring methode ................................................................................................................................................. 23 4.5 Datavergaring resultaat ................................................................................................................................................. 25 4.7 Kwaliteit van de opgehaalde data.................................................................................................................................. 28 4.8 Conclusies ...................................................................................................................................................................... 28 5 – Ontwikkeling van het systeem............................................................................................................................................ 30 5.1 ETL-proces...................................................................................................................................................................... 30 Fase 1: Extractie............................................................................................................................................................... 30 Fase 2: Integratie ............................................................................................................................................................. 36 Fase 3: Aggregatie ........................................................................................................................................................... 37 Resultaat: De database.................................................................................................................................................... 38 5.2 Het ontwikkelen van de Website/Zoekmachine ............................................................................................................ 40 De website: Algemeen..................................................................................................................................................... 40 De website: Zoeken ......................................................................................................................................................... 40 De website: De zoekmachine .......................................................................................................................................... 42 De website: Resultaten.................................................................................................................................................... 42 5.3 De pipeline ..................................................................................................................................................................... 48 5.4 Conclusies ...................................................................................................................................................................... 49 6 – Discussie ............................................................................................................................................................................. 50 6.1 Sargasso en PoliDocs...................................................................................................................................................... 50 6.2 De speerpunten van het project .................................................................................................................................... 52 6.3 Bezoek aan de Tweede Kamer ....................................................................................................................................... 53 6.4 Beperkingen ................................................................................................................................................................... 54 6.5 Zwakke punten............................................................................................................................................................... 54 6.6 Conclusies ...................................................................................................................................................................... 55 7 – Vervolgonderzoek............................................................................................................................................................... 56 8 – Conclusie ............................................................................................................................................................................ 57 Referenties............................................................................................................................................................................... 59 Bijlagen .................................................................................................................................................................................... 60 1. Brief Sargasso: Actie Open Democratie 1.0 ................................................................................................................. 60 2. Voorbeeld Invoerbestand (Originele PDF)................................................................................................................... 62 3. Voorbeeld tussen-uitvoer (uitvoer pdftohtml) ............................................................................................................ 63 4. Voorbeeld uiteindelijke uitvoer (uitvoer eigen script)................................................................................................. 66 5. Document Type Definition (DTD) samengevoegde schema ........................................................................................ 68
Het ontsluiten van Nederlandse Parlementaire Publicaties
2
1
Inleiding 1 – IN LEIDI NG
De Staten-Generaal van het Koninkrijk der Nederlanden vertegenwoordigt het volk van Nederland. Het parlement, zoals de Staten-Generaal ook wel genoemd wordt, heeft onder andere als taak de regering te controleren en heeft ook een aandeel in de besluitvorming op nationaal niveau. Met deze taak komt de plicht mee om verantwoording af te leggen aan het volk. Het parlement vertegenwoordigt immers de burgers van Nederland. Onder andere om deze reden verschijnen er dagelijks Parlementaire publicaties. Dit zijn bijvoorbeeld agenda’s van de Eerste en Tweede Kamer of uitwerkingen van Kamervragen uit de Eerste en Tweede Kamer. Dagelijks verschijnen er vele tientallen van dit soort publicaties. Het is onduidelijk hoeveel mensen actief deze publicaties doornemen of wat voor soort mensen hier gebruik van maken, maar er kan toch wel met een behoorlijke mate van zekerheid gezegd worden dat het grootste deel van de Nederlandse bevolking deze publicaties niet doorneemt. Het is ook veel informatie voor één persoon om door te nemen op een dag naast de normale dagelijkse bezigheden. De meeste mensen zullen de politiek volgen via nieuwsberichten. Naast het informeren van het volk over wat er de afgelopen dag gebeurd is, hebben de Parlementaire publicaties ook nog een andere functie. Alle Parlementaire publicaties worden namelijk bewaard zodat er een archief ontstaat waarin mensen kunnen zoeken. Op dit moment zijn er twee van zulke archieven op het 1 internet. De Koninklijke Bibliotheek heeft de Parlementaire publicaties van 1984 tot 1995 beschikbaar gesteld 2 en SDU uitgevers stelt de Parlementaire publicaties van 1995 tot heden beschikbaar op hun website . Mensen kunnen in deze archieven zoeken in de verschillende soorten documenten. Ze kunnen bijvoorbeeld zoeken naar de ontwikkelingen rond een bepaalde wet of zoeken naar eerdere publicaties rondom een onderwerp dat weer actueel is geworden om zo achtergrondinformatie te krijgen. De Parlementaire publicaties hebben dus twee functies voor het volk: 1. Het volk informeren over de dagelijkse gang van zaken 2. Een archief bijhouden waarin men kan zoeken De eerste functie lijkt voor het grootste deel overgenomen te zijn door nieuwsmedia. Het voordeel hiervan is dat de populariteit van het nieuws ervoor zorgt dat belangrijke politieke gebeurtenissen bij veel mensen bekend zijn. Het nadeel is dat nieuws niet compleet is. Er wordt alleen aandacht besteed aan de onderwerpen of gebeurtenissen die genoeg nieuwswaarde hebben. De tweede functie wordt nog wel vervult door de uitgevers van de Parlementaire publicaties (die werken in opdracht van de overheid). Er zijn echter geluiden uit de maatschappij gekomen dat vooral het archief met hedendaagse informatie niet naar wens functioneert. Zo is het collectieve weblog Sargasso in 2005 de ‘Actie Open Democratie 1.0’ begonnen waarin ze aandacht vragen voor deze kwestie (Actie Open Democratie 1.0 - De brief, 2005). Ze hebben een brief geschreven aan de Tweede Kamer die onder andere een lijst met wensen/eisen voor een eventueel nieuwe site bevatte. De twee functies worden dus nog niet naar behoren vervult aan de hand van de Parlementaire publicaties als primaire bron. In dit onderzoek wordt er gekeken of deze situatie verbeterd kan worden door een oplossing te ontwerpen en deels te realiseren. Als uitgangspunt wordt een soortgelijke website gebruikt, die voor een groot 3 deel ook voldoet aan de wensen van Sargasso, namelijk: TheWorkForYou.com . Deze Engelse website ontsluit de Parlementaire publicaties van het Verenigd Koninkrijk van Groot-Brittannië en Noord Ierland. De hoofdvraag van dit onderzoek luidt als volgt: Is het mogelijk om Nederlandse Parlementaire publicaties van 1814 tot heden te ontsluiten op een soortgelijke manier als TheyWorkForYou.com dat doet voor de Britse Parlementaire data sinds 2001, waarbij rekening gehouden wordt met de specificaties van de "Actie Open Democratie 1.0"?
1
Staten-Generaal Digitaal, http://www.statengeneraaldigitaal.nl Parlando, http://parlando.sdu.nl/cgi/login/anonymous 3 TheyWorkForYou.com, http://www.theyworkforyou.com 2
Het ontsluiten van Nederlandse Parlementaire Publicaties
3
Om een dergelijke ontsluiting te kunnen realiseren zullen verschillende bronnen gecombineerd moeten worden, in ieder geval de collecties van de Koninklijke Bibliotheek en van SDU Uitgevers. Dit zal waarschijnlijk één van de grootste uitdagingen vormen voor een dergelijke ontsluiting. Daarom is er een tweede, meer technische hoofdvraag opgesteld, namelijk: Is het mogelijk de dataontsluiting robuust te maken voor alle problemen die ontstaan door het werken met zeer gevarieerde, oude data (veranderende werkwijzes en layout, spellings-variatie, OCR-problemen, etc.)? Om deze beide hoofdvragen te beantwoorden zijn er verscheidene deelvragen opgesteld, te weten: V1. V2. V3. V4. V5. V6. V7. V8. V9. V10. V11. V12.
Hoe is de huidige stand van zaken rondom de ontsluiting van Parlementaire publicaties in Nederland en in het buitenland? Hoe verhouden de websites die Nederlandse Parlementaire publicaties aanbieden zich tot de gewenste situatie die geschetst kan worden door een combinatie van de wensen van Sargasso en het voorbeeld TheyWorkForYou.com? Wat wordt er in de literatuur gezegd over het ontwikkelen van een systeem zoals het systeem dat in dit project beoogd wordt om te maken en wat zijn de mogelijke gevaren die beschreven worden? Wat zijn de kenmerken van de originele data van Staten-Generaal Digitaal en Parlando en wat moet er gebeuren met deze data? Wat is de kwaliteit van de originele data en van de opgehaalde data? Hoe wordt de data opgehaald en wat voor resultaten levert dat op? Hoe zijn in dit project de drie fases van het ETL-proces dat in de literatuur wordt beschreven ingevuld en verlopen? Wat heeft het ontwikkelen van de website/zoekmachine opgeleverd? Hoe verhoudt de zoekmachine/website zich tot de specificaties opgesteld in de ‘Actie Open Democratie 1.0’ door Sargasso en de speerpunten die in dit project zijn opgesteld? Hoe wordt de zoekmachine/website ontvangen bij professionele gebruikers? Wat zijn de beperkingen van het project en de zwakke punten van het ontwikkelde systeem? Wat moet er in verder onderzoek gebeuren om het ontwikkelde systeem verder te verbeteren?
Deze deelvragen zullen door de verschillende secties heen beantwoord worden om uiteindelijk tot een conclusie te komen waarin teruggeblikt wordt op de hoofdvragen. In dit onderzoek zal er voornamelijk gewerkt worden met de Handelingen. Een project dat parallel loopt aan dit project zal meer gericht zijn op de Kamervragen. Op verschillende punten zal worden samengewerkt en dit zal ook worden aangegeven.
Overzicht van de scriptie In de volgende sectie zal er gekeken worden naar de huidige stand van zaken. De verschillende soortgelijke projecten in zowel het binnenland als het buitenland zullen worden beschreven. Daarna volgt de sectie over de data waarmee gewerkt is. In die sectie zal de data vanuit verschillende invalshoeken beschreven worden. Vervolgens wordt de ontwikkeling van het systeem en de website beschreven in verschillende fases. Hierbij worden de resultaten ook al gepresenteerd. In de sectie ‘Discussie’ worden deze resultaten onder de loep genomen. Hier wordt de ontwikkelde website onder andere vergeleken met de wensen uit de Actie Open Democratie 1.0. In de laatste sectie voor de afsluiting wordt er nog gekeken naar mogelijk vervolgonderzoek. De scriptie wordt afgesloten met het beantwoorden van de hoofdvragen.
Het ontsluiten van Nederlandse Parlementaire Publicaties
4
2
Achtergrond 2 – A CHTE RG R OND
In de sectie ‘Achtergrond’ wordt er gekeken naar verschillende werken en initiatieven die gerelateerd zijn aan dit project. Deze sectie zal de eerste deelvraag beantwoorden: Hoe is de huidige stand van zaken rondom de ontsluiting van Parlementaire publicaties in Nederland en in het buitenland? 2.1 Inleiding De werken en initiatieven die in deze sectie besproken zullen worden, zullen vergeleken worden op de volgende punten: periode waaruit de publicaties komen die beschikbaar gesteld worden -
documenttypes die aangeboden worden dit kunnen bijvoorbeeld Kamervragen zijn, of agenda’s
-
het gebruik van permanente links (permalinks) permalinks zijn URL’s die hetzelfde blijven waardoor er altijd naar verwezen kan blijven worden
-
de documentformaten waarin de Handelingen worden aangeboden bijvoorbeeld PDF, of Microsoft Word-documenten
-
de zoekfuncties en de antwoordeenheid van de Handelingen. de zoekfuncties zijn de mogelijkheden die gebruikers hebben om te zoeken op een bepaalde site de antwoordeenheid van de handelingen geeft aan wat een gebruiker terugkrijgt als hij zoekt in de Handelingen, dit kan bijvoorbeeld een hele vergadering zijn, of slechts een deel ervan
Op het einde van deze sectie worden al deze punten samengebracht in één overzichtstabel. 2.2 Nederland In Nederland zijn er twee belangrijke bronnen van Parlementaire publicaties, namelijk Staten-Generaal Digitaal (SGD) en Parlando. Deze twee bronnen zullen hier beide, apart besproken worden. Vervolgens wordt er gekeken naar enkele initiatieven die te maken hebben met de ontsluiting van Parlementaire publicaties. Staten-Generaal Digitaal (SGD) De website Staten-Generaal Digitaal is de website van de Koninklijke Bibliotheek waarop Parlementaire publicaties worden aangeboden uit de periode van 1984 tot 1995. Van die periode zijn de Kamervragen, Handelingen en Kamerstukken beschikbaar. Kamerstukken zijn schriftelijk uitgewisselde stukken tussen de regering en het parlement. Deze collectie is nog steeds aan het uitbreiden. De bedoeling is om de Parlementaire publicaties sinds 1814 op te nemen in de collectie. De Koninklijke Bibliotheek wil in de toekomst ook nog andere documenttypes aanbieden op de website, bijvoorbeeld registers. Al het materiaal dat op Staten-Generaal Digitaal staat is een gedigitaliseerde vorm van een papieren document. Voor het omzetten van een papieren document naar een digitaal document wordt de techniek Optical Character Recognition (OCR) gebruikt, in het Nederlands ook wel optische tekenherkenning genoemd. Het papieren document wordt gescand en de software probeert vervolgens in de afbeelding de tekst en de positie van de tekst te herkennen. De afbeelding, de tekst en informatie over de tekst (grootte, positie, etc.) worden samengevoegd in een Portable Document Format (PDF) bestand. Als een gebruiker het PDF-bestand opent dan ziet hij de afbeelding. De tekstlaag eronder wordt voornamelijk gebruikt om te kunnen zoeken in de bestanden en om bepaalde woorden te kunnen markeren. Op de website van Staten-Generaal Digitaal worden deze beide mogelijkheden gebruikt. De tekstlaag is vooral belangrijk om de PDF-bestanden doorzoekbaar te maken. Bij het proces van het digitaliseren wordt ook voor ieder document met de hand metadata toegevoegd, ofwel informatie over het betreffende bestand. Op Staten-Generaal Digitaal wordt deze metadata niet getoond, maar alleen gebruikt om de gebruikers te laten zoeken.
Het ontsluiten van Nederlandse Parlementaire Publicaties
5
Bezoekers van de website kunnen op twee manieren zoeken, namelijk eenvoudig zoeken en uitgebreid zoeken. Bij eenvoudig zoeken kan de gebruiker zoekwoorden invoeren en aangeven in welke vergaderjaren hij wil zoeken. Uitgebreid zoeken biedt de gebruiker meer opties. Naast zoekwoorden en vergaderjaar kan de gebruiker ook aangeven van welke Kamer hij resultaten wil zien en welke documenttypes opgenomen moeten worden in de zoekresultaten. Alle drie de documenttypes hebben ook nog eigen zoekopties, zoals het opgeven van een titel, een datum, paginanummers of andere kenmerkende nummers. Beide manieren van zoeken komen uit bij dezelfde resultatenpagina. De resultaten worden gepresenteerd in een geordende lijst. De ordening van deze lijst is onbekend. Er lijkt gebruikt gemaakt te worden van een stapsgewijze ordening die voornamelijk gebaseerd is op de datum. Ieder resultaat is op drie manieren te bekijken. Ten eerste wordt het PDF-bestand aangeboden. Gebruikers kunnen dit opslaan op hun eigen computer. Verder is er ook een mogelijkheid om het PDF-bestand binnen de site zelf te bekijken binnen de zogenaamde ‘docviewer’. Deze docviewer kan de gebruiker de pagina tonen die relevant is voor zijn zoekopdracht, ook al is dit niet de eerste pagina van het PDF-bestand. Ook kan de docviewer de zoektermen markeren. Dit zijn twee functionaliteiten die niet te bieden zijn bij het downloaden van het originele PDF-bestand. Ten slotte is er ook nog de optie om het resultaat als HTMLbestand te bekijken. Hierin staat de tekst uit het PDF-bestand dan als tekst, zonder opmaak. Een handeling is op Staten-Generaal Digitaal terug te vinden in één bestand. Een vergadering is dus gedocumenteerd in één PDF-bestand. Staten-Generaal Digitaal maakt gebruik van zogenaamde permalinks. Permalinks zijn webadressen die altijd hetzelfde blijven. Hierdoor ontstaat bijvoorbeeld de mogelijkheid om direct te verwijzen naar ieder PDFbestand dat op de website wordt aangeboden. Parlando Parlando is de website van SDU uitgevers waar de Parlementaire publicaties van 1995 tot heden op gepubliceerd worden. De site wordt bijna dagelijks aangevuld met de meest recente publicaties. Het materiaal op Parlando is niet gedigitaliseerd zoals dat bij Staten-Generaal Digitaal het geval is. Het materiaal op Parlando heeft een digitaal origineel. Parlando biedt meer verschillende documenttypes aan dan Staten-Generaal Digitaal. Zo heeft Parlando naast Kamervragen, Handelingen en Kamerstukken ook agenda’s, bijlagen en nietdossierstukken als aparte documenttypes. De gebruiker heeft op Parlando ook twee zoekmogelijkheden: zoek beperkt en zoek uitgebreid. In ‘zoek beperkt’ kan de gebruiker een periode en een documenttype kiezen en kan de gebruiker kiezen of hij onopgemaakte stukken, definitieve stukken of beide te zien krijgt. De gebruiker kan in ‘zoek beperk’ geen zoektermen opgeven. In ‘zoek uitgebreid’ kan wel gezocht worden op trefwoorden in de tekst en/of in de beschrijving. Verder kunnen de titel, indiener/ondertekenaar, nummer en volgnummer, kamer en een bereik van twee data gespecificeerd worden. De resultaten worden op Parlando getoond in een lijst die geordend is naar datum. Het meest recente resultaat staat bovenaan. Voor ieder resultaat worden wat kenmerken getoond, zoals datum, soort en kamer, en wordt een bibliografische beschrijving getoond. De gebruiker heeft per resultaat twee keuzes: de metadata over het resultaat kan bekeken worden of het PDF-bestand kan gedownload worden. Vanaf de pagina met de metadata kan het PDF-bestand ook gedownload worden. Een belangrijk verschil met Staten-Generaal Digitaal is dat de Handelingen zijn opgedeeld naar onderwerp. Bij Staten-Generaal Digitaal bevat één PDF-bestand één vergadering. Bij Parlando bevat één PDF-bestand één onderwerp uit een vergadering. In een vergadering kunnen meerdere onderwerpen behandeld worden. Een ander belangrijk verschil met Staten-Generaal Digitaal is dat Parlando gebruik maakt van sessies. Informatie over je zoekopdrachten wordt een beperkte tijd bewaard. Daarna vervalt deze informatie. Dit betekent ook dat Parlando geen permalinks heeft, de links naar de PDF-bestanden worden binnen korte tijd onbruikbaar. Sargasso: Actie Open Democratie 1.0 Sargasso is een Nederlands collectief weblog dat zich voornamelijk bezighoudt met onderwerpen in de 4 wetenschap, cultuur en politiek . In 2005 zijn enkele leden van dit weblog de ‘Actie Open Democratie 1.0’ gestart. (Actie Open Democratie 1.0 - De brief, 2005) In het kader van deze actie hebben ze een brief geschreven naar de voorzitter, medewerkers en leden van de Tweede Kamer. In deze brief wordt aandacht gevraagd voor de huidige situatie waarop de Parlementaire publicaties toegankelijk zijn. Volgens de schrijvers 4
Sargasso, http://sargasso.nl
Het ontsluiten van Nederlandse Parlementaire Publicaties
6
voldoet Parlando niet aan “de meest eenvoudige gebruikseisen”. (Actie Open Democratie 1.0 - De brief, 2005) De schrijvers willen graag een verbetering zien en bieden hun hulp aan hierbij te helpen. In de bijlage van de brief worden eisen/wensen genoemd waaraan een nieuw, verbeterd systeem zou moeten voldoen. De brief en de wensen zijn opgenomen in de bijlage. Een belangrijke wens die bijvoorbeeld genoemd wordt in zowel de brief als de bijlage is het gebruik van permalinks. Overige gerelateerde Nederlandse initiatieven 5 GeenCommentaar is een collectief weblog dat politiek en actualiteit als hoofdthema’s heeft . In 2007 maakte een lid van dit weblog een website om Parlando heen waardoor er een manier ontstond om direct naar documenten op Parlando te verwijzen. De site functioneert dan als een soort bemiddelaar tussen de gebruiker en Parlando. Het verwijzen naar Parlando via GeenCommentaar wordt door verschillende weblogs gebruikt maar ook door andere sites zoals de nieuwssite Nu.nl. 6 ikregeer.nl is een soortgelijk initiatief dat zelf probeert een beter alternatief voor Parlando te bieden . ikregeer.nl biedt alle PDF-bestanden zelf aan op hun eigen servers. Naar deze PDF-bestanden kan direct verwezen worden. ikregeer.nl beperkt zich tot Kamervragen en Kamerstukken. Van deze documenttypes bieden ze dezelfde data en metadata aan als Parlando dat doet. Op ikregeer.nl is deze metadata gebruikt voor extra navigatiemogelijkheden. Gebruikers kunnen bijvoorbeeld op een rubriek klikken om meer documenten van een bepaalde rubriek te zien. De gebruiker kan ook zelf zoeken op trefwoorden. Resultaten worden geordend naar datum. 2.3 Internationaal In het buitenland wordt ook politieke documentatie ontsloten. In deze sectie zullen twee voorbeelden beschreven worden. Ten eerste de website van het Europese Parlement en vervolgens TheyWorkForYou.com uit Groot-Brittannië. Het Europese Parlement Het Europese Parlement is de volksvertegenwoordiging van het volk in de Europese Unie. Ook het Europese Parlement heeft veel Parlementaire publicaties die ontsloten moeten worden. Op de website van het Europese 7 Parlement zijn deze te vinden . Er zijn verschillende manieren waarop gebruikers kunnen zoeken naar deze documenten. Handelingen kan men bijvoorbeeld zoeken aan de hand van een datum en plaats waar de vergadering geweest is. Men kan ook geavanceerd zoeken op trefwoorden. De resultaten worden geordend op datum, de meest recente resultaten eerst. Resultaten worden aangeduid met een titel en een datum. Handelingen zijn op de website van het Europese Parlement opgedeeld in onderwerpen, net als op Parlando. Als er wordt gezocht op trefwoorden krijgt de gebruikers een onderwerp terug als resultaat en niet de hele vergadering. Wanneer men zoekt op bepaalde personen, eventueel in combinatie met trefwoorden, dan krijgt de gebruiker eerst een uitspraak terug. Wanneer er dan wordt geklikt op “volledige tekst” krijgt men het hele onderwerp te zien. Naast Handelingen worden er op de website ook andere documenttypes aangeboden, zoals agenda’s en ontwerpresoluties. Wat bijzonder is aan de site van het Europese Parlement is dat de Parlementaire publicaties in 22 verschillende talen beschikbaar zijn. Verder is het bijzonder dat het Europese Parlement geen PDF-bestanden van Handelingen aanbiedt. De informatie is alleen op de website zelf te bekijken. Naar de informatie is wel direct te verwijzen. TheyWorkForYou.com De website TheyWorkForYou.com is ontwikkeld door mySociety, wat op zichzelf een project is van de 8 liefdadigheidsinstelling ‘UK Citizens Online Democracy’ . De website is bijna helemaal ontwikkeld door vrijwilligers. Het doel van de site is om er voor te zorgen dat mensen bij kunnen houden wat de leden van het parlement zeggen en doen, en om te zorgen dat mensen ook reacties achter kunnen laten op de website. Bij iedere Kamervraag, antwoord of uitspraak kan met reacties achter laten. TheyWorkForYou.com biedt gebruikers verschillende manieren om informatie te zoeken. Ten eerste kunnen gebruikers informatie over verschillende personen bekijken door te zoeken op postcode. Iedere 5
GeenCommentaar, http://www.geencommentaar.nl ikregeer.nl, http://www.ikregeer.nl 7 Europese Parlement, http://www.europarl.europa.eu 8 UK Citizens Online Democracy is een geregistreerd goed doel dat zich o.a. bezighoudt met ontwikkelen van ‘e-democracy’ websites 6
Het ontsluiten van Nederlandse Parlementaire Publicaties
7
persoon heeft een overzichtpagina met daarop zijn of haar meest recente activiteiten en wat algemene informatie. Verder kunnen gebruikers op de site zoeken op trefwoorden. Er is ook een ‘advanced seach’ waarmee gebruikers hun zoekopdracht specifieker kunnen maken, bijvoorbeeld door te kiezen voor een bepaald datumbereik, een bepaalde partij of documenttype. Gebruikers komen dan op een resultaten pagina waar de resultaten geordend zijn op datum (meest recente eerst). Gebruikers kunnen er ook voor kiezen om de resultaten op relevantie te sorteren. Voor een zoekopdracht kan ook gekeken worden welke personen het vaakste voorkomen. Gebruikers kunnen ook zonder te zoeken bij recente informatie komen. Op de startpagina staan bijvoorbeeld de meest recente publicaties ingedeeld naar documenttype. Ook kunnen gebruikers een deel van het Verenigd Koninkrijk kiezen, bijvoorbeeld Wales, om daar de meest recente publicaties van te zien. Ten slotte hebben gebruikers de mogelijkheid om zich te abonneren op bepaalde personen of onderwerpen. Een resultaat van een zoekopdracht naar Handelingen is een uitspraak. Als er meerdere relevante uitspraken binnen één vergadering zijn wordt dit aangegeven in de resultatenlijst. Wanneer de gebruiker een resultaat van een handeling kiest komt hij midden in het debat terecht op de plaats waar de uitspraak gedaan is. Al deze uitspraken hebben een eigen permalink. Het is dus mogelijk om direct naar één specifieke uitspraak te verwijzen. Ook kan er op iedere afzonderlijke uitspraak gereageerd worden. Ten slotte kan over TheyWorkForYou.com gezegd worden dat het erg openbaar is. De broncode van de website is vrij beschikbaar en ook alle data is in XML-formaat beschikbaar. Er is ook een API beschikbaar. Dit wil zeggen dat iedereen de database van TheyWorkForYou.com kan gebruiken, ook in andere websites of (web)applicaties. 2.4 Conclusies In deze sectie is er gekeken naar de huidige stand van zaken rondom het ontsluiten van Parlementaire publicaties in Nederland en in het buitenland. De volgende deelvraag werd beantwoord: Hoe is de huidige stand van zaken rondom de ontsluiting van Parlementaire publicaties in Nederland en in het buitenland? Bij wijze van samenvatting van het antwoord zijn de verschillende websites die Parlementaire publicaties ontsluiten nog eens weergegeven in tabel op de volgende pagina. Deze tabel dient tevens als afsluiting van deze sectie.
Het ontsluiten van Nederlandse Parlementaire Publicaties
8
Tabel 1. – Overzicht verschillende projecten ontsluiting Parlementaire publicaties
Naam Website
Periode
Documenttypes
Perma -links
Staten-Generaal Digitaal
19841995 (OCR)
Kamervragen, Handelingen, Kamerstukken
Ja
Parlando
1995heden
Nee
PDF
Parlando via GeenCommentaar.nl ikregeer.nl
idem
Agenda’s, Kamerstukken, Handelingen, Kamervragen, Nietdossierstukken, Bijlagen idem
Ja
idem
idem
Idem
1995heden
Kamervragen, Kamerstukken
Ja
n.v.t.
n.v.t.
Europees Parlement (internationaal)
1999heden
Agenda’s, Handelingen, Ontwerpresoluties, Vragen, …en meer...
Ja
Website (HTML)
TheyWorkForYou.com (internationaal)
2001heden
Handelingen, “Kamervragen”, Schriftelijke statements
Ja
Website (HTML), XML
Recente publicaties, navigeren via metdata, eenvoudig zoeken op trefwoorden Geordend naar datum Via personen, datum, plaats, of geavanceerd zoeken met trefwoorden Geordend naar datum Persoon, trefwoorden, geavanceerd zoeken, locatie, abonneren, recente publicaties Geordend naar datum, relevantie, persoon
Het ontsluiten van Nederlandse Parlementaire Publicaties
Document formaten Handelingen PDF, docviewer, HTML
Zoekfuncties Eenvoudig zoeken, Geavanceerd zoeken Onduidelijke ordening, voornamelijk datum Zoek beperkt, Zoek geavanceerd Geordend naar datum
Antwoordeenheid Handelingen Vergadering als PDF, gemarkeerde pagina in docviewer Onderwerp
Onderwerp of uitspraak
Uitspraak in vergadering
9
3
Analyse 3 – A NA LYS E
In de vorige sectie is de achtergrond waartegen de project uitgevoerd wordt omschreven. In deze sectie zal deze situatie geanalyseerd worden. De Nederlandse websites worden onder de loep genomen aan de hand van de eisen van Sargasso en de Engelse website TheyWorkForYou.com. Vervolgens wordt er gekeken naar de literatuur die relevant is voor dit project. In deze sectie worden twee deelvragen beantwoord. In sectie 3.1 en 3.2 wordt de volgende vraag beantwoord: Hoe verhouden de websites die Nederlandse Parlementaire publicaties aanbieden zich tot de gewenste situatie die geschetst kan worden door een combinatie van de wensen van Sargasso en het voorbeeld TheyWorkForYou.com? In sectie 3.3 wordt de volgende vraag beantwoord: Wat wordt er in de literatuur gezegd over het ontwikkelen van een systeem zoals het systeem dat in dit project beoogd wordt om te maken en wat zijn de mogelijke gevaren die beschreven worden? 3.1 Analyse huidige situatie In de voorgaande sectie is de huidige stand van zaken beschreven in Nederland en het buitenland op het gebied van het ontsluiten van Parlementaire publicaties. Omdat er in dit project gepoogd wordt om de Nederlandse situatie te verbeteren zal er eerst een analyse gemaakt moeten worden van de Nederlandse situatie. Daarom wordt er deze sectie gekeken naar de sterke en zwakke punten van de manier waarop de Parlementaire publicaties in Nederland op het moment ontsloten worden. Voor deze analyse wordt de lijst van Sargasso gebruikt om de analyse te structureren. Alle punten op de lijst zullen vergeleken worden met de website Staten-Generaal Digitaal en Parlando. Daarna zal er nog een korte vergelijking gemaakt worden tussen Staten-Generaal Digitaal en Parlando tegenover het Engelse TheyWorkForYou.com. * Alle kamerstukken moeten direct te linken zijn (vaste URL); Op Staten-Generaal Digitaal is naar alle vormen van informatie die aangeboden wordt direct te verwijzen met een vaste URL. Gebruikers kunnen dus verwijzen naar het originele PDF-bestand, het HTML-bestand of naar de interne ‘docviewer’. Wanneer men verwijst naar de docviewer is het mogelijk om naar een specifieke pagina te verwijzen en om daar bepaalde woorden op te markeren. Op Parlando wordt gebruik gemaakt van sessies. Dit betekent dat alle links naar PDF-bestanden, metadata of resultatenpagina’s binnen korte tijd onbruikbaar worden voor anderen. SGD
V
Parlando
X
* Alle bij elkaar horende kamerstukken (dossiers) moeten als geheel op te vragen zijn, inclusief eerdere versies van stukken; Op Staten-Generaal Digitaal kunnen Kamerstukken gezocht worden op Kamerstuknummer. De lijst van resultaten bevat dan alle Kamerstukken die hetzelfde Kamerstuknummer hebben. Kamerstukken worden op Staten-Generaal Digitaal echter beschreven als: “De Kamerstukken of Bijlagen zijn schriftelijk uitgewisselde stukken tussen regering en parlement.” (Koninklijke Bibliotheek, 2008)
Het zoeken op een bepaald Kamerstuknummer levert dan ook alleen maar Bijlagen op maar bijvoorbeeld geen Kamervragen of Handelingen. Omdat in de wens van Sargasso het woord ‘dossier’ wordt gebruikt, lijkt het erop dat hier niet hetzelfde bedoeld wordt. Op de website van de Tweede Kamer wordt bijvoorbeeld een ander begrip van ‘dossier’ gehanteerd lijkt het (Tweede Kamer der Staten-Generaal, 2008). Op die website staat informatie over recente dossiers. Hierbij worden ook ‘stukken’ aangeleverd. Dit zijn wel Kamerstukken (schriftelijk uitgewisselde stukken tussen regering en parlement), maar van verschillende Kamerstuknummers.
Het ontsluiten van Nederlandse Parlementaire Publicaties
10
Op Parlando wordt ‘dossier’ weer anders gebruikt. Op Parlando kan gezocht worden op ‘nummer’ en ‘volgnummer’ en deze nummers staan in de metadata achter het kopje ‘dossier’. Wanneer iemand zoekt op een dergelijk dossier bevatten de resultaten Bijlagen, maar ook Kamervragen, Handelingen en zelfs agenda’s. Het is dus moeilijk te zeggen of de beide sites een notie hebben van een bij elkaar horend dossier aangezien er verschillende definities gehanteerd lijken te worden. Wel kan er gezegd worden dat beide websites niet aan de eis voldoen. Wat er ook precies bedoeld wordt met een dossier, het is in beide gevallen niet in zijn geheel op te vragen en eerder versies van stukken zijn er niet in opgenomen. SGD
X
Parlando
X
* Video-opnames en audio-opnames van debatten over bepaalde kamerstukken moeten gekoppeld zijn aan die stukken; Beide websites leveren geen video-opnames of geluidsopnames en deze zijn dus ook niet gekoppeld aan stukken. SGD
X
Parlando
X
* Van alle voorstellen en moties moet direct te zien zijn hoe er gestemd is (niet zoeken via verslagen); Beide websites bieden geen losse voorstellen, moties of stemmingsuitslagen aan. SGD
X
Parlando
X
* Van alle politieke partijen moet direct te zien zijn hoe hun stemgedrag is; Beide websites bieden geen (losse) stemmingsuitslagen aan en ook geen overzicht van meerdere stemmingen. Verder wordt er geen zoekmogelijkheid via partij aangeboden. SGD
X
Parlando
X
* Van alle parlementsleden moet direct te zien zijn hoe hun stemgedrag is; Beide websites bieden geen (losse) stemmingsuitslagen aan en ook geen overzicht van meerdere stemmingen. Verder wordt er geen zoekmogelijkheid via persoon aangeboden. SGD
X
Parlando
X
* Van parlementsleden moet direct opgevraagd kunnen worden welke vragen en moties ze ingediend hebben of mede ondertekend hebben; Zoals eerder beschreven hebben beide websites geen mogelijkheid om te zoeken op personen en bieden ze geen moties aan. SGD
X
Parlando
X
* Bij kamerstukken moet direct zichtbaar zijn wanneer deze behandeld worden of behandeld zijn; Wederom is het hier onduidelijk wat er precies bedoeld wordt met ‘Kamerstukken’. Volgens Staten-Generaal Digitaal zijn Kamerstukken schriftelijk uitgewisselde stukken tussen regering en parlement. Bij brieven wordt niet aangegeven wanneer ze behandeld zijn. Het lijkt er daarom op dat er in de wens van Sargasso een meer algemene invulling aan ‘Kamerstukken’ gegeven wordt, namelijk alle Parlementaire publicaties. Dit zou de wens logischer maken omdat bijvoorbeeld de behandeldatum van Kamervragen en Moties wel aangegeven wordt. Zowel Staten-Generaal Digitaal als Parlando zijn het alleen de Kamervragen waarbij het relevant is om de behandeldatum te vermelden. Van de publicaties die aangeboden worden waarbij een behandeldatum relevant is wordt op StatenGeneraal Digitaal niet direct zichtbaar wanneer deze behandeld zijn. Dit is wel terug te vinden door een zoekresultaat te openen. Wanneer de ‘Kamerstukken’ behandeld worden is natuurlijk op Staten-Generaal Digitaal niet aan de orde omdat de website geen recente data bevat. Op Parlando is bij de Kamervragen wel aangegeven wanneer ze behandeld zijn. Ook hiervoor moet wel vanuit de resultatenpagina een extra stap gezet worden naar de metadata-pagina. Wanneer een Kamervraag behandeld wordt staat niet aangegeven, maar het is ook maar de vraag of dit een reële wens is. Het termijn van het beantwoorden van een Kamervraag is drie weken, dus dit kan ter indicatie eventueel vermeld worden. De vraag of de websites voldoen aan deze wens van Sargasso is een lastige. Strikt gezien is de behandeldatum op beide websites niet direct na het zoeken zichtbaar en hebben beide geen verwijzing naar een mogelijke behandeldatum in de toekomst, hoewel dat bij Staten-Generaal Digitaal ook niet aan de orde is. SGD
Het ontsluiten van Nederlandse Parlementaire Publicaties
X
Parlando
X
11
* Bij de kameragenda moet het mogelijk zijn direct de bijbehorende kamerstukken op te roepen; Staten-Generaal Digitaal biedt geen kameragenda’s aan. Op Parlando worden wel kameragenda’s aangeboden. Vanuit deze agenda’s of de metadata ervan is het niet mogelijk om de bijbehorende ‘Kamerstukken’ direct op te roepen. SGD
X
Parlando
X
* Er moet een mogelijkheid zijn om alleen de basis informatie te zien of een meer uitgebreide set; Het is onduidelijk wat er precies bedoeld wordt met deze wens. Ook de begeleidende brief geeft hier geen uitsluitsel over. In dit project wordt deze wens geïnterpreteerd als: Er moet een mogelijkheid zijn om eenvoudig te zoeken en om geavanceerd te zoeken. Staten-Generaal Digitaal biedt zowel een mogelijkheid om eenvoudig te zoeken als de mogelijkheid om geavanceerd te zoeken. De Parlando website heeft twee zoekmogelijkheden, ‘zoek beperkt’ en ‘zoek uitgebreid’. Ondanks dat er bij ‘zoek beperkt’ van Parlando geen zoektermen ingevoerd kunnen worden lijkt het er toch op dat beide websites voldoen aan deze wens, gezien de huidige interpretatie. SGD
V
Parlando
V
* Bij het zoeken op woorden moeten de resultaten in een tijdslijn van bij elkaar horende stukken getoond kunnen worden; Beide websites bieden geen tijdslijn, enkel een geordende lijst met resultaten. In deze lijst wordt niet duidelijk aangegeven welke stukken al dan niet bij elkaar horen. SGD
X
Parlando
X
* Er moet een open API komen waarmee andere partijen in staat worden gesteld om de beschikbare informatie op verschillende manier verder te behandelen of te tonen; Staten-Generaal Digitaal heeft geen open API. Ondanks dat het grootste gedeelte van de website op XML gebaseerd is, is het moeilijk voor anderen om hier iets mee te doen. Ook Parlando heeft geen (open) API. Het is ook niet mogelijk om de website op welke manier dan ook te integreren in een andere applicatie of website. SGD
X
Parlando
X
* Er moet een mogelijkheid komen om middels RSS op de hoogte te blijven van de publicatie van stukken of bepaalde documenten binnen specifieke dossiers; RSS staat voor Really Simple Syndication (hoewel het volgens sommige mensen voor ‘RDF Site Summary’ staat) en is een middel om gebruikers op de hoogte te houden van vernieuwingen op een website. Gebruikers kunnen zich abonneren op een RSS-stroom van een site. De website stuurt dan de titel en een paar regels van een nieuw verschenen pagina, bijvoorbeeld een nieuwsbericht, naar een RSS-lezer van de gebruiker toe. Als gebruikers iets zien wat ze interessant vinden kunnen ze op het bericht klikken om direct naar het hele bericht op de website te gaan. Zowel Staten-Generaal Digitaal als Parlado bieden geen RSS. Voor Staten-Generaal zou het ook niet voor de hand liggend zijn omdat er niet dagelijks nieuwe informatie bijkomt. Voor Parlando zou RSS wel een goede optie kunnen zijn. Mensen zouden zich kunnen abonneren op bepaalde onderwerpen zoals de eis van Sargasso aangeeft. Maar, dit is in de huidige situatie dus niet mogelijk. SGD
X
Parlando
X
* Alle gegevens moeten in een open, standaard formaat gepresenteerd worden. Er mag geen noodzaak zijn om producten van enkele leveranciers te moeten gebruiken om de gegevens te zien/gebruiken; Op de website van Staten-Generaal Digitaal en Parlando worden de publicaties als PDF-bestanden aangeboden. Sinds 2007 is PDF een open formaat (Adobe, 2008). Beide websites voldoen dus aan deze eis. SGD
V
Parlando
V
* De toegang tot de informatie online moet voldoen aan de eisen van Drempels Weg. De eisen van Drempels Weg zijn opgesteld door de stichting Waarmerk Drempelvrij.nl. Als een website voldoet aan deze eisen kan de site het kwaliteitsmerk ‘Waarmerk Drempelvrij.nl’ krijgen. Een dergelijke website voldoet dan aan internationale normen waardoor de website voor iedereen goed toegankelijk is. De website moet bijvoorbeeld ook toegankelijk zijn voor blinden en slechtzienden of senioren. Hieronder volgt een lijst van relevante richtlijnen voor Staten-Generaal Digitaal en Parlando, richtlijnen over bijvoorbeeld video zijn niet opgenomen in deze lijst omdat beide sites geen video aanbieden.
Het ontsluiten van Nederlandse Parlementaire Publicaties
12
WCAG-ijkpunt 1.1: WCAG-ijkpunt 2.1: WCAG-ijkpunt 4.1: WCAG-ijkpunt 5.1: WCAG-ijkpunt 6.1: WCAG-ijkpunt 6.2: WCAG-ijkpunt 6.3: WCAG-ijkpunt 11.4:
WCAG-ijkpunt 12.1: WCAG-ijkpunt 14.1:
Lever een tekstequivalent voor elk niet-tekstueel element Zorg ervoor dat alle informatie die met behulp van kleur wordt overgebracht ook beschikbaar is zonder kleur, bijvoorbeeld uit de context of opmaak Geef duidelijk veranderingen aan in de natuurlijke taal van de documenttekst en van alle tekstequivalenten (bijvoorbeeld onderschriften) Geef voor tabellen met data de rij- en kolomheaders aan Organiseer documenten zo dat ze zonder style sheets gelezen kunnen worden Zorg ervoor dat equivalenten voor dynamische content worden bijgewerkt als de dynamische content verandert Zorg ervoor dat pagina's bruikbaar zijn als scripts, applets of andere programmaobjecten uitstaan of niet worden ondersteund. Als dit niet het mogelijk is, lever dan equivalente informatie op een alternatieve pagina Als je ondanks alle inspanningen geen toegankelijke pagina kan creëren, lever dan een link naar een alternatieve pagina die W3C technologieën gebruikt, toegankelijk is, equivalente informatie (of functionaliteit) heeft en even vaak wordt geactualiseerd als de ontoegankelijke (oorspronkelijke) pagina Geef elk frame een titel, zodat je de identificatie en navigatie van een frame vergemakkelijkt Geef de duidelijkste en eenvoudigste taal die zich leent voor de content van een website
(Velleman, 2006) Alle richtlijnen nalopen tegenover de beide websites is een onderzoek op zich en staat buiten het bereik van dit project. Wel kan gezegd worden dat beide websites dit waarmerk niet dragen en ook niet aan alle ijkpunten voldoen. Staten-Generaal Digitaal is bijvoorbeeld niet zonder stylesheet te bekijken (WCAG-ijkpunt 6.1) en Parlando biedt geen tekstuele alternatieven voor grafische elementen (WCAG-ijkpunt 1.1). SGD
X
Parlando
X
De websites van Staten-Generaal Digitaal en Parlando voldoen dus aan bijna geen enkele eis van Sargasso. Voor Staten-Generaal Digitaal is dit vaak ook niet raar aangezien ze werken met oude data. Veel eisen zijn dan niet meer zo relevant of zijn niet haalbaar omdat de benodigde gegevens niet beschikbaar zijn. Voor Parlando is het ook niet verwonderlijk dat ze aan bijna geen enkele eis voldoen. De eisen zijn namelijk geschreven op basis van de huidige website van Parlando. De twee eisen waar Parlando wel aan voldoen komen door toeval (PDF is inmiddels een open standaard geworden) of interpretatieverschillen. De lijst met eisen/wensen van Sargasso is een mooi startpunt om te kijken hoe het gesteld is met de huidige situatie, maar de lijst is geen geijkt meetinstrument. Om de huidige situatie nog verder te bekijken worden de websites van Staten-Generaal Digitaal en Parlando daarom hier nog kort vergeleken met het TheyWorkForYou.com. In de sectie ‘Achtergrond’ zijn de websites van Staten-Generaal Digitaal, Parlando en TheyWorkForYou.com al uitgebreid beschreven. Als afsluiting van deze subsectie worden de verschillen nog even kort aangegeven. Een van de grootste verschillen tussen Staten-Generaal Digitaal en Parlando ten opzichte van TheyWorkForYou.com zijn de verschillende manieren waarop gebruikers bij de data kunnen komen. StatenGeneraal Digitaal en Parlando bieden beide een eenvoudige en een geavanceerde zoekmogelijkheid. Gebruikers kunnen zoeken op trefwoorden en enkele restricties meegeven zoals een tijdsperiode of een documenttype. Bij TheyWorkForYou.com kan er ook zo gezocht worden, maar gebruikers hebben ook andere ingangen. Zo kunnen zij ook zoeken op personen of locatie. Iedere persoon of locatie heeft een eigen overzichtspagina. Verder zijn er ingangen via recent gepubliceerde stukken en is er de mogelijkheid om op de hoogte gehouden te worden van bepaalde personen of onderwerpen. TheyWorkForYou.com biedt dus veel meer ingangen tot de collectie dan Staten-Generaal Digitaal en Parlando dat doen. Een ander belangrijk verschil zit hem in het presenteren van de zoekresultaten. Bij Staten-Generaal Digitaal wordt er een ordening gebruikt die voornamelijk gebaseerd is op datum. Bij Parlando wordt er alleen op datum geordend. TheyWorkForYou.com geeft de gebruiker de mogelijkheid om zelf een ordening te kiezen. De gebruiker kan kiezen uit sorteren op relevantie of op datum. Ook kunnen de resultaten gesorteerd worden naar persoon, waarbij de persoon met de meeste hits bovenaan staan. Wat betreft de Handelingen is er nog een belangrijk verschil tussen de sites. TheyWorkForYou.com heeft namelijk een andere notie van antwoord dan Staten-Generaal Digitaal en Parlando. Als een gebruiker in Staten-Generaal Digitaal in Handelingen zoekt hij een PDF-bestand of HTML-bestand van een hele vergadering terug of een pagina daarvan in de interne ‘docviewer’. Op Parlando krijgt de gebruiker een PDF-bestand terug
Het ontsluiten van Nederlandse Parlementaire Publicaties
13
van een deel van een vergadering, namelijk één onderwerp dat behandeld is. Op TheyWorkForYou.com krijgt de gebruiker uitspraken terug. Deze uitspraken zijn in de context van de vergadering getoond. De gebruiker wordt dus niet bovenaan de vergadering neergezet, of op de pagina waar de uitspraak voorkomt, maar bij de uitspraak zelf. Dat TheyWorkForYou.com een andere notie van antwoord heeft betekent ook dat ze anders omgaan met permalinks. TheyWorkForYou.com gebruikt net als Staten-Generaal Digitaal permalinks, maar omdat vergaderingen opgehakt zijn in uitspraken is het op TheyWorkForYou.com ook mogelijk om te verwijzen met een permalink naar één uitspraak. Zoals eerder opgemerkt gebruikt Parlando helemaal geen permalinks. Op TheyWorkForYou.com kunnen gebruikers ook reacties achterlaten, bijvoorbeeld op een uitspraak. Hierdoor ontstaat een meer interactief medium terwijl Staten-Generaal Digitaal en Parlando een eenzijdige informatiestroom hebben. Ten slotte kan er over TheyWorkForYou.com gezegd worden dat ze een erg open site hebben. Er wordt veel gebruik gemaakt van open standaarden zoals XML en de gegevens en het gebruik van TheyWorkForYou.com zijn eenvoudig te integreren in andere sites door het gebruik van een openbare API. 3.2 Gewenste situatie In de brief van Sargasso wordt er een verbeterd systeem voor het ontsluiten van Nederlandse Parlementaire publicaties gewenst. Het lijkt erop dat een soortgelijke website als TheyWorkForYou.com voor Nederland aan veel van deze wensen zou voldoen en zelfs nog andere verbeteringen zou introduceren die niet op de lijst van Sargasso staan, zoals de verschillende manieren om bij de informatie te komen. In dit project wordt er daarom gepoogd een dergelijk systeem te realiseren waarbij er rekening gehouden wordt met de eisen van Sargasso. De eisen van Sargasso worden dus meegenomen, maar het zal vooral de TheyWorkForYou.com website zijn die inspiratie zal bieden. Het combineren van de Sargasso wensen en het voorbeeld van TheyWorkForYou.com heeft geleid tot het opstellen van de volgende speerpunten voor het te ontwerpen systeem: -
Er moet direct verwezen kunnen worden naar alle belangrijke stukken van de site (permalinks), ook naar losse uitspraken in de handelingen Dossiers moeten gegroepeerd worden Bij de verschillende stukken moet de datum van behandeling aangegeven worden (waar mogelijk) De informatie moet via verschillende manieren te benaderen zijn, bijvoorbeeld via persoon, partij of door zoeken op trefwoorden Zoekresultaten moeten op meerdere manieren weergegeven worden, bijv. d.m.v. een tijdslijn Alle gegevens moeten in open formaten gepresenteerd worden De website moet goed toegankelijk, bruikbaar en overzichtelijk zijn Resultaten moeten op verschillende manieren geordend kunnen worden, o.a. op relevantie Het notie van antwoord van Handelingen moet een uitspraak zijn Gebruikers moeten op de goede plek op de pagina neergezet worden bij het aanklikken van een zoekresultaat Gebruikers moeten reacties achter kunnen laten
Een systeem realiseren zoals dat van TheyWorkForYou.com is verre van hetzelfde als het namaken van de Engelse site. TheyWorkForYou.com krijgt XML aangeleverd en ontsluit dat op een nette manier. In Nederland zijn de startcondities heel anders. Om hier een dergelijk systeem te realiseren moeten de PDF-bestanden en metadata-bestanden uit twee verschillende bronnen gecombineerd worden. Deze moeten vervolgens omgezet worden naar één soort XML-bestanden. Tijdens die transformatie moet er structuur herkend worden in de PDF-bestanden die er niet digitaal, expliciet in zit. Dit moet om bijvoorbeeld Handelingen op te kunnen delen in uitspraken of om zoeken op personen mogelijk te maken. Daarna wordt wel dezelfde stap gezet als in TheyWorkForYou.com. De data wordt in een database gezet die via de website te doorzoeken is. 3.3 Literatuur Een systeem maken zoals er achter TheyWorkForYou.com zit is alles behalve triviaal. Gezien de huidige situatie, die hiervoor is beschreven, zijn er veel moeilijkheden te verwachten bij de ontwikkeling van een dergelijk systeem. In de literatuur worden al veel mogelijke struikelblokken aangegeven en een methode om een groot deel van het totale proces te structureren. De startsituatie van dit project zijn twee verschillende bronnen met data. De eindsituatie is één database met informatie die via een website te bereiken is. Tussen de originele data en de database zitten verschillende stappen waarin de data samengevoegd moet worden en eventueel opgeschoond moet worden.
Het ontsluiten van Nederlandse Parlementaire Publicaties
14
Dergelijke processen zijn uit te voeren aan de hand van het ETL proces, waarbij ETL staat voor ‘Extraction, Transformation, Loading’. (Rahm & Do, 2000) In het onderstaande model is dit proces weergegeven:
Figuur 1. – Het ETL-proces (Rahm & Do, 2000)
Dit onderzoek zal voor een groot deel verlopen via de stappen in dit model, hoewel er soms wel een meer eigen interpretatie aan zal worden gegeven. In deze literatuursectie worden de stappen doorlopen en worden de mogelijke problemen onderweg besproken. De eerste stap is extractie. In deze fase wordt de data van de verschillende bronnen opgehaald. Dit gebeurt op twee niveaus. Bovenin het diagram is te zien dat schema’s en metadata opgehaald wordt en eventueel vertaald wordt naar een bepaald schema. Onderin het diagram wordt de data zelf opgehaald en eventueel getransformeerd in het gewenst formaat. Deze twee processen staan niet compleet los van elkaar, wat wordt aangegeven door de pijlen 1 en 2. Informatie over de data zelf (instanties) helpt bijvoorbeeld bij het extraheren van de metadata en er een goed schema van te maken (pijl 1). De tweede stap - integratie - is erg belangrijk. In dit project wordt er gewerkt met twee verschillende collecties die samengevoegd moeten worden tot één homogene collectie. Waar er in het diagram drie collecties staan (linker kolom), zijn er in dit project dus twee collecties van belang: de collectie van StatenGeneraal Digitaal en die van Parlando. Het combineren van verschillende bronnen wordt in de literatuur omschreven als data integratie. Data integratie is het probleem van het combineren van verschillende data uit verschillende bronnen op zo’n manier dat er eenzelfde kijk op de data ontstaat voor de eindgebruiker (Lenzerini, 2002). Het doel van data integratie is om te zorgen dat normale gebruikers niet de verschillende bronnen hoeven te zoeken, ermee om te gaan en eventueel handmatig moeten te combineren (Halevy, Rajaraman, & Ordille, 2006). Dit zou in dit project dus voor Staten-Generaal Digitaal en Parlando moeten gaan gelden. Omdat er vaak sprake is van veel bronnen bij data integratie zijn er veel technieken om de data integratie grotendeels automatisch te laten verlopen. In dit project is dit niet nodig omdat er maar met twee, vrij eenvoudige bronnen gewerkt wordt. De bronnen kunnen dus handmatig naast elkaar gelegd worden. In dit project is vooral semantische data integratie belangrijk. Semantische data integratie is het combineren van bronnen op basis van betekenis. Wat in de ene bron bijvoorbeeld locatie wordt genoemd, kan in de andere bron adres heten, maar toch hetzelfde betekenen. Problemen bij semantische data integratie spelen zich af op twee niveaus: op schematisch niveau en op het niveau van de data. Op schematisch niveau zit het probleem in het matchen van de juiste concepten aan elkaar. (Doan, Noy, & Halevy, 2004) Dit is dus op een conceptueel niveau. Welke concepten uit de beide bronnen verwijzen naar hetzelfde onderliggende concepten? Op het niveau van de data komt bijvoorbeeld het probleem van data duplication aan bod, dit zal verderop besproken worden.
Het ontsluiten van Nederlandse Parlementaire Publicaties
15
Deze twee niveaus zijn terug te zien in de tweede stap van het ETL-proces. Op schematisch niveau worden de verschillende schema gematcht en geïntegreerd, en op het niveau van de data worden de instanties (de data zelf) gematcht en geïntegreerd. Voor de data betekent dit voornamelijk opschoning. Het matchen van concepten uit verschillende schema’s gebeurt in de praktijk nog het meeste met de hand. Voor dit matchen kunnen verschillende stukken informatie gebruikt worden. Zo kan er bijvoorbeeld gematcht worden informatie afkomstig van schema-related evidence. Hieronder vallen zaken als attribuutnamen die op elkaar lijken, soortgelijke types en gelijke vastgelegde voorwaardes van concepten. (Doan, Noy, & Halevy, 2004) Attribuutnamen die op elkaar lijken zijn bijvoorbeeld “volledige naam” en “naam” of “stad” en “woonplaats”. Een type van een concept is bijvoorbeeld dat het een getal is, velden met getallen hoeven niet vergeleken te worden met velden die alleen letters bevatten. Ten slotte is een vastgelegde voorwaarde bijvoorbeeld dat een concept exact 10 cijfers moet bevatten, bijvoorbeeld bij een (nationaal) telefoonnummer. Naast schema-related evidence kan ook informatie uit data-related evidence gebruikt worden om concepten aan elkaar te matchen. (Doan, Noy, & Halevy, 2004) Hierbij wordt dan gekeken naar de eigenschappen van de verzameling waarden van een bepaald kenmerk. Het concept lengte kan zich bijvoorbeeld kenmerken door een minimum van ongeveer 1.50m en een maximum van ongeveer 2.05m en een gemiddelde van 1.75m. Als dit overeen komt met de waarden uit een ander concept, dan is de waarschijnlijkheid dat deze concepten aan elkaar gematcht kunnen worden groter. Verder is er nog external evidence, dit is informatie die niets te maken heeft met het huidige concept, maar toch kan bijdragen aan een mogelijke match. Bijvoorbeeld dat een soortgelijk concept in het verleden ook al meerdere malen bleek te matchen met een bepaald concept. (Doan, Noy, & Halevy, 2004) Ten slotte is er nog de mogelijkheid om een ontologie te gebruiken van het domein om te helpen bij het matchen van de concepten. (Doan, Noy, & Halevy, 2004) Een gedetailleerde ontologie van het domein waar in dit project mee gewerkt wordt is echter niet beschikbaar, dus dit is geen optie. Er wordt daarom alleen gebruik gemaakt van matchen op basis van schema-related evidence, data-related evidence en external evidence. Als duidelijk is welke concepten bij elkaar horen kan er één schema gemaakt worden dat de beide bronnen als één bron kan beschrijven. Dit gebeurt bovenin de integratiefase van het ETL-proces. Het resultaat staat tussen stap 2 en 3 in: één globaal schema. Er kunnen ook problemen voorkomen bij de integratie op het niveau van de data, onderin de tweede fase van het ETL-proces. Het gaat hierbij dan voornamelijk om problemen van data duplication. Data duplication is het probleem dat er data verdubbeld, bijvoorbeeld door het combineren van bronnen. Dit kan verschillende oorzaken hebben en zich op verschillende manieren uiten. Hieronder staan de bronnen van problemen met data die vaak duplicatie veroorzaken:
Figuur 2. – Data quality problemen (Rahm & Do, 2000)
In het bovenstaande model zijn verschillende bronnen van vervuiling van data te zien. In dit project hebben we te maken met beide takken. Problemen kunnen in de bron zelf al zitten (linkertak), bijvoorbeeld door spelfouten of slecht ontwerp, en problemen kunnen ook ontstaan door het combineren van de twee bronnen (rechter tak), bijvoorbeeld overlap of het gebruik van verschillende conventies. Zeker in het geval van StatenGeneraal Digitaal zullen er veel OCR-fouten zijn. OCR staat voor Optical Character Recognition en is een techniek om tekst te herkennen in gescande afbeeldingen. (Wikipedia, 2008) Deze techniek is niet foutloos.
Het ontsluiten van Nederlandse Parlementaire Publicaties
16
Letters worden soms verkeerd herkend door de software. OCR-fouten kunnen vergeleken worden met spelfouten, alleen zijn ze dan niet door een mens gemaakt. Dit soort fouten in de data kunnen er bijvoorbeeld voor zorgen dat eenzelfde naam op verschillende manieren in de data staat, bijvoorbeeld “v. Schaijk” en “v. Shaijk”. Het is nu de uitdaging om deze data op te schonen. Hoort de naam “v. Shaijk” bij dezelfde persoon als de naam “v. Schaijk”? Of zijn het twee verschillende personen? Het terugbrengen van verschillende benamingen van één entiteit wordt ook wel normaliseren genoemd. Omdat het in dit geval dubbele data oplevert wordt het normaliseren van deze data ook wel ‘data deduplicatie’ genoemd. (Carvalho, Gonçalves, Laender, & Silva, 2006) In de literatuur worden veel geautomatiseerde technieken voor data deduplicatie uiteengezet. In dit project zal een semiautomatische manier gebruikt worden omdat er maar met een relatief klein aantal concepten gewerkt wordt. Een voorbeeld van een data deduplicatie-techniek is het gebruik van de Levenshtein distance. Het gebruik van de Levenshtein distance maakt het mogelijk om stukjes tekst te matchen die niet exact hetzelfde zijn. De Levenshtein distance is als het ware het verschil tussen het ene woord en het andere. Dit verschil wordt ook wel de edit distance genoemd. (Navarro, 2001) Met behulp van deze maat kunnen bijvoorbeeld typefouten vrij gemakkelijk opgevangen worden. Het origineel woord en het woord dat een typfout bevat hebben namelijk een zeer lage edit distance. Het gebruik van de Levenshtein distance kan een deel van de fouten die vrijwel zeker in teksten zitten oplossen, en dit is nodig. Ter illustratie: OCR heeft een foutpercentage van tussen de 7% en 16%, het percentage typefouten ligt gemiddeld tussen de 1% en 3,2% en spelling ook nog eens 1,5% tot 2,5%. Verder worden namen helemaal vaak fout geschreven. Een experiment waarin Nederlanders Nederlandse achternamen moesten typen leverde een percentage van 38% aan fouten op. (Navarro, 2001) Het percentage fouten in persoonsnamen zullen in formele documenten, zoals Parlementaire publicaties, waarschijnlijk wel een stuk lager liggen. Als de fouten van data duplicatie zo veel mogelijk zijn opgelost rondt dat stap twee van het ETL-proces af. Er is nu één globaal schema en de data is samengevoegd. Ten slotte blijft dan de stap ‘aggregatie’ over. In deze stap wordt het schema dat de afgelopen twee stappen heeft opgeleverd geïmplementeerd in een database en wordt de data in de database gezet. Voordat de data de database in kan wordt er eventueel nog data samengevoegd of gefilterd. Als het ETL-proces doorlopen is, is er een gevulde database met opgeschoonde data. Om een website te maken die op TheyWorkForYou.com lijkt moet er nog een webinterface voor deze database gemaakt worden. Ook bij het maken van een website kunnen enkele uitdagingen verwacht worden. Deze literatuursectie wordt daarom afgesloten met enkele opmerkingen over de zoekmachine. Het belangrijkste onderdeel van de website zal de zoekmachine zijn. In dit geval kan er gesproken worden van een verticale zoekmachine omdat het een zoekmachine is die zoekt binnen één specifiek domein. (Coyle & Smyth, 2007) Een voordeel van een dergelijke zoekmachine is dat er gebruik kan worden gemaakt van de kennis van de mogelijke resultaten. Hierdoor kan de gebruiker beter begeleid worden tijdens het zoeken. Coyle en Smythe zetten in hun artikel ‘Supporting Intelligent Web Search’ een bepaald perspectief op zoekmachines uiteen die goed gebruikt kan worden in dit project. Zij stellen dat een resultatenlijst die teruggegeven wordt door een zoekmachine niet het eindpunt is van een ‘zoektocht’, maar juist een startpunt. Gebruikers moeten dus goede mogelijkheden krijgen om verder te zoeken. Ook moeten ze niet alleen een URL terugkrijgen, maar moeten ze op het juiste punt op de pagina waarnaar verwezen wordt neergezet worden. (Coyle & Smyth, 2007) Dit wordt ook gedaan op TheyWorkForYou.com, gebruikers worden bijvoorbeeld op de goede plek in een debat neergezet. In dit project wordt er dus bij de zoekmachine gelet op de domeinspecifieke kennis waarmee de gebruiker te begeleiden is. Dit past in het perspectief van Coyle en Smythe dat de resultatenlijst het begin van een zoektocht aangeeft. In dit project wordt de zoekmachine zoveel mogelijk met dit perspectief in het achterhoofd ontwikkeld.
Het ontsluiten van Nederlandse Parlementaire Publicaties
17
3.4 Conclusies In deze sectie zijn de twee Nederlandse sites die Parlementaire publicaties publiceren geanalyseerd aan de hand van de eisen van Sargasso en de Engelse website TheyWorkForYou.com. Op basis hiervan is de gewenste situatie geschetst. Hiermee is de eerste deelvraag beantwoord: Hoe verhouden de websites die Nederlandse Parlementaire publicaties aanbieden zich tot de gewenste situatie die geschetst kan worden door een combinatie van de wensen van Sargasso en het voorbeeld TheyWorkForYou.com? Het antwoord op deze vraag is dat de Nederlandse websites over het algemeen niet voldoen aan de wensen van Sargasso. Verder biedt TheyWorkForYou.com duidelijke voordelen ten opzichte van de twee Nederlandse sites. Door de wensen van Sargasso en de voordelen van TheyWorkForYou.com te combineren tot een lijst van speerpunten is de gewenste situatie voor een nieuw systeem geschetst. Hierbij zijn ook meteen de moeilijkheden aangegeven door een andere startsituatie. Deze moeilijkheden worden ook omschreven in de literatuur die in sectie 3.3 is besproken. In die sectie is de volgende vraag beantwoord: Wat wordt er in de literatuur gezegd over het ontwikkelen van een systeem zoals het systeem dat in dit project beoogd wordt om te maken en wat zijn de mogelijke gevaren die beschreven worden? De literatuur biedt twee dingen in dit geval: ten eerste een model aan de hand waarvan dit project te structureren is, namelijk het ETL-proces. Dit proces bestaat uit drie fasen: Extractie, Integratie en Aggregatie. Verder geeft de literatuur mogelijke moeilijkheden aan die in die verschillende fasen een rol kunnen spelen. Deze moeilijkheden zitten vooral in het omgaan met verschillende, ‘vieze’ data. In de volgende sectie wordt deze data uitvoerig beschreven.
Het ontsluiten van Nederlandse Parlementaire Publicaties
18
4
De data 4 – DE DATA
In deze sectie zal de data beschreven worden waarmee gewerkt is in dit project. Als eerste wordt beschreven hoe de oorspronkelijke data eruit zag. Vervolgens wordt er bekeken wat er in dit project beoogd wordt om te doen met die data. Dan volgen er subsecties over de kwaliteit van de beschikbare data en het vergaren van de data. Deze sectie wordt afgesloten met een korte beschrijving van de kwaliteit van de opgehaalde data. In deze sectie zullen de volgende vragen beantwoord worden: V4. V5. V6.
Wat zijn de kenmerken van de originele data van Staten-Generaal Digitaal en Parlando en wat moet er gebeuren met deze data? Wat is de kwaliteit van de originele data en van de opgehaalde data? Hoe wordt de data opgehaald en wat voor resultaten levert dat op?
4.1 De oorspronkelijke data Voor dit project zijn de collecties van Staten-Generaal Digitaal en Parlando gebruikt. Aan het begin van het project waren de Kamervragen en Handelingen van 1990 tot 1995 beschikbaar op Staten-Generaal Digitaal. In de loop van het project werd ook de periode 1984 tot 1989 beschikbaar. De Koninklijke Bibliotheek wil alle data terug tot 1814 zo beschikbaar maken. Op Parlando is de data van 1995 tot heden beschikbaar en deze data wordt dagelijks aangevuld. Formaten Op Staten-Generaal Digitaal zijn oude Kamervragen en Handelingen te vinden. Op Staten-Generaal Digitaal wordt de informatie op verschillende manieren aangeboden, namelijk als PDF, HTML en in de interne ‘docviewer’. De informatie over deze bestanden, de metadata, wordt niet op de website zelf aangeboden maar is wel via het internet te bereiken. De metadata is in het XML-formaat opgeslagen. Op Parlando worden zowel de Kamervragen als de Handelingen aangeboden als PDF-bestanden. De metadata wordt op de website zelf aangeboden als HTML webpagina. Structuur De structuur van de PDF-bestanden van StatenGeneraal Digitaal en Parlando vertoont veel overeenkomsten, maar ook enkele belangrijke verschillen. Eerst worden de overeenkomsten in structuur behandeld. Deze is door de tijd heen vrijwel hetzelfde gebleven. Er zit verschil in de eerste pagina van een vergadering en de rest van de pagina’s. De eerste pagina van een vergadering is bij Staten-Generaal Digitaal altijd de eerste pagina van het PDF-bestand. Bij Parlando is dit niet altijd zo, omdat een vergadering is opgedeeld in verschillende PDF-bestanden. Één PDFbestand per onderwerp. De eerste pagina heeft bovenin informatie staan over de vergadering, namelijk de hoeveelste vergadering het is in het huidige jaar, de datum en het tijdstip van aanvang. De eerste pagina van een vergadering bevat daarnaast altijd de naam van de voorzitter, een lijst van aanwezige leden en een lijst van aanwezige ministers en staatssecretarissen. Voordat het eerste onderwerp begint opent de voorzitter de vergadering met enkele mededelingen. Verder is de structuur van de eerste pagina hetzelfde als die van de andere pagina’s. De structuur van de rest van de vergadering zijn op te delen in drie niveaus. Allereerst zijn er Figuur 1. - Voorbeeld van een PDF-bestand Het ontsluiten van Nederlandse Parlementaire Publicaties
19
onderwerpen, deze worden in het PDF-bestand aangegeven met een brede zwarte streep en kenmerken zich vaak door de woorden: “Aan de orde is/zijn …”. Binnen een onderwerp kunnen sprekers wat zeggen. Vaak is het zo dat één spreker achter een spreekgestoelte staat en dat anderen hem of haar dan kunnen interrumperen. Als een persoon op een volgende pagina nog steeds achter het spreekgestoelte staat, dan staat er bovenaan de volgende pagina de naam van die persoon. De tijd dat een spreker achter een spreekgestoelte staat wordt in dit project een blok genoemd. In het PDF-bestand wordt dit aangegeven met een blokje. Een onderwerp kan dus sprekers bevatten, maar ook blokken die sprekers bevatten. Een spreker wordt aangegeven in het PDF-bestand door een witregel, gevolgd door een aanduiding, zijn of haar naam, eventueel de partij en een dubbele punt. De aanduiding kan verschillen. Voor parlementsleden is dit “de heer” of “mevrouw”, deze worden altijd gevolgd door een partijnaam tussen ronde haakjes. Ministers worden aangeduid als “Minister” gevolgd door een naam, maar geen partij. Van staatssecretarissen wordt de partij ook niet aangegeven, zij worden enkel aangeduid met “Staatssecretaris”. De voorzitter wordt aangeduid met “De voorzitter” als hij of zij spreekt, eveneens zonder partij. Ten slotte kan het nog zijn dat iemand spreekt in de kamer die niet in deze categorieën valt, bijvoorbeeld een gast. Deze persoon wordt dan aangeduid met “De heer” of “Mevrouw”, uiteraard zonder partij. Naast sprekers en blokken kan een onderwerp ook moties bevatten. Deze worden uitgesproken door een lid maar worden wel apart aangegeven als motie. Dit wordt gedaan met het woord “Motie” tussen twee dunne lijnen. Het einde van een motie kenmerkt zich door de woorden “en gaat over tot de orde van de dag.” en nog een dunne lijn. Alle pagina’s van het PDF-bestand, zowel de eerste van een vergadering als de rest, bevatten onderin ook nog wat informatie over de vergadering. Namelijk in welke kamer de vergadering heeft plaatsgevonden, nogmaals de datum, het onderwerp dat op de huidige pagina staat, een documentcode en paginanummers. e Deze documentcode kan bijvoorbeeld “TK-32” voor de 32 vergadering van de Tweede Kamer zijn. De documentcode staat niet in alle data, in de oudere documenten komt het nog niet voor. Ook voor de paginanummers zijn niet altijd dezelfde conventies gebruikt. Er zitten ook verschillen in de structuur. Bij de data van Staten-Generaal Digitaal zit de tekst bijvoorbeeld in een verborgen tekstlaag van het PDF-bestand terwijl deze bij Parlando in een normale tekstlaag zit. Er zijn ook verschillen die niet afhankelijk zijn van de bron maar die tijdsafhankelijk zijn. Door de tijd heen zijn er bijvoorbeeld verschillende manieren van opmaken gebruikt. In sommige Handelingen staan de teksten bijvoorbeeld in drie kolommen en in andere in twee kolommen. Verder bevatten recente publicaties meer foto’s met bijbehorend onderschrift. Een ander belangrijk verschil in de structuur is dat bij Parlando één onderwerp gelijk staat aan één PDF. Een onderwerp begint echter niet altijd vooraan de pagina. Op een pagina kan dus het einde van het ene onderwerp en het begin van het andere onderwerp staan. Dit zorgt voor overlap, want de pagina moet in twee PDF-bestanden terecht komen, een keer bij het onderwerp dat eindigt op de pagina en een keer bij het onderwerp dat begint op de pagina. Metadata De metadata bevat informatie over het bijbehorende PDF-bestand. Deze metadata is met de hand ingevoerd. Deze metadata wordt voornamelijk gebruikt om structuur aan te brengen in de grote collecties en om de collectie beter doorzoekbaar te maken. Er zitten grote verschillen tussen de metadata van Staten-Generaal Digitaal en die van Parlando. Hieronder is de metadata van de twee bronnen weergegeven in een tabel.
Het ontsluiten van Nederlandse Parlementaire Publicaties
20
Tabel 2. – Metadatavelden
Staten-Generaal Digitaal recordIdentifier identifier rights title type isPartOf date description extent record-id coverage temporal startpage endpage
Parlando Afkomstig van Datum vergadering Bestandsgrootte Rubriek Trefwoorden Vindplaats Dossier Inhoud Bibliografische omschrijving Omvang Document-id
In de tabel is te zien dat de metadatavelden van Staten-Generaal Digitaal en Parlando veel van elkaar verschillen. In de volgende sectie is beschreven hoe deze metadatavelden met elkaar vergeleken zijn. 4.2 Data-opslag en transformatie In deze subsectie wordt beschreven wat de bedoeling is om te doen met de data die hiervoor beschreven is. In dit project is het de bedoeling om de twee collecties te bundelen tot één collectie. Als eerste moet ieder koppel van Handeling/Kamervraag en metadata opgeslagen worden in één XML-bestand. Ondanks dat de data van Staten-Generaal Digitaal en Parlando verschillen vertonen, moeten de uiteindelijke XML-bestanden van deze twee bronnen voldoen aan één schema. Tijdens deze transformatie, van PDF en XML/HTML naar XML, is het bedoeling om zoveel mogelijk informatie te behouden. Alle beschikbare informatie in de PDF en de metadata zal ook opgenomen worden in het uiteindelijke XML-bestand. Tijdens deze transformatie zal ook geprobeerd worden om nog meer informatie te herkennen dan er digitaal in zit. Als mens zien we in één oogopslag de structuur van een PDF-bestand van een Handeling. We zien duidelijk wanneer een onderwerp begint of wanneer een spreker iets zegt. Deze structuur zit echter niet in de tekstlaag van het PDF-bestand zelf. Wat dat betreft is het gewoon platte tekst. Bij de transformatie van PDF en metadata naar XML wordt er in dit project geprobeerd om zo veel mogelijk van de structuur die mensen meteen zien in het XML-bestand aan te geven. In een XML-bestand kan dat gedaan worden door ‘tags’ om stukken tekst heen te zetten. Hieronder is een voorbeeld gegeven van een mogelijke transformatie van platte tekst naar XML met tags. Links is de tekst weergegeven, rechts een mogelijk deel uit het resulterende XML-bestand. Tabel 3. – Platte tekst tegenover XML
Platte tekst De heer De Wit (SP): Ik heb onlangs een uitspraak van minister Modderman uit, ik meen, 1889 geciteerd.
Mogelijke XML-uitvoer <spreker>
De Wit <partij>SP
Ik heb onlangs een uitspraak van minister Modderman uit, ik meen, 1889 geciteerd.
Het voordeel van een dergelijke transformatie is dat het bestand veel rijker wordt aan informatie. Uitspraken kunnen bijvoorbeeld van elkaar onderscheiden worden en men kan op meer zoeken dan alleen op het voorkomen van woorden. Meer over deze transformatie volgt in de volgende sectie waarin dieper wordt ingegaan op de methode en exacte uitvoer. Wanneer beide collecties gecombineerd zijn tot één XML-collectie wordt er een deel van de informatie in de XML-bestanden in een MySQL database gezet. Voor de Handelingen worden de XML-bestanden helemaal opgeknipt in losse uitspraken. Voor iedere uitspraak komt er een rij in de database te staan. Voor iedere
Het ontsluiten van Nederlandse Parlementaire Publicaties
21
uitspraak staat er dan bijvoorbeeld in de database wie hem gedaan heeft, bij welke partij hij of zij toen hoorde, op welke datum de uitspraak gedaan is, etc. Het voordeel van een MySQL database is dat hij eenvoudig te bevragen is met de querytaal SQL. Ook biedt MySQL een zoekfunctionaliteit genaamd MySQL Full-text search dat later gebruikt zal worden om onder andere de uitspraken eenvoudig doorzoekbaar te maken. 4.3 Kwaliteit van de originele data In deze sectie wordt de kwaliteit van de originele data besproken. De data van de twee verschillende bronnen zal apart behandeld worden. De PDF-bestanden van Staten-Generaal Digitaal zijn gescande versies van een papieren origineel. Onder de afbeelding van het origineel zit een tekstlaag die door Optical Character Recognition (OCR) software tot stand is gebracht. Deze techniek is niet foutloos. Soms herkent het letters niet goed of ziet ze aan voor een andere letter of leesteken. Van OCR-foutjes zijn enorm veel voorbeelden in de data te vinden. Het blokje dat in een PDF-bestand aangeeft dat de eerstvolgende spreker achter het spreekgestoelte is gaan staan, wordt bijvoorbeeld door de OCR-software nagenoeg altijd voor een hoofdletter ‘D’ aangezien. Ook gaat het regelmatig fout met het gebruik van spaties. Een datum wordt bijvoorbeeld soms: “19september 1991” in de plaats van “19 september 1991”. Nu vormen OCR-fouten, mits ze in een beperkte mate voorkomen, doorgaans niet echt grote problemen. De gebruikers zien de tekstlaag immers niet waar de fouten in staan. Deze laag wordt vaak alleen gebruikt om het document doorzoekbaar te maken. In dit project wordt de tekstlaag echter wel heel intensief gebruikt. Het is de tekst uit de tekstlaag die gebruikt wordt om het nieuwe XML-bestand te maken. Alle OCRfouten gaan daar dus in mee. Verder wordt het ook moeilijker om automatisch structuur te herkennen in de documenten, omdat de structuur nu eenmaal minder goed in de tekstlaag is gekomen. En ten slotte: het wordt moeilijker om de juiste namen te groeperen. Hieronder volgen nog een aantal voorbeelden om dit duidelijk te maken, alle voorbeelden komen in de originele data voor. Personen OCR Oe voorzitter Beckers –de Brui.in Beckers-de Bruijrt Brou./er Te vefdhuis
Moet zijn De voorzitter Beckers-de Bruijn Beckers-de Bruijn Brouwer Te Veldhuis
Partijen OCR WD 066 DG6 GroenLmks PvclA
Moet zijn VVD D66 D66 GroenLinks PvdA
Overigen OCR TK32 D bezumigmg 13maart1991 Iandmacht
Moet zijn TK32 □ Bezuiniging 13 maart 1991 Landmacht
Door deze voorbeelden lijkt de data heel rommelig, maar dat valt mee. Het is zeker bruikbaar gebleken. Alle bovenstaande voorbeelden komen uit de data van 1990 tot 1995. Toen de data van 1984 tot 1989 beschikbaar kwam bleek dat de OCR-techniek op een andere manier gebruikt was. De data van die tijd bevat namelijk veel meer OCR-fouten. Het ging voornamelijk mis bij dikgedrukte tekst, zoals persoonsnamen en een aanhef van een onderwerp. Enkele voorbeelden: Minister S m i t - K r o e s : 27ste vergade r i n C l Aan de orde is de voortzetting van het B e l e i d s d e b a t over onderwerpen, rakende het ministerie van V e r k e e r en W a t e r s t a a t . Hierbij zijn twee trefwoorden zeer essentieel, namelijk " s a m e n h a n g " en " s a m e n w e r k i n g " .
Door deze fouten moest de data nog flink onder handen genomen worden voor het goed bruikbaar was. Hoe dit gedaan is, is beschreven in de volgende sectie.
Het ontsluiten van Nederlandse Parlementaire Publicaties
22
De data van Parlando heeft een digitale bron, dus er zitten geen OCR-fouten in de data. Toch zitten er nog wel fouten in de data, namelijk typefouten. In de data van Parlando komt bijvoorbeeld onder andere voor: (moet zijn: CDA) CD A Groen Wilders (moet zijn: Groep Wilders) Groen Nawijn (moet zijn: Groep Nawijn) PvDA (moet zijn: PvdA of PVDA) WD (moet zijn: VVD) Dit soort fouten zijn veel zeldzamer dan de OCR-fouten in de data van Staten-Generaal Digitaal. Dit soort typefouten kunnen wel problemen opleveren als ze bijvoorbeeld in dossiernummers zitten. Concluderend kan gezegd worden dat de beschikbare data van Parlando bijna perfect is, de data van StatenGeneraal Digitaal 1990-1995 goed om mee te werken is en de data van Staten-Generaal Digitaal van 1984-1989 behoorlijk onder handen genomen moet worden voor het bruikbaar is. Het is moeilijk om een beeld te geven over de onbeschikbare data, ofwel over data die beschikbaar zou moeten zijn maar dat niet is. In dit project zijn er wel enkele documenten gevonden die niet beschikbaar zijn of beschadigd zijn. Op Parlando krijgt de gebruiker dan de melding: “Parlando document niet beschikbaar. Het gevraagde document is niet (meer) beschikbaar.”. Op Staten-Generaal Digitaal wordt het document wel geopend maar blijkt vervolgens beschadigd te zijn waardoor de geïnstalleerde PDF-applicatie het bestand niet kan openen. De beschadigde bestanden zijn overigens wel in de ‘docviewer’ te bekijken en als HTML bestand. Hieronder volgt een lijst van niet beschikbare / beschadigde bestanden: Tabel 4. – Niet beschikbare / beschadigde bestanden
Staten-Generaal Digitaal 10-4-1986 Record-id: 0000114286 11-12-1986 Record-id: 0000106647 22-4-1986 Record-id: 0000113486
Parlando 18-7-1995/HAN2932.pdf 25-7-1995/HAN2945.pdf 8-12-1995/HAN3445.pdf 21-5-1996/HAN4248.pdf 21-5-1996/HAN4249.pdf 21-5-1996/HAN4250.pdf 21-5-1996/HAN4251.pdf 21-5-1996/HAN4252.pdf 21-5-1996/HAN4253.pdf 21-5-1996/HAN4254.pdf 21-5-1996/HAN4255.pdf 30-1-1997/HAN5347.pdf 10-7-1997/HAN6185.pdf 10-7-1997/HAN6187.pdf 10-11-1999/HAN7030A06.pdf
Het is moeilijk te zeggen of deze lijst compleet is. Het dient vooral ter indicatie: er zijn fouten in de beschikbaarheid van de data, maar niet veel ten opzichte van het totaal van ongeveer 20.000 bestanden. Ten slotte kan er over de kwaliteit van de originele data nog gezegd worden dat de metadata van beide bronnen typefouten kan bevatten, maar niks op grote schaal. 4.4 Datavergaring methode Voor dit project zijn alle PDF-bestanden en metadata bestanden die Handelingen of Kamervragen bevatten opgehaald van Staten-Generaal Digitaal en Parlando. Dit markeert het begin van het ETL-proces dat beschreven is in de literatuursectie. De eerste stap is het ophalen van de data uit de verschillende bronnen. Gezien de hoeveelheid documenten was het ophalen van de documenten met de hand geen optie. Er is daarom een script geschreven dat de documenten automatisch ophaalt. Als eerste wordt het script van Parlando beschreven, omdat deze ook als eerste ontwikkeld is. De manier waarop Parlando is opgebouwd leverde enkele uitdagingen op voor het geautomatiseerd ophalen van de documenten. Parlando biedt de gebruiker bijvoorbeeld alleen de optie om de bestanden één voor één te bekijken en eventueel te downloaden. De gebruiker kan dus niet alle documenten van een week of een maand tegelijk downloaden. Daarnaast maakt Parlando gebruik van sessies. Dit betekent dat de links naar
Het ontsluiten van Nederlandse Parlementaire Publicaties
23
bestanden niet permanent zijn en dus na enige tijd onbruikbaar worden. Er wordt dus geen gebruik gemaakt van permalinks. De mensen achter de website GeenCommentaar.nl hebben geprobeerd de links van Parlando wel permanent te maken door een website om de Parlando-site heen te bouwen. De gebruiker benadert Parlando dan via GeenCommentaar.nl. De links die via de website van GeenCommentaar aangeboden worden zijn wel permanent, maar niet direct. De links verwijzen namelijk naar een PHP-script dat het goede document ophaalt. De links verwijzen dus niet direct naar het document zelf. Ondanks dat er een extra stap nodig is om bij het goede document te komen zijn deze links toch bruikbaar. De links naar de pagina's met de metadata zijn via GeenCommentaar hetzelfde als voorheen: niet permanent en niet direct. Psuedo-code ophaalscript Het doel van het script is om alle gewenste documenten op te halen van de Parlando-site van 1 Voor iedere datum tussen 1-1-’95 en nu doe: januari 1995 tot heden. In dit geval waren de - Haal de overzichtpagina op - Extraheer links PDF & Metadata gewenste documenten de Kamervragen en de Handelingen. Deze zijn apart van elkaar opgehaald. Voor iedere link-koppel doe: Hieronder wordt beschreven welke stappen het script - Haal de PDF-bestanden op met wget - Haal de metadata op met wget doorloopt om de data op te halen. Hiernaast staat - Verwijder overbodige bestanden ook de psuedocode van het script weergegeven. Voor iedere dag tussen 1 januari 1995 en Einde lus Einde lus heden moet het script dezelfde stappen doorlopen. De stappen staan daarom in een lus die voor iedere gewenste dag de stappen herhaalt. Voor deze lus wordt de 'date'-functie van UNIX gebruikt. Op deze manier wordt er automatisch rekening gehouden met het aantal dagen in de maand en met schrikkeldagen. De eerste belangrijke stap in de lus is het opvragen van een overzichtpagina waarop alle documenten (Handelingen of Kamervragen) staan van de datum waar de lus mee bezig is. Hiervoor is het programma cURL gebruikt, wat ook onder UNIX draait. Met cURL kan de website van GeenCommentaar automatisch bestuurd worden. In het script wordt cURL aangeroepen om de goede datum in te voeren op de zoekpagina van de GeenCommentaar-site. Daarnaast kan cURL ook alle andere opties die beschikbaar zijn in 'uitgebreid zoeken' van GeenCommentaar besturen. Op dit moment in het script zorgt cURL er dus al voor dat de juiste documenten (Handelingen of Kamervragen) van zowel de Eerste Kamer als de Tweede Kamer getoond worden en dat alleen de definitieve versies getoond worden. Het resultaat van deze stap is een HTML-pagina met daarop de permanente links naar de gewenste documenten van die dag en niet-permanente links naar de bijbehorende metadata. De volgende stap is om de links automatisch uit de HTML-pagina te extraheren. Hiervoor worden 9 verschillende, opeenvolgende reguliere expressies gebruikt die met de programmeertaal Perl uitgevoerd worden. De uitkomst van deze stap zijn twee bestanden met links. Het eerste bestand bevat de links naar de PDF-bestanden en het tweede bestand de links naar de bijbehorende metadata. De laatste belangrijke stap is het volgen van de links om zo de juiste documenten op te slaan. Voor zowel het ophalen van de PDF-bestanden als de bijbehorende metadata wordt het programma 'wget' gebruikt. cURL zou ook voor dit doeleinde gebruikt kunnen worden, maar voor wget was betere documentatie beschikbaar om dit moeilijke ophaalprobleem op te lossen. Voor zowel de PDF-bestanden als de metadata is het belangrijk dat wget goed aangeroepen wordt. De links die naar de PDF-bestanden verwijzen zijn niet direct, zoals hiervoor is beschreven. Het programma wget haalde oorspronkelijk dan ook niet de PDF-bestanden op maar het PHP-script dat de bestanden op moet halen zelf. Om dit op te lossen wordt wget zo aangeroepen dat het alle links in het opgehaalde PHP-script maximaal één stap volgt en alle documenten waar het dan bij uitkomt opslaat. Zo worden onder andere de goede PDF-bestanden opgeslagen. Al het andere dat meekomt kan meteen weer worden verwijderd. De links naar de metadata kunnen wel direct gevolgd worden. Het is alleen belangrijk dat ze vrij snel gevolgd worden, voordat de sessie verloopt en de links nergens meer naartoe verwijzen. Omdat er voor iedere nieuwe datum een nieuwe sessie wordt aangemaakt door het script leverde dit geen probleem op. Het resultaat van het script is het opslaan van alle PDF-bestanden van het gewenste soort (Handelingen of Kamervragen) met de bijbehorende metadata (in HTML) geordend op datum. Alles wat niet nodig is wordt niet opgeslagen of wordt automatisch verwijderd. 9
Een reguliere expressie is een manier om patronen te beschrijven waarmee een computer tekst kan herkennen. In deze context wordt ook impliciet bedoeld dat het beschreven patroon vervangen wordt door hetgeen dat is aangegeven, meestal of extra XML-tags om de tekst heen of de tekst vervangen door niks waardoor het verwijderd wordt.
Het ontsluiten van Nederlandse Parlementaire Publicaties
24
De data van Staten-Generaal Digitaal is op een soortgelijke manier opgehaald. Omdat dit gedaan is in het kader van een ander parallel lopend project zal dit hier niet worden beschreven. Meer informatie hierover is te vinden in de scriptie van dat project. (Groot, 2008) De opgehaalde data van Staten-Generaal Digitaal wordt uiteraard wel beschreven in de volgende sectie maar wordt in dit project als gegeven beschouwd. 4.5 Datavergaring resultaat Het script heeft alle Handelingen opgehaald van 1 januari 1995 tot 13 april 2008. Dit heeft in totaal 19.132 PDFbestanden opgeleverd en evenveel HTML-bestanden met metadata. Hieronder is een overzicht opgenomen van de data ingedeeld naar jaartal. Tabel 5: Handelingendata per jaar (Parlando)
Jaartal
Aantal PDF-bestanden
Totale bestandsgrootte (incl. metadata) Aantal woorden (totaal)
1995
1281
66,7 MB
8.867.958
1996
1396
74,2 MB
9.964.813
1997
1416
73,5 MB
10.039.536
1998
1420
71,9 MB
9.103.745
1999
1265
65,1 MB
8.134.820
2000
1408
73,5 MB
9.539.459
2001
1409
67,8 MB
8.613.075
2002
1324
62,4 MB
7.709.609
2003
1218
60,0 MB
7.278.389
2004
1558
94,8 MB
8.894.899
2005
1625
126,1 MB
9.471.727
2006
1635
96,7 MB
8.756.415
2007
1430
80,0 MB
7.481.136
1
2008 1
1
749
37,4
1
4.960.657
1
Deze getallen zijn gebaseerd op de data van 1-1-2008 tot 13-4-2008 en dus niet heel 2008
In deze tabel zien we eigenlijk weinig opvallende getallen. Het is misschien opvallend te noemen dat het jaar met het meeste aantal woorden, 1997, niet de grootste totale bestandsgrootte heeft. Dit zou te maken kunnen hebben met het gebruik van foto’s of veranderende kenmerken van de PDFbestanden. Als we kijken naar het aantal woorden lijkt er niet echt een getal uit te springen. Er kunnen wel wat meer eenvoudige fenomenen in de data verklaard worden op een wat lager niveau. Op grafiek 1 hieronder is bijvoorbeeld te zien dat er geen Parlementaire publicaties zijn geweest in weken tussen week 31 en week 36 van 1995. Dit heeft ongetwijfeld te maken met het zomerreces dat het parlement iedere zomer houdt. Bijna ieder jaar is dit terug te zien in de data.
Het ontsluiten van Nederlandse Parlementaire Publicaties
25
Grafiek 1 – Aantal documenten handelingen 1995
In grafiek 1 is er duidelijk een piek te zien, waarbij er in één week meer dan 100 publicaties zijn geweest. In de eerste instantie lijkt het erop dat dit een reactie is op een bepaalde gebeurtenis. Dit is echter niet zo. Een piek betekent dat er veel verschillende documenten zijn geweest. Veel verschillende documenten betekent veel verschillende onderwerpen. De documenten zijn namelijk opgedeeld aan de hand van verschillende onderwerpen. Één document bevat één onderwerp. Het wordt interessanter als er gekeken wordt naar het verloop van het aantal woorden door een jaar heen. In de onderstaande grafiek geeft de onderbroken blauwe lijn het aantal bestanden aan op de linkerschaal en geeft de ononderbroken rode lijn het aantal woorden aan op de rechter schaal. De grafiek geeft de gegevens van 2005. Grafiek 2 – Aantal bestanden en aantal woorden in Handelingen 2005
<< Aantal bestanden
Aantal woorden >>
90
1200000
80
1000000
70 60
800000
50
600000
40 30
400000
20
200000
10 0
0 1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41 43 45 47 49 51
Het ontsluiten van Nederlandse Parlementaire Publicaties
26
In deze grafiek zijn drie pieken te zien, twee in aantal woorden en één in aantal bestanden. De pieken in het aantal woorden zijn niet te verklaren door een bepaalde schokkende gebeurtenis. De piek aan het einde van het jaar wordt bijvoorbeeld veroorzaakt door drie verschillende onderwerpen. De piek in het aantal bestanden, die ook in grafiek 1 te zien is, kan nu wel beter verklaard worden. Er is te zien dat er heel veel bestanden zijn (en dus veel onderwerpen) maar dat er heel weinig gezegd wordt. Dit blijkt te komen omdat er heel veel stemmingen geweest zijn. Deze piek komt vaker terug. Het lijkt er dus dat er ieder jaar ongeveer op de helft van het jaar veel stemmingen gehouden worden om de een of andere reden. Het ophalen van de data van Staten-Generaal Digitaal heeft in totaal 1446 PDF-bestanden opgeleverd. Dit is aanzienlijk minder dan het aantal bestanden van Parlando. Dit komt omdat bij Staten-Generaal Digitaal één bestand één vergadering met meerdere onderwerpen bevat, en niet één onderwerp per bestand zoals in Parlando. Tabel 6 – Overzicht data Staten-Generaal Digitaal
Jaartal
Aantal PDF-bestanden
Aantal woorden (totaal)
1984
54
3.174.882
1985
148
8.257.250
1986
135
7.120.715
1987
139
6.566.904
1988
152
8.246.215
1989
118
3.333.828
1990
149
8.091.051
1991
149
8.304.493
1992
137
8.230.690
1993
139
9.025.470
1994
126
7.128.077
De bestandsgrootte van de bestanden is niet opgenomen in de bovenstaande tabel. Dit komt omdat de bestanden van Staten-Generaal Digitaal vrijwel meteen na het omzetten zijn verwijderd. Het totale Staten-Generaal Digitaal corpus omvatte namelijk ongeveer 28 gigabyte. Dit enorme verschil in bestandsgrootte met de bestanden van Parlando komt ongetwijfeld omdat de bestanden van StatenGeneraal Digitaal door OCR-technieken tot stand zijn gekomen. Wat in de tabel opvalt zijn het aantal woorden van 1984 en 1989. Dit zal besproken worden in de volgende subsectie over de kwaliteit van de opgehaalde data. In totaal is er dus de volgende data opgehaald wat betreft de handelingen: Tabel 7. – Totaal opgehaalde data
SGD Parlando Totaal
Aantal PDF-bestanden 1.446 19.134 20.580
Aantal woorden 77.479.575 118.816.238 196.295.813
Deze data loopt tot 13 april 2008. Tijdens het project is de data van na 13 april ook regelmatig binnengehaald. Deze getallen kunnen dus wat afwijken van de getallen in de database die verderop besproken zullen worden. Naast het ophalen van de Handelingen zijn er ook 41.155 Kamervragen binnengehaald van Staten-Generaal Digitaal en Parlando. Meer informatie daarover in de scriptie van het andere project. (Groot, 2008)
Het ontsluiten van Nederlandse Parlementaire Publicaties
27
4.7 Kwaliteit van de opgehaalde data Het ophalen van de data is niet zo vlekkeloos verlopen zoals de hiervoor beschreven secties dat doen blijken. Het heeft veel tijd gekost en het script dat de data binnenhaalt heeft meerdere malen stukken opnieuw moeten doen. Het grootste probleem was overbelasting van de servers van Parlando. ’s Nachts heeft het script zonder enkele beperkingen gedraaid. Achteraf bleek dat de servers van Parlando zo veel verzoeken niet tegelijk konden verwerken. Veel PDF-bestanden werden daardoor niet binnengehaald. Deze data moest dus opnieuw binnengehaald worden op een wat langzamer tempo. Na een paar foutenanalyses en een paar sessies van data binnenhalen bleek dat alle PDF-bestanden en bijbehorende metadata waren opgehaald, behalve de missende bestanden die in tabel 4 staan aangegeven. Er lijkt alleen nog een raar gat in de data te zitten in het jaar 1989 van Staten-Generaal Digitaal. Het aantal woorden is daar bijna de helft van de andere jaren. Toch heeft dit jaar vrij veel bestanden, namelijk 118. Ook zijn deze bestanden vrij evenredig over de verschillende maanden van het jaar heen verdeeld. Het jaar 1989 was het jaar dat in twee keer is binnengehaald. De eerste helft van 1989 kwam pas in de loop van het project beschikbaar. Misschien is daar iets fout gegaan bij Staten-Generaal Digitaal of in dit project. Verder lijkt de kwaliteit van de opgehaalde data net zo goed te zijn als de originele data. 4.8 Conclusies In deze sectie zijn drie deelvragen beantwoord. Per deelvraag zal hier een korte samenvatting van het antwoord gegeven worden: V4.
Wat zijn de kenmerken van de originele data van Staten-Generaal Digitaal en Parlando en wat moet er gebeuren met deze data? De oorspronkelijke data staat in de formaten PDF, XML en HTML en is via het internet te bereiken in twee verschillende bronnen. De structuur van de data zelf (niet de metadata) vertoont veel overeenkomsten onderling. Zo is de structuur en opmaak vaak hetzelfde waardoor de mens eenvoudig structuur in het document kan ontdekken. Toch zijn er door de tijd heen wel wat verschillen. Wisselende conventies voor paginanummers of een verschillend aantal kolommen op een pagina zijn hier voorbeelden van. De metadata van de twee bronnen zijn totaal verschillend. De data van de verschillende bronnen moet worden samengevoegd tot één collectie. Ook moet de tekst en metadata bij elkaar in één XML bestand terecht komen. Tijdens deze transformatie is het de bedoeling om de structuur die de mens zo eenvoudig kan zien expliciet te maken in de data. Dit is nu nog niet het geval. V5. Wat is de kwaliteit van de originele data en van de opgehaalde data? De originele data bevat verschillende soorten fouten. De data van Staten-Generaal Digitaal bevat OCR-fouten, vooral de data uit de periode voor 1990 bevat er veel. In Parlando vinden we alleen wat typefouten terug. De data van Parlando is nagenoeg perfect, de data van Staten-Generaal Digitaal van 1990-1995 is goed om mee te werken en de data van Staten-Generaal Digitaal van 1984-1989 vereist enige aandacht voordat er goed mee gewerkt kan worden. Verder is er wat missing data, maar het aantal missende/beschadigde bestanden valt in het niets tegenover de het totale aantal opgehaalde bestanden. De kwaliteit van de opgehaalde data kwam, na enkele foutenanalyses en het herhalen van het ophalen, overeen met de originele data. De fouten uit de originele zijn uiteraard meegekomen, maar er zijn er geen bijgekomen. V6. Hoe wordt de data opgehaald en wat voor resultaten levert dat op? De data wordt opgehaald met een script. Dit script moet om kunnen gaan met de sessies die Parlando gebruikt waardoor de links van de website van tijdelijke aard zijn. Het gebruik van de website GeenCommentaar en enkele UNIX programma’s zorgen samen voor een bruikbare methode. Dit leverde bijna 20.000 PDF-bestanden van Handelingen op.
Het ontsluiten van Nederlandse Parlementaire Publicaties
28
Het ontsluiten van Nederlandse Parlementaire Publicaties
29
5
Ontwikkeling van het systeem 5 – O NTWI KKE LI NG V A N HE T S YS TEEM
Nu beschreven is welke data is opgehaald en hoe dat is gedaan, kan er beschreven worden wat er in dit project mee gedaan is. Hiervoor zal het ETL-proces dat beschreven is in de literatuursectie nagelopen worden. Vervolgens wordt het maken van de website beschreven. In deze sectie wordt het ontwikkelen van het systeem en de website dus beschreven. In deze sectie zullen de volgende vragen worden beantwoord: V7. Hoe zijn in dit project de drie fases van het ETL-proces dat in de literatuur wordt beschreven ingevuld en verlopen? V8. Wat heeft het ontwikkelen van de website/zoekmachine opgeleverd? 5.1 ETL-proces Het project is gestructureerd aan de hand van het ETL-proces. Dit proces is beschreven in de literatuursectie. Het diagram wordt hier nogmaals weergegeven gezien de rol die het speelt in deze sectie.
(herhaling) Figuur 1. – Het ETL-proces (Rahm & Do, 2000)
Fase 1: Extractie Extractie vindt plaats op twee niveaus: op schemaniveau en dataniveau. Deze twee niveaus worden apart beschreven. Extractie: Schemaniveau Extractie op schemaniveau betekent het extraheren van de schema’s en ze vertalen naar een model. Hieronder is het resultaat van deze stap weergegeven. Beide tabellen/schema’s brengen de metadata van de verschillende bronnen in kaart.
Het ontsluiten van Nederlandse Parlementaire Publicaties
30
Tabel 8. - Metadataschema Staten-Generaal Digitaal Naam Uitleg Beschrijving metadataveld 1 recordIdentifier ID / URL van Moet toegevoegd worden
document
2
identifier
ID / URL van metadata
3
rights
Rechten
4
title
5
type
Titel van het document Soort document
6
isPartOf
7 8
date description
9 10
extent record-id
11
coverage
12
temporal
13
startpage
14
endpage
Tot welke collectie het huidige document behoort De datum Beschrijving van vergadering Het aantal pagina’s Nummer van het PDF-bestand De kamer in kwestie Jaargang Startpagina in originele uitgave Eindpagina in originele uitgave
Tabel 9. - Metadataschema Parlando Naam Uitleg metadataveld 1 Afkomstig van Waar het
2 3 4
Datum vergadering Bestandsgrootte Rubriek
5 6
Trefwoorden Vindplaats
7
Dossiernr
8
Inhoud
9
Bibliografische omschrijving Omvang Document-id
10 11
document van afkomstig is De datum van de vergadering Bestandsgrootte Rubriek waarin het onderwerp hoort Trefwoorden Waar het document fysiek is terug te vinden Nummer van dossier waar onderwerp binnen valt Inhoud van document Bibliografische omschrijving Omvang document ID van document
achter “http://resolver.kb.nl/reso lve?urn=” Directe link, & moet doorgaan vervangen worden door & Altijd: Tweede Kamer der Staten-Generaal Type, Kamer, Jaargang, Datum (DD maand YYYY) Kamervraag, Handeling of Kamerstuk Altijd: Staten-Generaal digitaal
Voorbeeld
urn:mpeg:mpeg21:sgd:19941995:0000324
http://resolver.kb.nl/resolve?urn=urn:mpeg:mpeg2 1:sgd:19941995:0000324&role=xml Tweede Kamer der Staten-Generaal Handelingen Tweede december 1994 Handelingen
1994-12-01 Handelingen Tweede december 1994 100 0000000324
Eerste Kamer of Tweede Kamer Twee jaartallen, gescheiden door een underscore Getal
Tweede Kamer
Getal
2026
Beschrijving
Voorbeeld
Staten
Generaal
1994-1995
01
Kamer
1994-1995
01
Staten-Generaal digitaal
Datum (YYYY-MM-DD) Soort, Kamer, Jaargang, Datum (DD maand YYYY) Getal Getal, uniek
Altijd: (SG)
Kamer
1994_1995 1927
Staten Generaal (SG)
Datum (DD-MM-YYYY)
06-12-2005
Getal, “Kb” Optioneel
15 Kb Staats- en bestuursrecht (Parlement)
Kunnen er meerdere zijn Editie, nummer, kamer, startpagina, eindpagina
Parlement Handelingen 2005-2006, nr. 9, Eerste Kamer, pag. 438-438
Optioneel, getal maar kan ook letters bevatten
25410
Optioneel
De schriftelijke antwoorden van de minister en de staatssecretaris van SZW op vragen, gesteld in… Lijst van besluiten (dinsdag 6 december 2005)
Kan vrij lang worden Getal, “pag.” Wisselende conventies door de jaren heen, begint met HAN
Het ontsluiten van Nederlandse Parlementaire Publicaties
1 pag. HAN7927A03
31
Naast schema’s voor de metadata, is er ook nog een schema van de data zelf te maken. Hiervoor is een andere representatie gekozen. Deze is hieronder weergegeven. Schema 1. – Structuur in de data zelf 1
1
1
* Onderwerp/Document 1 *
Opening (Begin 1e document) Voorzitter
Aanwezige leden
1
Spreker (achter spreekgestoelte) Naam
Partij Uitspraak
Opening
*Blok
* Spreker
Paginanummers Documentcode Onderwerptitel Kamer
* Spreker (niet achter spreekgestoelte) Naam
Soort
Hoeveelste vergadering Datum + Aanvang
Vergadering
Partij Uitspraak
Naam Soort
Partij Uitspraak
Soort
In het diagram is de structuur van een vergadering nog eens weergegeven. Er is weergegeven dat een vergadering bestaat uit een opening (die vooraan het eerste document staat) en 0, 1 of meerdere onderwerpen (in het geval van Parlando dan ook documenten). Binnen een onderwerp zijn er 0, 1 of meerdere blokken, maar het kan ook zo zijn dat er sprekers zijn die iets zeggen terwijl er niemand achter het spreekgestoelte staat. Staat er wel iemand achter het spreekgestoelte, dan kan dat maar 1 spreker zijn. Deze spreker kan geïnterrumpeerd worden door 0, 1 of meer andere sprekers. De gestippelde lijnen geven eigenschappen aan. Dit was het eerste niveau van de extractiefase. De schema’s zijn uit de data geëxtraheerd en zijn vertaald naar een bruikbaar model. Extractie: Dataniveau De extractie op dataniveau is een van de belangrijkste en meest langdurige klussen van het hele project geweest. Deze fase zal daarom uitvoerig beschreven worden. De data is opgehaald en nu worden de instanties (uitspraken uit de Handelingen in dit geval) uit de data gehaald en wordt de data getransformeerd naar een bruikbaar formaat. Om de instanties uit de data te kunnen halen moet de structuur die de mens kan zien expliciet gemaakt worden. Deze structuur is ook een belangrijk deel van het gewenste formaat waar de data in getransformeerd moet worden (XML). De stap van de opgehaalde data zonder expliciete structuur naar een collectie XML-bestanden met expliciete structuur wordt gedaan door één script. Dit script wordt hieronder uitvoerig besproken: Het “PDF-naar-XML” script De eerste stap van het script is het extraheren van de tekstlaag uit het PDF-bestand. Dit wordt gedaan met het programma ‘pdftohtml’. De PDF-bestanden worden met het programma pdftohtml omgezet van PDF formaat naar XML formaat. De XML bestanden worden vervolgens getransformeerd naar het gewenste XML formaat. Voor de stap van PDF + metadata in XML naar 1 XML-bestand is het script PDFtoXMLv3.sh geschreven. Dit script wordt nu besproken: In het script zijn twee lussen belangrijk. De eerste lus is de lus per datum. Voor iedere datum worden een aantal stappen uitgevoerd. De data is ingedeeld naar de datum van publicatie. Dus bij een datum horen nul of meer PDF + metadata koppels. Binnen deze eerste ‘datum-lus’ zit de tweede belangrijke lus die per pdf bestand een aantal stappen uitvoert. Dit kan in psuedocode uitgedrukt worden als:
Het ontsluiten van Nederlandse Parlementaire Publicaties
32
Voor iedere datum Doe ... Voor iedere pdf Doe ... Klaar .... Klaar Voor ieder PDF-bestand worden de volgende stappen uitgevoerd: 1. Er wordt gekeken of het bestand behandeld moet worden. Niet alle PDF-documenten die zijn opgehaald omdat ze het documenttype “Handeling” hebben zijn voor ons gewenst. Wanneer het bestand een Nootbestand is (een soort bijlage) of een Index-document, dan wordt deze overgeslagen. Het script is namelijk afgestemd op de Handelingen en kan niet goed overweg met andere types documenten. De Noot-bestanden en de Index-documenten worden verder ook buiten beschouwing gelaten in dit project. 2. Teksten die onder foto's staan worden weggehaald uit het document. Foto's komen niet in het XMLbestand terecht, maar het onderschrift wel. Dit staat soms midden in de lopende tekst en kan dus verwarrend zijn. Daarom wordt deze verwijderd. Hieronder staat een voorbeeld van onderschrift van een foto zoals dat in het XML-bestand staat.
Mevrouw Blanksma-van den Heuvel (CDA) © M. Sablerolle ― Gouda De positie en manier waarop het onderschrift is geschreven is overigens niet altijd hetzelfde geweest door de tijd heen. Voorheen werden ze bijvoorbeeld niet schuin gedrukt en stond het copyright stukje in een ander document. Het vinden van de fototeksten was dus niet triviaal. Daarom is er speciaal voor dit doel een apart script gemaakt, namelijk “fotozoeker.sh”. Dit script gebruikt de grootte van de lettertypes om te bepalen of het gaat om een foto-onderschrift of niet. De uitvoer van dit script ziet er als volgt uit: /home/tim/dump2/15-4-2008/HAN8269A08.pdf;3;++;height="7";Mevrouw Gerkens (SP); height="6";© M. Sablerolle ― Gouda; /home/tim/dump2/15-4-2008/HAN8269A10.pdf;4;++;height="7";De heer De Wit (SP); height="6";© M. Sablerolle ― Gouda; (vlnr: locatie;paginanummer;scheidingstekens;hoogte onderschrift 1;Onderschrift1;hoogte onderschrift 2;Onderschrift2;)
Dit wordt dus door een ander script gedaan. Het PDFtoXML script kijkt alleen in het logbestand van fotozoeker.sh om te kijken of er iets weggehaald moet worden en zo ja, wat er dan weggehaald moet worden. Het fotozoeker.sh script wordt automatisch gedraaid wanneer de data wordt opgehaald waardoor het logbestand altijd up-to-date is. 3. Er worden heel veel reguliere expressies toegepast op het xml bestand. De eerste set reguliere expressies worden gebruikt voor het volgende: - Leestekens weghalen die niet in de tekst thuishoren - “Hoeveelste vergadering” herkennen en voorzien van XML-tags (bovenaan, alleen 1e pagina van een handeling) - Dag en datum herkennen en voorzien van XML-tags (bovenaan, alleen 1e pagina van een handeling) - Aanvang herkennen en voorzien van XML-tags (bovenaan, alleen 1e pagina van een handeling) - Bij welke kamer het document hoort herkennen en voorzien van XML-tags (onderin iedere pagina) - Datum verwijderen (onderin iedere pagina, is overbodig) - Documentcode herkennen en voorzien van XML-tags (onderin iedere pagina) - Paginanummer herkennen en voorzien van XML-tags (onderin iedere pagina, verschilt per pagina!) - Voorzitter en voorzitterwissel herkennen en voorzien van XML-tags (bovenin eerste pagina en door de tekst
heen, 1 vergadering kan meerdere voorzitter hebben!)
Het ontsluiten van Nederlandse Parlementaire Publicaties
33
4. Bovenin een pagina staat vaak de persoon die achter de spreekstoel stond op de vorige pagina en nog op het begin van de huidige pagina op de spreekstoel zal staan. (Op de eerste pagina van een vergadering staat deze tekst dus uiteraard niet). Omdat de paginastructuur verwijderd zal worden komt deze tekst midden in de lopende tekst terecht. Daarom wordt hij verwijderd. We nemen aan dat de eerste spreker na de start van een blok de spreker achter de spreekstoel is. Het verwijderen van de tekst betekent dus geen verlies van informatie. De tekst die bovenaan staat komt onderin het XML-bestand terecht. Omdat de tekst er niet altijd staat kunnen we er niet zomaar vanuit gaan dat de tekst onderin het XML-bestand ook de spreker achter de spreekstoel is. Als het programma ‘pdftotext’ gebruikt wordt komt de spreker wel bovenaan te staan voor de eerste zin. De eerste zin van het xml bestand wordt daarom vergeleken met de eerste zin uit het tekstbestand. Het verschil is per definitie de spreker en wordt verwijderd. 5. pdftotext zet alle tekst achter elkaar. Met pdftohtml blijven de korte regels zoals ze in het PDFbestand staan echter intact. Dit betekent dat mensen met lange namen soms over twee regels staan. Dit geeft problemen voor de volgende reeks reguliere expressies die o.a. sprekers proberen te herkennen. Daarom worden regels waar een dubbele punt in staat geplakt aan de bovenstaande regel. Hierdoor worden sprekers met lange namen (nagenoeg) altijd goed herkend. Voor andere regels met een dubbele punt zou het geen negatieve invloed moeten hebben. 6. Als het bovenstaande allemaal gebeurt is worden alle niet-noodzakelijke tags weggehaald. Het gaat hierbij om de
-tags (met bijbehorende afsluitende tags) en de -tags. De inhoud van deze tags blijft natuurlijk wel staan, want dat is de tekst zelf! De tags die bewaard worden zijn de pagina's, de toegevoegde informatie tot nu toe (zie eerste set reguliere expressies) en de begin en eindtags van het originele XMLbestand. 7. Nu de tags verwijderd zijn hebben we meer met platte tekst te maken. Hierover voeren we de tweede reeks reguliere expressies uit, te weten: - De opening van een vergadering wordt als onderwerpstart aangemerkt (door een ‘marker’ toe te voegen) - De start van andere onderwerpen wordt herkend met behulp van de tekst: "Aan de orde is/zijn", "Regeling van werkzaamheden" of "Vragen aan het lid" (en er wordt een ‘marker’ gezet) - De start van een blok wordt herkend (een blok is wanneer een nieuw persoon achter de spreekstoel gaat staan. In de PDF is dit te zien als een blokje tussen de stukken tekst) - De voorzitter wordt als spreker herkend (en voorzien van een ‘marker’) - De leden van het kabinet (Ministers/Staatssecretarissen) worden herkend als spreker (en voorzien van een ‘marker’) - De leden van het parlement worden herkend als spreker (en voorzien van een ‘marker’) - Partijloze mensen worden herkend als spreker (en voorzien van een ‘marker’, dit is zeldzaam, maar het komt voor. Bijvoorbeeld iemand buiten de kamer, of de voorzitter die even uit zijn rol als voorzitter treedt) - De sluiting van een vergadering wordt herkend (en voorzien van XML-tags) - Het onderwerp dat onderin het document staat wordt opgevangen, ook over meerdere regels (en voorzien van XML-tags, dit werkt niet foutloos) - Alle tekst voor het eerste onderwerp in een document wordt weggegooid (!!). Ieder document is gericht op 1 onderwerp. Het onderwerp ervoor en de onderwerpen erna hebben een eigen document (+ metadata). Het is onmogelijk te herkennen welke onderwerpen na het huidige onderwerp komen. Wat we wel kunnen zeggen is dat het onderwerp in kwestie altijd de eerste met een nieuwe onderwerpstart op de pagina is. Daarom wordt alle tekst voor het eerste onderwerp weggegooid, deze staat per definitie in het vorige document. Dit is een vorm van data deduplicatie dat in de literatuur aan bod is gekomen. - Paginanummers worden toegevoegd aan iedere onderwerp- / blok- / spreker –marker zodat bewaard wordt op welke pagina een uitspraak gedaan is. Dit is nodig omdat de paginastructuur later verwijderd wordt. Dan kan dit niet meer afgeleid worden van de context. 8. De volgende belangrijke stap is het opbouwen van een nieuw document met het huidige document. Dit bestaat uit de volgende stappen: - Openingstags toevoegen aan een nieuw bestand (benodigde informatie om aan te geven dat het een XMLbestand is)
Het ontsluiten van Nederlandse Parlementaire Publicaties
34
- Het metadatabestand wordt toegevoegd aan het nieuwe bestand. (Tijdens het toevoegen wordt de metadata omgezet naar het nieuwe formaat, hierover in de volgende subsectie meer. Hier lopen we wat vooruit op het ETL-proces) - De permalink wordt toegevoegd (voor het document als geheel) - De metadata uit het bestand zelf wordt toegevoegd, dit zijn de stukjes informatie waar eerder XML-tags omheen zijn gezet. Deze worden nu uit de tekst gehaald en bovenin geplaatst (vergadering, dag, datum, aanvang, etc. zie reguliere expressies) - Het volgende onderwerp wordt in deze fase herkend. Dit is het onderwerp op de laatste pagina als het verschilt van het huidige onderwerp. Dit wordt ook bovenin gezet bij de andere metadata. - Vervolgens wordt alle tekst toegevoegd uit het oorspronkelijke XML-bestand inclusief alle markers - Het document wordt afgesloten. (Benodigde afsluiting van het XML-bestand) 9. Om de onderwerpen, blokken en sprekers te herkennen zijn markers gebruikt die het begin aangeven. Deze markers geven alleen het begin van een dergelijke eenheid aan. De uitdaging is nu om het einde van zo'n eenheid te vinden. Dit gebeurt op het einde van het script. De markers worden omgezet in XML start-tags en de XML eind-tag wordt op de goede plek verderop in de tekst neergezet. 10. De laatste stap van het script is het controleren van de uitvoer. Met het programma ‘xmllint’ wordt gekeken of de uitvoer een geldig xml bestand is. Zo niet, dan wordt hier een melding van gegeven en komt de foutmelding in een logbestand terecht dat achteraf doorgenomen kan worden. 11. Het script roept op het einde het script op van Marc Makkes dat ankers toevoegt aan alle spreker-tags in het uiteindelijke XML-bestand. De aanpakken die in het script zelf geprobeerd zijn waren niet bevredigend. De eerste aanpak was waterdicht maar te langzaam. De tweede aanpak was snel genoeg maar maakte redelijk wat fouten. Daarom is de hulp van Marc Makkes gevraagd. De stappen die hiervoor zijn beschreven zijn allemaal gericht op de data van Parlando. Omdat de data van de Staten-Generaal Digitaal wat verschillen vertoont ten opzichte van de data van Parlando zijn er wat aanpassingen aan het script nodig. De data van SGD is ingescand vanaf papier met behulp van Optical Character Recognition (OCR). Hier zitten voor- en nadelen aan. Een voordeel is dat dikgedrukte woorden beter herkend worden. Een nadeel is dat er veel fouten zitten in de gescande data. De voorbeelden liggen voor het oprapen: VVD wordt gezien als WD, of 12 mei 1992 wordt 12mei 1992. De reguliere expressies zijn dus wat ruimer gemaakt voor het script van de SGD. Verder zijn er wat dingen uitgehaald. De onderschriften van de foto's zijn er bijvoorbeeld uitgehaald en de spreker van de vorige pagina is er bij de data van de SGD makkelijker uit te halen. Een ander groot verschil is dat de SGD data per handeling is, terwijl de Parlando data per onderwerp is. Om deze reden hoeft de tekst voor het eerste onderwerp niet weggehaald te worden. De tweede collectie van data van Staten-Generaal Digitaal uit de jaren 1984-1989 hadden een derde uitvoering van het script nodig. Zoals eerder beschreven bevatte het tweede deel van de Staten-Generaal Digitaal data meer OCR-fouten, voornamelijk bij dikgedrukte woorden. Dit vereiste een extra set reguliere expressies om dit op te schonen. Een voorbeeld: Namen werden in de tekst vaak met een spatie tussen iedere letter weergegeven. Bijvoorbeeld als volgt: Minister S m i t - K r o e s : en De heer D e G r o o t : Met het gebruik van reguliere expressies zijn alle spaties weggehaald na een teken dat zelf ook volgde na een spatie, dit levert het volgende op: Minister Smit-Kroes: en De heer DeGroot: Het eerste voorbeeld is nu zoals gewenst, maar het tweede voorbeeld nog niet. Daarom is er een spatie toegevoegd voor iedere hoofdletter die midden in een woord staat (er zijn nog wat andere restricties gesteld, maar deze worden nu buiten beschouwing gelaten). Dit levert op: Minister Smit-Kroes: en De heer De Groot: Op deze manier zijn er veel OCR-fouten uit de data gehaald. Er zijn er ook enkele bijgekomen (Van der Stoel wordt bijvoorbeeld Vander Stoel), maar dit weegt niet op tegen het aantal fouten dat er uit is gehaald.
Een voorbeeld van de uitvoer
Het ontsluiten van Nederlandse Parlementaire Publicaties
35
Het script dat hiervoor is beschreven is één van de belangrijkste van het project. De uitvoer is ook erg belangrijk. Om deze reden is er een compleet voorbeeld opgenomen in de bijlage. Dit voorbeeld bestaat uit een afbeelding van de originele PDF, de uitvoer van ‘pdftohtml’ en de uitvoer van het script dat hiervoor is beschreven. Hiermee is de extractiefase van het ETL-proces afgerond. De schema’s zijn geëxtraheerd uit de data (bovenste pijl) en ook zijn de instaties (uitspraken) uit de data geëxtraheerd en getransformeerd naar het gewenste formaat (onderste pijl). Fase 2: Integratie De eerste fase is op dit moment afgerond. Het resultaat daarvan zijn verschillende schema’s van de verschillende bronnen en XML-bestanden in het gewenste formaat. Tijdens de vorige fase is er al een deel van het werk van deze fase gedaan, namelijk het integreren van de metadata. In deze fase wordt nog met terugwerkende kracht beschreven hoe dat is gedaan. In deze subsectie wordt wederom onderscheid gemaakt tussen schemaniveau en dataniveau. Integratie: Schemaniveau In deze fase is het de bedoeling om de schema’s die in de vorige stap gemaakt zijn te combineren tot één schema. De keuzes die hierin gemaakt worden kunnen gebaseerd worden op schema-related evidence, datarelated evidence en external evidence zoals eerder al beschreven is in de literatuursectie. In deze subsectie worden de keuzes die gemaakt zijn onderbouwd met deze vormen van evidentie. 1
SGD-benaming Parlando-benaming Uiteindelijke benaming Description Bibliografische_omschrijving Bibliografische_omschrijving Onderbouwing Schema-related evidence: De naam van de attributen komen dicht bij elkaar in de buurt > Beschrijving / Omschrijving Data-related evidence: Beide geven een beschrijving van de inhoud van het document
2
SGD-benaming Parlando-benaming Uiteindelijke benaming Date (YYYY-MM-DD) Datum_vergadering (DD-MM-YYYY) Datum_vergadering (YYYY-MM-DD) Onderbouwing Schema-related evidence: De naam van de attributen komen dicht bij elkaar in de buurt > Datum / Datum vergadering, beide zijn een datum Data-related evidence: Beide geven een datum, wel in verschillende formaten. De data van Parlando worden daarom ook omgezet naar YYYY-MM-DD formaat. Dit komt overeen met de standaard die in de database gebruikt wordt: ISO 8601
3
SGD-benaming Parlando-benaming Uiteindelijke benaming Record-id Document-id Document-id Onderbouwing Schema-related evidence: De naam van de attributen komen dicht bij elkaar in de buurt, beide zijn uniek Data-related evidence: De inhoud van beide velden kan gebruikt worden om bij het originele bestand terecht te komen.
Het ontsluiten van Nederlandse Parlementaire Publicaties
36
4
SGD-benaming Parlando-benaming Uiteindelijke benaming Extent Omvang Omvang Onderbouwing Schema-related evidence: Beide bevatten een getal. Data-related evidence: De getallen komen overeen met het aantal pagina’s in het document Minimum is 1, maximum is bij SGD hoger dan Parlando
5
SGD-benaming Parlando-benaming Uiteindelijke benaming Ispartof Afkomstig_van Afkomstig_van Onderbouwing Schema-related evidence: De naam van de attributen komen dicht bij elkaar in de buurt Data-related evidence: De waardes lijken sterk op elkaar (Staten Generaal en Staten Generaal Digitaal)
De overige metadatavelden kunnen niet samengevoegd worden omdat ze niet genoeg overeenkomst lijken te vertonen. De overige velden zijn wel meegenomen in het uiteindelijke XML-bestand, maar deze komen dus niet in alle XML-bestanden voor. Omdat de structuur van de PDF-bestanden zelf wel gelijk is, kunnen de beide schema’s nu samengevoegd worden tot één schema. Deze wordt hier uitgedrukt in een Document Type Definition (DTD) welke is opgenomen in de bijlage (bijlage 5). Dit is het eindresultaat van de tweede stap uit het ETL-proces op schema-niveau. Integratie: Dataniveau In de tweede fase van het ETL proces staat op dataniveau: “Instance matching and integration”. In deze fase worden instanties dus met elkaar vergeleken en eventueel gematcht en geïntegreerd. Dit is de stap van de normalisatie van de data. De eerste stap van normalisatie is semiautomatisch gedaan. Voor zowel de partijnamen als de persoonsnamen is er een lijst gemaakt met alle namen. Op die lijst staat ook hoe vaak de namen voorkomen en de lijst is gesorteerd op aantal. De namen die heel weinig voorkomen zijn bijna altijd fout. Zeker bij de partijen zijn deze vaak makkelijk te herkennen. Met de hand zijn deze namen nagelopen en er is een andere lijst gemaakt met foute namen en de bijbehorende correcte namen. Van deze lijst zijn weer reguliere expressies gemaakt en die zijn over heel de dataset gedraaid. Hierdoor zijn de meeste fouten al uit de partijnamen en de persoonsnamen. Deze lijst kan gebruikt blijven worden omdat veel fouten zich waarschijnlijk zullen herhalen. Omdat de foute namen worden veranderd in goede namen worden de bij elkaar horende instanties (in dit geval uitspraken) samengevoegd. Ze behoren dan allemaal tot de groep uitspraken van persoon X. Het resultaat van deze stap is een opgeschoonde collectie XML-bestanden in het gewenste formaat die klaar is om de database in te gaan. Als de data in de database zit zal er ook nog een normalisatie script over de data gedraaid worden. Met behulp van de Levenshtein distance, die beschreven is in de literatuursectie, zullen de namen genormaliseerd worden. Op die manier wordt de data nog schoner en beter. Fase 3: Aggregatie In de laatste fase wordt het schema geïmplementeerd in de database en wordt de data in de database geladen. Ook hier weer zullen de twee niveau’s apart besproken worden. Aggregatie: Schemaniveau Het schema van de database is in overleg met anderen ontworpen en door anderen geïmplementeerd. Er wordt daarom niet te ver in gegaan op dit schema in deze scriptie. Het schema wordt hier wel opgenomen, omdat er wel veel gewerkt is met dit schema. Het schema dekt niet alle informatie in het schema uit de tweede fase van het ETL-proces, maar slechts een deel ervan. Dit is een keuze geweest om de data alvast meer af te stemmen op het gebruik met een zoekmachine.
Het ontsluiten van Nederlandse Parlementaire Publicaties
37
Aggregatie: Dataniveau Op dataniveau is het belangrijk om de data in de database te krijgen. De stap van XML-bestanden naar een MySQL database is gezet door een XSLT-transformatie toe te passen op de XML-bestanden zodat het SQL-insert statements werden. XSLT is een taal waarmee XML bestanden getransformeerd kunnen worden. De XMLbestanden zijn dus getransformeerd naar het formaat dat de MySQL database als invoer neemt. Op deze manier is de ‘kamerstukken’-tabel gevuld. Op dit punt wordt er ook al wat filtering toegepast omdat niet alles in de database terecht komt uiteindelijk. In dit project is ervoor gekozen om alleen de uitspraken op te nemen in de database en dus nog niet alle metadata en losse tekst (zoals aanhef van een onderwerp). Dit kan eventueel in een later stadium nog gebeuren. De informatie die niet meegaat de database in wordt wel getoond op de website uiteindelijk, maar is niet doorzoekbaar. Resultaat: De database Het resultaat van het doorlopen van de drie fases van het ETL-project is een gevulde database. Hoeveel er uiteindelijk in de database is gekomen staat in onderstaande tabel. Tabel 8. – Totale inhoud database
Type Handelingen (Uitspraken) Kamervragen Moties
Aantal 1.011.697 58.990 27.946
De moties zijn afkomstig van de Dienst Informatievoorziening van de Tweede Kamer. Deze zijn in het kader van een ander project bewerkt. In de onderstaande verdeling zijn deze verschillende documenttypes in de database uitgezet tegen de tijd.
Het ontsluiten van Nederlandse Parlementaire Publicaties
38
Grafiek 3. – Aantallen in de database (Bij handelingen: Uitspraken)
MOT
KVR
HAN
6000
70000
5000
60000 50000
4000
40000 3000 30000 2000
20000
1000
10000 0
0
In deze grafiek is te zien dat het aantal (verwijzingen naar) bestanden bij de handelingen vanaf 1995 toeneemt. Dit komt omdat Parlando vanaf toen de vergaderingen is gaan opdelen in losse onderwerpen. Om te kijken of dit ook heeft gezorgd voor veel overlap in de database kan de bovenstaande grafiek met de onderstaande grafiek vergeleken worden. In de onderstaande grafieken zijn het aantal woorden per jaar in de database weergegeven. Grafiek 4. – Aantal woorden in de database
Aantal woorden 10.000.000 9.000.000 8.000.000 7.000.000 6.000.000 5.000.000 4.000.000 3.000.000 2.000.000 1.000.000
Het ontsluiten van Nederlandse Parlementaire Publicaties
2008
2007
2006
2005
2004
2003
2002
2001
2000
1999
1998
1997
1996
1995
1994
1993
1992
1991
1990
1989
1988
1987
1986
1985
1984
0
39
Op de bovenstaande grafiek is te zien dat de overlap die in de PDF-bestanden zit bij Parlando niet meer voor opvallende verschillen zorgt. De overlap aan het begin van ieder bestand is weggehaald en dus is alleen de overlap aan het einde van bestanden overgebleven. Het verloop lijkt in de Parlando periode ongeveer wel gelijk te zijn aan de Staten-Generaal periode. Het ETL-proces is nu doorlopen. Nu rest alleen nog het maken van de website/zoekmachine. Dit zal in de volgende sectie beschreven worden. 5.2 Het ontwikkelen van de Website/Zoekmachine In de literatuursectie werd verwezen naar het perspectief van Coyle en Smythe op zoekmachines. Namelijk dat een resultatenlijst die teruggegeven wordt door een zoekmachine niet het eindpunt is van een zoektocht, maar het begin. (Coyle & Smyth, 2007) In dit project wordt er met deze filosofie in het achterhoofd ontwikkeld. Het is de bedoeling dat de gebruiker goed ondersteund wordt bij het zoeken. Verder moet de zoekmachine goed gebruik maken van het feit dat het een verticale zoekmachine is. Ofwel, er moet gebruik gemaakt worden van de domeinspecifieke kennis. En, de website/zoekmachine moet voldoen aan de speerpunten die in sectie 3.2 opgesteld zijn op basis van de wensen van Sargasso en de Engelse website TheyWorkForYou.com. De website: Algemeen Via de website is het de bedoeling dat de gebruiker de data in de database kan doorzoeken. Het nadruk ligt hierbij op verschillende ingangen naar de informatie en begeleid zoeken. De website heeft de naam PoliDocs meegekregen en is te bereiken op www.polidocs.nl, www.polydox.nl en www.polidox.com. Deze laatste twee adressen zijn voor het geval gebruikers de naam niet helemaal goed onthouden hebben en gokken. De site is zo ontwikkeld dat mensen met een lage resolutie (800x600) de site ook goed kunnen gebruiken. Screenshot 1. – PoliDocs.nl graphic en menu
De website: Zoeken Op het moment worden er vier manieren van zoeken aangeboden op de website, namelijk: Eenvoudig zoeken Geavanceerd zoeken Zoeken op/via personen Zoeken op/via jaren Eenvoudig zoeken is zo eenvoudig mogelijk gehouden. Gebruikers kunnen zoektermen invoeren en op zoeken drukken. De cursor wordt bij het laden van de pagina meteen op in het zoekvak gezet zodat de gebruikers meteen kunnen beginnen met typen. De interface van eenvoudig zoeken is hieronder afgebeeld. Screenshot 2. – Eenvoudig Zoeken interface
Bij geavanceerd zoeken heeft de gebruiker veel meer mogelijkheden om zelf de zoekactie vorm te geven. De interface van geavanceerd zoeken is hieronder weergegeven.
Het ontsluiten van Nederlandse Parlementaire Publicaties
40
Screenshot 3. – Geavanceerd Zoeken interface
Gebruikers hebben in geavanceerd zoeken de volgende opties: Zoektermen opgeven of nergens op zoeken (laat alles zien) Aangeven in welke documenttypes ze willen zoeken Een begindatum en een einddatum aangeven (de einddatum staat automatisch op de huidige datum) Aangeven welke partijen voor moeten komen in de zoekresultaten. De negen grootste partijen hebben een eigen vakje, de overigen partijen kunnen in het vak Partij meegegeven worden Opgeven van welke persoon ze resultaten willen zien Opgeven van welk ministerie ze resultaten willen zien (geldt alleen voor Kamervragen) De velden partij, persoon en ministerie zijn voorzien van het zogenoemde ‘livesearch’. Dit houdt in dat er tijdens het typen suggesties worden gegeven. Deze suggesties kunnen dan gekozen worden. Het grote voordeel hiervan is dat mensen niet gauw typefouten in namen schrijven of namen op een andere manier schrijven dan ze in de database staan. Hieronder is een afbeelding van de livesearch weergegeven. Screenshot 4. – De livesearch
Deze livesearch staat ook op de persoon pagina en de partij pagina. Op deze pagina’s kan de gebruiker zoeken op een persoon of partij. De interface van deze twee pagina’s lijkt sterk op elkaar, daarom is er maar één screenshot opgenomen.
Het ontsluiten van Nederlandse Parlementaire Publicaties
41
Screenshot 5. – Personen Zoeken interface
De resultatenpagina’s worden in de subsectie ‘De website: Resultaten’ beschreven. De website: De zoekmachine De zoekmachine wordt aangedreven door ‘MySQL Full-text Search’. Dit is een zoekfunctionaliteit die een MySQL database in zich heeft. Er hoeft alleen maar aangegeven te worden welke velden doorzoekbaar moeten zijn zodat daar een index van gemaakt kan worden. Als dit gedaan is kan er gezocht worden in de database door MATCH(<doorzoekbare velden>) AGAINST(‘’) op te nemen in de SQL query. De interactie tussen gebruiker en de MySQL database verloopt via PHP-scripts. Deze lezen de querystring die in de adresbalk van de browser staat en maken op basis daarvan de bijpassen zoekqueries. Vervolgens wordt er verbinding gemaakt met de database en wordt de zoekquery verzonden. Het script wacht op antwoord en als het antwoord krijgt laat het deze zien op een vooraf ingestelde manier. Door de manier waarop de PHP-script gemaakt zijn is de zoekmachine een ‘AND’-zoekmachine. Hiermee wordt bedoeld dat de zoekmachine alleen resultaten teruggeeft waarin alle zoektermen voorkomen. Deze functionaliteit is doorgevoerd door zoekqueries op te bouwen waarin voor iedere zoekterm een MATCHAGAINST voorwaarde is opgenomen die waar moet zijn. Dit wordt gedaan in verschillende loops zodat het aantal zoektermen in principe onbeperkt is. Als een gebruiker geen zoektermen invoert wordt er een andere set zoekqueries aangeroepen. Namelijk zoekqueries die alle resultaten teruggeven, in de plaats van geen resultaten wat standaard is bij het invoeren van nul zoektermen. Dit biedt de gebruiker de mogelijkheid om ‘gewoon maar eens te kijken’ wat er in de database staat of wat er de afgelopen dagen zoal is gebeurt. Ook vormt het een mooi startpunt voor een zoekopdracht die later nog verfijnd kan worden. De website: Resultaten De resultatenpagina’s van het Eenvoudig Zoeken en Geavanceerd Zoeken zien er hetzelfde uit voor de gebruiker, de code erachter scheelt wel aanzienlijk. De resultatenpagina bestaat uit verschillende delen. Bovenin de pagina staat het aantal resultaten per documenttype en heeft de gebruiker de kans om meteen verder te zoeken. Screenshot 6. – Aantal resultaten en verderzoeken
De gebruiker kan in het zoekveld zoektermen toevoegen aan zijn oorspronkelijke zoekopdracht die al in het veld is ingevuld. Ook kan de gebruiker hier kiezen om de ordening te veranderen. De gebruiker kan sorteren op relevantie (welke berekend wordt door MySQL Full-Text search), op datum waarbij de nieuwste resultaten bovenaan staan en op datum waarbij de oudste resultaten bovenaan staan. Dit laatste kan bijvoorbeeld handig zijn als iemand wil zoeken naar het ontstaan van een onderwerp in Parlementaire publicaties. De resultaten zijn altijd gegroepeerd aan de hand van het documenttype. In de startsituatie worden van ieder documenttype de eerste vijf resultaten weergegeven. Deze resultaten kunnen worden ingeklapt voor het overzicht of om sneller bij andere resultaten te komen. Als iemand vijf resultaten niet genoeg vindt kan er geklikt worden op “meer moties”, “meer kamervragen” of “meer handelingen” en dan worden de eerste 100 resultaten getoond van alleen het gekozen documenttype. Alle variabelen blijven behouden als de gebruiker
Het ontsluiten van Nederlandse Parlementaire Publicaties
42
hiervoor kiest. Als een gebruiker eenmaal de eerste 100 resultaten ziet kan hij terug naar alle resultaten door op de knop te drukken “terug naar alle resultaten”. Een resultaat ziet er voor alle documenttypes hetzelfde uit. Hieronder is een voorbeeld van een resultaat weergegeven. Screenshot 7. – Een voorbeeld van een resultaat
Links in een resultaat wordt een rangnummer en het type weergegeven. Daarnaast staat een foto van de persoon die de motie/Kamervraag heeft ingediend of de uitspraak heeft gedaan met onder de foto zijn of haar naam. Deze foto is afkomstig van het Parlementair Documentatie Centrum (PDC). De foto’s worden automatisch aan de personen gekoppeld door een nummer wat in de personen-tabel van de database staat. In het midden van het zoekresultaat staat een titel en een kort stukje tekst van het resultaat. De titel verschilt per documenttype. Bij motie wordt de ‘snippet’ uit de database gebruikt, bij Kamervragen worden de ‘keywords’ gebruikt en bij Handelingen staat er ‘Uitspraak van <>’. In het korte stukje tekst dat wordt weergegeven worden de termen die gezocht zijn gemarkeerd. In dit geval ‘spitsstrook’. Onderin het midden wordt de datum van het zoekresultaat weergegeven en daarnaast een directe link naar de bron. Rechts staat een partijlogo. Het kan ook voorkomen dat het niet bekend is welke foto bij een persoon hoort, of dat de persoon voorzitter is. Wie op welk moment voorzitter is, is niet opgenomen in de database. Onbekende personen en voorzitter hebben daarom eigen plaatjes gekregen. Deze staan hieronder afgebeeld. Screenshot 8. – Afbeeldingen voor een onbekend persoon en de voorzitter
Bovenin de resultatenpagina zijn zogenaamde ‘top5-lijstjes’ weergegeven die de gebruiker moeten helpen om eenvoudig de zoekquery bij te stellen. Er zijn drie lijstjes: De 5 meest voorkomende personen, partijen en jaren. Deze lijstjes geven de 5 personen, partijen en jaren die de meeste hits hebben met de huidige zoekquery. De top5-lijstjes staan hieronder afgebeeld. Screenshot 9. – Top 5 lijstjes
De top5-lijstjes kunnen gebruikt worden als een analyse-tool. De bovenstaande lijstjes zijn bijvoorbeeld afkomstig van een zoekopdracht naar het woord ‘moslims’. Het is al duidelijk te zien dat de heer Wilders van de PVV hier veel mee van doen heeft. Hij staat bovenaan, ondanks dat hij nog niet zo lang actief is in de kamer.
Het ontsluiten van Nederlandse Parlementaire Publicaties
43
Ook is er te zien dat het onderwerp steeds actueler is geworden. (2008 staat niet bovenaan omdat het nog niet e voorbij is, maar nu haalt het al een 4 plaats in de top5 lijst!) De top5-lijstjes zijn niet alleen en analyse-tool maar zijn ook bedoeld om de gebruiker te helpen met verder zoeken. Om deze reden zijn alle lijstjes klikbaar gemaakt. Dit wil zeggen dat de zoekresultaten beperkt kunnen worden door op een persoon, partij of jaar te klikken in één van de lijstjes. Hieronder is dit afgebeeld. Screenshot 10. – Top 5 lijstjes, selectie gemaakt
In het screenshot hierboven is in de resultaten van de zoekopdracht ‘moslims’ gekozen voor de persoon ‘Halsema’. Op de screenshot is te zien dat alles meteen wordt aangepast op deze selectie. Het aantal resultaten bovenin wordt aangepast, de lijst met partijen en jaargangen worden ook aangepast inclusief het aantal hits. Als er gekozen was voor Wilders had de partijenlijst nu bestaan uit de verschillende partijen waarin de heer Wilders actief is geweest (Groep Wilders, VVD en Partij voor de Vrijheid). Zo zou ook gekeken kunnen worden naar wat de heer Wilders heeft gezegd over Moslims in de tijd dat hij in de VVD zat. Nu we voor mevrouw Halsema hebben gekozen worden er natuurlijk alleen nog maar resultaten getoond haar. Binnen deze subselectie van de originele zoekquery zijn alle mogelijkheden beschikbaar die er voorheen ook waren. Gebruikers kunnen dus de huidige resultaten ook sorteren, of meer van een bepaald documenttype bekijken. Er kunnen ook meerdere restricties gesteld worden in de top5-lijstjes. Het is niet beperkt tot één lijstje. Als alle mogelijkheden van het geavanceerd zoeken gecombineerd worden met het gebruik van ordening en deze top5-lijstjes levert dit een krachtige zoekmachine op met veel mogelijkheden. Naast het zoeken via Eenvoudig Zoeken en Geavanceerd Zoeken is het ook mogelijk om op Personen te zoeken of Partijen. Het resultaat van een dergelijke zoekopdracht is een overzichtspagina van de desbetreffende persoon of partij. Op deze pagina worden de 10 meest recente moties, Kamervragen en vergaderingen waarin de persoon of partij actief is geweest getoond. Er is hier gekozen om niet de laatste tien uitspraken te tonen, omdat deze waarschijnlijk allemaal uit dezelfde vergadering zouden komen. Op de volgende pagina staat de overzichtpagina van personen weergegeven.
Het ontsluiten van Nederlandse Parlementaire Publicaties
44
Screenshot 11. – Resultatenpagina van zoeken op personen
Aan de linkerkant is de foto weergegeven van de persoon met daaronder zijn of haar naam en partij. Er is ook een link opgenomen naar de biografie van de persoon in de databank van het Parlementair Documentatie Centrum. Met de knop “Meer over: <<partij>>” gaat de gebruiker naar de overzichtpagina van die partij. Er kan ook gezocht worden op de huidige persoon. De gebruiker wordt dan naar geavanceerd zoeken gebracht en de huidige persoon staat dan al ingevuld bij ‘Persoon’. In de rechterkolom zijn de meest recente moties, Kamervragen en vergaderingen waar de persoon actief in is geweest getoond. Deze zijn wat eenvoudiger weergegeven dan op de resultatenpagina omdat de foto van de persoon en partij altijd hetzelfde zouden zijn in dit geval. Alle moties, Kamervragen en vergaderingen zijn klikbaar. De gebruiker wordt dan naar de XML-uitvoering van het resultaat gebracht (dit wordt verderop verder beschreven). Ten slotte staan onderin de resultatenpagina nog wat statistieken over de persoon in kwestie. Namelijk hoeveel moties hij of zij (mede) heeft ingediend, hoeveel Kamervragen en hoeveel uitspraken hij of zij heeft gedaan in het parlement. De resultatenpagina van het zoeken op partijen lijkt erg op de resultatenpagina van het zoeken op persoon. Daarom wordt er geen screenshot opgenomen van deze pagina. Op de resultatenpagina van het zoeken op partijen staat het partijlogo (als dat beschikbaar is), dezelfde statistieken en recente moties, Kamervragen en vergaderingen waarin de partij actief was en de gebruiker heeft de mogelijkheid om meer te zoeken over deze partij. De gebruiker wordt dan net als bij het zoeken op personen naar Geavanceerd Zoeken gebracht en de huidige partij staat dan al ingevuld. Als een gebruiker een resultaat kiest op de resultatenpagina van Eenvoudig Zoeken, Geavanceerd Zoeken, zoeken op personen of zoeken op partijen, dan komt hij bij de moties en de Kamervragen direct uit bij het XMLbestand. Dit XML-bestand wordt met een stylesheet netjes weergegeven op het scherm. Bij de handelingen ligt het iets anders. Wanneer een gebruiker vanuit Personen of Partijen op een resultaat van een handeling klikt, dan kiezen ze voor een vergadering (zoals hiervoor uitgelegd is). Ze worden daarom meteen naar het XML-bestand met de stylesheet doorverwezen. Wanneer met in de resultatenpagina van Eenvoudig Zoeken of Geavanceerd Zoeken op een uitspraak klikt, worden ze eerst doorverwezen naar een tussenpagina. Op deze pagina staat de uitspraak helemaal weergegeven. Deze pagina staat hieronder afgebeeld.
Het ontsluiten van Nederlandse Parlementaire Publicaties
45
Screenshot 12. – Uitspraak pagina
Op deze pagina wordt nogmaals de foto, naam en partij van de spreker getoond. Vanaf deze pagina kan men ook naar de overzichtpagina’s van de huidige persoon of partij gaan. Aan de rechterkant staat de uitspraak nu helemaal weergegeven. Onderin kan de gebruiker ervoor kiezen om de vorige of volgende uitspraak in de vergadering (en dus niet in de resultatenlijst) te zien. Zo kan een gesprek gevolgd worden. Vaak is het interessant om te zien waar een uitspraak een reactie op is of om te kijken wat de reactie is op een uitspraak. Als iemand echt meer wil weten van de context van de uitspraak, dan kan hij klikken op ‘bekijk in context’. Dit brengt ze naar het XML-bestand van de vergadering (of het onderwerp als het een bron van Parlando is). Als we klikken op deze uitspraak van de heer Marijnissen krijgen we het volgende resultaat. Screenshot 13. – Een uitspraak in de context van een onderwerp
De gebruiker wordt dus midden in het onderwerp neergezet op het punt waar de uitspraak is gedaan. Onder iedere uitspraak staat een link zodat de gebruiker de link kan bewaren of kan doorsturen aan iemand anders. Zo kan er direct naar één uitspraak verwezen worden. Bovenin een onderwerp staat de metadata over een onderwerp weergegeven. Hieronder is dit weergegeven.
Het ontsluiten van Nederlandse Parlementaire Publicaties
46
Screenshot 14. – Metadata van een onderwerp
Onder de metadata van een onderwerp zijn de foto’s opgenomen van alle personen die spreken in het huidige onderwerp. Daaronder begint het onderwerp zelf. Hier is de structuur van het onderwerp weer terug te zien. In het onderstaande screenshot is het begin van een onderwerp (gele balk), een begin van een blok (roze, gecentreerd) en een spreker te zien. Screenshot 15. – Documentstructuur
Gebruikers hebben de mogelijkheid om lange uitspraken in te klappen om zo overzicht te behouden over het debat. Vanuit de handeling kan men ook de debatstructuur bekijken. Dit is een representatie van het debat op een speelse manier, gemaakt buiten dit project om. Hieronder is een voorbeeld van zo’n representatie te zien:
Hoe groter het ‘mondje’, hoe langer de uitspraak is geweest. Men kan de muis op een mondje houden om te zien wie die spreker is. Als men op het mondje klikt worden ze naar de bijbehorende uitspraak gebracht.
Het ontsluiten van Nederlandse Parlementaire Publicaties
47
Als afsluiting van deze sectie is er nog één visualisatie te noemen. Deze is niet opgenomen in de website en is ook niet gemaakt binnen dit project, maar zal wel in de toekomst geïntegreerd kunnen worden en is gemaakt op basis van de data in de database van dit project. Het gaat hier om de 3d browser waarmee de zoekresultaten op drie dimensies worden weergegeven.
Op de hoogte as zijn het aantal resultaten te zien, op de breedte as de partijen en op de diepte as de tijd in jaren. De partijen zijn geordend naar politieke geaardheid. Op deze manier is te zien hoe een thema zich ontwikkeld door de tijd heen. De ontwikkelde website en zoekmachine zijn in deze sectie beschreven. In de volgende sectie zullen onder andere deze website en zoekmachine geëvalueerd worden. 5.3 De pipeline In de voorgaande secties zijn de verschillende stappen beschreven die gezet moeten worden van het ophalen van de data tot het invoeren van de database. Om te zorgen dat de database dagelijks bijgevuld kan worden zijn al deze stappen achter elkaar gezet en geautomatiseerd. Deze ‘pipeline’ heeft de volgende stappen: 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14.
De benodigde mappen worden aangemaakt Eventuele bestaande bestanden uit eerdere sessies worden verwijderd De bestanden worden van Parlando opgehaald De metadata wordt uit de HTML-files gehaald Er wordt gekeken of er foto’s in de bestanden zitten De PDF-bestanden worden omgezet naar het gewenste XML-formaat Het XML wordt gecontroleerd De insert-statements voor de database worden gecreëerd De insert-statements worden klaar gemaakt om in de database te voeren (single quotes escapen) Als de data die in de database gezet gaat worden er al in staat wordt deze verwijderd (zodat het vernieuwd wordt met de nieuwste data) De insert-statements worden uitgevoerd Er wordt een verwijzing naar de stylesheet toegevoegd aan de XML-files De XML-bestanden worden gekopieerd naar de gewenste locatie Er wordt getoond of er onderweg fouten opgetreden zijn
Deze pipeline zal binnenkort iedere dag automatisch gedraaid worden zodat heel het systeem automatisch geüpdate en aangevuld wordt.
Het ontsluiten van Nederlandse Parlementaire Publicaties
48
5.4 Conclusies Hieronder staan de vragen die in deze sectie beantwoord zijn nog eens weergegeven. Er is een korte samenvatting van de hoofdpunten van het antwoord weergegeven. V7.
Hoe zijn in dit project de drie fases van het ETL-proces dat in de literatuur wordt beschreven ingevuld en verlopen? De drie fases van het ETL-proces zijn extractie, integratie en aggregatie. In de extractiefase zijn op schemaniveau de schema’s van de metadata en de data zelf geëxtraheerd. Op het dataniveau is het script beschreven dat de PDF-bestanden omzet naar het gewenste XML-formaat met expliciete structuur erin. Tijdens de fase integratie zijn op schemaniveau de schema’s van de metadata gecombineerd tot één schema. Deze is opgenomen in de bijlagen. Op data niveau zijn enkele normalisatiestappen beschreven die ervoor gezorgd hebben dat de data schoner is. In de laatste fase aggregatie is een soortgelijk schema als dat ontwikkeld is in de tweede fase geïmplementeerd in de database en is de data zelf in de database gezet. Dit heeft uiteindelijk 1.011.697 uitspraken, 58.990 Kamervragen en 27.946 moties in de database opgeleverd. V8. Wat heeft het ontwikkelen van de website/zoekmachine opgeleverd? Op basis van de database is er een website ontwikkeld die PoliDocs is genoemd. De website biedt vier ingangen naar de informatie, namelijk: Eenvoudig Zoeken, Geavanceerd Zoeken, zoeken op personen en zoeken op partijen. Door middel van een PHP script wordt de communicatie geregeld tussen de browser en de database. In de database wordt gezocht met behulp van MySQL Full Text Search. De resultatenpagina’s zijn zo ontworpen dat de gebruiker goed verder kan zoeken na een eerste zoekopdracht. Het belangrijkste element hiervan zijn de klikbare top 5 lijstjes die de 5 meest voorkomende personen, partijen en jaren aangeven. Deze passen zich aan, aan de huidige zoekquery. Uitspraken hebben nog een aparte pagina tussen de zoekresultatenpagina en het XML-bestand. Op deze pagina kan er door het debat gebladerd worden of men kan naar de plek in het debat gebracht worden waar de uitspraak gedaan is. Ze komen dan in het XML-bestand zelf terecht dat met een stylesheet wordt weergegeven. Bovenin staat de metadata en daaronder volgt de tekst zelf waarin de structuur onderwerp-bloksprekers duidelijk is aangegeven.
Het ontsluiten van Nederlandse Parlementaire Publicaties
49
6
Discussie 6 – DISC USSIE
In de voorgaande secties is het systeem dat ontwikkeld is in dit project besproken. In deze sectie worden de resultaten nog een tegen het licht gehouden. In deze sectie wordt het systeem dat ontwikkeld is in dit project kort geëvalueerd op twee manieren. Ten eerste zal de website/zoekmachine vergeleken worden met de wensen van Sargasso en de speerpunten die zijn opgesteld. Daarnaast volgt een kort verslag van een bezoek aan de Dienst Informatievoorziening van de Tweede Kamer waar het prototype is voorgelegd aan professionele gebruikers. Als afsluiting zullen er nog enkele beperkingen en zwakke punten besproken die nog niet aan bod zijn gekomen in deze sectie. In deze sectie zullen de volgende vragen beantwoord worden: V9. Hoe verhoudt de zoekmachine/website zich tot de specificaties opgesteld in de ‘Actie Open Democratie 1.0’ door Sargasso en de speerpunten die in dit project zijn opgesteld? V10. Hoe wordt de zoekmachine/website ontvangen bij professionele gebruikers? V11. Wat zijn de beperkingen van het project en de zwakke punten van het ontwikkelde systeem? 6.1 Sargasso en PoliDocs Sargasso, het collectieve weblog dat zich bezighoudt met wetenschap, politiek en cultuur startte in 2005 de ‘Actie Open Democratie 1.0’ waarin aandacht werd gevraagd voor de toenmalige stand van zaken op het gebied van het ontsluiten van Parlementaire publicaties. Er werd een brief geschreven waarin het ongenoegen van de bloggers geuit werd tegenover Parlando, de website die de verschillende publicaties beschikbaar stelt. In deze brief boden de schrijvers hun hulp aan bij het ontwikkelen van een nieuw systeem en leverden ze een lijst aan met 15 wensen/eisen waaraan het nieuwe systeem zou moeten voldoen. Nu, tweeënhalf jaar later is er nog steeds geen nieuw systeem gekomen, ondanks dat er toentertijd al gespeculeerd werd over een nieuw systeem genaamd Parlis. Daarom is er binnen dit project een poging gewaagd om een dergelijk systeem te realiseren. Het resultaat: PoliDocs. De grote vraag is nu: Hoe verhoudt PoliDocs zich tegenover de wensen/eisen van Sargasso? In hoeverre voldoet het resultaat van een afstudeerproject van tweeënhalve maand van twee studenten aan de eisen van de leden van Sargasso waar al tweeënhalf jaar geen gehoor aan is gegeven? Er is maar één manier om deze vraag te beantwoorden. Namelijk door alle eisen stuk voor stuk na te lopen: * Alle kamerstukken moeten direct te linken zijn (vaste URL); Aan de wens is voldaan. Naar alle informatie op PoliDocs is direct te verwijzen. Zelfs naar individuele uitspraken. Ook de vaste URL’s naar de bronbestanden zijn opgenomen op de website. * Alle bij elkaar horende kamerstukken (dossiers) moeten als geheel op te vragen zijn, inclusief eerdere versies van stukken; Aan deze wens is deels voldaan. De Kamervragen zijn gegroepeerd per dossier. Als één document wordt opgevraagd worden meteen alle links naar de andere documenten erbij gegeven. Eerdere versies van stukken waren niet beschikbaar. * Video-opnames en audio-opnames van debatten over bepaalde kamerstukken moeten gekoppeld zijn aan die stukken; Aan deze wens in niet voldaan. Deze optie is wel bekeken maar bleek nog niet haalbaar te zijn. Ten eerste zijn de video- en geluidsopnames niet beschikbaar op het internet en ten tweede lag hier een lastige kwestie wat betreft copyright (het beeldmateriaal is allemaal van de NOS). Mochten deze problemen opgelost worden, dan is er wel een manier waarop omgegaan kan worden met deze data. Met de video- en geluidsopnames kan op
Het ontsluiten van Nederlandse Parlementaire Publicaties
50
10
dezelfde manier omgegaan worden zoals dat in het CHoral project gebeurt. In dit projecten zijn tekstuele verslagen van toespraken gedigitaliseerd en gesynchroniseerd met audio door de tekst te vergelijken met de uitvoer van een spraakherkenningprogramma. Zoiets zou voor de Handelingen ook goed mogelijk zijn. De video-opnames kunnen dan gekoppeld worden aan de zoekresultaten zodat gebruikers er ook direct naartoe verwezen kunnen worden. * Van alle voorstellen en moties moet direct te zien zijn hoe er gestemd is (niet zoeken via verslagen); Aan deze wens is deels voldaan. Bij de moties is duidelijk aangegeven hoe er gestemd is. * Van alle politieke partijen moet direct te zien zijn hoe hun stemgedrag is; Aan deze wens is deels voldaan. Het is via de website te achterhalen, maar niet direct. Van personen is te zien hoe zij gestemd hebben op moties, en er is ook eenvoudig te achterhalen welke personen in welke partij(en) zitten of hebben gezeten. * Van alle parlementsleden moet direct te zien zijn hoe hun stemgedrag is; Aan deze wens is deels voldaan. Er kan gezocht worden op personen. Van deze personen kan dan bekeken worden hoe hij of zij stemt op de verschillende moties. Er is nog geen overzicht van stemmingen opgenomen op de persoonspagina. * Van parlementsleden moet direct opgevraagd kunnen worden welke vragen en moties ze ingediend hebben of mede ondertekend hebben; Aan deze wens is voldaan. Op PoliDocs wordt ook een zoekingang via personen. Hier worden de meest recente moties, Kamervragen en vergaderingen getoond waarin de persoon geparticipeerd heeft. * Bij kamerstukken moet direct zichtbaar zijn wanneer deze behandeld worden of behandeld zijn; Aan deze wens is voldaan. Bij de moties en Kamervragen zijn alle beschikbare data weergegeven. Bij de Kamervragen is er zelfs een maat van ‘hijgerigheid’ toegevoegd die aangeeft hoe snel een Kamervraag volgt op het verschijnen van de bron waaraan gerefereerd wordt. * Bij de kameragenda moet het mogelijk zijn direct de bijbehorende kamerstukken op te roepen; Aan deze wens is niet voldaan. De agenda’s zijn niet op internet beschikbaar. Dit is ook een onderzoekspunt voor Staten-Generaal Digitaal. Zij hebben ook geen agenda’s en willen deze proberen te reconstrueren aan de hand van de Handelingen. * Er moet een mogelijkheid zijn om alleen de basis informatie te zien of een meer uitgebreide set; Aan deze wens is voldaan. De informatie wordt op PoliDocs op verschillende manieren aangeboden, onder andere in ‘Eenvoudig Zoeken’ en ‘Geavanceerd Zoeken’. * Bij het zoeken op woorden moeten de resultaten in een tijdslijn van bij elkaar horende stukken getoond kunnen worden; Aan deze wens is voldaan. Op PoliDocs wordt ordening op datum geboden waardoor de resultaten zelf een tijdslijnvormen. Verder wordt er ook een 3d browser ontwikkeld die goed te integreren is met PoliDocs. Deze zal zoekresultaten op drie dimensies weergeven, namelijk: partijen, aantallen en jaren. * Er moet een open API komen waarmee andere partijen in staat worden gesteld om de beschikbare informatie op verschillende manier verder te behandelen of te tonen; Aan deze wens is deels voldaan. Er is geen programma interface beschikbaar op PoliDocs. Wel wordt alle informatie transparant via XML aangeboden en zijn de querystrings openbaar. Dit is nog makkelijker dan een API. * Er moet een mogelijkheid komen om middels RSS op de hoogte te blijven van de publicatie van stukken of bepaalde documenten binnen specifieke dossiers; Aan deze wens is niet voldaan. PoliDocs biedt geen RSS mogelijkheid. Dit komt omdat er in dit project vooral gekeken is naar het verleden en nog niet veel naar de toekomst. PoliDocs wordt binnenkort wel dagelijks aangevuld, dan is deze wens wel eenvoudig te vervullen. 10
CHoral – access to oral history, http://hmi.ewi.utwente.nl/choral/index.html
Het ontsluiten van Nederlandse Parlementaire Publicaties
51
* Alle gegevens moeten in een open, standaard formaat gepresenteerd worden. Er mag geen noodzaak zijn om producten van enkele leveranciers te moeten gebruiken om de gegevens te zien/gebruiken; Aan deze wens is voldaan. Op PoliDocs wordt alleen maar gewerkt met W3C standaard technologieën, namelijk XHTML, CSS, XML en XSLT. * De toegang tot de informatie online moet voldoen aan de eisen van Drempels Weg. Aan deze wensen is deels voldaan. De eisen van Drempels Weg zijn een hele set eisen op zich. Deze hebben te maken met de gebruiksvriendelijkheid van websites. Een website die het Waarmerk Drempelvrij mag dragen is volgens internationale standaarden gebruiksvriendelijk, ook voor mensen met beperkingen zoals slechtzienden. Als er alleen naar de eisen gekeken wordt die relevant zijn voor PoliDocs blijft er nog een hele lijst over: WCAG-ijkpunt 4.1: WCAG-ijkpunt 5.1: WCAG-ijkpunt 6.1: WCAG-ijkpunt 6.2: WCAG-ijkpunt 6.3: WCAG-ijkpunt 11.4:
WCAG-ijkpunt 12.1: WCAG-ijkpunt 14.1:
(Velleman, 2006)
Geef duidelijk veranderingen aan in de natuurlijke taal van de documenttekst en van alle tekstequivalenten (bijvoorbeeld onderschriften) Geef voor tabellen met data de rij- en kolomheaders aan Organiseer documenten zo dat ze zonder style sheets gelezen kunnen worden Zorg ervoor dat equivalenten voor dynamische content worden bijgewerkt als de dynamische content verandert Zorg ervoor dat pagina's bruikbaar zijn als scripts, applets of andere programmaobjecten uitstaan of niet worden ondersteund. Als dit niet het mogelijk is, lever dan equivalente informatie op een alternatieve pagina Als je ondanks alle inspanningen geen toegankelijke pagina kan creëren, lever dan een link naar een alternatieve pagina die W3C technologieën gebruikt, toegankelijk is, equivalente informatie (of functionaliteit) heeft en even vaak wordt geactualiseerd als de ontoegankelijke (oorspronkelijke) pagina Geef elk frame een titel, zodat je de identificatie en navigatie van een frame vergemakkelijkt Geef de duidelijkste en eenvoudigste taal die zich leent voor de content van een website
Ook deze zullen nog even stuk voor stuk doorlopen moeten worden. 4.1 X Veranderingen in natuurlijke taal komen op de website niet voor. In de documenten zelf waarschijnlijk wel. Hier is (nog) geen rekeningen mee gehouden in de XML-bestanden. 5.1 X Niet alle tabellen op PoliDocs hebben rij- en kolomheaders 6.1 V De documenten op PoliDocs kunnen ook zonder stylesheets bekeken worden 6.2 V De equivalenten (verborgen tekst) van dynamische content veranderd met de content mee 6.3 X Niet alle pagina’s werken nog geheel als javascript is uitgeschakeld, er is geen alternatieve pagina zonder scripts 11.4 X Er is geen alternatieve pagina 12.1 V Er worden geen frames gebruikt 14.1 V Er wordt zoveel mogelijk geprobeerd moeilijke politieke terminologie te vermijden op de website Achteraf voldoet PoliDocs dus aan 6 eisen helemaal, aan nog eens 6 deels en aan de overige 3 niet. Veel van de wensen waaraan deels- of niet voldaan zijn, zijn in de nabije toekomst nog eenvoudig te vervullen. PoliDocs lijkt dus een stap in de goede richting voor een verbeterd systeem. 6.2 De speerpunten van het project De eisen van Sargasso zijn vrij veeleisend. Ze zijn opgesteld voor een website die ontwikkeld moet worden door de overheid voor een grote doelgroep, en niet voor een afstudeerproject. Onder andere om die reden zijn er in dit project ook speerpunten opgesteld waaraan het project moet voldoen aan de hand van TheyWorkForYou.com. Er zal nu worden gekeken of PoliDocs voldoet aan de speerpunten die aan het begin van dit project zijn opgesteld. 1. Er moet direct verwezen kunnen worden naar alle belangrijke stukken van de site (permalinks), ook naar losse uitspraken in de handelingen Dit is mogelijk in het systeem. Aan dit speerpunt is dus voldaan.
Het ontsluiten van Nederlandse Parlementaire Publicaties
52
2. Dossiers moeten gegroepeerd worden De dossiers van de Kamervragen zijn gegroepeerd. Bij de Handelingen zijn dossier vaker niet dan wel aangegeven. Bij alle data van Staten-Generaal Digitaal bijvoorbeeld helemaal niet. Aan dit spreekpunt is dus voor zover mogelijk aan voldaan. 3. Bij de verschillende stukken moet de datum van behandeling aangegeven worden (waar mogelijk) Bij de moties en Kamervragen zijn alle beschikbare data duidelijk weergegeven. Bij de Kamervragen is er zelfs nog een extra maat geïntroduceerd: de hijgerigheid. Dit is het verschil tussen de jongste bron die aangehaald wordt in de Kamervraag en de datum van het indienen van de Kamervraag zelf. Aan dit speerpunt is voldaan. 4. De informatie moet via verschillende manieren te benaderen zijn, bijvoorbeeld via persoon, partij of door zoeken op trefwoorden De informatie is op vier manieren te benaderen, namelijk via Eenvoudig Zoeken, Geavanceerd Zoeken, zoeken op personen en zoeken op partijen. Aan dit speerpunt is voldaan. 5. Zoekresultaten moeten op meerdere manieren weergegeven worden, bijv. d.m.v. een tijdslijn De zoekresultaten worden op verschillende manieren weergegeven. Zo is er de gewone resultatenlijst, de top5lijstjes en is er een 3d browser in ontwikkeling die een overzicht van de resultaten geeft. Aan dit speerpunt is voldaan. 6. Alle gegevens moeten in open formaten gepresenteerd worden Alle gegevens worden gepresenteerd met W3C standaard technologieën, namelijk (X)HTML, CSS, XML en XSLT. Aan dit speerpunt is voldaan. 7. De website moet goed toegankelijk, bruikbaar en overzichtelijk zijn Ondanks dat de website niet voldoen aan alle eisen van ‘Drempels Weg’ is er toch goed gelet op gebruiksvriendelijkheid. Zo is de site bijvoorbeeld goed te bekijken op computers met een resolutie van 800x600. Verder is de site goed schaalbaar. Mensen die iets niet goed kunnen lezen kunnen eenvoudig alle tekst vergroten. Alles op de website zal dan evenredig mee vergroten. Aan dit speerpunt is voldaan. 8. Resultaten moeten op verschillende manieren geordend kunnen worden, o.a. op relevantie De resultaten zijn te ordenen naar relevante, meest recente datum (nieuwste eerst) en oudste datum (oudste eerst). Aan dit speerpunt is voldaan. 9. Het notie van antwoord van Handelingen moet een uitspraak zijn Aan dit speerpunt is voldaan. 10. Gebruikers moeten op de goede plek op de pagina neergezet worden bij het aanklikken van een zoekresultaat Dit speerpunt geldt eigenlijk alleen voor de Handelingen. Aan dit speerpunt is voldaan. 11. Gebruikers moeten reacties achter kunnen laten Deze functionaliteit is door tijdgebrek niet meer doorgevoerd. Wellicht dat deze functionaliteit in de toekomst nog toegevoegd zal worden. Aan dit speerpunt is niet voldaan. Eindscore: Aan 8 speerpunten is voldaan, aan 1 speerpunt is voor zover mogelijk aan voldaan en aan 1 speerpunt is niet voldaan. Het resultaat voldoet dus in hoge mate aan de speerpunten die zelf vooraf zijn opgesteld. 6.3 Bezoek aan de Tweede Kamer Op maandag 16 Juni is er een bijeenkomst geweest met enkele leden van de Dienst Informatievoorziening van de Tweede Kamer in Den Haag. Tijdens deze bijeenkomst is het project besproken en is er een demo gegeven van de website/zoekmachine. Er zijn geen vragenlijsten afgenomen of interviews gehouden. Daarom kan deze bijeenkomst enkel als informele evaluatie dienen. De leden van de Dienst Informatievoorziening waren naar eigen zeggen “erg onder de indruk” van wat er gepresteerd is sinds de vorige keer dat er contact is geweest (aan het begin van het project). Dankzij de demo en uitleg zagen zij het nut van een dergelijk systeem in. Er zijn daarom afspraken gemaakt om een
Het ontsluiten van Nederlandse Parlementaire Publicaties
53
samenwerkingsverband op te starten tussen de Universiteit van Amsterdam en de Dienst Informatievoorziening van de Tweede Kamer. De leden van de Dienst Informatievoorziening leken vooral geïnteresseerd te zijn in de analyse mogelijkheden van de website. Met name de top 5 lijstjes die zichzelf aanpasten aan alle veranderingen waren ze over te spreken. Een ander punt waar ze erg over te spreken waren was het opdelen van de Handelingen in uitspraken, maar dan toch met de mogelijkheid om ze direct in context te zien. Dit was nieuw voor hun en hier zagen ze het nut zeker van in. Ten slotte noemde ze nog het punt dat zoektermen in de loop der tijd een verschillende betekenis kunnen krijgen. Ze noemden bijvoorbeeld integratie als voorbeeld. Tegenwoordig gaat het bij integratie vooral om integratie van allochtonen. Maar, vroeger ging het voornamelijk over de integratie van het onderwijs als het over integratie ging. Deze punten zijn allemaal tot stand gekomen uit overleg. Er zijn verder zoals gezegd geen vragenlijsten of interviews afgenomen. Wel kan gezegd worden dat het een inspirerende bijeenkomst was, voor beide kanten zo leek het. 6.4 Beperkingen De twee grootste beperkingen van dit project waren tijd en kennis. In iets minder dan 3 maanden is alles opgezet, geprogrammeerd en gedocumenteerd. Verder waren bijna alle problemen die zich voordeden in dit project nieuw en kostte het daarom veel tijd om ze op te lossen. De resultaten van dit onderzoek dienen daarom ook gezien te worden als een prototype. Een demonstratie van wat mogelijk is. Een andere beperking zat hem in de hardware en software die voorhanden was. Het project kende veel technische problemen. Van falende hardware tot oude versies van software (PHP bijvoorbeeld). 6.5 Zwakke punten Veel van de zwakke punten zijn al naar voren gekomen in de evaluatie. Hier wordt nog in gegaan op de zwakke punten die daar niet in naar voren zijn gekomen. Een zwak punt van de resultaten zit nog in de OCR-fouten. De OCR fouten zijn wel uit de partijnamen en persoonsnamen gehaald, maar met de OCR-fouten in de tekst zelf is nog bijna niks gedaan. Hier bestaan wel technieken voor. Hierdoor is een deel van de data nog ‘vuil’. Een voorbeeld: Het zoeken op “bezumigmg” in de zoekmachine levert 23 resultaten op. Door dit soort OCR-fouten worden sommige resultaten die relevant zijn niet weergegeven (als iemand zoekt op “bezuiniging” dan worden de 23 resultaten met “bezumigmg” niet getoond) en het kan ook voorkomen dat er bijvoorbeeld metadata in de tekst terecht komt die niet goed wordt opgevangen. Verder kan aangestipt worden dat het omzetten van PDF naar XML nog niet foutloos is. Dingen die nog fout gaan zijn bijvoorbeeld: Het omgaan met afwijkende vergaderingen (verenigde vergadering, algemene beschouwingen) Namen van voorzitters over twee regels worden niet opgepikt Namen bevatten nog wel eens “Minister” of “Staatssectretaris”, terwijl dit als “soort” aangemerkt had moeten zijn Een ander zwak punt is dat sommige onderdelen van het systeem niet automatisch geüpdate worden. Er worden bijvoorbeeld statische lijsten gebruikt in de database voor personen, partijen en zittingsperiode van personen in partijen. Wanneer er een nieuwe persoon in de politiek komt zal het systeem zich daar niet aan aanpassen. Er zal geen foto beschikbaar zijn, geen link naar PDC en de naam kan niet genormaliseerd worden als er fouten in zitten. Een tussenoplossing zou zijn om deze lijsten per regeringsperiode bij te werken. De livesearch is overigens ook afhankelijk van soortgelijke statische lijsten. Verder is het ook wenselijk dat de database gemigreerd wordt naar een snellere database. De website is soms al eens langzaam (zeker de persoon- en partijpagina’s), maar op het moment dat de site publiekelijk bekend wordt gemaakt kunnen de wachttijden waarschijnlijk hoog oplopen. Dit is zeker een zwak punt van het huidige systeem. Een ander zwak punt van de resultaten heeft te maken met copyright. Pas bij het bezoek aan de Tweede Kamer werd duidelijk dat er copyright rust op de metadata van Parlando. Totdat dit helemaal goed is uitgezocht zijn er
Het ontsluiten van Nederlandse Parlementaire Publicaties
54
daarom nu delen van de site alleen met een wachtwoord te bereiken. Dit is natuurlijk geen ideale situatie. Het is juist de bedoeling om de Parlementaire publicaties te ontsluiten. Ook de website heeft wat zwakke punten. Zo kloppen de tellingen niet altijd perfect. Vaak wordt dit veroorzaakt door dossiers. Wanneer men bijvoorbeeld zoekt op ‘knettergek’ dan krijgt men twee resultaten maar er worden drie hits aangegeven. Dit komt omdat er drie bestanden zijn, maar de resultaten van Kamervragen zijn gegroepeerd naar dossiers, en het zijn 2 dossiers. Het ontwerp van de database levert ook een zwak punt op. Er kan op het moment niet gezocht worden op onderwerpen zelf (de aanhef ervan). Terwijl hier juist heel waardevolle informatie in zit vaak. Er zou dus overwogen kunnen worden om de aanhef van onderwerp in een losse tabel te zetten. Het laatste zwakke punt dat in deze sectie wordt besproken van de zoekmachine is dat in “Geavanceerd Zoeken” effectief gezien in minder data gezocht wordt dan in “Eenvoudig Zoeken”. Dit komt omdat bij “Eenvoudig Zoeken” geen restricties meegegeven worden in de zoekquery aan welke partijen terug moeten komen. In Geavanceerd Zoeken wordt dat wel gedaan. Daar komen namelijk alleen de resultaten terug van de 9 grootste partijen (als die staan aangevinkt) en dan eventueel nog de partij die in de livesearch is ingevoegd. Het is heel lastig om dit probleem op te lossen gezien de manier waarop een zoekquery is opgebouwd. Voor de analyses kan de hoeveelheid data waarin gezocht wordt wel verschil maken. Misschien moet dit daarom vermeld worden op de website zolang het nog niet is opgelost. 6.6 Conclusies In deze sectie zijn drie deelvragen beantwoord. De antwoorden zullen hieronder kort per deelvraag samengevat worden. V9.
Hoe verhoudt de zoekmachine/website zich tot de specificaties opgesteld in de ‘Actie Open Democratie 1.0’ door Sargasso en de speerpunten die in dit project zijn opgesteld? PoliDocs voldoet helemaal aan 6 eisen van Sargasso, gedeeltelijk aan nog eens 6 en voldoet niet aan 3 eisen van Sargasso. De eisen van Sargasso waar niet aan voldaan wordt zijn het gebruik van RSS, het opnemen van kameragenda met links naar de bijbehorende kamerstukken en het opnemen van audio-/video-opnames. In dit project zijn ook speerpunten opgezet die wat meer afgestemd zijn op het doel van dit project. Deze zijn gebaseerd op de eisen van Sargasso, maar voor een groot deel ook op de website van TheyWorkForYou.com. Aan 8 van de 10 speerpunten is voldaan, aan 1 speerpunt is voldaan voor zover dat mogelijk was en aan 1 speerpunt is niet voldaan. V10. Hoe wordt de zoekmachine/website ontvangen bij professionele gebruikers? Op 16 Juni is er in Den Haag een bijeenkomst geweest met de Dienst Informatievoorziening van de Tweede Kamer. De leden van de Dienst Informatievoorziening waren enthousiast over de demonstratie. Over het opsplitsen van Handelingen in uitspraken en het gebruik van de top 5 lijstjes waren ze erg te spreken. Ze wezen nog op het punt dat zoektermen een wisselende betekenis door de tijd heen kunnen hebben. Mede dankzij de demonstratie zijn er afspraken gemaakt om een samenwerkingsverband te starten tussen de Universiteit van Amsterdam en de Dienst Informatievoorziening van de Tweede Kamer. V11. Wat zijn de beperkingen van het project en de zwakke punten van het ontwikkelde systeem? Het project kent veel zwakke punten. Dit komt vooral door de beperking van tijd en kennis die vooraf aanwezig was. De zwakke punten zijn de OCR-fouten in de tekst, enkele losse eindjes in het omzetten van PDF naar XML, het gebruik van statische lijsten in het systeem, een wat langzame database (voor internetgebruik), onduidelijke copyrights, het niet kunnen zoeken op onderwerpen, kleine imperfecties in de tellingen en het probleem dat Geavanceerd Zoeken in minder data zoekt dan Eenvoudig Zoeken.
Het ontsluiten van Nederlandse Parlementaire Publicaties
55
7
Vervolgonderzoek
7 – V ERV O LG ON DERZ OE K
De website van PoliDocs is eigenlijk nog maar een prototype van een mogelijke site. Tijdens het project waren er bijna net zo veel ideeën die door tijdsdruk niet zijn uitgewerkt als ideeën die wel zijn uitgewerkt. In deze sectie wordt er in grote lijnen besproken wat er in vervolgonderzoek nog allemaal gedaan kan worden. In deze sectie wordt de volgende vraag beantwoord: V12. Wat moet er in verder onderzoek gebeuren om het ontwikkelde systeem verder te verbeteren? Allereerst ligt het voor de hand om de speerpunten van dit project en de eisen van Sargasso die nog niet vervult zijn alsnog te vervullen. Dit houdt bijvoorbeeld het toevoegen van RSS in op het moment dat de site dagelijks geüpdate wordt. De eisen van Sargasso zijn in de sectie ‘Discussie’ al uitvoerig besproken en zullen hier niet herhaald worden. Ook de zwakheden die in de vorige sectie genoemd zijn kunnen in vervolgonderzoek verholpen worden. In vervolgonderzoek kan ook nog meer ondersteuning gezocht worden in de literatuur. In dit project heeft de nadruk vooral gelegen in het ontwerpen van een oplossing voor het gestelde probleem. Er is wel literatuur gebruikt, maar er kan waarschijnlijk nog veel meer ondersteunende informatie gevonden worden over onderwerpen als normalisatie, omgaan met OCR-fouten en usability. Ook de evaluatie in dit project is door tijdgebrek ingekort. Een goede evaluatie van de website met gebruikersstudies en een goede evaluatie van de zoekmachine/database met maten als precision en recall is zeer gewenst. Verder kan er in vervolgonderzoek nog veel dieper in gegaan worden op de teksten. Zo kunnen bijvoorbeeld moties herkend worden, kan er onderscheid gemaakt worden in verschillende soorten onderwerpen of wordt er informatie in de uitspraken zelf herkend. Bijvoorbeeld wanneer iemand verwijst naar een andere persoon of publicatie. De moties hebben op de website ook nog geen verwijzing naar een bron. In dit project is wel een begin gemaakt om uit te vinden in welke PDF-bestanden de moties zich bevinden (in de Handelingen), maar dit is niet afgerond. De Handelingen kunnen zelf ook als bron van moties gebruikt worden. De overzichtpagina’s van personen en partijen hebben een enorme potentie om veel interessanter te worden. Aan deze pagina’s kunnen bijvoorbeeld woordenwolken toegevoegd worden om een soort profiel van de persoon/partij te schetsen. Verder kunnen er allerlei leuke statistieken uitgerekend worden op basis van de data die nu al in de database staat. De zoekmachine zou ook nog verder uitgebreid kunnen worden. Bijvoorbeeld met de 3d browser waar al eerder naar verwezen is. Of een eenvoudigere tijdlijn bij de resultatenpagina’s. Verder kan het systeem automatisch gemaakt worden. De programmatuur is er al op voorbereid, het is alleen nog niet geïmplementeerd. Het bezoek aan de Tweede Kamer heeft het begin van een samenwerkingsverband gemarkeerd tussen de Universiteit van Amsterdam en de Dienst Informatievoorziening van de Tweede Kamer. In vervolgonderzoek kan meer tegemoet gekomen worden aan de wensen die zij ongetwijfeld zullen hebben. Dit onderzoek is een soort van voorloper geweest op het onderzoeksprogramma ‘Political Mashup’. Hierin wordt politieke informatie vanuit verschillende bronnen samengebracht en via één interface aangeboden. Het gaat hier dan om bronnen als: websites van politieke partijen, verkiezingsprogramma’s, Parlementaire publicaties, nieuwsberichten en user-generated content (blog-entries, reacties op het nieuws, etc.). (Marx & Rijke, 2008) In dat onderzoek worden er dus veel meer, en meer diverse bronnen gebruikt wat het veel ingewikkelder maar ook veel spannender maakt.
Het ontsluiten van Nederlandse Parlementaire Publicaties
56
8
Conclusie 8 – C ON CL US IE
In deze scriptie zijn twee hoofdvragen gesteld. Deze zijn beantwoord aan de hand van 12 deelvragen. In deze afsluitende sectie worden de antwoorden op deze deelvragen samengevat om zo een concreter antwoord te geven op de hoofdvragen. De hoofdvragen zullen apart behandeld worden. Is het mogelijk om Nederlandse Parlementaire publicaties van 1814 tot heden te ontsluiten op een soortgelijke manier als TheyWorkForYou.com dat doet voor de Britse Parlementaire data sinds 2001, waarbij rekening gehouden wordt met de specificaties van de "Actie Open Democratie 1.0"? In dit onderzoek wordt er geprobeerd om de Nederlandse Parlementaire publicaties van 1814 tot heden te ontsluiten op een soortgelijke manier als TheyWorkForYou.com dat doet voor de Britse Parlementaire data sinds 2001. Hierbij wordt rekening gehouden met de wensen van Sargasso. In Nederland zijn er twee bronnen die Parlementaire publicaties ontsluiten, namelijk Staten-Generaal Digitaal van de Koninklijke Bibliotheek en Parlando van SDU uitgevers. Beide bronnen voldoen niet aan de eisen die door Sargasso zijn opgesteld. In het buitenland is TheyWorkForYou.com een goed voorbeeld van een site die op een goede manier politieke publicaties ontsluit. Deze site biedt veel meer functionaliteiten dan de Nederlandse sites. De grote uitdaging van een dergelijke site maken voor Nederlandse Parlementaire publicaties ligt in de startsituatie. De brondata van TheyWorkForYou.com zijn nette XML-bestanden. De data waar in Nederland mee gewerkt moet worden zijn PDF-bestanden van twee verschillende bronnen. De ene bron bevat OCRfouten en de andere bron bevat uit zichzelf al veel dubbele data en is door zijn constructie moeilijk bereikbaar. In beide gevallen bevatten de PDF-bestanden digitaal gezien geen expliciete structuur die wel gewenst is om het goed doorzoekbaar te maken. In de literatuur wordt aangegeven dat dit soort processen gestructureerd kunnen worden aan de hand van het ETL-proces. Dit proces kent drie belangrijke fases: Extractie, Integratie en Aggregatie. Daarnaast voorspelt de literatuur al enkele mogelijke problemen die zich tijdens het ontwikkelen kunnen presenteren. Het belangrijkste voorbeeld hiervan is het aantreffen van ‘vieze’ data. De drie fases van het ETL-proces zijn in dit project doorlopen. In de extractiefase zijn op schemaniveau de schema’s van de metadata en de data zelf geëxtraheerd uit de data. Op het dataniveau zijn de PDFbestanden omgezet naar het gewenste XML-formaat met expliciete structuur erin. Tijdens de fase integratie zijn op schemaniveau de schema’s van de metadata gecombineerd tot één schema. Op dataniveau zijn enkele normalisatiestappen ondernomen die ervoor gezorgd hebben dat de data schoner is. In de laatste fase aggregatie is een soortgelijk schema als dat ontwikkeld is in de tweede fase geïmplementeerd in de database en is de data zelf in de database gezet. Dit heeft uiteindelijk 1.011.697 uitspraken, 58.990 Kamervragen en 27.946 moties in de database opgeleverd. Op basis van de database is er een website ontwikkeld die PoliDocs is genoemd. De website biedt vier ingangen naar de informatie, namelijk: Eenvoudig Zoeken, Geavanceerd Zoeken, zoeken op personen en zoeken op partijen. Met behulp van PHP scripts wordt de communicatie geregeld tussen de browser en de database. In de database wordt gezocht met behulp van MySQL Full Text Search. De resultatenpagina’s zijn zo ontworpen dat de gebruiker goed verder kan zoeken na een eerste zoekopdracht. Het belangrijkste element hiervan zijn de klikbare top 5 lijstjes die de 5 meest voorkomende personen, partijen en jaren weergeven. Deze passen zich aan, aan de huidige zoekopdracht. Er is nu dus een website/zoekmachine ontwikkeld voor de Nederlandse Parlementaire publicaties, de vraag is nu of dit op een soortgelijke manier is zoals TheyWorkForYou.com dat doet en of er rekening is gehouden met de eisen van Sargasso. PoliDocs voldoet helemaal aan 6 eisen van Sargasso, gedeeltelijk aan nog eens 6 en voldoet niet aan 3 eisen van Sargasso. De eisen van Sargasso waar niet aan voldaan wordt zijn het gebruik van RSS, het opnemen van kameragenda’s met links naar de bijbehorende kamerstukken en het opnemen van audio-/video-opnames op de website. Om de website te kunnen vergelijken met TheyWorkForYou.com zijn er in het begin van het project speerpunten opgesteld waar de website aan zou moeten voldoen. Deze zijn gebaseerd op de eisen van Sargasso, maar voor een groot deel ook op de website van TheyWorkForYou.com. Aan 8 van de 10
Het ontsluiten van Nederlandse Parlementaire Publicaties
57
speerpunten is voldaan, aan 1 speerpunt is voldaan voor zover dat mogelijk was en aan 1 speerpunt is niet voldaan. Op 16 Juni is de website/zoekmachine gedemonstreerd aan professionele gebruikers. Deze personen waren enthousiast over de demonstratie. Over het opsplitsen van Handelingen in uitspraken en het gebruik van de top 5 lijstjes waren ze erg te spreken. Ze wezen nog op het punt dat zoektermen een wisselende betekenis door de tijd heen kunnen hebben. Mede dankzij de demonstratie zijn er afspraken gemaakt om een samenwerkingsverband te starten tussen de Universiteit van Amsterdam en de Dienst Informatievoorziening van de Tweede Kamer. Het project kent ook zwakke punten. Dit komt vooral door de beperking van tijd en kennis die vooraf aanwezig was. De zwakke punten zijn de OCR-fouten in de tekst, enkele losse eindjes in het omzetten van PDF naar XML, het gebruik van statische lijsten in het systeem, een wat langzame database (voor internetgebruik), onduidelijke copyrights, het niet kunnen zoeken op onderwerpen, kleine imperfecties in de tellingen en het probleem dat Geavanceerd Zoeken in minder data zoekt dan Eenvoudig Zoeken. Het antwoord op de vraag of het mogelijk is om in Nederland Parlementaire publicaties te ontsluiten op een soortgelijke manier zoals TheyWorkForYou.com dat doet, waarbij rekening gehouden wordt met de eisen van Sargasso, is dus positief. Het is mogelijk om dit te doen. Dit project heeft dat bewezen door een prototype van een dergelijke website te maken. Deze bevat nog wel wat zwakheden, maar hij wordt nu al positief ontvangen. De website voldoet aan bijna alle eisen die zijn opgesteld aan de hand van TheyWorkForYou.com en doet al een hele flinke stap in de richting van het voldoen aan alle eisen van Sargasso. De website bevat alleen de data sinds 1984, de oudere data is nog niet beschikbaar. Is het mogelijk de dataontsluiting robuust te maken voor alle problemen die ontstaan door het werken met zeer gevarieerde, oude data (veranderende werkwijzes en layout, spellings-variatie, OCRproblemen, etc.)? De data is afkomstig van twee verschillende bronnen maar is eigenlijk in te delen in drie groepen: de data van Parlando, de data van Staten-Generaal Digitaal van 1984 tot 1989 en de data van Staten-Generaal Digitaal van 1990 tot 1995. Hoe ouder de data, hoe slechter de kwaliteit lijkt hierbij de regel te zijn. De data van Parlando is nagenoeg perfect. Het bevat wel wat missende data en typefoutjes, maar de aantallen daarvan zijn te verwaarlozen tegenover het totaal aantal documenten. De data van Staten-Generaal Digitaal van 1990 tot 1995 bevat al OCR-fouten, maar hier is nog goed mee te werken. De data van 1984 tot 1989 moest al behoorlijk onder handen genomen worden om er iets bruikbaars van te maken. Onderweg zijn er al veel problemen voorbij gekomen door allerlei verschillen in de data door de tijd heen. Aanvankelijk gaf het verschil in aantal kolommen in de PDF-bestanden bijvoorbeeld problemen. Door de tijd heen zijn er zowel 2- als 3-kolomsstructuren gebruikt. Ook benamingconventies leverden problemen op. Voor de data van Parlando alleen al worden wel 5 verschillende benamingconventies gebruikt sinds 1995. Voor dit soort problemen zijn wel manieren gevonden om ze te omzeilen. De vraag of het mogelijk is om de dataontsluiting robuust te maken voor dit soort problemen die ontstaan door het werken met zeer gevarieerde, oude data kan alleen beantwoord worden met een inschatting op basis van de data die nu beschikbaar is. Zolang de structuur van de Parlementaire publicaties hetzelfde blijft moet het goed mogelijk zijn om de dataontsluiting robuust te maken. Er moet dan wel meer aandacht (dan in dit project) besteed worden aan het automatisch laten oplossen van OCR-fouten. Dat zal de grootste uitdaging worden. Het extraheren van de data moet ook beter aangepast worden op mogelijke OCR-fouten. Op 16 Juni is er ook een bijeenkomst geweest in de Koninklijke Bibliotheek. Toen zijn onder andere ook de originele boeken met handelingen erin getoond. Hierin was te zien dat de structuur vroeger toch wel heel anders was dan de data waar nu mee gewerkt wordt. Op het moment dat de opmaak compleet veranderd wordt het vrijwel onmogelijk om daar nog zinnige informatie uit te halen. De tekst stond onduidelijker op papier, waardoor er meer OCR-fouten verwacht kunnen worden. De tekst stond ook vol met tabellen en staten, deze zijn waarschijnlijk heel moeilijk te extraheren. Het zal ook moeilijk zijn om hier een betekenis aan mee te geven. Dus: het is mogelijk om de dataontsluiting robuust te maken. Er komen vrijwel zeker problemen, maar deze zijn tot nu toe ook oplosbaar gebleken. Het betekent wel dat verschillende periodes verschillend behandeld moeten worden. Dat is de enige manier. Op het moment dat de opmaak helemaal veranderd en de tekst minder leesbaar wordt is het maar de vraag of het eindresultaat wat er nog mee te bereiken is de moeite die het kost om het te realiseren waard is.
Het ontsluiten van Nederlandse Parlementaire Publicaties
58
REFERENTIES Actie Open Democratie 1.0 - De brief. (2005, November 17). Opgeroepen op Juni 15, 2008, van Sargasso: http://sargasso.nl/archief/2005/11/17/actie-open-democratie-10-de-brief/ Adobe. (2008). Portable Document Format (PDF). Opgeroepen op Juni 10, 2008, van Adobe: http://www.adobe.com/pdf/about/history/ Carvalho, M. G., Gonçalves, M. A., Laender, A. H., & Silva, A. S. (2006). Learning to Deduplicate. Joint Conference on Digital Librairies (JCDL) , 41-50. Coyle, M., & Smyth, B. (2007). Supporting Intelligent Web Search. ACM Transactions on Internet Technology (TOIT), Vol.7, No. 4 , 20:1-20:31. Doan, A., Noy, N. F., & Halevy, A. Y. (2004). Introduction to the Special Issue on Semantic Integration. SIGMOD Record, vol. 33, no. 4. , 11-13. Groot, R.-J. d. (2008). Ontsluiting van de Kamerstukken: Analysemogelijkheden bij Kamervragen. Amsterdam: Universiteit van Amsterdam. Halevy, A., Rajaraman, A., & Ordille, J. (2006). Data Integration: The Teenage Years. Very Large Databases (VLDB) Conference , 9-16. Koninklijke Bibliotheek. (2008). Staten-Generaal Digitaal. Opgeroepen op Juni 15, 2008, van Staten-Generaal Digitaal: http://www.statengeneraaldigitaal.nl/ Lenzerini, M. (2002). Data Integration: A Theoretical Perspective. ACM Principles of Database Systems , 233246. Marx, M., & Rijke, M. d. (2008). Political Mashup Position Paper. Navarro, G. (2001). A Guided Tour to Approximate String Matching. ACM Computing Surveys, Vol. 33, No. 1 , 31-88. Rahm, E., & Do, H. H. (2000). Data Cleansing: Problems and Current Approaches. IEEE Data Engineering Bulletin . Tweede Kamer der Staten-Generaal. (2008). Opgeroepen op Juni 15, 2008, van Tweede Kamer der StatenGeneraal: http://www.tweedekamer.nl/ Velleman, E. (2006). Waarmerk Drempelvrij, normatief document: Succescriteria voor toegankelijkheid van webcontent op basis van de WCAG1.0 richtlijnen van het W3C. Versie 2. Opgeroepen op Juni 10, 2008, van Stichting Waarmerk Drempelvrij.nl: http://www.drempelvrij.nl/richtlijnen Wikipedia. (2008). Optical Character Recognition. Opgeroepen op Juni 20, 2008, van Wikipedia, the free encyclopedia: http://en.wikipedia.org/wiki/Optical_character_recognition
Het ontsluiten van Nederlandse Parlementaire Publicaties
59
BIJLAGEN 1. Brief Sargasso: Actie Open Democratie 1.0 Bron: http://sargasso.nl/archief/2005/11/17/actie-open-democratie-10-de-brief/
Geachte voorzitter, medewerkers en leden van de Tweede Kamer, Om de burger maximaal te betrekken bij het democratische proces, is het wenselijk dat alle documentatie die door onze volksvertegenwoordigers gebruikt worden in de besluitvorming eenvoudig toegankelijk is. Het meest populaire en eenvoudigste moderne medium dat informatie toegankelijk maakt voor burgers is het internet. Helaas is tijdens de Open Democratie 1.0 actie op Sargasso.nl gebleken dat uw electronisch informatie systeem Parlando niet voldoet aan de meest eenvoudige gebruikseisen. Zo is het bijvoorbeeld niet mogelijk om documenten direct te linken. Nu is bekend dat de Tweede Kamer bezig is om een nieuw systeem te (laten) realiseren (Parlis). Om er zeker van te zijn dat dit maal wel de optimale toegang vanaf internet gerealiseerd wordt, is het aan te bevelen gebruik te maken van de uitgebreide ervaring van het Nederlandse weblog netwerk, een brede poule van ervaren professionals die buitengewoon actief zijn op internet en de laatste jaren vele vernieuwende initiatieven ter vernieuwing van bestaande media hebben ondernomen en bovendien zelf ook afnemers zijn van uw informatie. In de bijlage staan concrete voorstellen voor die toegankelijkheid die uit dit netwerk naar voren zijn gekomen. Mocht hierin al voorzien zijn, kunt u dan toelichten op welke wijze? Mocht hier nog niet in voorzien zijn, dan stel ik me bij deze beschikbaar om, mede namens de groep digitale burgers, als gebruiker/deskundige mee te helpen bij het opstellen van de specificaties van Parlis. Als het stadium van opstellen van specificaties reeds gepasseerd is, dan bij deze het verzoek die in een zo vroeg mogelijk stadium openbaar te maken en zodoende te toetsen aan de eisen van de uiteindelijke gebruiker. Op die manier is een snelle en adequate terugkoppeling gegarandeert, hetgeen het mogelijk maakt in een vroeg stadium vereiste aanpassingen te doen. Natuurlijk is het essentieel dat het systeem zodanig ontworpen wordt dat het eenvoudig en snel aangepast kan worden en gemakkelijk uitgebreid kan worden, om zodoende ook in de toekomst aan nieuwe vereisten tegemoet te komen. Het inschakelen van de burger kan zo een integraal onderdeel worden van de politieke besluitvorming en zo hoort het natuurlijk ook. Naast dit aanbod wil ik u ook, wederom mede namens anderen, de suggestie meegeven om het nieuwe systeem middels een Open Source constructie tot stand te laten komen. Al was het maar omwille van kostenbesparing, ontwerp beginselen, en niet in de laatste plaats omwille van het betrekken van de burger, want de overheid dat zijn wij in de eerste plaats. Met spanning wacht ik, en velen met mij, uw antwoord af. Met vriendelijke groeten Steeph (maar dan mijn eigen naam) Bijlage 1: Verwijzingen naar de onderliggende actie: Start actie: http://www.sargasso.nl/?p=1502 Verzamelen informatie voor specificaties : http://www.sargasso.nl/?p=1552. Bijlage 2: Lijst met wensen/eisen voor een nieuw open systeem van de Tweede Kamer: * Alle kamerstukken moeten direct te linken zijn (vaste URL); * Alle bij elkaar horende kamerstukken (dossiers) moeten als geheel op te vragen zijn, inclusief eerdere versies van stukken; * Video-opnames en audio-opnames van debatten over bepaalde kamerstukken moeten gekoppeld zijn aan die stukken; * Van alle voorstellen en moties moet direct te zien zijn hoe er gestemd is (niet zoeken via verslagen); * Van alle politieke partijen moet direct te zien zijn hoe hun stemgedrag is;
Het ontsluiten van Nederlandse Parlementaire Publicaties
60
* Van alle parlementsleden moet direct te zien zijn hoe hun stemgedrag is; * Van parlementsleden moet direct opgevraagd kunnen worden welke vragen en moties ze ingediend hebben of mede ondertekend hebben; * Bij kamerstukken moet direct zichtbaar zijn wanneer deze behandeld worden of behandeld zijn; * Bij de kameragenda moet het mogelijk zijn direct de bijbehorende kamerstukken op te roepen; * Er moet een mogelijkheid zijn om alleen de basis informatie te zien of een meer uitgebreide set; * Bij het zoeken op woorden moeten de resultaten in een tijdslijn van bij elkaar horende stukken getoond kunnen worden; * Er moet een open API komen waarmee andere partijen in staat worden gesteld om de beschikbare informatie op verschillende manier verder te behandelen of te tonen; * Er moet een mogelijkheid komen om middels RSS op de hoogte te blijven van de publicatie van stukken of bepaalde documenten binnen specifieke dossiers; * Alle gegevens moeten in een open, standaard formaat gepresenteerd worden. Er mag geen noodzaak zijn om producten van enkele leveranciers te moeten gebruiken om de gegevens te zien/gebruiken; * De toegang tot de informatie online moet voldoen aan de eisen van Drempels Weg.
Het ontsluiten van Nederlandse Parlementaire Publicaties
61
2. Voorbeeld Invoerbestand (Originele PDF) (Onderdeel van drie delen: Invoer (PDF), tussenstap (pdftohtml), eindresultaat (na eigen script))
Het ontsluiten van Nederlandse Parlementaire Publicaties
62
3. Voorbeeld tussen-uitvoer (uitvoer pdftohtml) (Onderdeel van drie delen: Invoer (PDF), tussenstap (pdftohtml), eindresultaat (na eigen script)) <page number="1" position="absolute" top="0" left="0" height="842" width="595"> Voorzitter: Ten Hoopen Tegenwoordig zijn 136 leden, te weten: Agema, Anker, Aptroot, Arib, Atsma, Azough, Van Baalen, Bashir, Van Beek, Besselink, Bilder, Biskop, Blanksma-van den Heuvel, Blok, Van Bochove, Boeke- stijn, Boelhouwer, Van Bommel, Bosma, Bouchibti, Bouwmeester, Brinkman, Ten Broeke, Van der Burg, Van de Camp, Çörüz, Cramer, Van Dam, Depla, Dezentjé Hamming-Bluemink, Tony van Dijck, Jasper van Dijk, Van Dijken, Dijsselbloem, Duyvendak, Eijsink, Ferrier, Fritsma, Van Geel, Van Gennip, Van Gent, Gerkens, Van Gerven, Gill’ard, Graus, Griffith, Van Haersma Buma, Van der Ham, Hamer, Haverkamp, Heerts, Heijnen, Hessels, Van Heugten, Van Hijum, Ten Hoopen, Irrgang, Jacobi, Jager, Jansen, Joldersma, Jonker, Kalma, Kamp, Kant, Karabulut, Koopmans, Koppejan, Roland Kortenhorst, Kos¸er Kaya, Kraneveldt-van der Veen, De Krom, Kuiken, Langkamp, Leerdam, Van Leeuwen, Leijten, Luijben, Madlener, Marijnissen, Mastwijk, Van Miltenburg, Neppérus, De Nerée tot Babberich, Nicolaï, Omtzigt, Ormel, Ortega-Martijn, Ouwehand, De Pater-van der Meer, Pechtold, Peters, Polderman, Van Raak, Remkes, Roefs, Roemer, De Roon, Samsom, Schermers, Schinkelshoek, Schippers, SchreijerPierik, Slob, Smeets, Smilde, Snijder-Hazelhoff, Spekman, Spies, Van der Staaij, Tang, Teeven, Timmer, Van Toorenburg, Uitslag, Ulenbelt, Van der Veen, Van Velzen, Vendrik, Verbeet, Verdonk, Vermeij, Vietsch, Van der Vlies, Voordewind, Vos, Jan de Vries, Van VroonhovenKok, Waalkens, Weekers, Wiegman-van Meppelen Scheppink, Wilders, Willemse-van der Ploeg, De Wit, Wolbert en Zijlstra, en de heer Hirsch Ballin, minister van Justitie, de heer Eurlings, minister van Verkeer en Waterstaat, de heer Klink, minister van Volksgezondheid, Welzijn en Sport, de
Het ontsluiten van Nederlandse Parlementaire Publicaties
63
heer Koenders, minister voor Ontwikkelingssamenwer- king, en mevrouw Bussemaker, staatssecretaris van Volksgezondheid, Welzijn en Sport. © De voorzitter: Ik deel aan de Kamer mee dat de volgende leden zich hebben afgemeld: Knops; Halsema, ook voor de vergadering van morgen. Deze mededeling wordt voor kennisgeving aangenomen. Aan de orde is het spoeddebat over de gang van zaken rondom de ingebruikname van de spits- strook bij de A1. De voorzitter: De Kamer heeft een klein uur geleden nog een brief over dit onderwerp ontvangen en daarnaast zijn er nog twee vertrouwelijke stukken ter inzage gelegd. Ik neem aan dat eenieder daarvan kennis heeft kunnen nemen. De heer Duyvendak (GroenLinks): Voorzitter. Ik heb die stukken net als mijn collega’s kunnen bekijken en ik verzoek de minister, ze gewoon openbaar te maken. Ik zie geen enkele reden waarom ze geen deel zouden kunnen uitmaken van een publiek debat. De heer De Krom (VVD): Ik steun dit verzoek, voorzitter. De heer Roemer (SP): Ik sluit mij hier zeer graag bij aan. De heer Van der Ham (D66): Dit geldt ook voor mij, voorzitter. De heer Koopmans (CDA): Voorzitter. Het lijkt mij wel relevant om te weten waarom wij de minister nu vragen om stukken die aan hem gericht zijn, openbaar te maken. Dit betekent een breuk met de normale gang van zaken in het verkeer tussen Kamer en regering. Wij bespreken stukken van de regering, gericht aan de Kamer. En er zijn nu eenmaal interne ambtelijke notities. De heer Van der Staaij (SGP): Voorzitter. De heer Koopmans heeft er gelijk in dat het wel uitzonderlijk is om interne stukken openbaar te maken, maar ik vermoed dat het debat wel duidelijker wordt als deze stukken openbaar worden gemaakt. Ik steun het verzoek dus wel. De voorzitter: Dan kan ik alleen maar concluderen dat een grote meerderheid achter dit verzoek staat. Minister Eurlings: Voorzitter. Ik denk dat de heren
Het ontsluiten van Nederlandse Parlementaire Publicaties
64
Koopmans en Van der Staaij formeel gelijk hebben, maar gelet op het belang van deze discussie en ook omdat ik zelf echt van openheid houd, kom ik graag tegemoet aan het verzoek van de heer Duyvendak en kunnen deze 74ste vergadering Woensdag 9 april 2008 Aanvang 10.15 uur Tweede Kamer Spitsstrook A1 9 april 2008 TK 74 74-5157
Het ontsluiten van Nederlandse Parlementaire Publicaties
65
4. Voorbeeld uiteindelijke uitvoer (uitvoer eigen script) (Onderdeel van drie delen: Invoer (PDF), tussenstap (pdftohtml), eindresultaat (na eigen script)) <metadata> - Presentie en opening (woensdag 9 april 2008)
- Â 15Â Kb
- Staats- en bestuursrecht (Parlement)
- Parlement
- Handelingen 2007-2008, nr. 74, Tweede Kamer, pag. 51575157
- Staten Generaal (SG)
- 09-04-2008
- HAN8273A01
- 1 pag.
- 74ste vergadering
- Woensdag
- 9 april 2008
- Aanvang 10.15 uur
- Tweede Kamer
- Spitsstrook A1
- TK 74
Tegenwoordig zijn 136 leden, te weten: Agema, Anker, Aptroot, Arib, Atsma, Azough, Van Baalen, Bashir, Van Beek, Besselink, Bilder, Biskop, Blanksma-van den Heuvel, Blok, Van Bochove, Boekestijn, Boelhouwer, Van Bommel, Bosma, Bouchibti, Bouwmeester, Brinkman, Ten Broeke, Van der Burg, Van de Camp, Çörüz, Cramer, Van Dam, Depla, Dezentjé Hamming-Bluemink, Tony van Dijck, Jasper van Dijk, Van Dijken, Dijsselbloem, Duyvendak, Eijsink, Ferrier, Fritsma, Van Geel, Van Gennip, Van Gent, Gerkens, Van Gerven, Gill’ard, Graus, Griffith, Van Haersma Buma, Van der Ham, Hamer, Haverkamp, Heerts, Heijnen, Hessels, Van Heugten, Van Hijum, Ten Hoopen, Irrgang, Jacobi, Jager, Jansen, Joldersma, Jonker, Kalma, Kamp, Kant, Karabulut, Koopmans, Koppejan, Roland Kortenhorst, Kos¸er Kaya, Kraneveldt-van der Veen, De Krom, Kuiken, Langkamp, Leerdam, Van Leeuwen, Leijten, Luijben, Madlener, Marijnissen, Mastwijk, Van Miltenburg, Neppérus, De Nerée tot Babberich, Nicolaï, Omtzigt, Ormel, Ortega-Martijn, Ouwehand, De Pater-van der Meer, Pechtold, Peters, Polderman, Van Raak, Remkes, Roefs, Roemer, De Roon, Samsom, Schermers, Schinkelshoek, Schippers, Schreijer-Pierik, Slob, Smeets, Smilde, Snijder-Hazelhoff, Spekman, Spies, Van der Staaij, Tang, Teeven, Timmer, Van Toorenburg, Uitslag, Ulenbelt, Van der Veen, Van Velzen, Vendrik, Verbeet, Verdonk, Vermeij, Vietsch, Van der Vlies, Voordewind, Vos, Jan de Vries, Van Vroonhoven-Kok, Waalkens, Weekers, Wiegman-van Meppelen Scheppink, Wilders, Willemse-van der Ploeg, De Wit, Wolbert en Zijlstra, en de heer Hirsch Ballin, minister van Justitie, de heer Eurlings, minister van Verkeer en Waterstaat, de heer Klink, minister van Volksgezondheid, Welzijn en Sport, de heer Koenders, minister voor Ontwikkelingssamenwerking, en mevrouw Bussemaker, staatssecretaris van Volksgezondheid, Welzijn en Sport. <spreker pagina="74-5157" anker="899" naam="De voorzitter"> Ik deel aan de Kamer mee dat de volgende leden zich hebben afgemeld: Knops;
Het ontsluiten van Nederlandse Parlementaire Publicaties
66
Halsema, ook voor de vergadering van morgen. Deze mededeling wordt voor kennisgeving aangenomen. Aan de orde is het spoeddebat over de gang van zaken rondom de ingebruikname van de spitsstrook bij de A1. <spreker pagina="74-5157" anker="900" naam="De voorzitter"> De Kamer heeft een klein uur geleden nog een brief over dit onderwerp ontvangen en daarnaast zijn er nog twee vertrouwelijke stukken ter inzage gelegd. Ik neem aan dat eenieder daarvan kennis heeft kunnen nemen. <spreker pagina="74-5157" anker="901" partij="GroenLinks" naam="Duyvendak"> Voorzitter. Ik heb die stukken net als mijn collega’s kunnen bekijken en ik verzoek de minister, ze gewoon openbaar te maken. Ik zie geen enkele reden waarom ze geen deel zouden kunnen uitmaken van een publiek debat. <spreker pagina="74-5157" anker="902" partij="VVD" naam="De Krom"> Ik steun dit verzoek, voorzitter. <spreker pagina="74-5157" anker="903" partij="SP" naam="Roemer"> Ik sluit mij hier zeer graag bij aan. <spreker pagina="74-5157" anker="904" partij="D66" naam="Van der Ham"> Dit geldt ook voor mij, voorzitter. <spreker pagina="74-5157" anker="905" partij="CDA" naam="Koopmans"> Voorzitter. Het lijkt mij wel relevant om te weten waarom wij de minister nu vragen om stukken die aan hem gericht zijn, openbaar te maken. Dit betekent een breuk met de normale gang van zaken in het verkeer tussen Kamer en regering. Wij bespreken stukken van de regering, gericht aan de Kamer. En er zijn nu eenmaal interne ambtelijke notities. <spreker pagina="74-5157" anker="906" partij="SGP" naam="Van der Staaij"> Voorzitter. De heer Koopmans heeft er gelijk in dat het wel uitzonderlijk is om interne stukken openbaar te maken, maar ik vermoed dat het debat wel duidelijker wordt als deze stukken openbaar worden gemaakt. Ik steun het verzoek dus wel. <spreker pagina="74-5157" anker="907" naam="De voorzitter"> Dan kan ik alleen maar concluderen dat een grote meerderheid achter dit verzoek staat. <spreker pagina="74-5157" anker="908" soort="Minister" naam="Eurlings"> Voorzitter. Ik denk dat de heren Koopmans en Van der Staaij formeel gelijk hebben, maar gelet op het belang van deze discussie en ook omdat ik zelf echt van openheid houd, kom ik graag tegemoet aan het verzoek van de heer Duyvendak en kunnen deze
Het ontsluiten van Nederlandse Parlementaire Publicaties
67
5. Document Type Definition (DTD) samengevoegde schema
handeling (metadata,text)> metadata (item+)> text (onderwerp+)> onderwerp (#PCDATA|blok|spreker)*> blok (spreker+)> spreker (#PCDATA)>
vergadering #IMPLIED> dag #IMPLIED> datum #IMPLIED> aanvang #IMPLIED> kamer #IMPLIED> doconderwerp #IMPLIED> volgendonderwerp #IMPLIED> doccode #IMPLIED> voorzitter #IMPLIED> leden #IMPLIED> sluiting #IMPLIED>
Het ontsluiten van Nederlandse Parlementaire Publicaties
68