• No results found

Jämförande studie inom ordförståelse för chatbotar Comparative study within word understanding for chatbots

N/A
N/A
Protected

Academic year: 2021

Share "Jämförande studie inom ordförståelse för chatbotar Comparative study within word understanding for chatbots"

Copied!
74
0
0

Loading.... (view fulltext now)

Full text

(1)

,

STOCKHOLM SVERIGE 2020

Jämförande studie inom

ordförståelse för chatbotar

Comparative study within word

understanding for chatbots

AYKUT ÖZPOLAT

KIM BERGLUND

KTH

(2)
(3)

Jämförande studie inom ordförståelse

för chatbotar

Comparative study within word

understanding for chatbots

AYKUT ÖZPOLAT

KIM BERGLUND

Examensarbete inom Datateknik Grundnivå, 15 hp

Handledare på KTH: Anders Lindström Examinator: Ibrahim Orhan

TRITA-CBH-GRU-2020:057 KTH

Skolan för kemi, bioteknologi och hälsa 141 52 Huddinge, Sverige

(4)
(5)

Sammanfattning

Under de senaste åren har intresset ökat för så kallade chatbot-agenter som nyttjar mönsterigenkänning. Tjänsten används inom kundtjänstområdet och genererar af-färsnytta genom att minska personalkostnader och samtidigt säkerställa en hög till-gänglighet för kunder.

För att optimera kundnytta krävs frekventa arbetsinsatser från förvaltarens sida, då systemets precision ökas genom anpassning av chatbotens svar utifrån tidigare kon-versationer. I syfte att undersöka ytterligare förbättringsåtgärder inom mönsterigen-känning för chatbotsystem, genomförs i detta arbete en jämförande studie mellan olika tekniker för att bättre förstå avsikten i frågan som ställts.

Ett flertal prototyper har under studien utvecklats och anpassats för att utvärdera teknikerna lemmatisation och stemming på det svenska och engelska språket. Resultatet visar att tekniken lemmatisation höjer träffsäkerheten mer än tekniken stemming för det svenska språket, och att bägge tekniker kan användas för att öka träffsäkerheten hos ett mönsterigenkännande system inom textklassificering. För prototyper som testats för tillämpningar med engelska språket visar studiens resul-tat att lemmatisation har högre nivå av träffsäkerhet jämfört med teknikern stem-ming.

Nyckelord

Konversationell AI, NLP, NLU, Rasa, Chatbot-optimering, Chatbot, textklassifice-ring, lemmatisation, stemming

(6)
(7)

Abstract

In recent years, interest has increased for so-called chatbot agents which uses pat-tern recognition to provide solutions in the customer service area that offer business benefits in the form of reduced staff costs combined with high customer accessibility. In order to optimize customer benefit, frequent maintenance is required. The accu-racy of the system is increased by adapting chatbot response based on previous con-versations. In order to investigate further improvement measures in pattern recog-nition for chatbot systems, a comparative study is conducted between two different techniques. The aim of the study is to determine which of the two techniques that interpret the intent of a question being asked most accurately.

Several prototypes have been developed during the study, to evaluate the techniques lemmatization and stemming for the Swedish and English language.

The result show that lemmatization and stemming techniques for the Swedish lan-guage can be used to increase the accuracy of a pattern recognition system in text classification and that lemmatization do so to a larger extent than stemming. Proto-types tested with the English language show evidence which suggests that lemmati-zation increase the level of accuracy in comparison with the use of stemming, which itself did not increase the accuracy.

Keywords

Conversational AI, NLP, NLU, Rasa, Chatbot-optimization, Chatbot, Text classifica-tion, lemmatizaclassifica-tion, stemming

(8)
(9)

Ordlista

Chatbot Användargränssnittet mot användare av chatbot som ofta implementeras på kundens webbplats

Chatbotlösning Arkitektur som möjliggör automatiserad interaktion mellan användare och ett mönsterigenkännande system i syfte att svara på användarens frå-gor

Normalisering Process som transformerar textsträng till en form som kan bearbetas Stemming Regelstyrd teknik för transformering av ord

Lemma/Lemmaform Grundform för ett ord; den minst böjda formen av ett ord. Förekommer ofta i obestämd form singularis

Lemmatisation Uppslagsstyrd teknik för transformering av ord till dess lemma-form. Avsiktsklassificering Tolkning av ett uttrycks avsikt

Rasa NLU Komponent som ansvarar över avsiktklassificering

True Positive Resultat där modellen korrekt förutsäger den positiva klassen True Negative Resultat där modellen korrekt förutsäger den negativa klassen False Positive Resultat där modellen inkorrekt förutsäger den positiva klassen False Negative Resultat där modellen inkorrekt förutsäger den negativa klassen Intent Avsikt

Recall Sensitivitet Precision Specificitet

(10)

Innehållsförteckning

1 Inledning ... 1 1.1 Bakgrund... 1 1.2 Problemformulering ... 1 1.3 Målsättning ... 1 1.4 Avgränsningar ... 2 2 Teori ... 3

2.1 Natural Language Processing ... 3

2.1.1 Förbehandling... 3

2.1.2 Tokenisering och borttagning av stoppord ... 3

2.1.3 Ordtransformering ... 3

2.1.4 Segmentering av meningar ... 4

2.2 Natural language understanding ... 4

2.3 Tidigare arbeten ...5 2.4 Biblioteket Rasa ... 6 2.4.1 Rasa NLU ... 6 2.4.2 Rasa Core ... 7 2.5 Utvärdering av klassificeringsmodeller ... 7 2.5.1 Confusion Matrix ... 7 2.5.2 Klassificeringskonfidens ... 8 2.6 Träningsprocedur ... 9 3 Metod ... 11 3.1 Metodik ... 11 3.1.1 Intern validitet ... 11 3.1.2 Reliabilitet ... 11 3.2 Tester ... 11

3.2.1 Tränings- och testdata ... 11

3.2.2 Testutrustning ... 12

3.3 Utveckling av prototyper ... 12

3.4 Prestandamått ... 14

3.4.1 Mätningar ... 16

(11)

4.1 Datakälla – Engelska ... 17

4.1.1 Tidsåtgång för träning av modell ... 17

4.1.2 Träffsäkerhet ... 17

4.1.3 F1-Score ... 18

4.1.4 Klassificerings-konfidens ... 19

4.2 Datakälla – Svenska ... 20

4.2.1 Tidsåtgång för träning av modell ... 20

4.2.2 Träffsäkerhet ... 20

4.2.3 F1-Score ... 20

4.2.4 Klassificerings-konfidens ... 21

5 Analys och diskussion ... 23

5.1 Analys av resultatet ... 23

5.1.1 Klassificerings-konfidens ... 24

5.2 Diskussion ... 24

6 Slutsatser ... 27

6.1 Rekommendationer för framtida studier ... 27

Källförteckning ... 29

(12)
(13)

1 | INLEDNING

1 Inledning

1.1 Bakgrund

Inom området kundtjänst har användning av automatiserade chatbotar ökat, efter att fler företag har sett nyttan som lösningarna erbjuder. Kunder har höga krav när det kommer till tillgänglighet och organisationer letar ständigt efter nya möjligheter till effektiviseringsåtgärder. En implementation av en chatbot-tjänst kan ge en högre kundnöjdhet eftersom kundkontakt kan ske dygnet runt, samtidigt som organisat-ionens personalkostnader kan minska. Konsultbolaget Softronic är en aktör på marknaden som erbjuder tjänster som dessa.

System för chatbotar är beroende av moduler som använder mönsterigenkänning för att avgöra användarens avsikt. Kvalitén på användarupplevelsen av en chatbot är roende av hur ofta den processen genererar ett resultat som är till användarens be-låtenhet. I syfte att förbättra chatbot-upplevelsen för kunden krävs ett ständigt ar-bete för att underhålla, uppdatera och optimera chatbot-system.

För att kunna tolka en skriven text krävs först att texten går igenom en förberedelse-process då texten normaliseras inför mönsterigenkänning. Sannolikheten för att rätt svar genererats beror på många faktorer och en av dessa är förberedelse av texten som ska tolkas. Förberedelseprocessen innehåller flera steg, beskrivning av detaljer tillhörande respektive steg i processen, ligger utanför den här studiens omfattning. Istället har studien fokuserat på olika tekniker som kan användas för att transfor-mera ord i inmatade data.

Med tekniken stemming normaliseras ord genom att bland annat böjningsformer tas bort. Tekniken är uppbyggd på statiska regler som följer språkets konventioner. Ett alternativ till stemming utgörs av lemmatisation som gör en djupare analys av ordets betydelse.

1.2 Problemformulering

Organisationer vill minska antal tillfällen då chatbotar levererar ett svar som syste-met tror är korrekt, men som i själva verket är inkorrekt. För att öka träffsäkerhet hos ett mönsterigenkännande system kan modifiering av inmatad text - i syfte att förbereda den för mönsterigenkänning - ske genom olika tillvägagångssätt och med olika tekniker. Det saknas kunskap om huruvida teknikerna lemmatisation och

stemming eventuellt kan förbättra träffsäkerheten vid avsiktsklassificering.

