• No results found

Effekten av textaugmenteringsstrategier på träffsäkerhet, F-värde och viktat

N/A
N/A
Protected

Academic year: 2021

Share "Effekten av textaugmenteringsstrategier på träffsäkerhet, F-värde och viktat"

Copied!
52
0
0

Loading.... (view fulltext now)

Full text

(1)

INOM

EXAMENSARBETE

DATATEKNIK,

GRUNDNIVÅ, 15 HP

,

STOCKHOLM SVERIGE 2021

Effekten av

textaugmenteringsstrategier på

träffsäkerhet, F -värde och viktat

1

F -värde

1

The effect of text data

augmentation strategies on

Accuracy, F -score and weighted

1

F -score

1

GEORGE SHMAS

JONATAN SVEDBERG

KTH

(2)
(3)

Effekten av textaugmenteringsstrategier på träffsäkerhet, F

1

-värde

och viktat F

1

-värde

The effect of text data augmentation strategies on Accuracy,

F1-score, and weighted F

1

-score

George Shmas

Jonatan Svedberg

Examensarbete inom Datateknik

Grundnivå, 15 hp

Handledare på KTH: Reine Bergström Examinator: Ibrahim Orhan

TRITA-CBH-GRU-2021:037 KTH

(4)
(5)

Sammanfattning

Att utveckla en sofistikerad chatbotlösning kräver stora mängder textdata för att kunna anpassa lösningen till en specifik domän. Att manuellt skapa en komplett uppsättning textdata, specialanpassat för den givna domänen och innehållandes ett stort antal varierande meningar som en människa kan tänkas yttra, är ett enormt tidskrävande arbete. För att kringgå detta tillämpas dataaugmentering för att generera mer data utifrån en mindre uppsättning redan existerande textdata.

Softronic AB vill undersöka alternativa strategier för dataaugmentering med målet att eventuellt ersätta den nuvarande lösningen med en mer vetenskapligt underbyggd sådan.

I detta examensarbete har prototypmodeller utvecklats för att jämföra och utvärdera effekten av olika textaugmenteringsstrategier. Resultatet av genomförda experiment med prototypmodellerna visar att augmentering genom synonymutbyten med en domänanpassad synonymordlista, presenterade märkbart förbättrade effekter på förmågan hos en NLU-modell att korrekt klassificera data, gentemot övriga utvärderade strategier. Vidare indikerar resultatet att ett samband föreligger mellan den strukturella variationsgraden av det augmenterade datat och de tillämpade språkparens semantiska likhetsgrad under tillbakaöversättningar.

Nyckelord

(6)
(7)

Abstract

Developing a sophisticated chatbot solution requires large amounts of text data to be able to adapt the solution to a specific domain. Manually creating a complete set of text data, specially adapted for the given domain, and containing a large number of varying sentences that a human conceivably can express, is an exceptionally time-consuming task. To circumvent this, data augmentation is applied to generate more data based on a smaller set of already existing text data.

Softronic AB wants to investigate alternative strategies for data augmentation with the aim of possibly replacing the current solution with a more scientifically substantiated one.

In this thesis, prototype models have been developed to compare and evaluate the effect of different text augmentation strategies. The results of conducted experiments with the prototype models show that augmentation through synonym swaps with a domain-adapted thesaurus, presented noticeably improved effects on the ability of an NLU-model to correctly classify data, compared to other evaluated strategies. Furthermore, the result indicates that there is a relationship between the structural degree of variation of the augmented data and the applied language pair's semantic degree of similarity during back-translations.

Keywords

(8)
(9)

Innehållsförteckning

1 Inledning ... 1

1.1 Problemformulering ... 1

1.2 Målsättning ... 1

1.3 Avgränsningar... 1

2 Teori och bakgrund ... 3

2.1 Chatbot ... 3

2.1.1 Regelbaserade chatbottar ... 3

2.1.2 AI-baserade chatbottar ... 4

2.1.3 Fundamentala koncept ... 4

2.2 NLP – Natural Language Processing ... 5

2.2.1 NLU – Natural Language Understanding ... 5

2.2.2 Arbetsflöde ... 5 2.3 Dataaugmentering ... 6 2.3.1 Textaugmenteringsstrategier ... 6 2.3.2 Textklassificering... 8 2.4 Prestandautvärdering av klassificeringsmodeller ... 9 2.5 Tidigare arbeten... 11 3 Metoder ... 13

3.1 Metodik och verktyg ... 13

3.1.1 RASA ... 13

3.1.2 Utveckling av prototypmodeller ... 14

3.1.3 Val av textaugmenteringsstrategier för implementering ... 14

3.2 Träning och testning av RASA NLU-modeller ... 15

4 Resultat ... 18

4.1 Ingen augmentering (baslinje) ... 19

4.2 Synonymutbyte ... 20 4.3 Brusinjektion ... 21 4.4 Tillbakaöversättning ... 22 4.4.1 Grekiska ... 23 4.4.2 Engelska ... 24 4.4.3 Danska... 25 4.4.4 Finska ... 26 4.4.5 Spanska ... 27

4.5 Tillbakaöversätning och synonymutbyte ... 28

5 Analys och diskussion ... 30

(10)
(11)
(12)

1 Inledning

Interaktioner mellan människor och datorer spelar en nyckelroll i driften av flera av nutidens affärsverksamheter och de system som används inom dessa. Det som möjliggör dessa interaktioner är tekniker inom Natural Language Understanding (NLU) som används för omvandling av mänskligt språk till maskinspråk. NLU utgör en mycket viktig länk mellan människo- och datorkommunikationer. Ett av de stora tillämpningsområdena för NLU är inom den automatiserade kundtjänstsektorn som i allt större utsträckning ersätter de klassiska kundtjänstmötena som sker via direkt människa-till-människa-kommunikation. Automatiserad kundtjänst är ofta förekommande som dialogsystem i form av chatbottar.

1.1 Problemformulering

Softronic AB är en leverantör av chatbotlösningar till flera företagskunder i Sverige. En kärndel av chatbotlösningarna utgörs av en textklassificerare som hjälper systemet att tolka avsikten med en människas inmatade textremsa inom en specifik domän. Träning av klassificeraren sker med hjälp av dataaugmentering där nytt textdata som bygger på redan existerande data genereras med syftet att stärka systemet inom området NLU. Softronic tränar i dagsläget klassificeraren i cykler där det mellan varje sådan cykel läggs till data innehållandes valideringsmeningar som ibland ej hänvisar till korrekt avsiktsklass. Utöver detta används en strategi som slumpar ordföljden i den valideringsmening som används vid testning av klassificeraren. Detta sammantaget medför att valideringen tjänar flera avsikter. Denna nuvarande lösning önskar Softronic dels vilja komma ifrån samt att augmenteringen av valideringsmeningar genomförs på ett mer vetenskapligt underbyggt sätt.

1.2 Målsättning

Målet med detta arbete är att identifiera vilka dataaugmenteringsstrategier som anses mest effektiva och lämpliga, för träning och testning av Softronics textklassificerare, som implementeras i deras chatt-botlösningar. Syftet är att komma ifrån de nuvarande augmenteringsstrategierna som används och istället ersätta dessa med mer vetenskapligt underbyggda strategier. För att utvärdera olika augmenteringsstrategier på en tillräckligt grundlig nivå inom tillämpningsområdet, har ytterligare två mindre delmål satts för arbetet:

• Mäta verkningsgraden av augmenteringsstrategierna samt variationen av modellerna mellan träningsrundor.

• På grund av det stokastiska elementet i träningsrundorna av modellen, träna med identisk kod och data flertalet gånger för att skapa ett konfidensintervall över test- och valideringsdatafelen som uppstår.

Val och utvärderingar av lämpliga augmenteringsstrategier för text-data inom denna specifika applikation kommer att grundas på tidigare genomförda arbeten och studier inom ämnesområdet

augmentering och klassificering av text-data.

1.3 Avgränsningar

I detta arbete kommer utvärdering av augmenteringsstrategier enbart ske genom modulen RASA

NLU; således kommer ej RASA Core att behandlas i detta arbete.

(13)
(14)

2 Teori och bakgrund

