Kan kunstig intelligens vippe dronningen af pinden som nytårstaleskriver?
Vi har fodret en computer med dronningens 50 nytårstaler og bedt den skrive en ny. Den nye superchatbot ChatGPT fik samme instruks. Hvem klarer sig bedst?
dronning margrethe vinker. Hun har en hat på

Dronningens nytårstaler er et fast indslag i de fleste danskeres nytårsaften. Men hvordan kan vi egentlig vide, at det ikke er en computer, der har skrevet dem for hende? (Foto: Shutterstock)

Dronningens nytårstaler er et fast indslag i de fleste danskeres nytårsaften. Men hvordan kan vi egentlig vide, at det ikke er en computer, der har skrevet dem for hende? (Foto: Shutterstock)

Det nye år står for døren, og som altid markeres overgangen med dronningens nytårstale.

Med dronningens nytårstale følger også de sædvanlige spekulationer om, hvad regenten mon vil adressere i sin tale.

Hvilke begivenheder fra året, der gik, vil blive nævnt? Hvilke begivenheder udelades? Hvad med søens folk? Og skal Gud stadig bevare Danmark?

Med alle disse spekulationer og al den opmærksomhed vedrørende dronningens nytårstale kunne det være sjovt, hvis man ved hjælp af matematik og moderne statistiske metoder kunne få sin computer til at skrive et bud på dronningens nytårstale for os.

Hvis man fodrer sin computer med alle data omkring dronningens tidligere nytårstaler, kan man så få computeren til at lave et bud på en autogenereret nytårstale?

Vi forsøgte med vores helt egen model. Efterfølgende gav vi den nye superchatbot ChatGPT samme opgave: Skriv en nytårstale.

Læs med og se, hvilken model der klarede sig bedst – og om de kunne måle sig med dronningen.

Fakta
Om Forskerzonen

Denne artikel er en del af Videnskab.dk’s Forskerzonen, hvor forskerne selv formidler deres forskning, viden og holdninger til et bredt publikum – med hjælp fra redaktionen.

Forskerzonen bliver udgivet takket være støtte fra vores partnere: Lundbeckfonden, Aalborg Universitet, Roskilde Universitet og Syddansk Universitet og Region Hovedstaden.

Forskerzonens redaktion prioriterer indholdet og styrer de redaktionelle processer, uafhængigt af partnerne. Læs mere om Forskerzonens mål, visioner og retningslinjer her.

Det menneskelige sprog er svært at imitere

Når computere arbejder med tekst, kalder man det ofte for ’natural language processing’ (NLP), som kan oversættes til ’naturlig sprogbehandling’.

Du kender det formentlig allerede fra din smartphone, hvor telefonen både forsøger at gætte sig til, hvilket ord du gerne vil skrive, og forsøger at gætte sig til, hvilket ord du vil skrive som det næste.

Grundlæggende er NLP et tværdisciplinært område af datalogi, lingvistik og kunstig intelligens, der forsøger at få maskiner, der ellers kun kan kommunikere i sekvenser af bits, til at tilegne sig det menneskelige sprog.

Det kan lyde meget simpelt, men at få en computer til i praksis at genkende de mange indforståede og subtile nuancer ved det menneskelige sprog er meget svært.

Der er mange implicitte og kontekstuelle detaljer ved tekst og tale, som vi mennesker helt naturligt opfatter, men som en computer ikke nødvendigvis kan forstå på samme måde.

Et eksempel kunne være en sarkastisk eller ironisk sætning, hvor forståelsen af sætningen er meget afhængig af den kontekst, som den indgår i.

Eksempler på det er 'sikke da en smart hat, du har på', og 'du er sjov', som i mange kontekster ville være ironiske, men det kan være svært for en computer at forstå.

Computere kan let generere sådanne sætninger – uden at være klar over, at de kan forstås på flere måder.

Ofte kaldes forståelse af tekst også for ’sentiment analysis’ (der nok bedst kan oversættes til meningsanalyse), et område indenfor NLP (se dette indlæg på sandsynligvis.dk om netop sentiment analysis af dronningens nytårstaler).

