Sorlet från Statens Offentliga Utredningar

Kungliga biblioteket har nu digitaliserat alla Statens offentliga utredningar från 1922 till 1996. Detta material är ju väldigt intressant för alla som vill förstå samhället. Men i formen av pappersböcker har möjligheterna för att söka I SOUer varit mycket begränsade. I min avhandling analyserar jag exempelvis fyra SOUer som handlar om samhällsvetenskaper och statistik. Men, en fråga som man ibland ställer sig, och som ibland infinner sig med en tonalitet av ångest är; om jag hade kunnat söka i fulltext i ALLA utredningar hade jag kanske hittat något mera, någonting avgörande.

Eftersom SOUerna numera är inskannade som pdf-filer och dessutom är OCR-behandlade är det bara en fråga om lite digital handpåläggning för att göra allt som är digitaliserat sökbart. Datan finns, men den måste förbehandlas för att det ska gå att söka med det allra mest kraftfulla sättet att söka på: reguljära uttryck.

Jag tänkte i denna post lägga ut lite av det material jag hittills har skapat, i tid- och bandbreddssparande syfte, ifall att någon vill experimentera. SOUerna finns även tillagda i Korp, men då med ett annat sökgränssnitt.

Jag började med att ladda hem alla SOUer från KBs servrar med hjälp av ett litet pythonskript som jag fick skickat till mig på IRC och som finns att hämta på Github. Eftersom hela materialet väger in på cirka 400Gb rekommenderar jag att man tänker efter i termer av att bandbreddsbesparingar innan man ger sig på detta. Om målet är att bara skapa textfiler så delar jag med mig av dessa nedan.

När detta var klart (2 dagar senare) så körde jag det lilla programmet pdftotext på alla filer och väntade ytterligare några timmar. Pdftotext gör precis vad det säger, det konverterar de tunga pdf-filerna till textfiler. Jag är osäker på om det finns mera exakta konverterare, så om ni känner till några, kommentera gärna.

Här är ett exempel på en enskild utredning som ren text-fil.

Att söka inne i en pdf-fil kan vara användbart om man vet vilken SOU man ska arbeta med. Men för att söka i alla SOUer är det klumpigt.

Så, här kommer det råa output från textkonverteringen i tre olika ”klumpar”.

Textversionerna är för det första inte helt exakta. Detta hänger samman med hur Kungliga bibliotekets robot skannade in dem och hur själva OCR-hanteringen gick till. Sedan borde det finnas någon form av felkälla i pdftotext. Oavsett vilket är det nu möjligt att tillämpa avancerade sökningar i hela materialet, behandla det hur man vill och göra statistik hur man vill.

Jag gillar att använda 70-talsprogrammet grep (med alternativet -E för att expandera de reguljära uttrycken) för att söka i filer med. Man kan såklart ladda in i en texteditor, men hela textmassan är 2.7Gb stor, så det är ganska körigt med minne osv. Grep är bra för att det inte behöver ladda allt till datorns minne. Men ha ändå överseende med att vissa sökningar kan dröja.

Nu kan man börja få väldigt intressanta resultat. Här ett exempel från den stora filen (det går att köra mitt lilla kommando i terminalen på ett Unix-system, ex. Linux, MacOs):

grep -Eoi 'knark.*' SOUtxtAllBigFile.txt

Så får man följande poetiska resultat (utdrag):

knarkklubbar.
knarkarkvart
knarkarkvarf”.
knarkarkvartar
knarkotikamissbruket
knarkare eller
knarkarnästen
knarkarna en dominerande
knark.
knarkare visar
knarkas inte vid kiosken, utan på andra
knarkhärvan i Växjö
knarkligan» eller »ungdomsligan» och uppgav att några
knarkade sista gången» ganska kort tid före intervjun.
Knarkar du för närvarande?» med nej och
knarket verkar. Till övervägande del tycks de ha positiva förväntningar
knarkets förmodade effekt, att de
Knarkhäktningar på löpande band
Knarkares far klagar hos JO
Knarkkliniker planeras i H-borg och Lund
knarkande. Ett exempel:
Knarkargrupper» bildas. Narkomanenernas

Ofta anklagas SOUer för att innehålla ett torrt språk. Dessa kreativa kombinationer bevisar motsatsen.

