NPO Backstage en Normalized Google Distance

19863555931_1a2e428368_o-300x208

NPO Backstage

De NPO heeft via het Backstage project onlangs een grote verscheidenheid aan programmadata beschikbaar gesteld aan het publiek. Het gaat onder meer om de programma gegevens van NPO Journalistiek zoals Nieuwsuur, EenVandaag, Oog in Oog en andere NTR programma’s zoals Het Klokhuis en College Tour. Naast een omvangrijke hoeveelheid metadata (zoals beschrijving, en tijdstip van uitzending) zijn ook bijvoorbeeld de complete ondertitels op te vragen.

De open programmadata is toegankelijk via de NPO Backstage API. Met behulp van deze API kunnen de programma gegevens eenvoudig worden doorzocht met behulp van de juiste URL’s. Zo levert de volgende URL bijvoorbeeld een lijst op van alle programma’s waarin het woord Rutte voorkomt:

http://backstage-api.npo.nl/v0/search/Rutte

Een volledige beschrijving van de API is hier te vinden.

Met behulp van de Backstage API kunnen allerlei interessante analyses worden gedaan. Zo is al eerder beschreven hoe met behulp van de API de populariteit van politici in de media kan worden gemeten. In een ander blog wordt met behulp van de API geanalyseerd hoe vaak Amsterdamse stadsdeel politici voorkomen in de landelijke media.

Semantische afstand tussen politieke partijen en onderwerpen

In deze post willen we nog een stapje verder gaan. We gebruiken de Backstage API om te analyseren hoe vaak bepaalde begrippen in combinatie met elkaar in de media voorkomen, dus hoe vaak ze in de media geassocieerd zijn.

Als voorbeeld toepassing hiervan kijken we naar de combinatie van politieke partijen met politieke onderwerpen. Dit geeft een indicatie over de mate waarin partijen over deze onderwerpen in openbaarheid treden. We kunnen vergelijken welke partij het meest over een bepaald onderwerp in de media komt. Of welk onderwerp een bepaalde partij het best weet uit te dragen. Deze laatste informatie kan bijvoorbeeld interessant zijn voor politieke partijen om te analyseren of de speerpunten van de partij wel voldoende in de media over het voetlicht worden gebracht.

Er zijn verschillende methoden om de mate van associatie of verbintenis tussen twee concepten of termen te meten. De methode in deze blog maakt gebruik van het concept van semantische afstand. De semantische afstand tussen termen is een metriek gebaseerd op de frequentie van het gecombineerd voorkomen van de termen in eenzelfde document voor een verzameling van documenten.

Zo is de semantische afstand gelijk aan 0 als de termen altijd samen voorkomen in dezelfde documenten; de termen staan dan zeer dicht bij elkaar en zijn sterk met elkaar verbonden. Aan de andere kant van het spectrum, als de termen nooit samen voorkomen, dan is de semantische afstand oneindig. Dus hoe sterker termen met elkaar zijn verbonden zijn, hoe kleiner de semantische afstand.

Normalized Google Distance en Normalized Backstage Distance

Het concept van semantische afstand krijgt een formele uitdrukking in de zogenaamde Normalized Google Distance (ngd) tussen twee woorden:  als x en y de betreffende twee woorden zijn, dan kan de ngd berekend worden met behulp van de volgende formule:

ngd

Hierbij zijn f(x) en f(y) het aantal hits bij een Google search naar term x, resp. y,  f(x, y) is het aantal hits bij een gecombineerde zoekactie naar zowel x en y, en M is het totaal aantal wepgina’s doorzocht door Google. De ngd is uitgebreid beschreven in de wetenschappelijke literatuur zoals bijvoorbeeld hier.

In deze blog gebruiken we een variatie op de ngd die we voor het gemak de Normalized Backstage Distance (nbd) hebben gedoopt. In deze versie zijn f(x), f(y), het aantal resultaten bij het zoeken naar x resp y in de Backstage API,  f(x, y) is het aantal resultaten naar de gecombineerde zoeken van x en y, en M is het totaal aantal objecten in de API.

Een eenvoudig java programma om de ngb te berekenen staat in het appendix. Reeds berekende waarden worden opgeslagen in een cache zodat de API niet onnodig wordt belast.

Resultaten