En del af vores hverdag allerede

Trods manglerne er NLP utroligt anvendeligt, eksempelvis i smartphones som nævnt ovenfor.

Andre eksempler på anvendelser af NLP og automatisk generering af ord kunne være e-mail-spamfilter, der automatisk detekterer og kategoriserer e-mails med en bestemt ordlyd som spam.

Et andet eksempel er diverse søgemaskiner, der forsøger at gætte sig til, hvad du vil søge på og automatisk udfylder søgefeltet med relevante ord.

Mange har måske også mødt chatbotter, der forsøger at hjælpe besøgende på hjemmesider med problemer (eller få fat i den rigtige kundeservicemedarbejder).

NLP indgår med andre ord i vores dagligdag hele tiden, uden at vi tænker over det.

Dronningens tale skal skæres i spiselige stykker

Hermed er vi tilbage ved vores mål: Hvordan får vi computeren til at autogenerere tekst, der kunne være dronningens nytårstale?

Da kunstig intelligens er et meget populært forskningsområde med ekstremt mange anvendelser i samfundet, findes der et hav af udviklede og veltestede metoder til at afprøve på vores problem.

Fælles for mange af disse metoder er, at man er nødt til at opdele teksten i bidder (tokens). På engelsk hedder denne opdeling ’tokenization’.

Den specifikke forklaring på, hvordan det konkret gøres, involverer lidt statistik og et par matematiske ligninger (det kan du dykke ned i i boksen under artiklen).

Her vil vi blot fremhæve, at det grundlæggende handler om at opdele teksten i helt små bidder – ned til ét eller to tegn – hvorpå man kan give sin model redskaber til at beregne, hvad den næste del i sætningen sandsynligvis skal være.

Når dronningens taler laves til små bidder

Vi vælger ligeledes at benytte os af ’tokenization’, når vi skal gøre dronningens taler spiselige for vores computer.

Indledningsvist vælger vi at fjerne alle tilfælde af ’Gud bevare Danmark’ fra alle talerne for at undgå, at den autogenererede tale ikke bare er ’Gud bevare Danmark’ gentaget 50 gange.

Derefter tager vi samtlige taler fra 1972 til 2021 og gemmer dem som én stor tekstfil, hvorpå vi vælger at splitte tekststykket op efter enkelte karakterer – de kaldes 1-grams.

Her skal en karakter forstås som den mindste enhed i et tekststykke, det vil sige mellemrum, bindestreg, udråbstegn, bogstaver og tal.

Hvad man vælger at gøre yderligere ved sit tekststykke efter denne indledende processering, afhænger meget af den konkrete model, man anvender.

Computeren skal hjælpes på vej

Vi har i dette eksempel valgt at benytte os af et neuralt netværk til at få computeren til at autogenerere teksten.

Man kan tænke på et neuralt netværk som en måde at sammensætte og opbygge betingede sandsynligheder på.

Computeren fodres med data, i det her tilfælde dronningens nytårstaler, og så finder det neurale netværk selv ud af at estimere de betingede sandsynligheder.

Man skal dog hjælpe det neurale netværk lidt på vej, da det ikke bare selvstændigt kan opbygge en sandsynlighedstabel ud fra de ufiltrerede nytårstaler.

Det gør man ved, at computeren får mulighed for at se så mange sætninger og karakterer som muligt, så den selv kan opbygge en sandsynlighedstabel.

Netværket kan dermed selv opdage mønstre i datasættet og få en idé om, hvilke karakterer der højst sandsynligt kommer efter andre bestemte karakterer.

Vi laver derfor et datasæt, der består af sætninger fra nytårstalerne, hvor der til hver sætning er associeret den næste karakter efter sætningen – det vil sige næste 1-gram.

Vi vælger desuden en makslængde på 40 karakterer. Denne makslængde skal ligeledes bruges i opbyggelsen af datasættet.

Hele tekstfilen med nytårstalerne køres nu igennem, hvor sætninger med længde på 39 karakterer gemmes og dertil gemmes også den næste karakter i teksten, altså den fyrretyvende karakter.