Så här långt har jag kommit. Är det någon som har bra förslag på vad nästa steg ska vara? Vilket gränssnitt kan man bygga? Vilka analyser kan man göra? Vad är intressant att göra statistik på?

Bryt facebookdriften och kommentera!

\\

Uppdatering, 2015-06-01

Det enklaste sättet att söka verkar vara att ladda ned alla utredningar som individuella textfiler. Dels kommer datorn att indexera filerna. Men framförallt får man ut filnamnet, och därmed utredningens titel, när man kör en rekursiv grep. Då kan man ställa sig i katalogen med de uppackade filerna och köra exempelvis denna söksträng för att upptäcka på vilka olika sätt begreppet ”tredje uppgiften” har använts på:


$ grep -r -Eio '.{10,100}tredje uppgift.*.{0,100}' *

30tal/Utredning rörande flottans fartygstyper m. m. - SOU 1937:25.txt:Till dessa uppgifter anslöt sig sedermera 1907 års försvarskommitté, med undantag av att i den tredje uppgiften tillfogades »i den mån sådant är behövligt och möjligt». 3
40tal/1940 års skolutrednings betänkanden och utredningar. - SOU 1947:34.txt:»Studentexamen», fortfar skolöverstyrelsen, »har emellertid ännu en tredje uppgift.
40tal/Kommunal upplysningsverksamhet - SOU 1947:76.txt:uppgiften gäller informations- och studieverksamheten bland nyvalda förtroendemän. Den tredje uppgiften gäller information för innehavare av
50tal/Kristidspolitik och kristidshushållning i Sverige under och efter andra världskriget - SOU 1952:49.txt:surserna och att på ändamålsenligaste sätt tillvarataga och fördela förefintliga varutillgångar. En tredje uppgift slutligen — vilken dock väsentligen var av handelspolitisk natur — var att till det yttersta begagna de
50tal/Högertrafik - SOU 1954:30.txt:kostnad och materialkostnader. Från karosDen tredje uppgiften har varit att med
60tal/Skoglig yrkesutbildning - SOU 1967:38.txt:huvuddelen av eleverna kommer att rekryteras. En tredje uppgift för nämnden
60tal/1960 års gymnasieutredning. - SOU 1963:42.txt:av gymnasiets mål betonade skolutredningen gymnasiets tredje uppgift, den
70tal/TRU:s försöksverksamhet 1967-1972 - SOU 1973:19.txt:den första och tredje uppgiften, eftersom man
70tal/Invandrarutredningen. - SOU 1971:51.txt:deltagande i den allmänna vuxenutbildningen. En tredje uppgift är åtgärder för att
70tal/Trafikpolitik - behov och möjligheter - SOU 1975:66.txt:skall ske. Den tredje uppgiften
70tal/Abortfrågan - SOU 1972:39.txt:Kommitténs tredje uppgift gällde att utreda frågan om samhällets åtgärder i abortförebyggande syfte samt att överväga, hur
80tal/Skolforskning och skolutveckling - SOU 1980:2.txt:att ta på sig en tredje uppgift, att svara för den
90tal/Dagspressen i 1990-talets medielandskap - SOU 1994:94.txt:fram. Det är uppenbart att den tredje uppgiften kritisk granskning har sina
90tal/Löneskillnader och lönediskriminering - SOU 1993:7.txt:ekonomiska incitamenten för kvinnor jämfört med män.--- En tredje uppgift
90tal/Kvalitet och dynamik - SOU 1993:102.txt:Hur väl fakulteterna löser högskolans s.k. tredje uppgift, dvs. att sprida


Uppdatering 2: Gustav Holmberg har bloggat om sina sökningar i materialet samt Copyriot.

