Typer tekst-mining/digital analyse av tekst

Her finner du en presentasjon av forskjellige tekstmining-metoder, som for eksempel n-gram-søk og kollokasjonsanalyser.

N-gram-søk

Et n-gram er en sekvens av et eller flere elementer («n antall elementer»), gjerne ord. Med n-gram-søk i digitale korpus kan vi få innblikk i ords forekomstmønster over tid.

N-gram kan være tekst eller tale. Som regel vil et n-gram tilsvare et ord, men det kan også være en bokstav, et fonem osv.

På ordnivå vil for eksempel «utenrikspolitikk» være et unigram (det består av ett ord), «EUs utenrikspolitikk» vil være et bigram, mens «EU og NATO» vil være et trigram, osv.

Tjenester for n-gram-søk gjør det mulig å raskt undersøke et ords eller et uttrykks forekomstmønster over tid. Vi kan undersøke den absolutte forekomsten av et ord i et korpus eller den relative forekomsten (det vil si ordets frekvens sett i forhold til andre ord i korpuset).

Når begynte man for eksempel å skrive om «bærekraftig utvikling» i norske aviser? Det kan man undersøke ved hjelp av Nasjonalbibliotekets n-gram-tjeneste NB N-gram. Google Books har også utviklet en n-gram-tjeneste, Google Books Ngram Viewer, for søk i sine korpus.

Eksempel på NBs n-gram-tjeneste
Nasjonalbibliotekets n-gram-tjeneste. Her vises de relative frekvensene for 'Sigrid Undset', 'Knut Hamsun', 'Camilla Collett' og 'Amalie Skram'.
Eksempel på Google Books n-gram-tjeneste
Google Books' n-gram-tjeneste. Her vises de relative frekvensene for 'Albert Einstein', 'Sherlock Holmes' og 'Frankenstein'.

Konkordansanalyser

I korpuslingvistikk, tekstmining eller digital tekstanalyse er konkordans en generert liste over hver forekomst av et bestemt ord i et digitalt korpus, med konteksten ordet forekommer i (et visst antall ord før og etter nøkkelordet) for hvert tilfelle. Konkordanser kalles også “nøkkelord i kontekst”/”keyword in context”.

Konkordansanalyser kan gi en god og rask oversikt over hvordan et ord er brukt på tvers av en digital samling av for eksempel aviser eller bøker.

I Nasjonalbibliotekets DH-Lab har de lagt til rette for konkordansanalyser av deres digitaliserte samlinger via applikasjonen Jupyter Notebook.

Med applikasjonen Voyant Tools kan du laste opp korpus fra din datamaskin og blant annet utføre konkordansanalyser.

Begrepet konkordans (concordantia, ‘overensstemmelse’) betegner en alfabetisk liste over ord i en tekst og hvor de befinner seg. Konkordanser har en relativt lang historie, for eksempel bibelkonkordanser fra middelalderen. Se konkordans i Store norske leksikon (hentet 23. mars 2021).

Se mer under vår presentasjon av verktøy og programpakker for tekstmining.

Kollokasjonsanalyser

Begrepet kollokasjon betegner ord som er assosiert med hverandre, som ofte forekommer sammen. I korpuslingvistikk, tekst-mining eller digital tekstanalyse er kollokasjoner en statistisk oversikt over ord som har høy relativ samforekomst med et nøkkelord vi tar utgangspunkt i.

Kollokasjonsanalyser kan være en inngang til å studere endringer i diskurs over tid. Vi kan for eksempel undersøke kollokasjoner med utgangspunkt i ordet ‘demokrati’ eller ‘sykdom’ i forskjellige perioder. Hvis ordet ‘diktatur’ viser seg å være nært assosiert, eller kollokert, med ‘demokrati’ på 1960- og 70-tallet, mens ordet ‘menneskerettigheter’ viser seg å dukke opp som det nærest assosierte ordet på 2000-tallet, kan det gi en indikasjon på en endring i «demokratidiskursen» innenfor korpuset vi analyserer.

I Nasjonalbibliotekets DH-Lab har de lagt til rette for kollokasjonssanalyser av deres digitale samlinger via applikasjonen Jupyter Notebook. Med applikasjonen Voyant Tools kan du laste opp korpus fra din datamaskin og blant sjekke det som der kalles «collocates». Se mer under vår presentasjon av verktøy og programpakker for tekstmining.