Vi rykker derefter startplaceringen 3 karakterer frem og gentager proceduren med at gemme sætningen bestående af de næste 39 karakterer samt den efterfølgende karakter.

Forvirret? Så har vi heldigvis et par eksempler til dig.  

Sådan foregår det i praksis

Lad os bruge nedenstående julesætning som et eksempel:

Mein Vater war ein sehr berühmter Spürhund aus Düsseldorf

Nu vælges de første 39 karakterer (markeret med [ ]). Den fyrretyvende (markeret med ’ ’) skal derfor udregnes på baggrund af de foregående 39.

[Mein Vater war ein sehr berühmter Spürh]“u”

Så rykker vi tre karakterer ind i teksten og gør det samme igen. Her skal den altså gætte et ’ ’. (mellemrum):

[n Vater war ein sehr berühmter Spürhund] ’’

Og igen. Nu skal den forudsige, at det næste tegn er ’s’:

[ater war ein sehr berühmter Spürhund au] ‘s’

Og så videre.

Lad os prøve samme øvelse med den første sætning fra dronningens første nytårstale fra 1972:

For min familie og for mig selv blev dette år skelsættende ved min fader kong Frederiks sygdom og død.

Den første sætning i datasættet vil derfor blive: ’For min familie og for mig selv blev de’, hvor den næste karakter er t.

Den anden sætning bliver derfor: ’min familie og for mig selv blev dette’, hvor den næste karakter er ’ ’ (mellemrum).

Denne procedure gentages og resulterer i 114.614 sætninger (39 tegn) med tilhørende 114.614 sandsynligheder for den fyrrende karakter i alt i datasættet.

Når modellen har opbygget en sandsynlighedstabel over karaktererne, bruger den denne til selv at strikke sætninger sammen.

Mere om neutrale netværk

Der findes et hav af referencer vedrørende neurale netværk, blandt andet har den matematiske YouTube-kanal ’3Blue1Brown’ en fremragende videoserie omhandlende dette emne.

Derfor vil vi ikke gå nærmere ind i de tekniske detaljer vedrørende neurale netværk her, men bare bruge de estimerede betingede sandsynligheder.

Metodikken, vi har brugt i det ovenstående, er beskrevet her med nogle små modifikationer.

Hvad er ’samfundsmille’, ’Gulkinstang’ og ’hillest’?

Mon det lykkedes at få det neurale netværk til at lave en nytårstale, der kan ligne den ægte vare?

Njah… Det ville nok være en overdrivelse at kalde resultatet for en gedigen succes, da teksten ikke just ser menneskeskrevet ud – i hvert fald ikke af en, der mestrer sproget:

»Det er nok derfor, hvor de og deres brog små, at det nye år står også berører os alle sammen.

Det er en del af en tak for det grønlandske samfund.

Det er nok daligdagen, og at det ikke er stolte af det nye år siden en venner og forskellig for at komme deres betydning, der står også meget at sige tak for det gamle år.

Min nytårshilsen må blive travl for dem alle.«

Ikke desto mindre er det lykkedes for det neurale netværk at tilegne sig karakteristika ved det danske sprog, og der indgår velkendte fraser (f.eks. ’berører os alle sammen’) og emner fra tidligere nytårstaler som eksempelvis Grønland.

Hvis du synes ovenstående er delvist på vej, men også har elementer af volapyk, skal du bare se det næste:

»Det er sammen med det nye år med besøg hilsen med det ganske samfundsmille været i lille del i Gukinstang og min families hillest, og som har vi er sammen til at se ikke forskel af det.

I aften stadig er et fremmedeshåndsommet af deres tak for det forskåns betydning.«

Hvad er ’samfundsmille’, ’Gukinstang’, ’hillest’ eller fremmedeshåndsommet? Det er nonsens-ord.    

Og de fleste vil ved første øjekast kunne se, at de sætninger ikke er menneskeskrevet og da slet ikke af dronning Margrethe.

Kort sagt: Vores model er langt fra at kunne konkurrere med dronningen.

Hvornår er kunstig intelligens intelligent nok?

