[2011] [Politiekinzicht.com - Wie zegt wat in de tweede kamer?]
Reinier van der Plank (6383335,
[email protected]) Jurrian Tromp (6353770,
[email protected]) Thomas Moeskops (6374972,
[email protected]) Onder begeleiding van: Dr. Maarten Marx Aitor Azcarate Onaindia Voor de cursus: Project informatiekunde in de praktijk (versie 2b)
5 Maart 2011
De door ons ontworpen applicatie is online en te vinden op het volgende
adres: http://www.Politiekinzicht.com.Wij hopen dat u net zoveel plezier aan het bezoeken van deze website heeft als wij hebben gehad bij het ontwikkelen en maken ervan.
Politiekinzicht.com - Wie zegt wat in de tweede kamer? | 5 Maart 2011
2
Inhoudsopgave Samenvatting (abstract) ........................................................................................................................... 4 Inleiding ............................................................................................................................................................. 5 Operationalisering ....................................................................................................................................... 7 Literatuur.......................................................................................................................................................... 8 Methode .......................................................................................................................................................... 11 Notulen vanaf 1998 in XML formaat ............................................................................................. 11 Kamerleden huidige Tweede Kamer in XML formaat ......................................................... 12 Manier van werken ....................................................................................................................... 12 Technische aspect applicatie ............................................................................................................... 13 Front-end/back-end ........................................................................................................................... 13 Problemen ............................................................................................................................................ 18 Functionele aspect applicatie.............................................................................................................. 20 Wat gaan we nog toevoegen? .......................................................................................................... 21 Design .................................................................................................................................................... 22 Procedure ...................................................................................................................................................... 23 Kwaliteitsbewaking ............................................................................................................................. 23 Houdbaarheid applicatie ................................................................................................................ 24 Evaluatie ............................................................................................................................................ 24 Resultaten ...................................................................................................................................................... 28 Conclusie ........................................................................................................................................................ 29 Referenties .................................................................................................................................................... 30 Bijlage .............................................................................................................................................................. 31
Politiekinzicht.com - Wie zegt wat in de tweede kamer? | 5 Maart 2011
3
Samenvatting (abstract) In dit project onderzoeken wij of het mogelijk is om inzicht te krijgen inwat politici zeggen in de Tweede Kamer. Meestal is maar van enkele toonaangevende politici bekend waarover zij spreken. Wij willen een representatief beeld geven van alle 150 Kamerleden en op deze manier de burger in staat stellen om zich beter te informeren over wat er in de politieke arena precies wordt gezegd. Voor ons onderzoek hebben wij vanaf augustus 1998 data afkomstig uit de Tweede Kamer (notulen) geanalyseerd en aan de hand daarvan worden woordenwolken gegenereerd voor ieder individueel lid van de Tweede Kamer. Hierdoor wordt op een leuke manier bruikbare informatie weergegeven die burgers kan helpen bij het bepalen van zijn stem voor een partij of een politicus (voorkeurstem). Steekwoorden: Politiek – Tweede Kamer – Woordenwolken – Data verzameling en weergave
Politiekinzicht.com - Wie zegt wat in de tweede kamer? | 5 Maart 2011
4
Inleiding "Politiek bestaat er meestal uit, een simpele zaak zo ingewikkeld te maken dat iedereen om een nieuwe simplificator gaat roepen." - Jan Greshoff (Jan Greshoff was een Nederlands schrijver en letterkundige (1888-1971))
De politiek; een belangrijk onderdeel van de Nederlandse democratie en daardoor natuurlijk ook van onze samenleving. Niet meer dan logisch dat de politiek als onderwerp een terugkerend fenomeen is in de huidige traditionele media (voorbeelden: radio, tv, krant). Wat ons echter is opgevallen is dat er nog weinig gebruik wordt gemaakt van de mogelijkheden die het internet biedt om op een nieuwe manier met politieke informatie om te gaan. Op dit moment gaat het niet verder dan nieuwsberichten, zoals deze ook voorkomen op tv en in de krant, ook op internet weer te geven. Wij zijn er van overtuigd dat door gebruik te maken van de eindeloze mogelijkheden die het internet te bieden heeft , politiek relevante informatie op een meer interessante en bruikbare manier is weer te geven. Daarnaast lijkt het tegenwoordig zo dat de jongere generatie steeds minder interesse heeft in de politiek; een paar partijen opnoemen lukt nog wel maar als er wordt gevraagd naar lijsttrekkers is het voor veel mensen van de nieuwe generatie al een stuk moeilijker om antwoord te geven. Dat geldt nog veel sterker voor onbekende Kamerleden. Dat bevestigt de gedachte dat het internet belangrijk zou kunnen zijn mits hier optimaal gebruik van wordt gemaakt. Jongeren zitten bijna allemaal op internet en voor deze doelgroep zou internet gebruikt kunnen worden om niet alleen mensen meer te vertellen over de gang van zaken in de Tweede Kamer maar ook om weer interesse te wekken in het belang van de politiek. Wij zijn van mening dat ons project aan alle bovengenoemde punten zou kunnen bijdragen. Wij zouden iets kunnen toevoegen aan de beperkte ruimte op internet die nu is besteed aan politiek en op die manier mensen kunnen stimuleren om op een andere manier kennis te nemen van informatie uit en over de politiek. Daarnaast zijn wij ervan overtuigd dat onze applicatie iets kan toevoegen aan de traditionele berichtgeving die op dit moment nog wordt gehanteerd als het gaat om nieuws uit de belangrijkste kamer van ons land. Voor onze applicatie maken wij gebruik van de eerder genoemde woordenwolken of zogenaamde ‘tagclouds’, maar wat wordt daaronder verstaan? Wikipedia1 zegt er het volgende over: “Een woordenwolk (in het engels tagcloud) is een visuele voorstelling van door de gebruiker gegenereerde steekwoorden of de inhoud van een bestand of document. Steekwoorden (in het engels tags) zijn meestal losse woorden die gewoonlijk alfabetisch vermeld worden en naarmate van belang bijvoorbeeld met een ander lettertype, grootte of kleur worden weergegeven. Hierdoor is het mogelijk om steekwoorden van elkaar te
Politiekinzicht.com - Wie zegt wat in de tweede kamer? | 5 Maart 2011
5
kunnen onderscheiden op bijvoorbeeld populariteit. De tags zijn meestal hyperlinks die leiden naar een verzameling items die worden geassocieerd met de tag waarop is geklikt.“ De bezoeker kan in één oogopslag steekwoorden van elkaar onderscheiden en informatie op een handige manier tot zich nemen. In onze applicatie hebben de woordenwolken op de volgende manier weerslag: Een bezoeker krijgt over een door hem/haar geselecteerde politicus een woordenwolk te zien waar deze persoon het op dit moment in de Tweede Kamer over heeft. Daarna is het mogelijk om, naar behoefte van de gebruiker, de tijdsperiode aan te passen zodat bijvoorbeeld gekeken kan worden wat de belangrijkste politieke termen zijn die Geert Wilders (indien geselecteerd) vorig jaar, 3 jaar geleden of 5 jaar geleden heeft gebruikt. Op deze wijze ontstaat niet alleen een snelinzicht in de woordenstroom van de politici, maar kan ook worden nagegaan of het beeld dat van een politicus bestaat wel overeenkomt met wat hij in de kamer zegt. Anders gezegd: berust dat beeld vooral op een vooroordeel? Bijvoorbeeld het vooroordeel over Geert Wilders is dat alles wat hij zegt gaat over de Islam of onderwerpen die daarmee te maken hebben, maar is dat ook wel zo? Onze applicatie zou hierover uitsluitsel kunnen geven.
Figuur 1:Het logo van de Tweede Kamer zoals deze ook is te vinden op de zetels die zich in de Tweede Kamer bevinden.
De informatie die gebruikt wordt om de woordenwolken te generen komt uit de officiële handelingen van de Tweede Kamer in XML formaat. XML (ExtensibleMarkup Language) is een standaard van het World Wide Web Consortium voor de syntaxis van formele markuptalen waarmee men gestructureerde gegevens kan weergeven in de vorm van platte tekst. Deze representatie is zowel machineleesbaar als leesbaar voor de mens. Het XML-formaat wordt gebruikt om gegevens op te slaan (zoals in het OpenDocument-formaat) en om gegevens over het internet te versturen (zoals in AJAX).
Politiekinzicht.com - Wie zegt wat in de tweede kamer? | 5 Maart 2011
6
Operationalisering Hoofdvraag:Is het aan te tonen of politici door de tijd heen veranderen, of blijven ze trouw aan de onderwerpen die ze belangrijk vinden? Anders gezegd: Hebben politici een goed aanpassingsvermogen of houden ze voet bij stuk? Hypothese: Wij verwachten dat aan de hand van onze woordenwolken het mogelijk wordt om verandering te zien door de loop van de jaren heen bij veel politici in de Tweede Kamer. Actuele onderwerpen in Nederland en in de Tweede Kamer veranderen voortdurend, waardoor het te verwachten is dat de politici zich ook hieraan aanpassen. Wij denken echter wel dat er enkele punten zullen zijn die terug blijven komen in de woordenwolken, omdat politici en partijen voor bepaalde specifieke waarden of opvattingen staan en dat ook zullen blijven proberen aan te snijden in de Tweede Kamer. Afbakening: Wij hebben besloten om niet verder terug te gaan dan de periode vanaf het begin van Kabinet Kok II (begin 3 augustus 1998), dit omdat van de huidige politici die op dit moment in de Tweede Kamer zitten er een aantal zijn die al lang in de Tweede Kamer zitten, maar niet vóór Kok II. Het zou dus zinloos zijn om verder terug te kijken in de tijd omdat die politici niet in onze applicatie zijn verwerkt. Wij beperken ons daarnaast tot de huidige 150 politici in de Tweede Kamer. Definities: Zoals eerder genoemd halen wij onze data uit de officiële notulen van de Tweede Kamer. De notulen van 1998 tot en met het jaar 2010 krijgen wij aangeleverd van onze begeleider (Dr. Maarten Marx) via Political Mashup2. Woorden uit de verschillende notulen zullen gefilterd worden waardoor er politiek relevante termen overblijven. Deze steekwoorden worden dan voor iedere politicus in een woordenwolk geplaatst. Daarna is het mogelijk om over een tijdsperiode woordenwolken op te vragen voor de politici die er nu zitten, welke dan weer gebruikt zullen worden om onze hoofdvraag te beantwoorden. Metingen: Om de hoofdvraag te beantwoorden voeren wij voor een aantal bekende politici een handmatige analyse uit op de verschillende beschikbare woordenwolken. Daarin kijken wij of er woorden terugkomen en of de essentie/samenhang van de woordenwolken overeen komt in de verschillende tijdsperioden die beschikbaar zijn. Doordat wij alle beschikbare notulen van de Tweede Kamer verwerken in onze woordenwolk hopen wij een accuraat beeld te krijgen van de verschillende politici.
Politiekinzicht.com - Wie zegt wat in de tweede kamer? | 5 Maart 2011
7
Literatuur Voor de filtering van de (woorden in de) notulen tot woordenwolken met politiek relevante termen, hebben wij gebruikt gemaakt van twee eerder verschenen scripties die al onderzoek naar dit onderwerp hebben gedaan. De eerstescriptie“How Different are Language Models and Word Clouds?”(Kaptein, Hiemstra, & Kamps, 2010)3gaat over woordenwolken in het algemeen maar daarnaast ook over de verschillen tussen woordenwolken en taalmodellering en of taalmodellering woordenwolken kan verbeteren. Dat geeft een nieuwe manier van benadering van woordenwolken omdat deze oorspronkelijk worden opgebouwd door te kijken naar de meest voorkomende woorden voor verschillende gebieden (zoals de politiek). Echter, de meest voorkomende woorden geven vaak niet de essentie van waar het voornamelijk over gaat. Daardoor kan een verkeerd beeld ontstaan. Een woordvoerder in de Tweede Kamer zou bijvoorbeeld vaak het woord “belangrijk” kunnen noemen ter onderbouwing van zijn of haar relaas. Volgens de traditionele woordenwolken zou het woord “belangrijk” dan terugkomen als een groot woord omdat die nou eenmaal veel is genoemd. Het probleem hiermee is dat een dergelijk woord (ook al wordt deze dus groot weergeven in de woordenwolk) eigenlijk niks zegt, je wilt immers weten wat die politicus belangrijk vindt en dat terugzien in de woordenwolk. Een klein maar zeer belangrijk verschil om tot veel interessante woordenwolken te kunnen komen. De conclusie van deze scriptie was datverschillende taalmodellering technieken gebruikt kunnen worden om de zeggingskracht van standaard woordenwolken (die gebruiken maken van stopwoordverwijdering en het tellen van woorden) al sterk te verbeteren. De meest effectieve manier is echter door bigrammen (dat zijn groepen van twee geschreven brieven, twee lettergrepen, of twee woorden, en als basis voor eenvoudige statistische analyse van tekst zeer algemeen gebruikt) toe te voegen en door gebruik te maken van een ‘wegingschema’ voor verschillende termen. In “The EU Parliament in clouds” (de Hollander, 2010)4probeert Gilles de Hollander tot een oplossing voor een aantal van deze problemen te komen alsmede de techniek van eerder genoemde Kaptein, Hiemstra & Kamps te verbeteren. Dit betekende dat er werd doorgegaan op het maken van geavanceerdere woordenwolken die niet werden gevormd door het simpel tellen van woorden en sommige woorden uit te sluiten door middel van een stopwoordenlijst. Een belangrijke toevoeging aan de code die door de Hollander is uitgevoerd was de manier waarop woorden werden geteld. In de eerst genoemde scriptie werden de woorden geanalyseerd door een woord te vergelijken met alle tekst. Hierdoor zou het
Politiekinzicht.com - Wie zegt wat in de tweede kamer? | 5 Maart 2011
8
kunnen voorkomen dat woorden hetzelfde worden geteld terwijl ze verschillende zaken kunnen betekenen of in verschillende notulen een andere betekenis hebben. Iemand zou het bijvoorbeeld de ene keer kunnen hebben over zijn of haar bank (om op te zitten) terwijl in een andere zin met bank een financiële instelling wordt bedoeld. Voor de mens een groot verschil maar het oorspronkelijke algoritme zou deze twee woorden op dezelfde manier tellen en ze daardoor als één gelijkend woord zien. De methode die Gilles de Hollander gebruikt om woorden te tellen is volgens het Snowball stemming algoritme (Porter M. , 2010)5. De woorden die ongeveer hetzelfde betekenen worden hierin gegroepeerd door te kijken naar de taal waarin de woorden zijn geschreven. Welk woord daarna ook echt terugkomt in de woordenwolk wordt bepaald aan de hand van de frequentie. Het woord dat daarna bovenaan komt te staan wordt weergeven in de woordenwolk. Daarnaast wordt het document waar een woordenwolk van wordt gemaakt nogmaals vergeleken met alle documenten waar woordenwolken van gemaakt gaan worden. Hieruit komt een waarde die bepaalt welke termen uiteindelijk in de woordenwolk terugkomen en welke grootte ze hebben. Er is dus als het ware sprake van dubbele filtering. Daarnaast maakt de Hollander nog gebruik van een eigen verbeterd algoritme die woorden eruit filtert voor de woordenwolk die vaak voorkomen in een tekst. Deze veelvoorkomende woorden meet hij door te kijken waar deze in de tekst staan en hoe vaak ze in het totale document voorkomen, waarna deze eruit worden gefilterd en niet terugkomen in de uiteindelijke woordenwolk. Door deze termen weg te laten komt er meer ruimte vrij voor woorden die interessanter zijn en worden gebruikt om partijen van elkaar te onderscheiden. (Een voorbeeld is dat het woord voorzitter, dat in de Tweede Kamer een vaak voorkomend woord is, eruit wordt gefilterd omdat dit woord verder niks zegt over de inhoud van het gesprokene. Hierdoor komt er ruimte vrij voor andere woorden die voor relevantie wel terug zouden moeten komen in woordenwolken.) Een andere toevoeging is dat er apart wordt gekeken naar woorden en bigrammen waardoor het mogelijk wordt om op een betere manier woorden die bij elkaar horen weer te geven. Zo zou bijvoorbeeld “Job”, “Cohen” en “Job Cohen” worden geteld maar uiteindelijk zou alleen “Job Cohen” terugkomen in de uiteindelijk woordenwolk wat ook betekent dat er voor twee andere interessante woorden plekken vrij komen.
Figuur 2:Gilles de Hollander, schrijver van “The EU Parliament in clouds”
Politiekinzicht.com - Wie zegt wat in de tweede kamer? | 5 Maart 2011
9
Al met al werden door deze belangrijke toevoegingen de woordenwolken een stuk beter en interessanter waardoor de uiteindelijke resultaten erg veelbelovend waren.
Figuur 3:Een woordenwolk gemaakt volgens de methode van Gilles de Hollander Na het lezen van de scriptie en op aanraden van Maarten Marx besloten wij hierop de code van Gilles de Hollander te gebruiken (wat dus betekende dat we automatisch ook gebruik maakte van de eerder genoemde scriptie omdat de code daar in basis al wordt getoond). Daartoe moesten we wel een aantal aanpassingen maken om deze code te kunnen toepassen op de 150 politici in de Tweede Kamer en de Tweede Kamer in het algemeen. De aanpassingen die wij hebben gemaakt zullen later in dit verslag besproken worden.
Politiekinzicht.com - Wie zegt wat in de tweede kamer? | 5 Maart 2011
10
Methode Voor het maken van de woordenwolken en het bouwen van de applicatie hebben wij gebruik gemaakt van twee databronnen. Een bestaat uit gegevens die gebruikt zijn voor het maken van de woordenwolken en de andere uit data die gebruikt is voor de namen, foto's en positie in de Tweede Kamer van de verschillende politici. Notulen vanaf 1998 in XML formaat De data die wij hebben gebruikt voor het maken van de verschillende woordenwolken zijn zoals eerder genoemd aangeleverd door Maarten Marx in .tsv formaat. De data bestaat uit alle woorden uit de verschillende notulen vanaf het jaar 1998 tot en met het jaar 2010 voor alle politici die op dit moment in de Tweede Kamer zitten (150) Alle politici die op dit moment in de Tweede Kamer zitten hebben allemaal een eigen begindatum. Maar enkele zitten er al vanaf 1998. Toch hebben wij voor dit jaar gekozen zodat wij voor iedere politicus zijn echte begin datum hebben, wat dus betekent dat voor sommige politici over een periode van twaalf jaar woordenwolken kunnen worden gegenereerd. Iedere politcus heeft een eigen tsv bestand met daarin alles wat gezegd is door die politicus. Deze gaan vervolgens de database in en deze wordenvervolgens via een uniek nummer gekoppeld aan de ID van het Tweede Kamer lid. Betrouwbaarheid: De betrouwbaarheid is uitstekend te noemen, het gaat immers om de officiële uiteindelijke verslagen die gemaakt zijn. Wel zouden er tijdens de omzetting en verwerking ervan gegevens verloren gegaan kunnen zijn of het zou door de notulisten verkeerd genoteerd kunnen zijn, maar in het algemeen zijn deze gegevens op het gebied van betrouwbaarheid uitstekend. Problemen: De data van Maarten Marx was helaas niet up-to-date (tot en met 2010 en niet vanaf 2011) en kon ook niet makkelijk up to date gemaakt en gehouden worden. Dit betekende dat een aantal van onze ideeën (dat je van dag tot dag kunt zien wat er gaande is en bijvoorbeeld dingen als een 'woord van de dag') automatisch daardoor niet mogelijk werden.Dit probleem is op te lossen door zelf de data van een bron op te halen. Daarnaast was er een aantal politici die er nog niet lang zitten (pas een aantal weken) waardoor voor deze politici geen woordenwolk gemaakt kon worden omdat hier (nog) geen data beschikbaar van is. Wij hopen in de toekomst data direct uit de notulen te halen zodat deze op de Tweede Kamer website verschijnen waardoor dagelijks deze gegevens verwerkt kunnen worden en omgezet kunnen worden in woordenwolken. Daardoor zou het mogelijk zijn om iedere dag te zien wat er de vorige dag is gezegd in de Tweede Kamer.
Politiekinzicht.com - Wie zegt wat in de tweede kamer? | 5 Maart 2011
11
Kamerleden huidige Tweede Kamer in XML formaat Op de officiële website van de Tweede Kamer (tweedekamer.nl)6 staat een XML bestand met daarin alle leden van de huidige Tweede Kamer. Aan de verschillende namen zit een foto en het zetelnummer gelinkt. Door dit bestand te verwerken in onze applicatie konden we hierdoor de Tweede Kamer namaken zoals deze in het echt ook is ingedeeld. Daarnaast was het mogelijk om ook alle foto's te verwerken zodat iedere politicus herkenbaar wordt afgebeeld. Betrouwbaarheid: Het viel ons op dat dit bestand erg goed onderhouden wordt. En erg mooi is opgemaakt. Zelfs Kamerleden die pas een paar dagen waren toegetreden meteen werden bijgewerkt in deze XML. Zo ging Femke Halsema officieel weg uit de Tweede Kamer en een dag later was zij ook weggehaald uit deze XML.Maakt het heel prettig dat deze informatie tot onze beschikking is. Daarnaast was het mooi opgebouwd omdat alle politici een unieke ID hadden die weer was gelinkt aan een foto en een Kamerzetel, alles was samenhangend aan elkaar en dus ideaal om te verwerken in onze applicatie. Problemen: Het probleem van deze dat is het feit dat de unieke ID's voor iedere politicus zijn waren dan de ID's die worden gebruikt in de data van Maarten Marx die ons werd aangeleverd. Een voorbeeld was Alexander Pechthold die in de XML volgens de Tweede Kamer website het ID 114665 had gekregen, in de data die we gebruikten voor het maken van de woordenwolken stond Pechthold echter bekend als nummer 02993. Groot verschil dus waardoor het moeilijk was om de data van iedere politicus te koppelen aan de foto, naam en het zetelnummer. Manier van werken De notulen die ons aangeleverd zijn door Maarten Marx zijn in een database gestopt om er op die manier later woordenwolken van te kunnen genereren. Daarnaast hebben we alle xml's van de Tweede Kamer aan elkaar gekoppeld en er een bestand van gemaakt. Waardoor we naast de stoelnummers alle informatie van de verschillende politici bij elkaar hebben staan in een database. Ook hebben we door andere bronnen te raadplegen gekeken of deze informatie inderdaad correct en juist was. Terugblik We zijn een beetje teleurgesteld dat we de data niet up to date konden maken door de officiële notulen rechtstreeks van de Tweede Kamer website te halen en deze te verwerken. Als we meer tijd gehad hadden, zouden we hier nog naar kunnen kijken en was dit probleem misschien oplosbaar geweest door het gebruik van een XSLT, maar helaas zijn we hier nog niet (tijdens het schrijven van dit verslag) aan toegekomen.
Politiekinzicht.com - Wie zegt wat in de tweede kamer? | 5 Maart 2011
12
Technische aspect applicatie Voor het maken van de applicatie waren veel onderdelen nodig die allemaal erg intensief waren om te maken. Uiteindelijk hebben we gebruik gemaakt van een groot scala aan verschillende talen om onze applicatie te verwezenlijken. Een overzicht van de gebruikte talen staat hieronder: - PHP - HTML - Javascript (jQuery) - CSS (3) - Python - Bash - MySQL database - XML (XPath, XQuery) Om al deze onderdelen overzichtelijker te maken hebben wij het technische aspect opgedeeld in twee dimensies: De front end: Letterlijk de 'voorkant' van de applicatie of met andere woorden de interface: wat kan de gebruiker zien en wat kan de gebruiker doen? De webpagina wordt door de gebruiker aangeroepen. De back end: Letterlijk de 'achterzijde' van de applicatie oftewel het omzetten van data tot woordenwolken en alles wat verder achter de schermen gebeurt: de gebruiker ziet er niets van.Dit proces gebeurt elke dag om de gegevens up-to-date te houden. Front end van de applicatie Hetgrootste deel van de front end wordt door PHP gegenereerd. Eerst wordt de data uit de MySQL-database gevist en de applicatie eromheen opgebouwd. Met behulp van CSS hebben we de applicatie vervolgens vormgegeven. Javascript verzorgt de volledige navigatie en interactiviteit van de applicatie. Met behulp van de jQuerylibrary was het mogelijk dit veel sneller en effectiever op te bouwen dan enkel in Javascript zelf. Woordenwolken die worden weergegeven nadat er op een politicus is geklikt of nadat de periodeslider is aangepast, worden dynamisch opgehaald via een AJAX-request en vervolgens on-the-fly gegenereerd. Op deze manier is het mogelijk om van willekeurige periodes woordenwolken weer te geven.We hebben dit verkozen boven een aantal vaste woordenwolken omdat dit er anders te veel zijn. Back end van de applicatie De kern van onze back end is natuurlijk de data waarover wij beschikken. Aangezien we van twee bronnen gebruikmaken, tweedekamer.nl en Pentapolitica, hebben we verschillende scripts gebruikt om alle data bij elkaar te krijgen.
Politiekinzicht.com - Wie zegt wat in de tweede kamer? | 5 Maart 2011
13
Een Bashscript haalt een lijst op van alle politici die in de Tweede Kamer zitten van tweedekamer.nl, waaronder het stoelnummer in de Tweede Kamer. Ook wordt er een portret van elke politicus gedownload en vervolgens vrijgemaakt (witte achtergrond wordt transparant gemaakt), zodat deze mooi in een Tweede Kamer-bankje kan worden geplaatst. Met behulp van een koppeling die wij hebben gemaakt tussen Pentapolitica en Tweedekamer.nl (met XPath en vervolgens handmatig gecorrigeerd) worden van alle politici in de Tweede Kamer de bijbehorende documenten van Pentapolitica opgehaald, die alle gesproken woorden per politicus per datum bevatten.
SELECT penta_id, GROUP_CONCAT(context SEPARATOR ‘\n) AS context, stamp, source FROM penta WHERE stamp BETWEEN %s AND %s GROUP BY penta_id
De gegevens die ons zijn aangeleverd door Maarten Marx. Doormiddel van een query (zie onderstaand) worden alle stukjes per politicus aan elkaar geplakt.
Ten slotte maken wij gebruik van een Pythonscript gebaseerd op aangeleverde code van Gilles de Hollander. Deze verzorgt het algoritme om woorden te selecteren op relevantie, waardoor wij krachtige woordenwolken kunnen tonen. Het script loopt door alle documenten heen, laat het algoritme er op los en stopt de resultaten in onze MySQLdatabase, waarna het front end deel van onze applicatie er gebruik van kan maken.
Figuur 4:Een schematisch overzicht over de werking van de code van Gilles de Hollander
Politiekinzicht.com - Wie zegt wat in de tweede kamer? | 5 Maart 2011
14
De data Voor het maken van de woordenwolken hebben we van elke politicus in de Tweede Kamer alle woorden verzameld die vanaf 1996 in het parlement zijn uitgesproken. Dit startjaar hebben we gekozen omdat de nu langst zittende politicus sinds 1996 in de Tweede Kamer zit. De heer Marx heeft ons data aangeleverd waardoor we per politicus een tab separated file hebben. Deze files bevatten een groot aantal speeches van alles wat de individuele politici in de Tweede Kamer hebben gezegd. Per speech is er naast de speech zelf een penta_id (een uniek nummer per politicus), datum en bron URL als meta data vermeld. Wilders Cohen
Het model Roemer Rutte Om de data te verwerken hebben we gebruik gemaakt van het Verhagen Parsimoniousmodel (Kaptein, Hiemstra, & Kamps, 2010) om Corpus 2007-2008 de belangrijkste woorden voor de woordenwolken Wilders uit speeches te filteren. Dit model filtert niet op Cohen frequentie van de woorden maar op “term s Roemer Rutte weighting” waardoor de meest relevante, Verhagen betekenisvolle woorden naar voren komen. Het Corpus 2008-2009 Wilders model werkt met zogeheten Cohen Corpora (enkelvoud: Corpus) en Documenten. s Roemer
Rutte
We hebben de data gebruikt om de speeches te sorteren naar Verhagen politicus én datum. Op deze manier hebben we per politicus een Corpus 2009-2010 Document gemaakt in een Corpus van een bepaald jaar. Voorbeeld. Aantal losse Corpora (bruin) met Documenten ( groen) Ter illustratie, zie de afbeelding hiernaast. Een Corpus van een bepaald jaar bevat dus alle Speeches per politicus (Document) van dat jaar. De code Voor het verwerken van data hebben we gebruik mogen maken van bestaande python code (Hollander, 2010). Deze code was gemaakt om woordenwolken te maken van documenten van het Europese parlement. Om onze data te kunnen verwerken zijn er een groot aantal veranderingen in deze code aangebracht. Voor de woordenwolken die met onze eigen methode worden gegenereerd (de absolute methode) wordt de tabel ‘wttclouds’ door ons algoritme gevuld met alle woorden die gesproken zijn door alle politici. Aan elk woord (‘word’) wordt de datum van het debat (‘pubdatum’) waarin dit woord is gezegd, de waarde die het algoritme hieraan toekent (‘value’) en de politicus die dit woord gebruikt heeft (‘docno’) gezet. Dit ‘value-veld krijgt een cijfer van 0 tot 1 toegekend, ongeveer zoals de output van het algoritme van Gilles de Hollander (zie ‘relatieve methode’). Deze waarde wordt bepaald door het woord te nemen dat het meest voorkomt en deze als 1 neer te zetten, en het woord dat het minst voorkomt als 0 neer te zetten. Alle woorden hier tussenin krijgen een waarde relatief hieraan.
Politiekinzicht.com - Wie zegt wat in de tweede kamer? | 5 Maart 2011
15
Als er een bepaalde periode wordt opgevraagd door onze applicatie worden 30 woorden van de gevraagde politicus die binnen de gevraagde periode vallen teruggegeven, aflopend gerangschikt op waarde. Vervolgens wordt hier een woordenwolk van gemaakt waarbij de grootte van de woorden wordt op dezelfde manier bepaald als hoe de waarde van een woord wordt berekend. Het woord met de grootste waarde krijgt het grootste font, welke is opgeslagen in een variabel. Het woord met de kleinste waarde krijgt het kleinste font, eveneens vastgelegd in een variabele. Alle andere woorden krijgen een fontgrootte tussen dit maximum en minimum in. Werking Voor elk woord per Document per Corpus wordt er volgens het Parsimonious model een kanswaarde berekend. Betekenisvolle woorden krijgen hierbij een hoge en niet relevante woorden een lage waarde. De belangrijkste woordwaarde koppels,elk met eigenspeech meta data (zie kop: de data), worden per woord in de database gezet. Hierdoor ontstaat een enorm grote database vol met woorden die de basis van onze applicatie vormt. Een document (debat) van een politicus wordt door het algoritme afgezet tegen alle woorden uit alle documenten van alle politici van dat jaar. Gebruikte instellingen De instellingen hebben we gelaten zoals ze stonden. Uit onze resultaten blijkt dat deze instellingen al dusdanig hoge resultaten geven dat we besloten hebben deze op het moment zo aan te houden. Later zullen we deze instellingen waarschijnlijk nog wel aanpassen. Voor onze wolken hebben we de stopwoordverwijdering functie uitgezet. Omdat stopwoorden door het Parsimonious model eruit gefilterd worden is deze functie overbodig.
Letterlijke instellingen Lam1List =[0.001] Lam2List = [5] apList = [“apart”] truncate1List = [0.001] truncate2List = [0.00001] minNStemsList = [50] bistembonus1List = [3] bistembonus2List =[1] removeStopWords = False
On-the-fly woordenwolken Woordenwolken worden on-the-fly gegenereerd, dat wil zeggen dat er geen vaste woordenwolken zijn maar dat deze on demand worden gemaakt. We hebben gekozen om on-the-fly te genereren omdat het bijna niet mogelijk is om voor elke periode een vaste woordenwolk te maken, hierdoor zouden we heel veel onnodige overhead krijgen. Daarnaast is er slechts één eenvoudige SELECT query per woordenwolk nodig. Zelfs met grote bezoekersaantallen en veel woordenwolk queries is dit geen probleem omdat een eenvoudige SELECT query ontzettend snel is en weinig load vraagt. Ter illustratie, er zijn veel dynamische websites met content in de database die vele malen meer load intensiever zijn en vaker opgevraagd worden dan onze query.
Politiekinzicht.com - Wie zegt wat in de tweede kamer? | 5 Maart 2011
16
Als er een langere periode wordt opgevraagd door de applicatie wordt simpelweg elk woord dat door de betreffende politicus gezegd is waarbij de bijbehorende datum (van het debat waar het woord toe behoort) binnen de gevraagde periode valt teruggegeven, aflopend gesorteerd op waarde uiteraard. Woorden ophalen Door middel van een AJAX request word er een PHP script aangeroepen met de volgende parameters: politicus nr, start datum en eind datum. Politicus nr is de penta_id van een bepaalde politicus en de start- en einddatum bepalen voor in welk tijdvlak de wolk gegenereerd moet worden. Het PHP script gebruikt deze 3 parameters direct in de SQL query (blok 1): SELECT word FROM wordclouds WHERE penta_id = politicus_nr AND pubdate BETWEEN start AND eind ORDER BY value DESC LIMIT 50
SELECT word FROM wordclouds WHERE penta_id = 3100 AND pubdate BETWEEN ‘2002-0901’ AND ‘2008-08-31’ ORDER BY value DESC LIMIT 50
Op deze manier kan elke mogelijke woordenwolk van elke politicus gemaakt worden. Neem bijvoorbeeld een wolk van Marianne Thieme (PvdD) met penta_id = 3100 in de periode 01-09-2002 t/m 31-08-2008 (blok 2) Deze query levert een lijst met 50 woorden op die op waarde zijn gesorteerd. Deze waarde is dus door het Parsimonious model bepaald en zorgt er voor dat alleen de betekenisvolle woorden in de lijst komen. De font-size wordt bepaald door doordat elk woord (‘word’) uit de ‘wordclouds_topics’tabel bevat de datum van het debat (‘pubdatum’) waarin dit woord is gezegd, de waarde die het algoritme hieraan heeft toekent (‘value’) en de politicus die dit woord gebruikt heeft (‘docno’). De waarde van elk woord (‘value’) is de daadwerkelijke kans dat het betreffende woord in het bijbehorende document (debat) voorkomt. Als er een bepaalde periode wordt opgevraagd door onze applicatie worden net zoals bij de absolute methode 30 woorden van de gevraagde politicus die binnen de gevraagde periode vallen teruggegeven, aflopend gerangschikt op waarde. Vervolgens wordt hier een woordenwolk van gemaakt waarbij het woord met de grootste waarde het grootste font krijgt, welke is opgeslagen in een variabele. Het woord met de kleinste waarde krijgt het kleinste font, eveneens vastgelegd in een variabele. Alle andere woorden krijgen een fontgrootte tussen dit maximum en minimum in. Het minimumfont en maximumfont staan ingesteld op 9 en 49, dus het kleinste woord en het grootste woord van elke woordenwolk krijgen altijd achtereenvolgend deze twee waardes toegekend.
Politiekinzicht.com - Wie zegt wat in de tweede kamer? | 5 Maart 2011
17
Figuur 5:Een schematisch overzicht van de technische ondergrond van onze applicatie Helaas waren er ook een aantal tegenslagen en problemen dat zich voordeed tijdens het technische onderdeel. De belangrijkste staan hieronder: Probleem 1: Bijgewerkte data Doordat de handelingen zoals deze staan op de website van de Tweede Kamer niet goed te verwerken zijn tot woordenwolken, was het de bedoeling om deze eerst om te vormen tot ‘bruikbare’ XML. Door tijdgebrek zijn we hier niet aan toe gekomen, waardoor de gegevens helaas niet dagelijks worden bijgewerkt. Indien dit nog toegevoegd wordt, kan van dag tot dag voor iedere individuele politicus in de Tweede Kamer worden gezien wat zijn ‘topics’ zijn. De applicatie geeft dan meer inzicht in de dagelijkse gang van zaken in de Tweede Kamer en fungeert in essentie als een beknopte samenvatting van het besprokene. Probleem 2: Browsercompabiliteit Tegenwoordig zijn er heel veel verschillende browsers die door mensen worden gebruikt om toegang tot het internet te krijgen. Natuurlijk zijn IE en Firefox bekende namen, maar andere voorbeelden zijn Chrome, Safari en Opera. Om onze applicatie goed te laten werken voor al deze verschillende browsers was een enorm lastig karwei. Uiteindelijk zijn we erin geslaagd de applicatie in iedere browser te laten werken, maar met sommige browsers zijn er nog wel wat kleine problemen op het gebied van animatie en soepelheid.
Politiekinzicht.com - Wie zegt wat in de tweede kamer? | 5 Maart 2011
18
Het overgrote deel werkt gelukkig wel overal, waaronder het belangrijkste onderdeel, het laten zien van de verschillende woordenwolken. De applicatie lijkt het beste te werken in webkit-browsers (zoals Google Chrome en Safari). Voor de beste ervaring adviseren wij daarom ook om via die browser onze applicatie te bezoeken. Probleem 3: Code Gilles de Hollander Uiteindelijk hebben we de code aan de praat gekregen, maar dit bleek erg moeilijk om te doen. Na heel veel errors, bugfixes en kleine veranderingen werkt hij nu en lijkt hij ook mooie woorden te generen. Het is ons wel tegengevallen hoeveel uren erin zijn gaan zitten om deze code werkend te krijgen voor onze applicatie.
Politiekinzicht.com - Wie zegt wat in de tweede kamer? | 5 Maart 2011
19
Functionele aspect applicatie Onze applicatie heeft op functioneel gebied een aantal verschillende onderdelen. De kern van de applicatie is een grafische weergave van de Tweede Kamer. Hierin worden alle Kamerleden weergegevendoor middel van een foto. Bij een mouse over springen de verschillende politici op waardoor je het effect krijgt dat je door de politici heen kan ‘scrollen’.
Figuur 6:Effect bij mouseover Om verschillende politici te selecteren kan door middel van twee pijlknoppen langs de verschillende vakken in de Tweede Kamer worden genavigeerd. Daarnaast is het mogelijk om vanuit een menu een politicus per partij te selecteren. Hierdoor wordt automatisch genavigeerd naar het vak waarin deze politicus zich bevindt en deze springt dan even op om te tonen om wie het nu precies gaat. Als er op een politicus wordt geklikt komt een tekstballon tevoorschijn die zijn woordenwolk (eerder besproken in dit verslag) laat zien. Boven deze woordenwolk staat een schuifbalk waarmee een bepaalde periode kan worden geselecteerd. Deze periodes omvatten alle jaren waarin de betreffende politicus in de Tweede Kamer zit. Zowel het begin- als eindejaar kan naar wens worden ingesteld, waarna de woordenwolk opnieuw wordt gegenereerd met de ‘trending topics’ binnen de gekozen periode. Dit is waar de applicatie vooral om draait: De gebruiker kan een politicus aanklikken en zijn ‘trending topics’ (zijn belangrijkste woorden) over een bepaalde periode zien. Tijdens het tonen van de woordenwolk begint het portret van de politicus door middel van een animatie te ‘praten’ terwijl zijn woordenwolk tevoorschijn komt.
Figuur 7:Woordenwolk van Jolande Sap Politiekinzicht.com - Wie zegt wat in de tweede kamer? | 5 Maart 2011
20
Wat gaan we nog toevoegen? Naast het individueel bekijken van de woordenwolken van de verschillende individuele politici willen we het mogelijk maken om Tweede Kamerleden met elkaar te vergelijken. Dit wordt gerealiseerd doordat bij het klikken op een politicus deze wordt ‘opgeslagen’ in een menu aan de linkerzijkant. Als de tweede politicus in dat menu erbij komt is het mogelijk om op een ‘vergelijk’ knop te klikken, waarna het scherm donker wordt en de betreffende politici in beeld verschijnen achter een spreekgestoelte. Net zoals bij het bekijken van individuele politici beginnen ze dan te praten, en vormt zich een woordenwolk met de trending topics die overeenkomen tussen de twee gekozen politici. Op het spreekgestoelte staat het logo van de politicus zodat via een grafische weergave getoond wordt van welke partij deze afkomstig is. Deze functies zullen vanwege tijdgebrek later worden toegevoegd.
Figuur 8: Uitgewerkt conceptontwerp ‘vergelijking’ Wat we daarnaast nog willen toevoegen is om niet alleen de 150 Kamerleden maar ook alle leden van het kabinet Rutte weer te geven en ook voor iedere minister en staatssecretaris een woordenwolk te genereren. Dit kon door tijdgebrek niet direct al worden gerealiseerd, maar zal later worden toegevoegd om zo een completer beeld te schetsen van het gesproken woord in de Tweede Kamer.
Figuur 9:Het huidige kabinet Rutte (VVD/CDA, met gedoogsteun van de PVV). Politiekinzicht.com - Wie zegt wat in de tweede kamer? | 5 Maart 2011
21
Design Voor het design hebben wij gekozen voor een getekende stijl, gemengd met een realistische weergave van de Tweede Kamer, waarbij we bij het bewegen van de hoofden vooral ‘humor’ in ons achterhoofd hadden. De foto’s zijn echt en tijdens het praten beweegt het gedeelte waar de mond zit op de foto. De bankjes zijn geïnspireerd op de echte bankjes in de Tweede Kamer maar hebben een iets meer getekende styling gekregen om zo voor een aantrekkelijke weergave te zorgen. Wij zijn van mening dat uiteindelijk de applicatie aantrekkelijk is om te bezoeken voor zowel jonge als oude bezoekers. Het resultaat van de applicatie is al weergegeven op eerdere afbeeldingen maar voordat we daar aan begonnen waren, hebben we eerst het design uitgetekend om zo voor onszelf een beeld te krijgen hoe de applicatie eruit moest komen te zien. Hieronder staan de tweede belangrijkste schetsen die we hebben gemaakt.De essentie van het design is er al goed in terug te zien.
Figuur10:De getekende schetsen: links de weergave van de Tweede Kamer en rechts het ‘vergelijk’ gedeelte.
Politiekinzicht.com - Wie zegt wat in de tweede kamer? | 5 Maart 2011
22
Procedure Voor onze kwaliteitsbewaking hebben we gekeken naar de accuraatheid van de woorden in de woordenwolken. Dit hebben wij gedaan door een tekst handmatig én automatisch te analyseren. De 1e Match zijn de woorden die perfect overeenkomen. De 2e Match zijn de woorden die gedeeltelijk overeenkomen, bijvoorbeeld het verschil tussen bigrammen of unigrammen. Aan de hand van deze gegevens kunnen we concluderen dat 66% van de woorden accuraat zijn: 2 van de 3 woorden in de woordenwolken geven een representatief beeld van wat deze politicus heeft gezegd.
Accuraatheid
Geen Match 34% 1e Match 50%
2e Match 16%
Verbeteringen Het automatische script heeft een aantal instellingen om de juiste woorden te kunnen vinden. Deze instellingen kunnen verbeterd worden waardoor het aantal matches nóg beter wordt. Kwantiteitsbewaking Het is belangrijk dat er genoeg data is om te kunnen analyseren, anders kunnen er vertekende woorden in de woordenwolken komen. Daarom moeten zoveel mogelijk bestanden van een politicus geanalyseerd worden. Door telkens nieuwe documenten te verzamelen en te analyseren blijven de wolken upto-date en is de kwantiteit gewaarborgd. Als dit niet gebeurt, wordt de data uiteindelijk oud en irrelevant voor de gebruiker.
Figuur 11: Woordenwolk Mariëtte Hamer Politiekinzicht.com - Wie zegt wat in de tweede kamer? | 5 Maart 2011
23
Houdbaarheid applicatie Doordat wij op dit moment nog geen actuele data verwerken, gaat de applicatie nu nog niet mee met de tijd. Als dit later wordt toegevoegd, neemt de houdbaarheid ervan natuurlijk sterk toe. Om onze woordenwolken up-to-date te houden, moeten we elke dag data ophalen van blijvende bronnen zoals de website officiële bekendmakingen. Hiervoor moet de data eerst getransformeerd worden met behulp van een XSLT template. Nieuwe data zou elke dag toegevoegd kunnen worden zodat de wolken altijd actueel zijn. Daarnaast halen wij de namen van de Kamerleden, hun foto en de gegevens van de officiële Tweede Kamer website (zoals eerder in dit verslag besproken). Deze gegevens zijn altijd up to date, tenzij de bron (tweedekamer.nl) ineens zou worden weggehaald. Zolang de bron aanwezig blijft, kunnen de zittende Kamerleden altijd bijgewerkt blijven en zodra er iemand weggaat of wordt vervangen dan wordt dit direct verwerkt in onze applicatie. Op het moment dat de data iedere dag wordt opgehaald, zal de applicatie minstens één kabinetsperiode prima meegaan. Evaluatie Als laatste hebben wij constante evaluaties uitgevoerd. Niet alleen door bij de applicatie zelf continu te kijken of alles klopte, waar nog verbeteringen nodig waren of wat bijvoorbeeld nog moest worden aangepast. Maar ook door een ‘voortgangspercentage’ te berekenen door wekelijks de planning en het logboek met elkaar te vergelijken en door ook elkaar wekelijks te beoordelen om zo een goed beeld te krijgen of iedereen actief meedeed. De gegevens van deze evaluaties zijn bijgevoegd als bijlage bij dit eindverslag. Daarnaast hebben we nog een andere evaluatie gedaan om de kwaliteit van de KKH (Kaptein, R., Hiemstra, D., & Kamps, J.) methode te testen en te analyseren. Hiervoor hebben we een andere methode voor het maken van woordenwolken gebruikt die wij zelf eerder hadden gemaakt voor een ander project om te zien of de KKH methode inderdaad de beste is om te gebruiken voor het maken van woordenwolken. Onze eigen methode noemen we voor het gemak de “RJT-methode” naar onze voornamen (Reinier, Jurrian & Thomas). Voor deze evaluatie hebben we een aantal verschillende zaken getest bij twee politici over al hun woordenwolken voor de verschillende perioden. Aan de ene kant Geert Wilders (PVV) en aan de andere kant Marianne Thieme (PvdD). Allereerst hebben we gekeken hoeveel overeenkomsten er waren tussen de verschillende technieken en de verschillende periodes. Toen hebben we een gouden standaard opgesteld, of met andere woorden een ‘perfecte woordenwolk’ en gezien hoeveel overeenkomsten er waren met zowel de KKH methode en de RJT methode. Als laatste hebben we alle woorden van elke woordenwolk voor beide technieken een beoordelingen gegeven van 1 t/m 5 (waarbij 1 slecht is en 5 uistekend) om te zien hoeveel en slechte woorden de verschillende methoden met zich meebrachten.
Politiekinzicht.com - Wie zegt wat in de tweede kamer? | 5 Maart 2011
24
Allereerst keken we naar het aantal overeenkomsten van Geert Wilders en Marianne Thieme als het gaat om de verschillende woorden die in de door de RJT en KKH methode gegenereerde woordenwolken stonden. Op zich was de uitkomst van deze test niet heel verassend. Doordat beide methoden een hele andere techniek gebruiken voor het genereren van woordenwolken (RJT methode kijkt vooral naar het aantal maal dat het er staat, terwijl de KKH methode naar relevante termen kijkt) stonden er maar heel soms een aantal woorden in die hetzelfde waren. Dat is op zich ook wel logisch natuurlijk omdat de meest voorkomende woorden vaak niet politiek relevant zijn (een goed voorbeeld is ‘voorzitter’) waardoor deze wel in de RJT wolken staan maar juist door de KKH methode uit de woordenwolk worden gehaald. Hoewel de uitkomst van deze test dus niet opvallend was, zagen we hierdoor wel dat de KKH methode (goed) zijn werk doet omdat er sprake is van een goede filtering. Daarna hebben we de ‘gouden standaard’ (lijst van woorden wat volgens ons de perfecte woordenwolk zou zijn) opgesteld voor zowel Geert Wilders als Marianne Thieme. Door deze gouden standaard konden we zien hoeveel de KKH en RJT methode hiervan afweek en dus ook zien hoe goed de woorden waren die in deze wolken stonden ten opzichte van de gouden standaard. Ook uit deze test kwam naar voren dat op het gebied van politiek relevante termen (termen die in de gouden standaard stonden) de KKH methode veel beter scoort dan de RJT methode. De KKH methode had over het algemeen een meer dan 10% match met de gouden standaard voor de wolken van de verschillende periodes, bij de RJT methode bleef dit percentage ver onder de 10 met soms een paar positieve uitschieters. In de grafiek hiernaast is te zien hoeveel meer matches met de gouden standaard er zijn tussen de KKH en de RJT methode als het gaat om de woordenwolken van Geert Wilders. Zoals ook in deze grafiek is te zien scoort de KKH methode dus een heel stuk beter.
Politiekinzicht.com - Wie zegt wat in de tweede kamer? | 5 Maart 2011
25
Ook in de grafiek van Marianne Thieme is een verschil in overeenkomsten tussen de gouden standaard en beide methoden te zien, hoewel de KKH methode hier iets minder scoort. Dit omdat 3 van de 4 uitschieters van de RJT methode naar een iets hoger percentage waren in de woordenwolken van Marianne Thieme. Nog steeds is echter wel een duidelijk verschil te zien. Na deze tests waren we al aardig overtuigd van de klasse van de KKH methode in vergelijking met de RJT methode maar om het zeker te weten moesten specifieker kijken naar wat voor woorden er precies in de verschillende wolken stonden. Hiervoor hebben we naar alle wolken van de verschillende periodes gekeken van beide politici en alle woorden die daarin stonden een beoordeling gegeven. De beoordelingsschaal ging zoals eerder genoemd van 1 (slecht) naar 5 (uitstekend), waarbij het getal 1 voor een echte misser stond en 5 voor een echte goede term. Ook in deze test komt de KKH methode een stuk beter uit de verf, niet alleen heeft deze methode bij iedere wolk keer op keer minder woorden met een “1” rating, maar ook meer woorden met een hogere rating (3 t/m 5). De RJT methode is dus niet alleen een stuk slechter dan KKH methode, maar de KKH methode scoort ook echt stukken beter. In de volgende grafiek zijn alle woorden van Wilders bij elkaar opgeteld alsmede de beoordelingen van al die woorden voor zowel de RJT als de KKH methode.
Heel duidelijk is te zien dat de beoordeling “1” oftewel slecht veel vaker voorkomt bij de RJT methode dan bij de KKH methode. Bij de rest van de schaal heeft de KKH methode veruit de overhand en hoewel het jammer is dat dit ook zo is bij het getal 2, is het ook Politiekinzicht.com - Wie zegt wat in de tweede kamer? | 5 Maart 2011
26
belangrijk om te zien dat het ook zo is bij getal 3 t/m 5. Het is dus veilig om te zeggen dat de KKH methode beter scoort op het gebied van goede politiek relevante termen in de verschillende woordenwolken. Bij Marianne Thieme is deze test ook gedaan en ook daar is een soortgelijk scenario te zien: een enorm verschil als het gaat om woorden met beoordeling 1, maar ook grote verschillen bij 3, 4 en 5.
Als deze lijngrafieken worden omgezet in staafdiagrammen is misschien nog wel duidelijker te zien hoe grote verschillen er zijn tussen de verschillende beoordelingen.
Vooral de uitschieter van “1” bij de RJT methode bij Wilders is natuurlijk erg opvallend, Bij het getal 2 zijn de verschillen weer iets minder aanwezig maar bij 3, 4 en 5 (die natuurlijk het meest belangrijk zijn) is weer een toename te zien. Voor de volledige resultaten verwijzen we u graag naar bijlage IV op pagina 49 Politiekinzicht.com - Wie zegt wat in de tweede kamer? | 5 Maart 2011
27
Resultaten Onze hoofdvraag was of inzichtelijk gemaakt kan worden of politici in de tijd van onderwerp veranderen of dat ze vasthouden aan steeds dezelfde onderwerpen. Onze veronderstelling was dat dit aan de hand van onze woordenwolken getoond kon worden. Daarbij was onze voorspelling dat er altijd wel een paar punten zijn die terugblijven komen, maar dat er waarschijnlijk ook punten zouden zijn die in de tijd verschillen. Uiteindelijk blijkt dit moeilijker te bepalen dan gedacht. Je ziet namelijk maar een beperkt aantal woorden terugkomen in een woordenwolk en het is niet bekend wat iemand buiten de Tweede Kamer zegt en doet. Toch zien wij dat onze voorspellingen voor een groot deel blijken te kloppen. Oorspronkelijk wilden we alleen kijken naar de woordenwolken van de meest bekende politici, maar daarnaast hebben wij steekproefsgewijs ook nog een aantal andere politici bekeken. Dan valt op dat er altijd termen zijn die over de gehele periode voorkomen en eigenlijk in ieder jaar wel terug te vinden zijn in de woordenwolken van de verschillende politici. Aan de ene kant is dat wel begrijpelijk omdat partijen en politici natuurlijk allemaal ergens voor staan en er daardoor in hun meningsvorming sprake is van een aantal “vaste”, steeds terugkerende items. Aan de andere kant is het merkwaardig dat politici met hun woordgebruik in de tijd gezien kennelijk maar in beperkte mate inspelen op veranderingen of actuele gebeurtenissen. Mogelijk verandert dit beeld als je ook zou kijken naar de uitspraken van politici buiten de Tweede Kamer, in de media, omdat daar juist vaak wel moet worden ingespeeld op de ‘waan van de dag’. Hoe dan ook: in de Tweede Kamer blijven de politici over het algemeen vrij consequent dezelfde woorden en uitspraken gebruiken. De beste manier om deze uitkomst te ervaren, is door zelf met onze applicatie aan de slag te gaan.
Politiekinzicht.com - Wie zegt wat in de tweede kamer? | 5 Maart 2011
28
Conclusie Na 4 weken lang keihard werken is er dan eindelijk resultaat: een goed werkende en zeker ook goed bruikbare applicatie die op bijna alle punten benadert wat wij voor ogen hadden toen we aan dit project begonnen. Ook al hebben we de nodige tegenvallers gehad, we zijn enthousiast door blijven gaan en volgens ons mag het resultaat er zijn. Onze applicatie doet zijn naam eer aan: hij geeft op een leuke en toegankelijke manier snel inzicht in de uitspraken van de verschillende Kamerleden die de Nederlandse bevolking vertegenwoordigen. Achteraf gezien waren we misschien wel erg ambitieus en hadden we nog wel meer willen toevoegen aan de applicatie, maar al snel kwamen we erachter dat zoveel werk gewoonweg niet te doen is in een periode van vier weken. Toch zijn wij erg trots op wat we hebben bereikt en zijn we er ook van overtuigd dat deze applicatie al in de huidige vorm een goede bijdrage levert aan een betere informatieweergave over en uit de Tweede Kamer. Een belangrijk doel van dit project was dat we moesten proberen het nieuws te halen. Ofschoon wij denken dat we dat nu al zouden kunnen doen, willen we eerst nog enkele toevoegingen doen om de applicatie dan met succes in de media te verspreiden. Ons project zou echt geslaagd zijn als bezoekers van onze applicatie met een beter beeld weggaan over de gang van zaken in de Tweede Kamer en wie wat zegt dan ervoor. Deze applicatie is immers gemaakt om burgers te voorzien in hun informatiebehoefte over de actuele politiek en in te spelen op het feit dat daar op internet op dit moment nog maar weinig over te vinden is. Het succes van de applicatie is dus eigenlijk pas over een tijdje te bepalen: bezoeken mensen dan nog steeds onze site? Blijven ze terugkomen? En hebben ze wat aan onze applicatie? De tijd zal het leren maar stiekem hopen we er niet alleen op, we zijn ervan overtuigd dat onze applicatie in een behoefte van veel mensen blijkt te voorzien.
Politiekinzicht.com - Wie zegt wat in de tweede kamer? | 5 Maart 2011
29
Referenties De in ons verslag genoemde artikelen en andere zaken zijn via deze lijst terug te vinden. [1] http://en.wikipedia.org/wiki/Tag_cloud [2] PoliticalMashup. (2010). http://www.politicalmashup.nl/ [3] Kaptein, R., Hiemstra, D., & Kamps, J. (2010). How Different are Language Models and Word Clouds? Advances in Information Retrieval: 32nd European Conference on IR Research (ECIR2010) (p. to appear). Milton Keynes: Springer. [4] de Hollander, G. (Juni 2010).The EU Parliament in clouds(http://ilps.science.uva.nl/PoliticalMashup/uploads/2010/12/scriptie_final.pdf) [5] Porter, M. (2010). Opgehaald van Snowball Homepage: (http://snowball.tartarus.org/index.php) Porter, M. (1980). Program, 14(3). An algorithm for suffix stripping , 130-137. [6] http://www.tweedekamer.nl/xml/kamerleden.xml
Politiekinzicht.com - Wie zegt wat in de tweede kamer? | 5 Maart 2011
30
Bijlage Wiki ................................................................................................................................................................... 32 Bijlage I (Self-assesment) ...................................................................................................................... 33 Self-assesment week 1 ..................................................................................................................... 33 Self-assesment week 2 ............................................................................................................................... 34 Self-assesment week 3 .................................................................................................................. 35 Self-assesment week 4 ............................................................................................................................... 36 Bijlage II (Planning).................................................................................................................................. 37 Globale planning................................................................................................................................ 37 Specifieke planning week 1...................................................................................................... 38 Specifieke planning week 2............................................................................................................ 39 Specifieke planning week 3 ........................................................................................................ 40 Specifieke planning week 4 ..................................................................................................... 41 Bijlage III (Logboek) ................................................................................................................................. 42 “Percentage gehaald” ....................................................................................................................... 42 Logboek week 1................................................................................................................................. 43 Logboek week 2 ............................................................................................................................................ 45 Logboek week 3 ............................................................................................................................................ 47 Logboek week 4 ............................................................................................................................................ 49 Bijlage IV (Evaluatie spreadsheets) ................................................................................................. 50 Bijlage V (Programmatuur).................................................................................................................. 53
Politiekinzicht.com - Wie zegt wat in de tweede kamer? | 5 Maart 2011
31
Tijdens het project was de Wiki van onze groep hét centrale punt voor alle
voortgang en informatie. De bijlagen die bijgevoegd zijn bij dit eindverslag komen rechtstreeks daarvandaan (met uitzondering van de programmacode). De Wiki is openbaar en te bezoeken via het volgende adres: https://sites.google.com/site/talkingheadsik/
Figuur I:Een screenshot van onze Wiki pagina
Politiekinzicht.com - Wie zegt wat in de tweede kamer? | 5 Maart 2011
32
Bijlage I: Self-assesment Durende het gehele project was het de bedoeling om niet de applicatie zelf constant te beoordelen maar ook jezelf en de andere leden van de groep. Iedere week moesten cijfers aan elkaar worden uitgedeeld en daaruit moest iedere week een wegingsfactor worden berekent. De complete self-assesments voor alle vier de weken volgen nu. De uiteindelijke wegingsfactor (per week) staat steeds rechts onderin
Figuur II:De self-assesment van week 1: hier heeft A (Reinier van der Plank) een wegingsfactor van (afgerond) 1.06, B (Jurrian Tromp) van (afgerond) 1.13 en C (Thomas Moeskops) van (afgerond) 0.81
Politiekinzicht.com - Wie zegt wat in de tweede kamer? | 5 Maart 2011
33
Figuur III:De self-assesment van week 2: hier heeft A (Reinier van der Plank) een wegingsfactor van (afgerond) 1.02, B (Jurrian Tromp) van (afgerond) 1.01 en C (Thomas Moeskops) van (afgerond) 0.96
Politiekinzicht.com - Wie zegt wat in de tweede kamer? | 5 Maart 2011
34
Figuur IV:De self-assesment van week 3: hier heeft A (Reinier van der Plank) een wegingsfactor van (afgerond) 1.04, B (Jurrian Tromp) van (afgerond) 0.93 en C (Thomas Moeskops) van (afgerond) 1.03
Politiekinzicht.com - Wie zegt wat in de tweede kamer? | 5 Maart 2011
35
Figuur V:De self-assesment van week 4: hier heeft A (Reinier van der Plank) een wegingsfactor van (afgerond) 1.05, B (Jurrian Tromp) van (afgerond) 0.90 en C (Thomas Moeskops) van (afgerond) 1.06
Politiekinzicht.com - Wie zegt wat in de tweede kamer? | 5 Maart 2011
36
Bijlage II: Planning Een goede planning is natuurlijk essentieel als het gaat om het hebben van een project en het moet maken van een applicatie. Na eerst gewerkt te hebben met een globale planning, zijn we later toch overgestapt naar een specifieke planning voor iedere week. Dit hebben we gedaan om een beter overzicht te krijgen over de zaken die in een bepaalde week af moesten komen. Hieronder volgt de globale planning waar dus snel van afgestapt is maar die wel op de Wiki is gebleven om ook een globaal overzicht te hebben over wat iedere week ongeveer moet gebeuren en om te gebruiken bij het opstellen van de specifieke planningen. Week 1 o o o o o o
Begin ontwerpen concept Zoeken en lezen bruikbare literatuur Opzetten randzaken (Wiki, Logboek, Speciefieke planning, Self assessment enz.) Begin technich concept (o.a de applicatie architectuur) Prioriteiten lijst opstellen (MoSCoW principe) Analyse eindverslag
Week 2 o
o o o
Begin ontwikkeling applicatie (Basis van de techniek werkend hebben) o Must Have's (voor de betekenis hiervan verwijzen we u graag naar de Wiki) o ShouldHave's (voor de betekenis hiervan verwijzen we u graag naar de Wiki) Begin eindverslag Design ontwerpen (front-end) Werkende demo
Week 3 o
o o o
Ontwikkelen applicatie o Must Have's (voor de betekenis hiervan verwijzen we u graag naar de Wiki) o ShouldHave's (voor de betekenis hiervan verwijzen we u graag naar de Wiki) o CouldHave's (voor de betekenis hiervan verwijzen we u graag naar de Wiki) o WouldHave's (voor de betekenis hiervan verwijzen we u graag naar de Wiki) Uitwerken van Demo tot een werkende beta applicatie Front-End afhebben Eindverslag voor groot deel afhebben
Week 4 o o o o o o
Afhebben Back-End Afhebben eindverslag Afhebben totale applicatie Lancering website Uitloop week 1t/m 3 Eindverslag/Eindpresentatie
Politiekinzicht.com - Wie zegt wat in de tweede kamer? | 5 Maart 2011
37
Specifieke planning week 1 Maandag 3 Januari: - Overleg met Maarten Marx - Maken concept ontwerp - Presentatie maken voor dinsdag - Wiki aanmaken - Verdeling maken Dinsdag 4 Januari: - Eerste gezamenlijke bijeenkomst - Presentatie houden - Lezen scriptie Gilles de Hollander - Begin technisch concept - Begonnen met het bepalen welke algoritmes we gaan gebruiken voor onze code (Jurrian/Thomas) Woensdag 5 Januari: - Kalender aanmaken - Onderzoek doen naar verschillende formules - Handmatige analyse doen van politieke teksten - Verder werken technische onderdelen Donderdag 6 Januari: - Logboek maken van voorgaande dagen - Betere planning maken die meer specifiek is - Code onderzoeken die hoort bij de scriptie van Gilles de Hollander Vrijdag 7 Januari: - Tweede gezamenlijke bijeenkomst - Tweede presentatie gehouden - Beter kijken naar welke woorden er gefilterd moeten worden om ervoor te zorgen dat de essentie van de verschillende onderwerpen straks in de woordenwolken terugkomt. Ook gaat er gekeken worden naar de stemming van de verschillende woorden, omdat er sommige woorden nu nog raar worden afgebroken. Weekend: - Self assessment afmaken - voorbeeld eindverslag analyseren (eindverslag.pdf) - scriptie kapitein lezen (http://eprints.eemcs.utwente.nl/18654/01/ecir10clouds.pdf) - Database verbinding gaat gemaakt worden - PHP site doen - Concept eigen eindverslag opstellen - Brainstormen over het domein
Politiekinzicht.com - Wie zegt wat in de tweede kamer? | 5 Maart 2011
38
Specifieke planning week 2 Maandag 10 januari: - Eerste beoordeling groep - voorbeeld eindverslag analyseren (eindverslag.pdf) - scriptie kapitein lezen (http://eprints.eemcs.utwente.nl/18654/01/ecir10clouds.pdf) - Begin maken eigen eindverslag - Verder werken aan PHP Dinsdag 11 januari: - Werkende Demo versie af - Inleiding + Vraagstellling af van het eindverslag - Tekening Design af (voor woensdag) - Bij de verschillende designs de stappen verdelen zodat de designs in stappen ook echt verwezenlijkt kunnen worden - Planning week 2 daarop baseren - Begin maken layout (pratende hoofden) stap 1 Woensdag 12 januari: - Design concepten uitwerken - Verder werken aan eindverslag Donderdag 13 januari: - Presentatie vrijdag maken - Basis van de applicatie (HTML) o
Simpele layout
o
Basisfunctionaliteit
Vrijdag 14 januari: - Derde presentatie - Derde bijeenkomst - Woordenwolken per politicus kunnen genereren - codenaam: "Battleground" afhebben Weekend/Volgende week?: - uitloop week 2 - Uitgewerkt algoritme o
Juiste methode
o
Algoritme geïmplementeerd
Politiekinzicht.com - Wie zegt wat in de tweede kamer? | 5 Maart 2011
39
Specifieke planning week 3 Maandag 17 Januari - Notulen les 2 & les 3 uitwerken - Overleg over data (welke tijdsperiode, hoe in de database verwerken enz.) - PentaID's van de verschillende politici koppelen aan de ID zoals op tweedekamer.nl - Startdatum en einddatum van de laatste kabinetsperiodes (t/m kok II) vinden - Verder werken aan de demo applicatie - Uitwerken van het design --> de "front-end" Dinsdag 18 Januari - Wiki site helemaal up to date maken - Notulen gesprekken met Maarten Marx uitwerken en op de wiki zetten - Verder werken aan de applicatie interface (Tweede Kamer) - Verder werken aan het eindverslag Woensdag 19 Januari - front-end applicatie zoveel mogelijk afmaken ("Battleground"), indien gelukt; verder werken aan de back-end - Verder werken aan het eindverslag - Plaatsing hoofdjes vanuit xml bron (+ schaling, positionering, background verwijderen) - Maken presentatie voor donderdag Donderdag 20 Januari - Vierde bijeenkomst - Vierde presentatie - Het maken van de "pratende hoofden" - Beginnen met de data omzetten tot woordenwolken (Gilles de Hollander) Vrijdag 21 Januari - Front-end afhebben - Demo omzetten naar werkende beta applicatie - Eindverslag voor grootste deel afhebben - Specifieke planning maken voor week 4 Weekend - Uitloop week 3 - Eindbeslissing maken domeinnaam - Selfassesment van week 3 - Evaluatie applicatie tot nu toe, eventueel nieuwe prioriteiten opstellen - Er moet vóór maandag een werkende beta applicatie opgestart zijn
Politiekinzicht.com - Wie zegt wat in de tweede kamer? | 5 Maart 2011
40
Specifieke planning week 4 Maandag 24 Januari - Code Gilles de Hollander implementeren - Werkende beta applicatie afhebben - 70% van het eindverslag afhebben maandag - Domeinnaam registreren - Punten die nog missen van de 'functionaliteit front-end' erin verwerken - Self-assesment week 3 invullen Dinsdag 25 Januari - Promotie en Pers - Eindverslag 90% afhebben - Beta omzetten naar eindapplicatie - Punten die nog missen van de 'functionaliteit front-end' erin verwerken Woensdag 26 Januari - Eindverslag af - Begin maken presentatie vrijdag - Beta omzetten naar eindapplicatie - Punten die nog missen van de 'functionaliteit front-end' erin verwerken Donderdag 27 Januari - Puntjes op de i zetten eindapplicatie - Presentatie afmaken - Puntjes op de i zetten eindverslag/verslaggeving Vrijdag 28 Januari - Eindpresentatie applicatie
Politiekinzicht.com - Wie zegt wat in de tweede kamer? | 5 Maart 2011
41
Bijlage III: Logboek Naast de planning moest er ook een logboek worden bijgehouden waarin voor ieder groepslid genoteerd werd wat hij die dag had gedaan. Dit werd niet alleen geraadpleegd tijdens de groepsbeoordelingen maar hierdoor kon ook goed worden gezien wat er allemaal van de planning was gedaan en wat er nog moest gebeuren. Daarnaast is er door de planning en het logboek wekelijks met elkaar te vergelijken iedere week een percentage opgesteld wat gelijk staat aan wat van de opgestelde planning ook echt gedaan is in diezelfde week. Hierdoor kregen we een goed overzicht wat we die weken gehaald hadden en of we op schema lagen en wat er eventueel door zou schuiven naar de volgende week.
Figuur VI:De “gehaald deze week” percentages
Politiekinzicht.com - Wie zegt wat in de tweede kamer? | 5 Maart 2011
42
Logboek week 1 Maandag 3 Januari: - Eerst overleg met Maarten Marx gehad (Hele groepje) - Begonnen met het concept ontwerp en de afbakening van het project. (Hele groepje) - Presentatie gemaakt voor de eerste bijeenkomst Dinsdag. (Hele groepje) - Wiki aangemaakt/aangevuld (Reinier) - Verdeling opgesteld, wat heeft de prioriteit per persoon (Hele groepje) Dinsdag 4 Januari: - Eerste gezamenlijke bijeenkomst gehad bij Maarten Marx waarin we onze eerste presentatie gehouden hebben (Hele groepje) - Na de op en aanmerkingen bij de presentatie een betere afbakening gemaakt van de applicatie, veel zaken bleken toch onhaalbaar of hadden een verkeerde prioriteit (Hele groepje) - Onderzoek gedaan naar al soortgelijke bestaande code die misschien van toepassing zou kunnen zijn voor ons door het lezen van de scriptie van Gilles de Hollander (Hele groepje) - Begonnen met het bepalen welke algoritmes we gaan gebruiken voor onze code (Jurrian/Thomas) - Begonnen met het opstelling van het technisch concept --> wat moet er allemaal gemaakt worden en hoe? En in welke code? Besloten dat dat Python wordt. (Hele groepje) - Besloten wat de eerste taken worden voor ieder individueel groepslid (Hele groepje) Woensdag 5 Januari: - De notulen van de eerste bijeenkomst op Dinsdag 4 Januari zijn uitgewerkt en op de wiki geplaatst, daarnaast is bepaald wat van de notulen belangrijke gegevens zijn voor ons project in het bijzonder (Reinier) - De kalender is aangemaakt maar een betere planning moet nog worden gemaakt en ingevuld, de globale planning van de eerste week is wel op de wiki gezet alsmede de globale planning voor alle 4 de weken (Reinier) - Daarnaast is de wiki aangevuld met een gedeelte voor de op en aanmerkingen van de begeleiders (Reinier) - Onderzoek gedaan naar welke wiskundige formules gebruikt moeten gaan worden alsmede de formules in de scriptie van Gilles de Hollander. (Jurrian/Thomas) - Handmatige Analyse politieke teksten, gekeken wat voor woorden er belangrijk zijn in een politiek voorbeeld tekst, er is dus gekeken wat voor woorden er juist uitgefilterd zouden moeten worden en welke woorden juist 'opgeslagen' moeten worden (Hele groepje) - Een parser gemaakt die alle losse woorden filtert uit losse XML bestanden in Python (Thomas) - Scraping van policitalmashup.nl bestanden (Jurrian)
Politiekinzicht.com - Wie zegt wat in de tweede kamer? | 5 Maart 2011
43
Donderdag 6 Januari: - Logboek gemaakt van voorgaande dagen en van de huidige dag, dit logboek gaat vanaf nu iedere dag worden bijgewerkt. (Reinier) - Selfassesment aangemaakt en verder uitgewerkt. (Reinier) - Betere planning gemaakt voor de komende paar dagen (Reinier) - Al het bovenstaande op de Wiki pagina geplaatst - Presentatie gemaakt voor de tweede gezamenlijke bijeenkomst op vrijdag (Hele groepje) - Het eerder gemaakte script wat door Jurrian is gemaakt aangesloten op het script wat door Thomas is gemaakt (Thomas) - Code Gilles de Hollander geanalyseerd, specifiek is er gekeken naar de formules uit zijn scriptie en hoe die terugkwamen in zijn code (Jurrian) - Verder gewerkt aan de algemene technische zaken (Jurrian/Thomas) Vrijdag 7 Januari: - Tweede presentatie op de tweede gezamenlijke bijeenkomst gehouden. (Hele groepje) - Overleg gehad binnen de groep en besproken wat de taken zijn voor het weekend. (Hele groepje) - Gesprek gehad met Maarten Marx (Hele groepje) Weekend: - Self assessment afgemaakt (Reinier) - voorbeeld eindverslag gedeeltelijk geanalyseerd (eindverslag.pdf) (Reinier) - scriptie kapitein gedeeltelijk gelezen (http://eprints.eemcs.utwente.nl/18654/01/ecir10clouds.pdf) (Jurrian) - Database verbinding gemaakt (Thomas) - Brainstormen over het domein (Hele groepje) - Self assessment week 1 ingevuld (Hele groepje)
Politiekinzicht.com - Wie zegt wat in de tweede kamer? | 5 Maart 2011
44
Logboek week 2 Maandag 10 Januari:
- Voorbeeld eindverslag onderzocht (Reinier) - Scriptie koning onderzocht (Jurrian/Thomas) - Concept van de inleiding opgesteld voor het eindverslag (Reinier) - PHP script gemaakt (Jurrian) - Gewerkt aan de formules van Gilles de Hollander (Thomas) Dinsdag 11 Januari: - Gebrainstormt over design applicatie/website (Jurrian/Reinier) - Stappenplan opgesteld over het design (Jurrian/Reinier) - Design verder uitgewerkt (Jurrian/Reinier) - Planning week 2 gemaakt (Jurrian/Reinier) - Algemene teambespreking gehad (Jurrian/Reinier) - Gesprek gehad met Maarten Marx (Jurrian/Reinier) Woensdag 12 Januari: - Design concepten uitgewerkt (Jurrian/Reinier) - Schetsen gemaakt (Jurrian/Reinier) - Begonnen met het bepalen van de front-end functionaliteit (Jurrian/Reinier) - Verder gewerkt aan het eindverslag (Reinier) - Prototype tweede kamer ‘design’ gemaakt (Jurrian) Donderdag 13 Januari: - Specifieke planning week 2 bijgewerkt en eerste planning week 3 opgesteld. (Reinier) - Gesprek gehad met Maarten Marx over het design (Hele groepje) - Functionaliteit van de applicatie op papier gezet, bepaald van alle onderdelen van de website wat ze doen / Wat kan de gebruiker doen? (Hele groepje) - Code van de woordenwolk voor het eerdere project voor de cursus WTT omgezet naar code die bruikbaar is voor dit project. (Jurrian) - Basis applicatie opgezet (Hele groepje) - “Mock up” gemaakt om in een plaatje aan te tonen hoe wij straks willen dat onze applicatie er ongeveer uit ziet, dat plaatje moet nu worden uitgewerkt tot een applicatie die hetzelfde weergeeft (Thomas) - Presentatie vrijdag gemaakt (Hele groepje)
Politiekinzicht.com - Wie zegt wat in de tweede kamer? | 5 Maart 2011
45
Vrijdag 14 Januari: - Presentatie voor de derde bijeenkomst gehad (Hele groepje) - Planning /taakverdeling voor het weekend gemaakt (Hele groepje) - Vergadering gehad over data verzameling en verwerking (Hele groepje) Weekend: - Planning week 3 aangepast/bijgewerkt (Reinier) - Tweedekamer/”Battleground” verder uitgewerkt (Thomas/Jurrian) - Self-assessment aangepast (Reinier) - Self-asessment week 2 ingevuld (Hele groepje) - Verder gewerkt aan python code (Thomas)
Politiekinzicht.com - Wie zegt wat in de tweede kamer? | 5 Maart 2011
46
Logboek week 3 Maandag 17 Januari: - Notule bijeenkomst vrijdag 14 januari uitgewerkt alsmede (verlaat) de notule van de ontmoetingen met meneer Marx (Reinier) - Bepaald tot welke kabinetsperiode we wilden teruggaan en hierbij de start en eind data gezocht van de verschillende kabinetten (Reinier) - Begonnen aan koppeling pentaid’s met de tweedekamer.nl id’s om deze later te kunnen gebruiken voor de data verzameling voor het maken van de woordenwolken (Thomas) - Verder gewerkt aan het design van de tweede kamer en de ‘battleground’ (Jurrian) Dinsdag 18 Januari: - Gesprek gehad met Maarten Marx (Reinier/Jurrian) - Verder gewerkt aan de koppeling van de verschillende id’s omdat dit helaas toch moeilijker bleek te zijn dan gedacht, uiteindelijk toch gelukt en aangeleverd aan Maarten Marx. (Reinier/Thomas) - Concept ontwerp tweede kamer aangepast naar het nieuwe ontwerp voor de tweede kamer (begin gemaakt finalversion design) (Jurrian) Woensdag 19 Januari: - Wiki compleet geupdate met de laatst gemaakte verslaggeving , en bij ontbrekende gegevens deze alsnog gemaakt (Reinier) - Presentatie Donderdag (vierde bijeenkomst) gemaakt (Hele groepje) - Na feedback van Maarten Marx nogmaals gekeken naar de koppeling van beide id’s en opnieuw handmatig nagekeken en indien nodig aangepast (Thomas/Handmatig door hele groepje nagekeken) - Verder gewerkt aan de eindversie van de tweede kamer en deze geïmplementeerd (Jurrian) - Concept aangepast van het eindverslag (Reinier) - Verder gewerkt aan groot gedeelte van de front-end (Hele groepje) - Data voor de woordenwolken ontvangen van Meneer Marx en eerste analyse gedaan (Hele groepje) Donderdag 20 Januari: Vierde bijeenkomst (hele groepje) Vierde presentatie (hele groepje) Wiki verder aangevuld met de laatste informatie / verslaggeving bijgewerkt (Reinier) Specifieke planning week 4 gemaakt (Reinier) Onderzoek python code Gilles de Hollander (Jurrian/Thomas) Documenten van verschillende politici gescraped (Jurrian)
Politiekinzicht.com - Wie zegt wat in de tweede kamer? | 5 Maart 2011
47
Vrijdag 21 Januari: - Verder gewerkt aan het eindverslag (Reinier) - Verder gewerkt aan de data verwerking en de filtering hiervan (Jurrian) - Verder gewerkt aan de algemene front-end/interface van de website (Thomas) - Algemeen groepoverleg gehad waarin taken voor het weekend zijn bepaald (Hele groepje) Weekend: - Skelet eindverslag gemaakt (Reinier) - Eindverslag voor ca. 50% af (Reinier) - Gewerkt aan implementatie code Gilles de Hollander (Jurrian) - Gewerkt aan front-end/interface (Thomas) - ID's verschillende politici in database gestopt (Thomas)
Politiekinzicht.com - Wie zegt wat in de tweede kamer? | 5 Maart 2011
48
Logboek week 4 Maandag 24 Januari: - Gesprek gehad met Maarten Marx (Hele groepje) - Verder gewerkt aan het aanpassen van de code van de Hollander (Jurrian) - Verder gewerkt aan het eindverslag (Reinier) - Self-assement week 3 ingevuld (Hele groepje) - Werkende beta applicatie afgerond (Hele groepje) - Grote stappen gezet op het gebied van interface en design (Thomas) Dinsdag 25 Januari: - Begonnen beta applicatie om te bouwen naar eindproduct (Jurrian/Thomas) - Eindverslag voor 75% afgemaakt (Reinier) - Domeinnaam geregistreerd (Thomas) - Positie mond voor ieder kamerlid aangepast (indien nodig) (Reinier) - Front end zo goed als afgemaakt (Thomas) - Begonnen beta van de back-end om te zetten naar eindproduct (Jurrian) - Politiekinzicht.com online gezet Woensdag 26 Januari: - Eindverslag afgemaakt (Hele groepje) - Eindproduct/applicatie afgemaakt (Hele groepje) Donderdag 27 Januari: - Puntjes op de I eindverslag (Hele groepje) - Puntjes op de I applicatie (Hele groepje) - Eindpresentatie gemaakt (Hele groepje) - Alles opgestuurd naar begeleiders Vrijdag 28 Januari: - Eindpresentatie applicatie (Hele groepje)
Politiekinzicht.com - Wie zegt wat in de tweede kamer? | 5 Maart 2011
49
Bijlage IV: Evaluatie spreadsheets Zoals eerder besproken in ons eindverslag hebben wij een evaluatie gedaan door onze methode die we gebruiken voor het maken van woordenwolken te vergelijken met een andere methode die wij eerder zelf hebben gemaakt. Hierbij is de RJT methode de methode die wij eerst hadden ontwikkeld en de KKH methode de methode die door Kaptein, R., Hiemstra, D., & Kamps, J. is gemaakt en die ook veel beter uit de evaluatie kwam waardoor dat inderdaad de juiste methode is om te gebruiken. Voor de volledigheid zijn hieronder de volledige evaluatie resultaten te zien:
Figuur VII: Op dit spreadsheet zijn drie verschillende evaluaties te zien: direct tussen de twee
verschillende methoden, tussen de RJT methode en een door ons opgestelde gouden standaard (perfecte woordenwolk) en ook dezelfde gouden standaard met de KKH methode. Te zien is dat de KKH methode inderdaad het beste uit de test komt. Bij Marianne Thieme is te zien dat een gedeelte zwart is. Dit komt door het simpele feit dat zij toen nog niet in de Tweede Kamer zat en daar dus geen data van beschikbaar is.
Politiekinzicht.com - Wie zegt wat in de tweede kamer? | 5 Maart 2011
50
Figuur VIII: Op dit spreadsheet hebben alle woorden binnen de verschillende woordenwolken (van elke periode van Wilders) een waarde gekregen die varieert van 1 (slecht) tot 5 (uitstekend), de KKH methode scoort duidelijk beter en heeft veruit de minst slechte woorden en daarnaast ook meer goede woorden in zijn woordenwolken staan. Politiekinzicht.com - Wie zegt wat in de tweede kamer? | 5 Maart 2011
51
Figuur IX: Op dit spreadsheet hebben alle woorden binnen de verschillende woordenwolken (van elke periode van Thieme) een waarde gekregen die varieert van 1 (slecht) tot 5 (uitstekend), de KKH methode scoort duidelijk beter en heeft veruit de minst slechte woorden en daarnaast ook meer goede woorden in zijn woordenwolken staan.
Politiekinzicht.com - Wie zegt wat in de tweede kamer? | 5 Maart 2011
52
Bijlage V: Programmatuur Update/crawl scripts (map: /update) crawl.sh downloadt de XML-bestanden van www.tweedekamer.nl, downloadt alle portretten van politici in de TweedeKamer en maakt de achter grond ervan transparant. Aangezien we nog geen auto-updater hebben is dit bestand eenmalig gebruikt om alle plaatjes op te halen. haalPolitici.php Maakt gebruik van een de XML-bestanden van tweedekamer.nl (kamerleden.xml en kamermaps_config.xml) om alle politici in de TweedeKamer in een database te laden (of eventueel up te daten mochten we een auto-updater implementeren). Alle xml bestanden in de map ‘update’ zijn enkel gebruikt als eenmalige bron of naslagwerk Pagina’sdirect van de website zelf (map: /) Index.php Dit is de index van onze applicatie. Hierin worden alle politici geladen en hier wordt de stijl op toegepast. over.php Dit is een website pagina met informatie over ons project en contactinformatie. Configuratiebestanden (map: /) Config.php Dit bestand wordt ingeladen door de webapplicatie en pagina’s die door de webapplicatie gebruikt worden om informatie op te halen uit de database. Momenteel wordt in het bestandenkel de verbinding met de MySQL-database tot stand gebracht. Stijlbestanden van de applicatie (map: /css) main.css Dit is het stijlbestand waar alle vormgeving van de webapplicatie in staat. Battle.css Hierin staat de stijlinformatie van de beta van ons ‘vergelijk’-mechanisme. Momenteel is ditbestandoverbodigaangeziendezefunctionaliteitnognietgeïmplementeerd is. ui_smoothness/smoothness.css Dit is een stijl voor jQuery UI, een tak van jQuery die een deel van de door ons gebruikte interface components verzorgt. Interface bestanden van de applicatie (javascript) (map: /js) main.js Verzorgt de hele opbouw, navigatie en interactiviteit van de applicatie jquery-battle.js Verzorgt de vergelijkfunctie van onze applicatie. Momenteel niet in gebruik omdat deze functionaliteit nog niet geïmplementeerd is. Jquery-1.4.3.js jQuery library, verzorgt de kern van alle animaties en de navigatie jquery-ui-1.8.9.custom.min.js Politiekinzicht.com - Wie zegt wat in de tweede kamer? | 5 Maart 2011
53
Voegt extra interface components en effecten toe (o.a. slider voorperiodes) jQueryRotate.js Verzorgt rotatie van hoofdjes (enkel in webkit browsers momenteel Safari, Google Chrome etc.) jquery.jplayer.min.js Verzorgt de geluiden van de applicatie jquery-easing.js Extra animatie-effecten voor jQuery Overigen Jplayer.swf Zorgt dat geluiden afspelen als HTML5 niet wordt ondersteund door de browser Mapsounds Bevat alle geluidsbestanden Mapimages Bevat zowel alle gebruikte als alle gedownloade afbeeldingen die door de applicatie gebruikt worden in de layout data analyse /generator (map: /python) Alle bijgevoegde bestanden in de map python
Politiekinzicht.com - Wie zegt wat in de tweede kamer? | 5 Maart 2011
54