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 begon in 2012 bij de Open State Foundation als stagiair voor zijn masterscriptie Artificial Intelligence. Daarna bleef hij in zijn vrije tijd betrokken bij de stichting. Zo won hij met zijn team de Hackathon Publieke Omroep in 2013 en maakte hij de Nederlandse Rijksbegroting Visualisatie in 2014. Sinds 2015 werkt hij bij OSF als developer. Sicco houdt van het openen en analyseren van data.

Laatste berichten van Sicco van Sas (toon alles)


One comments on “NPO Backstage Datablog #2: Ondertitelingen
  1. Pingback: :wq! NPO Backstage Hackathon | Hack de Overheid!

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *

Deze website gebruikt Akismet om spam te verminderen. Bekijk hoe je reactie-gegevens worden verwerkt.