Rapporten studerar och jämför olika prestandamått inom flera prototyper för att kartlägga vilka förutsättningar som ger högst träffsäkerhet vid klassificering av en skriven text.

1.3 Målsättning

Målsättningen är att analysera skillnad i effektivitet inom normaliseringssteget mel-lan teknikerna stemming och lemmatisation i syfte att aktörer som Softronic i större utsträckning ska kunna fatta mer informerade beslut gällande vilken av dessa två tekniker som bör användas vid optimering av befintliga och framtida chatbotsystem.

(14)

2 | INLEDNING

Den här studien syftar till att undersöka följande frågeställning:

Är tekniken lemmatisation effektivare än tekniken stemming i bemärkelsen att den med högre frekvens samt säkerhet klarar av att tolka en text korrekt?

För att svara på frågeställningen kommer flera prototyper för chatbotsystem att ut-vecklas som var och en använder en specifik konfiguration. Prototyperna ska däref-ter testas för att generera ett underlag som senare kan analyseras i syfte att finna vilken av konfigurationerna som med högst frekvens och säkerhet tolkar en text kor-rekt.

Vidare är målsättningen att bidra till forskningsområdet samt generera uppslag för framtida studier.

1.4 Avgränsningar

Uppdragsgivaren Softronic har gjort gällande att följande förutsättningar skall råda: • Bibliotek från Rasa ska användas vid utveckling av moduler för

mönsterigen-känning.

För prototyper som använder tekniken stemming ska biblioteket “Snowball-stemmer” nyttjas.

(15)

3 | TEORI

2 Teori

Detta kapitel behandlar definitioner och termer inom språkanalys för att förstå hur chatbotsystem fungerar. Under sektion 2.1 förklaras hur bearbetning av text kan ske genom olika delprocesser. Sektion 2.2 förklarar olika begrepp inom klassificering. Under sektion 2.3 presenteras tidigare arbeten. Under sektion 2.4 presenteras Rasa och dess moduler och sektion 2.5 presenterar begrepp och dess formler inom klassi-ficering. Förklaring av hur en träningsprocedur går till presenteras under sektion 2.6.

2.1 Natural Language Processing

Enligt Liddy [1] används begreppet Natural Language Processing (NLP) för proces-ser som använder beräkningstekniker inom datavetenskap i syfte att analyproces-sera och tolka mänskligt språk. NLP är ett tvärvetenskapligt område vilket innebär att det är ett brett område som kombinerar olika vetenskapliga grenar såsom artificiell intel-ligens, beräkningslingvistik, datavetenskap och kognitiv vetenskap.

2.1.1 Förbehandling

För att kunna tolka en text med hjälp av NLP krävs att inmatningen först bearbetas i syfte att normalisera texten utifrån hur det nyttjade biblioteket för mönsterigen-känning förväntar sig inmatning. Det finns konventioner kring vad som bör finnas med i denna process, men det är även möjligt att anpassa den.

2.1.2 Tokenisering och borttagning av stoppord

I en studie av Bhartiva et al. [2] beskrivs de två första stegen i förbehandlingen. Syftet med tokenisering - som utgör det första steget - är att strukturera text i en form där varje ord därefter benämns token och utgör en betydande del av texten. Tekniker som vanligtvis förekommer inom tokenisering kan vara borttagning av punkter och konvertering av versaler till gemener.

Till skillnad mot delprocessen tokenisering - som syftar till att hitta betydande ord i text - sker i denna process borttagning av ord utan relevans. Ord som exempelvis ”den” och ”en” kallas för stoppord och är i själva verket inte beskrivande då ingen relevant information ges till det som frågas efter. Sådana ord förekommer ofta inom texter, de är dock inga nyckelord men är ändå viktiga för mänskliga talmönster. För att förbättra behandling i programmet och minska mängden lagrade data, raderas dessa stoppord eftersom de saknar betydelse.

2.1.3 Ordtransformering

I syfte att minska komplexitet i ett mönsterigenkännande system sker i många fall en medveten transformering av ord. Flertalet algoritmer för användningsområdet existerar och dessa kan delas in i olika kategorier, de som stemmar och de som skapar lemmaform av ursprungsordet.

Det finns i detta område en begreppsförvirring och Zeroual et al. [3] konstaterar att teknikerna kan användas i samma delprocess i ett mönsterigenkännande system, men poängterar att teknikerna är helt skilda varandra.

(16)

4 | TEORI

Stemming

Tekniken beskrivs i en studie av Schofield och Mimno [4] och syftar till att minska mängden unika ord genom en förenkling av respektive ord till dess rotform. Ofta sker detta genom att böjningsformer och liknande affixer raderas i en process som iterativt kontrollerar respektive ord i en text.

Exempel på stemming: • Före: ”Springa” • Efter: ”Spring”

I denna rapport används begreppet stemming som benämning på de regelstyrda al-goritmerna.

Lemmatisation

Benämningen används för samma delsteg i den mönsterigenkännande processen som ovan. Processen lemmatisation innebär att respektive ord inom texten byts ut till dess lemma, som i många fall utgörs av ordets uppslagsord i en ordlista [4]. I relation till stemming är inte syftet att minska antal ord utan att normalisera med hjälp av uppslagning i ordlistor över det aktuella språket. Analysen som sker i denna process är mer ingående än vid stemming då ordets kontext måste tas i beaktning i en större utsträckning [5].

Exempel på lemmatisation: • Före: “Hi, how are you?” • Efter: “hi how be -PRON-”

Efter att texten lemmatiserats har “are” ändrats till “be” som utgör dess lemma. Även “you” har ändrats till “-PRON-” som är ett paraplybegrepp för alla ord som består av någon form av pronomen.

I denna rapport används benämningen lemma för ett ord som har genomgått pro-cessen lemmatisation och således är i ursprungsordets lemmaform.

2.1.4 Segmentering av meningar

I denna delprocess analyseras inmatningen i syfte att kunna dela upp texten till mindre delar [6]. För att kunna göra detta används ofta tecken som punkter, fråge-tecken och utropsfråge-tecken. Enligt Jurafsky och Martin [7] måste analysen ske utifrån meningens kontext eftersom förkortningar som innehåller punkt fortfarande måste tas i beaktning.

2.2 Natural language understanding

Natural language understanding (NLU) är enligt Sunil et al. [8] ett begrepp som ofta används inom chatbotlösningar som avser tolkningen av mänskligt språk med hjälp av mönsterigenkänning. Enligt Bhartiya et al. [2] är målet med NLU att extrahera

(17)

5 | TEORI

relevant information utifrån användarens inmatning. Efter att informationen är ex-traherad, sker klassificering av användarens avsikt, vilket utgör grunden i ett chat-botsystem.

2.3 Tidigare arbeten

Ett flertal relevanta studier har identifierats, vars syfte har varit att undersöka algo-ritmer inom detta fält. Studierna som hittats har i många fall fokus på jämförande mätning av prestanda hos algoritmerna som används och inte hur säkerhet i text-tolkning hos systemet som helhet förändras under olika förutsättningar. Ännu mer sällsynt är det med studier som behandlar tekniker ingående i denna studie i syfte att undersöka effektiviteten på prestandamått som träffsäkerhet inom chatbotsy-stem; det är sällsynt med studier som undersöker hur en viss algoritm påverkar ef-fektiviteten hos ett helt system.

Det förekommer flera jämförande studier som studerar tekniker inom ett visst språk. Syftet är ofta att undersöka hur effektiviteten hos enskilda regelstyrda algoritmer ser ut vid användning på ett språk, då dessa algoritmer inte tar språk i beaktning. Ex-empelvis Zeroual et al. [3] har studerat effektivitet mellan teknikerna stemming och

lemmatisation inom system för informationsinhämtning på arabiska språket.

För-fattarna i den här studien konstaterar att arabiskan innehåller två komplexa para-digm inom morfologin vilka flera vanliga algoritmer inom stemming misslyckas att behandla korrekt, med resultat att betydelsebärande affix tas bort. De konstaterar även att konceptet lemmatisation är en mer komplex process jämfört med stem-ming.

I en studie av Javani [5] jämförs olika algoritmer för stemming. Studien nämner även

lemmatisation, men dock utan att ta med tekniken i jämförelsen.

Författaren har gjort en indelning av algoritmerna i följande kategorier: • Trunkerande tekniker

o Algoritmerna inom denna kategori trunkerar ord enligt ett regelverk som ofta arbetar enligt principen att affix tas bort från ursprungsordet.

Stemming hamnar enligt studien i fråga under denna kategori.

• Statistiska tekniker

o Använder statistiska modeller för att avgöra vilken modifikation som ska ske med ursprungsordet.

• Blandade tekniker

o I denna kategori hamnar algoritmer som gör en djupare analys av ord. Det finns exempelvis algoritmer som använder ordlistor för att modi-fiera ursprungsordet för att uppnå en högre nivå av noggrannhet. Nackdelen med denna kategori av algoritmer är att de ofta misslyckas stemma ord som inte finns med i ordlistan. Lemmatisation faller un-der denna kategori.

Även Singh et al. [9] har studerat vilka olika algoritmer som existerar inom

(18)

6 | TEORI

