• No results found

En undersökning av möjligheten att anpassa en chatbot för mailkonversationer An examination of the possibility of customizing a chatbot for mail conversations

N/A
N/A
Protected

Academic year: 2021

Share "En undersökning av möjligheten att anpassa en chatbot för mailkonversationer An examination of the possibility of customizing a chatbot for mail conversations"

Copied!
52
0
0

Loading.... (view fulltext now)

Full text

(1)

INOM EXAMENSARBETE DATATEKNIK, GRUNDNIVÅ, 15 HP , STOCKHOLM SVERIGE 2020

En undersökning av möjligheten

att anpassa en chatbot för

mailkonversationer

An examination of the possibility

of customizing a chatbot for mail

conversations

GUUNAR WESTMAN

MICHAEL HJÄLMÖ

(2)
(3)

En undersökning av möjligheten att

anpassa en chatbot för

mailkonversationer

An examination of the possibility of customizing a chatbot for mail

conversations

Författare:

Gunnar Westman gwestma@kth.se Michael Hjälmö hjalmo@kth.se

Examensarbete inom Datateknik Grundnivå, 15 hp

Handledare på KTH: Jonas Willén Examinator: Ibrahim Orhan TRITA-CBH-GRU-2020:46 KTH

(4)
(5)

Sammanfattning

Utgångspunkten för detta examensarbete är att bestämma hur väl en chatbot kan anpassas för mailkonversationer. Om chatbotar kan anpassas för mailkonversationer skulle behovet av mänskligt arbete vid monotona och förutsägbara mailkonversationer kunna minskas. Examensarbetet har implementerat ett existerande chatbot-ramverk och utvecklat ett

dialogbeslutssystem för svarskonstruktion utifrån de klassificerade avsikterna. Hela systemet kallas för konversationsenhet. Målet för konversationsenheten är att uppnå ett

precisionsvärde på 0,90, som uppnåddes med en implementation av Watson assistant. Precisionsvärdet används för att mäta hur väl konversationsenheten kan anpassas för mailkonversationer. Dialogbeslutssystemet ska kunna ge olika svar beroende på vilka avsikter som är klassificerade och svar som beror på förekomsten av andra avsikter ska vara oberoende av ordningen avsikterna blev klassificerade. Det utvecklade dialogbeslutssystemet uppnåde de uppsatta målen.

Nyckelord

(6)
(7)

Abstract

The starting point for this thesis is to determine how well a chatbot can be adapted for email conversations. If chatbots can be customized for email conversations, the need for human work in monotonous and predictable email conversations could be reduced. An existing chatbot framework has been implemented and a dialogue decision system for response construction based on the classified intents has been developed. The whole system is called a conversational unit. The goal of the conversation unit is to achieve a precision value of 0.90, which was achieved with an implementation of Watson assistant. The precision value is used to measure how well the conversation unit can be adapted for mail conversations. The

dialogue decision system should be able to give different answers depending on what intents are classified and answers that depend on the existence of other intents should be independent of the order the intents were classified. The developed dialogue decision system achieves the set goals.

Keywords

(8)
(9)

Förkortningar

API Application Programming Interface

AI Artificial Intelligence

NLU Natural Language Understanding

NLP Natural Language Processing

(10)
(11)

Förord

Vi som författare skulle vilja tacka de personer som har hjälp oss både med projektet och rapportskrivandet. Följande personer har hjälp oss i detta arbete:

(12)
(13)

Innehållsförteckning

Innehållsförteckning 10 1 Inledning 12 1.1 Problemformulering 12 1.2 Målsättning 13 1.3 Avgränsningar 13

1.4 Författarnas bidrag till examensarbetet 13

2 Teori och bakgrund 14

2.1 Introduktion till chatbotar 14

2.1.1 Natural Language Processing 14 2.1.2 Natural Language Understanding 14

2.1.3 Chatbot 15

2.2 Hållbar utveckling och chatbotar 15

2.3 Undersökta chatbot-ramverk 16

2.3.1 Dialogflow 17

2.3.2 Watson assistant 19

2.3.3 Gavagai 24

2.3.4 Rasa och Rasa X 25

2.4 Utvärderingsmetoder för chatbotar 25

2.4.1 Precisionsvärde 25

2.4.2 Befintliga testramverk för chatbotar 26 2.4.3 Utvärdering av användarupplevelse 26 2.4.4 Utvärdering av chatbotens givna svar 27 2.5 Befintliga chatbot-dialogbeslutssystem 27

3 Metod och resultat 30

3.1 Metod 30

3.2 Resultat 32

3.2.1 Beskrivning av konversationsenheten 32 3.2.2 Watson assistant webbgränssnitt 34 3.2.3 Utvecklat dialogbeslutssystemet 34

3.2.4 Valideringsresultat 36

4 Analys och diskussion 40

5 Slutsatser 42

(14)
(15)

1

Inledning

Det här inledande avsnittet kommer att ge en introduktion till problemställningen, presentera problemets definition och examensarbetets omfattning. I 1.1 kommer problemet som

rapporten ska avhandla presenteras tillsammans med kontext för att klargöra

problemställningen. Därefter i avsnitt 1.2 kommer rapportens mål att presenteras. I avsnitt 1.3 kommer rapportens avgränsningar presenteras. Slutligen i avsnitt 1.4 kommer författarnas bidrag till projektet att presenteras.

1.1 Problemformulering

Inom automatisering av tjänster används deep-learning och neurala nätverk i applikationer för bland annat konversationsanalys. ​En tjänst som automatiseras är chattkonversationer med kunder. Detta görs med datorsystem som kallas för chatbotar​. En chatbot är optimerad för att hantera korta textmeddelanden, tolka dem och utifrån deras innebörd ge adekvata svar. Industrin för chatbotar beräknas omsätta 9,4 miljarder dollar år 2024 [1]. Om

implementationen kan användas för längre texter skulle användningsområdet för chatbotar kunna utökas till att innefatta bland annat mailkonversationer.

Enligt företaget Tendium finns det ett behov av artificiell intelligens för att effektivisera offentliga upphandlingar. Denna effektivisering av offentliga upphandlingar gör att Tendium har behov av att begära ut stora mängder dokument från olika aktörer och utvecklar därför ett system som automatiserar processen. En viktig komponent i detta system är en

konversationsenhet som tolkar innehållet i inkommande mail och genererar svar som driver mail-dialogen med berörd part framåt. För att få en skalbar implementation av

konversationsenheten måste den fungera med hög grad av automation. Det innebär att konversationsenheten automatiskt ska kunna konversera över mail med myndigheter för att kräva ut offentliga upphandlingar.

Vid upphandling baserad på dokument från myndigheter gäller offentlighetsprincipen. Den innebär att myndigheters verksamhet ska ske på ett öppet sätt. Enligt offentlighetsprincipen har alla svenska medborgare rätt att kräva ut offentliga upphandlingar från myndigheter så länge upphandlingarna inte är sekretessbelagda. En offentlig upphandling är ett dokument som förvaras hos en myndighet, som inkommit till myndigheten eller är upprättat hos myndigheten [2]. Även om alla svenska medborgare har rätt att kräva ut offentliga

upphandlingar från myndigheter så krävs det att konversation förs med myndigheten i fråga. Att manuellt konversera över mail med myndigheter är en resurskrävande uppgift för

Tendium och därför vill de ​ha en djupdykande undersökning kring hur en chatbot kan anpassas för att utföra denna uppgift.

(16)

1.2 Målsättning

Målen med examensarbetet är att utreda med vilken precision en chatbot kan svara på

mailkonversation och utveckla ett dialogbeslutssystem för att besluta vilka svar som ska ges. Värdet som används för att bedöma hur väl konversationsenheten kan klassificera avsikter utifrån längre texter är precision, som är kvoten av antalet korrekta klassifikationer genom alla utförda klassifikationer. Målet är att uppnå ett precisionsvärde av 0,90 för de avsikter som examensarbetet definierat.

Som en följd av en mailkonversationer med större texter kan inte de sedvanliga

svarshanterings- och lösningsalternativen, där en avsikt har ett svar i ett 1-till-1 relation, användas. Detta eftersom större texter leder till situationer där avsikter i olika delar