Detta kapitel behandlar inledningsvis ämnet chatbottar, vad en chatbot är, olika typer av chatbottar och hur dessa fungerar samt några fundamentala koncept inom chatbot-teknologin. Vidare behandlar kapitlet forsknings- och tillämpningsområdet NLP (Natural Language Processing) och dess arbetsflöde, tillsammans med några komponenter inom området som är väsentliga för detta arbete: NLU (Natural Language Understanding), textklassificering samt ett antal strategier för dataaugmentering inom NLP. Syftet med detta kapitel är att ge läsaren en grundläggande förståelse för de komponenter och metoder som utgör grunden för detta arbete. Detta för att läsaren ska få en god grund att vidare förstå det innehåll som behandlas i senare kapitel. Kapitlet presenterar tidigare utfärdade arbeten inom dessa områden som stöd för det innehåll som behandlas i detta arbete.

2.1 Chatbot

En chatbot är en mjukvaruapplikation som möjliggör chattkonversationer online via text eller text-till-tal, utan behovet av direktkontakt med ett levande mänskligt ombud. Chatbot-system är utformade för att på ett övertygande sätt simulera mänskligt beteende likt en levande verklig konversationspartner [1], således kräver dessa system i vanliga fall kontinuerlig träning och testning samt finjusteringar [2].

Den globala marknaden för chatbotlösningar beräknas vid år 2024 uppgå till en värdering på cirka 9,4 miljarder Amerikanska dollar [3]. Flera företag världen över jobbar med att utveckla olika typer av chatbottar med avsikten att hjälpa företag att betjäna kunder och besvara kundtjänstfrågor och ärenden under samtliga tider av dygnet, vilken dag som helst. En chatt-bot är således varken begränsad av tid eller fysisk placering. Dessa egenskaper medför att väl implementerade chatbot-lösningar blir mycket värdefulla för företag och organisationer som önskar automatisera sina kundtjänstutbud i olika utsträckningar. Implementationer av chatbot-lösningar kan även grundas ur ekonomiska anledningar, vilket medför att chatbottar även är attraktiva för företag som inte har tillräckligt många anställda eller finansiella resurser för att betjäna kundtjänstärenden dygnet runt, och som önskar kringgå kostnaderna för detta [4].

En av de första chatbottarna kallades för ELIZA och utvecklades under slutet av 1960-talet. Syftet var enbart att kunna simulera en skriftlig mänsklig konversation. ELIZA fungerade genom att använda en form av mönsterigenkännings- och substitutionsmetodik för att kunna skapa en illusion för användaren att programmet kan förstå denne. Dock saknade programmet ramverk för att klara av att förstå sammanhanget i en konversation med en användare [5]. Numera byggs chatbot-lösningar som är mycket mer komplexa än ELIZA och som besitter ett bredare utbud av funktionalitet integrerad i lösningen, exempelvis att kunna söka på nätet. Dessa chatbottar kan hålla en konversation med en mänsklig användare och samtidigt förstå samtalets kontext. På senare tid har det utvecklats chatbottar som nu även kan lära sig nya ord, meningar och samtalsämnen i realtid i samband med ett pågående samtal, samt bygga vidare på och justera tidigare inlärda kunskaper. För att avgöra om en modern chatbot är lämplig att implementeras i ett seriöst sammanhang, krävs det i många fall att den klarar det så kallade Turingtestet, vilket är en metod för att undersöka en maskins förmåga att uppvisa intelligent beteende motsvarande, eller som ej kan särskiljas från, en människas [6]. 2.1.1 Regelbaserade chatbottar

(15)

4 | TEORI OCH BAKGRUND

2.1.2 AI-baserade chatbottar

Den tydligaste egenskapen som särskiljer en AI-baserad chatbot från en regelbaserad sådan, är användandet av maskininlärningsmodeller för att lära chatbotten, att på egen hand förstå avsikten bakom en mänsklig användares meddelande och vilken reaktion som förväntas av användaren [9]. AI-baserade chatbottar kan fungera på två sätt [8]:

• Genom användandet av hämtningsbaserade maskininlärningsmodeller: Dessa chatbottar tränas för att behandla en stor mängd varierande ärenden tillsammans med de möjliga svaren användare kan förvänta sig gällande varje enskilt ärende. För varje fråga kan chatbotten identifiera och hämta ut den viktigaste responsen i uppsättningen av alla tänkbara svar. I och med att alla lämpliga tänkbara svar för en specifik fråga är förbestämd, innebär det att alla responsmeddelanden är fria från språkliga och meningsstrukturella felaktigheter. • Genom användandet av generativa maskininlärningsmodeller: Generativa chatbot-lösningar behandlar en mänsklig användares input-sträng, ord för ord, för att utifrån det datat, generera ett lämpligt svar på användarens fråga. Chatbotten levererar således aldrig identiska responsmeddelanden från en uppsättning tänkbara svar till frågor med samma avsikt.

Den generativa typen av chatbottar befinner sig ännu i ett tidigt skede av utvecklingsprocessen. Allt som oftast resulterar det i att sådana chatbottar levererar irrelevanta svar på användares frågor. Således föredrar företag och organisationer i dagsläget att använda sig av regelbaserade chatbot-system i sina automatiserade kundtjänstlösningar [8].

2.1.3 Fundamentala koncept

Nedan beskrivs några grundläggande koncept inom chatbot-teknologin.

• Mönstermatchning – baseras på representativa mening-responsblock. En mening matas in, och output i form av en respons, skapas i enlighet med användarens input [10]. De tidigaste chatbottarna i historien (bl.a. ELIZA) utvecklades med hjälp av mönsterigenkänningsalgoritmer. En nackdel med detta tillvägagångssätt är att varje responsmeddelande är förutsägbara och repetitiva. Det saknas även lagring av tidigare responsmeddelanden vilket kan leda till repriser av tidigare konversationer [11].

• Artificial Intelligence Markup Language (AIML) – är ett XML-baserat markup-språk och bygger på användandet av taggar. I Figur 2.1 syns hur strukturen för AIML grundas i användandet av så kallade kategorier (tagg: <category>) som utgörs av användar-inputmönster (tagg: <pattern>) och responsmeddelanden (tagg: <template>). AIML utvecklades mellan åren 1995 och 2000, och baseras på koncepten av teknikerna för mönstermatching och mönsterigenkänning. Det tillämpas vid modellering av naturligt språk för konversationer mellan mänskliga användare och chatbottar som följer

mening-responsstrukturen [10].

• Latent semantisk analys (LSA) – kan användas i samband med AIML vid utveckling av chatbottar. LSA används för att upptäcka semantiska likheter mellan ord i form av vektorrepresentationer. Generella frågor och mall-baserade frågor likt hälsningar besvarar med hjälp av AIML, medan andra, aningen mer komplexa tjänsterelaterade frågor, tillämpar LSA för att skapa ett responsmeddelande [12].

• Chatscript – eftersträvar att anta rollen som AIML:s efterträdare. Det är ett expertsystem vilket utgörs av ett skriptspråk med öppen källkod tillsammans med dess drivande motor. Systemet består av regler som associeras med ämnen, identifiering av de lämpligaste objekten

(16)

som stämmer överens med en användares fråge-input, och exekvering av regler inom ett specifikt ämne. Chatscript inkluderar även långtidsminne i form av \$-variabler vilka kan användas för att lagra specifik information om användare som exempelvis namn och ålder. Det är också skiftlägeskänsligt vilket utvidgar urvalet av möjliga responsmeddelanden som kan ges till samma användar-input baserat på den avsedda känslan, eftersom versaler vanligtvis används i konversationer för att indikera betoning [11].

2.2 NLP – Natural Language Processing

NLP är ett forsknings- och tillämpningsområde som utforskar hur maskiner kan användas för att förstå och manipulera naturligt språk i tal och skrift.Forskare inom området eftersträvar insamling av kunskap om hur människor förstår och brukar språk. Detta för att lämpliga tekniker och verktyg ska kunna utvecklas för att få maskiner att förstå och manipulera naturligt språk med syftet att genomföra specifika uppgifter [13]. Naturligt språk i detta sammanhang är skriftligt eller talat språk, i textformat, i ett språk som används av människor för att kommunicera med varandra. Den naturliga texten som analyseras får inte specifikt vara konstruerad för analysen i syfte, utan bör vara text som hämtats från verkligt språkbruk [14].

2.2.1 NLU – Natural Language Understanding

