Bygg en egen nyhetsrobot i 5 enkla steg!
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.
På 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? 🎄
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.