modifierar varandras betydelse. Det leder till behovet av ett dialogbeslutssystem, ett system som utifrån alla klassificerade avsikter beslutar hur dialogen med användaren ska drivas framåt. Dialogbeslutssystemet ska kunna ge olika svar beroende på vilka avsikter som har klassificerats från hela texten, inte bara från avsikterna som är klassificerade från en mening eller annan uppdelning av texten. Slutligen ska svar som beror på förekomsten av en eller flera andra avsikter vara oberoende av ordningen avsikterna blev klassificerade.

1.3 Avgränsningar

Detta examensarbete genomförs endast i syfte att anpassa en chatbot till att hjälpa Tendium att automatiskt svara på mailkonversationer med myndigheter. Utöver det gäller följande begränsningar:

● Chatbot-ramverken som undersökts är endast Gavagai, Rasa, Dialogflow och Watson assistant

● Test med implementation av chatbot-ramverket är begränsade till Dialogflow och Watson assistant

1.4 Författarnas bidrag till examensarbetet

(17)

2

Teori och bakgrund

I detta avsnitt presenteras teori och bakgrund som behövs för att få en djupare förståelse för examensarbetet. Avsnitt 2.1 går in på teknikerna NLP (Natural Language Processing), NLU (Natural Language Understanding) som används av de chatbot-ramverk som undersökts i denna rapport för att bearbeta data och hur en chatbot fungerar och relevant terminologi. Avsnitt 2.2 går in på hållbar utveckling kopplat till chatbotar. Avsnitt 2.3 går in på de olika chatbot-ramverken som undersökts och provats i det här projektet. Avsnitt 2.4 presenterar olika metoder för att validera chatbotar. Slutligen presenteras befintliga dialogbeslutssystem i avsnitt 2.5.

2.1 Introduktion till chatbotar

Chatbotar är en praktisk implementation av deep-learning, där deep-learning används för textanalys. Deep-learning är ett område inom maskininlärning som handlar om att

implementera människors sätt att tänka hos datorer. Det görs genom att information utvinns från stora mängder data för att sedan klassificeras och delas upp i olika lager. Data

struktureras sedan genom neurala nätverk där varje del av data är kopplad till hundratusentals andra delar av data. Genom klassificeringen av data och att delar av data kopplas till varandra efterliknar deep-learning hur människohjärnan tänker [3​]​. ​Inom deep-learning finns flera specialiseringar för användningen av tekniken, en av dessa är NLP.

2.1.1 Natural Language Processing

NLP är en teknik som uppfanns på 1950-talet. NLP är ett tvärvetenskapligt område som är en kombination av beräkningslingvistik, kognitionsvetenskap och AI (Artificiell Intelligens). ​För att bearbeta mänskligt språk använder NLP sig av ett antal tekniker. Först delas texten upp i olika segment genom tokenization. Named entity recognition går ut på att tyda delar av text och kategorisera texten som till exempel namn, organisationer, platser. Genom denna process skapar sig datorn en bild av textens innebörd. ​Det främsta användningsområdet för NLP är att få datorer att förstå de kognitiva mekanismerna bakom mänskligt språk för att kunna tolka konversationer över text och röst [4].

2.1.2 Natural Language Understanding

(18)

2.1.3 Chatbot

En chatbot är ett datorprogram som genom NLU analyserar mänsklig konversation i röst eller text och baserat på det tolkar vad användaren vill säga. Textens bakomliggande mening kallas för avsikt och baserat på vilken/vilka avsikter som klassificeras från en text ska chatboten ge adekvata svar [7]. För att kunna ge adekvata svar strukturerar chatbotar data för användarens avsikter, dessa strukturer kallas för avsiktsstrukturer. En avsiktsstruktur kan antingen vara platt vilket innebär att avsikter inte påverkar varandra, eller bred vilket innebär att avsikterna påverkar varandra [8].

Andra viktiga termer inom chatbotsterminologi är uttryck och entitet. Uttryck är hela texten eller ljudklippet som användaren har producerat och skickat till chatboten. Entiteter är kunskapsförvärv som kan användas av konversationenheten för att ge mer personliga och anpassningsbara svar. En entitet modifierar en avsikt eller svaret till en avsikt. Det kan vara bland annat en tid, en plats eller ett namn. Om användarens uttryck är “Jag vill åka till Lappland imorgon” skulle orden “Lappland” och “imorgon” kunna vara entiteter som modifierar avsikten “jag vill åka”. Svaret till avsikten “jag vill åka” skulle kunna modifieras från “så kul att du vill ut och åka” till “så kul att du vill ut och åka till Lappland”. Beroende på vilken avsikt som klassificerats kan en eller flera entiteter vara nödvändiga för att kunna ge ett visst svar. Chatbotar har en domän som innefattar vilka ämnen chatboten kan ge svar på. En chatbot som kan besvara frågor om alla ämnen kallas för en öppen-domän-chatbot. Avsiktsnamn är benämningen av en avsikt i chatbot-ramverket. Konfidensvärde är ett nummer som representerar hur väl uttrycket som skickades in matchar avsikten som returneras av chatbots-ramverket. Om konfidensvärdet är under ett definierat värde som är satt till 0,70 i detta examensarbete är avsikten att betraktas som opålitlig. Opålitliga avsikter används inte vid svarshämtning. Oberoende av chatbot-ramverk är svaret från resultatet ointressant, svaren som används vid kommunikation med användaren lagras i ett separat lagringsmedium. Innan en avsiktsklassifikation görs bearbetas texten genom att den delas upp meningsvis varpå de klassificeras en och en.

Innan en chatbot kan klassificera avsikter behöver den tränas [9][10]. Träningen sker genom bland annat de tidigare nämnda teknikerna NLP, NLU och andra maskininlärningstekniker. En modell i chatbotssammanhang innebär en unik instans av chatboten. Varje instans kan tränas med maskininlärningsalgoritmer för att kunna klassificera de avsikter den tränas för.

2.2 Hållbar utveckling och chatbotar

(19)

I en studie om chatbotar gjord av Schanke S, Burtch G och Ray G utredde hur

antropomorfism hos chatbotar påverkar kunder. Att en chatbot är antropomorf innebär att den emulerar mänskligt beteende med kunderna den interagerar med. I studien introducerades chatbotar till ett detaljhandelsföretag inom kläder som skulle ersätta anställda i rollen att evaluera kundens kläder och ge prisförslag på dessa. Företagets chatbot gjordes i tre steg allt mer antropomorf. Studien kommer fram till att chatbotar med antropomorfa funktioner ökade antalet interaktioner från kunder för att få en evaluering av sina kläder samt ökade kundernas villighet att dela sina personliga uppgifter jämfört med om anställda hade gjort samma arbete. Studien visade också att under steg tre när chatboten var som mest antropomorf så

påverkades användarnas priskänslighet negativt. Att användarnas priskänslighet påverkades negativt kunde härledas till något som kallas The Uncanny Valley effect vilket innebär att människor blir mer kritiska, granskande och tappar trovärdighet för botar som beter sig nästan mänskligt. Studien rekommenderar därför att antropomorfa funktioner inte ska implementeras i alla kundtjänst-botar [12].

En definition av hållbar utveckling är att möta nutidens behov utan att kompromissa framtida generationers möjlighet att möta sina behov. Världens ledare enades i september 2015 vid FN:s toppmöte om 17 mål för hållbar utveckling, Agenda 2030 [13]. Ett av målen var att bekämpa klimatförändringarna och deras effekter, där ändrade kostvanor kan bidra till att målet uppnås. I sin magisteruppsats undersöker författaren Åberg J om chatbotar kan

användas för att motivera användarna att äta mer miljövänligt. Kopplat till magisteruppsatsen togs tre chatbotsprototyper fram för att på olika sätt motivera användarna. Den första

chatboten var informativ som gav tips om hur mat kunde konsumeras på det mest hållbara sättet, till exempel genom att informera om de positiva effekterna för hälsan med att äta grönsaker istället för kött. Den andra chatboten lät användarna sätta veckomål för att uppmuntra och belöna dedikering till att äta hållbart. Den tredje chatboten jämförde

användarnas måltider mot varandra för att skapa ett tävlingsmoment som ett extra incitament för att uppmuntra beteendeförändring. Varje användare gavs även feedback på deras

prestation. Slutsatsen var att chatbotarna hade en positiv inverkan på användarnas matvanor. Någon tydlig preferens för vilken chatbot som var mest inflytelserik i att få användarna att ställa om sina matvanor till att vara mer hållbara gick inte att bevisa [14].