NLU är ett delområde inom NLP som kombinerar delar av datavetenskap, lingvistik och artificiell intelligens med syftet att få maskiner att extrahera och förstå innebörden av en inmatad text [15]. Processen av att utveckla datorprogram som kan förstå naturligt språk involverar tre huvudproblem som hänförs till tankeprocesser, representationen och meningen av lingvistisk användarinput, samt världskunskap. Ett NLP-system kan således börja på ord-nivå för att undersöka ordens struktur och innebörd; för att sedan gå över till menings-nivå för att undersöka meningens ordföljd, grammatik och övergripande betydelse; för att slutligen gå över till analys av kontexten och den övergripande domänen för texten. Ett givet ord eller mening kan ha en specifik innebörd inom en given kontext eller domän, och kan vara relaterad till flera andra ord och/eller meningar inom det givna sammanhanget [13].

2.2.2 Arbetsflöde

NLP-tekniken innefattar påverkandet av maskiner för att utföra hjälpsamma åtaganden med de naturliga språk som används av människor. Ett NLP-ramverks information och utdata kan antingen vara i röst- eller textform. NLP består generellt sett av fem steg [16]:

Tillämpas generellt inom NLP i sin helhet.

1. Lexikalisk analys – innefattar identifiering och analys av ordstruktur. Lexikalisk analys utförs genom att dela upp en stor textmängd i stycken, meningar och ord.

2. Syntaktisk analys – innefattar undersökning av språkstrukturen hos ord i en mening samt organiserande av ord - på ett sätt sådant att det visar sambandet mellan orden. En mening som exempelvis “Golvet studsar på bollen” avfärdas av en svensk syntaktisk analysator.

Tillämpas mer specifikt inom NLU.

3. Semantisk analys – extraherar den exakta betydelsen av en text. Detta görs genom mappning av syntaktiska strukturer och entiteter inom den aktuella domänen.

4. Konversationsintegrering – ger en känsla av en menings sammanhang. Betydelsen av en mening är beroende av föregående meningar eller ord. Detta åberopar också betydelsen av meningar som kommer efter.

(17)

6 | TEORI OCH BAKGRUND

2.3 Dataaugmentering

Dataaugmentering är en teknik för översampling av data som används för att öka storleken på en existerande datamängd. Detta görs genom att lägga till nya prover som har en liknande fördelning till originaldatat eller marginellt ändra originaldatat. Datat måste ändras på ett sätt som bevarar klassetiketten för bättre prestanda vid klassificeringsuppgiften [17].

Att augmentera text är en mycket komplicerad process inom NLP på grund av de naturliga språkens höga komplexitet. Varje ord i en mening har ej möjligheten att ersättas med ett annat ord och bibehålla meningens ursprungliga struktur och innebörd; detta gäller exempelvis för ord som den,

det, en och ett. Inte heller har alla ord några utbytbara synonymer. Även om så lite som ett ord ändras

i en mening kan dess sammanhang komma att vara av en helt annan karaktär än det ursprungliga. [18].

En stor bidragande faktor till komplexiteten av dataaugmentering inom NLP är den bristfälliga tillgången av märkt (kategoriserat) data, särskilt för språk med få resurser. Att samla och märka data är en uppenbar lösning till detta problem. Detta är dock mycket tidskrävande och har i sin tur sina egna utmaningar. För att angripa problemet på ett mer effektivt sätt kan ett antal olika textaugmenteringsstrategier som baseras på övervakade maskininlärningstekniker användas. 2.3.1 Textaugmenteringsstrategier

Nedan beskrivs några av de vanligast förekommande augmenteringsstrategierna som tillämpas inom NLP-lösningar.

2.3.1.1 Översättning

Antag att det önskas konstrueras en textklassificerare inom en specifik domän på svenska och det inte finns någon märkt klassificerings-datasuppsättning. Då kan en maskinöversättningstjänst användas för att översätta redan tillgängligt märkt data från något annat språk som exempelvis engelska (eftersom det har många offentligt tillgängliga datamängder för klassificering inom olika domäner). Den översatta texten från den engelska datauppsättningen som är riktad mot svenska kan fungera som träningsdata.

Det finns dock en risk för overhead genom att lägga till potentiella förspänningar från översättningssystemet, men att i efterhand kontrollera den översatta texten kan hjälpa till att spara tid och göra dataskapningsprocessen mycket snabbare [17].

2.3.1.2 Tillbakaöversättning

Tillbakaöversättning i augmenteringssyfte refererar till proceduren att översätta ett existerande exempel u i språk A till ett annat språk B och sedan översätta tillbaka det till A för att skapa ett augmenterat exempel ū. Detta kan användas till att generera varierande parafraser samtidigt som semantiken i de ursprungliga meningarna bevaras [19]. Observera att exempelmeningarna nedan i figur 2.3 ej är lika varandra; dock förblev innehållet detsamma efter tillbakaöversättningen.

(18)

2.3.1.3 Synonymutbyte

Synonymutbytesmetoder används för att identifiera och ersätta ord i en ursprungsmening med lämpliga synonymer. Variationen som bildas genom att ersätta synonymen betraktas som ett syntetiskt prov. Denna textaugmenteringsstrategi kan tillämpas med hjälp av någon av de två följande metoderna [17]:

2.3.1.3.1 Ordinbäddningsbaserat utbyte

Förtränade ordinbäddningsmodeller som GloVe, Word2Vec och fastText kan användas för att hitta närmaste ordvektor inom det latenta utrymmet som en ersättning i den originella meningen.

Även nyare kontextuell dubbelriktad ordinbäddningsmodeller som ELMo och BERT kan användas för mer tillförlitlighet eftersom dess vektorrepresentation är mycket rikare. Detta eftersom Bi-LSTM- och transformatorbaserade modeller kodar längre textsekvenser och är kontextuellt medvetna om omgivande ord.

2.3.1.3.2 Lexikalbaserat utbyte

Vid tillämpning av denna metod används ofta WordNet som är en lexikal databas som innehåller betydelsen av ord, hyponymer och andra semantiska relationer. WordNet kan användas för att hitta en synonym för önskat ord från den ursprungliga meningen som måste bytas ut. NLTK och spaCy är NLP-paket som kan användas tillsammans med WordNet för att hitta och ersätta synonymer från den ursprungliga meningen.

2.3.1.4 Brusinjektioner

Brusinjektioner (noise injections) är ett begrepp för att beskriva augmenteringsstrategier som används för att generera störningar (brus) i textdata med syfte att stärka en klassificeringsmodells förmåga att bearbeta (”förstå”) meningar med oegentligheter i ordföljderna [20].

2.3.1.4.1 Slumpade ordplatsbyten/ordborttagningar

Slumpade ordplatsbyten/ortborttagningar fungerar genom att slumpmässigt välja två ord i en mening och byta plats på dessa eller helt enkelt ta bort ett ord i ursprungsmeningen. Detta tillvägagångssätt presterar annorlunda beroende på språket eftersom vart och ett av språken har olika semantisk, och syntaktisk form. Platsbyte/borttagning av ord är också mycket känslig för input-meningens längd. Ändringarna i meningarna måste kontrolleras grundligt för att kontrollera ifall de ändringar som gjorts bevarar klassetiketten eller inte [17].

2.3.1.4.2 Injektioner av tangentbordsfel

Injektioner av tangentbordsfel används med syftet att simulera typografiska fel som kan uppstå till följd av korta tangentavstånd mellan särskilda bokstäver [20]. Metoden fungerar genom att ersätta en vald bokstav med ett slumpmässigt tecken inom ett [1] tangentavstånd på ett QWERTY-tangentbord, se figur 2.4 och 2.5. Det går att konfigurera val om nummer och specialtecken skall användas i augmenteringen eller ej [18].

Figur 2.3: Möjliga teckenutbyten för bokstäverna e, h och k på ett tangentbort med QWERTY-layout [18].

(19)

8 | TEORI OCH BAKGRUND

2.4 Textklassificering

Klassificering är en process för att kategorisera idéer och objekt som går att identifieras, särskiljas och förstås. Processen görs med syftet att kunna skapa taggar för de objekt som matats in. Detta är viktigt då felmärkt data kan leda till problem vid både träning och distribution av en maskin. Det finns två olika sätt att bygga en textklassificerare: med tillämpning av regelbaserade metoder eller maskininlärningsbaserade metoder.

Regelbaserade metoder fungerar genom att använda uttryckligen konstruerade lingvistiska regler. Systemet använder de regler som skapats för att avgöra vilken klass en viss bit text ska tillhöra och leta efter ledtrådar i form av semantiskt relevanta textelement. Varje regel har ett mönster som texten måste matcha för att placeras i motsvarande kategori. Fördelen med regelbaserade system är att deras input och output är förutsägbar och tolkbar av människor och kan förbättras genom manuell finjustering av utvecklaren. Regelbaserade metoder är dock även aningen bristfälliga, och har ofta svårt att generalisera data eftersom de enbart kan följa de fördefinierade mönster som har programmerats in.

