Nødrimsgenerator

«Han stjal en ambulanse

For å bli i enda bedre humør av å se dere danse»

Nødrimsgeneratoren på Maker Faire 2014. Foto: F H Juell

Våren 2013 fikk Scriptoteket en forespørsel fra UBs arrangørkomité for UiO-festivalen om å komme med et bidrag til festivalen. Etter et raskt møte kom vi frem til at å leke med ord er både gøy og passende for et bibliotek å bedrive. Siden en av oss tilfeldigvis hadde ca. en milliard setninger hjemme på serveren i stua på passet det bra å oppgradere kjøleskapsrim til dets virtuelle motpart:

Nødrimgeneratoren var født!

I hvertfall på papiret. Å få den realisert i løpet av noen snaue uker (som alt for raskt ble om til noen snaue dager) viste seg å by på forventede, men også uforventede problemer.

Du og jeg og vi to seilte i en tresko.
I går da jeg la meg,
neste jul skal ønske meg innesko.

Konseptet

Ideen var å la brukere sende inn første linje av et vers og la maskinen prøve å få til et rim basert på dette, og så vise rimet på storskjerm. Enderim ble ansett som det greieste å utvikle og som forhåpentligvis ville resultere i de mest amatørmessige rimene - vi skulle jo lage en nødrimgenerator, tross alt. Vi bestemte oss for å benytte oss av SMS-innsending av linjer fra brukerne for å nå flest mulig folk. Ikke alle har telefoner med nettlesere eller QR-kode-lesere eller vet hvordan å bruke dette. I tillegg er det upraktisk å bruke tastatur og mus med storskjermer siden man må være så langt unna for å se hele skjermen.

Vi bestemte oss også for å gi nødrimgeneratoren muligheten til å kunne hente første strofe fra kjente norske sanger og dikt. Slik kunne generatoren nødrime uten å trenge SMS'er fra brukere. Ettersom UiO-festivalen skulle huse anerkjente navn som Lars Lillo Stenberg og Jan Erik Vold var det passende å bruke linjer fra nevntes sanger og dikt, om ikke annet for å legge enda litt mer forventningspress på vår vesle generator.

Hun spiller pønkbassgitar.
Mange som har sympati for henne,
mens menn mener kyssets viktighet avtar.

Og jeg er en hyggelig fyr.
Dette er en meget velutstyrt komfyr.

Og en badebukse det var flaks at jeg fant.
Hun er ekstremt opptatt av ting som utseende og god tilgjengelighet iblant.

Løsningen

Hvis man skal få en maskin til å bli dikter trenger man (minst) å ha to grunnleggende elementer på plass: 1) mange ord, og 2) regler for hvordan disse ordene skal settes sammen.

Vi hadde allerede mange ord sanket fra Internett, men siden ingen av oss er lingvister ville det blitt for komplekst og/eller tidkrevende for oss å lage komplekse grammatiske regler.

Løsningen på dette ble å bruke den allerede innebygde strukturen i frasene vi hadde sanket, dvs. med noen få enkle regler overlate mesteparten diktingsprosessen til maskinen, noe som også passet bra med konseptet at dette skulle være dikt laget av en maskin.

Databasen med ord består av omtrent 1 milliard såkalte 'seksgram', dvs. fraser på eksakt seks ord adskilt med mellomrom.
Fra disse seksgrammene bygges enderimslinjene opp baklengs mot begynnelsen av linja med utgangspunktet i et ord som rimer på endeordet i den innsendte førstelinja.

Hvis f.eks. førstelinja er denne (i dette tilfellet hentet fra en barnesang):

«Per spelmann han hadde ei einaste ku»

prøver maskinen å finne et seksgram som ender med «...ku».

I et tilfelle på Maker Faire Oslo ble dette enderimet generert:

«Er lei av at han alltid starter med et nostalgisk anlagt varsku»

Nødrimgeneratoren fant fornuftig nok ut at «varsku» rimer med «ku» og fant dette seksgrammet:

 «starter med et nostalgisk anlagt varsku»

fordi det ender med «...ku».

Men dette er bare slutten av rimet.
For å ende opp med en komplett setning fortsetter maskinen å bygge opp setningen med to nye overlappende biter av seksgram, i dette tilfellet slik:

'Er lei av at han alltid'

              'at han alltid starter med et'

                                  'starter med et nostalgisk anlagt varsku'

 

(fra høyre til venstre)


Man ser at algoritmen nødrimgeneratoren bruker er veldig enkel:

  1. Finn de to eller tre siste bokstavene i siste ord i første linje.
  2. Finn et seksgram som ender på disse to/tre bokstavene.
  3. Bygg opp to seksgram til som overlapper med tre og tre ord.
  4. Det er ikke lov å rime med samme ord (selv nødrim bør kjenne sine grenser...)

Til slutt tok det noen dager å utvikle, men den enkle enderimeregelen lager fine nødrim, og overlappet på seksgrammene sørger for at linjene er noenlunde grammatikalske og delvis meningsbærende.