2.3 Undersökta chatbot-ramverk

I detta avsnitt presenteras de chatbot-ramverk som undersökts. Varje underavsnitt beskriver ett chatbot-ramverk och resultatet från hur det testats under projektet. Underavsnitt 2.3.1 och 2.3.2 redogör för testerna av chatbot-ramverken Dialogflow och Watson assistant

funktionalitet. Eftersom chatbotar är designade att hantera korta meddelanden så gick testerna ut på att i steg skicka in längre och längre texter för att utvärdera hur väl de olika

(20)

sedan en mening och slutligen flera meningar. Implementationerna av chatbot-ramverken testades också i att kunna hantera uttryck med två avsikter eftersom det kan finnas mer än en avsikt i ett mail.

Hur inmatningen till avsiktsklassifikationen tas emot av konversationsenheten eller hur svaret skickas tillbaka kommer inte presenteras i detta examensarbete. Den valda implementationen för konversationsenheten kommer presenteras i avsnitt 3.1 samt varför den valdes.

2.3.1 Dialogflow

Dialogflow är ett chatbot-ramverk utvecklat av företaget Dialogflow och är baserad på NLU [15]. Företaget Dialogflow är ägt av Google och använder Googles data för att förbättra tjänsten. Dialogflow stödjer både text- och ljud inmatning [16] samt 20 olika språk vid avsiktsklassifikation [17]. Dialogflow kan integreras med användare från ett antal tjänster, bland annat Google assistant, Amazon Alexa och Facebook messenger men är optimerad för Google assistant [15]. I Dialogflow kan användare skapa parametrar i en avsikt eller ett svar, parametrarna kan vara datum, tid eller platser [18]. Dialogflow har funktionalitet som gör det möjligt att kontexten av ett meddelande kan påverka betydelsen av andra meddelanden [19]. Modellen som utför avsiktsklassificering kallas för agent och kan exporteras för användning och lagring på annan plats [20]. En agent skapas och hanteras genom Dialogflows

webbgränssnitt och tränas till att förstå användarens påståenden genom träningsdata.

Webbgränssnittet används också för parametrar och svar till avsikter. För att skapa en avsikt så behövs ett namn som måste vara unikt.

Implementationen som tagits fram för att testa chatboten använder övervakad inlärning på de träningsuttryck som lagts in i agentens webbgränssnitt. Avsikter skapas i Dialogflows

webbgränssnitt och uttrycken som används i träningsprocessen för avsikterna läggs även in där. Agenten tränas automatiskt när ny data läggs in i webbgränssnittet vilket resulterar i en ny modell som ersätter den gamla. Endast avsikter som definierats i webbgränssnittet kan klassificeras av chatbot-ramverket, om inmatningen till chatbot-ramverket inte matchar någon avsikt skickas ett standardsvar tillbaka. Standardsvaret måste vara definierat i

(21)

Figur 2.1 Bild på Dialogflows avsiktsklassificering av ett ords resultat.

I figur 2.1 visas avsiktsklassificering på ett ords resultat. Ordet som skickades till agenten är “hej”, detta kan ses i query-text högst upp till vänster i figur 2.1. Delarna av resultatet som är intressanta för implementationen är attributen: parametrar som är entiteter, display_name som är avsiktsnamn och intent_detection_confidence som är konfidensvärdet. I resultatet visar all_required_param_present om alla nödvändiga entiteter för avsikten är med i resultatet. Resultatet returneras till kontrollern som använder konfidensvärdet för att bedöma om avsikten för ordet matchar avsikten tillräckligt bra för att bedömas som pålitligt. Utöver kontrollen av konfidensvärdet kontrolleras om det inskickade ordet är detsamma som vad som klassificerades. Om alla kontroller passeras används avsiktsnamnet för att hämta ut svaret på avsikten från lagringsmediet.

Figur 2.2 Bild på Dialogflows avsiktsklassificering av en mening resultat.

(22)

betyder att Dialogflow inte är helt säker på att uttrycket matchar den givna avsikten. Trots osäkerheten i resultatet presenteras inga andra avsikter som uttrycket matchar, endast avsikten som uttrycket matchar bäst presenteras. Attributmappningen samt hanteringen av resultatet är identisk med tidigare beskrivning av denna process.

Figur 2.3 Bild på Dialogflows avsiktsklassificerings av ett uttryck med mer än en avsikts resultat.

I figur 2.3 visas resultatet av en avsiktsklassification där uttrycket innehåller mer än en avsikt. Uttrycket som klassificerades är “bifogat handlingarna inga anbud kommer skickas”, som består av två träningsuttryck “bifogat handlingarna” och “inga anbud kommer skickas”. Träningsuttrycken tillhör avsikerna FilesAreSent respektive FilesWillNotBeSent. Som kan observeras i resultatet ges endast en av avsikterna, FilesWillNotBeSent som har

konfidensvärdet 0,46. Avsaknaden av FilesAreSent samt det låga konfidensvärdet för

FilesWillNotBeSent, innebär att det slutgiltiga svaret av uttrycket inte skulle innehålla någon av avsikternas svar. Slutsatsen dras utifrån den tidigare nämnda gränsen för opålitliga

avsikter och resultathantering. Resultatet av detta test visar tydligt att Dialogflow inte stödjer klassificering av fler än en avsikt per avsiktsklassifikation. Funktionaliteten skulle kunna implementeras som en del av konversationsenheten, men som en följd av komplexiteten av implementationen och tidskravet så testades detta inte.

2.3.2 Watson assistant

Watson assistant är ett chatbot-ramverk utvecklat av IBM som används till att konstruera dialoger med användare utifrån definierade avsikter [21]. IBM beskriver NLU-tekniken som används i Watson assistant som industriledande och ingen tidigare teknisk kunskap behövs för att kunna utveckla eller underhålla den. De skriver också att deras chatbot vet när den ska fråga efter klargörande eller förtydligande av användaren, fråga efter information från en kunskapsbas eller överlåta en användare till en människa. Watson assistant stödjer avsiktsklassificering från både text och ljud samt kan ta ut entiteter från de stöda

(23)

tränas med träningsdata från deras webbgränssnitt. Enligt IBMs utlåtande om informationssäkerhet samlas inte användarinformation in eller lagras [22].

Implementationen som tagits fram för att testa chatboten använder övervakad inlärning på de träningsuttryck som lagts in i agentens webbgränssnitt. Avsikter skapas i webbgränssnittet och meningarna som används i träningsprocessen för avsikten läggs in på samma ställe. Skill:en tränas automatiskt efter ny data läggs in i webbgränssnittet vilket resulterar i en ny modell som ersätter den gamla. Endast avsikter som definierats i webbgränssnittet kan

(24)

Figur 2.4 Bild på Watson assistant avsiktsklassificering av ett ords resultat.

I figur 2.4 visas resultatet av avsiktsklassificering av Watson assistant på ett ord. Ordet som skickades är “hej”, detta kan inte ses i resultatet. Delar av resultatet som är intressanta för implementationen är attributen: entities som är entiteter, intent som är avsiktsnamn och confidence som är konfidensvärdet. Resultatet visar inte om alla nödvändiga entiteter är med i resultatet eller inte. Efter resultatet skickats tillbaka till kontrollen är processen identisk med beskrivningen i avsnitt 2.3.

(25)

I figur 2.5 visas resultatet av avsiktsklassificering av en mening. Meningen som skickas är “Jag har bifogat de begärda handlingarna i detta mail”. Som kan ses i figur 2.5 är resultatet en lista på avsikter som meningen matchar och vilken konfidens varje individuell avsikt har för den meningen. Skillnaden i detta resultatet från det tidigare är att flera avsikter har ett

konfidensvärde större än 0,00. Detta innebär att beroende på vilket uttryck som skickas in för klassifikation kan mer än en avsikt matcha mot uttrycket. De intressanta delarna av resultatet är oförändrade. Kontrollprocessen är oförändrad från tidigare exempel, men processen

upprepas för varje avsikt i listan som returneras till kontrollen. Listan som skickas tillbaka till kontrollen innehåller alla avsikter som har ett konfidensvärde över 0,00.

För att testa om chatbot-ramverket stödjer klassificering av flera avsikter per