We hebben de ngb berekend voor combinaties tussen de zes grootste politieke partijen/politici en een aantal belangrijke politieke onderwerpen zoals milieu, woningmarkt, immigratie, etc. De resultaten zijn weergegeven in de grafieken hieronder (graag aanklikken om de grafieken te vergroten). Let op dat in deze grafieken de semantische afstand tussen de politiek en het onderwerp wordt weergegeven; dus hoe kleiner de waarde, hoe vaker ze gecombineerd voorkomen in de media. Een verdere analyse van de precieze betekenis en interpretatie van deze resultaten is noodzakelijk.

Verfijning en uitbreiding

Natuurlijk zijn de berekeningen beschreven in deze blog nog maar een begin.

Er zijn verscheidene verfijningen mogelijk. Zo wordt nog geen rekening gehouden met woorden die meerdere betekenissen kunnen hebben (zoals “zorg”) of met synoniemen die voor hetzelfde begrip gebruikt kunnen worden. Er zijn echter verfijnder berekening methoden beschikbaar die hier rekening mee houden.

Daarnaast zijn er vele uitbreidingen denkbaar. Zo zouden bv. de verschillen tussen de semantische afstand tussen begrippen per nieuws programma of per omroepen kunnen worden geanalyseerd. Om de ontwikkeling van de semantische afstand zichtbaar te maken kan deze ook in de tijd worden uitgezet. Verder kunnen andere combinaties dan politieke partijen en onderwerpen worden geanalyseerd, zoals bedrijven of producten.

De Backstage API zelf zou ook verrijkt kunnen worden met complexere query methodes zoals de nbd.

Appendix: Java code

Java code voor het berekenen van de nbd van twee strings.

Compliance als Succesfactor

afbeelding Waarom doen we het eigenlijk

“Compliance heeft vaak een negatieve bijklank: toezicht op naleving van veel, soms zelfs tegenstrijdige regels, die het ondernemen onnodig bemoeilijken. Dit is een gemiste kans. Compliance zou juist als positief moeten worden gezien! Compliancemanagement is de basis voor verantwoord ondernemen en draagt bij aan een betere verstandhouding tussen bedrijfsleven en samenleving en tussen bedrijven en hun toezichthouders. Dan moet een bedrijf het wel goed organiseren, het breder trekken dan wet- en regelgeving en werken aan een positieve compliance-cultuur en –attitude in alle lagen van de organisatie. De nieuwe ISO-richtlijn voor compliancemanagement helpt hierbij.”

Lees de rest van het artikel hier!

Hoe zijn wij inbrekers te slim af?

wifitrackingwhd

Hoe dring je het aantal woninginbraken, overvallen en straatroven terug? Nauwe samenwerking tussen gemeente, politie en private sector blijkt te helpen. Maar ook nieuwe technologie gecombineerd met burgerparticipatie draagt bij aan een veilige buurt.

Wifi tracking kan gebruikt worden om verdachte patronen te signaleren. Buren die aangesloten zijn bij de buurt groep ontvangen automatisch een bericht wanneer zich een verdachte situatie voordoet.

Zie onze prijswinnende inzending voor “De oplossing van” van Interpolis:

FIX and the Client Order ID

clordid

FIX is the de facto standard for order and trade communication in financial markets. The FIX protocol is comprised of a set of message definitions, connection rules and processing guidelines.

When it comes to trading the buy side (e.g. the client) sends messages with requests for order creation, modification or cancelation. The sell side (e.g. the exchange) receives these requests and responds to them with messages to report acceptance or rejection of these requests. In addition to these request-response messages, the sell side sends inter alia messages to report trades and order state changes.

FIX does not require the buy and sell side to send messages alternately. That is, the sell side does not need to respond immediately to a request. It might first send a trade report and then respond to the request. And the buy side does not need to wait for an answer. It might send new requests before receiving an answer. This aspect of FIX is called asynchronous communication.

This asynchronous communication requires, on request level, linkage of responses to requests and, on order level, linkage of messages to orders.

FIX uses several fields for this. In this blog we will discuss the use of the ClOrdID field.

The FIX description of the ClOrdID isUnique identifier for Order as assigned by the buy-side (institution, broker, intermediary etc.) (identified by SenderCompID (49) or OnBehalfOfCompID (5) as appropriate). Uniqueness must be guaranteed within a single trading day. Firms, particularly those which electronically submit multi-day orders, trade globally or throughout market close periods, should ensure uniqueness across days, for example by embedding a date within the ClOrdID field.

The ClOrdID is meant to be used by the buy side to identify the order request. The sell side returns this ClOrdID in its response. This enables the response to be be linked to the originating request.

For a modification, the buy side sends a request containing the previous ClOrdID together with a new ClOrdID to identify this new request.

