I vårt siste blogginnlegg handlet det om hvordan det føles å skrive med en chatbot. Dette innlegget skal handle om Hilda, som er vår fysiske robot, som vi kan snakke med. Hun er også basert på GPT-3, men opplevelsen av å snakke med henne er ganske annerledes enn når man skriver med den tekstbaserte chatboten, som for øvrig har fått arbeidsnavnet Helge nå (fordi det passet til Hilda). Hilda og Helge utgjør to nesten diametrale motsetninger på mange måter fordi det å kommunisere via en skriftlig bot vs en verbal bot oppleves svært forskjellig.

Hilda, vår snakkende robot
Hilda er klar til å snakke med oss.

Vi har nylig fått tilgang til det som akkurat nå må være den beste og nyeste AI-teknologien som brukes til dialog- og chatbots. Den er basert på GPT-3 modellen som vi har skrevet om allerede, som gir imponerende resultater innenfor alt fra autooversettelser, historiefortelling, nyhetsartikler og programmering innenfor en rekke områder.

Open AI API’et er ikke overraskende utviklet av gjengen rundt Google og en rekke andre samarbeidspartnere, blant annet Microsoft. Det skal presiseres at det er snakk om en beta-utgave.

Vår robot, Hilda, bruker tale til tekst og er også satt opp med GPT-3.

Den største språkmodellen som finnes i dag er GPT-3. Den ble lansert av OpenAI i fjor, og imponerte en hel verden av AI-interesserte med sine evner til å løse ulike NLP-oppgaver. Modellen er basert på samme arkitektur som sin forgjenger GPT-2, men med 175 milliarder parametere er den mer enn hundre ganger så stor. Den er også trent på et langt større datasett. Dette har vist seg å øke prestasjonen betraktelig. Det har også introdusert konseptet prompt programmering innen NLP. Hva betyr egentlig dette for oss?

Nevrale nettverk finner man i dag nærmest overalt. Bruker du ansiktsgjenkjenning for å låse opp telefonen din? Nevralt nettverk. Fingeravtrykkleser? Nevralt nettverk. Ordforslag på tastaturet? Også et nevralt nettverk. For ikke å nevne talegjenkjenning, selvkjørende biler, personlige assistenter og brukertilpasset reklame. De bruker alle ulike typer nevrale nettverk. Og det er nettopp et slikt nevralt nettverk vi benytter for å lage vår chatbot.

Gjennom høsten har jeg lest meg opp på mye forskjellig innen NLP og språkmodeller. Christina og jeg har diskutert en god del angående hva vi tenker er beste fremgangsmåte for å trene opp en chatbot til dialog. En naturlig første tanke er å mate modellen med dialog-basert data. Vi har samlet inn mye slik type data, undertekster til film og serier. Generelt innbefatter det samtaledata, altså dialog. Dette er et godt utgangspunkt, spesielt med tanke på at datainnsamling er tidkrevende, og et stort og kvalitetsrikt datasett er en forutsetning for en god språkmodell.

Språk er komplisert. Det består gjerne av et stort vokabular, har grammatiske regler og regler for ordstilling. Norsk f.eks. er hva man kaller et SVO-språk. Det vil si at man bygger opp en setning ut fra regelen: subjekt – verb – objekt. Andre språk har andre syntaktiske regler. I tillegg kommer ting som forkortelser og initialer, symboler og tall. Det er mildt sagt kompliserte greier.

Vi har lenge drømt om å lage en chatbot vi kan ha dialoger med på norsk. Prosjektet vennen.ai ble startet i fjor med et mål om å få til nettopp dette, og selv om de store resultatene ennå lar vente på seg, har vi oppsamlet mye kunnskap og erfaringer underveis. I og med at det allerede finnes mange chatboter der ute, som både kan snakke norsk og være til nytte, tenkte jeg å gå litt dypere inn i hva det er vi forsøker å få til med vår chatbot.

I begynnelsen av 2019 startet vi på et helt nytt prosjekt i Innovatec. Vi ønsket å utforske mulighetene rundt chatbots, og se om det var mulig for oss å dra nytte av denne teknologien i vår virksomhet. I den forbindelse investerte vi også i en robot, som forhåpentligvis kunne virke som et medium for chatboten. Vi gikk løs på utfordringen med store visjoner og godt mot, og så fram til dagen vi skulle bli møtt av en veltalende robot som ønsket oss velkommen på kontoret.