avsiktsklassifikation har träningsuttryck använts: “att få övriga handlingar önskar ni” som matchar ReceiverAsksWhatFiles och “ansökan avslås delvis på grund av sekretesslagda delar” som matchar PartlySecretProcurement. Uttrycket som skickas till chatbot-ramverket är “att få övriga handlingar önskar ni ansökan avslås delvis på grund av sekretesslagda delar”. För att enklare kunna se vilka avsikter som hade klassificerats så returneras namnen på avsikterna, inte svaren på avsikterna. Det förväntade resultatet av testet är att svaret ska vara “ReceiverAsksWhatFiles PartlySecretProcurement”. Detta antagande gjordes eftersom detta är i samma ordning som träningsuttrycken är skickade till konversationsenheten.

Figur 2.6 Resultat av test för klassificering av flera avsikter per uttryck

I figur 2.6 visas resultatet av testet för flera avsikter per avsiktsklassifikation. Som kan observeras i figuren är båda avsiktsnamnen med, men i omvänd ordning från det förväntade resultatet. Anledningen är att PartlySecretProcurement hade ett högre konfidensvärde än ReceiverAsksWhatFiles. PartlySecretProcurement hade ett konfidensvärde på 0,92, medan ReceiverAsksWhatFiles hade 0,75. Listan av potentiella matchande avsikter (exempel kan ses i figurerna 2.4 och 2.5) är sorterad i sjunkande ordning av konfidensvärde. Det innebar att när avsikter flyttades till listan som ska returneras till kontrollen togs PartlySecretProcurement före ReceiverAsksWhatFiles, vilket beskriver avsikternas ordning i resultatet. Utifrån

testresultatet, även om det inte är exakt som förväntat, kan slutsatsen dras att Watson assistant stödjer klassifikation av flera avsikter per uttryck.

(26)

mailet är mottaget bekräftar jag här." är hela uttrycket som skickades. De avsikter som ska klassificeras av denna text är CaseBeingProcessed, DocumentsCostMoney, FilesAreSent och IrrelevantDiscussions. Förväntat resultat av testet är att avsiktsklassificeringen på hela texten inte kommer fungera lika bra som klassifikation på de individuella meningarna.

Figur 2.7 Resultat av test av avsiktsklassificering med bearbetningen av texten.

Figur 2.8 Resultat av test av avsiktsklassificering utan bearbetningen av texten.

I figur 2.7 kan vi se att alla förväntade avsikter klassificerades, vilket visar att med

bearbetningen av texten kan konversationsenheten fånga alla avsikter i uttrycket. I figur 2.8 ser vi resultatet när ingen bearbetning gjordes utan hela texten skickades för

(27)

Figur 2.9 Bild på vilka avsikter som avsiktsklassificeringen utan bearbetning av texten matchade mot.

2.3.3 Gavagai

Gavagai är ett chatbot-ramverk som är skapad av det svenska företaget Gavagai AB. Gavagai är specialiserad på att analysera text i realtid. Textanalysen har sin utgångspunkt i hur

människor hanterar språk [23]. Gavagai kan analysera texter på 46 språk och är speciellt anpassat för de nordiska språken [24]. Gavagai stödjer flertext summering, känslospektrum klassificering, semantiskt sammanhang för ord och nyckelord uttagning [25]. Flertext summering innebär att flera olika texter kan summeras till en summering av texterna.

(28)

En testimplementation av Gavagais chatbot har inte gjort eftersom Gavagais API

(Application Programming Interface) är inte tillräckligt väldokumenterad och inga exempel på en implementation kunde hittas. Slutligen bedömdes tidsinsatsen för testimplementationen vara för stor.

2.3.4 Rasa och Rasa X

Rasa är en öppen källkod maskininlärningsramverk som använder NLU för att automatisera text- och ljud-assistener [26]. Sedan lanseringen av ramverket har mer än 2 miljoner

nedladdningar gjorts från små och stora klienter. Några av deras stora klienter inkluderar Adobe, HCA healthcare och Orange. Rasa skriver att ramverket tillhandahåller

högteknologiska NLU-maskininlärningsalgoritmer som kan förstå meddelanden, detektera användarens avsikt och viktig kontextuell information [27]. Rasa tillåter integrationer till existerande API:er, stödjer olika driftsättningsalternativ och olika kanaler för kommunikation med användare. Rasa:s bibliotek stödjer endast Python. Biblioteket kan startas som en server som har endpoints för funktionaliteten som behövs för att träna, byta modeller samt

klassificera avsikt [28] [29]. Träningsdata kan hämtas av träningsalgoritmen från en fördefinierad fil eller skickas till servern med träningsanropet. Rasa stödjer två format för träningsdata, markdown och JSON, dokumentation för båda formaten finns på Rasa:s webbsida med exempel [30]. Utförlig dokumentation om Rasa och Rasa X funktionaliteter finns på deras dokumentationswebbsida [31]. Rasa X tillhandahåller stödfunktionalitet som förenklar kontinuerlig förbättring av chatboten genom konversationerna som chatboten har med användare. Förenklingen av processen görs genom att filtrera och kategorisera

konverationsdata vilket förenklar sökandet efter uttryck som inte klassificeras korrekt [32]. En testimplementation av Rasa har inte gjorts eftersom tidinstatsen bedömdes för stor på grund av otillräckliga kunskaper inom Python.

2.4 Utvärderingsmetoder för chatbotar

I detta avsnitt kommer undersökta utvärderingsmetoder för chatbotar att presenteras. Dessa utvärderingsmetoder kommer att utvärderas mot varandra i kapitel 3.1 och en eller flera kommer användas för utvärderingen av konversationsenheten som tagits fram under examensarbetet.

2.4.1 Precisionsvärde

(29)

klassifikation [33]. Strukturen av datamängderna är identiska, båda har uttryck med en fördefinierad avsikt som uttrycket ska matcha.

Valideringen av chatbot-modellen görs genom att varje individuellt uttryck i valideringsdatat får sin avsikt klassificerad. Avsikten i resultatet jämförs sedan med avsikten som uttrycken ska matcha. Antalet tillfällen då resultatet av avsiktsklassificeringen överensstämmer med uttryckets dokumenterade avsikt räknas som en korrekt klassificering. Efter alla uttryck genomgått avsiktsklassificering divideras antal korrekta klassificeringar med totala antalet uttryck i datat [34]. Procentvärdet representerar hur säkert boten kan klassificera korrekt avsikt på uttryck som inte använts i träningen.

Träningsdata brukar vara 80% av den totala datamängden medan de resterande 20% används för att validera modellen. Det finns flera tekniker för att välja de uttryck som ska tillhöra vilken grupp. Beroende på vald teknik kan innehållet i grupperna vara statiskt eller dynamiskt [35].

2.4.2 Befintliga testramverk för chatbotar

ChatEval är ett vetenskapligt ramverk för utvärdering av chatbotar med öppna domäner. Chatbot-modellen skickas in till ChatEval som utvärderar modellen och återkommer med resultatet samt rekommenderade åtgärder [36]. Chatbotar är så nya att någon standard för testramverk ännu inte finns. Peras D skriver i sin studie att populariteten för chatbotar under de senaste åren har ökat, däremot har inget standardiserat sätt eller kategorier för utvärdering av chatbotar tagits fram [37]. I studien presenteras ett förslag om vilka kategorier som bör vara med i en standardiserad modell för chatbot-utvärdering gjort av ett ramverk,

kategorierna är användarupplevelsen, informationshämtning, ​språkliga och teknologiska samt affärsmässiga aspekter​. De kategorier som presenteras i Peras studie är en utökning av de kategorier som Russell-Rose kategorier i sin studie som publicerades 2017 [38]. I båda studierna nämns ramverket PARADISE (PARAdigm for Dialogue System Evaluation), men ingen av studierna anser det eller något annat chatbot-testramverk är tillräckligt tillförlitligt ännu.

2.4.3 Utvärdering av användarupplevelse

(30)

Informationsinsamling av sessioner innebär att information om hela konversationen med chatboten samlas in medan informationsinsamling om individuella svar samlar information om de individuella svaren från chatboten. Vad som kan och behöver undersökas vid de olika nivåerna av konversationen beror på vad chatboten ska göra. Faktorerna som undersöks vid informationsinsamling om sessionen brukar generellt relatera till hur boten uppfattas i jämförelse med en människa. Vid informationsinsamling om individuella svar samlas information om hur lämpliga chatbotens givna svaren är för de givna uttrycken [39].

2.4.4 Utvärdering av chatbotens givna svar

