Bygg en egen nyhetsrobot i 5 enkla steg!

Anna Viklund
vkmedia-dev
Published in
2 min readDec 13, 2018

Fenomenet robotjournalistik kanske låter avancerat och till och med skrämmande enligt vissa, men faktum är att det inte alls behöver vara så krångligt. I de enklaste fallen handlar det bara om siffror som ska omvandlas till text för en trevligare användarupplevelse. På en nyhetsredaktion kan automatiserat innehåll också frigöra tid för journalister, så att de istället kan lägga tid på exempelvis granskande reportage där deras kompetens kommer till sin rätt på riktigt.

vk.se har vi sedan ett par år tillbaka låtit vår väderrobot Ulf producera väderartiklar för 25 orter i Västerbotten två gånger om dagen. Såhär bygger du en egen nyhetsrobot i 5 enkla steg! Kanske ett litet projekt för mellandagarna? 🎄

Exempel på en autogenererad artikel från Ulf.

1. Hämta data!

Det finns många öppna API:er där ute! För vår väderrobot använder vi punktprognoser från SMHI där vi får information om bland annat temperatur, molnmängd, nederbörd, vind och åskrisk: http://www.smhi.se/klimatdata/oppna-data/meteorologiska-data/api-for-vaderprognosdata

2. Tolka data

Ibland behöver data kombineras och processas innan den kan göras om till text. En väderrobot kanske vill räkna ut medeltemperaturen under ett tidsintervall till exempel.

3. Omvandla siffror till uttryck

När alla siffror är på plats är det dags att göra om dessa till uttryck. Det kan vara så enkelt som i funktionen nedanför. För uttryck som återkommer ofta kan det vara bra med listor av synonymer att välja mellan.

const windStrengthToString = (windStrength: number): string => {
if (windStrength <= 0.2) {
return 'lugn';
}
if (windStrength <= 3.3) {
return 'svag';
}
if (windStrength <= 7.9) {
return 'måttlig';
}
if (windStrength <= 13.8) {
return 'frisk';
}
return 'hård';
};

Tips! Genom att ta hänsyn till fler värden, till exempel till vindstyrkan tidigare under dagen, kan uttrycken utökas till exempelvis “fortsatt frisk”. Wow!

4. Sätt in uttrycken i en artikelmall

När uttrycken är på plats är det dags att sätta in dessa i en artikelmall som du själv definierat i förväg. Även här kan det vara bra att ha några mallar att välja mellan för att skapa lite dynamik!

5. Tidsinställ publiceringen

Bestäm hur ofta du vill att artiklar ska publiceras. I vårt fall generar vi artiklar en gång på morgonen för dagens väder och en gång på kvällen för morgondagens väder. Använd till exempel ett enkelt cronjobb för att väcka din robot till liv.

Lycka till!

Photo by Rock'n Roll Monkey on Unsplash

--

--