• No results found

JacobB˚athandZacBauer,SchoolofIndustrialEngineeringandManagement,KTHRoyalInstituteofTechnology,Stockholm,Sweden Tr¨aningavuppgiftsorienteradedialogsystemmedReinforcementLearningTrainingtaskorienteddialogsystemswithReinforcementLearning

N/A
N/A
Protected

Academic year: 2021

Share "JacobB˚athandZacBauer,SchoolofIndustrialEngineeringandManagement,KTHRoyalInstituteofTechnology,Stockholm,Sweden Tr¨aningavuppgiftsorienteradedialogsystemmedReinforcementLearningTrainingtaskorienteddialogsystemswithReinforcementLearning"

Copied!
12
0
0

Loading.... (view fulltext now)

Full text

(1)

GRUNDNIVÅ, 15 HP

STOCKHOLM SVERIGE 2020,

Träning av uppgiftsorienterade dialogsystem med Reinforcement Learning

Training task oriented dialog systems with Reinforcement Learning

JACOB BÅTH ZAC BAUER

KTH

SKOLAN FÖR INDUSTRIELL TEKNIK OCH MANAGEMENT

(2)

Tr¨aning av uppgiftsorienterade dialogsystem med Reinforcement Learning

Training task oriented dialog systems with Reinforcement Learning

Jacob B˚ath and Zac Bauer, School of Industrial Engineering and Management, KTH Royal Institute of Technology, Stockholm, Sweden

Abstract—Machine learning methods are often dependent on access to large amounts of data which is why alternatives are of big interest. The purpose of this work is to examine how efficient, in terms of speed and quality, a task oriented chatbot can be trained with reinforcement learning (”RL”), and see how these dialogs differ from rule based and supervised learning methods. Instead of using a dataset, dialogs are simulated with a user simulator which interacts with the chatbot. The result shows that RL has good potential to replace or complement other methods, since the implemented model can train a chatbot to optimal performance within a few minutes. The dialogs generated by the chatbot may seem trivial but the flexible nature of RL lets the bot adjust its behaviour according to what users prefer.

Sammanfattning– M˚anga maskininl¨arningsmetoder kr¨aver ofta stora m¨angder data vilket v¨acker fr˚agan kring huruvida alternativ som s˚a kallad reinforcement learning (”RL”), vilket ¨ar en mindre dataintensiv metod, kan uppn˚a samma kvalitet. Syftet med denna rapport ¨ar att unders¨oka hur effektivt, med avseende p˚a tid och kvalitet, en uppgiftsorienterad chatbot kan tr¨anas med RL, samt hur denna chatbots dialoger skiljer sig fr˚an en som tr¨anats med supervised learning eller ¨ar helt regelbaserad.

Detta g¨ors genom att skapa en enkel anv¨andarsimulering som chatboten interagerar med f¨or att successivt bli b¨attre. Resultatet tyder p˚a att RL visar god potential att ers¨atta eller anv¨andas som komplement till andra metoder, d˚a den implementerade modellen kan tr¨ana en chatbot till optimal niv˚a p˚a n˚agra f˚a minuter.

Dialogerna som skapas med chatboten kan verka triviala men RL inneb¨ar att chatboten enkelt kan anpassa sitt beteende utefter anv¨andares preferenser.

I. INTRODUKTION

Intresset f¨or Artificiell Intelligens (”AI”) har v¨axt kraftigt under 2000-talet och flera av de specifika tekniska uttryck som f¨orknippas med AI ¨ar nu allm¨ant k¨anda [1]. Samtidigt ¨ar teknologier f¨orknippade med AI kontroversiella d¨ar Professor Spyros Makridakis menar p˚a att det finns fyra scenarion i vilka individer visualiserar sig; den oro som identifieras bland merparten av individer kopplas till att AI kommer leda till h¨ogre arbetsl¨oshet enligt Makridakis. Han ser dock snarare att den f¨or¨andring i arbetskraftsf¨ordelningen som skedde i samband med b˚ade den industriella och den digitala revolu- tionen kommer forts¨atta och att fler ist¨allet kommer arbeta inom tj¨anstesektorn [2]. Denna omf¨ordelning p˚a grund av AI har redan b¨orjat enligt Cameron Smith genom ”chatbots”

d¨ar anst¨allda kan fokusera p˚a mer komplexa uppgifter och

¨overl¨amna tidigare arbetsuppgifter till botar [3].

Utvecklingsmetoder f¨or chatbotar syftar d¨aremot inte l¨angre enbart till att skapa en bot som klarar ett Turing-test; numera

¨ar det mer intressant att j¨amf¨ora metoder med avseende p˚a prestanda, tiden de tar att tr¨ana och m¨angden data som kr¨avs.

Uppgiftssorienterade dialogsystem ¨ar ett omr˚ade som utforskas med avseende p˚a dessa avv¨agningar. Den enklaste l¨osningen innefattar en ”state tracker” som bygger p˚a f¨ordefinierade regler och genom dessa avg¨or vilket ”state” konversationen befinner sig i och vilken ”output” den ska generera. Svaren baseras p˚a en svarsbank f¨or svar med ifyllnadsf¨alt. Denna metod ¨ar dock inte att f¨oredra eftersom det ¨ar tidskr¨avande att s¨atta upp reglerna samt att den blir inflexibel och icke skalbar [4]. Exempelvis om ett existerande system med f¨ordefinierade regler skulle nyttjas inom ett nytt omr˚ade skulle regler beh¨ova definieras p˚a nytt. De flesta andra alternativ implementerar n˚agon form av maskininl¨arning d¨ar det i m˚anga fall, exempelvis med supervised och unsupervised learning, kr¨avs en stor m¨angd tr¨aningsdata. Ett alternativ till detta ¨ar reinforcement learning (”RL”) som ist¨allet baseras p˚a att l¨ara sig av sina misstag genom interaktioner med anv¨andaren.

Williams et. al. kom fram till att Hybrid Code Networks (”HCN”), en kombination av f¨ordefinierade regler specifi- cerade f¨or anv¨andningsomr˚adet och en supervised learning- modell, genererade bra resultat till en f¨orh˚allandevis liten anstr¨angning fr˚an utvecklarnas sida [4]. I samma arbete imple- menterades en RL-modell, koden finns dock inte publicerad.

D¨arf¨or syftar detta arbete till att implementera denna RL- modell och svara p˚a fr˚agest¨allningen Hur effektivt - med avseende p˚a tid och kvalitet - en chatbot kan tr¨anas med reinforcement learning, samt hur denna chatbots dialoger skiljer sig fr˚an en som tr¨anats med supervised learning eller

¨ar helt regelbaserad?

Syftet ¨ar d¨arf¨or att se hur v¨al l¨ampat RL ¨ar f¨or ett Uppgift- sorienterat Dialogsystem (”UDS”) och ¨aven titta p˚a om det inneb¨ar att en mindre m¨angd - om ens n˚agon - tr¨aningsdata kr¨avs innan ett system testas. De sv˚arigheter som identi- fierats ber¨or dialogsimulering och evaluering. P˚a grund av tidsbegr¨ansningar i projektet kommer chatboten som utvecklas inte kunna testas under en l¨angre tid av riktiga anv¨andare vilket leder till att dialoger kommer beh¨ovas simuleras. Detta omr˚ade anses g˚a utanf¨or projektets fokusomr˚ade och d¨arf¨or kommer

(3)

endast en enklare anv¨andarsimulator utvecklas. Det dialogsys- tem som tas fram kommer utspela sig i en restaurangbokn- ingsmilj¨o vilket ¨ar ett vanligt test-dom¨an f¨or UDS:er. Eftersom fr˚agest¨allningen inte syftar till att leverera en slutprodukt f¨or anv¨andare kommer systemet inte kopplas upp mot ett API eller en databas f¨or att generera riktiga rekommendationer. Ist¨allet kommer funktionaliteten av ett API-anrop ligga kvar f¨or att simulera detta.

Trots att projektet implementeras p˚a ett begr¨ansat omr˚ade anses det vara intressant f¨or forskare och f¨oretag som utvecklar eller unders¨oker UDS:er. Framf¨orallt riktar sig arbetet ˚at de som saknar eller har en begr¨ansad m¨angd data och som potentiellt skulle vilja involvera en chatbot i sin kundsupport, vilket inte s¨allan ¨ar fallet f¨or SMEs (small and medium- sized enterprises). Arbetet kommer d¨arf¨or ocks˚a svara p˚a fr˚agest¨allningen Hur kan en chatbot implementeras och skapa aff¨arsnytta f¨or ett f¨oretag med begr¨ansade resurser och kom- petens inom omr˚adet?