Maskininlärningsbaserade metoder fungerar genom användandet av algoritmer som analyserar datamängder för mönster som är associerade med en specifik klass. Detta i kontrast till regelbaserade metoder vars regler och funktioner måste förprogrammeras. Maskininlärningsalgoritmer matas i förväg med märkta instanser av data som analyseras för relevanta egenskaper. Dessa förmärkta datainstanser används som träningsdata. Träningsdatat analyseras sedan för att lära systemet att identifiera mönster som är associerade med de olika klasserna. Efter detta avlägsnas ej analyserade datainstanser från sina etiketter och matas till klassificeringsalgoritmen som tilldelar instanserna en etikett. De tilldelade etiketterna jämförs sedan med de ursprungliga etiketterna för att se hur korrekt klassificeringen var samt mäta hur väl modellen lärde sig vilka mönster som förutsäger vilka klasser. Maskininlärningsalgoritmer fungerar genom att analysera numeriska data. Detta innebär att för att kunna använda en maskininlärningsalgoritm på textdata måste texten konverteras till ett numeriskt format [21].

2.4.1.1 Exempel på klassificeringsalgoritmer

Support Vector Machine (SVM) är en maskininlärningsalgoritm som kan användas för

klassificerings- eller regressionsproblem. Målet med SVM är att hitta ett hyperplan i ett N-dimensionellt utrymme som tydligt klassificerar datapunkterna, där N är antalet egenskaper. SVM söker efter ett hyperplan med den högsta marginalen, m.a.o. det högsta avståndet mellan datapunkter av olika klasser. Maximering av marginalavståndet tillhandahåller en viss nivå av förstärkning så att framtida datapunkter kan klassificeras med högre konfidensgrad [22]. I en studie genomförd av Z. Liu et al. [23] framgår det av en experimentell analys att SVM producerade ett F1-värde över 86,26%

i samtliga ämneskategorier. Som ett omfattande utvärderingsindex för textklassificering är F1-värdet

bättre för återspegling av effekterna av en bra eller dålig klassificerare, studien visar således att SVM-klassificeringsmetoden i sin helhet är överlägsen andra klassificeringsmetoder. Utöver detta har SVM fördelar som bland annat simpel struktur, är en fullständig teori, hög anpassningsförmåga, global optimering, kort träningstid samt god generaliseringsprestanda [23].

Alternativa algoritmer som kan tillämpas i stället för SVM är exempelvis K-nearest neighbors (KNN) och Decision Tree. KNN är en icke-parametrisk metod som används för klassificering och regression. Det är en av de enklaste maskininlärningsteknikerna som används. Det är en lat inlärningsmodell med lokal approximation. Fördelen med KNN är att det är en enkel maskininlärningsmodell med få parametrar som behövs justera. Jämfört med SVM är dock KNN sämre på att upptäcka avvikande resultat och hantera dessa.

Decision Tree fungerar likt namnet antyder; det är en algoritm som är strukturerad likt ett träd med

(20)

med Decision Tree är bland annat, avsaknaden av krav på förbehandling av data, samt enkelheten att följa trädet för att få en förståelig förklaring över förutsägelsen. Nackdelar med Decision Tree är dock att algoritmen är benägen att generera avvikande resultat samt att trädet kan bli väldigt komplicerat vid behandlande av komplicerade datamängder [24].

2.5 Prestandautvärdering av klassificeringsmodeller

Utvärderingsparametrar spelar en viktig roll för att identifiera den optimala klassificeraren under klassificeringsträningen. Således är en uppsättning av lämpliga utvärderingsparametrar ett viktigt

verktyg för att göra uteslutanden avseende icke-optimala klassificerare. Vid klassificering inom chatbot-lösningar används parametrarna med syftet att mäta och sammanfatta kvaliteten av en tränad klassificerare när den testas med tidigare oskådat data [25].

2.5.1.1 Träffsäkerhet

Träffsäkerhet (Accuracy) är ett prestandamått för utvärdering av klassificeringsmodeller. Det är en av de mest förekommande mätparametrarna som praktiskt tillämpas i forskningssammanhang för att utvärdera en klassificeringsmodells generaliseringsförmåga. Det är vanligt att måttet

kompletteras med mätparametern felkvot (error rate) som utvärderar modellens resultat genom andelen inkorrekta förutsägelser [25].

Måttet brukar informellt definieras som bråkdelen av fall som modellen korrekt förutspådde. Formellt definieras Accuracy enligt följande ekvation:

𝑨𝒄𝒄𝒖𝒓𝒂𝒄𝒚 = 𝑨𝒏𝒕𝒂𝒍𝒆𝒕 𝒌𝒐𝒓𝒓𝒆𝒌𝒕𝒂 𝒇ö𝒓𝒖𝒕𝒔ä𝒈𝒆𝒍𝒔𝒆𝒓

𝑻𝒐𝒕𝒂𝒍𝒂 𝒂𝒏𝒕𝒂𝒍𝒆𝒕 𝒇ö𝒓𝒖𝒕𝒔ä𝒈𝒆𝒍𝒔𝒆𝒓 (1)

I binära klassificeringssammanhang kan Accuracy även beräknas i termer av positiva och negativa fall enligt 𝐴𝑐𝑐𝑢𝑟𝑎𝑐𝑦 = 𝑇𝑃 + 𝑇𝑁

𝑇𝑃 + 𝑇𝑁 + 𝐹𝑃 + 𝐹𝑁 [26], där [27]:

• TP (True Positive) refererar till antalet korrekt (positivt) förutspådda positiva fall. • TN (True Negative) refererar till antalet korrekt (negativt) förutspådda negativa fall. • FP (False Positive) refererar till antalet inkorrekt (positivt) förutspådda negativa fall. • FN (False Negative) refererar till antalet inkorrekt (negativt) förutspådda positiva fall.

Accuracy är dock inte en ideal mätparameter vid bearbetning av datauppsättningar där det råder

obalans mellan klasserna då det inte ger ett tillräckligt helhetsperspektiv. Anledningen till detta fenomen kan förklaras mer detaljerat med hjälp av följande exempel [26]:

• Låt säga att en klassificeringsmodell beräknar ett Accuracy-värde på 0,91, dvs. 91% enligt: 𝐴𝑐𝑐𝑢𝑟𝑎𝑐𝑦 = 𝑇𝑃 + 𝑇𝑁

𝑇𝑃 + 𝑇𝑁 + 𝐹𝑃 + 𝐹𝑁= 1 + 90

1 + 90 + 1 + 8= 0,91. Utan grundligare analys av resultatet

skulle detta kunna anses vara ett mycket bra värde. För att få en närmare inblick i modellens prestanda framgår det dock via en närmare undersökning av resultatet att:

(21)

10 | TEORI OCH BAKGRUND

Utav de totalt 100 fallen: är 91 märkta som faktiskt negativa (-R – Real Negative), varav 90 av dessa är TN och 1 är FP och resterande åtta fall märkta som faktiskt positiva (+R – Real

Positive), varav 1 av dessa är TP och 8 är FN.

Bland de 91 -R-fallen förutspådde modellen 90 av dessa korrekt samt 1 av de 9 +R-fallen korrekt. Detta innebär att modellen fick exakt samma resultat som en modell som märker samtliga fall som +P, dvs. förutspår att alla fall får ett negativt resultat. Kort sagt kan det konstateras att modellen i detta fall inte presterar ett dugg bättre än en modell vars förutsägande förmåga att särskilja +R-fall från -R-fall ej ens existerar.

2.5.1.2 Recall

Recall, eller sensitivity, betecknar proportionen faktiskt positiva (+R – Real Positive) fall som

korrekt förutspåddes positiva (+P – Predicted Positive). Detta är ett mått på täckningen av +R-fall enligt

+P

-regeln. Dess önskvärda funktion är att det ger en bild av hur många av de relevanta fallen

+P

-regeln tar upp. Recall definieras enligt formeln:

𝑹𝒆𝒄𝒂𝒍𝒍 = 𝑻𝑷

𝑻𝑷 + 𝑭𝑵 (2)

Inom området beräkningslingvistik/maskinöversättning har Recall visat sig vara högt ansedd för uppgiften att förutsäga prestandan för Word Alignment-processer inom NLP [27].

2.5.1.3 Precision

Precision, eller förtroende, betecknar proportionen +P-fall som är korrekta +R-fall. Detta är ett mått

