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 cloud met de 100 meest onderscheidende woorden ten opzichte van EenVandaag
EenVandaag 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!
Sicco van Sas
Laatste berichten van Sicco van Sas (toon alles)
- Hack de Overheid community op Slack - 3 oktober 2018
- NPO Backstage Datablog #4: TV-Gidsdata - 14 september 2015
- NPO Backstage Datablog #2: Ondertitelingen - 18 augustus 2015
Pingback: :wq! NPO Backstage Hackathon | Hack de Overheid!