som i stort liknar ovanstående studie. Studien tar även upp fel som kan orsakas av stemming. Dessa fel benämns i rapporten som över- och under-stemming.

Författaren använder begreppet överstemming för situationer då en stemmingspro-cess har modifierat två eller flera ord som har olika rot - till samma rot. För möns-terigenkännande system kallas det här felet för False Positive.

Exempel: “design, designate -> design”

Begreppet understemming används för det motsatta för situationer då två eller flera ord med samma rot stemmas till olika rötter.

Exempel: “foot -> foot, feet -> feet”

Slutligen konstaterar Singh [9] att risken för fel vid stemmingsprocesser kan mini-meras om systemet tar hänsyn till både ordets kontext samt dess sammansättning och rekommenderar ytterligare studier inom detta.

I en studie av Tarasiev et al. [10] genomförs en implementation av ett system för en chatbot. Författarna väljer i studien att använda tekniken lemmatisation efter en presentation av olika alternativ. Resultat av gjorda mätningar av effektivitet i syfte att motivera detta val presenteras inte i rapporten.

Studier som jämför chatbotsystem som använder stemming respektive

lemmatisat-ion i en Rasa-miljö saknas i befintlig forskning, något som föranledde behovet för

den här studiens genomförande. Studier har identifierats som jämför chatbotlös-ningar från olika leverantörer med varandra. Dessa studier är inte av relevans då den här studien avser jämföra teknikerna stemming och lemmatisation under lika förut-sättningar, varför chatbotlösningar från olika leverantörer hade utgjort en felkälla vid genomförandet.

2.4 Biblioteket Rasa

Rasa är ett amerikanskt företag som ligger bakom moduler för implementation av system för konversationell AI. Biblioteken är utfärdade under Apache License 2.0 vilket enligt organisationen Apache [11] tillåter kommersiell användning.

I en rapport av Bocklisch et al. [12] publicerad 2017, går skaparna av biblioteken Rasa NLU och Rasa Core genom grunderna i arkitekturen. Skaparna hade vid fram-tagning av biblioteken målsättningen att förenkla driftsättningsprocessen av en chatbot.

2.4.1 Rasa NLU

Modulen Rasa NLU möjliggör användning av funktionalitet inom natural language understanding. Systemet består av flertalet submoduler som har låg koppling vilket gör att komponenter som används inom en delprocess kan bytas ut utan att APIet förändras utifrån sett.

(19)

7 | TEORI

2.4.2 Rasa Core

I en artikel från 2017 beskriver en av utvecklarna bakom Rasa, Nichol [13], begräns-ningarna som finns i många befintliga chatbotsystem och poängterar att en vanlig lösning är implementering av en arkitektur som förlitar sig på ett designmönster i form av en tillståndsmaskin, i syfte att kunna hålla en dialog med en användare. Rasa med deras modul Rasa Core vill istället underlätta för användare och göra mönster-igenkänning tillgängligt för alla.

“With Rasa Core we set ourselves the challenge of building a ma-chine learning-based dialogue framework that’s ready for pro-duction, flexible enough to support research and experimentation,

and accessible to non-specialists.” - Nichol [13]

2.5 Utvärdering av klassificeringsmodeller

Inom mönsterigenkänning finns det ett antal mått för att utvärdera modeller och klassificeringar.

2.5.1 Confusion Matrix

Begreppet Confusion matrix förklaras i en studie av Das och Kumar [14] som en ta-bell för att beskriva säkerheten av en klassificeringsmodell för en mängd testdata vars korrekta värden redan är kända. Confusion matrix visualiserar förväxlingar vid förutsägelser som en klassificeringsmodell gör. Förutom att ge en förståelse kring vilka fel som görs av en klassificerare ges även en mer kritisk inblick i misstag som görs av förvaltare av systemet.

Powers och Ailab redogör i en studie [15] för hur förutsägelserna för en klassificerare kan sammanfattas i en fyra cells tabell, för att sedan räkna ut antalet sanna och falska antaganden som en klassificeringsmodell kan förutse, enligt Tabell 2.1. Begreppet klass omfattar möjliga resultat av mönsterigenkänningen och utgörs i Tabell 2.1 av klasserna positiv och negativ.

Tabell 2.1: Confusion matrix.

Predicted class 1 0 Actual class 1 TP FP

0 FN TN

Varje term i cellerna har en egen betydelse.

• True Positive (TP) innebär att klassificeringsmodellen korrekt förutser den positiva klassen.

• True Negative (TN) innebär att klassificeringsmodellen korrekt förutser den negativa klassen.

(20)

8 | TEORI

• False Positive (FP) innebär att klassificeringsmodellen inkorrekt förutser den positiva klassen.

• False Negative (FN) innebär att klassificeringsmodellen inkorrekt förut-ser den negativa klassen.

Enligt Leon [16] används begreppen specificitet och sensitivitet som relevanta mått för att utvärdera problem där målet är att finna en delmängd i en större mängd. Inom

NLP kan detta innebära klassificering av text.

Specificitet

Specificitet, även kallat precision, är ett mått inom klassificering och representeras av ett tal i decimalform där förutsägelser, som en klassificerare förutsett som kor-rekta, verkligen är korrekta.

Detta mått beräknas enligt Formel (1), där True Positive är antal korrekta klassifice-ringar som förutsett den korrekta klassen, och False Positives antalet inkorrekta klassificeringar av den positiva klassen.

𝑆𝑝𝑒𝑐𝑖𝑓𝑖𝑐𝑖𝑡𝑒𝑡 = 𝑇𝑟𝑢𝑒 𝑃𝑜𝑠𝑖𝑡𝑖𝑣𝑒

𝑇𝑟𝑢𝑒 𝑃𝑜𝑠𝑖𝑡𝑖𝑣𝑒 + 𝐹𝑎𝑙𝑠𝑒 𝑃𝑜𝑠𝑖𝑡𝑖𝑣𝑒 Formel (1)

Sensitivitet

Begreppet sensitivitet, även kallat recall, är ett mått på klassificeringar som mo-dellen gjort och tolkat som att dessa är korrekta. Detta mått beräknas enligt Formel (2), där True Positive är antal korrekta klassificeringar som förutsett den korrekta klassen, och False Negatives antalet inkorrekta klassificeringar av den negativa klas-sen.

𝑆𝑒𝑛𝑠𝑖𝑡𝑖𝑣𝑖𝑡𝑒𝑡 = 𝑇𝑟𝑢𝑒 𝑃𝑜𝑠𝑖𝑡𝑖𝑣𝑒

𝑇𝑟𝑢𝑒 𝑃𝑜𝑠𝑖𝑡𝑖𝑣𝑒 +𝐹𝑎𝑙𝑠𝑒 𝑁𝑒𝑔𝑎𝑡𝑖𝑣𝑒 Formel (2)

F1-score

Leon [16] studerar i en studie prestandamått i anknytning till mönsterigenkännande system och konstaterar att ovanstående mått bör användas tillsammans. Måttet för detta benämns F1-score. Det tar bägge i beaktande och beräknas enligt Formel (3).

𝐹1 = 2 ∗ 𝑆𝑒𝑛𝑠𝑖𝑡𝑖𝑣𝑖𝑡𝑒𝑡∗𝑆𝑝𝑒𝑐𝑖𝑓𝑖𝑐𝑖𝑡𝑒𝑡

𝑆𝑒𝑛𝑠𝑖𝑡𝑖𝑣𝑖𝑡𝑒𝑡+𝑆𝑝𝑒𝑐𝑖𝑓𝑖𝑐𝑖𝑡𝑒𝑡 Formel (3)

Om både specificitet och sensitivitet är 1 kommer således F1-score vara 1 och innebär att alla testfall har klassificerats korrekt.

2.5.2 Klassificeringskonfidens

Enligt dokumentation tillhörande Rasa [17] kan konfidensvärdet för en klassificering användas för att bestämma ett tröskelvärde som avser en godtagbar nivå av säkerhet då en klassificering ska anses vara pålitlig.

(21)

9 | TEORI

2.6 Träningsprocedur

Den här studien undersöker mönsterigenkännande system som behöver inmatning från systemets förvaltare för att förbättra systemets noggrannhet. Proceduren be-nämns träning och går ut på att personal som förvaltar chatbotsystem instruerar sy-stemet hur det skall tolka en viss inmatning för att på så sätt “lära” sysy-stemet hur den ska svara framöver.

Vid träning av mönsterigenkänningsmotorn tillhörande Rasa NLU läses tränings-data in, bearbetas och en så kallad modell genereras. Rasa NLU har även stöd för inläsning av träningsdata från olika lagringsalternativ, exempelvis från textfiler i mark-down eller JSON-format. Enligt dokumentation tillhörande Rasa [18] är det även möjligt att ta fram egna moduler som hämtar träningsdata från t.ex. databaser. Modellen som genereras av träningen används sedan för att klassificera avsikten på en inmatad text från användare och länka den till en avsikt.

(22)
(23)

11 | METOD

3 Metod

Kapitlet ger en beskrivning över vald metodik, lösningsmetoder och vilka verktyg som nyttjats för att nå studiens mål.

3.1 Metodik