Forskere og andre eksperter diskuterer af og til, hvor god en kunstig intelligens er.

Et kriterie, som man nogle gange bruger, er, at man ikke skal kunne skelne computeren fra et menneske (altså hvad de foretager sig) – i så fald er den kunstige intelligens god.

Dette kalder man for Turing-testen, opkaldt efter den berømte matematiker og datalog Alan Turing.

Vores lille projekt havde ikke til formål at bestå en Turing-test (og ville ikke have en chance i en sådan – du kan læse mere om den og Turing her).

Vi ville ’blot’ introducere kunstig intelligens i relation til tekst og computere. Og trods de åbenlyse fejl, er det værd at bemærke, hvor meget af det danske sprog og dronningens sprogbrug, netværket har tilegnet sig.

Sådan kan vores model forbedres

Vores netværk er blevet trænet på en relativt begrænset datamængde bestående af 343.883 karakterer fordelt på 95 unikke karakterer.

Selvom det umiddelbart kan lyde af meget, er det peanuts i forhold til de datamængder, som de allerbedste AI bliver trænet på.

Netværket havde desuden 126.943 forskellige parametre, som det kunne justere på, når det blev fodret med sætningerne, og det estimerede de betingede sandsynligheder.

En mulig forbedring af modellen kunne være at øge datamængden.

Der findes selvfølgelig kun 50 nytårstaler af dronningen, men man kunne eventuelt også fodre netværket med centrale nyheder og begivenheder fra det forgangne år.

Det er jo her, at dronningen primært henter indholdet til sin nytårstale, og man kunne derfor tage et tværsnit af artikler fra forskellige medier, der omhandler årets væsentligste begivenheder.

… men det øger også beregningstiden

Man kunne selvfølgelig også øge antallet af gange, som netværket bliver trænet på tekstmængden, men det har den hage, at beregningstiden også ville blive forøget.

Det tog i forvejen over 24 timer for netværket at blive trænet og generere talerne, når der var allokeret 3 til 4 gigabyte RAM til processen, så det er allerede en beregningstung affære.

Nonsens-ordene ovenfor som ’Gukinstang’ trækker naturligvis kvaliteten af den genererede tekst ned

For at komme disse til livs kunne man importere en dansk ordbog, og således få computeren til at lave et ordbogsopslag ved længere ord for at bekræfte, om det rent faktisk er et rigtigt ord.

Igen er der den hage, at beregningstiden vil blive forøget yderligere, hvis modellen også skal søge igennem hele det danske sprog, når den genererer tekst.

Den nye sensation har 175 milliarder parametre

Problemstillingen ovenfor med at autogenerere tekst ud fra et givent tekststykke er blot ét eksempel på den række problemer, der i dag løses med metoder fra kunstig intelligens og ’machine learning’.

Interessen for disse emner er eksploderet de seneste år.

Og har du fulgt lidt med i danske eller udenlandske medier de seneste uger, er du formentlig stødt på en ny chatbot. 

»Verdens hidtil klogeste sprog- og chatbot har vakt vild opsigt, fordi den kan løse en universitetseksamen og besvare alverdens spørgsmål med et overbevisende sprog og forstand, der eksempelvis kan bruges til snyd i gymnasiet«, som Videnskab.dk skrev forleden.

Den professionelt udviklede sprogmodel, chatbotten bygger på, hedder GPT-3 (’Generative Pre-trained Transformer 3’) og er udviklet af firmaet OpenAI. De anvender ligeledes neurale netværk og metoder fra kunstig intelligens.

GPT-3 er state of the art indenfor kunstig intelligens og NLP.

GPT-3 har hele 175 milliarder parametre, der kan justeres på – over en million gange flere parametre end vores netværk med 126.943 parametre.

Turing-NLG sprogmodellen udviklet af Microsoft var markedsførende, inden GPT-3 så dagens lys, og havde ’kun’ 10 milliarder parametre.

GPT-3 kan udføre mange forskellige opgaver indenfor NLP.

Den kan autogenerere tekst, færdiggøre sætninger, føre en samtale og klassificere sætninger i forskellige kategorier efter sætningens tone, længde osv.