Beroende p˚a hur stor eller liten kompetens f¨oretaget har inom chatbotar kan samarbete med andra parter vara v¨ardefullt. Den tredje delfr˚agest¨allningen kommer d¨arf¨or att vara: N¨ar ett f¨oretag best¨ammer huruvida man b¨or samarbeta med ett annat f¨oretag eller inte, vilka ¨ar det mest kritiska fr˚agor man b¨or ta st¨allning till?.

Arbetets tre fr˚agest¨allningar ¨ar s˚aledes:

1) Hur effektivt - med avseende p˚a tid och kvalitet - en chatbot kan tr¨anas med reinforcement learning, samt hur denna chatbots dialoger skiljer sig fr˚an en som tr¨anats med supervised learning eller ¨ar helt regelbaserad?

2) Hur kan en chatbot implementeras och skapa aff¨arsnytta f¨or ett f¨oretag med begr¨ansade resurser och kompetens inom omr˚adet?

3) N¨ar ett f¨oretag best¨ammer huruvida man b¨or samarbeta med ett annat f¨oretag eller inte, vilka ¨ar det mest kritiska fr˚agor man b¨or ta st¨allning till?

Starkt fokus kommer ligga p˚a den f¨orsta av dessa tre fr˚agest¨allningar.

Rapporten kommer f¨orst g˚a igenom grundl¨aggande teori f¨or HCN och RL och ¨aven ta upp relaterade arbeten. Metod f¨or implementeringen, inklusive hur modellen fungerar i detalj, kommer sedan f¨orklaras. D¨arefter presenteras resultatet i form av hur chatboten f¨orb¨attras efter varje dialog och visa ett urval av dialoger fr˚an olika steg i tr¨aningen. En diskussion f¨ors sedan d¨ar detta resultat tolkas och hur det kan skilja sig fr˚an en regelbaserad chatbot eller en tr¨anad med supervised learning (vilket kommer refereras till som RNN (recurrent neural network)). D¨arefter sker en analys av aff¨ars- och samh¨allsrelaterade aspekter tas upp d¨ar fr˚agest¨allning 2 och 3 behandlas.

II. TEORI

A. Hybrid code networks (HCN)

HCN inneb¨ar att kombinera supervised machine learning - f¨or detta arbete ett recurrent neural network (RNN) - med dom¨anspecifik kunskap. Att enbart ha ett RNN kr¨aver stora m¨angder data medan att enbart bygga en modell med dom¨anspecifik kunskap kr¨aver mycket manuellt arbete, samt

¨ar en s˚adan modell inte anpassningsbar. Vid en hybrid kan man minska datam¨angden genom att ge modellen viss v¨agledning specifikt f¨or den uppgift som ska l¨osas. Det kan ske genom att lyssna s¨arskilt p˚a vissa typer av ord och ha f¨ordefinierade format p˚a svar. Det h¨ar arbetets chatbot kommer endast generera 16 olika yttranden som alla ¨ar korta meningar.

B. Reinforcement learning (RL)

Agenten (modellen i detta fall) f˚ar en bel¨oning baserat p˚a hur bra den presterar f¨or varje slutf¨ord dialog. Bel¨oningen kan vara utformad p˚a m˚anga olika s¨att, exempelvis kan den vara 1 om agenten lyckas med sin uppgift och -1 om den misslyckas.

Agenten utforskar olika sekvenser av handlingar och justerar sig f¨or att uppn˚a maximal bel¨oning. Denna justering kan ske p˚a olika s¨att men en vanlig metod f¨or chatbotar ¨ar ”policy gradient”. Policyn genererar sannolikheter f¨or att agenten ska v¨alja en viss handling i ett givet tillst˚and.

Supervised learning och RL kan kombineras genom att f¨or varje dialog justera hur policyn uppdateras. I supervised learning baseras uppdateringen p˚a hur l˚angt modellens output var ifr˚an det r¨atta svaret enligt datasetet. I RL finns d¨aremot inget r¨att svar utan ist¨allet uppdateras policyn f¨or att maximera bel¨oningen.

Den typ av RL-teknik som anv¨ands i detta arbete ¨ar policy gradient som inneb¨ar att en policy optimeras med avseende p˚a bel¨oning. Policyn ¨ar i detta fall ett neuralt n¨atverk. Efter varje avslutad dialog uppdateras sedan policyns parametrar enligt

~

w ← ~w + α(X

t

w~log π(at|st))(G − b) (1)

d¨ar α ¨ar ”learning rate”, π ¨ar policyn, at ¨ar den genererade frasen fr˚an chatboten givet st vilket ¨ar anv¨andarens yttrande, G ¨ar dialogens totala bel¨oning vilket kallas return och b ¨ar

”baseline”. Baselinen spelar ingen roll f¨or hur bra chatboten blir i slut¨andan men kan p˚askynda l¨arandet avsev¨art [5]. En enkel baseline ¨ar att ber¨akna genomsnittlig return f¨or tidigare dialoger, intuitivt kan man d˚a t¨anka att nya dialoger med en h¨ogre return G ¨an baseline b f˚ar sina beteenden f¨orst¨arkta (¨okad sannolikhet att ske igen), medan beteenden minskar f¨or det omv¨anda.

III. RELATERADE ARBETEN

I stora drag finns tv˚a olika typer av maskininl¨arnings- metoder som anv¨ands f¨or att kontrollera dialoger, d¨ar den ena anv¨ander neurala n¨atverk f¨or att bearbeta vad anv¨andaren sagt och sedan svara [6]. F¨or att skapa bra dialoger ¨ar det dock viktigt f¨or chatboten att komma ih˚ag vad som sagts tidigare och det m˚aste man i dessa modeller programmera manuellt.

Ett annat alternativ ¨ar att anv¨anda RNN:s som anv¨ander tidi- gare utdata som indata i n¨astkommande ord eller mening [7].

Det g¨or att vad som tidigare sagts automatiskt tas h¨ansyn till vid n¨asta ord- eller meningsgenerering.

RNN-modeller kan sedan kombineras med RL [4], bland annat finns det exempel p˚a ett arbete d¨ar en uppgiftsorienterad chatbot skapades med ett RNN och sedan med RL [4].

Ju mer modellen tr¨anades med RNN innan desto snabbare

(4)

f¨orb¨attrades modellen n¨ar RL sedan implementerades. Kod- implementeringar och data f¨or Williams et al. arbete finns tillg¨angligt men inte RL-implementeringen, utan denna syftar detta arbete till att g¨ora.

F¨or att tr¨ana chatboten med RL r¨acker dock inte ett dataset med f¨ardiga dialoger, utan anv¨andarens svar m˚aste bero p˚a vad chatboten sagt. Det kan antingen g¨oras genom att tr¨ana chatboten online d¨ar m¨anskliga anv¨andare g˚ar in och inter- agerar med chatboten. Detta ¨ar dock tidskr¨avande d˚a RL kr¨aver m˚anga dialoger f¨or att kunna bli bra, dessutom g˚ar det inte att tr¨ana om chatboten p˚a samma dataset om man senare ¨andrar delar i koden.

Alternativet ¨ar att simulera en anv¨andare vilket g˚ar att g¨ora p˚a m˚anga olika s¨att. Ett problem med den metoden ¨ar dock att det ¨ar sv˚art att j¨amf¨ora olika chatbotars prestationer n¨ar de tr¨anas med olika simuleringar. Det finns f¨orslag p˚a standardiserade simuleringar [8], dock anses dessa vara un- derm˚aligt konstruerade och on¨odigt komplicerade f¨or detta arbete. Ist¨allet kommer en egen relativt enkel regelbaserad simulering konstrueras f¨or att kunna tr¨ana chatboten med RL.

IV. METOD

A. Grundkod fr˚an Github

Grundkoden som chatboten bygger p˚a finns tillg¨anglig p˚a Github [9]. Denna kod inneh¨oll redan behandling av data, RNN-modell samt tr¨aning- och testfunktioner. Pytorch [10]

anv¨andes f¨or att bygga RNN-modellen och anv¨andes d¨arf¨or ocks˚a f¨or ny kod som skrevs.

Figur 1 visar hur chatboten ¨ar konstruerad. Detta ¨ar ett HCN och best˚ar av ett RNN, dom¨anspecifik kod och en ”entity extraction (steg 4)” som k¨anner igen entiteter (k¨ok, pris, plats och antal personer) i en fras.

Iterationen b¨orjar med att anv¨andaren s¨ager n˚agot (steg 1).