på noggranheten av förutsagda positiva fall i kontrast till upptäcktstakten av faktiskt positiva fall.

Precision definieras enligt formeln:

𝑷𝒓𝒆𝒄𝒊𝒔𝒊𝒐𝒏 = 𝑻𝑷

𝑻𝑷 + 𝑭𝑷 (3)

2.5.1.4 F-Värde

F-värdet är ett mått som kombinerar precision och recall. Detta representerar det harmoniska medelvärdet av de två värdena. Den generella definitionen för F-värdet är given enligt följande formel:

𝑭 = 𝟐 ∗ 𝑷𝒓𝒆𝒄𝒊𝒔𝒊𝒐𝒏 ∗ 𝑹𝒆𝒄𝒂𝒍𝒍

𝑷𝒓𝒆𝒄𝒊𝒔𝒊𝒐𝒏 + 𝑹𝒆𝒄𝒂𝒍𝒍

(4) Måttet är det ungefära genomsnittet av precision- och recall-värdena när de är nära varandra, och mer generellt sett det harmoniska medelvärdet, vilket i fallet av två tal, sammanfaller med kvadraten för det geometriska medelvärdet dividerat med det aritmetiska medelvärdet [27] [28].

2.5.1.4.1 Viktade F-Värden

Den fullständiga definitionen av F-värdet är given enligt formeln: 𝐅𝛃 = (𝛃𝟐 + 𝟏) ∗ 𝑷𝒓𝒆𝒄𝒊𝒔𝒊𝒐𝒏 ∗ 𝑹𝒆𝒄𝒂𝒍𝒍

𝛃𝟐 ∗ 𝑷𝒓𝒆𝒄𝒊𝒔𝒊𝒐𝒏 + 𝑹𝒆𝒄𝒂𝒍𝒍 , (𝟎 ≤ 𝛃 ≤ +∞).

(5) β är en parameter som kontrollerar balansen mellan precisionen och recall. Det vanliga F-värdet är även känt som F1-värdet och ekvivalent med det harmoniska medelvärdet av recall och precision på

grund av att dessa parametrar är jämnt viktade då β har ett värde av 1. Om β < 1 blir F-värdet mer

precision-orienterat, t.ex. 𝐹0= 𝑃𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛. Om däremot β > 1 läggs det i F-värdet större vikt på

(22)

2.6 Tidigare arbeten

Tidigare arbeten har genomförts inom ämnet dataaugmentering inom NLP. Arbetena behandlar bland annat dataklassificering, olika strategier för genomförandet av textaugmentering samt effekten av dessa.

Wei et al. [29] genomförde experiment för att undersöka förbättringsgraden av dataaugmenteringsstrategier på textklassificeringsuppgifter. Strategierna som undersöktes var: synonymutbyten, slumpmässiga brusinjektioner, slumpmässiga ordplatsbyten samt slumpmässiga ordborttagningar. Vid fem olika textklassificeringsuppgifter visade strategierna förbättrad prestanda för både konvolutionella och återkommande neurala nätverk. Vidare demonstrerar strategierna särskilt positiva resultat för mindre datauppsättningar; i genomsnitt, över fem olika datauppsättningar, visade träning med strategierna medan endast 50% av den tillgängliga uppsättningen träningsdata användes samma accuracy-värde som normal träning med all tillgängliga data.

C. Coloumbe [30] utvärderade ett antal textaugmenteringsstrategier genom genomförandet av experiment. Strategierna som testades för jämförelseändamål är grundläggande sådana som brusinjektioner eller använvandet av vanligt förekommande uttryck (regular expressions). Andra strategier är modifierade eller förbättrade sådana som lexikalbaserade ordutbyten. Slutligen jämfördes ett antal aningen mer innovativa strategier, baserade på robusta, skalbara och lättanvända

NLP Cloud API:er; dessa strategier är generering av parafraser genom tillbakaöversättningar eller

omvandling av syntaktiska träd. Samtliga studerade augmenteringsstrategier visade en ökning av träffsäkerheten i resultaten mellan 4,3% och 21,6%, med signifikanta statistiska fluktuationer, på en standardiserad uppgift att förutsäga textpolaritet, med en förstärkningsfaktor på endast 5. Några djupa neurala nätverksarkitekturer testades: flerlagersperceptronen (MLP), det återkommande long

short-term memory-nätverket (LSTM) samt det dubbelriktade LSTM-nätverket (Bi-LSTM). En

(23)
(24)

3 Metoder

Detta kapitel behandlar det tillvägagångssätt som valdes för genomförandet av detta examensarbete. Kapitlet inleds med en generell beskrivning över hur arbetsprocessen delades upp över ett antal huvudmoment. Vidare diskuteras valet av tillvägagångssättet samt alternativa lösningsmetoder för att uppnå målen i arbetet. Metodik- och verktygsdelen inleder med en beskrivning av plattformen RASA samt motivering av valet av detta som utvecklingsplattform. Valet av textaugmenteringsstrategier för utvärdering beskrivs samt motiveras. Avslutningsvis behandlar kapitlet tillämpandet av metodiken (”genomförandet”) för att uppnå målen som fastställts i sektion 1.2 för detta examensarbete.

3.1 Metodik och verktyg

För att underlätta arbetet mot att uppnå de uppsatta målen som nämns under sektion 1.2 i denna rapport – har följande metoder valts att tillämpas vid genomförandet av detta arbete:

1. Genomförande av litteraturstudie för att undersöka och kartlägga andra liknande arbeten och vilka strategier som kan tillämpas och utvärderas.

2. Konfigurering och förberedelse av testbädd samt utveckling av prototypmodeller.

3. Genomförande av testningsfasen, körning av framtagna prototypmodeller med olika konfigurationer i varierande utsträckning.

4. Utvärdering och analys av det resultat som producerats av prototypmodellerna under testningsfasen.

Dessa metoder identifierades med hänsyn till faktumet att de i princip är de enda lämpliga tillvägagångssätten för att genomföra det här arbetet. Det huvudsakliga resonemanget för detta åtagande är den omständighet att det här arbetet utförs på uppdrag av Softronic, med syftet att försöka identifiera en bättre alternativ lösningsimplementation baserad på vetenskapliga arbeten till ett redan existerande system. För denna anledning har ovannämnda metoder valts att tillämpas i detta arbete, för att i största möjliga utsträckning efterlikna den testmiljö som används hos Softronic, för att vidare kunna utveckla prototyper som fungerar i verkliga produktionsmiljöer.

3.1.1 RASA

RASA är ett ramverk för maskininlärning med öppen källkod som tillhandahåller en miljö med en uppsättning av verktyg för utveckling av chatbot-lösningar, dataaugmentering samt träning och utvärdering av textklassificeringsmodeller.

Syftet med användandet av ramverket RASA i detta arbete är för att underlätta implementering och utvärdering av dataaugmenteringsmodeller. RASA tillhandahåller en plattform som gör det möjligt att kunna utveckla och träna egna modeller för att testa dessa strategier och deras träffsäkerhet, samtidigt är det också enkelt att installera en färdigtränad modell för att testa träffsäkerhet. Det finns stora mängder av dokumentation att ta del av på företagets officiella webbsida för information om hur RASA fungerar. Faktumet att RASA tillhandahåller en plattform med öppen källkod medför även att det finns ett stort antal utvecklare med goda kunskaper om RASA att ta hjälp av. Dessa egenskaper, samt att en stor mängd arbetstid redan går åt till att utvärdera resultat och testa nya prototyper, medför att RASA blir ett naturligt tillskott till detta arbetes lösningsmetodik. RASA är även den föredragna utvecklingsplattformen av chatbot-lösningar hos Softronic, våra uppdragsgivare i detta arbete. Detta medför en ytterligare kanal att ta hjälp genom vid eventuella problem som kan uppstå vid arbetandet med RASA.

Ett alternativt tillvägagångssätt till att använda RASA är att bygga sitt eget program, med tillhörande modell samt metoder, för att testa strategier och få ut resultat av körningarna. Detta alternativ är dock mycket mer tids- och resurskrävande. Det finns även alternativa plattformar till RASA som erbjuder liknande funktionalitet med viss variation. Exempel på sådana är Googles DialogFlow och Amazons

Lex. Likt RASA kan dessa också analysera och bearbeta text och röst, responsmeddelanden kan

(25)

14 | METODER

erbjuder. Amazon Lex gör det även möjligt att integrera med andra Amazon tjänster. Både

DialogFlow och Amazon Lex erbjuder ett enkelt sätt att skapa en chatbott där minimalt arbete och