Studien antar en kvantitativ forskningsansats och syftar till att göra en naturveten-skaplig prövning och jämförelse kring noggrannhet inom teknikerna stemming och

lemmatisation, varför den kvantitativa metoden är väl lämpad. Enligt Creswell [19]

lyfter den kvantitativa metoden kvantifiering och analys av data, i motsats till en kva-litativ metod som istället lämpas väl vid studier av sociala empiriska fenomen. 3.1.1 Intern validitet

Studien uppnår intern validitet genom följande:

• Identiska indata i form av tränings- och testdata ligger till grund för ge-nomförandet av tester

• Iterativ utveckling av prototyper

• Pilottester för att kontrollera att testbädd är korrekt. 3.1.2 Reliabilitet

Enligt Bryman och Bell [20] utgörs frågan om reliabilitet av huruvida resultatet blir detsamma om undersökningen skulle genomföras på nytt, eller om de påverkas av slumpmässiga eller tillfälliga betingelser. För att säkerställa en hög nivå av reliabili-tet i studien används stabila prestandamått samt flera prototyper vars divergens endast utgörs av de jämförda alternativa teknikerna.

3.2 Tester

I syfte att jämföra teknikerna stemming och lemmatisation genomförs tester av framtagna prototyper för att generera relevant mätdata. Vardera prototypen är av-sedd att användas för antingen svenska eller engelska och är konfigurerad för att använda stemming eller lemmatisation. För att bredda underlaget i studien kommer även tester ske mot prototyp på respektive språk som saknar dessa tekniker. Indata under tester består av texter från samma ämne som modellen är tränad på. Att testa med indata från andra områden är inte relevant och skulle skapa en stor felkälla i studien.

3.2.1 Tränings- och testdata

I Tabell 3.1 presenteras datamängder som ligger till grund för mätningar. För att ge-nerera modeller för respektive prototyp används träningsmeningar. Testdata an-vänds endast vid mätningar och innehåller permutationer av träningsmeningarna som ska föreställa inmatning från användare.

(24)

12 | METOD

Tabell 3.1: Datamängder som används för mätningar.

Antal

Datakälla Språk Avsikter Träningsmeningar Testmeningar

Rasa Engelska 57 3550 404 Softronic Svenska 325 8179 2763

Data för lemmatiserande prototyper

Utöver tränings-och testdata krävs vid användning av lemmatisation, ytterligare data i form av ordlistor. I denna studie har ordlistor nyttjats från biblioteket spaCy, utgivna under licensen MIT [21]. För prototyper anpassade efter engelska språket används tre ordlistor av olika storlek. Vid redovisning av resultat för prototyper an-vänds benämningarna liten, mellan samt stor för dessa ordlistor.

För att vara konsekvent har även en ordlista från spaCy används i prototypen för svenska språket, denna ordlista gick dock inte att ladda ner som de engelska ordlis-torna. För att kunna använda en ordlista - där möjligheten att ladda ner inte finns - användes funktionen ”import module”.

Datakälla – Engelska

Rasa har på GitHub [22] publicerat data under licensen GPL v3 - tillhörande deras demo-chatbot - som innehåller avsikter och test- och träningsdata rörande Rasas produkter. För att möjliggöra användning av denna data på ett konsekvent sätt har endast delar relevanta för studien inkluderats; data för Rasa Core d.v.s. för svars-hantering har således utelämnats.

Datakälla – Svenska

Softronic har tillgängliggjort tränings- och testdata dels i syfte att bredda det besluts-underlag som ligger till grund för studiens resultat samt dels att i egenskap av intres-sent, öka studiens relevans för befintliga chatbot-implementationer.

3.2.2 Testutrustning

Samtliga tester har genomförts på dator med följande specifikation: • Modell: Dell Latitude 7490

• Processor: Intel Core i7 8650U 1,90 GHz • Arbetsminne: 32 GB

• Operativsystem: Microsoft Windows 10 Enterprise

3.3 Utveckling av prototyper

Under studien har flera prototyper utvecklats för att undersöka rapportens fråge-ställning. De olika teknikerna presenteras i Tabell 3.2.

(25)

13 | METOD

Tabell 3.2: Tekniker ingående i jämförelse.

Benämning Användningsområde

Original Implementation som saknar teknikerna stemming och lemmatisation Stemming Implementation som nyttjar tekniken stemming

Lemmatisation Implementation som nyttjar tekniken lemmatisation

Testkandidaterna samt deras unika konfiguration framgår av Tabell 3.3 och består av flera helt fristående chatbot-implementationer för att på ett konsekvent sätt kunna testa prototyperna parallellt och utan beroenden sinsemellan. Utvecklingen har skett med kravet att endast faktorer som ska varieras i testerna har förändrats; miljöerna är helt identiska utöver kodändringar som krävts för att implementera det specifika för respektive prototyp.

Tabell 3.3: Översikt nyttjade prototyper

Benämning Datamängd Teknik Storlek på ordlista

Prototyp 1 Rasa Original - Prototyp 2 Rasa Stemming -

Prototyp 3 Rasa Lemmatisation Liten ordlista Prototyp 4 Rasa Lemmatisation Medel ordlista Prototyp 5 Rasa Lemmatisation Stor ordlista Prototyp 6 Softronic Original -

Prototyp 7 Softronic Stemming - Prototyp 8 Softronic Lemmatisation -

Alla prototyper har anpassats för att i utdata inkludera den pre-processade text som prototypen genererat tillsammans med övriga mätdata från prototypen. Kodföränd-ringar är genomförda på ett konsekvent sätt inom samtliga prototyper för att säker-ställa en hög nivå av intern validitet.

Eftersom undersökningen fokuserar på klassificering av text används modulen Rasa NLU. I prototyper tillhörande denna studie har träningsdata i form av Mark-down-filer nyttjats. Det är möjligt att läsa in denna träningsdata i form av JSON-objekt eller från relationsdatabaser, men för att underlätta versionshantering och läsbarhet valdes Mark-down-format.

Avsiktsklassificering sker genom anrop till komponenten Rasa NLU. Vid anrop till dess REST-API returneras relevant information i form av ett JSON-objekt innehål-landes hur säker komponenten är på tolkningen av avsikten. Säkerheten anges i ett

(26)

14 | METOD

decimalt tal och bedöms ej utgöra ett relevant prestandamått för att jämföra mo-deller mot varandra. Konfidens kan dock enligt sektion 2.5.2 användas för ett gräns-värde då systemet skall anse klassificeringen som tillförlitlig och när den ska bortse från klassificeringen.

Figur 3.1 presenterar den del av svaret från APIet som innehåller tolkning av avsikt samt klassificerings-konfidens för tolkningen av den inmatade texten, d.v.s. hur sä-ker mönsterigenkännings-motorn är på klassificeringen. Exempel på den inmatade texten presenteras i Figur 3.2 där nyckeln benämns som “text” i JSON-objektet.

"intent": {

"name": "ask_howdoing",

"confidence": 0.9801880121231079 }

Figur 3.1: Utsnitt av svar från klassificering.

Utdata från en klassificering har i sin helhet format enligt Figur 3.2.

{ "intent": { "name": "ask_howdoing", "confidence": 0.9801880121231079 }, "entities": [], "intent_ranking": [ { "name": "ask_howdoing", "confidence": 0.9801880121231079 }, { "name": "ask_howbuilt", "confidence": 0.01100060436874628 }, { "name": "ask_whoisit", "confidence": 0.0034702077973634005 } ], "response_selector": { "default": { "response": { "name": null, "confidence": 0.0 }, "ranking": [], "full_retrieval_intent": null } },

"preprocessed_text": "hi how be -PRON- __CLS__ ", "text": "Hi, how are you?"

}

Figur 3.2: Utdata av en klassificering från en modell som använder lemmatisation och är baserad på data från Rasa.

3.4 Prestandamått

Relevanta definitioner från sektion 2.5.1 kan appliceras på tillämpningar inom chat-botsystem enligt följande:

(27)

15 | METOD

• True Positive syftar på situationer då ett chatbotsystem klassificerat på ett korrekt sätt och returnerar relevant innehåll till användaren.

• False Positive är en klassificering som resulterar i att chatbotsystem re-turnerar fel svar till användaren.

• False Negative uppstår i situationer då ett system har blivit tränat på ett särskilt problem och bör kunna svara, men istället för att ett svar returne-ras till användaren hänvisas den till en mänsklig handläggare.

• True Negative syftar på situationer då ett system ej blivit tränat på ett sär-skilt problem och ej vet hur den ska svara utan istället hänvisar till en mänsklig handläggare.

För att visualisera ovanstående är det möjligt att generera en Confusion Matrix. Storleken av en Confusion Matrix varierar utifrån antal avsikter en modell innehål-ler och med hjälp av denna graf kan förvaltare över systemet få en överblick av en tränad modell. Figur 3.3 presenterar ett utsnitt från en Confusion Matrix vars fak-tiska storlek är 325x325. I den vänstra delen av Figur 3.3, markerad med grön färg, presenteras avsikter som finns med i modellen. Den diagonala linjen i grafen, mar-kerad med blå färg, presenterar antalet True Positives för respektive avsikt. Hori-sontella linjen, markerad med röd färg, presenterar antalet False Negatives och den vertikala linjen, markerad med orange färg, presenterar antalet False Positives för avsikt 1005. Genom denna figur, identifieras antalet TP, FP samt FN. Därefter går det att beräkna sensitivitet enligt Formel (1), specificitet enligt Formel (2) och F1-score enligt Formel (3).