Denna fras parametriseras sedan med bag of words-vektorer (steg 2) och en word embedding (steg 3). I koden som detta arbete bygger p˚a anv¨andes Googles 300-dimensionella word embedding [11]. I steg 4 k¨anns entiteter igen genom att s¨oka igenom frasen efter entiteter som f¨orekommit n˚agon g˚ang i bAbi-datasetet (f¨orklaras under egen rubrik). Denna l¨osning begr¨ansar modellen till att endast k¨anna igen vissa entiteter och g¨or det om¨ojligt att uppfatta nya. En b¨attre l¨osning ¨ar till exempel att ha ett neuralt n¨atverk som kan tr¨anas till att ocks˚a kunna uppfatta nya entiteter, dock ¨ar det i sig en omfattande uppgift och g˚ar utanf¨or detta arbetes fokusomr˚ade. I steg 5 ser modellen till att komma ih˚ag vilka entiteter som registrerats, det vill s¨aga vilken information chatboten f˚att och saknar. Det kan sedan anv¨andas f¨or filtret mellan steg 9 och 10 som till exempel hindrar chatboten fr˚an att fr˚aga om saker anv¨andaren redan sagt.

I steg 6 sammanfogas tidigare parametriseringar av anv¨andarens fras till en ”feature vector” som utg¨or input till RNN:et i steg 7. Steg 8 visar hur output fr˚an iterationen innan anv¨ands som input i n¨asta steg, vilket g¨or det neurala n¨atverket till ”recurrent”. Steg 9 och 10 genererar sedan en f¨ordelning ¨over vilken fras chatboten b¨or v¨alja i steg 11. Om RL anv¨ands v¨aljs en fras med sannolikhet enligt den f¨ordelning som genererats, annars v¨aljs den med h¨ogsta v¨ardet.

Steg 13-16 f¨orklarar sedan hur en API-f¨orfr˚agan kan g¨oras.

Det ¨ar dock inget som kommer g¨oras i denna uppgift utan ist¨allet har chatboten frasen ”api call” till sin anv¨andning f¨or att signalera att den vill g¨ora en API-f¨orfr˚agan. Det viktiga

¨ar att chatboten har all information innan den g¨or detta vilket

¨ar n˚agot man kan styra genom filtret mellan steg 9 och 10 eller l˚ata boten l¨ara sig sj¨alv, till exempel genom att ge return G = 0 om en API-f¨orfr˚agan gjorts utan all information. I steg 17 skickas den slutgiltiga frasen till anv¨andaren som sen kan svara p˚a nytt och p˚ab¨orja n¨asta iteration.

B. Implementering av reinforcement learning

F¨or att g¨ora koden kompatibel med RL beh¨ovdes f¨orst n˚agra funktioner l¨aggas till eller ¨andras f¨or att l¨asa in och behandla data p˚a r¨att s¨att. Detta kr¨avdes eftersom RNN var byggt f¨or att observera konversationer medan RL interagerar med en anv¨andare eller simulering.

N¨asta steg var att ¨andra funktionen (ekvation (1) under teori) f¨or att uppdatera det neurala n¨atverkets parametrar. Detta gjordes i samma tr¨aningsfunktion som RNN-modellen vilket gjorde det smidigt att kunna alternera mellan de tv˚a olika mod- ellerna. Funktionen kr¨aver en bak˚atpropagering som gjordes med Pytorchs autograd.backwards() [12] d˚a den ¨ar effektiv och enkel att anv¨anda. Optimeringsfunktionen f¨or att uppdatera parametrarna som anv¨andes var Adadelta [13] eftersom den automatiskt anpassar learning rate. Denna implementerades med Pytorchs Optim-paket [14].

Returnen G best¨amdes enligt

G = 0.95t−1 (2)

f¨or lyckade dialoger d¨ar t ¨ar antalet yttranden fr˚an boten. F¨or misslyckade dialoger sattes G = 0. En dialog r¨aknas som misslyckad om chatboten v¨aljer att vara tyst eller s¨aga ”you’re welcome” utan att f¨oljande ¨ar uppfyllt:

chatboten har all information (anv¨andarens val av k¨ok, plats, prisniv˚a, antalet personer)

anv¨andaren har sagt ”THANK YOU”

Tanken med detta ¨ar att ”you’re welcome” ¨ar botens s¨att signalera att den ¨ar klar och avslutar dialogen. ”THANK YOU” fungerar som motsvarande f¨or anv¨andaren och kan endast ske om boten uppfyllt anv¨andarens ¨arende. Baselinen valdes till den genomsnittliga returnen G p˚a de 100 senaste dialogerna.

C. bAbi-dataset

I den rapport och kod som ligger till grund f¨or detta arbete nyttjades The (5) dialog bAbI tasks som anv¨ands f¨or end- to-end UDS:er i en milj¨o f¨or restaurangbokningar [4]. Detta dataset best˚ar av lyckade dialoger mellan en chatbot och en simulerad anv¨andare. Dialogerna var lyckade i det avseendet att chatboten lyckades slutf¨ora en bokning f¨or anv¨andaren utan konstiga beteenden, till exempel on¨odiga upprepningar. Denna chatbot har endast 16 olika fraser till sin anv¨andning och kan inte generera n˚agra andra svar ¨an dessa, p˚a s˚a s¨att ligger uppgiften i att s¨aga r¨att sak vid r¨att tillf¨alle. De 16 fraserna ¨ar manuellt konstruerade och anpassade efter uppgiften att g¨ora

(5)

Fig. 1. Modellbeskrivning baserad p˚a figur 1 i Williams et. al. [4]. Trapetsoider inneb¨ar python-kod, svarta rektanglar ¨ar tr¨aningsbara komponenter och de ljusa sm˚a rektanglarna i steg 6 representerar sammansatta vektorer som ¨ar input till RNN:et.

restaurangreservationer och kan ses i tabell I. Dessa ¨ar ¨aven de fraser som detta arbetes chatbot kommer anv¨anda sig av.

Det ¨ar bland annat denna typ av manuellt arbete i kombination med anv¨andning av neurala n¨atverk som g¨or modellen till ett HCN.

Williams et. al. [4] anv¨ande ¨aven loggar fr˚an deras f¨oretags (Microsofts) textbaserade kundsupport f¨or RL-delen av pro- jektet. En RNN-modell tr¨anas genom att observera dialoger medan en RL-modell tr¨anas genom interaktion. Tyv¨arr finns det f¨or detta arbete inte tillg˚ang till n˚agon kundsupport som i Williams et. al. fall eller n˚agot liknande. Ist¨allet kommer en simulerad anv¨andare skapas vilken RL-modellen kan inter- agera med. Att simulera en anv¨andare inneb¨ar givetvis en del begr¨ansningar d˚a det ¨ar sv˚art att f˚a dialogerna lika varierade som vid interaktion med riktiga och m˚anga olika m¨anniskor.

D. Anv¨andarsimulator

En anv¨andarsimulator kan skapa m˚anga olika s¨att och ju mer varierade fraser den kan generera desto b¨attre. Om fraserna blir f¨or lika varandra eller om det inte finns tillr¨ackligt m˚anga blir det sv˚arare f¨or chatboten att generalisera dessa fraser och p˚a s˚a s¨att f¨orst˚a vad en helt ny fras betyder n¨ar chatboten senare interagerar med en m¨anniska.

I detta arbete skapades en simulering som fungerar enligt f¨oljande:

1) B¨orja med att v¨alja en h¨alsningsfras fr˚an tabell (f¨orklaras nedan).

2) L¨as in chatbotens fras/replik.

3) Om fras fr˚an (2) ¨ar ”you’re welcome” eller ”SILENT”

avslutas dialogen direkt. Annars: baserat p˚a fras fr˚an (2),

SILENT

any preference on a type of cuisine?

api call

great let me do the reservation hello what can i help you with today?

here it is

how many people would be in your party?

i’m on it

is there anything else i can help you with?

ok let me look into some options for you sure is there anything else to update?

sure let me find an other option for you what do you think of this option:

where should it be?

which price range are you looking for?

you’re welcome

TABLE I

CHATBOTENS16OLIKA SVARSALTERNATIV.

v¨alj slumpm¨assigt svar fr˚an tabell. Om svaret inneh˚aller en entitet (k¨ok, pris, antal personer, plats) slumpas dessa fr˚an alla de olika entiteter som f¨orekommit i bAbi- datasetet. B¨orja om fr˚an (2).

Tabellen best˚ar av 16 olika kolumner d¨ar varje representerar en av chatbotens olika fraser. Kolumnerna inneh˚aller sedan olika fraser som simulatorn v¨aljer slumpm¨assigt ifr˚an (i den kolumn som motsvarar vad chatboten sagt). Dessa fraser har formulerats av f¨orfattarna sj¨alva och f¨ors¨oker vara s˚a varierande som m¨ojligt men fortfarande vara en rimlig replik p˚a chatbotens fras. Simuleringen kan p˚a s˚a s¨att ses som en samarbetsvillig anv¨andare som inte har f¨or avsikt att g¨ora det sv˚arare f¨or chatboten, till exempel genom att s¨aga n˚agot helt

(6)