I studien skriven av Maroengsit W, Piyakulpinyo T, Pongnumkul S, Polyiam K, Chaovalit P & Theeramunkong T beskrivs två olika typer av utvärderingstekniker för att utvärdera chatbotens givna svar, automatisk utvärdering och expertutvärdering. Svarsutvärdering bör bedöma ett svars naturlighet och lämplighet. Utvärderingar av dessa kategorier är mest lämpade för människor att göra men det är dyrt och långsamt jämfört med om en maskin skulle utföra utvärderingarna. Ett sätt att göra automatisk svarsutvärdering är genom att mäta faktorerna precision och återkallelse med textsummeringstekniker. Precision är hur ofta det givna svaret är om ämnet som frågades om i procent, medan återkallelse är antalet svar i en konversation som är om relevanta ämnen i procent. Expertutvärdering är bättre på att bedöma ett svars naturlighet och lämplighet samtidigt som faktorerna precision och återkallelse fortfarande används av experterna [39].

2.5 Befintliga chatbot-dialogbeslutssystem

Ett dialogbeslutssystem definieras i detta examensarbete som en modul eller system som utifrån givna avsikter och tidigare händelser producerar ett fullständigt svar till samtliga klassificerade avsikter. Dialogbeslutssystemet ska vara oberoende av

avsiktsklassificeringsprocessen, i syfte att bryta 1-till-1 relationen mellan en avsikt och dess svar.

Av de chatbot-ramverk som undersökts i detta examensarbete har endast Watson assistant ett dialogbeslutssystem [40]. I dialogbeslutssystemet kan dialogen mellan chatboten och

(31)
(32)
(33)

3

Metod och resultat

I detta avsnitt kommer metoden som används presenteras och argumenteras för samt examensarbetets resultat. I avsnitt 3.1 presenteras metod som valdes presenteras och argumenteras och i 3.2 presenteras resultatet av examensarbetet.

För att undersöka med vilken precision en chatbot kan anpassas för mailkonversationer utfördes först en litteraturstudie om relevanta tekniker, tidigare arbeten och forskning. Baserat på litteraturstudiens resultat utvecklades en prototyp, som kallas för en

konversationsenhet, vars precisionsvärde togs fram och utvärderades. Konversationsenhetens dialogbeslutssystem testades manuellt för de mål som är uppsatta för den. Slutligen

sammanställdes testresultaten och analyserades.

3.1 Metod

Den valda metoden för konversationsenheten använder Watson assistant för att klassificera avsikter och valideras med en-avsiktsuttryck. Utifrån resultatet av förstudien valdes Watson assistant. Watson assistant valdes eftersom chatbot-ramverket hade bäst stöd för

klassificering av flera avsikter per avsiktsklassification. Konversationsenheten tar emot text och bearbetar texten innan den skickas till agenten för klassificering. Agenten som används hanteras från Watson assitants webbgränssnitt, medan valideringsdatat lagras lokalt.

Bearbetningen av texten valdes att begränsas till att dela upp texten i meningar, där varje mening läggs i en lista. Avsiktsklassifikationen görs en gång för varje mening i listan.

Resultatet av avsiktsklassifikationen är en lista med matchande avsikter, som gås igenom och pålitliga avsikter tas ut enligt processen beskriven i avsnitt 2.3.2. Behovet av stöd för flera avsikter per avsiktsklassifikation fanns eftersom en mening i ett mail kan innehålla flera avsikter. Avsiktsstrukturen har valts att vara bred för att olika meningars avsikter ska kunna påverka varandra och till en följd ge ett annat svar. På grund av de tillkortakommandena som presenterades i avsnitt 2.5 har valet gjorts att utveckla ett eget dialogbeslutssystem. Testerna för dialogbeslutssystemet kommer att vara manuella. Testningen av konversationsenheten utförs genom att ta det lokalt lagrade valideringsdatat och skicka varje individuellt uttryck för avsiktsklassifikation och sedan jämförs resultatet med den fördefinierade avsikten. Om resultatet och den fördefinierade avsikten överensstämmer så anses resultatet vara korrekt. Efter att alla uttryck har blivit klassificerade tas antalet korrekta resultat och divideras med totala antalet uttryck. Det resulterande procentvärdet är modellens precisionsvärde.

Valideringsuttrycken kommer endast innehålla en avsikt per uttryck, som i detta

(34)

Svagheterna med metoden är att tränings- och valideringsuttryck lagras på separata platser och administreras på olika ställen. Alternativ skulle vara att använda ett chatbot-ramverk som tillåter inskickandet av träningsuttryck med träningsanropet eller ett som stödjer uppdelandet av tränings- och valideringsuttryck i deras webbgränssnitt. Valet av utvärderingsmetod baserades på uteslutningsmetoden. Chatbotens slutgiltiga svar för avsikterna kommer inte att tas fram av examensarbetet, vilket innebär att utvärdering av svar är ointressant som

utvärderingsmetod. Avsaknaden av chatbots-testramverk som kunde användas inom en rimlig tidsram uteslöt det alternativet. Utvärdering av användarens upplevelse med chatboten kunde inte samlas in på grund av utvärderingsmetodens tidskrav. Till följd av valet av

utvärderingsmetod blev utförandet av utvärdering bestämt att vara valideringsuttryck som skickas till chatbot-ramverket för klassificering. Nackdelen med att använda

en-avsiktsuttryck i valideringen är att konversationsenhetens förmåga att klassificera flera avsikter testas inte. Däremot så skulle en implementation av fler-avsiktsuttryck för validering innebära att valideringsprocessen skulle bli mycket mer komplex.

Valet av chatbot-ramverk gjordes efter undersökning av olika chatbot-ramverks för- och nackdelar. Preliminärt valdes Dialogflow med grunden att den har bättre och mer

funktionalitet, vilket bedömdes vara en viktigare faktor än dataintegriteten. Men efter

upptäckten att Dialogflow saknar stöd för flera avsikter per avsiktsklassifikation omprövades beslutet och Watson assistant beslutates att användas istället. Rasa valdes inte för att den saknade mycket av de inbyggda funktionaliteterna som de andra chatbot-ramverken erbjuder. Dessutom om Rasa skulle användas skulle biblioteket behövas startas som en server och köras parallellt med konversationenheten, vilket skulle öka komplexiteten av

vidareutveckling och underhåll samt utveckling av konversationsenheten. Gavagai valdes inte till en följd av otillräcklig dokumentation om deras API och exempel av implementationer av chatbot-ramverket. Valet att ta fram ett eget dialogbeslutssystem ökar konversationsenhetens komplexitet, men tillåter dialogbeslutssystemet att enklare och till större grad anpassas för konversationsenhetens behov och krav.

(35)

det. Maven valdes för att minimera tiden programmerarna behöver arbeta med

Java-dependencies. Spring Boot valdes att användas för att underlätta utvecklingen av endpoints för konversationsenheten, underlätta serveruppsättningen av applikationen och att programmerarna tidigare erfarenheter av det.

3.2 Resultat

I detta avsnitt kommer resultatet av examensarbetet att presenteras, i 3.2.1 kommer den framtagna konversationsenheten att presenteras kortfattat och de tester som gjordes för att testa funktionaliteten. Sedan presenteras hur avsikter och träningsmeningar läggs till i Watson assistant i avsnitt 3.2.2. Därefter presenteras dialogbeslutssystemet som tagits fram mer detaljerat i avsnitt 3.2.3. Slutligen presenteras insamlad valideringsresultat i avsnitt 3.2.4.

3.2.1 Beskrivning av konversationsenheten

(36)

Figur 3.1 Flödesdiagram för en avsiktsklassifikations begäran.

När en avsiktsklassifikationsbegäran skickas till konversationsenheten (representerad av 1. i figur 3.1) av en användare tas den emot av en endpoint som skickar texten vidare till

kontrollen som hanterar avsiktsklassifikationer. I kontrollen bearbetas texten för

avsiktsklassifikation i chatbot-ramverket och resultatet kontrolleras för att ta fram de pålitliga avsikterna. (Den fullständiga beskrivningen av vad kontrollen och chatbot-ramverk gör kan hittas i avsnitt 2.3.). Steg 4 är ett anrop från konversationsenheten till Watson assistants API som har modellen som klassificerar texten och steg 5 är resultatet.

(37)