Temamodellering

Temamodellering, også kalt emnemodellering («topic modelling» på engelsk), er en metode som gjør det mulig å undersøke ords samforekomstmønster i tekster. Basert på en algoritmes statistiske beregning grupperes ord ut fra samforekomst og samvariasjon. Disse gruppene av ord (eller «clusters») kalles «temaer», «emner» («topics»). Selv om slike «temaer» i seg selv ikke er annet enn grupper av ord, satt sammen basert på statistiske beregninger, kan de gi forskeren innblikk i den tematiske strukturen i tekster.

Det finnes en rekke algoritmer for temamodellering. Latent Dirichlet Allocation (LDA) og BERTopic er noen eksempler. De forskjellige algoritmene gjør mer eller mindre det samme.

I Voyant Tools (se informasjon om Voyant Tools og hvordan ta i bruk Voyant Tools) finnes en implementering av LDA, som krever lite forhåndskunnskap om temamodellering hos brukeren. Ulempen er at det kan være vanskelig å forstå hva som genereres. Det anbefales at man leser seg opp på temamodellering.

Temamodellering kan også gjøres i Python og R/RStudio. Les om Python/Jupyter Notebook og R/Rstudio under vår presentasjon av verktøy og programpakker og hvordan komme i gang med verktøyene.

Korpussammenligning

Korpussammenligning som metode for digital tekstanalyse går ut på å undersøke hvilke ord som er overrepresenterte i et delkorpus, sammenlignet med et større referansekorpus. Man kan for eksempel undersøke hvilke ord som er overrepresenterte i de politiske talene til én statsleder, sammenlignet med talene til et større utvalg av statsledere i løpet av en historisk periode.

Sammenligning av korpus kan gjøres i AntConc (se det beskrevet skritt for skritt hos The Programming Historian). Slike analyser kan også gjøres i Python og R/RStudio. Les om AntConc, Python/Jupyter Notebook og R/Rstudio under vår presentasjon av verktøy og programpakker og hvordan komme i gang med verktøyene.

Automatisk navnegjenkjenning

Programmer for automatisk gjenkjenning av navn («Named Entity Recogntion» på engelsk) gjør det mulig å identifisere for eksempel egennavn og/eller stedsnavn i tekster. Ved hjelp av teknikker for «disambiguering» (hvis for eksempel et stedsnavn referer til flere geografiske lokasjoner) kan vi blant annet identifisere og visualisere de geografiske områdene som er omtalt i et tekstkorpus.

Automatisk navnegjenkjenning i tekstkorpus kan gjøres i Python. Se eksempel med Jupyter Notebook for å konstruere navnegrafer i Nasjonalbibliotekets DH-Lab. Se også video fra fagarrangement på NB om analyse av stedsangivelser i litteratur. Slike analyser kan også gjøres i R/RStudio. Les om Python/Jupyter Notebook og R/Rstudio under vår presentasjon av verktøy og programpakker og hvordan komme i gang med verktøyene.

Sentimentanalyse

Sentimentanalyse («sentiment analysis» eller også kalt «opinion mining» på engelsk) er automatiserte metoder for å identifisere affektive tilstander i datasett. Dette gjøres ved å systematisk trekke ut uttrykk for subjektive meninger og følelsesmessige evalueringer i materialet. Sentimentanalyse er mye brukt i markedsføring og reklame, men også i undersøkelser av tonen i politisk kommunikasjon, i offentlig debatt, sosiale medier og i forbindelse med studier av plott og sjanger i litterære korpus med mer.

I sentimentanalyse av tekstdata benyttes ofte digitale sentimentordlister eller datasett der ord og uttrykk er tildelt en score ut fra emosjonell ladning. Kvaliteten på resultatene vil avhenge av i hvilken utstrekning ordlistene og datasettene er trent på forskjellig type tekst, blant annet med tanke på hvordan ords kontekst tas med i betraktning.

Forskere ved UiO har utviklet datasett for sentimentanalyse på norsk. Se dokumentasjon og informasjon på GitHub.

Slike analyser kan også gjøres i Python og R/RStudio. Les om Python/Jupyter Notebook og R/Rstudio under vår presentasjon av verktøy og programpakker og hvordan komme i gang med verktøyene.

Publisert 27. mai 2021 13:42 - Sist endret 16. juni 2022 09:18