irrelevant. Antalet fraser per kolumn varierade mellan ungef¨ar 10-20 stycken beroende p˚a vilken fras det handlade om. Om till exempel chatboten fr˚agar ”where should it be?” f¨orv¨antas variationen p˚a svaren vara l¨agre ¨an till exempel ”hello what can i help you with today?”; ju h¨ogre variation desto fler olika fraser har lagts in. Denna metod f¨or simulering valdes d˚a den

¨ar relativt enkel att skapa och integrera med resten av koden, samt l¨att att modifiera och ut¨oka.

F¨or att undvika att chatboten testades mot samma bot som den tr¨anades p˚a skapades f¨or varje tr¨aning en tr¨anings- och testsimulator. Detta gjordes genom att slumpartat dela upp de manuellt skapade svaren i varje kolumn; tr¨aningssimulatorn tog 80 procent av svaren (fraserna i varje tabellkolumn) och testsimulatorn resten. F¨or att chatboten ska kunna f¨ora lyckade dialoger med test-simulatorn kr¨avs s˚aledes att den lyckas generalisera fr˚an de fraser som anv¨ants i tr¨aningen. Till exempel, om simuleringen p˚a fr˚agan ”any preference on a type of cuisine?” svarat ”I like italian”, ska chatboten kunna f¨orst˚a att meningen ”I adore italian” ocks˚a inneb¨ar att anv¨andaren vill ha italiensk mat.

E. Tr¨aning av modellen

Chatboten tr¨anades sedan och j¨amf¨orelser gjordes med att tr¨ana med och utan filter. Till exempel kan filtret ta bort fr˚agan

”where should it be?” om en plats redan har n¨amnts. Detta filter fanns i grundkoden men ¨ar inte absolut n¨odv¨andigt d˚a chatboten kan l¨ara sig att fr˚agan i exemplet inte hj¨alper den att slutf¨ora en lyckad dialog. Tr¨aningar gjordes ¨aven med RNN enbart f¨or att kunna j¨amf¨ora dialogerna med den RL-tr¨anade chatboten.

F. Test och evaluering

I grundkoden testades RNN med bAbI-datasetet genom att ber¨akna antalet svar som st¨amde ¨overens med chatbotens genererade svar. Det valdes att inte testa den RL-tr¨anade modellen p˚a samma s¨att d˚a den teoretiskt sett skulle kunna hitta b¨attre s¨att att avsluta dialogen ¨an vad som gjordes i bAbI-datan. Ist¨allet observerades utvecklingen av return per avslutad dialog och andelen lyckade dialoger med den tr¨anade modellen.

G. Studie av SMEs och aff¨arsnytta

F¨or att f˚a en bild av hur digitaliserade SMEs i Sverige ¨ar i dagsl¨aget har tv˚a rapporter av Tillv¨axtanalys, Myndigheten f¨or tillv¨axtpolitiska utv¨arderingar och analyser studerats. Den ena - F¨oretagens digitala mognad 2018 [15] - ger en bild hur

”digitalt mogna” svenska f¨oretag ¨ar i dagsl¨aget och den andra - Framtidens digitala kompetensbehov – en delphiinspirerad studie[16] - fokuserar mer p˚a vilka teknologier som anv¨ands och troligtvis kommer dominera i framtiden. Informationen i dessa rapporter anses mycket trov¨ardig och neutral.

Studien kring hur f¨oretag b¨or t¨anka kring samarbeten har i f¨orsta hand baserats p˚a M. Schillings bok Strategic Man- agement of Technological Innovation [17]. Boken inneh˚aller ett utf¨orligt kapitel om samarbeten i samband med innovation d¨ar teorier och modeller fr˚an olika discipliner - till exempel

0 1,000 2,000 3,000 4,000

0 0.2 0.4 0.6 0.8 1

Antal dialoger

ReturnG(rullandegenomsnitt)

Filter Utan filter

Fig. 2. Rullande genomsnitt p˚a de 100 senaste dialogerna.

0 1,000 2,000 3,000 4,000

0 0.2 0.4 0.6 0.8 1

Antal dialoger

Andellyckadedialoger(rullandegenonsnitt)

Filter Utan filter

Fig. 3. Rullande genomsnitt p˚a de 100 senaste dialogerna.

organisation och projektledning - kombineras. Denna studie kommer d¨arf¨or inte direkt anknyta till n˚agon vedertagen teori eller modell utan kommer ist¨allet koppla till den teori som l¨aggs fram i Schillings bok.

Unders¨okningen av aff¨arsnytta har sin grund i vad f¨orfattarna anser vore en rimlig till¨ampning, samt vad som presenterats i rapporten Framtidens digitala kompetensbehov – en delphiinspirerad studie. Resonemangen st¨arks sedan med observationer fr˚an olika internetk¨allor.

Ist¨allet f¨or att separat presentera resultatet f¨or denna litter- aturstudie kommer fakta och resonemang tas upp samtidigt under rubriken Aff¨ars- och samh¨allsrelaterade perspektiv i diskussions-delen.

V. RESULTAT

Figur 2 och 3 visar returnen G och antalet lyckade dialoger baserat p˚a hur m˚anga dialoger som modellen tr¨anats p˚a.

Filtret g¨or att modellen konvergerar snabbare ¨aven om b˚ada

(7)

varianter konvergerar i slut¨andan. En return p˚a ungef¨ar 0.7- 0.8 ¨ar optimalt; h¨ogre niv˚aer kr¨aver att anv¨andare ger mer information p˚a f¨arre antalet meddelande vilket inte g¨ors i simuleringen, men ¨ar sj¨alvklart m¨ojligt i verkligheten.

Tabell II, III och IV visar dialoger under olika delar av tr¨aningen. Dialogerna ¨ar skapade med test-simulatorn som genererar annorlunda fraser ¨an de som chatboten tr¨anats med.

Tr¨aningarna tog ungef¨ar tre minuter.

Tabell V visar en dialog med den RNN-tr¨anade chatboten.

Anv¨andarens fraser kommer fr˚an en lyckad dialog i bAbi- datasetet och d¨arf¨or finns ocks˚a ett facit till vad boten ska svara. Efter varje fras fr˚an anv¨andaren genererar chatboten ett svar och sedan ber¨aknas hur stor andel av alla dessa svar som st¨amde ¨overens med facit (den lyckade dialog som fanns i bAbi-datasetet). I denna dialog hade boten 100 procent r¨att och d¨armed st¨ammer dialogen exakt ¨overens med den som finns i bAbi-datasetet. Ingen RL har anv¨ants f¨or denna chatbot utan denna dialog kommer anv¨andas f¨or att diskutera skillnader i dialogen med RL-boten och RNN-boten.

User: Howdy Bot: here it is

User: actually i would prefer it in a cheap price range Bot: where should it be?

User: paris please Bot: api call User: SILENCE

Bot: i’m on it User: cool Bot: SILENT

TABLE II

DIALOG MED TEST-SIMULATOR EFTER10DIALOGER(UTAN FILTER).

G = 0.

User: good evening Bot: where should it be

User: in madrid please

Bot: how many people would be in your party?

User: eight please

Bot: any preference on a type of cuisine?

User: i want korean food Bot: great let me do the reservation

User: THANK YOU Bot: where should it be?

User: in madrid please Bot: great let me do the reservation

User: THANK YOU

Bot: ok let me look into some options for you User: amazing

Bot: which price range are you looking for?

User: something moderate Bot: where should it be?

User: in madrid please

Bot: how many people would be in your party?

User: eight please Bot: api call User: SILENCE

Bot: here it is User: THANK YOU Bot: you’re welcome

TABLE III

DIALOG MED TEST-SIMULATOR EFTER2000DIALOGER(UTAN FILTER).

G = 0.57.

User: good evening

Bot: which price range are you looking for?

User: something expensive

Bot: how many people would be in your party?

User: six please Bot: where should it be?

User: in bangkok please Bot: any preference on a type of cuisine?

User: could i please have french food Bot: api call

User: SILENCE Bot: great let me do the reservation

User: THANK YOU Bot: you’re welcome

TABLE IV

DIALOG MED TEST-SIMULATOR EFTER4920DIALOGER(UTAN FILTER).

G = 0.74.

User: hi

Bot: hello what can i help you with today?

User: can you make a restaurant reservation in bombay with french food in a cheap price range

Bot: i’m on it User: SILENCE

Bot: how many people would be in your party?

User: we will be six

Bot: ok let me look into some options for you User: SILENCE

Bot: what do you think of this option:

User: it’s perfect Bot: api call User: SILENCE Bot: great let me do the reservation

User: thanks

Bot: is there anything else i can help you with?

User: no thank you Bot: you’re welcome

TABLE V

DIALOG MEDRNN-MODELLENS CHATBOT.

VI. ANALYS OCHDISKUSSION

A. Teknisk analys

