Gå til hovedindhold
Bliv medlem Menu

Mit bedste arbejdsredskab: Open Refine

Open Refine er et open source værktøj, der kan spare dig for rigtigt mange arbejdstimer, når du arbejder med store datasæt. For journalister, der laver historier med udgangspunkt i større datamængder, er det et fantastisk værktøj.

Open Refine

Screenshot

 

For et par år siden kørte Kristian Strøbech og Nils Mulvad et webjournalistisk hold på DMJX. Jeg var en af de sidste der nåede igennem det, før skolen sparede det væk. I løbet af et semester blev vi introduceret til en lang række effektive værktøjer til både liverapportering, webscraping, geomapping, lækre infografikker og meget andet. En stor del af dem er blevet fast del af mit repetoire, og især Open Refine vender jeg igen og igen tilbage til.

Selv har jeg brugt det til f.eks. at analysere og bearbejde valgresultater, masteoplysninger fra mobiltelefoner og store adressesæt. Det sparer tid, giver nye muligheder og er ret sjovt, når man lige er kommet ind i det.

Adgangen til store digitale datasæt har givet nye muligheder for især den undersøgende journalistik. “Nogle historier kan kun forstås og forklares ved at analysere, og nogle gange visualisere, data,” er Cheryl Philips fra The Seattle Times citeret for - og det gælder uanset om der er tale om store regneark, mængder af pdf-dokumenter eller regulære databaser.

Men det giver desværre også nye udfordringer. For data kan være beskidt - eller ligefrem korrupt. Når man fx OCR-scanner et fysisk dokument til en pdf-fil, som derefter er søgbar, så har mange sikkert oplevet, at nul-taller er blevet til bogstavet o eller omvendt. Et lille l bliver let til et et-tal og på den vis kan en tabel med vigtige statistikker hurtigt blive ubrugelig.

Den slags problemer kan Open Refine løse. Det er et gratis open source-program, der fungerer på både Windows, Mac og linux. En del af, men langt fra alle, funktionerne kan også klares i Excel eller OpenOffice Calc.

Her gennemgår jeg en tre tænkte scenarier, hvor Open Refine kan spare dig tid og frustration.

1. Rens data
Du har fået fat i et papir med danske virksomheder, der har konti i skattely-lande. Du scanner det ind med et OCR-scanningsprogram for at gøre dataen søgbar, men opdager, at kolonnen “Kommune” både indeholder ‘Kobenhavn’, ‘København’ og ‘K0benhavn’. Det gør det umuligt at lave en optælling af hvor i landet skatteunddragerne holder til.

Med Open Refine kan funktionen clustering hjælpe dig. Med få klik kan du få en oversigt over alle de celler, der minder om hinanden og derefter ensarte dem, så der står ‘København’ i dem alle.

Denne fire minutter lange video forklarer dig hvordan:

2. Del celledata ud på flere kolonner
Så langt, så godt. Nu opdager du så, at OCR-scanningen har placeret Gadenavn og postnummer i samme celle, fordi papiret du scannede var smudset. Det besværliggør arbejdet med dataen, så lad os da lige få placeret adresse og postnummer i hver sin kolonne.

Det klarer funktionen split column i en fart.

3. GPS-koordinater på adresserne
Nu har vi så et renset datasæt, hvor hver enkelt del af adressen er i seperate celler. Så langt, så godt. Men hvis vi skal analysere dataen, så kan det være en hjælp at kunne se det visuelt - måske er tendens til at virksomhederne hører til i bestemte kommuner eller landsdele. Derfor vil vi gerne smide dataen ind på et kort, fx med Google Fusion tables.

Se hvordan her:

Det kræver, at vi har GPS-koordinater på alle adresserne. Også her kan Open Refine være behjælpeligt. Guiden kan se omfattende ud, men hvis man følger den slavisk så er det ganske simpelt og tager kun et kvarter.

Læs guiden her.

Ovenstående er tre forskellige stadier i en digital researchproces, hvor Open Refine kan være behjælpelig. Men Open Refine kan meget mere, fx:

  • Fjerne unødige mellemrum før og efter selve dataen i en celle. Hvis indholdet i en celle er ‘ 2200 Nørrebro ‘, så kan du med et enkelt klik fjerne det første og sidste mellemrum uden at fjerne det midterste.
    Klik på pilen ved kolonnens navn, vælg “edit cells” -> “common transforms” -> “trim leading and trailing whitespace”.
  • Ændre UPPERCASE-datafelter til lowercase eller Titlecase - og vice versa.
    Klik på pilen ved kolonnens navn, vælg “edit cells” -> “common transforms” -> “to lowercase”.
  • Funktionen “filter” gør det muligt at lede efter datarækker, der indeholder bestemte bogstaver eller tal. Hvis jeg f.eks. i tilfældet med skattely-papirerne vil finde alle de direktører, der har et sen-efternavn, så går det let.
    Klik på pilen ved kolonnen “efternavn” og vælg “text filter”. I vinduet til venstre skriver du ‘sen’, så filtreres alle de rækker bort, hvor bogstavskombinationen “sen” ikke indgår i efternavnet. Flere filtre kombineres, så man i et datasæt kan finde alle, der hedder ‘sen’ og bor i Århus - det er stort set kun fantasien, der sætter grænser.
  • Funktionen ‘facets’ giver mulighed for at analysere data direkte i Open Refine. Du kan - ligesom med filter-funktionen - lynhurtigt udtrække tale for fx hvor mange af direktørerne, der har postnummer 2900. Facets-funktionen er i samspil med filter et værktøj, der med meget få klik kan give dig lette overblik over dataen.
    Open Refine forklarer facet-funktionen bedre end jeg kan. Læs introen her: https://github.com/OpenRefine/OpenRefine/wiki/Faceting

Alt i alt er Open Refine et værktøj, der er meget brugbart for både rengøring, bearbejdning, analyse og præsentation af datamateriale i journalistisk øjemed. Selvom brugerfladen ikke er så simpel som dagens smartphones og tablets, så kræver Open Refine ikke programmeringsevner eller det store edb-kørekort. Med en smule tålmodighed og få timers eksperimenteren kommer man hurtigt i gang.

Open Refine-folkene har selv lavet tre korte og glimrende introvideoer:

Kommentarer