som kommer att ta beslut om hur det slutgiltiga svaret till avsikterna ska konstrueras. (En mer djupgående förklaring av denna process med exempel kan hittas i avsnitt 3.2.3.) När ett beslut om ett svar har tagits så hämtas det från IntentAnswerStorage i steg 8. Efter alla avsikter som skickats till IntentAnswerDecisionModule har blivit besvarade konstrueras det slutgiltiga svaret som skickas tillbaka till kontrollen och vidare till endpointen och användaren.

3.2.2 Watson assistant webbgränssnitt

Som beskrevs i avsnitt 2.3.2 måste avsikterna som ska kunna klassificeras av API:et definieras i Watsons webbgränssnitt. Vid bearbetningen av den givna datamängden

identifierades 31 avsikter som definierades i webbgränssnittet, med träningsuttryck. Under examenasbetets gång så slogs avsikter med liknande innebörd samman. Detta gjordes för att det inte fanns tillräckligt med träningsuttryck eller tid för att kunna skilja avsikterna ifrån varandra. I slutet av projektet så finns 26 avsikter definierade i webbgränssnittet, med mer än 1000 träningsuttryck uppdelade mellan dem. I figur 3.2 visas antalet avsikter som fanns definierade vid varje valideringstillfälle (testtillfälle).

Figur 3.2 Visar antalet definierade avsikter vid varje valideringstillfälle.

3.2.3 Utvecklat dialogbeslutssystemet

Dialogbeslutssystemet som utvecklades är en funktion i Java som tar en lista med avsikter, en lista med entiteter och ett konversation-id som argument. Av argumenten så konstruerar funktionen ett svar genom att gå igenom varje avsikt och beroende på definierade krav hämtas olika svarsdelar ut från ett lagringsmedium. Dialogbeslutssystemet stödjer

(38)

oberoende av andra avsikter eller händelser. Svar som beror på förekomsten av andra avsikter är om avsikterna A och B är klassificerade, som båda har ett eget svar X och Y, ska svaret Z ges. Detta innebär att vid genomgången av alla klassificerade avsikter kan svaret av en avsikt variera beroende på vilka andra avsikter som förekommer. Slutligen kan svaret bero på tidigare integrationer vilket till exempel skulle vara om en mailadress har efterfrågats och användaren skickar tillbaka en mailadress ska konversationsenheten kunna ge ett alternativt svar. När dialogbeslutssystemet frågar efter en specific information lagras en kod som representerar vad dialogbeslutssystemet frågar efter i ett lagringsmedium tillsammans med konversations-id. Denna koppling tillåter dialogbeslutssystemet att skilja på i vilken

konversation en förfrågan har ställts. Svarskonstruktionstyperna kan kombineras för att skapa mer komplexa dialogkedjor. Listan av entiteter används inte i denna version av

dialogbeslutssystemet, men finns där för vidareutvecklingsmöjligheter.

För att testa om dialogbeslutssystemet är oberoende av ordningen avsikterna blev klassificerade i, utfördes följande två tester:

- I första testet valdes två avsikter som inte påverkar varandras svar. Därefter skapades en text med två meningar, där meningarna var träningsuttryck från vardera av

avsikterna, texten skickas sedan för avsiktsklassifikation två gånger. Första gången texten skickades var ordningen på meningarna A följt av B, andra gången var ordningen B följt av A.

- I andra testet valdes två avsikter som påverkar varandras svar, därefter genomfördes testet identiskt med det första.

Uttrycken som valdes för första testet är “Arbetar på att ta fram dokumenten” som matchar CaseBeingProcessed och “Avgiften för en beställning av 10 sidor är kronor” som matchar DocumentsCostMoney. Svaret för CaseBeingProcessed är “Jättebra vi väntar på ditt svar.” och svaret för DocumentsCostMoney är “Inga problem att det kostar pengar.”. Det förväntade svaret för AB ordningen är “Jättebra vi väntar på ditt svar. Inga problem att det kostar

pengar.” och för BA ordningen är “Inga problem att det kostar pengar. Jättebra vi väntar på ditt svar.”.

Figur 3.3 Bild på resultatet av AB ordningen av första tester

Figur 3.4 Bild på resultatet av BA ordningen av första tester

(39)

Uttrycken som valdes är “Begärda handlingar har bifogats detta mail.” som matchar FilesAreSent och “De begärda handlingarna kommer ej skickas.” som matchar

FilesWillNotBeSent. Det förväntade svaret för både AB och BA ordningen är “Okej tack för de filer ni kan skicka.”.

Figur 3.5 Bild på resultatet av AB ordningen av första tester

Figur 3.6 Bild på resultatet av BA ordningen av andra tester

Som visas i figurerna 3.5 och 3.6 är resultatet av testet precis som förväntat.

Dialogbeslutssystemet kan informera om det konstruerade svaret ska skickas till en annan mailadress än vad meddelandet kom ifrån genom att sätta vilken den nya adressen är i ett av svarsattributen. Om dialogbeslutssystemet inte kan konstruera ett svar, inte får kritisk

information eller av annan anledning behöver mänsklig hjälp sätts attribut i svaret som tillåter ärendet att eskaleras till en människa för vidarehantering. Med eskaleringen kommer en beskrivning av vad konversationenheten behöver hjälp med.

3.2.4 Valideringsresultat

(40)

Figur 3.7 Graf över precisions värdets utveckling vid varje valideringstillfälle.

Figur 3.8 Visar antalet valideringsuttryck som användes vid varje valideringstillfälle.

(41)

Figur 3.8 visar antalet valideringsuttryck som användes i valideringsprocessen för varje valideringstillfälle. Vid valideringstillfälle 3 hade ett stort antal valideringsuttryck inte uppdaterats efter att avsikten de skulle matcha mot tagits bort från webbgränssnittet. Detta resulterade i att precisionsvärdet sjönk drastiskt. Vid valideringstillfälle 7 hade en avsikt döpts om i webbgränssnittet, uppdateringen hade inte gjorts mot de valideringsuttrycken som matchade avsikten. Incidenten hade minimal inverkan på precisionsvärdet eftersom

(42)
(43)

4

Analys och diskussion

Resultatet som presenterades i avsnitt 3.2.4 visar på möjligheten att ett chatbot-ramverk kan användas för avsiktsklassifikation för mailkonversationer. Resultaten av detta examensarbete visar även att chatbot-ramverk kan uppnå en tillfredsställande precisionsnivå utifrån de valideringsuttryck som används i valideringsprocessen. Huruvida andra chatbot-ramverk skulle ha producerat bättre resultat än den valda, kan inte bedömas utan att samla in jämförbar data mellan dem vilket inte är gjort och som motiveras i avsnitt 3.1. Det minskande antal definierade avsikters påverkan på precisionsresultatet kan inte

säkerställas med datat som samlats in i detta examensarbete (se figur 3.8). Eventuellt skulle en koppling kunna finnas mellan minskningen av antalet definierade avsikter och en ökning av precisionsvärdet. Denna eventuella koppling stöds av den signifikanta ökningen av

precisionsvärdet mellan valideringstillfälle 3 och 4. Däremot kan ingen slutsats dras eftersom andra delar motsäger varandra och avsaknaden av information om antalet träningsuttryck för varje avsikt, medför att orsaken till ökningen skulle kunna bero på en annan orsak eller en kombination av orsaker.

De träningsuttryck som tagits fram under projektet har inte följt någon bäst praxis eller standarder. Detta skulle kunna medföra negativa konsekvenser vid vidare arbete med chatbot-ramverkets träning, men vilka dessa konsekvenser det skulle innebära eller magnituden av dem kan inte bedömas.

Utöver den första nämnda incidenten i avsnitt 3.2.4 matchar minskningarna i

precisionsvärden med ökningarna i valideringsuttryck. Det kan visa på en koppling mellan fler valideringsuttryck och minskande precisionsvärde. Om denna koppling stämmer ska den procentuella minskningen av precisionsvärdet vara proportionell med den procentuella ökningen av valideringsuttryck. Ökningarna i antalet valideringsuttryck har en procentuell ökning på 44%, 37% och 36%, medan minskningen av precisionsvärdet var på 9%, 11% och 17%. Relationen mellan den procentuella ökningen av antalet valideringsuttryck och

minskningen av precisionsvärdet tyder på att ingen koppling finns mellan ökning av

(44)