37 reaktioner till “Sorlet från Statens Offentliga Utredningar”

  1. Ytterst intressant!

    För alla de humanister som inte greppar (ursäkta!) terminalkommandon vore det kanske användbart om man kunde göra ungefär samma sak som du gör med grep på din lokala dator men via ett webbformulär på en server. Lite som Old Bailey. Varje fras har en länk till den SOU där den uppträder.

  2. Jag skulle vilja se ett verktyg som hjälper den som vill göraen prosopografi över de experter som skrivit i SOU:erna: namn, institutionell tillhörighet, disciplin osv. Skulle nog kräva en massa handpåläggning och – dock utan att ha kolla på dina filer – är det kanske svårt att programmera fram en lista över alla utredare.

    En annan sak: ibland hör man folk klaga över att utredningarna har blivit sämre, att det var bättre förr. Kan man testa den hypotesen genom att på något sätt mäta utredningarnas förändrade omfång, ”komplexitet” eller så, över tid?

  3. Gustav,

    tack för kommentarerna!

    1. Jo, det borde inte vara så svårt att göra ett mera användarvänligt gränssnitt (som kör grep i bakgrunden). Definitivt ska det även då finnas fulltext till pdf-en!

    2. Experterna borde inte vara så svåra att få fram. De står alla i början av varje enskild textfil, fast efter en massa skräptext. Se detta exempel. Om man bara kan trolla med reguljära uttryck går allt att finna.

    3. Omfånget är både enkelt och svårt. Det är väldigt lätt att räkna antalet ord i varje textfil. Men, det är risk att man får med felkällor och artefakter genererade av skanningen. Det borde man nog kunna analysera ned till en rimlig felkällenivå genom att göra regex-filter och ta många stickprover. ”Komplexitet” blir kanske svårare. Här behöver man nog hitta olika indikatorer som man söker med.

  4. Spana in några av de gratisverktyg som finns för fulltextindexering, de ger ett smidigt sökgränssnitt och ofta möjligheten att med hjälp av regexp:ar skapa sökbara taggar för specifika entiteter i texten, t.ex. författare, datum, m.m. Jag har använt Apache Solr lite och tycker om det, men det finns säkert många andra verktyg på ett internet nära dig. Ofta (t.ex. i Solr) slipper du dessutom pdftotext; den bygger sitt index direkt från pdf:erna.

  5. MartLenn: Tack för tipset! Gillar Apache-licens. Ska ta och testa Solr när jag får tid (och eventuellt mera hårdvara, just nu kör jag en eee-pc för allt detta).

    Det vore väldigt smidigt att enkelt skapa en länk mellan texten som man söker i och själva pdf-filen. När man väl har hittat det man söker efter (speciellt forskningsmässigt) måste man ju ha rätt sida och kunna kontrollera citatet med ”ögonen” så att eventuella OCR-missar undviks.

  6. Tack! Laddade ner samtliga utredningar som enskilda textfiler i eftermiddags, varpå de genast indexerades av operativsystemet (OSX) och blev sökbara via spotlight. Visserligen en ganska primitiv sökfunktion utan massa regexp, men ändå fullt tillräckligt för att hitta vissa saker, t.ex. hänvisningar till särskilda namn eller uttryck.
    Och någonstans är jag lite skeptisk till att bygga en sofistikerad ”digital metod” uppe på detta material i rådande form, med tanke på den stora mängden felkällor i OCR-scanningen. För mig – som tämligen traditionellt arbetande historiker – blir sökningen främst ett sätt att hitta genvägar till utredningar som jag sedan ändå måste skumma med mina ögon.
    I vilket fall fick jag omedelbart fram en lista på ett dussin SOU:er som jag inte hade kunnat få fram genom en manuell genomgång. Underbart!

    En grej jag ändå tänkt på är förekomsten av hänvisningar till tidigare SOU:er. Det borde gå att visualisera som någonting som liknar ett träd (eller kanske snarare en skägglav). Fast allra först måste man förstås rensa bort de hänvisningar som inte är substantiella, som t.ex. när en SOU avslutas med en lista på alla andra SOU:er utgivna samma år.

  7. Gustav Holmberg: Jag tror inte det är omöjligt att programmera fram en lista över alla de namn som nämns i förordet till varje SOU. Då får man med namnen på de sakkunniga, experter och sekreterare, samt (efter)namnet på ansvarig minister. Däremot har det väl aldrig varit praxis att ange ”institutionell tillhörighet, disciplin osv”? Om du vill ha en sådan prosopografi krävs nog allra först ett omfattande personhistoriskt grundarbete.
    Visst anges titlar på sakkunniga och experter i SOU-förorden, men titlarna är ofta mycket kortfattade, typ ”direktören”, ”riksdagsledamoten” eller ”fil.lic” – ingenting om vilket företag, vilket parti eller vilken disciplin personen tillhör.

    1. Rasmus: nej, precis, det anges ju vanligtvis inte i förorden till SOU:erna men jag tror ändå att en sådan här digitaliserad textmassa skulle kunna vara en hjälp på traven för den som vill skapa en kollektivbiografi över 1900-talets expertisklass. Att på ett smidigt sätt kunna få fram en lista med namn vore ju en lämplig start och sedan kan man med sedvanliga metoder plocka fram disciplintillhörighet, lärosäte och annat.

  8. Tack för att du lyfter fram detta – det måste ju gå att göra nåt användbart med (om så ”bara” för att hitta genvägar till intressant material). Hmm, man kanske kunde luska i språkbruksförändringar, som vad var ”teknik” i olika tider eller nåt annat begrepp (antingen bara sökordsvägen och sen kvalitativ läsning, eller nån kvantitativ lösning på mätning). Eller någon annan enklare sortering, som i under vilket departement m.m. Får fundera på detta.

  9. Rasmus: Det är mycket smidigt med spotlight och de individuella filerna. Då får man snabbt en genväg in i fulltexterna som inte är möjlig med nuvarande sök.

    Rasmus och Gustav: Jag ska försöka få ett output på bara namnen. Sedan har man åtminstone en lista som man kan gå vidare med. Jag tänker att man eventuellt skulle kunna göra någon form av social nätverksanalys här. Utredningarna är ju författade av flera personer som bildar vad man inom bibliometrin kallar för ett ”co-authorship network”. Om man sedan hittar ett sätt att visa hur de citerar andra utredningar, eventuellt visualiserat som en skägglav, tror jag att det går att få fram intressanta heuristiska mönster.

    Stefan: Angående språkförändringar har jag bollat sådana idéer med mina lingvistkolleger. Det finns tydligen många metoder att närma sig en sådan studie. Dels hur begrepp förändras/byts ut/får annan betydelse över tid, samt hur begrepp grupperas, sk. Topic Model.

    Det finns mycket att göra! Får dock ”friforska” lite om detta pga. att min finansiering ligger i andra projekt för närvarande.

    1. Det här är ju helt lysande. Kanske kunde detta material passa för något som kallas ”dynamisk topic modelling”, där man ansätter att texterna handlar om ett antal teman vars exakta innehåller i termer av konkreta ord förändras över tid. En sådan analys skulle kunna kombineras med någon typ av nätverksanalys baserad på personnamn. Tycker materialet förtjänar (minst) ett eget projekt. Jag laddar ner textfilerna nu och ser fram emot att undersöka…

      1. Sverker: Utmärkt. Jag har tänkt på topic modelling och ser fram att göra några stickprover. Tänker att man får börja på de mindre filerna och se hur man kan få undan de ganska stora felkällorna.

        Begreppsförändringar över tid känns ju som en av humanvetenskapernas kärnverksamheter.

  10. Jag blir genast sugen att slänga ihop en egen sökmotor med lite mer avancerade finesser, som att söka på flera ord i närheten av varandra, tolerans mot felstavningar etc., och kanske rentav tf–idf-rankning e.d. Jag har dock ingen som helst tid till det just nu, men framåt sommaren kanske. I och för sig finns det antagligen färdiga verktyg som gör mycket av detta redan, av den sort MartLenn nämner, men kodar man själv kan man ju lösa mer specialiserade problem, så berätta gärna om det är några exotiska saker. Att få fram sådant som ser ut som namn, som Gustav Holmberg är inne på, kan man förstås fixa med något så enkelt som grep.

    Jag tänker att det det här kan vara bra data att använda till uppgifter på kursen i avancerade metoder för text- (och bild-) behandling jag ska hålla i slutet av hösten. Det är ju trevligt om man kan få in lite samhällsvinkling utöver det rent datalogiska. Kanske finns det ämnen med examensarbetespotential gömda här också.

    1. Avadeaux: Ja, jag tänker att man kan sätta samma roliga uppgifter/examensarbeten utifrån materialet. Att filtrera bort ”bruset” i textfilerna kräver ju ganska avancerade krumbukter, om man nu vill preprocessa filerna.

      Hör av dig framöver om du vill ha samhällsvetenskapliga ingångar till vilka ”frågor” man kan ställa till materialet. Jag bollar gärna ideer.

      För att få ord i sammanhang brukar jag laborerar med grep, ex. ange grep -Eio ‘.{0,100}sökord.*.{0,100}’ fil.txt Och för alternativa stavningar finns det många vägar genom regexp.

  11. Tack! Detta är ju helt underbart, även om jag som Rasmus i dagsläget mest kan se det som en ”genväg”. Det som jag funderat på är hur statistiken som ofta finns med i en SOU fångats upp i ditt material (alltså om den går att identifiera som statistik inte bara som enskilda ord). misstänker att sökbarhet av tabeller osv är problematiskt.

  12. Anders: Kul att du gillar detta lilla projekt. Tabellerna är väldigt kaotiska när man tittar i textfilerna. Tror att det är svårt att göra något vettigt med dem annat än att hänvisa till pdf-filerna. Men, man ska aldrig underskatta vad man kan göra med reguljära uttryck.

    Tack för kommentaren!

  13. Kul att materialet används! För stora textmängder finns det massor av kul saker att göra. Ett spår är named entity recognition på t.ex. wikipediatopics som förekommer i texten (har ev lite kod för det någonstans). Ett annat är att parsa referenser mellan SOU:er, DS:ar mm för att visualisera kluster (se t.ex. https://peterkrantz.com/v11n/rfc/ ). Om man hade en större mängd uppsater/avhandlingar vore det även intressant att se om det finns särskilda SOU:er som ofta förekommer i forskning av olika slag.

    Vi håller på sätta upp en torrenttracker ihop med Sunet för att enklare kunna sprida datasetet. Vill man ha SOU:erna i bulk kan man enklast wgeta från https://data.kb.se/datasets/2015/02/sou/

  14. Peter: Vore grymt roligt med en .torrent. Det känns alltid bättre att balansera bandbredd.

    Intressant med RFC-nätverket. Jag tänker att det borde gå att göra något liknande med SOUerna, men det kräver antagligen en hel del förarbete.

    Spännande med Korp. Sökningarna där verkar generera ungefär samma resultat som vad man får via grep, och smidigt att man får utredningens år:nummer i rutan till höger. Hoppas att det inte gjorts något dubbelarbete bara, språkbanken är ju baserad på samman fakultet som jag själv 🙂

    Tack för kommentaren! Ser fram emot intressanta användningar av materialet.

    1. Språkbanken tog datasetet från KB vilket ju är hela syftet med att publicera det som öppna data – fler än vi ska kunna bygga tjänster på materialet och beforska det. Ska se om jag hinner labba med SOU-referenserna i helgen för en minimal visualisering.

      Vore även kul om någon ville kompletteringsskörda moderna SOU:er för att kunna göra mer longitudinella studier av materian. I de moderna PDF:erna är det förmodligen enklare att plocka ut tabellverk, länkar mm. När börjar SOU:er källhänvisa till Wikipedia? Länkar man till lagen.nu istället för SFS-databasen på RK?

  15. Peter: Mycket bra!

    Just själva refererandet, eller ”referensnätverket”, som SOUer ger upphov till är ju väldigt relevant att förstå. Det är ju en central komponent i det svenska expertsamhället!

    Föremål för en mindre forskningsansökan.

  16. Jag försökte ladda ned alla som individuella filer men det verkar som om den zip-filen är skadad på nåt vis…

  17. Anders Fåk: Hej. Jag testade att packa upp filen och jag fick inga felmeddelanden. Detta test gjorde jag visserligen med unzip i Linux. Vilket program använder du? Risken finns att din dator får slut på minne eller att den inte kan skriva så många filer till disk. Problemet är inte filstorleken utan att filen innehåller så många småfiler.

  18. Jag laddade ned alla textfilerna och filtrerade lite. Har nu ett Solr-index och en enkel test-webbsida för sökning. Träfflistan länkar till PDF-filerna på KB. Det fungerar snabbt och utmärkt bra i labbmiljö.

  19. Anders: Grymt bra! Jag ska se om jag kan installera solr på någon maskin och testa själv. Vore roligt att lägga ut som en tjänst framöver.

  20. Anders: Det blev ju väldigt smidigt med länkar till fulltext-pdferna på detta sätt. Jag ska helt klart se över att sätta upp en mera permanent tjänst efter semestern när jag har bättre tillgång till universitetets resurser igen. Tack för demonstrationen!

Kommentera

E-postadressen publiceras inte. Obligatoriska fält är märkta *

Time limit is exhausted. Please reload CAPTCHA.