Hack de Overheid!

Data Projecten

NPO Backstage Datablog #2: Ondertitelingen

Veel televisieprogramma’s op NPO 1, 2 en 3 worden ondertiteld. Normaal kan je ze enkel zien als je een programma bekijkt op npo.nl of op je TV via teletekst pagina 888 (vandaar dat de ondertitelingen ook wel tt888 worden genoemd). Echter, via de NPO Backstage API zijn de ondertitelingen van journalistieke en NTR programma’s nu ook beschikbaar voor hergebruik! Er zitten al ruim 7000 afleveringen in de API. In deze datablog laten we zien hoe je makkelijk de juiste ondertitelingen kan downloaden en genereren we word clouds voor Nieuwsuur en EenVandaag.

Download de ondertitelingen die jij wilt

De ondertitelingen zijn op verschillende manieren op te vragen. Via de /tt888/search endpoint zijn alle ondertitelingen in één keer te doorzoeken. Zo krijg je bijvoorbeeld ruim 500 resultaten als we zoeken naar ‘Poetin’ via http://backstage-api.npo.nl/tt888/search?query=Poetin. Met informatie uit andere datasets/indexen kan je echter veel specifiekere zoekopdrachten uitvoeren. Hierbij maak je gebruik van de prid’jes (dat staat voor PRogramma ID) die aan bijna alle objecten/afleveringen gekoppeld zijn in alle datasets. Je kan bijvoorbeeld de metadata dataset gebruiken om te filteren op de titel van een programma en dan door middel van de prid’jes de bijbehorende ondertitelingen ophalen. Een concreet voorbeeld; met het onderstaande curl command filter je de metadata index op programma’s van Nieuwsuur:

curl 'http://backstage-api.npo.nl/v0/metadata/search' -d '{"filters": {"title": {"terms": ["Nieuwsuur"]}}}'

Elke aflevering in de metadata output heeft een prid. Zo hoort bij de Nieuwsuur-aflevering van 1 maart 2014 de prid ‘NPS_1239055’. Met deze prid kunnen we de bijbehorende ondertiteling via de volgende URL ophalen:

http://backstage-api.npo.nl/v0/tt888/NPS_1239055

Op GitHub hebben we een Python script gezet dat alle beschikbare ondertitelingen van Nieuwsuur en EenVandaag downloadt. Bekijk verder ook de NPO Backstage documentatie voor meer informatie over de datasets en de API: http://backstage-docs.npo.nl.

Wat is het verschil tussen Nieuwsuur en EenVandaag?

Ondertitelingen bieden enorm veel mogelijkheden voor apps. Gebruikers kunnen in ondertitelingen veel beter zoeken naar content dan als je enkel titels en beschrijvingen doorzoekbaar maakt. Je kan ook interessante analyses loslaten op de tekst. Daarvan geven wij hieronder een voorbeeld.

Met het bovengenoemde downloadscript hebben we alle ondertitelingen van Nieuwsuur en EenVandaag opgehaald. We kunnen nu een algoritme toepassen dat voor elk programma aangeeft welke woorden het meest onderscheidend zijn ten opzichte van het andere programma. Voor Nieuwsuur en EenVandaag hebben we de 100 meest onderscheidende woorden in een word cloud gevisualiseerd:

Nieuwsuur word cloudNieuwsuur word cloud met de 100 meest onderscheidende woorden ten opzichte van EenVandaag

EenVandaag word cloudEenVandaag word cloud met de 100 meest onderscheidende woorden ten opzichte van Nieuwsuur

Doe mee met de NPO Backstage Competitie!

Tot en met donderdag 17 september 2015 kun je jouw app of website die gebruik maakt van data uit de NPO Backstage API insturen. Zo maak je kans op de hoofdprijs van €3.000 of één van de andere geldprijzen als je bij de beste 15 zit. Op 25 september 2015 vindt in Hilversum de prijsuitreiking plaats. Volg ons op Twitter en Facebook en houd npo.nl/backstage in de gaten voor alle informatie!

The following two tabs change content below.

Sicco van Sas

Sicco van Sas werkt sinds 2015 bij de Open State Foundation als developer, maar deed er in 2012 al zijn afstudeerscriptie voor de master Artificial Intelligence. Sindsdien is hij altijd betrokken gebleven bij Open State. Zo won hij met zijn team in 2013 de Publieke Omroep hackathon met ‘Yvon Lacht’ en maakte hij de Nederlandse Rijksbegroting Visualisatie. Sicco wordt blij van data, het ervan beschikbaar maken tot en met de analyse.

Laatste berichten van Sicco van Sas (toon alles)