1) Analys av dialoger: Tabell II visar en dialog i b¨orjan av tr¨aningen d¨ar chatboten mer eller mindre v¨aljer fras slumpm¨assigt. N¨ar tr¨aningen b¨orjar ¨ar policyn (sanno- likhetsf¨ordelningen ¨over vilken fras boten v¨aljer baserat p˚a vad anv¨andaren sagt) likformigt f¨ordelad, det vill s¨aga 1/16 f¨or varje fras. Om chatboten inte lyckas med en dialog blir returnen G = 0 vilket g¨or att ingen uppdatering sker av de vikter i det neurala n¨atverket som policyn ¨ar parametriserad av. Detta beror p˚a att G−b i ekvation 1 blir 0 vilket g¨or att up- pdateringen av vikterna blir ~w ← ~w + 0. S˚a l¨ange ingen dialog lyckas kommer d¨arf¨or chatboten generera en slumpm¨assig fras, men s˚a fort en dialog lyckats kommer vikterna justeras n˚agot.

Fortsatta misslyckade dialoger kommer sedan ha en baseline b > 0 vilket g¨or att om en dialog misslyckas kommer G−b < 0 och d¨arf¨or uppdatera vikterna ~w i det neurala n¨atverket s˚a att sannolikheten f¨or beteendet (vilka fraser chatboten valde beroende p˚a vad anv¨andaren sagt) i denna dialog minskar. I tabell II ¨ar baselinen fortfarande 0 och policyn ¨ar konstant, vilket kan ses i de osammanh¨angande fraserna; att svara ”here it is” utan att ha f˚att n˚agon information om vad anv¨andaren vill ha eller ens gjort ett ”api call” ¨ar givetvis inget ¨onskv¨art

(8)

beteende.

Tabell III visar en lyckad dialog men d¨ar vissa on¨odiga be- teenden f¨orekommer. Chatboten har h¨ar f¨orst˚att att den m˚aste ha olika typ av information (k¨ok, antal personer, pris och plats) innan den f¨oresl˚ar n˚agot genom ”here it is”. D¨aremot forts¨atter den att st¨alla fr˚agor om saker den redan vet; anv¨andaren m˚aste till exempel s¨aga tre g˚anger att den vill g¨ora bokningen i Madrid.

Det ¨ar mycket m¨ojligt att en m¨ansklig anv¨andare skulle avf¨arda en chatbot som st¨aller samma fr˚aga on¨odigt m˚anga g˚anger. Detta ¨ar dock under tr¨aningens tidiga skede och senare under tr¨aningen - se tabell IV - st¨aller inte chatboten upprepade fr˚agor p˚a samma s¨att. H¨ar st¨alls varje fr˚aga en g˚ang och s˚a fort chatboten har all information g¨ors reservationen. Returnen G

¨ar h¨ar 0.74 vilket ¨ar optimalt f¨or denna dialog, ett h¨ogre v¨arde skulle kr¨ava att anv¨andaren gav mer information per fras s˚a att bokningen kan g¨oras snabbare.

Dialogen i tabell IV kan visserligen verka trivial; chatboten ger ingen bekr¨aftelse till anv¨andaren att den har uppfattat dennes ¨onskem˚al utan fr˚agar direkt om mer information. Detta beror p˚a att returnen G minskar f¨or varje ny fras chatboten anv¨ander och d¨arf¨or f¨ors¨oker den s˚a snabbt som m¨ojligt f˚a all information, g¨ora reservationen och sen avsluta dialogen.

I return-funktionen ¨ar det m¨ojligt att inf¨ora regler som g¨or att returnen ¨okar f¨or visst typ av beteende, till exempel att bekr¨aftelse p˚a att informationen har registrerats. Detta kr¨aver dock manuellt arbete vilket kan vara sv˚art och ta l˚ang tid. Ett alternativ kan vara att g¨ora en mer avancerad simulering eller l˚ata chatboten vid detta stadie b¨orja konversera med m¨anskliga anv¨andare. Det ¨ar m¨ojligt att dessa avslutar konversationen n¨ar chatboten inte bekr¨aftar att den uppfattat den information man angivit, utan bara forts¨atter st¨alla fr˚agor. Detta g¨or att chatboten kan l¨ara sig att detta beteende inte ¨ar optimalt och att det ¨ar f¨ordelaktigt att anv¨anda fraser som ”hello what can i help you with today” och ”i’m on it”.

Dialogen som den ¨ar nu kan tyckas m¨ojlig att genomf¨ora med en chatbot med n˚agra enkla regler, till exempel:

1) Fr˚aga efter information som saknas.

2) G¨or restaurangreservationen.

3) Avsluta dialogen.

Om m˚alet med chatboten ¨ar att skapa dialoger likt den i tabell IV skulle denna typ av regelbaserad bot kunna fungera.

D¨aremot kan den inte justera sitt beteende automatiskt om den misslyckas att slutf¨ora dialoger med anv¨andare, varf¨or RL- chatboten kan vara att f¨oredra framf¨or en regelbaserad i ett s˚adant fall. Dessutom skulle reglerna beh¨ova g¨oras om f¨or varje ny dom¨an chatboten anv¨ands i medan RL-modellen ¨ar betydligt mer flexibel.

Tabell V inneh˚aller en dialog med en chatbot endast tr¨anad med RNN. H¨ar finns inget incitament f¨or boten att slutf¨ora dialogen s˚a snabbt som m¨ojligt, utan ist¨allet f¨ors¨oker den efter- likna beteende den har observerat i lyckade dialoger. Dialogen

¨ar fr˚an bAbi-datasetet och d¨arf¨or skiljer sig anv¨andarens fraser fr˚an den simulerade anv¨andaren som RL-boten interagerar med. Det ¨ar ¨and˚a uppenbart att RNN-boten anv¨ander fraser som bekr¨aftar att den uppfattat anv¨andarens information, till exempel ”ok let me look into some options for you”.

2) Analys av tr¨aningstid: Arbetet syftar bland annat till att unders¨oka hur snabbt och till vilken kvalitet en chatbot kan tr¨anas med RL. Resultatet visar att samtliga unders¨okta modeller snabbt konvergerar till optimalt beteende. Om filtret anv¨ands hindras chatboten fr˚an att st¨alla fr˚agor om information den redan har eller f¨oresl˚a en restaurang utan att ha all information, vilket g¨or att tr¨aningen g˚ar betydligt snabbare eftersom chatboten m˚aste l¨ara sig detta sj¨alv annars. Att filtret hj¨alper ¨ar tydligt men spelar inte s˚a stor roll i sammanhanget av en simulator eftersom tr¨aningen g˚ar snabbt ¨and˚a. D¨aremot

¨ar det viktigt att notera eftersom det kan spela en avg¨orande roll vid tr¨aning av en mer komplicerad chatbot. Om tr¨aning med RL enbart skulle ta f¨or l˚ang tid kan filter g¨ora stor nytta.

Om inte heller en anv¨andarsimulering ¨ar m¨ojlig och boten direkt skulle beh¨ovas tr¨anas med riktiga m¨anniskor kan ett filter inneb¨ara en avg¨orande f¨orb¨attring. Figur 3 (bl˚a linje) visar hur andelen lyckade dialoger g˚ar mot 100 procent redan efter 300 dialoger. Det betyder att ¨aven om inte chatboten fungerar optimalt hj¨alper den fortfarande anv¨andaren att utf¨ora sitt ¨arende. Det b¨or ¨aven vara m¨ojligt - i alla fall f¨or denna uppgift - f¨or utvecklarna av boten att sj¨alva interagera med den s˚a m˚anga g˚anger under rimlig tid.

Det intressanta ¨ar inte exakt hur snabb varje tr¨aning ¨ar utan det ¨ar magnituden som ¨ar relevant. I detta fall handlade det om minuter vilket f˚ar anses bra d˚a det f¨ormodligen inte utg¨or ett hinder f¨or utvecklingen av en chatbot. Det ¨ar enkelt att testa flera olika implementeringar och ¨ar inget problem att tr¨ana om modellen om s˚a ¨onskas. RL-metoder i andra dom¨an kan beh¨ova dagar till m˚anader i tr¨aningstid vilket g¨or tiden till en stor begr¨ansning. Dock ¨ar en RL-implementering mer komplex

¨an till exempel en regelbaserad modell, vilket sj¨alvklart ¨ar n˚agot som ocks˚a b¨or tas h¨ansyn till. Om chatboten endast ska verka i en specifik dom¨an och den endast f¨orv¨antas f¨ora triviala dialoger kan en regelbaserad chatbot vara att f¨oredra.

B. Aff¨ars- och samh¨allsrelaterade perspektiv