One could argue that the name ClOrdID is a bit confusing as it is used as a request identifier and not as an order identifier. In fact, some parties use the ClOrdID as an order identification instead of a request identification. As a result however, an answer can not 100% unambiguously linked to a request.

In FIX, the ClOrdID is coded with tag 11 and it is a string (alphanumeric characters). Often, the length of this string is restricted. Om Euronext restricts it to 30 characters, except for TCS then it is restricted to 16 characters. Eurex and Xetra restrict it to 20 characters.

Flexibele parkeerplaats voor het paard van Sinterklaas

SinterklaasParkeert

Op het FietsLab van de gemeente Amsterdam denken we na over de mogelijkheden van flexibele parkeerplaatsen. Rond zes uur ‘s avonds is het druk met fietsers voor de supermarkt. Dan kan een autoparkeerplek als fietsparkeerplek gebruikt worden en na 8 uur wordt het weer een autoparkeerplaats. En in december kan de plek gebruikt worden voor het paard van Sinterklaas.
Zie http://www.npo.nl/het-sinterklaasjournaal/11-11-2014/VPWON_1221916

Maak het web toegankelijker, juist voor mensen met een handicap!

at_act_key

Om de exponentieel groeiende hoeveelheid informatie via internet voor een zo groot mogelijk publiek toegankelijk te maken, moet bij het ontwikkelen van websites ook rekening worden gehouden met mensen met een handicap. De informatie dient bovendien via elk beschikbaar device benaderbaar te zijn.

Het World Wide Web Consortium (W3C) heeft de internationaal geldende Web Content Accessibility Guidelines (WCAG) versie 2.0 opgesteld. Deze richtlijnen kunnen websites beter toegankelijk maken voor mensen met een handicap. De Stichting Waarmerk drempelvrij.nl heeft de richtlijnen uit de WCAG voor Nederland nog met een aantal universele richtlijnen uitgebreid. Deze richtlijnen zijn onderverdeeld in drie niveaus. De eerste twee niveaus hebben betrekking op de toegankelijkheid van websites. Het derde niveau beschrijft, naast toegankelijkheid, ook diverse kwaliteitsaspecten.

Als ondersteuning bij het ontwikkelen van een website zijn diverse closed – en open source-programma’s beschikbaar. Deze programma’s kunnen helpen bij het vinden van problemen met betrekking tot de richtlijnen. Het nadeel van veel programma’s is dat ze maar een beperkt aantal richtlijnen controleren en vaak alleen maar op het eerste en/of tweede niveau.

Om de ontwikkelaar beter van dienst te zijn, is het noodzakelijk de bestaande programma’s verder uit te bouwen. Internationaal is al een aantal open source-initiatieven gaande waarop doorgeborduurd kan worden. Charm heeft zich tot doel gesteld actief bij te dragen aan de ontwikkeling van bestaande software, door de ontwikkelaar tijdens het gehele traject op verschillende manieren te ondersteunen.
Deze ondersteuning bestaat concreet uit de volgende drie elementen:

1. Hulp bij het aandragen van oplossingen
Het volstaat niet om uitsluitend aan te geven waar de fouten zitten: belangrijk is juist ook om mogelijke oplossingen aan te dragen. Vooral dit laatste ontbreekt vaak in bestaande programma’s.

2. Hulp bij de automatische controle op richtlijnen
Veel van de richtlijnen kunnen niet of slechts gedeeltelijk automatisch worden gecontroleerd. Tijdens de controle moet de ontwikkelaar aan kunnen geven of aan een richtlijn is voldaan. Deze keuze kan dan bijvoorbeeld via metadata aan de website worden toegevoegd, zodat de richtlijn bij een volgende iteratie niet opnieuw gecontroleerd hoeft te worden.

3. Hulp bij de rapportage over de voortgang
Om inzicht te krijgen in de mate waarin de website voldoet aan de richtlijnen, moet het mogelijk gemaakt worden voor elk van de drie niveaus rapporten te genereren. Deze rapporten kunnen eventueel als bewijs dienen voor het verkrijgen van het certificaat van drempelvrij.nl.

Door de programma’s zo te ontwikkelen dat ze – zonder de ontwikkelaar te hinderen – deel gaan uitmaken van het ontwerp- en implementatietraject, zal de kans op het gebruik van de programma’s toenemen. En dit heeft uiteindelijk weer een positieve invloed op de toegankelijkheid van websites, juist voor mensen met een handicap!