Med hjälp av Rasa NLU kan även en JSON-fil genereras, denna fil benämns som intent_report.json. Filen innehåller information om varje avsikt i modellen. Figur 3.4 presenterar information från intent_report.json, genererad från Original-svenska modellen.

(28)

16 | METOD "1005": { "precision": 0.5555555555555556, "recall": 0.625, "f1-score": 0.5882352941176471, "support": 8, "confused_with": { "1016": 2, "1548": 1 } }

Figur 3.4: Information i form av JSON-objekt för avsikt 1005.

Under studiens gång, används filen intent_report.json för att samla information om varje enskild avsikt och utifrån detta komma fram till ett resultat.

3.4.1 Mätningar

Utifrån tester har följande mätvärden tagits i beaktande och ligger till grund för stu-diens resultat.

• Tidsåtgång för träning av modell för respektive prototyp i syfte att få in-blick i hur de jämförda teknikerna påverkat tiden det tar att träna en mo-dell. Redovisning av tidsåtgång avser generering av en modell på utrust-ning specificerad i sektion 3.2.2.

• Träffsäkerhet enligt Formel (1) för Specificitet, definierad i sektion 2.5.1. • Viktat medelvärde av F1-score för samtliga testade avsikter i modellen. • Antal avsikter som får F1-score = 1 vid test av en uppsättning

testme-ningar. Avsikt med F1-score = 1 innebär att både specificitet samt sensiti-vitet är 1 vid tester och betyder att modellen klassificerar samtliga testme-ningar tillhörande avsikten korrekt.

(29)

17 | RESULTAT

4 Resultat

I detta kapitel presenteras resultat på mätningar specificerade i metodkapitlet. Re-dovisningar av resultat görs med avseende på vilken datamängd som används i re-spektive test. Detaljer för rere-spektive test presenteras i appendix A-H.

4.1 Datakälla – Engelska

Test- och träningsdata tillhörande bibliotek från Rasa som består av uttryck på eng-elska har nyttjats för att generera mätdata för att utvärdera följande tester.

4.1.1 Tidsåtgång för träning av modell

Tabell 4.1 redovisar uppmätta värden för genomförandet av en träning av en möns-terigenkänningsmodell givet förutsättningar specificerade i tabellen. Resultatet visar att prototyper som använder tekniken lemmatisation med en större ordlista kräver upp mot 48 gånger mer tid för att generera en modell, jämfört med en prototyp som saknar förbearbetning av text.

Tabell 4.1: Tidsåtgång för träning av modell för datamängd "Rasa".

Teknik Tidsåtgång träning av modell

Original 20 min Stemming 17 min Lemmatisation (liten ordlista) 31 min Lemmatisation (mellan-ordlista) 16 h Lemmatisation (stor ordlista) 15 h

4.1.2 Träffsäkerhet

Resultat över träffsäkerhet vid textklassificering visar enligt Tabell 4.2 att antal kor-rekta klassificeringar minskar vid användning av teknikerna stemming och

lemma-tisation jämfört med prototypen som varken använder stemming eller lemmatisat-ion. Prototypen ”Original” har högst träffsäkerhet följt av protypen som använder

(30)

18 | RESULTAT

Tabell 4.2: Träffsäkerhet/ True Positives för datamängd "Rasa".

Teknik Antal korrekta klassifice-ringar

Andel korrekta klas-sificeringar

Original 373 92,3 % Stemming 365 90,3 % Lemmatisation (liten ordlista) 372 92,1 % Lemmatisation

(mellan-ord-lista) 369 91,3 % Lemmatisation (stor ordlista) 368 91,1 %

4.1.3 F1-Score

Resultat avseende datamängd ”Rasa” redovisas i Tabell 4.3 för respektive genererad modell och teknik, vilket visar att F1-score för modellen som helhet, minskar utifrån storleken på ordlistan som nyttjas i prototyper med tekniken lemmatisation. Det högsta medelvärdet finns hos prototypen som varken använder stemming eller

lem-matisation. Tabell 4.4 visar antal avsikt vars F1-värde är 1, givet testdata använd i

studien. Maximalt antal uppnås i prototypen som använder tekniken lemmatisation med en liten ordlista.

Tabell 4.3: Medelvärde F1-score för modeller med datamängd "Rasa".

Teknik Viktat medelvärde för F1-score

Original 0,918 Stemming 0,898 Lemmatisation (liten ordlista) 0,917 Lemmatisation (mellan-ordlista) 0,911 Lemmatisation (stor ordlista) 0,904

(31)

19 | RESULTAT

Tabell 4.4: Antal avsikt med F1-score = 1 för datamängd "Rasa".

Teknik Antal Andel testade avsikt

Original 29 50,9 % Stemming 26 45,6 % Lemmatisation (liten ordlista) 30 52,6 % Lemmatisation (mellan-ordlista) 27 47,4 % Lemmatisation (stor ordlista) 25 43,9 %

4.1.4 Klassificerings-konfidens

Figur 4.1 visar hur distributionen av klassificerings-konfidens fördelar sig för proto-typen som använder lemmatisation i kombination med data från Rasa och hur sificerings-konfidens vid felaktiga klassificeringar ofta uppnår samma nivå av klas-sificerings-konfidens som vid korrekta klassificeringar.

(32)

20 | RESULTAT

4.2 Datakälla – Svenska

Test- och träningsdata för dessa tester ställs till förfogande av Softronic i syfte att öka studiens relevans. Materialet är producerat av Softronic och består av uttryck på svenska.

4.2.1 Tidsåtgång för träning av modell

Resultat från mätningar av tidsåtgång för träning av en modell redovisas i Tabell 4.5 och visar att användning av tekniken stemming ökar tiden med 50% jämfört med prototypen som varken använder stemming eller lemmatisation. Träning av en mo-dell med prototypen som nyttjar lemmatisation tar 12 gånger så lång tid jämfört mot prototypen ”Original” respektive 8 gånger längre jämfört med tekniken stemming, samt given utrustningsspecifikation enligt sektion 3.2.2.

Tabell 4.5: Tidsåtgång för träning av modell för datamängd ”Softronic”.

Teknik Tidsåtgång träning av modell

Original 1 h Stemming 1,5 h Lemmatisation 12 h

4.2.2 Träffsäkerhet

Resultat över träffsäkerhet vid textklassificering visar enligt Tabell 4.6 att antal kor-rekta klassificeringar ökar vid användning av teknikerna stemming och

lemmatisat-ion jämfört med prototypen som saknar stemming eller lemmatisatlemmatisat-ion. Högsta

an-talet korrekta klassificeringar har påträffats hos prototypen som använder lemma-tisation, som jämfört med ”Original” lyckas klassificera 3,8 procentenheter fler test-meningar korrekt.

Tabell 4.6: Träffsäkerhet/ True Positives för datamängd ”Softronic”.

Teknik Antal korrekta klassifice-ringar

Andel korrekta klassifice-ringar

Original 1867 67,6 % Stemming 1937 70,2 % Lemmatisation 1972 71,4 %

4.2.3 F1-Score

Resultat avseende datamängd ”Softronic” redovisas i Tabell 4.7. Resultat från mät-ningar visar att F1-score, jämfört med ”Original”, ökar i både prototypen som använ-der stemming samt i den som använanvän-der lemmatisation. Högsta värdet av F1-score uppmättes i prototypen som använder tekniken lemmatisation vars F1-score upp-mättes till ca 6% högre än prototypen ”Original”, givet använd träningsdata. Antal

(33)

21 | RESULTAT

avsikt då samtliga testade testmeningar för avsikter fått F1-score = 1 redovisas i Ta-bell 4.8. Prototypen som varken använder stemming eller lemmatisation har högst antal och därefter den som nyttjar lemmatisation.

Tabell 4.7: Medelvärde F1-score för modeller med datamängd "Softronic".

Teknik Viktat medelvärde för F1-score

Original 0,675 Stemming 0,695 Lemmatisation 0,715

Tabell 4.8: Antal avsikt med F1-score = 1 för datamängd "Softronic".

Teknik Antal Andel testade avsikt

Original 24 7,38 % Stemming 20 6,15 % Lemmatisation 23 7,08 %

4.2.4 Klassificerings-konfidens

Figur 4.2 visar hur distributionen av klassificerings-konfidens fördelar sig för proto-typen som använder lemmatisation i kombination med data från Softronic och hur klassificerings-konfidens vid felaktig klassificering är lägre jämfört med klassifice-rings-konfidens vid korrekta klassificeringar.

(34)

22 | RESULTAT

(35)

23 | ANALYS OCH DISKUSSION

5 Analys och diskussion

I detta kapitel följer en analys av resultatet från kap. 4 och dess relation till studiens mål enligt sektion 1.3.

5.1 Analys av resultatet

