Arkivverket

Kunstig intelligens for ekstrahering av metadata fra dokumenter

Arkivverket engasjerte Bouvet til å teste ut anvendelsesområder for maskinlæring. Resultatet ble en pilot med potensiale til å automatisere repetitivt, manuelt arbeid og dermed frigjøre ressurser.

Utfordringen

Arkivverket er Norges største dataforvalter. De tar vare på vår historie for fremtiden, og skal sikre demokratisk tilgang til arkivene også i en digital tidsalder. På bakgrunn av denne oppgaven har Arkivverket satt i gang Norges største digitaliseringsløft, der de har tatt i bruk ny teknologi for å forbedre sine tjenester til befolkningen. En enkel og trygg tilgang til pålitelig informasjon om både storsamfunnet og egen historie er avgjørende for å sikre tillit, rettssikkerhet og kulturarv.

Arkivene skal ikke bare lagres, men også ordnes slik at det er mulig å gjenfinne materiale av interesse på mest mulig effektiv måte. For å ordne arkivene lagres metadata per dokument, som med informasjon om for eksempel hvilken kategori dokumentet tilhører, når dokumentet ble opprettet, og hvem som opprettet dokumentet.

Noe av denne metadataen kan gjenfinnes i dokumenttekstene. For brev er det for eksempel vanlig at både avsender og mottaker blir nevnt. Jobben med å sette denne typen metadata vil derfor foregå gjennom å detektere hvor i dokumentet den finnes, og videre ekstrahere teksten fra dette området. Annen metadata, slik som dokumentkategori, finnes ikke eksplisitt i tekstene. Disse må derfor predikeres med en klassifiseringsmodell basert på alle relevante ord og uttrykk som brukes i dokumentet.

Identifisering og utfylling av denne typen metadata er en manuell og tidskrevende jobb, og Arkivverket ønsket derfor å undersøke hvordan maskinlæring og andre teknikker kunne effektivisere og eventuelt automatisere denne.

Løsningen

Bouvet's konsulent jobbet tett med domeneeksperter og ansatte i innovasjonsavdelingen fra Arkivverket for å identifisere hvilke typer metadata som burde prioriteres, basert på blant annet kompleksitet, potensielle gevinster og kvalitet og tilgjengelighet av treningsdata. Som et resultat av dette ble seks typer metadata utvalgt for videre arbeid: 

Disse var: dokumenttittelavsendermottakeropprettingsdatokategori og skjerming.

De fire førstnevnte er metadata som finnes eksplisitt i dokumenttekstene. De to sistnevnte er metadata som kan forstås implisitt fra dokumenttekstene. Metadata som finnes eksplisitt i tekstene er informasjon som skal gjenkjennes, så disse problemstillingene var derfor varianter av Named Entity RecognitionMetadata som forstås eksplisitt fra tekstene var problemstillinger som kunne løses med Tekstklassifisering.

ner-eksempel

Eksempel av Named Entity Recognition for å ekstrahere metadata

Hver type metadata krevde en egen maskinlæringsmodell, fordi modellene krevde ulike forklaringsvariabler. For eksempel, vil hva som er relevant for å avgjøre om et stykke tekst er tittelen til dokumentet eller ikke, ikke være det samme som kreves for å avgjøre om et stykke tekst inneholder navnet på avsenderen. Kjernen i løsningen, og i arbeidet med modellen, var å finne ut hvilke forklaringsvariabler det ville være relevant å ta med per problemstilling, og deretter lage funksjonalitet for å beregne eller generere disse forklaringsvariablene.

Gode resultater fra modellene resulterte i at Arkivverket besluttet å videreføre prosjektet med et mål om produksjonssetting. Mot slutten av oppdraget jobbet teamet med utvikling av moduler, og et design for infrastrukturen som vil kreves for å rulle ut disse modulene som web APIer.

Noen av de viktigste arbeidsoppgavene i prosjektet var:

  • Innhenting og formatering av data: Dokumentene er PDF-filer, så tekstlaget må hentes ut fra filene som JSON-objekter med informasjon om selve teksten, posisjon av teksten og hvilken skrifttype, størrelse m.m. som blir brukt
  • Vasking av data: For eksempel vasking av feilinnlest tekst. Mange av dokumentene var OCR-lest, og der håndskrevet tekst hadde blitt forsøkt lest med OCR ble teksten meningsløs (en tilfeldig samling av bokstaver). Disse tekstdelene måtte derfor identifiseres og fjernes.
  • Klargjøring av treningsdata for maskinlæring: Identifisere hvilke forklaringsvariabler som ville være relevant å bruke per modell, og hvordan disse skulle beregnes eller genereres
  • Testing av ulike maskinlæringsmodeller: Test av forskjellige metoder og sammenligning av resultater. MLFlow ble brukte for å bevare alle kjøringene som ble gjort i prosjektet, og for å enkelt kunne sammenligne disse kjøringene.
  • Produksjonsklargjøring av kode: I startfasen av prosjektet ble alle eksperimenter kjørt fra Jupyter Notebooks for å dokumentere framgangsmåte og kommunisere dette med Arkivverket. Mot slutten av prosjekt ble det gjort en jobb for å flytte all kode for datainnhenting, kjøring av eksperimenter og trening av modeller fra Jupyter notatbøker til python-moduler.
  • Rådgiving: Bouvet's konsulent ga Arkivverket råd om «state of the art»-metoder innen maskinlæring og NLP, og hvordan disse kunne anvendes på Arkivverkets problemstillinger

Under hele leveransen var det ukentlig plannleggingsmøter, hvor Bouvets konsulent rapporterte framgang og diskuterte veien videre og hindringer med Arkivverket. Dette ga Arkivverket god kontroll over fokus og leveranser.

Verdi for kunden

Leveransen inkluderte: 

  1. Flere gjennomførte «proof of concepts» som demonstrere hvordan maskinlæring kan anvendes for ekstrahering av forskjellige typer metadata.
  2. Jupyter Notebooks som dokumenterer og forklarer hvordan disse teknikkene ble implementert.
  3. Innsikt i aktuelle teknikker og metoder innen maskinlæring, NLP og bildebehandling.
  4. Innsikt i hvordan slike løsninger kan produksjonssettes og forvaltes.
  5. En pilot skrevet i Python, med potensiale for å spare Arkivverket betydelig mengde manuelt arbeid.

Ansvarlig kontor: Oslo

Kontakt oss

Mark West
Områdeleder
Plattform, Innsikt og Analyse i Region Øst