I Computas løser vi gjerne de store, komplekse og viktige oppgavene, men noen ganger er det deilig å kunne ta fatt i de nære og små ting. I denne bloggposten skal jeg derfor ta for meg et stadig tilbakevendende tema i mitt liv: “hvordan kan jeg holde en givende samtale med lampen jeg har stående bak sofaen?”. Her brutt ned i fem enkle steg.

Steg 1: Smartlyspærer. OK, som dere kanskje tenker så har ikke lampen i seg selv den helt store hjernen eller fornuften, så den må hjelpes et godt stykke på vei. Vi starter derfor med å gi den sitt første snev av intelligens: smartlyspærer. Her er det flere alternativer, for eksempel Phillips Hue. Det viktige er at den har et API vi kan jobbe mot og som er i stand til å kontrollere for eksempel lysstyrke og/eller farge (jeg mener en givende samtale med lamper innebærer visuell feedback).

Steg 2: Kommuniser med API. Det å kommunisere direkte med et API med GET, PUT og POST gir ikke den helt store følelsen av at dette er skikkelig smarte greier, så vi trenger et bedre grensesnitt. Mitt valg ville her falt på en webapp/webhook på Google Cloud Engine. Der vil jeg kunne sende forenklede parametre til metoder i webappen for å endre farge og styrke på lyspæren, og så tar webappen seg av selve kommunikasjonen med lyspæren.

Steg 3: Gi språkmuligheter. Vi har nå enkel tilgang til å endre på lyspæren, men kommunikasjonen er fremdeles temmelig preget av å være enveiskjørt (tenk: snakke med en vegg som skifter farge). For å få i gang en samtale beveger vi oss over i AI-land, og valget faller på api.ai som vi blant annet har brukt i et prosjekt for sommerstudenter. Api.ai er et samtale-API med innebygget funksjonalitet for læring, entiteter, oppfølgingsspørsmål osv. Det finnes også mange forhåndslagede funksjonaliteter som kan importeres, slik som smalltalk. Det jeg vil at lyspæren skal kunne svare på og hva den skal kunne svare legges inn her. Dersom noe av det jeg sier skal påvirke lyset i lyspæren på noen som helst måte, videreformidles dette videre til webappen på Google App Engine som så styrer lyspæren.

Steg 4: Forenkle interaksjon. Lyspæren vår kan nå i teorien både snakke og lære, men en viktig ting mangler: et grensesnitt mot brukeren utover den enkle konsollen på api.ai. Her har man mange alternativer, for eksempel Google Home, Facebook Messenger, Slack eller en mobilapp. Api.ai har den begrensningen at den ikke skjønner norsk, så siden jeg ønsker at den skal kunne mer enn bare engelsk så trenger jeg muligheten til å modifisere inputen til api.ai fra norsk til engelsk før den kommer frem til api.ai. Siden jeg er Android-utvikler, velger jeg derfor naturligvis å lage en Android-app for å løse dette.

Android har ganske god innebygget stemmegjenkjenning også på norsk, så jeg lager et enkelt design som lar brukeren trykke på en knapp (eventuelt bare starte appen) for å registrere stemmeopptak. Jeg har nå brukerens input på norsk, og for å oversette til engelsk bruker jeg Google Cloud Translation API. Svaret jeg får tilbake fra oversettelses-APIet sender jeg så til api.ai, og nå kan jeg faktisk snakke norsk med min lampe!

Steg 5: Trening og læring. Lampen er ikke superglup i starten, men ved hjelp av api.ai kan jeg trene den opp til å bli stadig bedre til å svare på det jeg snakker med den om. Med litt tid og innsats kan du lære den til å takle det meste du sier til den, noe sommerstudentene her hos oss har hatt stor suksess med i sommer.

Som en liten oppsummering, her er slik jeg tenker meg flyten:

  • Åpne app
  • Ta opp norsk stemme
  • Oversett til engelsk i skyen
  • Send forespørsel til api.ai
  • Send forespørsel videre til webapp dersom ønsket
  • (evt. gjør fancy greier med lyspære)
  • Gi respons tilbake til bruker i form av dialog
  • Fortsett dialogen om ønsket
  • ???
  • Profit!

Og der har du det – fem steg, og du kan nå fordype deg i samtale med din lampe og endelig gi den den heder og anerkjennelse den fortjener.

Om Jon-Robert Skårberg

Jon-Robert er en mobilutvikler med en særlig interesse for Android, og som synes det meste er spennende når det kan tas i bruk på håndholdte enheter. Jon-Robert liker løsninger som automatiserer og forenkler oppgaver i hverdags- og arbeidsliv, og da særlig når opplevelsen føles så naturlig som mulig for brukeren.

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *