You are on page 1of 7

c 

Hans Olav Melberg (hans.melberg@gmail.com)

Alvorlig Forsker, Institutt for Helse og Samfunn, Avdeling for helseledelse og helseøkonomi,
Universitetet i Oslo.

Spørsmålet om hvem som er den anonyme forfatteren bak bøkene Kongepudler,Kindereggeffekten,


Klassefesten - og nå den nye boken ͟Mordet på Anonym͟ - er kanskje ikke det viktigste problemet i
verden. Kanskje ikke det nest viktigste heller. Nå viser det seg imidlertid at metoden for å finne
svaret på hvem som skrev bøkene, kan ha en viss nytte i andre sammenhenger. Det gjelder alt fra å
avgjøre man ligger i faresonen for å få kreft, om en forsikringskunde har høy eller lav risiko for å bli
syk, eller til å klassifisere en epost som reklamesøppel eller ikke. For noen kan det kanskje også ha en
viss febernedsettende effekt å få identifisere den anonyme forfatteren. Sist, og mest, kan det være
grunn til å gjenopprette universitetets ære etter at man ble anklaget for udugelighet og kastet ut fra
NRKs store quiz konkurranse. Til sammen blir dette en god unnskyldning for å vise vitenskapelige
muskler og bruke statistisk analyse for å finne forfatteren av bøkene.

Det generelle problemet er å kategorisere et objekt på bakgrunn av en del egenskaper. Et objekt kan
tilhøre mange kategorier, men ofte bruker man bare to: høy eller lav risiko, syk eller ikke syk,
søppelmail eller ikke. Egenskaper ved objektet er de variablene man i den aktuelle situasjonen mener
er relevant for klassifiseringen av objektet. Det kan være en lang rekke egenskaper - farge, inntekt,
høyde, alder. Ofte har man kjennskap til en rekke egenskaper, men er usikker på hvilken kategori
objektet tilhører. Er en 52 år gammel fisker i Molde en god eller dårlig lånekunde?

For å svare på slike spørsmål, kan man bruke ulike metoder der man sammenligner egenskapene
med andre kjente objekter som har mange av de samme egenskapene. Snakker objektet som en and,
ser det ut som en and og vagger det som en and, ja så er det trolig en and. Dette er vel kjent, så det
interessante ligger ikke i det generelle poenget at man sammenligner med like objekter som man
kjenner kategorien til, men hvordan dette gjøres.

Det er flere slikt metoder, men en av de enkleste og mest brukte kalles naiv bayesiansk
klassifiseringsprosedyre. Den er også overraskende effektiv og eksempelet med hvem som har
skrevet Kongepudler passer godt for å illustrere detaljene i metoden.

En bok har mange mulige egenskaper og en av de egenskapene som vil være nyttig for å avgjøre
hvem som er forfatteren, er de ordene som brukes. En forfatter kan ha en forkjærlighet for visse ord
og antall ganger man bruker ulike ord kan dermed være et kjennetegn ved en tekst. Alternativt
kunne man ignorere hvor ofte et ord ble brukt og heller fokusere på hvilke ord som brukes. For
eksempel når man skal identifisere korte tekster, kan dette være mer nyttig enn ved å telle opp hvor
ofte ulike ord brukes. At eposten inneholder ͟Viagra͟ kan være et bedre kjennetegn på søppelpost
enn antall ganger man bruker ulike ord. Men når det gjelder spørsmålet om forfatterskapet av lengre
tekster, vil hvor ofte man bruker et ord kunne være et mulig kjennetegn. Spørsmålet er da hvordan
dette kan formaliseres og brukes for å bestemme hvem som er forfatteren av et dokument.

Utgangspunktet er at vi ønsker å finne er sannsynligheten for at en person - Knut - har skrevet et


dokument som består av ordene D = {w1, w2, ͙ wn}. D symboliserer her hele teksten med ordene i
rekkefølge: w1 er det første ordet, w2 det andre ordet osv. Formelt ønsker vi å finne Pr(K|D). Fra
Bayes regel vet vi at dette kan skrives som:

Ò Ò 
Ò     
Ò 

