csm_archive_berlin_shelves_fe028151cd (1)

Arkivverket

Artificiell intelligens gör det enklare att hitta i vår historia

Viktiga historiska dokument och händelser ska vara tillgängliga för hela befolkningen. Oavsett om du forskar, gör research för en bok eller bara är nyfiken på vad som hände förr i tiden. Som en del av Norges största digitaliseringslyft har Riksarkivet, med hjälp av Bouvet, testat användningsområden för maskininlärning.

Bakgrund

Riksarkivet är Norges största databehandlare. De tar hand om landets historia för framtiden, och ska säkerställa demokratisk tillgång till arkiven även i en digital tidsålder. Det som startade för mer än 200 år sedan med att ta till vara historiska dokument från ett illa skött och skadehärjat arkiv på Akershus Slott är nu föremål för Norges största digitaliseringslyft. Syftet med satsningen är att börja använda ny teknik för att förbättra de tjänster Riksarkivet erbjuder till befolkningen. Som en del i digitaliseringsarbetet anlitades Bouvet för att testa användningsområden för maskininlärning. Resultatet blev en pilot med potential att automatisera repetitivt, manuellt arbete med att extrahera metadata från dokument och därmed effektivisera arbetet med sökbarhet i arkiven.

Utmaningen

Arkiven ska inte bara lagras, utan också ordnas så att det är möjligt att söka intressant material på ett så effektivt sätt som möjligt. För att sortera arkiven lagras metadata per dokument, med till exempel information om vilken kategori dokumentet tillhör, när dokumentet skapades och vem som skapade dokumentet.

En del av dessa metadata kan hittas inne i dokumenttexterna. För brev är det exempelvis vanligt att både avsändare och mottagare nämns. Jobbet med att ordna den här typen av metadata görs genom att detektera var i dokumentet de finns, och sedan extrahera texten från den platsen. Andra metadata, till exempel dokumentkategori, anges inte uttryckligen i texterna. Dessa måste därför förutsägas med en klassifieringsmodell som bygger på alla relevanta ord och fraser som används i dokumentet.

Att identifiera och fylla i den här typen av metadata är idag ett manuellt och tidskrävande arbete, och Riksarkivet ville därför undersöka hur maskininlärning och andra tekniker kunde effektivisera och eventuellt automatisera detta.

Lösningen

Bouvet arbetade nära med domänexperter och medarbetare på Riksarkivets innovationsavdelning för att identifiera vilka typer av metadata som bör prioriteras, baserat på bland annat komplexitet, potentiella vinster, samt kvalitet och tillgänglighet till relevant data. Som ett resultat av detta valdes några olika typer av metadata för vidare arbete: 

Exempel på dessa var: dokumenttitel, avsändare, mottagare, skapandedatum och kategori.

De fyra förstnämnda är metadata som uttryckligen finns inne i dokumenttexterna.  Denna metadata ska kännas igen, så lösningen på dessa problemställningar var därför olika varianter av Named Entity Recognition. För att extrahera metadata som inte uttryckligen finns inne i texterna, som t.ex. Kategori, användes Textklassificering.

Bilde1.png

Varje typ av metadata krävde en separat modell för maskininlärning, eftersom modellerna kräver olika förklaringsvariabler. Exempelvis kommer det som är relevant för att avgöra om en bit text är titeln på dokumentet eller inte, inte att vara samma som krävs för att avgöra om en bit text innehåller namnet på avsändaren. Kärnan i lösningen, och i arbetet med modellen, var att avgöra vilka förklaringsvariabler som var relevanta att inkludera för varje problemställning, och sedan skapa funktionalitet för att beräkna eller generera dessa förklaringsvariabler.

Goda resultat från modellerna resulterade i att Riksarkivet beslutade att förlänga projektet med ett mål att använda lösningen i skarp drift. Mot slutet av uppdraget arbetade teamet med utveckling av moduler, och en design för den infrastruktur som krävs för att rulla ut dessa moduler som webb-API:er.

Några av de viktigaste arbetsuppgifterna i projektet var:

Datainsamling och -formatering: Dokumenten är PDF-filer, så textlagret måste extraheras från filerna som JSON-objekt med information om själva texten, textens placering och vilket teckensnitt, vilken storlek osv, som används

  • Rensning av data:  Till exempel rensa felinläst text. Många av dokumenten var OCR-lästa, och där handskriven text hade försökt läsas med OCR blev texten meningslös (en slumpmässig samling bokstäver). Dessa textdelar skulle därför identifieras och tas bort.
  • Förberedelse av träningsdata för maskininlärning: Identifiera vilka förklaringsvariabler som skulle vara relevanta att använda per modell, och hur dessa skulle beräknas eller genereras
  • Test av olika maskininlärningsmodeller: Test av olika metoder och jämförelse av resultat. MLFlowanvändes för att bevara alla körningar som gjordes i projektet, och för att enkelt kunna jämföra dessa körningar.
  •  Produktionsförberedelse av kod: Vid projektets början kördes alla experiment från Jupyter Notebooks för att dokumentera proceduren och kommunicera detta med Riksarkivet. Mot slutet av projektet genomfördes en flyttning av all kod för datainsamling, körning av experiment och träning av modeller från anteckningsböcker i Jupyter till pythonmoduler.
  • Rådgiving: Bouvet gav Riksarkivet råd om “state of the art”-metoder inom maskininlärning och NLP, och hur dessa skulle kunna användas på Riksarkivets problemställningar.

Värde för kunden

Leveransen inkluderade: 

  1. Flera genomförda “proof of concepts” som demonstrerade hur maskininlärning kan användas för att extrahera olika typer av metadata.
  2. Jupyter Notebooks som dokumenterar och förklarar hur dessa tekniker implementerades.
  3. Insikt i aktuella tekniker och metoder inom maskininlärning, NLP och bildbehandling.
  4. Inblick i hur sådana lösningar kan driftsättas och hanteras.
  5. En pilot skriven i Python, med potential att spara Riksarkivet avsevärda mängder manuellt arbete.

Projekt: Proof of Concept - Machine Learning

Branch: Offentlig sektor, kommen och försvar

Ansvarigt kontor: Oslo

Kontakta oss

DSC_0676_fix

Jesper Gradin

Avdelningsledare Systemutveckling

jesper.gradin@bouvet.se

0709 43 14 53