1) SMEs och digital mognad: Detta projekt faller under samlingsnamnet automatiseringsteknologier, vilket ¨ar en av de tre digitala teknologier som har identifierats av Myndigheten f¨or tillv¨axtpolitiska utv¨arderingar och analyser [15]. F¨or att f¨oretag ska kunna nyttja dessa teknologier till sin fulla po- tential kr¨avs en h¨og digital mognad. Ett m˚att p˚a digital mognad ¨ar det OECD-index som tagits fram och m¨ater utifr˚an dimensionerna ICT Capabilities, ICT Sophistication och Web Maturity hur digitalt moget ett f¨oretag ¨ar. Vad som har kunnat konstateras utifr˚an detta index ¨ar att f¨oretag vars k¨arnaktivitet inte involverar eller direkt beror av dessa dimensioner har en l˚ag digital mognad, dessutom hamnar SME-segmentet efter de stora f¨oretagen [15]. En anledning till att dessa har en generellt b¨attre digital mognad trots att det inte tillh¨or k¨arnaktiviteten skulle kunna bero p˚a att en st¨orre organisation kr¨aver mer utvecklade system. Ut¨over detta har en st¨orre organisation mer resurser som kan allokeras till omr˚aden som inte tillh¨or k¨arnverksamheten men som kan bidra med aff¨arsnytta.

Problemet som uppst˚ar f¨or SME-sektorerna som ligger efter i digitaliseringen ¨ar att experterna samtidigt ser hur vardagliga uppgifter inom omr˚aden som kundsupport ¨ar de som ¨ar mest

(9)

sannolika att automatiseras inom tio ˚ar. Samtidigt anser ex- perter att det n¨odv¨andigtvis inte ¨ar de mest digitalt mogna sektorerna som kommer f¨or¨andras mest inom denna tidspe- riod [16]. Den framtid som m˚anga av dessa f¨oretag d¨arf¨or kommer kunna f¨orv¨anta sig inneb¨ar att de i viss utstr¨ackning kommer beh¨ova anv¨anda automatiseringsteknologier som chat- botar. Av denna anledning kan chatbotar som liknar detta projekt vara ett bra alternativ f¨or dessa f¨oretag d˚a de ¨ar f¨orh˚allandevis enkla att anpassa efter anv¨andningsomr˚adet samt att de inte kr¨aver samma m¨angd data som andra alterna- tiv.

2) Samarbeta eller utveckla p˚a egen hand: Om dessa f¨oretag best¨ammer sig f¨or att b¨orja till¨ampa en ny teknologi kan de antingen v¨alja att g¨ora det helt p˚a egen hand eller samarbeta med ett eller flera andra f¨oretag. Det finns d˚a flera saker att ta h¨ansyn till och det kan ofta g¨ora stora skillnad - avseende bland annat kostnad, tid och kvalitet - beroende p˚a vad som v¨aljs.

Om f¨oretaget v¨aljer att utveckla teknologin helt p˚a egen hand st˚ar detta ensamt f¨or alla kostnader och risker och projektet kan bli dyrt. All ny kunskap som kr¨avs, vilken f¨oretaget i detta fall inte besitter fr˚an b¨orjan, beh¨over ocks˚a f¨orv¨arvas vilket g¨or att processen ocks˚a kan ta l˚ang tid. En f¨ordel med att inte samarbeta ¨ar att f¨oretaget har full kontroll

¨over produkten, dock ¨ar det mer relevant f¨or n˚agot som tillh¨or ens k¨arnkompetens. Att utveckla n˚agot nytt p˚a egen hand passar vanligtvis b¨attre f¨or f¨oretag som redan har erfarenhet inom omr˚adet.

Outsourcing skulle kunna ses som motsats till att f¨oretaget utvecklar p˚a egen hand. Det l¨ampar sig ofta om aktiviteten inte ¨ar n˚agot man redan ¨ar duktig p˚a och att det inte tillh¨or n˚agot som ¨ar viktigt f¨or ens konkurrenskraft. Detta kan l˚ata passande f¨or de f¨oretag som diskuterats, men ett problem

¨ar att outsourcing ofta inneb¨ar att f¨oretaget utesluts fr˚an processen vilket g¨or att det inte f¨orv¨arvar n˚agon ny kunskap.

Vet f¨oretaget att aktiviteten endast kr¨avs f¨or en begr¨ansad tid skulle det inte vara n˚agon st¨orre fara, s˚a ¨ar dock inte fallet med digitalisering. Chatboten f˚ar snarare ses som ett f¨orsta steg i en digital transformation och d¨armed kan f¨oretag ha stor nytta av att bygga kompetens inom omr˚adet samtidigt.

Ist¨allet f¨oresl˚as det att v¨alja n˚agot mellan utveckling p˚a egen hand och outsourcing. ¨Aven om dessa alternativ kan ses som motsatser - vilket g¨or spannet mellan alternativen brett - b¨or en mer exakt grad av samarbete anpassas f¨or varje specifikt f¨oretag. Det ¨ar en balansg˚ang mellan ”capability complementation” och ”capability transfer”; till en b¨orjan kanske just kompletteringen ¨ar det viktigaste f¨or att f˚a ig˚ang chatboten men det l˚angsiktiga m˚alet b¨or ¨aven vara att f¨oretaget l¨ar sig alltmer f¨or att inte blir f¨or beroende av annan part.

Datavetaren Dr. Bettina Horster [18] tycker inte att SMEs b¨or arbeta helt p˚a egen hand i b¨orjan av sin digitala trans- formation eftersom det kr¨avs s˚a mycket expertis. Ist¨allet f¨oresl˚ar Horster att f¨oretagen hittar en partner som kan g¨ora det ˚at dem eller ˚atminstone hj¨alpa till. Det kan vara s˚a lite som en workshop tillsammans vilket kan hj¨alpa en p˚a r¨att v¨ag och s¨akerst¨alla att f¨oretaget inte b¨orjar p˚a helt fel s¨att. Horster rekommenderar ¨aven att b¨orja l¨att, till exempel med en aktivitet som inte ¨ar avg¨orande f¨or f¨oretaget, till

exempel en chatbot som komplement i kundsupporten. Digital transformation beh¨over inte vara sm¨artsam f¨or ett f¨oretag utan kan ist¨allet vara n˚agot som sker steg f¨or steg. Att b¨orja l¨att och samarbeta med n˚agon med mer expertis ¨ar ett bra f¨orsta steg f¨or SMEs.

3) Aff¨arsnytta: N¨ar ett f¨oretag v¨al v¨aljer att implementera en chatbot f¨or kundsupport ¨ar det viktigt att reflektera ¨over hur stor del den kan och b¨or ers¨atta. ˚Asikter kring andelen av dagens jobb som kommer att automatiseras varierar kraftigt, d¨ar en modell tyder p˚a att 53 procent av alla jobb kommer att automatiseras i Sverige [16]. Samtidigt m¨oter denna modell mycket kritik. Enligt modellen anses exempelvis fotomodell- yrket vara sannolikt att automatiseras. Detta anses orimligt och beror troligen p˚a de antaganden som har gjorts f¨or modellen.

Ist¨allet f¨or att ers¨atta hela yrken b¨or automatiseringen ses som ett komplement till m¨anskligt arbete [16]. En chatbot kan potentiellt ers¨atta en hel kundsupport men fr˚agan ¨ar om ett f¨oretag vill ge upp sin f¨orm˚aga att g¨ora ett personligt intryck. Det kan ¨aven visa sig att m¨angden arbete som kr¨avs f¨or att skapa en chatbot som klarar av alla komplicerade uppgifter inte ¨ar v¨art det. D¨arf¨or ¨ar det viktigt att t¨anka p˚a att marginalnyttan m˚aste ¨overstiga marginalkostnaden.

Ist¨allet f¨or att l˚ata en chatbot sk¨ota en hel kundsupport kan den som ett f¨orsta steg ers¨atta en FAQ-sida. Inte s¨allan tycker anv¨andare att dessa ¨ar sv˚ara att navigera p˚a grund av all information som finns p˚a denna sida och trots det misslyckas svara p˚a den fr˚aga man har [19]. Det g¨or att anv¨andare undviker FAQ-sidor och ist¨allet f¨ors¨oker kontakta f¨oretaget direkt, till exempel genom att ringa vilket l¨att blir tidskr¨avande f¨or f¨oretaget [20]. En chatbot skulle kunna l¨osa problemet genom att anv¨andare direkt kan st¨alla en fr˚aga ist¨allet f¨or att leta upp sin fr˚aga bland alla andra, samtidigt som f¨oretaget inte beh¨over l¨agga tid p˚a att svara p˚a samma fr˚agor om igen.

Faqbot ¨ar ett f¨oretag som bland annat hj¨alper f¨oretag att ers¨atta FAQ-sidor med chatbotar. De har ¨aven insett att m˚anga f¨oretag som inte haft en FAQ-sida innan ¨and˚a kan ha stor nytta av denna hj¨alp. Ett exempel ¨ar en kund som ¨ar inne p˚a en hemsida f¨or kl¨ader och ser en tr¨oja som hen gillar, men skulle helst ha den i en annan f¨arg. F¨or att ta reda p˚a om det finns kr¨avs normalt ett samtal till en butik, vilket en chatbot skulle kunna svara p˚a ist¨allet vilket ger kunden ett snabbare svar och personalen i butiken slipper bli avbruten [20].