Begreppet träffsäkerhet definieras i sektion 4.1.2 som ett prestandamått vilket tar antalet korrekta klassificeringar (True Positives) i beaktande i relation till ett antal testade meningar. För prototyper skapade för det engelska språket finns inget un-derlag i resultatet som påvisar att någon av teknikerna stemming eller

lemmatisat-ion ger en högre träffsäkerhet än prototypen som inte använder någon av teknikerna,

givet datamängder nyttjade i studien. I en jämförelse mellan teknikerna

lemmatisat-ion och stemming med engelska språket, visar resultatet däremot att prototyper som

använder lemmatisation har fler korrekta klassificeringar och ett högre genomsnitt-ligt F1-score än stemming. Ökning av storlek på ordlista nyttjad av prototyper som använder lemmatisation visar sig minska antalet korrekta klassificeringar och för-sämra övriga presentandamått. Försämringen vid implementering av någon av de jämförda teknikerna antas bero på det engelska språkets analytiska struktur. Detta kan försvåra implementation och användning av lemmatisation då tekniken är mer komplex till sin natur. Vidare kan det innebära att datamängder bör vara anpassade för att användas inom just lemmatisation för att tekniken ska ge fördelar i form av högre träffsäkerhet. Ett exempel kan vara att flera olika ord i engelskspråkiga data-mängder transformeras till ett och samma lemma och skapar förvirring vid klassifi-cering. Ord som ”am”, ”is”, ”are” blir alla efter lemmatisation ”be”. Är det många sådana ord i flera olika avsikter skulle det kunna innebära att klassificeraren inte lyckas tolka inmatning korrekt och träffsäkerheten minskar.

För prototyper avsedda att användas för det svenska språket uppmättes en högre träffsäkerhet hos prototypen som nyttjar stemming, jämfört med prototypen som inte nyttjar någon av de jämförda teknikerna. Användning av tekniken

lemmatisat-ion gav den allra bäst presterande prototypen med högst nivå av träffsäkerhet samt

högst genomsnittligt F1-score, givet nyttjade datamängder.

En diskrepans har alltså identifierats mellan resultatet för prototyper med det eng-elska respektive med det svenska språket vid jämförelse mot deras respektive proto-typ som saknar teknikerna. Protoproto-typer för det engelska språket uppvisar inte att de jämförda teknikerna ger någon fördel medan prototyper för det svenska språket haft en ökning av träffsäkerhet både för teknikerna stemming och lemmatisation. Att da-tamängden som nyttjats för det engelska språket är producerad av Rasa kan ha en viss inverkan, då det kan finnas språkliga konventioner i datamängderna som ej läm-par sig att använda vid lemmatisation, men som vid användning utan de jämförda teknikerna ger en godtagbar nivå av träffsäkerhet. Att prototyper för det svenska språket visar en förbättring både för stemming och lemmatisation kan bero på att språkets uppbyggnad i sig gör det mer kompatibelt med teknikerna.

(36)

24 | ANALYS OCH DISKUSSION

5.1.1 Klassificerings-konfidens

Prototyper avsedda för engelska har ofta en hög nivå av klassificerings-konfidens då klassificeringen är felaktig vilket innebär att klassificeraren tror att den gjort en kor-rekt tolkning när den i själva verket är felaktig. Distribution av klassificerings-konfi-dens för svenska språket har en annorlunda fördelning som tyder på att felaktiga klassificeringar ger en lägre nivå av klassificerings-konfidens.

Att det finns en skillnad i hur fördelningen ser ut mellan de olika datamängderna kan vara kopplad till att en Rasa-implementation ger olika intervall av klassifice-rings-konfidens utifrån systemets helhet där språkets uppbyggnad kan ha stor inver-kan. När det kommer till diagram som visar distribution av klassificerings-konfidens kan ett användningsområde vara att finna ett tröskelvärde då klassificeringen ska bedömas som trovärdig och när den ska avfärdas enligt sektion 2.5.2.

5.2 Diskussion

När beslut ska fattas om någon av de jämförda teknikerna ska implementeras bör aktörer först skapa sig en uppfattning kring huruvida någon av teknikerna verkligen passar med befintliga data, då dess språkliga struktur kan påverka den potentiella fördelen som kan komma med teknikerna.

Som studien visar tar träning av modeller vid användning av lemmatisation avsevärt längre tid, jämfört med en konfiguration som saknar tekniken. Vid användning av tekniker som nyttjar ordlistor bör därför övervägande ske för att avgöra om vinsten i form av större andel korrekta klassificeringar är värd den extra tid det tar att träna en modell. För att minska tidsåtgången kan investeringar i hårdvara alternativt molntjänster vara till nytta. Ur en miljömässig synvinkel måste investeringarna ske på ett sätt som säkerställer att infrastrukturen tar tillvara på överskottsvärme samt har en energieffektiv kylning för att minska klimatpåverkan. Vid användning av molntjänster i kombination med hantering av chathistorik, finns en lagstiftningsa-spekt att ta i beaktning då det kan få stora ekonomiska konsekvenser för aktören om kunddata händelsevis skulle integreras i en datamängd och därefter behandlas hos en molntjänstleverantör.

Under tester med engelska språket kunde studien inte finna något resultat som tyder på att stemming och lemmatisation ökar träffsäkerheten. Med den extra tidsåt-gången i åtanke finns det ingenting som motiverar användning av tekniken

lemma-tisation utifrån studiens resultat. När det kommer till tekniken stemming finns det

inte heller någon anledning att implementera tekniken, då resultatet inte visar att det sker en förbättring i träffsäkerhet. För det svenska språket kan däremot en im-plementation av tekniken stemming vara motiverad då andelen korrekta klassifice-ringar är högre i jämförelse mot prototyper utan tekniken och skillnad i tidsåtgång är ringa. Den marginella förbättringen i andel korrekta klassificeringar vid använd-ning av tekniken lemmatisation gör det svårt att motivera implementation med tanke på den avsevärt längre tid det tar att träna en modell.

Vid felaktiga klassificeringar, är det eftersträvansvärt att det sker med en så låg kon-fidens som möjligt, så att det går att fånga upp den felaktiga klassificeringen med

(37)

25 | ANALYS OCH DISKUSSION

hjälp av ett gränsvärde. Är konfidensen hög kommer det inte vara möjligt att för-hindra att chatboten presenterar ett felaktigt svar för användaren. I syfte att mini-mera situationer då felaktiga klassificeringar orsakar ett irrelevant svar till en använ-dare, bör det ske arbetsinsatser hos leverantörer av chatbotlösningar, som strävar mot att öka konfidens vid korrekt klassificering (True Positives), samt minska kon-fidens vid inkorrekt klassificering (False Positives och False Negatives). Utifrån gra-fer som presenteras i sektion 4.1.4 och i sektion 4.2.4 som visar distribution av klas-sificering-konfidens kan förvaltare bestämma ett adekvat gränsvärde som anger när klassificeringen från mönsterigenkänningsmotorn ska bedömas som tillförlitlig. Detta gränsvärde kan förhindra att chatboten levererar ett svar där systemet klassi-ficerat en text inkorrekt och istället möjliggör returnering av ett förutbestämt svar som exempelvis “Jag förstår inte din fråga, utveckla gärna?”. Utifrån den sociala aspekten skulle en hög tillgänglighet i kombination med hög träffsäkerhet minska stress för användare genom att utesluta långa samtalsköer och samtidigt kunna le-verera snabba och relevanta svar oavsett vilken tid på dygnet det är. Tillgång till chat-botsystem kan även minska stress för användare som ogillar att tala i telefon. Ur ett samhällsekonomiskt perspektiv skulle förbättrade chatbotsystem kunna leda till att arbetsmarknaden för kundtjänstmedarbetare förändras eftersom majoriteten av ärenden skulle kunna lösas av chatbotar och minska behovet av personal.

Optimering av chatbotsystem är ett komplext område på grund av dess tvärveten-skapliga natur där lingvistik och datavetenskap möts. Ur en förvaltares perspektiv krävs därför en tvärfunktionell arbetsgrupp som har kompetens att vidareutveckla alla ingående moduler. I kombination med detta bör även insikt finnas i hur den mönsterigenkännande delen kan förbättras i form av anpassning av test- och trä-ningsdata utifrån loggar genererade av riktiga användarinteraktioner. Det är en ba-lansgång för både organisationer som nyttjar tjänsten för sina kunder samt för aktö-rer som erbjuder chatbottjänster. Samtliga intressenter vill optimera i syfte att an-vändaren i slutänden får ett så korrekt och relevant svar som möjligt. Men för att kunna förbättra innehåll i tjänsterna med hjälp av data genererad av riktiga använ-dare - på ett integritetsriktigt sätt - krävs tydliga och fastställda rutiner som tar den etiska aspekten i beaktande. Exempelvis måste det finnas tydliga begränsningar kring hur lång tid loggar efter konversationer får sparas. Aktörer kommer med all säkerhet behöva betrakta chathistorik som färskvara eftersom den efter en viss tid sannolikt kommer behöva raderas ur systemen.