Den bedste kunstige nytårstale

En speciel version af GPT-3 hedder ChatGPT, der er en chatbot, man kan skrive noget til, og så svarer den.

Hvis man for eksempel giver ChatGPT følgende simple instruks: ’Skriv et eksempel på dronningens nytårstale, der nævner krigen i Ukraine, de stigende priser på vaniljekranse, og hvor der er en hyldest til søens folk’, får man outputtet:

»Kære landsmænd og landsmændinder,

Jeg tager mig denne lejlighed til at ønske jer alle et godt nytår. Vi skal huske at værdsætte hinanden og det liv, vi har sammen, selv i de mørkeste tider.

Som I ved, har vi været igennem en svær tid med krigen i Ukraine, der har påvirket mange af vores borgere og fået mange af os til at føle en dyb sorg. Lad os huske på de mennesker, der har mistet deres kære i konflikten, og lad os fortsætte med at arbejde for fred og forsoning.

Samtidig har vi måttet se stigninger i priserne på mange af de ting, vi holder af, herunder de dejlige vaniljekranse, som vi elsker at spise på denne tid af året. Lad os huske at være taknemmelige for det, vi har, og lad os forsøge at spare, hvor vi kan, for at imødegå de økonomiske udfordringer.

Endelig vil jeg gerne benytte lejligheden til at hylde alle de søfolk, der arbejder hårdt for at holde vores land i drift.

Uanset om de sejler på de store oceaner eller på vores indre farvande, gør de en kæmpe indsats for at sikre, at vi kan fortsætte med at leve det gode liv. Lad os huske at sige tak til dem for alt det, de gør for os.

Jeg ønsker jer alle et godt nytår, og lad os arbejde sammen for at skabe en bedre fremtid for os alle.

Med kongelig hilsen,

Dronningen.«

Er man ikke tilfreds med ovenstående, kan man forsøge sig med andre instrukser, som eksempelvis herunder.

dronning margrethe_chatbot_kunstig intelligens

Endnu et eksempel på en (del af en) nytårstale fra chatGPT. Det tager chatbotten under ét minut at skrive ovenstående tekst. Hvis du selv vil eksperimentere med at få chatbotten til at lave nytårstaler, kan du prøve her. (Foto: Screenshot fra chatGPT). 

Dilemmaer og muligheder

Ovenstående nytårstale lider ikke af de åbenlyse fejl, som sætningerne genereret af vores model gjorde.

Det er fuldstændigt ligner umiskendeligt noget, som et menneske kunne have skrevet.

Man kan dog få en fornemmelse af, at ovenstående ikke er menneskeskrevet ud fra de meget generelle og vage konstateringer, som ChatGPT kommer med.

Det er ikke desto mindre imponerende, at ChatGPT med denne simple instruks kunne generere ovenstående på ingen tid.

At AI nu kan emulere det menneskelige sprog noget nær fejlfrit rejser selvfølgelig en lang række af moralske og etiske dilemmaer, men det åbner også for en masse nye muligheder for fremtiden.

Hvad der kommer til at fylde mest i det nye år, må tiden vise. Indtil da kan vi glæde os over, at dronningen er her til at holde en vaskeægte, menneskeskrevet tale for hele nationen.

Godt nytår.

Mere om opdeling af tekst i bidder

Der er mange måder at opdele en tekst på i mindre bidder (tokens). Eksempelvis kan ’tokens’ være sætninger, ord eller enkelte karakterer. Ofte laver man såkaldte n-grammer, for eksempel er 1-grammer ét tegn, imens 2-grammer er to tegn osv.

Hvis man arbejder med 2-grammer, kan man lave en sandsynlighedstabel, der viser sandsynligheden for, hvad 2-gram skal være i sætningen. Dette kan beskrives ved hjælp af betingede sandsynligheder, for eksempel som på billedet herunder:

Disse betingende sandsynligheder kan computeren så lære ud fra en masse tekst (f.eks. bøger, Wikipedia osv.).