Beroende p˚a typ av f¨oretag kan det sen ocks˚a vara viktigt att m¨ojligg¨ora vidarekoppling till en m¨ansklig support om chat- boten inte klarar av uppgiften. Ett exempel ¨ar hur Mavenoid, ett f¨oretag vars produkt ¨ar en uppgiftsorienterad AI-plattform f¨or teknisk support, baserar sin produkt p˚a denna id´e - enklare och ˚aterkommande problem kan en bot l¨osa medan det alltid

¨ar m¨ojligt att f˚a kontakt med en m¨anniska. Detta l¨amnar mer utrymme f¨or den m¨anskliga kundsupporten att hantera de mer komplicerade uppgifterna och dessa kunder f˚ar d˚a snabbare svar p˚a sina fr˚agor genom en personlig support. P˚a s˚a s¨att ¨ar det m¨ojligt att b˚ade ¨oka effektiviteten och kundn¨ojdheten [21].

Allt detta f¨oruts¨atter d¨aremot att chatboten ¨ar av tillr¨ackligt god kvalitet ur b˚ade ett dialog-perspektiv och ett prob- leml¨osnings-perspektiv. Om chatboten skulle prestera d˚aligt i n˚agot av dessa avseenden skulle det leda till att kun- derna v¨aljer den m¨anskliga kundsupporten i en majoritet av

(10)

fallen. Samtidigt anses feltoleransen vara h¨og i enkla arbet- suppgifter i j¨amf¨orelse med mer komplicerade som exempelvis sj¨alvk¨orande bilar [16]. Om kunderna har alternativet att kopplas vidare har inte chatboten speciellt stor p˚averkan p˚a kundn¨ojdheten. D¨aremot f¨oruts¨atter detta att processen med en chatbot och att sen kopplas vidare fortfarande ¨ar effektivare ¨an att v¨anta p˚a m¨ansklig kundsupport fr˚an b¨orjan eller att skill- naden inte ¨ar signifikant. Om alternativet att kopplas vidare d¨aremot finns ger det upphov till ett annat problem kring vad som ¨ar ett godtagbart resultat efter att chatboten integrerats i kundsupporten. Om chatboten klarar av att l¨osa ett problem

¨ar kundsupporten med en chatbot redan effektivare ¨an en utan dock skulle chatboten i j¨amf¨orelse med andra chatbotar anses vara misslyckad. Problemet liknar det f¨or en ”word predictor”

d¨ar ett godtagbart resultat omkring 40 procent verkar rimligt, men vidare tester skulle beh¨ova genomf¨oras f¨or att fastst¨alla hur anv¨andbar funktionen verkligen ¨ar [22].

4) Etiska aspekter: Transparens kring huruvida en person pratar med en bot eller riktig m¨anniska tas ofta upp som en viktig aspekt g¨allande chatbotar [23]. Till exempel i en kund- support kan en kund k¨anna sig lurad om den b¨orjar misst¨anka att hen pratar med en bot och inte en riktig m¨anniska. Att inte vara tydlig med det fr˚an b¨orjan ¨ar n˚agot som kan skapa misstro hos kunden. Det ¨ar b¨attre att vara uppriktig och g¨arna ocks˚a f¨orklara chatbotens f¨orm˚agor och begr¨ansningar, vilket kan g¨ora kunden mer f¨orl˚atande d˚a chatbotar s¨allan f¨orv¨antas prestera exakt som en m¨anniska.

En annan viktig aspekt f¨or utvecklarna av en chatbot ¨ar att se till att den inte bryter mot lagar och regler. Rasism, diskriminering och kr¨ankningar b¨or inte vara acceptabelt f¨or chatbotar p˚a samma s¨att som f¨or m¨anniskor. Om en chatbot ges f¨or stor frihet ¨ar det viktigt att det finns verktyg f¨or att f¨orhindra eller uppt¨acka s˚adant beteende. Ett k¨ant exempel p˚a detta ¨ar Microsofts Twitterbot Tay som b¨orjade uttrycka sig rasistiskt efter att ha observerat och sedan h¨armat andra anv¨andare p˚a Twitter [24]. Det h¨ar arbetets chatbot l¨oper inte denna risk d˚a den har f¨orbest¨amda fraser, men skulle meningarna genereras av boten sj¨alv blir detta en viktig del att ta h¨ansyn till.

C. Framtida arbete

P˚a grund av arbetets begr¨ansningar i b˚ade fokusomr˚ade och tid finns det m˚anga omr˚aden som skulle kunna vara intressant f¨or vidare studier. Det mest uppenbara skulle vara att l˚ata riktiga anv¨andare interagera med chatboten ¨over en l¨angre tidsperiod och anv¨anda denna data som dataunderlag f¨or test. D˚a skulle det ¨aven vara relevant att inkludera ett riktigt boknings-API f¨or att generera riktiga f¨orslag. Eftersom detta test skulle str¨acka sig ¨over en l¨angre tidsperiod skulle det

¨aven kunna vara intressant att bygga ut anv¨andarsimulatorn, alternativt hitta en ny som b¨attre liknar en m¨ansklig anv¨andare.

Det skulle vara intressant b˚ade i syfte att se hur resultatet f¨or¨andras och ¨aven f¨or att unders¨oka om ett mer komplett paket f¨or UDS:er kan utvecklas som inneh˚aller b˚ade simulator och chatbot.

Det hade ¨aven varit givande att g¨ora en studie av f¨oretag som redan implementerat chatbots i sin kundtj¨anst och unders¨oka

vilka f¨or¨andringar de upplevt i b˚ade kundn¨ojdhet och v¨antetid.

Det skulle ¨aven vara intressant att se om det ¨ar n˚agra ov¨antade f¨or¨andringar de upplevt efter implementeringen eller hur det p˚averkat kundsupporten i sin helhet. Ett annat forskning- somr˚ade skulle kunna vara att j¨amf¨ora system med FAQ och UDS:er d˚a de fyller samma funktion. I samband med dessa studier skulle man kunna se om det g˚ar att ta fram en miniminiv˚a f¨or success-raten ur ett kundperspektiv.

VII. SLUTSATS

Denna studie syftade till att unders¨oka hur effektivt - avseende tid och kvalitet - RL ¨ar f¨or tr¨aning av uppgift- sorienterade chatbotar och hur dialogerna denna skapar skil- jer sig fr˚an regelbaserade och RNN-modeller. Vad som kan konstateras ¨ar att RL visar god potential att ers¨atta andra tr¨aningsmetoder, d˚a den implementerade modellen kunde tr¨ana en chatbot till optimal p˚a n˚agra f˚a minuter. Dialogerna blev visserligen v¨aldigt korta d˚a chatboten hade incitament att s˚a snabbt som m¨ojligt bli klar. Det ¨ar m¨ojligt att en m¨ansklig anv¨andare snabbt skulle avf¨arda boten d˚a den inte visade n˚agon bekr¨aftelse p˚a att den uppfattat n˚agon information.

Dialogerna verkade ocks˚a s˚a triviala att en regelbaserad bot lika g¨arna skulle kunna fungera. Den RNN-tr¨anade chatboten

˚a andra sidan hade inget incitament att snabbt avsluta dialogen och kunde d¨arf¨or visa mer bekr¨aftelse till anv¨andaren och p˚a s˚a s¨att verka mer m¨anniskolik. D¨aremot kan man se denna RL-chatbot som en f¨ortr¨anad version som sen kan b¨orja interagera med m¨anskliga anv¨andare. Den kan d˚a - utan n˚agon modifiering av koden - l¨ara sig att mer m¨anniskolikt beteende och mer bekr¨aftelse ¨okar sannolikheten f¨or lyckade dialoger.

P˚a s˚a s¨att ¨ar den ett intressant alternativ till en regelbaserad chatbot och ¨aven en RNN-tr¨anad bot som kr¨aver data p˚a lyckade dialoger.

Chatboten som skapades har potential att ers¨atta ett f¨oretags FAQ-sida som ofta ignoreras av kunder d˚a dessa ¨ar sv˚ara att navigera och ofta saknar svar p˚a kundens fr˚aga. M˚anga kunder tar ist¨allet direkt kontakt med f¨oretaget vilket kan vara tidskr¨avande f¨or b˚ada parter. En chatbot som ers¨atter en FAQ- sida kan d¨arf¨or skapa aff¨arsnytta genom att avlasta f¨oretagets kundsupport och samtidigt hj¨alpa kunderna snabbare.