Politisk ukorrekte tilfeldigheter

Et par dager før lanseringen av nødrimgeneratoren på UiO-festivalen, støtte vi på et uforutsett problem: Nødrimgeneratoren var politisk ukorrekt!

Den genererte tilfeldige nødrim basert på uskyldige barneregler som var så politisk ukorrekte eller støtende for mennesker at de ikke kan vises på trykk i denne bloggen og slett ikke representere UB på storskjerm! Vi kan ikke gjengi disse i helhet her, men vi kan driste oss til å vise noen av de mindre drøye:

De på-kanten:

«Nå hadde det vært godt med pølse
Det er lenge siden hun brukte kniv på seg for egen beskyttelse.»

De ukorrekte:

«Min hatt den har tre kanter
Ber foreldre holde seg edru i julen, og en velfortjent ferie venter.»

og de depressive eller sarkastiske:

«Fløy en liten blåfugl gjennom vindu
Takk for at vi fikk hilse på de nyfødte gjennom et glassvindu.»

Dermed trengte vi noe som overvåker og korrigerer informasjon, mye som Orwells Sannhetsministerium eller Gilliams Informasjonsjusterings-departement. Løsningen ble å gi våre byråkrater i disse ministeriene muligheten til å slette eller foreslå nye rim dersom generatoren blir for drøy. For å enkle prosessen ble informasjonsjusteringen gjort via mobiltelefonene til byråkratene.

Det første nødrimgeneratoren gjorde på Maker Faire Oslo var å generere dette utakknemmelige rimet:

«Lisa gikk til skolen
Merkeleg kor nedbrutt eg blir av å vere her til over festivalen»

Ikke akkurat politisk ukorrekt, men kanskje ikke den beste måten å ønske folk velkommen til Norges første Maker Faire på‽

Teknisk informasjon

Seksgrammene ble laget fra å sanke inn norske setninger på Internett via 'webcrawling' og lagt inn i en MySQL-database. Rimene bygges opp fra SQL-spørringer mot denne MySQL-basen. Diktene vises deretter på storskjerm i browser, der php, HTML 5 og jQuery er brukt. Administrering av nødrimene med mobiltelefon gjøres via en nettside.

Nødrimsgeneratoren på Maker Faire 2014. Foto: L H Kvale

Utdrag av nødrim fra Maker Faire Oslo

Her er noen av nødrimene laget med utgangspunkt i SMS'er sendt inn fra besøkende på Maker Faire (første linje er SMS, andre linje er laget av vår vordende virtuelle poet):

Nei og nei, mitt stakkars hjerte
Jeg vet at han skulle fly rett på meg, femti meter borte

Jeg spiste smitt og smule
Sri Lanka er landet som kan by ungane i kommunen gratis kulturskule

Uten forvarsel åt han
De sjeldene gangene han måtte trå til med diplomati på høyt plan

Jeg ler og smiler og er så utrolig blid
Veldig ekkelt akkurat det, men det virker som sagt ikke ekstremt solid

Kalkuner
Det er akkurat som en helt normal dag for alle oss kvinner

Blodet frøs til is i årene
Vi vil leve lenge, men ingen tårer kommer fra de mørke øynene

Ingen ting slår Lego
Hodepinen gir lette til middels sterke harde oster som parmesan og manchego

 

Og her er de som ble generert fra barnesanger (første linje er fra barnesangene, andre linje er laget av vår vordende virtuelle poet – dersom det skulle være tvil):

Nøtteliten bor i toppen av et tre
Jeg fikk ikke se andre mennesker, virkelig se mennesket bak sitt ytre

Fløy en liten blåfugl, gjennom vindu gjennom vindu, gjennom vindu
Saken er at de ikke lenger er adskilt av et glassvindu

Her kommer Pippi Langstrømp, tjolahopp tjolahej tjolahoppsan-sa
Kanskje aller mest gledelig er det at flere svenske førskolelærere krysser grensa

Per spelmann han hadde ei einaste ku
Det kan skytes inn at også småsyke melkekyr blir omplassert som ammeku

Hoppe sa gåsa danse sa reven
Det blir satt tvil her om at den figuren var altfor overdreven

Blåmann, Blåmann bukken min, tenk på vesle guten din
Vet ikke hvordan jeg skal løse problemet med todelt vindu og liftgardin

Å hompetitten hompetatten hompetitten teia
Vet hva det er, men det hjelper vel å komme over greia

Alle fugler små de er kommet nå tilbake
Og hvis de klarer det, så må jammen jeg begynne og bake

Fløy en liten blåfugl, gjennom vindu gjennom vindu, gjennom vindu
Det er bare å slippe inn maksimalt med dagslys gjennom smalt kjellervindu

 

Av Kyrre T. Låberg, Dan Michael O. Heggø
Publisert 22. jan. 2014 19:04 - Sist endret 18. aug. 2016 08:03