Det utvecklade dialogbeslutssystemt som är beskrivet i avsnitt 3.2.3 uppnådde de mål som sattes för den. Utöver måluppfyllelsen implementerades även funktionalitet för svarsvariation beroende på tidigare givna svar i konversationen. En konsekvens av den valda

implementationsmetoden innebär att dialogbeslutssystemet saknar ett grafiskt gränssnitt, vilket innebär att det är svårt att överskåda hela konversationsträdet. Dessutom innebär avsaknaden av ett grafiskt gränssnitt att modifikationer av konversationsträdet bör göras av personer med programmeringskunskaper. En ytterligare konsekvens av den valda metoden är att personen som ska göra modifikationerna i konversationsträdet inte behöver vara samma som de som arbetar med slutanvändarna. Detta skulle kunna innebära komplikationer vid vidareutveckling av konversationsenheten. Den alternativa lösningen att använda Watson assistants inbyggda grafiska gränssnitt för att utveckla ett dialogbeslutssystemt skulle inte ge dessa problem. Däremot är det osäkert om Watson assistants system skulle kunna ha lika mycket funktionalitet som det utvecklade. Utifrån resultatet av det framtagna

dialogbeslutssystemet kan målen för framtida dialogbeslutssystem sättas högre.

Som tagits upp i avsnitt 2.2 kommer konversationsenheten att minska behovet av anställdas arbete med monotona mailkonversationer och istället kan de fokusera på komplexa

arbetsuppgifter. Ett möjlig utfall av automatiseringen av mailkonversationer är att färre personer behöver arbeta med kundtjänst, som innebär att personal som arbetar med

kundtjänst kan bli uppsagda eller behöver byta arbetsuppgift inom företaget. Hur många jobb som konversationsenheten skulle kunna ersätta kan inte bedömas i denna rapport.

Konversationsenheten kommer inte ge någon direkt ekologisk påverkan för samhället som Åberg J masteruppsats hade [14], men indirekt skulle konversationsenheten kunna leda till mindre pappersanvändning i utlämning av offentliga handlingsprocessen och minska utsläppen som en följd av att mindre post skickas. Huruvida användningen av

konversationsenheten skulle dra mer ström än om människor skulle utföra uppgiften, kan inte sägas utifrån det data som samlats in av detta examensarbete. Om effekterna av

konversationsenheten sammantaget är ekologiskt positiva eller negativa kan inte bedömas i detta examensarbete.

Ur ett etiskt perspektiv är det ett dilemma att människor på myndigheter interagerar med en konversationenhet när de förväntar sig att de ska interagera med en människa. Detta dilemma skulle kunna minimeras, eller lösas, genom att göra det tydligt för kontaktpersonen på

myndigheten att de interagerar med en bot i början av interaktionen. Hur

(45)

5

Slutsatser

Utifrån precisionsresultatet presenterat i avsnitt 3.2.4 kan slutsatsen dras att en chatbot kan tränas att förstå meningar från mail. Dessutom visar resultatet att precisionen kan nå en tillfredsställande nivå, där chatboten kan förstå mer än 90%, ekvivalent med ett

precisionsvärde på 0,90, av alla använda valideringsuttryck. Det utvecklade

dialogbeslutssystemet som presenteras i avsnitt 3.2.3 kan producera tillfredsställande svar utifrån ställda krav och mål. Dialogbeslutssystemet som utvecklats stödjer även ytterligare funktionalitet som inte nämns i målsättningen, utan att kompromissa med de krav

målsättningen ställer. Dessa slutsatser innebär att chatbot-ramverk kan tränas för att förstå avsikter för mailkonversationer. För framtida implementationer av ett liknande system rekommenderas chatbot-ramverk som stödjer klassificering av flera avsikter per

avsiktsklassifikation, eftersom sannolikheten att en mening i mailkonversation har fler än en avsikt. Vidare rekommenderas starkt att använda ett dialogbeslutssystem för svarshantering, som en följd av de kravs som ställs av att flera avsiktsklassifikationer ska kunna interagera med varandra.

Som en följd av resultaten funna i detta examensarbete kan företag, organisationer och myndigheter utöka konversationsautomatiseringen med deras kunder och kontakter till att innefatta även mailkonversationer. Mailkonversationer bör till en början ha ett definierat antal förutsägbara utfall som används för att ta fram avsikter och en avsiktsstruktur som

konversationsenheten ska använda. Huruvida mailkonversationer uppfyller detta krav och till vilken grad konversationer behöver uppfylla kravet kommer att variera för varje enskilt fall. Efter tillräckligt med data samlats in kan mailkonversationens mer specifika delar även läggas till i konversationsenheten.

Vidare studier kring hur skillnad i precisionsvärde mellan en-avsiktsvalideringsuttryck, fler-avsiktsvalideringsuttryck och valideringuttryck som är en text med flera meningar samt vilka för- och nackdelar alternativen har skulle kunna utföras. Studierna skulle kunna informera framtida utveckling inom området vilket alternativ är bäst för deras valda

implementationsmetod. Vilken effekt att inga bäst praxis eller standarder vid framtagandet av träningsuttryck har haft på detta resultat kan undersökas i framtida projekt.

En framtida studie skulle kunna jämföra Watson assistants inbyggda dialogsystem med det utvecklade dialogbeslutssystem från detta examensarbete, där kategorierna som jämförs är funktionalitet, användbarhet med anseende på hur enkelt de är att använda och

(46)

understöd, kunna meddela om svaret ska skickas till en annan adress, lagring av information på konversations id:et och hämtning av information om konversations id:et. Gränssnittet skulle också kunna tillåta användare att ändra svarssträngarna som hämtas.

Framtida undersökningar skulle kunna implementera flera chatbot-ramverk och jämföra dem med varandra. Detta skulle informera framtida utveckling av konversationsenheter för mailkonversation om vilka fördelar och nackdelar chatbot-ramverken har mot varandra. Kategorier som skulle kunna jämföras är implementationskomplexitet, effektivitet och extra funktionaliteter som chatbot-ramverket erbjuder.

(47)

Källförteckning

[1] Markets insider, “Global Chatbot Market Anticipated to Reach $9.4 Billion by 2024 - Robust Opportunities to Arise in Retail & eCommerce” [Internet], Markets insider, 2019 [Publicerad 2019-12-12, Citerad 2020-04-25], Hämtad från:

https://markets.businessinsider.com/news/stocks/global-chatbot-market-anticipated-to-reach-9-4-billion-by-2024-robust-opportunities-to-arise-in-retail-ecommerce-1028759508.

[2] Upphandlingsmyndigheten, “Offentlighet och sekretess” [Internet], Stockhom:

Upphandlingsmyndigheten.se, 2018 [Uppdaterad 2018-12-19, Citerad 2020-04-15], Hämtad från:

https://www.upphandlingsmyndigheten.se/upphandla/om-upphandlingsreglerna/om-lagstiftni ngen/offentlighet-och-sekretess/.

[3] Kendall A & Gal Y, “What Uncertainties Do We Need in Bayesian Deep Learning for Computer Vision?” [projekt på Internet] , NIPS proceedings, 2017 [Citerad 2020-03-25], Hämtad från:

https://papers.nips.cc/paper/7141-what-uncertainties-do-we-need-in-bayesian-deep-learning-f or-computer-vision.

[4] Deng L, Liu Y. Deep Learning in Natural Language Processing. 1st edition. Singapore: Springer; 2018.

[5] Kidd C, “NLU vs NLP: What’s the Difference?” [Internet], bmc blogs, 2018 [Publicerad 2018-05-28, Citerad 20-03-05], Hämtad från:

https://www.bmc.com/blogs/nlu-vs-nlp-natural-language-understanding-processing/. [6] Rouse M, “natural language understanding (NLU)” [Internet], Tech Target, 2017 [Publicerad 2017-10, Citerad 2020-03-06], Hämtad från:

https://searchenterpriseai.techtarget.com/definition/natural-language-understanding-NLU. [7] WhosOn, “What is an intent-based chatbot?” [Internet], WhoesOn, [Citerad 2020-03-17] Hämtad från: https://www.whoson.com/chatbots-ai/what-is-an-intent-based-chatbot/. [8] Lambert M, “Chatbot Decision Trees” [Internet], Chatbot Life, 2018 [Publicerad 2018-04-21, Citerad 2020-04-18], Hämtad från:

https://chatbotslife.com/chatbot-decision-trees-a42ed8b8cf32.