energi behövs. En viktig bidragande faktor till valet av RASA i lösningsmetodiken är att det till skillnad från jämförbara alternativ likt de ovannämnda, erbjuds ett kostnadsfritt alternativ med öppen källkod. RASAs öppna källkodslösning (RASA Open Source) medför att allt kan utvecklas och lagras inom ett företags egna system. För att realisera detta krävs det dock en viss kompetens, som i övrigt brukar ingå i utbudet av avgiftsbelagda alternativ. Det kan kort konstateras att RASA tillhandahåller möjligheten att tillämpa den senaste tekniken på egenanpassade system [30].

3.1.1.1 RASA NLU

RASA NLU är en av två huvudmoduler som utgör utbudet av RASA Open Source. Det är modulen där

all behandling av naturligt språkdata sker. Modulen är uppbygd av ett antal löst kopplade moduler av mindre storlek, som kombinerar en mängd NLP- och maskininlärningsbibliotek i ett sammansatt API. För att uppnå en god balans mellan anpassningsbarhet och enkelhet, använder RASA NLU fördefinierade så kallade pipelines med default-inställningar för att fungera bra i de flesta generella användingsfall [31].

I RASA Open Source bearbetas inkommande data i en sekvens av komponenter som exekveras en gång i taget. Det är detta som kallas för en pipeline. Att använda en NLU-pipeline gör det möjligt att anpassa en egen modell och finjustera detta för datauppsättningen som används. Val av språk samt pipeline och dess komponenter görs i en config.yml-fil [32].

I detta arbete har inga specifika pipeline-inställningar konfigurerats, testbädden använder således RASAs standard-inställningar vid utvärdering av modeller. Motiverandet av detta beslut baseras på omständigheten att denna rapport endast studerar effekten av augmenteringsstrategier på ett antal specifika mätparametrar, vilka bland annat är F1-värde, recall, precision och accuracy, som fås via

testmetoder tillförsedda av RASA NLU. Detta medförde att liten vikt lades på överväganden av olika pipeline- och komponentinställningar. Utvärderingar och jämförelser av olika RASA-pipelines och sammansättningar av komponenter uteslöts vid genomförandet av arbetet. Anledningen till uteslutandet beror på att det gäller mycket omfattande arbeten med hänsyn till den tillgängliga tiden. Behandling av RASA-pipelines faller även utanför detta arbetes fokusområde.

3.1.2 Utveckling av prototypmodeller

Datauppsättningen som tillhandagavs av Softronic innehöll färdigmarkerat tränings- och valideringsdata med uppdelningar enligt ett id-nummer som representerar en menings tillhörande avsikt. En omständighet som bör beaktas i detta fall är datats specifika domäntillhörighet. För att motverka eventuella problem som detta kan medföra vid testning av särskilda augmenteringsstrategier, i synnerhet ordutbytande sådana – kompletterades den huvudsakliga datauppsättningen med en synonym-ordlista med samma domäntillhörighet.

Augmenteringsstrategierna som implementeras i detta arbete gestaltas i form av prototypmodeller som utgörs av ett Python-skript. Dessa skript tar emot en mening i taget, bearbetar den (genomför augmenteringen) och returnerar slutligen den augmenterade meningen. Augmenteringen av de inmatade meningarna sker till stor del på ordnivå i detta arbete – vilket innebär att endast individuella ord i en följd augmenteras eller byts ut. Detta görs med anledning till att i så stor utsträckning som möjligt behålla meningsstrukturen i det genererade datat med hänsyn till dess specifika domäntillhörighet.

3.1.3 Val av textaugmenteringsstrategier för implementering

(26)

För varje augmenteringsstrategi har det beslutats att generera tre nya meningar för varje ursprungsmening, med undantaget att tillbakaöversättningen endast genererar en ny augmenterad mening per ursprungsmening. Valet att begränsa antalet augmenteringar per avsiktsmening till tre motiveras med att antalet ansågs vara tillräckligt stort för att skapa en tillfredsställande variationsgrad bland det augmenterade datat och samtidigt hålla nere träningstiden på en rimlig nivå. Detta med anledning till att stora mängder data kan öka träningstiden avsevärt – samtidigt kan dock för små mängder data ha en negativ påverkan på den modell som tränas.

3.1.3.1 Synonymutbyten

I detta arbete bygger den valda synonymutbytesaugmenteringen på en ordlista som Softronic tillhandagav. Denna ordlista som mestadels består av synonymer, är specifikt anpassad för en av Softronics tillämpningsdomäner som augmenteras mot i detta arbete. Ordlistan underlättar och möjliggör skapande av nya meningar där de innehållande orden ej enbart utgörs av synonymer, utan även anpassade ord i olika tidtempus. Ordinbäddingsbaserade synonymutbyten valdes bort som tillämpningsmetod i arbetet på grund av arbetets domänspecifika karaktär, samt omständigheten att en färdig ordlista med specialanpassade synonymer redan fanns tillgänglig. Tillgången till en specialanpassad synonymordlista är även en uppenbart avgörande anledning till varför användning av orddatabaser likt WordNet uteslöts ur arbetet för ändamålet.

3.1.3.2 Tillbakaöversättning

Augmentering av textdata genom tillbakaöversättning av meningar, är en mycket simpel och effektiv metod för att generera varierande parafraser och samtidigt bevara ursprungsmeningarnas semantik. Implementationen av tillbakaöversättningsstrategin som valdes att utvärderas i detta arbete översätter meningar med hjälp av Google Translate API:et. Avsaknandet av fördefinierade översättningsmodeller var den huvudsakliga omständigheten som motiverade valet att använda Google Translate för implementationen. Enkelheten att översätta med Google Translate är ytterligare en faktor som vägdes in vid beslutsfattningen av denna metod, med hänsyn till tidsbegränsningen för utförandet av detta examensarbete.

Metodanrop mot Google Translate API:et sker med hjälp av Python-biblioteket Googletrans [34]. Biblioteket innehåller stöd för översättningar till och från över 100 språk. Det breda urvalet av olika språk samt dess användarvänliga metoder gör detta bibliotek till ett bra val för utförandet av tillbakaöversättnings-processer.

Danska, engelska, finska, grekiska, och spanska är språken som valdes för utförandet av tillbakaöversättningar. De specifika språken valdes godtyckligt, dock togs vid urvalsprocessen viss hänsyn till språkens likheter med det svenska språket för att skapa en varierande likhetsgrad bland urvalet av språk. Detta gjordes för att undersöka ifall språkens likheter med det svenska har någon påverkan på effekten av augmenteringen.

En nackdel till följd av implementationen av denna metod är behovet av en nätverksuppkoppling för att kunna ansluta till till översättningstjänsten genom Google Translate API:et.

3.1.3.3 Brusinjektioner

I detta arbete har följande brusinjektions-metoder valts för utvärdering: platsbyte av två bokstäver, bokstavsutbyten (närliggande tangenter), bokstavsinjektioner och borttagning av slumpvald bokstav. Dessa strategier ansågs lämpligt varierande i augmenteringen och representativa för situationer som kan uppstå i verkliga sammanhang, i form av exempelvis felstavningar och liknande typografiska misstag.

3.2 Träning och testning av RASA NLU-modeller

(27)

16 | METODER

dölja komplex underliggande kodstruktur för att ge användare en enkel och effektiv metod för träning och validering av egenanpassade NLU-modeller.

Det data som tillhandahölls av Softronic är samma datauppsättning som används i företagets aktuella produktionsmiljö. När datat överlämnades var det således redan väl förbehandlat och strukturerat innan genomförandet av detta arbete påbörjades. Datauppsättningen var även mycket omfattande och tillräckligt utförlig till en sådan grad att träning av klassificeraren var alltför effektiv. Denna omständighet resulterade i att enbart korrekta förutsägelser producerades vid validering av NLU-modellen. Eftersom detta i princip innebar att effekten av augmentering på modellens prestanda i bästa fall hade förblivit oförändrad – krävde situationen att en begränsning av antalet avsikter, samt antalet exempelmeningar för varje enskild avsikt, behövdes göras för att försämra NLU-modellens prestanda och således kunna utvärdera de valda augmenteringsstrategiernas eventuella positiva påverkningar på NLU-modellens klassificeringsförmåga. Samma datauppsättning används vid augmentering enligt de valda strategierna. Antalet avsikter och exempelmeningar att behandla vid augmentering begränsades till 100 avsikter respektive 10 exempelmeningar för varje avsikt. Detta gav totalt 1000 unika träningsmeningar att utgå ifrån vid träning av en NLU-modell utan augmenterat data, och som grund för augmentering av data.