Dette uttrykket kan brytes ned deler som kan estimeres med de dataene man har, men det krever
noen viktige forenklinger. Se først på Pr(K). Det er sannsynligheten for at Knut har skrevet
dokumentet i utgangspunktet, før vi får vite om egenskapene ved teksten. Teoretisk er det litt
interessant hvordan vi skal bestemme denne. Det kan være vår subjektive oppfatning av hvor
sannsynlig det er at Knut er forfatteren. Alternativt kan det være at ikke ønsker å ha noen spesiell
formening. Noen tolker dette som at det er like sannsynlig at det er Knut som at det er noen andre:
Pr(K)=0.5, Andre sier at det avhenger av hvor mange andre forfattere vi mistenker. Med ti mulige
forfattere, er utgangssannsynligheten for at boken er skrevet av Knut 1/10. Hvilken
utgangssannsynlighet som best representerer ͟jeg vet ingenting͟ er filosofisk interessant, men i dette
tilfellet viser det seg at det ikke har stor praktisk betydning fordi viktigheten av
utgangssannsynligheten drukner når man har et dokument med mange ord.

Dersom målet er å vurdere om forfatteren er Knut eller ikke, kan vi se på forholdet mellom
). Dette gjør at vi kan se
sannsynligheten for at Knut er forfatteren vs. at han ikke er forfatteren Pr(
bort fra Pr(D) fordi:

  


 
   

 
   

  

     





Hvis bruker den nevnte antagelsen om at det er like sannsynlig at Knut er forfatteren som at den vi
), får vi:
sammenligner med er forfatteren, Pr(K)=Pr(


 


  


 

Dersom dette utrykket er større enn en, er det sannsynlighetsovervekt for at Knut er forfatteren. Det
 ). Da gjenstår det bare å finne sannsynligheten for