[9] Knight C, “How to Teach Your Chatbot With Training Data” [Internet], Chatbots Life, 2018 [Publicerad 2018-03-23 Citerad 2020-03-17], Hämtad från:

(48)

[10] Cogito Tech LLC, “How to Prepare Training Data For Chatbot?” [Internet], Medium, 2019 [Publicerad 2019-09-18 Citerad 2020-03-17], Hämtad från:

https://medium.com/cogitotech/how-to-prepare-training-data-for-chatbot-20b54259d00c. [11] Patel S, “9 Excellent Benefits of Using Chatbots in Your Business” [Internet], REVE Chat, 2019 [Updaterad 2019-10-9, Citerad 2020-04-27], Hämtad från:

https://www.revechat.com/blog/chatbot-business-benefits/.

[12] Schanke S, Burtch G och Ray G, “Estimating the Impact of ‘Humanizing’ Customer Service Chatbots” [projekt på Internet], SocArXiv Papers, 2020 [Citerad 2020-04-14], Hämtad från: https://osf.io/preprints/socarxiv/xud6z/.

[13] Regeringskansliet, “Agenda 2030 för hållbar utveckling” [Internet], Regeringen, 2016 [Citerad 2020-05-12], Hämtad från:

https://www.regeringen.se/regeringens-politik/globala-malen-och-agenda-2030/agenda-2030-for-hallbar-utveckling/.

[14] Åberg J, “Chatbots As A Mean To Motivate Behavior Change: How To Inspire Pro-Environmental Attitude with Chatbot Interfaces” [Masteruppsats på Internet], Digitala Vetenskapliga Arkivet, 2017 [Citerad 2020-04-20], Hämtad från:

http://www.diva-portal.org/smash/record.jsf?pid=diva2%3A1106358&dswid=7517.

[15] Dialogflow, “Build natural and rich conversational experiences” [Internet], Dialogflow, [Citerad 2020-03-20], Hämtad från: https://dialogflow.com/.

[16] Dialogflow, “Detect intent with audio input file” [Internet], Google, [Citerad

2020-03-20], Hämtad från: https://cloud.google.com/dialogflow/docs/detect-intent-audio. [17] Dialogflow, “Dialogflow” [Internet], Google, [Citerad 2020-03-20], Hämtad från:

https://cloud.google.com/dialogflow.

[18] Dialogflow, “Create an intent with parameters” [Internet], Google, [Citerad 2020-03-20], Hämtad från:

https://cloud.google.com/dialogflow/docs/tutorials/build-an-agent/create-intent-with-paramet ers.

[19] Dialogflow, “Contexts” [Internet], Google, [Citerad 2020-03-20], Hämtad från:

https://cloud.google.com/dialogflow/docs/contexts-overview.

[20] Dialogflow, “Agents” [Internet], Google, [Citerad 2020-03-20], Hämtad från:

(49)

[21] Watson assistant, “Watson Assistant features” [Internet], IBM, [Citerad 2020-03-21], Hämtad från: https://www.ibm.com/cloud/watson-assistant/features/#.

[22] Watson assistant, “Information security” [Internet], IBM, [Citerad 2020-03-21], Hämtad från:

https://cloud.ibm.com/docs/services/natural-language-understanding?topic=natural-language-understanding-information-security.

[23] KTH Division of Theoretical Computer Science, “Gavagai, a company founded by Jussi Karlgren, in the news” [Internet], Kungliga Tekniska Högskolan, 2014 [Uppdaterad

2014-02-02, Citerad 2020-03-20], Hämtad från:

https://www.kth.se/tcs/about-tcs/news-tcs/gavagai-a-company-founded-by-jussi-karlgren-in-t he-news-1.451743.

[24] Gavagai, “Produkt” [Internet], Gavagai, [Citerad 2020-03-20]

https://www.gavagai.io/sv/product/,.

[25] Gavagai, “Gavagai API” [Internet], Gavagai, [Citerad 2020-04-16], Hämtad från:

https://developer.gavagai.io/.

[26] Rasa, “Build contextual assistants that really help customers” [Internet], Rasa, [Citerad 2020-03-23], Hämtad från: https://rasa.com/.

[27] Rasa, “Rasa is essential in creating great AI assistants” [Internet], Rasa, [Citerad 2020-03-23], Hämtad från: https://rasa.com/product/why-rasa/.

[28] Rasa, “Installation” [Internet], Rasa, [Citerad 2020-03-23], Hämtad från:

https://rasa.com/docs/rasa/user-guide/installation/.

[29] Rasa, “HTTP API” [Internet], Rasa, [Citerad 2020-03-23], Hämtad från:

https://rasa.com/docs/rasa/api/http-api/.

[30] Rasa, “Training Data Format” [Internet], Rasa, [Citerad 2020-03-23], Hämtad från:

https://rasa.com/docs/rasa/nlu/training-data-format/.

[31] Rasa, “Rasa Docs” [Internet], Rasa, [Citerad 2020-03-23], Hämtad från:

https://rasa.com/docs/.

(50)

[33] McGrath C, “Chatbot Vocabulary: 10 Chatbot Terms You Need to Know” [Internet], Chatbot Magazine, 2017 [Citerad 2020-03-16], Hämtad från:

https://chatbotsmagazine.com/chatbot-vocabulary-10-chatbot-terms-you-need-to-know-3911 b1ef31b4.

[34] Mohanoor A, “How do you measure your Dialogflow bot’s accuracy” [Internet], Mining Business Data, 2018 [Citerad 2020-03-19], Hämtad från:

https://miningbusinessdata.com/how-do-you-measure-your-dialogflow-bots-accuracy/. [35] Desmarais C, “Chatbot Validation Methods” [Internet], Medium, 2018 [Citeras 2020-03-19], Hämtad från:

https://medium.com/ibm-watson/chatbot-validation-methods-8930737aeb2d.

[36] ChatEvel, “ChatEval” [Internet], ChatEval, [Citerad 2020-03-20], Hämtad från:

https://chateval.org/.

[37] Peras D, “Chatbot evaluation metrics: review paper” [Review papper på Internet], ResearchGate, 2018 [Citerad 2020-03-24], Hämtad från:

https://www.researchgate.net/publication/336923013_COUNTRY_OF_ORIGIN_INFASHIO N_INDUSTRY_-A_LITERATURE_REVIEW, Sida 101.

[38] Russell-Rose T, “A framework for chatbot evaluation” [Internet], Chatbot News Daily, 2017 [Citerad 2020-03-24], Hämtad från:

https://chatbotnewsdaily.com/a-framework-for-chatbot-evaluation-15d236557ad5. [39] Maroengsit W, Piyakulpinyo T, Pongnumkul S, Polyiam K, Chaovalit P &

Theeramunkong T, “A Survey on Evaluation Methods for Chatbots” [Konferans papper på Internet], ResearchGate, 2019 [Citerad 2020-03-24], Hämtad från:

https://www.researchgate.net/publication/333524709_A_Survey_on_Evaluation_Methods_fo r_Chatbots.

[40] IBM, “Building a dialog” [Internet], IBM Cloud, [Uppdaterad 2020-04-24, Citerad 2020-04-24], Hämtad från:

https://cloud.ibm.com/docs/services/assistant?topic=assistant-dialog-overview.

[41] Brink R, “Handling Multi-Intent Questions in Watson Assistant” [Internet], Medium, 2019 [Citerad 2020-04-24], Hämtad från:

(51)
(52)

References

Related documents

There are a wide variety of chatbots that can help you with carrying out tasks of varying complexity and help you connect different kinds of apps and systems in new and useful

The lexical diversity and the average number of ‘words per message’ were examined in order to answer the third and fifth research question of the study: whether the students

This compendium aims to assist with guidelines for human- chatbot conversations and could be used as a tool to make important design decisions easier to assess in early stages of

I can’t really answer that question because like I’m not that into Hubert and don’t know how it could present data better or how it could be done that I understand Hubert better,

The data used in task 6 is an adapta- tion of the restaurant reservation dataset from the second dialog state tracking challenge (DSTC2) [8].. The dataset was originally designed

Both versions will be data-driven but the second version will have rules for prioritizing lines from the same scene as the previous response in an attempt to increase

Since the idea is in such an early stage, this prototype will explore the possibility to connect Artificial Intelligence tools with VOIP and other cloud services to create

This thesis looked into the design process of a Chatbot-based project built on the RCS business messaging platform, and the workflow was investigated through contextual