Tränings- och valideringsprocessen av NLU-modellen upprepas fem gånger för respektive augmenteringsstrategi som har valts att tillämpas. Detta görs med syftet att skapa ett pålitligt medelvärde för utvärdering av alla körningar med hänsyn till avvikande resultat som kan produceras vid enskilda körningar.

Utvärdering av NLU-modellens prestanda genomfördes med fokus på det viktade F1-medelvärdet

som producerades för varje avsikt. För att avgöra vilken augmenteringsstrategi som hade störst positiv påverkan på NLU-modellens prestanda – sammanställdes ett snittvärde av F1-medelvärdena

(28)
(29)

18 | RESULTAT

4 Resultat

Detta kapitel sammanställer resultatet som samlades in genom tillämpandet av metodiken som behandlas i sektion 3. Syftet med detta kapitel är att sammanställa insamlade mätvärden för att undersöka den indirekta effekten av de valda augmenteringsstrategierna i sektion 3.1.2.1 på NLU-modellens klassificeringsförmåga.

Begreppet körning i tabellerna som presenteras i detta kapitel representerar en valideringscykel av en nytränad NLU-modell.

(30)

4.1 Ingen augmentering (baslinje)

Mätvärdena som producerades vid validering av en NLU-modell som tränats med icke-augmenterat data presenteras i tabell 4.1. Dessa mätvärden används som tröskelvärden för att upptäcka eventuella förbättringar och undersöka graden av dessa hos NLU-modeller som tränats med augmenterat data. I figur 4.1 presenteras konfidensintervallet för varje avsikt.

Tabell 4.1: Viktade medelvärden i procent för prestandautvärdering av NLU-modell – ingen augmentering.

(%) F1-värde Accuracy Precision Recall

Körning ett 82,05 82,74 83,87 81,97 Körning två 81,88 82,43 85,18 81,90 Körning tre 83,31 83,83 84,32 83,16 Körning fyra 82,00 82,74 82,68 82,30 Körning fem 82,39 83,20 83,10 82,51 Sammanställt resultat 82,32 83,00 84,50 82,73

(31)

20 | RESULTAT

4.2 Synonymutbyte

Genom att jämföra de insamlade mätvärdena med baslinjevärdena kan det konstateras att augmentering enligt synonymutbytesstrategin kan öka prestandan av en textklassificeringsmodell. En ökning på cirka 1 till 2 procentenheter från baslinjen kan observeras för samtliga mätparametrar i tabell 4.2. En märkbar förbättring i modellens förmåga att korrekt förutse meningars avsikter gentemot baslinjen framgår enligt konfidensintervallet i figur 4.2. Detta märks särskilt i det övre området inom konfidensintervallet på den starka ökningen av antalet korrekt klassificerade förutsägelser som gjordes med en konfidensgrad mellan 90 och 99 procent.

Tabell 4.2: Viktade medelvärden för prestandautvärdering av NLU-modell – synonymutbyten.

(%) F1-värde Accuracy Precision Recall

Körning ett 84,49 85,23 85,46 84,52 Körning två 84,77 85,23 86,80 84,47 Körning tre 84,37 85,07 85,48 84,62 Körning fyra 85,57 86,00 86,03 85,32 Körning fem 83,41 84,14 85,33 83,50 Sammanställt resultat (%-skillnad fr. baslinje) 84,52 (+2,20) (+2,13) 85,13 (-1,31) 85,81 (+1,75) 84,48

(32)

4.3 Brusinjektion

Det genererade träningsdatat innehållandes brusinjektioner producerade resultat som påvisade försämringar av modellprestandan gentemot baslinjen. En minskning på cirka 1 procentenhet från baslinjen kan observeras för samtliga mätparametrar i tabell 4.3. I histogrammet i figur 4.3 kan en ökning av antalet korrekt förutsagda avsikter som gjordes med den högre konfidensgraden runt 98% observeras, för ca. 460 meningar gentemot ca. 130 för baslinjen. Trots uppflyttningen av längre blåa staplar – observeras även kvarstående långa röda staplar i den övre delen av histogrammet. Detta innebar en försämring av NLU-modellens klassificeringsförmåga gentemot baslinjen med avseende på det ökade antalet inkorrekta förutsägelser, trots de högre konfidensgraderna.

Tabell 4.3: Viktade medelvärden i procent för prestandautvärdering av NLU-modell – brusinjektioner.

(%) F1-värde Accuracy Precision Recall

Körning ett 80,71 81,34 82,23 80,52 Körning två 83,14 83,83 85,13 83,45 Körning tre 82,81 83,51 84,29 82,52 Körning fyra 80,51 81,50 83,02 80,56 Körning fem 82,63 83,20 83,75 82,48 Sammanställt resultat (%-skillnad fr. baslinje) 81,97 (-0,35) (-0,33) 82,67 (-0,80) 83,70 (-0,73) 82,00

(33)

22 | RESULTAT

4.4 Tillbakaöversättning

Detta delkapitel sammanställer de resultat som producerades vid validering av en NLU-modell som tränats med separata datauppsättningar för varje språk som valdes för augmentering genom tillbakaöversättning av träningsmeningar. Grekiska var det enda av de tillämpade språken för tillbakaöversättning som producerade ett bättre resultat av klassificeraren. En ökning av F1-värdet

med 0,54 procentenheter från baslinjevärdet observerades vid sammanställning av mätvärdena. En observation som gjordes vid undersökning av det träningsdata som augmenterats med tillbakaöversättning – var att översättning till och från grekiska hade större strukturell påverkan på flera träningsmeningar än de övriga språken som tillämpades för tillbakaöversättnings-augmenteringen. Detta kan ha bidragit till en mer varierad uppsättning träningsdata, som i sin tur kan ha varit en avgörande omständighet till att endast grekisk tillbakaöversättning kunde producera ett förbättrat resultat från baslinjen; vilket kan observeras i tabell 4.4.

Tabell 4.4: Sammanställning av mätvärden efter fem körningar av modellen med tillbakaöversatt träningsdata för respektive språk som valdes i avsnitt 3.1.2.1.2.

(%) (%-skillnad fr.

baslinje) F1-värde Accuracy Precision Recall

Grekiska (+0,54)82,86 (+0,62)83,62 (-0,57)83,93 (+0,31)83,04

Spanska (-0,36)81,96 (-0,18) 82,82 (-1,26)83,24 (-0,73)82,00

Finska (-0,46)81,86 (-0,27)82,73 (-0,98)83,52 (-0,48)82,25

Danska (-0,55)81,77 (-0,55)82,45 (-0,79)83,71 (-0,80)81,93

(34)

4.4.1 Grekiska

Tabell 4.5: Viktade medelvärden i procent för prestandautvärdering av NLU-modell – tillbakaöversätning (grekiska)

(%) F1-värde Accuracy Precision Recall

Körning ett 83,08 83,88 83,87 83,17 Körning två 84,08 84,81 86,08 84,33 Körning tre 83,36 84,03 83,85 83,49 Körning fyra 81,27 82,06 82,37 81,31 Körning fem 82,54 83,41 83,51 82,91 Sammanställt resultat (%-skillnad fr. baslinje) 82,86 (+0,54) (+0,62) 83,62 (-0,57) 83,93 (+0,31) 83,04

(35)

24 | RESULTAT

4.4.2 Engelska

Tabell 4.6: Viktade medelvärden i procent för prestandautvärdering av NLU-modell – tillbakaöversätning (engelska)

(%) F1-värde Accuracy Precision Recall

Körning ett 81,40 82,17 83,64 81,20 Körning två 81,56 82,48 83,54 81,77 Körning tre 82,31 83,26 82,74 82,30 Körning fyra 82,08 82,79 83,96 82,32 Körning fem 81,20 81,87 83,51 81,26 Sammanställt resultat (%-skillnad fr. baslinje) 81,71 (-0,61) (-0,49) 82,51 (-1,02) 83,48 (-0,96) 81,77

(36)

4.4.3 Danska

Tabell 4.7: Viktade medelvärden i procent för prestandautvärdering av NLU-modell – tillbakaöversätning (danska)

(%) F1-värde Accuracy Precision Recall