betyr at vi kan se bort fra både Pr(D), Pr(K) or Pr(
å observere et dokument med de ordene vi ser dersom Knut er forfatteren, P(D|K). Vi har:

Pr(D|K) = Pr(w1, w2, ͙, wn|K)

I et dokument med mange ord, vil dette være svært vanskelig å beregne. Dersom vi derimot antar at
ordene er uavhengige, kan vi skrive:

Pr(D|K) = Pr(w1|K) Pr(w2|K) ͙ Pr(wn|K)

Pr(D|K) = Ò  
Analogt har vi:

   Ò  
  

Dermed får vi:


 Ò  

 



Ò  

At de ulike ordene er uavhengige av hverandre, er en viktig forenkling fordi den gjør det mye letter å
beregne sannsynlighetene. Vi vet at denne antagelsen ikke er perfekt. Ofte vil bruken av et ord være
korrelert med hvor ofte man bruker et annet ord. Metoden ser bort fra dette og kalles derfor ͟naiv.͟
Det er imidlertid veldig gunstig å gjøre denne antagelsen fordi man da kommer frem til et utrykk man
enkelt kan estimere. Det eneste vi trenger er å vite hvor ofte Knut bruker ulike ord i forhold til hvor
ofte den vi sammenligner med bruker de samme ordene. Det viser seg også at metoden gir gode
resultater til tross for forenklingen.

Intuisjonen i metoden er enkel. Det er som om man ser på dokumentet som en sekk med ord der
hvert eneste ord er skrevet på en lapp. Hver gang man trekker opp et ord, spør man hvor sannsynlig
det er at nettopp dette ordet skulle bli trukket dersom forfatteren er Knut eller den vi sammenligner
med. Det kan vi estimere ved å se på andre dokumenter vi med sikkerhet vet er skrevet av Knut og
de andre. Hvis ordet ͟stortingssekretærvaskehjelpassistent͟ utgjør 2 % av alle ordene i de
dokumentene vi vet er skrevet av Knut, så er vårt beste estimat at sannsynligheten for at det skal
dukke opp når vi trekker et ord fra sekken 0,02 hvis det er skrevet av Knut. Tilsvarende teller vi opp
frekvensen av det samme ordet for den andre forfatteren og regner ut sannsynligheten for at
nettopp det ordet skulle bli trukket hvis det er den personen som har skrevet dokumentet. Slik gjør
man med hvert eneste ord. Vi later som om dokumentet har oppstår ved å trekke ord opp fra en sekk
som har en blanding av ord som enten tilsvarer hvor ofte Knut bruker ordene eller hvor ofte den
andre bruker ordene. Sannsynligheten for en gitt rekke med ord er da sannsynligheten for hvert ord
multiplisert med hverandre.

I teorien er dette enkelt, men i praksis oppstår det fort problemer. Dersom man implementerer
teorien i et dataprogram, er det praktiske begrensninger på hvor små tall maskinene kan håndtere.
Dette er et problem fordi teorien impliserer at man skal kunne multiplisere flere hundre små
sannsynligheter. En løsning er da å ta logaritmen til utrykket for å gjøre om multipliseringsproblemet
til et summeringsproblem:


 Ò  
      
 

 

Ò  

 
   Ò   

 Ò  

 
 
  Ò   
 Ò  
 
Ved å ta logaritmen løser man det praktiske problemet med multiplisering av mange små
sannsynligheter, men et annet problem oppstår: Noen ganger vil man møte et ord i det ukjente
dokumentet som Knut aldri har brukt i de dokumentene vi har tilgang til. Dette er et problem fordi
man ikke kan ta logaritmen av null. Det er flere mulige løsninger på dette. En mulighet er å legge til
en liten konstant før man tar logaritmen. En annen mulighet er å fokusere på de ordene man vet
eksisterer i alle dokumentene ʹ alle andre ord ekskluderes.

Det finnes ingen standard løsning. Uansett er man nødt til å bearbeide tekstfilene før analysen og det
kan være god grunn til å ta ut noen ord. For eksempel kan man velge å ta bort ord som utrykker
egennavn når man sammenligner en bok som Kongepudler ʹ der egennavn nevnes ofte - med
avisartikler som sjelden fokuserer i så sterk grad på egennavn. Videre må man ta bort tegnsetting slik
at ͟forteller͟ og ͟forteller.͟ ikke blir forskjellige ord. Noen velger også å fokusere på stammen av ord
slik at for eksempel ͟ønsker͟ og ͟ønsket͟ representerer det samme ordet. I den etterfølgende
analysen er alle ord med stor forbokstav fjernet fra dokumentet (en gruppe som inkluderer
egennavn, men også ord etter punktum). Videre er all tegnsetting tatt ut og analysen er avgrenset til
ord som brukes både i det ukjente dokumentet og av begge de potensielle forfatterne. Dette
eliminerer problemet med logaritmen av null. Kostnaden er tap av noen ord som kunne gi
informasjon og i en annen analyse kunne man for eksempel velge å fokusere på de ordene som er
unike.

Med utgangspunkt i teorien beskrevet overfor, ble det laget en algoritme i Python for å analysere
dokumentene. Den beskrives her i korte trekk. Først defineres følgende variabler:

- 
 : antall ord i dokumentet som er skrevet av ukjent forfatter (n = antall, u = ukjent, unknown)

- 

 : antall unike ord i dokumentet som er skrevet av ukjent forfatter

-   : antall ord i dokumentet skrevet av den første forfatteren vi tror har skrevet Kongepudler
mao. Knut i eksempelet overfor. (n = antall, s = suspect)

-  : ord i dokumentet skrevet av den vi vil sammenligne med. Det kan være en annen mulig
forfatter av Kongepudler, eller noen helt andre for å teste algoritmen.

- 
 : antall ganger ord nummer i forekommer i dokumentet som er skrevet av den ukjente
forfatteren

-   : antall ganger ord nummer i forekommer i dokumentet som er skrevet av den forfatteren vi
tror har skrevet Kongepudler

-   : antall ganger ord nummer i forekommer i dokumentet som er skrevet av en annen forfatter

Estimeringen tar utgangspunkt i:


 


   
  Ò   
 Ò  
  


 
Den beste gjetningen (maximum likelihood) er basert på de relative frekvensene. Vi har da:
 

 !"# !"
      $ 
  $
 

 !# !
 

Denne algoritmen starter fra begynnelsen av dokumentet og regner på sannsynligheten til hvert
eneste ord etter hver som det blir trukket opp av sekken.

En mer effektiv løsning i stede for å regne ut sannsynligheten for å trekke ordet ͟bil͟ hver gang man
møter det i dokumentet med ukjent forfatter, er å telle antall ganger ordet forekommer i
dokumentet og gange det med sannsynligheten for å trekke ordet fra en sekk med ord. Vi får da:
 

 !"# !"
    !"% &

   $ 
 !"% &
 $

 !# !
 

Der man summerer over antall unike ord i det dokumentet med ukjent forfatter (nuu) og ikke over
antall ord totalt i dokumentet med ukjent forfatter (nu). Dette er enklere fordi det er langt færre
unike ord enn det totale antallet ord. Til slutt kan man forenkle hele utrykket til:


 !"# & !
  
   !"% &
 $

 !# & !"


Rent praktisk samler man først en del dokumenter skrevet av mulige forfattere av Kongepudler, et
utdrag av boken (den med ukjent forfatter) og noen andre dokumenter skrevet av personer som
trygt er utenfor mistanke for å være en av forfatterne. Hver gang disse dokumentene brukes, renses
de for tegnsetting, ord med store bokstaver (egenord med mer) og ord som er unike for dokumentet.
Variablene som beskriver antallet ord og lignende baseres så på den rensede listen av ord i de ulike
dokumentene. Lengden på dokumentene bør være så lang at man med en viss grad av sikkerhet kan
si noe om hvor ofte forfatteren bruker visse ord. Dette er spesielt viktig for dokumentene som brukes
for å beskrive egenskapene ved de forfatterne vi tester ut.

Etter rensing av dokumentene, lager algoritmen en liste over unike ord og en opptelling av antall ord
(både unike og totalt) i de tre aktuelle dokumentene: det som er av ukjent forfatter (u), det som er
skrevet av ͟the prime suspect͟ (s, suspect) og det som er skrevet av den andre mistenkte eller en
utenfor mistanke (o, other). Algoritmen har så en loop for hvert unike ord i det ukjente dokumentet
der regner ut og plugger inn verdiene i ligningen overfor. Til slutt har man da logaritmen av ratioen
og man kan finne Pr(K|D) ved å ta antilogaritmen og bruke det faktum at P(K|D) + P(  |D) = 1. Denne
prosedyren gjentas for ulike par av mulige forfattere, og etter å ha testet alle mot alle kan man se
hvem som er den mest sannsynlige forfatteren.

Før man går i gang, kan det være greit å sjekke at metoden virker. Dette gjøres ved å ta noen
dokumenter der vi kjenner forfatteren og undersøke om algoritmen finner korrekt forfatter for disse.
Vi plukket derfor ut tretti avisartikler eller kronikker skrevet av Kjetil B. Alstadheim, Vidar Kvalshaug
og John Egeland. Algoritmen ble først foret med en samling artikler av de tre forfatterne på omtrent
5000 ord (en samling av andre avisartikler enn de tretti vi testet, men skrevet av de samme
forfatterne). Basert på det ordmønsteret algoritmen fant i disse artiklene, regner den ut hvem som
er forfatter av de tretti andre artiklene. Når vi tester disse artiklene, gir metoden riktig svar i 58 av 60
forsøk (97%).

Gitt at metoden virker, hvilke mulige forfattere bør testes? Det er mange foreslåtte kandidater, blant
annet John Egeland, Kjetil B. Alstadheim, Anne Holt, Vidar Kvalshaug, Herman Willis, Knut Nærum,
Runar Døving, og Hans Geelmuyden. Det er også mulig at bøkene har forskjellig eller flere forfattere.

For å teste hvem av disse som er mest sannsynlig, ble det samlet inn dokumenter med tekster
skrevet av disse forfatterne. Basert på disse dokumentene kan man si noe om hva slags ord
forfatterne vanligvis bruker og i hvor ofte de ulike ordene brukes. Dokumentene bør være av en viss
lengde før man kan si at de avslører en karakteristisk skrivestil. Det er ikke mulig å si nøyaktig hvor
lange de bør være, og det ble derfor lagt vekt på å samle relativt lange dokumenter (over 5000 ord).

Metoden er slik at i enhver parvis sammenligning, så vil resultatet være at man peker på den mest
sannsynlige forfatteren av de to som sammenlignes. Metoden vil med andre ord peke på den som i
størst grad bruker de samme ordene, også når den må velge mellom to person der ingen er den
sanne forfatteren av det ukjente dokumentet. Det er derfor viktig å ikke konkludere med at en
person er forfatteren bare fordi metoden sier at personen er mest sannsynlig i noen få
sammenligninger. Man må se om personen systematisk dukker opp når man sammenligner med
skrivestilen til mange av de andre alternativene.

Dersom man starter med John Egeland, viser det seg at det er lite sannsynlig at det er ham. I til
sammen ti forsøk, med ulike utdrag fra Kongepudler, Klassefesten og Mordet på anonym, ble Egeland
aldri foretrukket foran Kjetil B. Alstadheim eller Anne Holt. Det synes dermed trygt å forkaste Egeland
som den mulige forfatteren.

Det samme gjelder flere av de andre. Lignende testing viser at Knut Nærum, Hans Geelmuyden og
Runar Døving trolig ikke er forfatteren. De ble forkastet som forfatteren alle 10 gangene når man
sammenlignet på samme måte som for Egeland.

Herman Willis, derimot, var en noe mer lovende kandidat. Han ble foretrukket foran Alstadheim og
Holt i alle ti tilfellene. Imidlertid er grunnlagt bak Willis noe svakere enn de andre fordi det ikke var så
mange lett tilgjengelige tekster som kunne brukes for å kartlegge hans skrivestil.

Listen er dermed kortere. Dersom man kjører en utvidet sammenligning av de som nå er mest
aktuelle ʹ Willis, Alstadheim, Kvalshaug og Holt ʹ før man følgende resultater: Anne Holt har en
skrivestil som noen ganger kan ligne på den man finner hos Anonym, men det er ikke stabilt eller
entydig nok til å utrope henne til forfatteren. Hun blir bare utpekt i fem av femten sammenligninger.
Det kan dermed forklares med at hun har en stil som noen ganger ligger nærmere Anonym enn noen
av de andre (og dermed blir utpekt som forfatteren i en parvis sammenligning), men at det ikke er
stabilt nok til å virkelig være forfatteren. Alternativ kan hun være forfatter på deler av bøkene
dersom man mener at det er flere forfattere, men det virker lite sannsynlig.

Det samme gjelder Alstadheim som er den mest sannsynlige forfatteren i seks av de siste femten
sammenligningene. Det er også for ustabilt til å kunne utropes til vinner, men så stort at det heller
ikke kan utelukkes.
De to som peker seg ut er dermed Kvalshaug og Willis. Kvalshaug er noe ustabil, mens Willis i første
omgang presenteres som den mest sannsynlige forfatteren i alle sammenligningene. Dette er noe
overraskende fordi spekulasjonene har gått mest på Kvalshaug og Alstadheim. En mulig årsak er
imidlertid at Willis grunnlagstekst er noe kortere enn de andre. Når man legger inn flere dokumenter
skrevet av Willis slik at algoritmen blir sikrere på Willis skrivestil, faller antall Willis prediksjoner til 6
av 15. For å komme videre, er det derfor nødvendig å lage større dokumenter som tillater en sikrere
beregning av ordfrekvens i de ulike dokumentene.

Dersom man legger sammen utdraget fra de ulike bøkene i ett stort dokument og bruker den
informasjonen man har tilgjengelig for de mulige forfatterne, viser det seg at Willis ikke lenger er den
mest sannsynlige forfatteren. I stede er det Alstadheim som vinner alle sine parvise sammenligninger
(mot Anne Holt, Herman Willis og Kvalshaug), mens Kvalshaug vinner mot de andre. Det kan tyde på
at Alstadheim eller Kvalshaug er forfatteren. Konklusjonen er imidlertid fremdeles usikker fordi tester
viser at resultatet endres noe når man forkorter lengden på dokumentene som brukes i
sammenligningen. Det kan også være andre forfattere som ikke er nevnt i diskusjonen. Metoden kan
bare teste de man har informasjon om. Man kan derfor ikke utelukke at andre personer som ikke er
testet, kan være forfatteren.

Konklusjonen er altså at Alstadheim og Kvalshaug og Willis har en ordfrekvens som samsvarer med
den man finner hos Anonym. Egeland, Døving, Geelmuyden og Nærum har ikke det.

Gitt temaets viktighet og konklusjonenes usikkerhet er det et klart behov for mer forskning på feltet
og at forskningsrådet, eventuelt i samarbeid med Næringsdepartementet, bør opprette et eget
forskningsprogram slik at vi kan få et bedre kunnskapsgrunnlag i denne saken.

You might also like