Utöver historik finns andra verktyg som kan användas av förvaltaren i syfte att kart-lägga vilka delar i träningsdata som orsakar felaktiga klassificeringar. Genom regel-bundna kartläggningar av avsikter som krockar med varandra kan förvaltare ändra på träningsmeningarna för dessa avsikter för att minska förvirring och sedan träna om en ny modell för att se om dessa avsikter fortfarande krockar. Som hjälpmedel för detta finns bland annat Confusion matrix som grafiskt visar en sammanställning över resultatet från en mängd klassificeringar.

(38)
(39)

27 | SLUTSATSER

6 Slutsatser

Under studiens gång har flertalet prototyper tagits fram och testats för både det svenska och det engelska språket med olika mängder test- och träningsdata. Tes-terna som utförts har bidragit till att målsättningen som är specificerad i sektion 1.3 uppfyllts.

Resultatet visar att prototyper som tagits fram för tekniken lemmatisation har fler antal korrekta klassificeringar och ett högre genomsnittligt F1-score för de båda språken i jämförelse med prototyper som nyttjar tekniken stemming vilket således innebär att studien lyckats besvara frågeställningen.

För prototyper utvecklade att användas för det svenska språket visar studien att tek-niken lemmatisation gav bäst resultat i jämförelse mot en prototyp som inte nyttjar någon av teknikerna. För det engelska språket visar resultatet att de använda tekni-kera inte ger en förbättring när det kommer till antal korrekta klassificeringar och ett genomsnittligt F1-score, jämfört med prototypen som saknar teknikerna, givet test- och träningsdata som nyttjats under studien.

Genom mätning av tidsåtgång för träning av mönsterigenkännings-modeller har prototyper som nyttjar lemmatisation visat sig - givet använd utrustning - ta mar-kant längre tid jämfört med prototyper som ej nyttjar ordlistor i bearbetningspro-cessen.

6.1 Rekommendationer för framtida studier

Under tester med engelska språket kunde studien inte finna något resultat som tyder på att stemming och lemmatisation ökar träffsäkerhet mer än marginellt jämfört mot prototyp utan teknikerna. Därför skulle det vara lämpligt att undersöka om trä-ningsdata bör anpassas efter hur den förbehandlas, om det finns ord, tempus eller begrepp som bör undvikas samt hur den bör vara strukturerad för att öka konfidens vid True Positives och samtidigt minska konfidens vid felklassificeringar. Ytterligare ett relevant område för framtida studier är att testa olika algoritmer för tekniken

(40)
(41)

29 | KÄLLFÖRTECKNING

Källförteckning

[1] Liddy E. Natural Language Processing. Sch Inf Stud - Fac Scholarsh [Internet]. 01 januari 2001; Tillgänglig vid: https://surface.syr.edu/istpub/63

[2] Bhartiya N, Jangid N, Jannu S, Shukla P, Chapaneri R. Artificial Neural Net-work Based University Chatbot System. I: 2019 IEEE Bombay Section Signature Conference (IBSSC) [Internet]. Mumbai, India: IEEE; 2019 [citerad 31 mars 2020]. s. 1–6. Tillgänglig vid: https://ieeexplore.ieee.org/document/8973095/ [3] Zeroual I, Lakhouaja A. Arabic information retrieval: Stemming or

lemmatizat-ion? I: 2017 Intelligent Systems and Computer Vision (ISCV) [Internet]. Fez, Morocco: IEEE; 2017 [citerad 31 mars 2020]. s. 1–6. Tillgänglig vid: http://iee-explore.ieee.org/document/8054932/

[4] Schofield A, Mimno D. Comparing Apples to Apple: The Effects of Stemmers on Topic Models. Trans Assoc Comput Linguist. december 2016;4:287–300. [5] Jivani A. A Comparative Study of Stemming Algorithms. Int J Comput Technol

Appl. 2011;2:9.

[6] Dale R, Moisl H, Somers HL, redaktörer. Handbook of natural language pro-cessing. New York: Marcel Dekker; 2000. 943 s.

[7] Jurafsky D, Martin JH. Speech and language processing: an introduction to nat-ural language processing, computational linguistics, and speech recognition 2nd. Upper Saddle River, N.J: Prentice Hall; 2000. 934 s. (Prentice Hall series in artificial intelligence).

[8] Sunil R, Jayan V, Bhadran VK. Preprocessors in NLP applications: In the con-text of English to Malayalam Machine Translation. I: 2012 Annual IEEE India Conference (INDICON). 2012. s. 221–6.

[9] Singh S, Pateriya RK. A Survey on various Stemming Algorithms. Int J Comput Eng Res TRENDS. 2015;2(5):6.

[10] Tarasiev A, Talancev E, Aksyonov K, Aksyonova O, Kalinin I, Chiryshev U. Ap-plication of Stemming Methods to Development a Module of a Post-processing of Recognized Speech in Intelligent Automated System for Dialogue and Deci-sion-Making in Real Time. I: 2019 International Multi-Conference on Engineer-ing, Computer and Information Sciences (SIBIRCON) [Internet]. Novosibirsk, Russia: IEEE; 2019 [citerad 31 mars 2020]. s. 0104–9. Tillgänglig vid: https://ieeexplore.ieee.org/document/8958317/

[11] Apache License, Version 2.0 [Internet]. [citerad 18 maj 2020]. Tillgänglig vid: https://www.apache.org/licenses/LICENSE-2.0

[12] Bocklisch T, Faulkner J, Pawlowski N, Nichol A. Rasa: Open Source Language Understanding and Dialogue Management. ArXiv171205181 Cs [Internet]. 15 december 2017 [citerad 31 mars 2020]; Tillgänglig vid: http://arxiv.org/abs/1712.05181

(42)

30 | KÄLLFÖRTECKNING

[13] Nichol A. A New Approach to Conversational Software [Internet]. Medium. 2019 [citerad 01 april 2020]. Tillgänglig vid: https://medium.com/rasa-blog/a-new-approach-to-conversational-software-2e64a5d05f2a

[14] Das S, Kumar E. Determining Accuracy of Chatbot by applying Algorithm De-sign and Defined process. I: 2018 4th International Conference on Computing Communication and Automation (ICCCA). 2018. s. 1–6.

[15] Powers D, Ailab. Evaluation: From precision, recall and F-measure to ROC, in-formedness, markedness & correlation. J Mach Learn Technol. 01 januari 2011;2:2229–3981.

[16] Derczynski L. Complementarity, F-score, and NLP Evaluation. I: Proceedings of the Tenth International Conference on Language Resources and Evaluation (LREC’16) [Internet]. Portorož, Slovenia: European Language Resources Asso-ciation (ELRA); 2016 [citerad 05 maj 2020]. s. 261–266. Tillgänglig vid: https://www.aclweb.org/anthology/L16-1040

[17] Confidence and Fallback Intents [Internet]. [citerad 06 maj 2020]. Tillgänglig vid: https://legacy-docs.rasa.com/docs/nlu/fallback

[18] Training Data Importers [Internet]. [citerad 01 april 2020]. Tillgänglig vid: https://rasa.com/docs/rasa/api/training-data-importers

[19] Creswell JW. Research design: qualitative, quantitative, and mixed methods ap-proaches. 4th ed. Thousand Oaks: SAGE Publications; 2014. 273 s.

[20] Bryman A, Bell E. Företagsekonomiska forskningsmetoder. 2017.

[21] Models · spaCy Models Documentation [Internet]. Models. [citerad 07 maj 2020]. Tillgänglig vid: https://spacy.io/models

[22] RasaHQ/rasa-demo [Internet]. Rasa; 2020 [citerad 01 maj 2020]. Tillgänglig vid: https://github.com/RasaHQ/rasa-demo

(43)

31 | APPENDIX

Appendix

Appendix A: Översikt klassificeringar - Prototyp 1 ... 32 Appendix B: Översikt klassificeringar - Prototyp 2 ... 34 Appendix C: Översikt klassificeringar - Prototyp 3 ... 36 Appendix D: Översikt klassificeringar - Prototyp 4 ... 38 Appendix E: Översikt klassificeringar - Prototyp 5 ... 40 Appendix F: Översikt klassificeringar - Prototyp 6... 42 Appendix G: Översikt klassificeringar - Prototyp 7 ... 48 Appendix H: Översikt klassificeringar - Prototyp 8 ... 54

(44)

32 | APPENDIX

Appendix A: Översikt klassificeringar - Prototyp 1

Avsikt Specificitet Sensitivitet F1-score Antal testmeningar