Körning ett 80,23 80,93 82,67 80,63 Körning två 82,86 83,41 84,40 83,08 Körning tre 81,25 82,33 82,69 81,86 Körning fyra 82,61 83,10 84,21 82,17 Körning fem 81,90 82,48 84,56 81,92 Sammanställt resultat (%-skillnad fr. baslinje) 81,77 (-0,55) (-0,55) 82,45 (-0,79) 83,71 (-0,80) 81,93

(37)

26 | RESULTAT

4.4.4 Finska

Tabell 4.8: Viktade medelvärden i procent för prestandautvärdering av NLU-modell – tillbakaöversätning (finska)

(%) F1-värde Accuracy Precision Recall

Körning ett 81,45 82,48 83,34 82,03 Körning två 80,47 81,24 82,93 80,58 Körning tre 83,23 84,19 84,05 83,55 Körning fyra 82,41 83,10 83,64 82,59 Körning fem 81,75 82,64 83,64 82,49 Sammanställt resultat (%-skillnad fr. baslinje) 81,86 (-0,46) 82,73 (-0,27) (-0,98) 83,52 (-0,48) 82,25

(38)

4.4.5 Spanska

Tabell 4.9: Viktade medelvärden i procent för prestandautvärdering av NLU-modell – tillbakaöversätning (spanska)

(%) F1-värde Accuracy Precision Recall

Körning ett 81,98 82,79 83,20 81,70 Körning två 82,56 83,41 83,57 82,76 Körning tre 81,46 82,48 81,72 81,63 Körning fyra 81,76 82,95 83,98 81,93 Körning fem 82,06 82,48 83,73 82,00 Sammanställt resultat (%-skillnad fr. baslinje) 81,96 (-0,36) (-0,18) 82,82 (-1,26) 83,24 (-0,73) 82,00

(39)

28 | RESULTAT

4.5 Tillbakaöversätning och synonymutbyte

Genom att sammanställa mätvärdena i tabell 4.9 och jämföra dessa med resultatet som uppnåddes i baslinjen – kan det konstateras att augmentering enligt en kombination av tillbakaöversättning och synonymutbyten medförde en ökning av NLU-modellens F1-värde med 1,36 procentenheter. I

histogrammet som presenteras i figur 4.9 kan en bredare fördelning över konfidensintervallet av antalet inkorrekta förutsägelser observeras gentemot resultatet för baslinjen. En förflyttning av röda staplar till den övre delen av konfidensintervallet efter träning av NLU-modellen med augmenterat data – avläses som att klassificeraren har större svårigheter att korrekt klassificera särskilda meningar, som mer effektivt kunde klassificerats utan tillförseln av augmenterat träningsdata.

Tabell 4.10: Viktade medelvärden i procent för prestandautvärdering av NLU-modell – tillbakaöversätning och synonymutbyten

(%) F1-värde Accuracy Precision Recall

Körning ett 83,71 84,50 83,80 84,21 Körning två 83,24 84,19 83,50 83,59 Körning tre 83,82 84,65 85,10 83,87 Körning fyra 83,82 84,65 85,15 84,00 Körning fem 83,81 84,50 85,90 83,80 Sammanställt resultat (%-skillnad fr. baslinje) 83,68 (+1,36) (+1,50) 84,50 (+0,18) 84,68 (+1,16) 83,89

(40)
(41)

30 | ANALYS OCH DISKUSSION

5 Analys och diskussion

De sammanställda mätvärdena för resultatet i kapitel 4 behandlas i detta kapitel för att kunna dra en slutssats kring vilken av de utvärderade augmenteringsstrategierna som skapade det träningsdata med störst positiv påverkan på resultatet vid prestandautvärdering av den tränade klassificeringsmodellen. Vidare presenterar detta kapitel en utvärdering av metodiken som tillämpades i kapitel 3 för att åstadkomma resultatet i kapitel 4, med hänsyn till examensarbetets målsättning som behandlas i sektion 1.2.

5.1 Analys av resultat

Resultaten i kapitel 4 visar att träningsdata som genererades av textaugmentering enligt synonymutbytesstrategin hade störst positiv effekt på NLU-modellens förmåga att korrekt klassificera avsikten av en mening. Augmenterat träningsdata innehållandes synonymutbyten gav modellen en ökning av F1-värdet med 2,2 procentenheter till 84,52% från baslinjevärdet 82,32%.

Ordkorpusen som användes för synonymutbyten kan ha haft en särskilt positiv påverkan på det augmenterade träningsdatat som skapades av augmenteringen. Korpusets domänanpassade innehåll med både synonymer och ord i olika tempus-form, gjorde det möjligt att augmentera en mer varierande uppsättning träningsmeningar för de specifika träningmeningarna som användes, än vad en generell ordkorpus troligtvis hade möjliggjort. Detta kan ha haft en avgörande effekt på det träningsdata som skapades för att åstadkomma resultatet som presenteras i kapitel 4.

Det augmenterade träningsdatat som producerade näst bäst resultat skapades enligt en kombination av augmenteringsstrategier för synonymutbyten och tillbakaöversättningar. Kombinationen av strategierna visade en ökning av F1-värdet i modellen med 1,36 procentenheter till 83,68% från

baslinjevärdet 82,32%. Resultatet kan till stor del har påverkats av valet att inkludera träningsdata som skapats av synonymutbytesaugmentering. Detta eftersom synonymutbyten skapade det mest effektiva träningsdatat av augmenteringsstrategierna – och att detta data kombinerades med träningsdata skapat av engelsk tillbakaöversättning – vilket i sin tur var den strategi som genererade det minst effektiva träningsdatat av de fem språken som användes för tillbakaöversättningar. Brusinjektionsstrategin producerade träningsdata som gav ett sämre F1-värde hos modellen med en

minskning på -0,35 procentenheter till 81,97% från baslinjevärdet 82,32%. Dock kan det sammanställda resultatet avläsas som att brusinjektionsaugmentering gav en betydlig ökning i den utvärderade modellens konfidensgrad vid avsiktklassificering av träningsmeningar. Vid tillämpning av denna strategi ingick en mängd olika brusinjektionsmetoder för skapandet av nytt data. Utöver det antal strategier för brusinjektioner i textdata som tillämpades vid genomförandet av detta examensarbete, finns ett ännu större utbud av varierande metoder för samma ändamål. En bredare och mer genomgående analys av flera av de olika brusinjektionsmetoderna som ej behandlats i detta arbete bör beaktas vid framtida fördjupningar inom området brusinjektioner i text för

dataaugmentering. Detta för att kunna skapa en mer övergripande bild över den generella effekten

brusinjektioner har på träningsdata, och vilken påverkan detta i sin tur har på klassificeringsförmågan hos NLU-modeller.

Augmentering med tillbakaöversättning genomfördes med totalt fem olika språk för att undersöka om det specifika språket som användes hade någon unik eller i övrigt avsevärd effekt på träningsdatat. Grekisk tillbakaöversätning visade sig vara den enda språktillämpningen för strategin som gav en förbättring av NLU-modellens prestanda gentemot baslinjen. Tillbakaöversättning med övriga språk gav i bästa fall en försämring av F1-värdet med -0,36 procentenheter (spanska) och i värsta fall en

försämring av F1-värdet med -0,61 procentenheter (engelska). Den procentuella försämringen av

modellens F1-värde från det sammanställda medelvärdet i baslinjen kan ses som försumbar. Detta

med anledning av att det svagt försämrade viktade F1-medelvärdet potentiellt skulle kunna få ett

References

Related documents

Det är således angeläget att undersöka vilket stöd personalen är i behov av, och på vilket sätt stöd, till personal med fokus på palliativ vård till äldre personer vid vård-

I also describe in detail the selected solution and the protocols and mechanisms this solution utilizes, such as the Transport Layer Security (TLS) for securing the Session

(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

Bilderna av den tryckta texten har tolkats maskinellt (OCR-tolkats) för att skapa en sökbar text som ligger osynlig bakom bilden.. Den maskinellt tolkade texten kan

Uppsiktsansvaret innebär att Boverket ska skaffa sig överblick över hur kommunerna och länsstyrelserna arbetar med och tar sitt ansvar för planering, tillståndsgivning och tillsyn

Huvudskälet var att sänka produktionskostnaden genom att skapa förutsättningar för en god konkurrenssituation.. Genom delade entreprenader

Amnesty International betonar att kompetens kring rättighetsfrågor och -perspektiv är helt centrala, i förhållande till samtliga nationella minoriteter, och att frågan om Isofs

Utifrån studiens begränsningar i empirin görs inte några generaliseringsanspråk utan ska snarare ses som en inblick i hur personalen inom ett kommunalt