N¨ar ett f¨oretag som har l˚ag eller ingen kompetens inom omr˚adet best¨ammer sig f¨or att implementera en chatbot kan samarbete med ett annat f¨oretag vara till stor nytta. Tv˚a kritiska fr˚agor som man d˚a b¨or ta st¨allning till ¨ar:

Hur ser kompetensen ut inom f¨oretaget idag? Generellt:

ju l¨agre kompetens desto h¨ogre grad av samarbete b¨or s¨okas. ¨Aven om kompetensen ¨ar h¨og b¨or bolaget f¨ors¨oka hitta ett l¨attare samarbete f¨or att maximera resultatet.

Ar kompetensen inom omr˚adet viktig f¨or f¨oretaget tem-¨ por¨art eller permanent? Generellt: om endast tempor¨art kan outsourcing vara tillr¨ackligt och om permanent b¨or f¨oretaget s¨oka ett samarbete som m¨ojligg¨or att de kan l¨ara sig om tekniken samtidigt. Chatbotar kan dock ses som ett f¨orsta steg i en digital transformation och d¨arf¨or b¨or de flesta f¨oretag undvika full outsourcing och ˚atminstone ha n˚agon form av l¨arandeprocess ig˚ang.

(11)

REFERENCES

[1] E. A. C. of Expertise, 2019 EDELMAN AI SURVEY, 2019.

[Online]. Available: https://www.edelman.com/sites/g/files/aatuss191/

files/2019-03/2019 Edelman AI Survey Whitepaper.pdf

[2] S. Makridakis, “The forthcoming artificial intelligence (ai) revolution:

Its impact on society and firms,” pp. 8,19, 01 2017.

[3] C. Smith, “An employee’s best friend? how ai can boost employee engagement and performance,” Strategic HR Review, vol. 18, no. 1, pp.

17–20, 2019.

[4] J. D. Williams, K. Asadi, and G. Zweig, “Hybrid code networks:

practical and efficient end-to-end dialog control with supervised and reinforcement learning,” CoRR, vol. abs/1702.03274, 2017. [Online].

Available: http://arxiv.org/abs/1702.03274

[5] R. J. Williams, “Simple statistical gradient-following algorithms for connectionist reinforcement learning,” Machine learning, vol. 8, no. 3-4, pp. 229–256, 1992.

[6] T. Wen, M. Gasic, N. Mrksic, L. M. Rojas-Barahona, P. Su, S. Ultes, D. Vandyke, and S. J. Young, “A network-based end-to-end trainable task-oriented dialogue system,” CoRR, vol. abs/1604.04562, 2016.

[Online]. Available: http://arxiv.org/abs/1604.04562

[7] H. Mei, M. Bansal, and M. R. Walter, “Coherent dialogue with attention-based language models,” CoRR, vol. abs/1611.06997, 2016.

[Online]. Available: http://arxiv.org/abs/1611.06997

[8] W. Shi, K. Qian, X. Wang, and Z. Yu, “How to build user simulators to train rl-based dialog systems,” Proceedings of the 2019 Conference on Empirical Methods in Natural Language Processing and the 9th International Joint Conference on Natural Language Processing (EMNLP-IJCNLP), 2019. [Online]. Available:

http://dx.doi.org/10.18653/v1/d19-1206

[9] J. Ohmura, “Hybrid-code-networks,” Apr. 2018. [Online]. Available:

https://github.com/jojonki/Hybrid-Code-Networks

[10] “torch.nn.” [Online]. Available: https://pytorch.org/docs/stable/nn.html [11] “Google word2vec,” 2020. [Online]. Available: https://code.google.com/

archive/p/word2vec/

[12] “torch.autograd.” [Online]. Available: https://pytorch.org/docs/stable/

autograd.html

[13] M. D. Zeiler, “ADADELTA: an adaptive learning rate method,” CoRR, vol. abs/1212.5701, 2012. [Online]. Available: http://arxiv.org/abs/1212.

5701

[14] “torch.optim.” [Online]. Available: https://pytorch.org/docs/stable/optim.

html

[15] M. f¨or tillv¨axtpolitiska utv¨arderingar och anal- yser, F¨oretagens digitala mognad 2018, 2018.

[Online]. Available: https://www.tillvaxtanalys.se/download/18.

62dd45451715a00666f19db3/1586366155443/pm 2019 12.pdf [16] F. digitala kompetensbehov – en delphiinspirerad studie, Myndigheten

f¨or tillv¨axtpolitiska utv¨arderingar och analyser, 2020.

[17] M. Schilling, Strategic Management of Technological Innovation, 01 2016.

[18] B. Horster, “How smes can approach digital transformation,” Dec 2018. [Online]. Available:

https://www.dotmagazine.online/issues/digital-production/

blockchain-and-Iot/how-smes-can-approach-digital-transformation [19] D. MacPherson, “No more faqs: Create purposeful

information for a more effective user experience,”

2020. [Online]. Available: https://alistapart.com/article/

no-more-faqs-create-purposeful-information-for-a-more-effective-user/

-experi/

[20] “how we went from making faq-pages into chatbots, even for companies without faq-pages,” 2020. [Online]. Available: https://chatbotslife.

com/how-we-went-from-making-faq-pages-into-chatbots-even-for/

-companies-without-faq-pages-8bc42148934f

[21] S. Lilja, “Customer support needs less talk, more trou- bleshooting,” 2018. [Online]. Available: https://blog.mavenoid.com/

customer-support-needs-less-talk-more-troubleshooting/

[22] K. Trnka and K. McCoy, “Evaluating word prediction: Framing keystroke savings,” in Proceedings of ACL-08: HLT, Short Papers.

Columbus, Ohio: Association for Computational Linguistics, June 2008, pp. 261–264. [Online]. Available: https://www.aclweb.org/anthology/

P08-2066

[23] T. Reddy, “The code of ethics for ai and chat- bots that every brand should follow - watson blog,”

2020. [Online]. Available: https://www.ibm.com/blogs/watson/2017/10/

the-code-of-ethics-for-ai-and-chatbots-that-every-brand-should-follow

[24] E. Hunt, “Tay, microsoft’s ai chatbot, gets a crash course in racism from twitter,” 2020. [On- line]. Available: https://www.theguardian.com/technology/2016/mar/24/

tay-microsofts-ai-chatbot-gets-a-crash-course-in-racism-from-twitter

Jacob B˚ath f¨odd i april 1995, Stockholm. Jacob studerar sista ˚aret av sin kandidat inom Industriell ekonomi vid Kungliga Tekniska H¨ogskolan (KTH) och ¨amnar d¨arefter ta sin mastersutbildning inom maskininl¨arning.

Zac Bauer f¨odd i juni 1997, Stockholm. Zac studerar sista ˚aret av sin kandidat inom Industriell ekonomi vid Kungliga Tekniska H¨ogskolan (KTH) och ¨amnar d¨arefter ta sin mastersutbildning inom maskininl¨arning.

F¨orfattarna har bidragit lika mycket till arbetet.

(12)

www.kth.se

References

Related documents

L˚ at y(t) vara andelen av populationen som ¨ar smittad efter tiden t dygn, r¨aknad fr˚ an uppt¨ack- ten... Observera att ¨amnets koncentration ¨ar samma som m¨angden av

Rutinen som anv¨ands f¨ or att definiera operatorn, kan ha antingen ett eller tv˚ a argument, men eftersom funktionen normalt definieras i samma modul som inneh˚

Det inses relativt l¨ att att volymen som innesluter massa ¨ ar klotet med radie r (med r i omr˚ ade 2) minus den innersta tomma klotets volym (den innesluter ju ingen massa)...

Material i grupp II och III har ocks˚ a h¨ og kompressibilitet f¨ or att de har dels kovalent bindning, dels metallisk bindning, vilket leder till kovalenta kristaller som har ¨

Resonemang, inf¨ orda beteck- ningar och utr¨ akningar f˚ ar inte vara s˚ a knapph¨ andigt presenterade att de blir sv˚ ara att f¨ olja.. ¨ Aven endast delvis l¨ osta problem kan

Resonemang, inf¨ orda beteck- ningar och utr¨ akningar f˚ ar inte vara s˚ a knapph¨ andigt presenterade att de blir sv˚ ara att f¨ olja.. ¨ Aven endast delvis l¨ osta problem kan

Antalet kunder som bes¨ oker de tv˚ a aff¨ arerna en timme kan beskrivas med Poissonf¨ ordelningar.. Det genomsnittliga antalet kunder som bes¨ oker de tv˚ a aff¨ arerna ¨ ar

Vid bed¨ omningen av l¨ osningarna av uppgifterna i del 2 l¨ aggs stor vikt vid hur l¨ osningarna ¨ ar motiverade och redovisade. T¨ ank p˚ a att noga redovisa inf¨ orda