En djupdykning i InCharts Data Crawler

En engelsk version av detta blogg-inlägg hittar du här.

Det är en i stort sett helautomatisk process som ligger bakom de händelser som visas här på InCharts gällande skjutningar (och dess detaljer). Processen omfattar insamling av data, analys av insamlad data för att hitta den information som gäller just skjutvapenvåld samt organisering och sammanställning av data från flera olika källor (för validering och för att kunna presentera så många detaljer som möjligt om en specifik händelse).

Datakällor och validering

En hypotetisk, helt pefekt, datakälla för InCharts syften skulle bestå av information som

  • Tillgängliggörs omedelbart
  • Är fullständigt tillförlitlig
  • Komplett (inkluderar all relevant information)
  • Är välstrukturerad så att informationen kan tolkas programmatiskt

Men tyvärr så är verkligheten sällan så här perfekt.

Klassning av informationskällor

Ett sätt att klassificera informationskällor är dess tillförlitlighet. I ena änden av skalan hittar vi löst skvaller och anonyma påståenden i kommentarsfält i sociala medier, medan vi i andra änden återfinner officiell information från exempelvis polismyndihgeten. Den senare förutsätts ha hög tillförlitlighet.

Ett annat sätt att klassificera en informationskälla på är efter hur välstrukturerad informationen är. För en webbplats som förlitar sig på en automatiserad process för datainsamling - likt denna- är detta extremt viktigt. Nyhetstidningars webbplatser är oftast ostrukturerade till sin natur, då de skrivs med vanligt naturligt språk. Samma händelse kan då beskrivas på miljontals olika sätt, beroende på vem artikelförfattaren är och hur denna väljer att uttrycka sig.

Den svenska polisen har ett API som medger att data från deras händelselista kan hämtas enligt ett format som är såväl välstrukturerat som väldokumenterat.

Det är därmed lätt att föreställa sig att en källa som är både tillförlitlig och välstrukturerad måste vara den perfekta källan. Det finns dock ytterligare aspekter att ta i beaktande. Några viktiga sådana är hastighet och fullständighet. Många källor står sig här mycket bättre vid en jämförelse med den svenska polisens händelselista, då händelser ibland läggs ut med många timmars fördröjning och vissa inte alls.

Metod för inhämtning och validering av data

Processen som leder fram till att en händelse anses verifierad och att informationen om denna slutligen hamnar här på InCharts kan enkelt uttryckt delas upp i tre steg:

  • Datainsamling
  • Validering
  • Manuell granskning

Vid datainsamlingssteget är syftet att samla in information från så många källor som möjligt, och flagga för information som möjligen beskriver en händelse som vi är intresserade av. Tillförlitlighet är inte något vi fäster någon större vikt vid i detta steg; det är bättre att felaktig information samlas in och filtreras bort senare än att riskera att korrekt information exkluderas redan i detta steg.

I valideringssteget kontrolleras information från mindre trovärdiga källor mot källor med högre trovärdighet.

Flowchart, data crawling, validation and review

Ovanstående figur illustrerar hur information som förvisso är välstrukturerad, men med tveksam tillförlitlighet, kan valideras mot en mera trovärdig källa med mer ostrukturerad information.

Utan särskilt många specifika detaljer kring en händelse är det mycket svårt att analysera och hitta information bland data från en ostrukturerad källa. Det är dock mycket lättare att verifiera specifika uppgifter från en sådan källa, om dessa redan är kända. Här kan vi alltså dra nytta av att vi redan har tillgång till strukturerad information från en annan källa.

När otillförlitlig men välstrukturerad data konfirmeras med data från en ostrukturerad men tillförlitlig källa så kan alltså den otillförlitliga datan uppgraderas och anses tillförlitlig. Informationen från den ostrukturerade källan kan i sin tur lättare extraheras, och bidra med relevanta detaljer till den totala insamlade informationen gällande en specifik händelse

När data valideras mot en ytterligare källa kommer analysverktyget att skapa det som på InCharts kallas för en bevakad händelse. Som namnet antyder, så kommer sådana händelser att bevakas under perioden efter att dessa har ägt rum. Systemet letar då specifikt efter ytterligare information om dessa i tillgängliga datakällor så att ny information kan adderas så snart sådan hittas.

Det sista steget i ovanstående lista är den manuella granskningen. Då detta inte rör den automatiska datainsamlingen så faller den därmed utanför ämnet för denna artikel. Icke desto mindre är det ett mycket viktigt steg. Innan information om en ny skjutning publiceras på InCharts, kommer systemet att avisera att informationen finns, varvid den granskas och godkäns manuellt. Oavsett hur intelligenta analysverktygen är idag, eller blir i framtiden, så kommer det alltid finnas en risk att felaktigheter slinker igenom. Den manuella granskningen ger möjlighet att rätta till dessa och säkerställer att informationen här på InCharts, så långt det är möjligt, är korrekt.