Givet man har bogstaverne  ’ju’ og skal gætte de næste to, kan man opbygge sandsynligheder for, hvad det næste 2-gram er.

Eksempelvis er det nok mere sandsynligt, at det næste 2-gram er ’le’ (så ordet bliver ’jule’) end ’æå’ (så ordet bliver ’juæå’, der ikke findes).

Alle må bruge og viderebringe Forskerzonens artikler

På Forskerzonen skriver forskere selv om deres forskning. Vi mener, det er vigtigt, at alle får mulighed for at læse om forskning fra forskerens egen hånd.

Alle må derfor bruge, kopiere og viderebringe Forskerzonens artikler udfra følgende enkle krav:

  • Det skal krediteres: 'Artiklen er oprindelig bragt på Videnskab.dk’s Forskerzonen, hvor forskerne selv formidler'. Hvis artiklen bringes på web, skal der linkes til artiklen på Forskerzonen.
  • Artiklen må ikke redigeres og skal bringes i fuld længde (medmindre andet aftales med forskeren).
  • Du skal give forskeren besked om, at du genpublicerer.
  • Artikler, som er oversat fra The Conversation, skal have indsat en HTML-kode til indsamling af statistik i bunden. HTML-koden finder du i den originale artikel på The Conversations hjemmeside ved at klikke på knappen "Republish this article" ude til højre, derefter klikke på 'Advanced' og kopiere koden. Du finder linket til artiklen på The Conversation i bunden af Forskerzonens oversatte artikel. 

Det er ikke et krav, men vi sætter pris på, at du giver os besked, hvis du publicerer vores indhold (undtaget indhold fra The Conversation). Skriv til redaktør Anders Høeg Lammers på ahl@videnskab.dk.

Læs mere om Forskerzonen i Forskerzonens redaktionelle retningslinjer.

Videnskab.dk Podcast

Lyt til vores seneste podcasts herunder. Du kan også findes os i din podcast-app under navnet 'Videnskab.dk Podcast'.

Videnskabsbilleder

Se de flotteste forskningsfotos på vores Instagram-profil, og læs om det betagende billede af nordlys taget over Limfjorden her.

Ny video fra Tjek

Tjek er en YouTube-kanal om videnskab henvendt til unge.

Indholdet på kanalen bliver produceret af Videnskab.dk's videojournalister med samme journalistiske arbejdsgange, som bliver anvendt på Videnskab.dk.

Hej! Vi vil gerne fortælle dig lidt om os selv

Nu hvor du er nået helt herned på vores hjemmeside, er det vist på tide, at vi introducerer os.

Vi hedder Videnskab.dk, kom til verden i 2008 og er siden vokset til at blive Danmarks største videnskabsmedie med omkring en million brugere om måneden.

Vores uafhængige redaktion leverer dagligt gratis forskningsnyheder og andet prisvindende indhold, der med solidt afsæt i videnskabens verden forsøger at give dig aha-oplevelser og væbne dig mod misinformation.

Vores journalister fortæller historier om både kultur, astronomi, sundhed, klima, filosofi og al anden god videnskab indimellem - i form af artikler, podcasts, YouTube-videoer og indhold på sociale medier.

Vi stiller meget høje krav til, hvordan vi finder og laver vores historier. Vi har lavet et manifest med gode råd til at finde troværdig information, og vi modtog i 2021 en fornem pris for vores guide til god, kritisk videnskabsjournalistik.

Vores redaktion gør en dyd ud af at få uafhængige forskere til at bedømme betydningen af nye studier, og alle interviewede forskere citat- og faktatjekker vores artikler før publicering.

Hvis du går rundt og undrer dig over stort eller småt, vil vi elske at høre fra dig og forsøge at give dig svar med forskernes hjælp. Send bare dit spørgsmål til vores brevkasse Spørg Videnskaben.

Vi håber, at du vil følge med i forskningens forunderlige opdagelser her på Videnskab.dk.

Få et af vores gratis nyhedsbreve sendt til din indbakke. Du kan også følge os på sociale medier: Facebook, Twitter, Instagram, YouTube eller LinkedIn.

Med venlig hilsen

Videnskab.dk