nicetomeeyou 1 0,666666667 0,8 6 handleinsult 0,923076923 0,923076923 0,923076923 13 ask_faq_python_version 1 1 1 1 how_to_get_started 0,571428571 0,8 0,666666667 5 ask_faq_differenecorenlu 0 0 0 5 ask_question_in_forum 0 0 0 1 ask_faq_tutorialnlu 1 0,857142857 0,923076923 7 ask_how_contribute 0,666666667 0,666666667 0,666666667 3 ask_whatisrasa 0,777777778 1 0,875 7 ask_builder 1 1 1 10 ask_faq_ee 1 1 1 3 deny 0,888888889 1 0,941176471 8 human_handoff 1 0,888888889 0,941176471 9 source_code 1 1 1 6 ask_faq_opensource_cost 1 1 1 2 ask_restaurant 1 1 1 3 canthelp 0,8 1 0,888888889 4 ask_howold 1 1 1 8 enter_data 1 0,935483871 0,966666667 31 next_step 1 1 1 1 ask_whatismyname 1 1 1 7 ask_howbuilt 1 1 1 11 switch 1 0,666666667 0,8 6 ask_faq_community_size 0,5 1 0,666666667 1 signup_newsletter 1 1 1 20 install_rasa 0,909090909 1 0,952380952 10 ask_faq_tutorialcore 1 0,857142857 0,923076923 7 ask_weather 0,888888889 1 0,941176471 8 contact_sales 1 0,96 0,979591837 25 ask_faq_channels 1 1 1 5 ask_faq_languages 1 1 1 6 ask_faq_is_programming_required 1 1 1 11 explain 1 0,666666667 0,8 3 technical_question 0,333333333 0,4 0,363636364 5 react_possitive 0 0 0 6 telljoke 1 1 1 5 react_negative 1 0,75 0,857142857 4 ask_faq_tutorials 1 1 1 3 bye 0,833333333 1 0,909090909 5 pipeline_recommendation 1 1 1 3 greet 1 1 1 14 ask_whatspossible 1 1 1 8 affirm 1 1 1 11 ask_faq_what_is_forum 1 1 1 1 ask_time 1 1 1 9 thank 0,857142857 1 0,923076923 6 ask_howdoing 1 1 1 12 ask_languagesbot 1 1 1 5 ask_why_contribute 1 0,75 0,857142857 4 ask_faq_slots 1 1 1 9 ask_faq_rasax 0,888888889 1 0,941176471 8 ask_wherefrom 1 1 1 8 ask_whoami 1 1 1 3 ask_whoisit 1 1 1 3 ask_isbot 0,666666667 1 0,8 8 ask_which_events 1 1 1 2

(45)

33 | APPENDIX

ask_faq_voice 0,818181818 1 0,9 9

(46)

34 | APPENDIX

Appendix B: Översikt klassificeringar - Prototyp 2

Avsikt Specificitet Sensitivitet F1-score Antal testmeningar

ask_why_contribute 1 1 1 4 ask_which_events 1 1 1 2 pipeline_recommendation 1 1 1 3 how_to_get_started 0,666666667 0,8 0,727272727 5 ask_faq_tutorialnlu 1 0,857142857 0,923076923 7 ask_faq_python_version 1 1 1 1 ask_faq_tutorials 1 1 1 3 install_rasa 0,818181818 0,9 0,857142857 10 ask_howold 1 1 1 8 ask_isbot 0,875 0,875 0,875 8 ask_howbuilt 1 1 1 11 ask_whoami 1 1 1 3 explain 1 0,333333333 0,5 3 ask_faq_ee 0,75 1 0,857142857 3 ask_faq_tutorialcore 1 0,857142857 0,923076923 7 next_step 1 1 1 1 react_possitive 0 0 0 6 ask_restaurant 1 1 1 3 canthelp 1 1 1 4 ask_wherefrom 0,888888889 1 0,941176471 8 ask_builder 0,909090909 1 0,952380952 10 affirm 0,846153846 1 0,916666667 11 ask_whatismyname 1 1 1 7 ask_faq_languages 1 1 1 6 ask_time 1 1 1 9 signup_newsletter 1 1 1 20 technical_question 0,272727273 0,6 0,375 5 react_negative 1 0,75 0,857142857 4 switch 1 0,333333333 0,5 6 handleinsult 0,764705882 1 0,866666667 13 ask_faq_rasax 1 0,75 0,857142857 8 nicetomeeyou 1 0,5 0,666666667 6 ask_howdoing 0,857142857 1 0,923076923 12 telljoke 1 1 1 5 ask_faq_is_programming_required 1 1 1 11 ask_languagesbot 1 1 1 5 ask_whoisit 0,75 1 0,857142857 3 thank 0,857142857 1 0,923076923 6 ask_faq_community_size 1 1 1 1 contact_sales 1 0,96 0,979591837 25 ask_weather 1 1 1 8 human_handoff 1 0,888888889 0,941176471 9 bye 1 1 1 5 ask_faq_voice 0,9 1 0,947368421 9 ask_faq_opensource_cost 1 1 1 2 enter_data 1 0,903225806 0,949152542 31 deny 0,8 1 0,888888889 8 ask_faq_slots 1 1 1 9 ask_faq_what_is_forum 1 1 1 1 ask_faq_channels 0,833333333 1 0,909090909 5 ask_how_contribute 1 0,666666667 0,8 3 ask_question_in_forum 0 0 0 1 ask_whatspossible 1 1 1 8 ask_faq_differenecorenlu 0 0 0 5 greet 1 1 1 14 source_code 1 0,833333333 0,909090909 6

(47)

35 | APPENDIX

ask_whatisrasa 0,666666667 0,857142857 0,75 7 Viktat medelvärde 0,909880153 0,903465347 0,89758561 404

(48)

36 | APPENDIX

Appendix C: Översikt klassificeringar - Prototyp 3

Avsikt Specificitet Sensitivitet F1-score Antal testmeningar

ask_faq_languages 1 1 1 6 ask_faq_opensource_cost 1 1 1 2 react_negative 1 0,75 0,857142857 4 ask_faq_voice 0,9 1 0,947368421 9 ask_restaurant 1 1 1 3 ask_faq_rasax 1 0,75 0,857142857 8 ask_faq_differenecorenlu 0 0 0 5 affirm 1 1 1 11 ask_question_in_forum 0 0 0 1 ask_whatspossible 1 1 1 8 explain 0,666666667 0,666666667 0,666666667 3 switch 1 0,833333333 0,909090909 6 enter_data 1 0,903225806 0,949152542 31 signup_newsletter 0,952380952 1 0,975609756 20 handleinsult 0,928571429 1 0,962962963 13 bye 1 1 1 5 greet 1 1 1 14 ask_weather 1 1 1 8 ask_faq_tutorialnlu 1 0,857142857 0,923076923 7 ask_how_contribute 1 0,666666667 0,8 3 ask_faq_is_programming_required 1 1 1 11 ask_howold 1 1 1 8 ask_wherefrom 0,888888889 1 0,941176471 8 nicetomeeyou 1 0,833333333 0,909090909 6 how_to_get_started 0,5 0,8 0,615384615 5 contact_sales 1 1 1 25 telljoke 1 1 1 5 source_code 1 1 1 6 ask_faq_community_size 0,5 1 0,666666667 1 install_rasa 0,818181818 0,9 0,857142857 10 ask_faq_ee 1 1 1 3 ask_isbot 0,888888889 1 0,941176471 8 ask_whatismyname 1 1 1 7 ask_faq_what_is_forum 1 1 1 1 ask_whatisrasa 0,666666667 0,857142857 0,75 7 next_step 1 1 1 1 ask_faq_tutorialcore 1 0,714285714 0,833333333 7 ask_howbuilt 1 1 1 11 canthelp 0,8 1 0,888888889 4 ask_faq_tutorials 0,75 1 0,857142857 3 ask_whoami 1 1 1 3 ask_whoisit 1 1 1 3 ask_faq_python_version 1 1 1 1 thank 0,857142857 1 0,923076923 6 ask_faq_channels 1 1 1 5 ask_howdoing 1 1 1 12 ask_faq_slots 1 1 1 9 react_possitive 0 0 0 6 ask_languagesbot 1 1 1 5 ask_which_events 1 1 1 2 human_handoff 1 0,888888889 0,941176471 9 pipeline_recommendation 1 1 1 3 technical_question 0,333333333 0,4 0,363636364 5 ask_why_contribute 1 1 1 4 ask_builder 1 1 1 10 deny 0,8 1 0,888888889 8

(49)

37 | APPENDIX

ask_time 1 1 1 9

References

Outline

Related documents

På 1980-talet sammanställde planförfattare efter ett antal år eller månader en omfattande planhandling som sedan gick till samråd... En mindre krets deltog i det direkta utarbetandet

Länsstyrelsen i Stockholms län 44.. Länsstyrelsen i Värmlands län

För att på bästa sätt kunna möta de elever som kombinerar och integrerar kurser behöver samtliga utbildningsanordnare exempelvis en översikt över vilka kurser med kursplaner

De nyanlända som anvisas till utbildningsplikten bör kunna avbryta utbildningen för att söka jobb.. Det är önskvärt att Arbetsförmedlingen prövar

Arbetsförmedlingen ser att en sammanhållen utbildning skulle kunna vara ett alternativ på sikt, men att det finns risker kopplat till förslaget som värsta fall kan få en negativ

Utredningen gör en kostnadsberäkning av förslaget kring en sammanhållen utbildning för kortutbildade som i praktiken bestå av fyra delar; kostnader för sfi, grundläggande

(Undantag finns dock: Tage A urell vill räkna Kinck som »nordisk novellkonsts ypperste».) För svenska läsare är Beyers monografi emellertid inte enbart

Trots åtskilligt efterletande har det inte lyckats mig att återfinna citatet i något av Diderots verk eller brev.. Viktor Johansson, som välvilligt bistått mig,