• No results found

Bakomliggande intelligens i Bot Framework : En undersökning av Microsofts ramverk för att skapa chatbotar

N/A
N/A
Protected

Academic year: 2021

Share "Bakomliggande intelligens i Bot Framework : En undersökning av Microsofts ramverk för att skapa chatbotar"

Copied!
81
0
0

Loading.... (view fulltext now)

Full text

(1)

Bakomliggande

intelligens i Bot

Framework

HUVUDOMRÅDE: Datateknik

FÖRFATTARE: Måns Sandberg och Jesper Persson HANDLEDARE:Kim Lood

JÖNKÖPING 2019 september

En undersökning av Microsofts ramverk för att

skapa chatbotar

(2)

Postadress:

Besöksadress:

Telefon:

Box 1026

Gjuterigatan 5

036-10 10 00 (vx)

Detta examensarbete är utfört vid Tekniska Högskolan i Jönköping inom Datateknik. Författarna svarar själva för framförda åsikter, slutsatser och resultat.

Examinator: Ragnar Nohre Handledare: Kim Lood Omfattning: 15 hp Datum: 2019-09-08

(3)

Abstract

Purpose The purpose of the project was to investigate how a chatbot, based on the swedish version of Microsoft Bot Framework handles language based varieties of the users questions. This is to provide an overview of how Microsoft Bot Framework works.

Method In order to answer the issues and thereby fulfill the purpose of the report, a case study based on the information on parts of the information that was available on the web page for The Courts of Sweden.. A qualitative, expe-rimental study was made where the intelligence in Microsoft Bot Framework’s chatbot technology was tested within the categories of misspelled words, use of synonyms, randomised word order and added contextual and emotional phrases.

The research began with the development of two artefacts, one question col-lecting web crawler and an alternative chatbot, GORCh, that entirely lacks the intelligence that the test should cover. Apart from GORCh, a human respondent was also brought in. These two were used to demonstrate the human intelligence, providing a tool to show whether Microsoft Bot Framework has it.

Later, questions and their earlier mentioned variations where created using GORCh and subsequently asked to all respondents.

Finally, the answers were analyzed in order to answer the issues.

Result There were no case where Microsoft Bot Framework acted in the way expected if it would’ve had intelligence. Hence, the test cannot show any case where such intelligence is used for the cases tested for.

Implications It is fully possible to compensate for many of these cases, for example by entering more questions or using Microsofts other tools. This does, however, require manual work from the one who implements a chatbot built on Microsoft Bot framework..

Limitations The test was only done on Microsofts Swedish chatbot service. It does not cover intelligence in any other language. The test only covers questions to a chatbot that is limited to answering one specific subject.

Keywords Chatbot, intelligence, language understanding, Microsoft Bot Fram-ework

(4)

Sammanfattning

Syfte Projektets syfte var att undersöka hur en chatbot byggd på Microsoft Bot Framework hanterar språkliga varianser av användarens frågor. Detta för att ge en bild av hur Microsoft Bot Framework fungerar.

Metod För att besvara frågeställningarna och därmed uppfylla syftet gjordes en fallstudie utifrån delar av den information som fanns tillgänglig på Sveriges Domstolars webbplats. En kvalitativ, experimentell studie gjordes där intelli-gensen i Microsoft Bot Frameworks chatbotsteknik undersöktes med avseende till framförallt felstavade ord, synonymer, slumpordnad ordföljd och adderade känslofraser.

Undersökningen började med att två artefakter togs fram, en frågesamlande web crawler och en alternativ chatbot, GORCh, som helt saknar en sådan form av intelligens som testet undersöker. Utöver GORCh togs även en mänsklig respondent in, detta för att ge ett mått på vad mänsklig intelligens åstadkommer och således ge en skala för vad Microsoft Bot Framework borde åstadkomma om den har mänsklig intelligens.

Efter det användes GORCh för att ta fram frågor med tidigare nämnda varian-ser. Dessa ställs sedan till övriga respondenter.

Slutligen analyserades svaren från samtliga respondenter för att kunna besvara forskningsfrågorna.

Resultat Det fanns ingen meningsvarians där Microsoft Bot Framework sva-rade som om en intelligent tolkning hade skett. Därför kan inte testet visa på att det finns en inbyggd simulerad intelligens för att tolka de meningsvarianser som testades.

Implikationer Det är fullt möjligt att kompensera för många av fallen, ex-empelvis genom att fylla i fler frågor eller genom att använda Microsofts andra verktyg. Detta kräver dock manuellt arbete från den som vill implementera en chatbot byggd på Microsoft Bot Framework.

Begränsningar Testet gjordes enbart på Microsofts svenska chatbottjänst. Det täcker inte intelligent tolkning på något annat språk. Testet täcker enbart frågor på en chatbot som kan besvara ett enskilt ämne.

(5)

Förord

Den här undersökningen är genomförd av Måns Sandberg och Jesper Persson tillsammans med Jönköpings Tekniska Högskola och Domstolsverket.

Vi vill börja med att tacka Kim Lood för utmärkt handledning med inspiration och idéer. Handledningen skedde både under projektets genomförandeperiod och på fritiden innan projektet var påbörjat.

Vi vill också tacka Pontus Ståhlkrantz för sin frivilliga insats som referensperson under projektets experimentdel.

Ett stort tack till John Lagström på Domstolsverket som under hela projektets gång har gett oss viktig input och hjälp med tillgång till teknik som gjort det möjligt för oss att genomföra undersökningen. På Domstolsverket har vi även fått värdefull hjälp av Torbjörn Hjalmarsson och Magnus Lassesgården under projektets gång. Detta är vi väldigt tacksamma för.

(6)

Innehåll

1 Introduktion 4

1.1 Bakgrund . . . 4

1.2 Problembeskrivning . . . 5

1.3 Syfte och frågeställningar . . . 6

1.4 Omfång och avgränsningar . . . 8

1.5 Disposition . . . 8

2 Metod och genomförande 9 2.1 Koppling mellan frågeställningar och metod . . . 9

2.2 Arbetsprocessen . . . 12

2.3 Ansats . . . 12

2.4 Design . . . 12

2.5 Datainsamling . . . 13

2.6 Trovärdighet . . . 13

3 Tekniskt och Teoretiskt ramverk 15 3.1 Koppling mellan frågeställningar och teori . . . 15

3.2 Web crawler . . . 16

3.3 Web scraping . . . 16

3.4 Chatbot . . . 17

3.5 Mänsklig interaktion med chatbotar . . . 17

3.6 Verkliga data . . . 18

3.7 Förståelse av naturligt språk och naturlig språkbehandling . . . . 18

3.8 Felstavningar . . . 19

4 Empiri 20 4.1 Korrekta frågor . . . 21

4.2 Frågor med felstavade ord . . . 22

4.3 Frågor med synonymer till existerande ord . . . 23

4.4 Frågor med slumpordnad ordföljd . . . 24

(7)

4.6 Frågor med referensord . . . 26

4.7 Övriga respondenters svar . . . 27

5 Analys 28 5.1 Korrekta frågor . . . 29

5.2 Frågor med felstavade ord . . . 30

5.3 Frågor med synonymer till existerande ord . . . 32

5.4 Frågor med slumpordnad ordföljd . . . 34

5.5 Frågor med adderade känslofraser . . . 36

5.6 Frågor med referensord . . . 39

6 Diskussion och slutsatser 41 6.1 Resultat . . . 41 6.2 Implikationer . . . 41 6.3 Slutsatser . . . 41 6.4 Rekommendationer . . . 42 6.5 Vidare forskning . . . 43 Referenser 44 Bilagor 46 A Källkod Crawler . . . 47

B Källkod QnA List . . . 52

C Källkod Kunskapskortsgenerator . . . 53

D Källkod GORCh . . . 55

E Källkod Slumpgenerator för ordföljd . . . 57

F Rådata . . . 58

G Frågeformulär för mänsklig referens . . . 64

(8)

Ordlista och förkortningar

Ordlista

Ord Förklaring

Känslofraser För att förmedla känslor i frågor kan

extra information tillföras i form av adjektiv, adverb eller bisatser. Des-sa uttryck benämns i denna rapport som ”känslofraser”.

Respondent Enhet som tar emot frågor och ger

svar. Kan vara såväl mänsklig som mjukvarubaserad.

Förkortningar

Förkortning Förklaring

API Application Programming Interface

FAQ Frequently Asked Questions

NLP Natural Language Processing

NLU Natural Language Understanding

SDK Software Development Kit

(9)

1

Introduktion

1.1

Bakgrund

Chatbotsteknik kan användas av företag och myndigheter som i sin verksamhet behöver kunna kommunicera med allmänheten. Chatbotar kan nyttjas för att automatiskt ge standardsvar på vanligt förekommande frågor och på så sätt hantera enklare ärenden utan manuellt utfört arbete.

Domstolsverket är en serviceenhet till Sveriges Domstolar och ansvarar för ge-mensamma frågor och övergripande samordning. Myndigheten ska också ge ser-vice åt domstolarna, hyres- och arrendenämnderna och Rättshjälpsmyndigheten. Servicen handlar bland annat om personalutveckling, utbildning och information och att svara för att verksamheten bedrivs på ett effektivt och, för medborgarna, lättillgängligt sätt (Domstolsverket, 2019).

Med denna bakgrund intresserar sig Domstolsverket för chatbotsteknik och hur det skulle kunna bidra till att bedriva verksamheten på ett mer effektivt och för medborgarna lättillgängligt vis. Domstolsverket arbetar med att ta fram Sveri-ges Domstolars nya hemsida och ser en möjlighet att använda chatbotsteknik som ett alternativt sätt att ta del av informationen på hemsidan.

Där finns det information om till exempel lagstiftningen kring skilsmässor. En chatbot på hemsidan skulle kunna vara ett mer lättillgängligt sätt att hitta rätt information. Domstolsverket ser också möjligheter att i framtiden använda chatbotsteknik för att underlätta hanteringen av interna serviceärenden. HR-avdelningen har pratat om behovet av automatiserad servicehantering med ett liknande koncept som de kallar för HR-Siri.

Det här examensarbetet gjordes tillsammans med Domstolsverket. Målet med arbetet var att undersöka chatbotar som kan ge standardsvar på enklare frågor. Detta för att personalen inom Sveriges Domstolar ska kunna lägga mer tid på ärenden som kräver ett mänskligt bemötande. Att ersätta mänsklig arbetskraft i en kundtjänst kräver att chatbotstekniken klarar av att tolka frågan som den får från användaren. Då Domstolsverket och Sveriges Domstolar har högt allmänt förtroende som mål kräver användande av en chatbot att boten har hög relia-bilitet; de vill inte riskera att tappa förtroende genom en tjänst där användare får oseriösa eller orimliga svar på sina frågor.

Målet med arbetet var att undersöka hur väl en chatbot, byggd på Microsoft Bot Framework, simulerar mänsklig intelligens för tolkning av olika varianser av meningar. Arbetet undersöker om chatboten kan hantera att en fråga innehåller stavfel, använder sig av alternativa formuleringar där synonymer till viktiga ord förekommer, ställs med en alternativ ordföljd eller står mitt bland annan text som ger en kontext till frågeställarens situation utan att vara en del av själva frågan. Arbetet ger en bild av vilket utgångsläge som går att uppnå genom en automatiserad framtagning av en chatbot baserad på Microsoft Bot Framework och därmed även hur mycket arbete som krävs för att få en pålitlig chatbot som kan besvara en bredd av vanliga frågor.

(10)

1.2

Problembeskrivning

1.2.1 AI och Maskininlärning

Företag som till exempel Google, Amazon och Microsoft med flera erbjuder tek-niska lösningar för artificiell intelligens och maskininlärning som molntjänster (Johnson, 2017). Konsumenter av dessa tjänster ges tillgång till både datalag-ring, processorkraft och tränade modeller för databehandling (He, Wang & Liu, 2018).

1.2.2 Chatbotar

Användargränssnitt som baseras på talat och skrivet språk är inte nytt. Äldre och enklare system styrde konversationen genom att ge användaren en begrän-sad uppsättning alternativ med och riktade frågor för att på så vis hålla en konversation med användaren (Michaud, 2018).

Chatbotar inom myndigheter

Skatteverket började under våren 2019 testa en chatbot på sin hemsida. Genom den chatboten gavs besökare på hemsidan möjligheten att få svar på frågor om inkomstdeklarationen för privatpersoner och om folkbokföring (Skatteverket, 2019).

1.2.3 Microsoft Bot Framework

Microsoft erbjuder genom sin molnplattform Azure flera olika tjänster inom AI. För just chatbotar har Microsoft tagit fram ett ramverk som heter Bot Framework. I detta ramverk kan man bygga chatbotar och andra former av virtuella assistenter (Microsoft, 2019d).

1.2.4 QnA Maker

QnA Maker bygger på Microsoft Bot Framework och är ett verktyg för att skapa en kunskapsdatabas utifrån halvstrukturerade data, som till exempel webbsidor eller existerande ”Vanliga frågor”-dokument. Denna kunskapsdatabas används sedan för att matcha ihop frågor som ställs till QnA Maker-tjänsten med inne-hållet i kunskapsdatabasen för att hitta ett svar på frågan som ställdes. QnA Maker stödjer flera olika språk, men alla funktioner finns inte på alla språk. Till exempel går det inte att hantera en konversation på svenska , utan bara besvara enstaka frågor, medan exempelvis följdfrågor kan hanteras på engelska.

Microsoft menar att QnA Maker bygger på Microsoft Bot Framework, som bland annat består av en språkigenkänningsdel (Microsoft, 2019d). Microsoft har släppt ett tillhörande SDK som öppen källkod på GitHub (Microsoft, 2019c, 2019a).

(11)

Avsikten med Microsoft QnA Maker är att det ska vara enkelt att komma igång och snabbt skapa en chatbot som kan svara på frågor, utan krav på program-meringskunskaper (Microsoft, 2019e).

1.2.5 Säkerhetspoäng i QnA Maker

När en fråga matchas mot en kunskapsbas i QnA Maker skickas relevanta svar tillbaka tillsammans med en säkerhetspoäng (engelska: confidence score). säker-hetspoängen är en indikation på hur säker QnA Maker är på att den har matchat frågan som användaren skickade in med rätt fråga i kunskapsbasen. säkerhetspo-ängen anges som ett tal mellan0 och 100. Microsoft ger i sina supportdokument för QnA Maker en beskrivning för hur säkerhetspoängen ska tolkas. (Microsoft, 2019b) Denna beskrivning återfinns i Tabell 1 Säkerhetspoäng i QnA Maker.

Tabell 1: Säkerhetspoäng i QnA Maker (Microsoft, 2019b)

Score Value Score Meaning Example Query

90− 100 A near exact match of

user query and a KB question

”My changes aren’t

updated in KB after publish”

>70 High confidence

-typically a good an-swer that completely

answers the user’s

query

”I published my KB but it’s not updated”

50− 70 Medium confidence

-typically a fairly good answer that should an-swer the main intent of the user query

”Should I save my up-dates before I publish my KB?”

30− 50 Low confidence -

typi-cally a related answer, that partially answers the user’s intent

” What does the save and train do?”

<30 Very low confidence

-typically does not an-swer the user’s query, but has some matching words or phrases

” Where can I add sy-nonyms to my KB”

0 No match, so the

an-swer is not returned.

”How much does the service cost”

1.3

Syfte och frågeställningar

I problembeskrivningen Avsnitt 1.2 ovan framgår att Microsoft tillhandahåller tjänster som gör det möjligt att implementera en chatbot som kan utgöra en del av en kundtjänst genom att besvara frågor som ställs i chatmeddelanden.

(12)

Microsoft har släppt ett SDK som kan användas för att nyttja deras Bot-tjänster, men hur den bakomliggande programkoden eller infrastrukturen fungerar är inte offentligt. Vidare framgår att system som en slutanvändare kommunicerar med genom att skriva text på ett tangentbord behöver hantera felskrivningar och felstavningar för att vara till nytta för användaren. Därmed är syftet med denna studie:

Att undersöka hur en chatbot byggd på Microsoft Bot Framework hanterar språkliga varianser av användarens frågor.

För att kunna uppnå syftet har det brutits ned i fem frågeställningar. Felstav-ning beskrevs tidigare som en vanlig orsak till fel i datorsystem där textsträngar jämförs med varandra. Huruvida Microsoft Bot Framework hanterar stavfel och feltryck på tangentbordet är inte känt. Därmed är studiens första frågeställning:

[1] Har QnA Maker en inbyggd intelligens för tolkning av frågor med stavfel i sina formuleringar?

Kommunikation handlar om att tolka budskap för att kunna leverera efterfrågad information. En fungerande chatbot måste alltså kunna tolka information obe-roende av satsbyggnad och ordval. För att säkerställa att chatboten kan koppla ihop frågan från användaren med rätt fråga i kunskapsbasen behöver den som implementerar chatboten veta om det finns en inbyggd förståelse för synonymer. Om så inte är fallet kan den som implementerar chatboten behöva utöka kun-skapsbasen med fler olika formuleringar av samma fråga. Därmed är studiens andra frågeställning:

[2] Har QnA Maker en inbyggd intelligens för tolkning av frågor med synonymer i sina formuleringar?

För att få mer insikt i hur Microsoft Bot Framework bearbetar den text som användaren matar in och hur texterna jämförs med kunskapsbasen görs ett experiment där de korrekta frågorna ställs med en annan ordföljd för att se om detta påverkar säkerhetspoängen. Där med blir studiens tredje frågeställning:

[3] Har QnA Maker en inbyggd intelligens för tolkning av frågor med slumpordnade ord?

Vidare finns det fler sätt som meningar kan varieras på. Det är inte alls säkert att en användare väljer att formulera sin fråga med exakt den ordföljden som återfinns i QnA Makers kunskapsbas. För en organisation som väljer att använda QnA Maker för att implementera en chatbot kan det vara av intresse att veta om ordföljden påverkar säkerheten, för att utifrån det besluta om kunskapsbasen behöver ändras eller kompletteras med ytterligare frågor. Därmed är studiens tredje frågeställning:

[4] Har QnA Maker en inbyggd intelligens för tolkning av frågor med annan ordföljd i sina formuleringar?

FAQ-texter är objektiva och sakliga. Det är dessa FAQ-texter som utgör QnA Makers kunskapsbas och denna innehåller således inga kraftuttryck eller andra känslofraser. Hur dessa känslofraser i frågorna som ställs till QnA Maker påver-kar säkerhetspoängen är inte känt. Därmed är studiens fjärde frågeställning:

(13)

[5] Har QnA Maker en inbyggd intelligens för tolkning av frågor med känslofraser i sina formuleringar?

För att besvara frågeställningarna och därmed uppfylla syftet gjordes en fallstu-die att genomföras utifrån de frågor och svar som fanns tillgängliga på Sveriges Domstolars beta-webbplats. Fallstudien genomförs genom att ställa frågor med olika varianser till en chatbot byggd på Microsoft Bot Framework och sedan jämföra svaren ställda.

1.4

Omfång och avgränsningar

Testet av Microsoft QnA Maker kommer att genomföras genom att ställa frå-gorna direkt till QnA Maker via det API som är knutet till botens kunskapsbas.

I underskningen togs bara frågor rörande skillmässor med, eftersom de var pub-licerade och tillgängliga då undersökningen påbörjades. Det fanns också ett intresse för skilsmässofrågor från Domstolsverket som vid tiden för projektet skulle lansera en E-tjänst som gjorde det möjligt att fylla i skilsmässopapper på hemsidan.

I de tester som genomfördes med chatboten var de frågor som matades in var egenkonstruerade utifrån den indata som plockades ut från Sveriges Domstolars webbplats, alltså var frågorna inte autentiska.

Microsoft Bot Framework är ett ramverk som stödjer en mängd olika språk, men testet kommer enbart försöka påvisa om mänsklig intelligens finns på den svenska tjänsten.

I QnA Maker finns möjligheter att manuellt träna upp chatboten genom att ställa frågor och korrigera felaktiga svar för att på så vis lära in rätt svar på frågor. Detta kommer inte att göras i denna undersökning, utan testet görs på en kunskapsbas som byggts av QnA Maker baserat på endast automatiskt insamlad data. Detta för att ge en tydlig bild av intelligent tolkning från ett ursprungsläge.

1.5

Disposition

Efter introduktionen följer metod och genomförande, där projektets utformning beskrivs, därefter tekniskt och teoretiskt ramverk som sätter en vetenskaplig kontext till undersökningen. Efter det kommer empirin, därefter en analys, dis-kussion och slutligen slutsatser.

(14)

2

Metod och genomförande

Undersökningen var en kvalitativ och experimentell studie där intelligensen i Microsoft Bot Frameworks chatbotsteknik undersöktes med avseende på felsta-vade ord, synonymer, slumpmässig ordföljd och adderade känslofraser.

2.1

Koppling mellan frågeställningar och metod

För att kunna säkerställa att effekten inte berodde på att samma alternativa ordval eller felaktiga stavningsvarians återfanns i ett svar från Microsoft Bot Framework började undersökningen med att två artefakter togs fram; en fråge-samlande web crawler och en egenutvecklad chatbot som helt saknade en sådan form av intelligens. Den egenutvecklade chatboten kallas i den här artikeln för GORCh, Generell Ordtolkande Responsiv Chatbot.

Syftet med GORCh var att kontrollera behovet av mänsklig intelligens för att besvara en fråga. Vid framtagningen av frågor som skulle ställas till respon-denterna användes GORCh för att säkerställa att dessa krävde mer intelligent tolkning än vad GORCh klarade av. För att frågan skulle komma med i testet behövde GORCh alltså besvara den frågan fel.

I komparativt syfte användes även en mänsklig respondent för att kunna se var GORChs tolkningsförmåga tog slut och att det är möjligt för en människa att korrekt tolka frågorna.Vid valet av person som referens övervägdes alternativet att ta in en person som är expert på skilsmässofrågor, exempelvis en jurist inom Sveriges Domstolar. Den expertisen valdes bort för att låta alla tre responden-ter ha så lika kunskaper inom området som möjligt att utgå ifrån. En person som sedan tidigare har mycket kunskaper inom skilsmässofrågor skulle möjligen kunna ha ett försprång i förhållande till chatbotarna som testades.

Figur 1 nedan visar hur resultaten från respondenterna kunde kategoriseras. Det orangea området representerar de frågor som alla respondenter besvarade korrekt. Detta visar att GORCh klarar dessa formuleringar utan mänsklig intel-ligens. Det röda området representerar sådana frågor som enbart en människa kan besvara, det vill säga att mänsklig intelligens krävs.

Det område i Figur 1 som tyder på att mänsklig intelligens för tolkning av frågor förekommit i Microsoft Bot Framework är det gröna området. Detta då GORCh inte klarat av att besvara formuleringen men både QnA Maker och människan gjort det.

Om det gick att visa på att en stor mängd frågor hamnar i det gröna området anser rapporten att mänsklig intelligens har påvisats.

(15)

Figur 1: Ett venndiagram över respondenterna

Alla respondenter tränades med exakt samma träningsdata från samma datain-samling men på olika format. För QnA Maker genererades en textfil med frå-gorna enligt Microsofts standard, för GORCh gavs en kunskapsdatabas som den sedan kunde söka i och för människan genererade ett LATEX- dokument, ur vilket

en PDF-fil skapades med samma information. Allt detta skedde helt automa-tiskt. I Avsnitt H Kunskapskort för mänsklig referens återfinns de svarskort som togs fram med frågor respektive svar som människan fick som trängingsdata.

Sveriges Domstolars hemsida var inte upplagd som en frågor och svar-sida, men den hade tydliga rubriker som talade om vad dess texter besvarade, därför ploc-kades rubrikerna ut och användes som frågor och texterna under rubrikerna användes som svar för samtliga respondenter.

När denna utveckling var färdig påbörjades den andra delen av undersökningen, ett experiment. För att i experimentet ha ett utgångsläge att jämföra med togs en mängd frågor fram som inte kräver intelligent tolkning för att besvaras. Tanken var att om GORCh klarade av att svara rätt på frågan krävdes ingen intelligent tolkning. Frågorna som ställdes var baserade på den information som fanns i kunskapsbasen och testades fram för att säkerställa att GORCh svarade

(16)

rätt. Gjorde den inte det formulerades frågan om. Frågor som GORCh svarade rätt på kallas i fortsättningen för korrekta frågor och det är de frågorna som användes som ursprungliga frågor.

Nästa steg var att ta fram frågor med de språkliga varianser som skulle tes-tas. För frågorna med felstavningar och frågorna med synonymer kontrollerades att GORCh svarade fel. Vid de andra meningsvarianserna behövde dock inte GORCh svara fel. I fallet slumpordnad ordföljd skulle exempelvis ett felaktigt eller osäkert svar vara det som tyder på mänsklig intelligens då frågan blir mer oklar.

Ytterligare en varians av frågorna togs fram genom att byta ut orden till den ore-laterade formuleringen ”abcdefg”. Detta som en referens för att se hur Microsoft Bot Framework skulle hantera en situation där artificiell intelligens inte borde klara meningstolkningen oavsett. Dessa meningsvarianser kallas i fortsättningen för referensmeningar eller meningar med referensord. Ett exempel på hur dessa formuleringsvarianser kan se ut demonstreras i Tabell 2.

I projektet analyserades de säkerhetspoäng som kommer med en fråga i Micro-soft Bot Framework för den korrekta meningen. En fråga med en säkerhetspo-äng under 50 tolkas som ett felaktigt svar enligt Microsofts rekomentation (Microsoft, 2019b).

Om en fråga ges ett felaktigt svar över50 noterades även detta. För komplett struktur, se Figur 2

(17)

Tabell 2: exempel på meningsvarianser.

Kategori Exempel

Korrekt När beslutar tingsrätten betänketid?

Felstavning När besluttar tingsrätten betänktid?

Synonym När bestämmer tingsrätten

beräkne-tid?

Ordföljd tingsrätten betänketid? beslutar När

Känslofras Skulle du kunna vara så vänlig och

berätta när tingsrätten beslutar be-tänketid?

Referens När abcdefg tingsrätten abcdefg?

2.2

Arbetsprocessen

Den här undersökningen inleddes med framtagning av web crawler för datain-samling och framtagning av GORCh. Fortlöpande med detta skedde litteratur-studier för att säkerställa att dessa gjorts på ett korrekt sätt. När dessa var framtagna övergick projektet till ett experiment där färdiga frågor togs fram tillsammans med deras alternativa formuleringar och dessa testades sedan på övriga respondenter.

2.3

Ansats

Då detta är ett experiment som genererar en uppsättning mätbara data i form av säkerhetspoäng från Microsoft Bot Framework genomförs studien med kvan-titativ ansats (Patel & Davidson, 2011).

2.4

Design

2.4.1 Förstudien

Förstudien genomfördes både genom att kontrollera så inte någon del av proces-sen är känd eller att resultatet kunde besvaras på annat sätt, exempelvis hade en mer algoritmanalytisk metod varit lämplig om språkbehandlingen i Microsoft Bot Framework varit öppen för allmänheten. Den innefattade även ett undersök-ningsarbete för hur den egenutvecklade chatboten skulle konstrueras på bästa sätt då denna byggts helt från grunden. Här valdes även programmeringsspråk och andra verktyg och ramverk som används för att underlätta utvecklingen.

2.4.2 Konstruktionen

Konstruktionen av web crawler och chatbot skedde när all kunskap var insamlad och under inkrementella iterativa former där konstant testning för att undvi-ka kodbaserade fel användes. All mjukvara kodades i Python, Web crawlern

(18)

byggdes med hjälp av biblioteket ”Beautiful Soup 4” för att extrahera informa-tionen från HTML-koden på ett generellt sätt. Källkoden för crawlern återfinns i Avsnitt A Källkod Crawler och Avsnitt B Källkod QnA List. Källkoden för den egenutvecklade chatboten, GORCh återfinns i Avsnitt D Källkod GORCh För att testa frågor med slumpordnad ordföljd skrevs också ett skript som användes för att kasta om orden slumpvist. Källkoden för detta skript åter-finns i Avsnitt E Källkod Slumpgenerator för ordföljd. För att skapa kunskaps-kort som människan kunde använda som kunskapsbas i experimentet togs ett program fram för att generera kunskapskort, med samma frågor och svar som GORCh och QnA Maker fick. Källkoden för denna återfinns i Avsnitt C Källkod Kunskapskortsgenerator.

2.4.3 Testningen och analysen

Testningen skedde när tidigare steg var avklarat, genom att ställa frågorna till Microsoft Bot Framework, människan och GORCh. Först används GORCh för att ta fram exempelmeningar med tillhörande alternativa formuleringar. Däref-ter ställdes frågorna som tagits fram till människan och boten baserad på QnA Maker. Frågorna som togs fram återfinns i Avsnitt G Frågeformulär för mänsklig referens som togs fram för att användas av människan när denne skulle besva-ra frågorna. Kunskapsbasen som männsikan fick använda var de svarskort som återfinns i Avsnitt H Kunskapskort för mänsklig referens.

Slutligen analyserades svaren från samtliga respondenter för att kunna besvara forskningsfrågorna på ett tillfredställande sätt.

Denna process utgjorde det slutgiltiga experimentet.

2.5

Datainsamling

Ur Microsoft Bot Framework framkommer en säkerhetspoäng där utvecklaren blir informerad om med vilken säkerhet boten anser sig ha funnit korrekt svar. Varje korrekt mening kommer jämföras med de alternativa formuleringarnas säkerhet. Felaktiga svar över50 poängs säkerhet analyserades också.

Nollhypotesen för undersökningen, H0, var att Microsoft Bot Framework har en

intelligens som GORCh saknar.

2.6

Trovärdighet

Tolv grundfrågor togs fram för att ställas till varje respondent, varje korrekt ställd fråga har ytterligare fem varianser och ställs till tre respondenter. Det innebär att resultatet som sammanställts baseras på totalt 216 svar kring ett enskilt ämne, skilsmässor.

Frågorna samlades inte in från vanligt förekommande frågor, däremot var de framtagna för att återspegla datan som gavs till alla respondenter för att testa om de kan hantera varianserna. Förutom frågorna var samtlig data framtagen

(19)

utan påverkan från testutövarna. Alla respondenter gavs exakt samma tränings-data på ett format som var byggt för att optimalt tolka tränings-datan.

(20)

3

Tekniskt och Teoretiskt ramverk

3.1

Koppling mellan frågeställningar och teori

Här följer kortare motiveringar till de texter som tas upp i det tekniska respek-tive teoretiska ramverket.

3.1.1 Tekniskt ramverk

Web crawler beskriver den teori som användes för att ta fram det program som navigerar runt på Sveriges Domstolars hemsida.

Web scraping beskriver den teori som användes för att ta fram det program som användes för att samla in frågor och svar från Sveriges Domstolars hemsida.

Chatbot beskriver teorin bakom den chatbotsartefakt, GORCh, som togs fram som en del av experimentet.

3.1.2 Teoretiskt ramverk

Mänsklig interaktion med chatbotar behandlas för att ge en bild av svå-righeterna med att på förhand veta vilka frågor som slutanvändarna kommer att ställa innan man implementerat en skarp chatbot. Kunskaper från tidigare gjor-da studier kan vara en del av det underlag som används för att ta fram metod för insamling av den datamängd som utgör träningsdatan och kunskapsbasen för en chatbotsimplementation.

Verkliga data berör också slutanvändarnas användning av chatbotar och kan också utgöra underlag för en diskussion kring vilka begränsningar som en chat-bot kan ha, när det kommer till vilka frågor den ska ges möjlighet att svara på och vilka frågor den ska låta en människa på kundtjänst svara på för att undvika risken att ge ett felaktigt svar när chatboten inte är säker på att svara korrekt. Detta är också relaterat till den fjärde frågeställningen; ”Har QnA Maker en in-byggd intelligens för tolkning av frågor med känslofraser i sina formuleringar?”

Förståelse av naturligt språk och naturlig språkbehandling behandlas för att ge en teoretisk grund till frågeställning [1] ”Hur påverkas QnA Makers säkerhetspoäng av felstavade ord i frågor som ställs till den?” och frågeställning [5] ”Hur påverkas QnA Makers säkerhetspoäng när frågor formuleras om och använder känslofraser som inte återfinns i den givna datamängden?”

Felstavningar tas upp för att ge en kort bakgrund till vanliga stavfel som kan uppstå när text skrivs på tangentbord. Denna bakgrund har i detta arbete

(21)

använts som grund för att ta fram de felstavade varianserna i undersökningen.

3.2

Web crawler

Det finns både akademiska och kommersiella web crawlers som går att ladda ner från internet. Att skapa sin egen crawler kan vara ett alternativ för att få mer kontroll över att crawlern fungerar bra på den egna sajten. Om man inte vill skapa den själv helt från grunden finns det en möjlighet att ladda ner hjälpbibliotek från internet att bygga vidare på.

Vid utvecklingen av en web crawler finns det några saker man behöver tänka på. Alla länkar på sajten som genomsöks är inte relevanta för en crawler att följa upp för att de till exempel inte pekar på en sida på den domän man är intresserad av att söka av eller för att länken går till en resurs som till exempel är en bild eller ett script.

En crawler behöver hantera alla kombinationer av attribut och ordning på dessa och fungera med både versaler och gemener för att crawlern ska vara generell och fungera på fler än en specifik sajt som den är hårdkodad för att söka igenom.

3.3

Web scraping

Web scraping handlar om att extrahera stora mängder data från en online-källa. Ofta använder man ett automatiserat verktyg för att göra detta. Web scraping används av bland annat sökmotorer (Chandler & Munday, 2016). En webbsida utgörs främst av HTML-kod. HTML är ett språk som är semi-strukturerat och främst är inriktat på att presentera innehåll (Shan & Qun, 2012). HTML är ett uppmärkningsspråk som använder taggar för att ge elementen på en sida olika egenskaper. Dessa egenskaper bestäms av attribut som kan skrivas inuti taggarna. Taggarna behöver inte vara skrivna i någon speciell ordning eller vara specificerade alls för att HTML-koden ska kunna tolkas av en webbläsare. Det finns inte heller något krav på att taggarna ska vara skrivna med antingen versa-ler elversa-ler gemener. En crawversa-ler behöver hantera alla kombinationer av attribut och ordning på dessa och fungera med både versaler och gemener för att crawlern ska vara generell och fungera på fler än en specifik sajt som den är hårdkodad för att söka igenom.

Reguljära uttryck kan användas för att hitta dessa länkar i HTML-koden. Ett uttryck kan identifiera taggar skrivna i både versaler och gemener. I fallet med crawlers som letar efter länkar går det att plocka ut src-attributet från en a-tagg oavsett vilka andra attribut som finns i a-taggen (Xu & Yan, 2011).

(22)

3.4

Chatbot

3.4.1 Generellt

En vinst för en kundtjänst som använder chatbotar är möjligheten att kunna kommunicera på flera språk, vilket möjliggör kommunikation på ett sätt som för användaren upplevs som mer naturligt, utan att behöva anställa flerspråkig personal. En chatbot kan vara tillgänglig att besvara frågor från flera personer samtidigt dygnet runt (Michaud, 2018).

Personer som kommunicerar med chatbotar blir bemötta på samma sätt var-je gång. Till skillnad mot en mänsklig kundtjänstmedarbetare påverkas inte chatboten av humör, omständigheter eller vem den kommunicerar med. Den uppvisar alltid samma bemötande (Michaud, 2018).

3.4.2 GORCh

Kunskapsbasen som GORCh använder är en SQLite-databas som har skapats av crawler-programmet som sökte av Sveriges Domstolars hemsida. Databasen består av två tabeller. En tabell lagrar alla svar på frågorna som samlats in och ger dessa ett id. Den andra tabellen återfinns alla ord som återfinns i frågorna på hemsidan. Frekvensen av orden i de separata frågorna ligger sparade en tupel per fråga och ord.

När GORCh körs i ett terminalfönster kan användaren skriva meddelanden med sina frågor till chatboten. Meddelanden som skrivs GORCh delas upp ord för ord. För varje ord körs en databasfråga för att ta fram de sparade frågor där orden användaren matade in förekommer.

Därefter itereras alla frågor igenom för att se vilken fråga som har flest match-ningar. För varje ord som matchar ges svaret ett poäng. Om ett svar får mer en sex poäng körs ett nytt databasanrop för att hämta det svar som motsvarar den frågan. Det är detta svar som sedan visas för användaren. Om ingen fråga ger mer än sex poäng bedöms GORCh vara för osäker för att besvara frågan.

Under konstruktionen av GORCh testades olika tröskelvärden för det poängsy-stem som används. Anledningen till att tröskelvärdet hamnade på sex var att det var en nivå som av utvecklarna upplevdes ge rätt svar på ett rimligt antal frågor i förhållande till de antal frågor som den inte kunde ge något säkert svar alls.

3.5

Mänsklig interaktion med chatbotar

En faktor som kan vara av intresse att undersöka är hur människor väljer att kommunicera med en chatbot. Människor är olika och en del väljer att skriva korta och koncisa meningar medans andra skriver längre och mer komplexa meningar.

Detta togs med som en faktor i en undersökning som handlade om en chat-bot som användes av gäster på ett hotell i London (Michaud, 2018). I deras

(23)

datamängd fanns båda grupperna representerade med både korta och långa meddelanden.

I rapporten framgår det att12% av texterna bestod av fler än en mening. 28% av meningarna som skrevs av slutanvändare (hotellgäster) bestod av ett enstaka ord, medan22% bestod av 8 ord eller fler. I undersökningen delades indatan från slutanvändare in i kategorier efter vilken typ av fråga det gällde.

Det framgår i en rapport, (Dahl, Norton & Scholz, 2000), att applikationer som hanterar komplexa dialoger som kan ta flera riktningar är svårare att utveckla än applikationer som inte kräver kontext.

Det finns också utmaningar för chatbotar som behöver känna till kontext (Michaud, 2018). Michaud skriver att frågor som kräver mer information genom till ex-empel följdfrågor är svårare att automatisera och behöver antagligen hanteras manuellt av en människa på kundtjänsten.

En annan faktor som är svår för chatbotar är kontextuella frågor som kräver att den kommer ihåg kontexten i en konversation (Michaud, 2018).

3.6

Verkliga data

Chatboten som Michaud använde tränades med frågor som användarna för-väntades ställa. I denna undersökning framkom det att 42% av de frågor som ställdes under de första 2 månaderna inte alls fanns med i den träningsdata som tagits fram av kundtjänstpersonalen (Michaud, 2018).

Lärdomen som författaren drog från detta var att det ideala hade varit att låta en liknande bot samla in frågor som faktiskt ställs av riktiga användare under en tid, men låta dem besvaras av en traditionell kundtjänst för att ge den skarpa chatboten en uppsättning av frågor som skulle kunna ligga till grund för ett bättre utgångsläge.

Tekniker som bygger på att leta efter nyckelord fallerar sannolikt för längre me-ningar som består av mer kontextuell information. För att undvika att chatboten blir förvillad av kontextuell information är en idé att låta ett filter filtrera bort meningar som är längre än en smärtgräns då träffsäkerheten går ner (Michaud, 2018).

3.7

Förståelse av naturligt språk och naturlig

språkbe-handling

Natural Language Processing (NLP) kan användas som analytiskt verktyg för att identifiera den information i transkriberade dokument som författaren be-skriver som ”dold” (Dooling, 2012). Dooling menar vidare att över 80% av in-formationen idag är ostrukturerad och baserad på naturligt språk.

Det finns kända NLP-applikationer som Google-sökmotorn, Google Översätt och MIT Start. Google-sökmotorn är ett kraftfullt verktyg, men saknar förmågan att förstå sökfrågor skrivna med mer naturligt talspråk som användare matar

(24)

in (Gupta, Jain & Joshi, 2018).

Naturlig språkförståelse (NLU) är en närbesläktad teknologi som används i sam-band med NLP. Denna teknik har vuxit fram som ett effektivt sätt att analysera fraser i texter och producera strukturerad text (Dooling, 2012).

Människor har tre förmågor som används vid tolkning av frågor: beräkning, minne och sunt förnuft. En dator har de två första, men saknar sunt förnuft (Gupta m. fl., 2018).

1990 utgavs Whites tidskriftsartikel som mestadels fokuserar på förståelse av talat språk och hur det kopplas samman med teknik för taligenkänning. Vad datoriserad förståelse innebär kan enligt författaren vara en filosofisk fråga. Där-för väljer Där-författaren att definiera Där-förståelse som Där-förmågan att svara korrekt på direktiv eller frågor i normalt mänskligt språk baserat på information som en sedan tidigare besitter (White, 1995).

För att förstå en menings betydelse behövs förståelse för syntax, pragmatik och semantik (White, 1995). Detta var en del av experimentet då slumpmässig ordföljd är en varians av frågorna som testats.

3.8

Felstavningar

I tidigare studier där sökningar i databaser och andra system undersöks lyfts faktorer som försvårar för användarna och orsakar fel (Borgman, 1986). En av dessa är felstavningar. Vid en felstavning i en databassökning är det möjligt att resultat helt uteblir, trots att innehållet i sökningen efterfrågar finns i databasen. Motoriska svårigheter eller feltryck kan innebära att en användare av misstag trycker på fel tangent och där med stavar ett ord fel (Allwood & Thomée, 1998).

(25)

4

Empiri

Kapitlet ger en översiktlig beskrivning av den empiriska domän som ligger till grund för denna studie. Vidare beskrivs empirin som samlats in för att ge svar på studiens frågeställningar.

De frågor som ställts till QnA Maker var modifierade frågor utifrån de som fanns i QnA Makers kunskapsbas. Det var totalt 12 frågor som tagits fram och ställts på sex olika sätt; korrekt, med felstavning, med synonym, med annan ordföljd, känslofras och med referensord.

Nedan följer data över hur QnA Maker har svarat på frågorna som ställts i experimentet. Frågorna är representerade av markörer med ett nummer som korresponderar med respektive fråga.

Frågorna återfinns tillsammans med deras varianser i Avsnitt G Frågeformu-lär för mänsklig referens som är det frågeformuFrågeformu-lär som användes för att ställa frågorna till den mänskliga referenspersonen.

Diagrammen nedan visar vilka frågor som QnA Maker har svarat korrekt re-spektive inkorrekt på och med vilken säkerhetspoäng den svarar. För att ett svar ska räknas som korrekt måste frågan som ställts ges svar på i antingen den rubrik eller svarstext som getts till respondenterna.

Frågor som besvarats inkorrekt är placerade till vänster och frågor som besva-rats korrekt har placebesva-rats till höger. Markörerna för frågorna är placerade i y-led efter vilken säkerhetspoäng QnA Maker givit på respektive fråga, där noll sä-kerhetspoäng är längst ner och hundra säsä-kerhetspoäng är högst upp. För att ge en visuell skiljelinje mellan de frågor som enligt Microsofts rekommendation där QnA Maker är för osäker för att presentera svaret för slutanvändaren har säkerhetspoängen 50 markerats med en horisontell linje.

(26)

4.1

Korrekta frågor

Figur 3 visar i vilka fall QnA Maker svarade korrekt och inkorrekt, samt vilken säkerhetspoäng den gav på respektive fråga som inte manipulerats. För samtliga svar se Kapitel F.1 Rådata - Korrekta frågor.

(27)

4.2

Frågor med felstavade ord

Figur 4 visar i vilka fall QnA Maker svarade korrekt och inkorrekt, samt vilken säkerhetspoäng den gav på respektive fråga där nyckelord har stavats fel. För samtliga svar se Kapitel F.2 Rådata - Frågor med stavfel.

(28)

4.3

Frågor med synonymer till existerande ord

Figur 5 visar i vilka fall QnA Maker svarade korrekt och inkorrekt, samt vilken säkerhetspoäng den gav på respektive fråga där nyckelord har bytts ut mot alternativa ord med motsvarande betydelse. För samtliga svar se Kapitel F.3 Rådata - Frågor med synonymer.

Figur 5: Diagram som visar resultaten över frågor med synonymer ställda till QnA Maker

(29)

4.4

Frågor med slumpordnad ordföljd

Figur 6 visar i vilka fall QnA Maker svarade korrekt och inkorrekt, samt vilken säkerhetspoäng den gav på respektive fråga. Orden i frågorna har inte manipule-rats, däremot har ordföljden ändrats genom att orden kastats om slumpvist.För samtliga svar se Kapitel F.4 Rådata - Frågor med slumpordnad ordföljd.

Figur 6: Diagram som visar resultaten över korrekta frågor ställda till QnA Maker med omkastad ordföljd

(30)

4.5

Frågor med adderade känslofraser

Figur 7 visar i vilka fall QnA Maker svarade korrekt och inkorrekt, samt vilken säkerhetspoäng den gav på respektive fråga. Frågorna är samma som i testet med korrekta frågor, men med tillagda känslofraser. För samtliga svar se Kapitel F.5 Rådata - Frågor med adderade känslofraser.

Figur 7: Diagram över resultaten för frågor med tillagda känslofraser ställda till QnA Maker

(31)

4.6

Frågor med referensord

Figur 8 visar i vilka fall QnA Maker svarade korrekt och inkorrekt, samt vilken säkerhetspoäng den gav på respektive fråga där nyckelord har ersatts med en referenstext, utan betydelse; äbcdefg". För samtliga svar se Kapitel F.6 Rådata - Frågor med referensord.

Figur 8: Diagram som visar resultatet över frågor ställda till QnA Maker där nyckelord har bytts ut mot abcdefg

(32)

4.7

Övriga respondenters svar

4.7.1 GORCh

Då frågorna och deras varianser tagits fram med hjälp av GORCh besvarade den samtliga korrekta frågor med ett tillfredställande svar och uteblev med svar i varianserna med stavfel, synonymer och referenser.

GORCh besvarade samtliga frågor med slumpmässig ordföljd och adderade känslofraser korrekt.

4.7.2 Människa

Människan kunde, utan att uttrycka några svårigheter, besvara samtliga frågor inom de korrekt ställda frågorna, de med stavfel, de med synonymer och de med adderade känslofraser.

För de frågorna med slumpmässig ordföljd gav människan ett korrekt svar på samtliga frågor utom en där osäkerheten blev så stor att han valde att avstå. Dock uttrycktes under flera av frågorna en osäkerhet kring kontext här.

För referensmeningarna avstod människan från sex av frågorna, här ställdes dock bara elva av tolv frågor på grund av ett misstag vid genereringen av fråge-formuläret. Referensmeningarna är dock främst framtagna för att kunna jämföra säkerhetspoängsfall i QnA Maker med fallen vid stavfel och referensmeningar, därför är detta av mindre vikt. Människans samtliga svar återfinns i bilagorna F.1, F.2, F.3, F.4, F.5 och F.6.

(33)

5

Analys

För att besvara frågeställningarna analyserades och jämfördes den insamlade datan. Analysen för samtliga frågeställningar byggde på en jämförelse mellan tester av QnA Maker, GORCh och människan. Resultaten för frågor ställda med varianser av frågetexten jämförs med resultaten för korrekta frågor.

För att göra jämförelsen används följande nyckeltal:

• Genomsnittlig säkerhet: Genomsnittlig säkerhetspoäng för samtliga frågor i kategorin.

• Antal korrekta: Antal korrekta svar i kategorin. • Antal > 50: Antal svar med en säkerhetspoäng över 50.

• Antal felaktiga > 50: Antal inkorrekta svar med en säkerhetspoäng över 50

(34)

5.1

Korrekta frågor

Nyckeltalen för de korrekta frågorna återfinns i Tabell 3 för jämförelse med nyckeltalen för övriga tester.

Tabell 3: Nyckeltal för korrekta frågor Genomsnittlig

säkerhet

Antal korrekta Antal >50 Antal felaktiga

>50

67, 84166667 11 9 1

Venndiagrammet i Figur 9 visar att både GORCh och människan svarade rätt på alla 12 korrekt ställda frågor. QnA Maker svarade fel på en fråga.

Figur 9: Venndiagram som visar antalet korrekta frågor, som GORCh, QnA Maker respektive mänsklig referens svarar rätt på

(35)

5.2

Frågor med felstavade ord

För att besvara frågeställningen ställdes frågor med felstavade nyckelord. Stav-felen togs fram med stöd av teorin som togs upp i Avsnitt 3.8 för att försöka få så verklighetstrogna stavfel som möjligt utan att samla in texter skrivna av slutan-vändare. Tabell 4 visar den genomsnittliga säkerhetspoängen som QnA Maker gav för frågor med stavfel. Den genomsnittliga säkerhetspoängen för frågorna i denna kategori hamnade i detta experiment på ∼ 33, 0517.

Tabell 4: Nyckeltal för felstavade frågor Genomsnittlig

säkerhet

Antal korrekta Antal >50 Antal felaktiga

>50

33, 05166667 10 3 1

Jämfört med resultatet för de korrekta frågorna gav QnA Maker fortfarande fel svar på fråga 11, men säkerhetspoängen sänktes till10, 45 från 76, 61. Ytterligare ett inkorrekt svar gavs på fråga 4, som nu besvarades med ett annat svar än motsvarande korrekt fråga. Säkerhetspoängen för fråga 4 har sänkts från79, 91 till57, 75 vilket gör att den klarar tröskelvärdet på 50. Detta illustreras i Figur 4. Av de 12 svaren som gavs var det bara 3 som hade en säkerhetspoäng över trös-kelvärdet, jämfört med de 9 som låg över 50 bland de korrekt ställda frågorna. QnA Maker identifierar alltså inte de ord som stavats fel men resulterar istället i lägre säkerhetspoäng på samtliga frågor än om dessa ställts korrekt. Figur 10 visar hur många frågor som vardera respondent svarade rätt på.

(36)

Figur 10: Venndiagram som visar antalet frågor med felstavade ord, som GORCh, QnA Maker respektive mänsklig referens svarar rätt på

(37)

5.3

Frågor med synonymer till existerande ord

Tabell 5 visar den genomsnittliga säkerhetspoängen som QnA Maker gav för frågor med synonym. Säkerhetspoängen hamnade i genomsnitt på 32, 705. Av 12 frågor är det endast 4 av frågorna som ger en säkerhetspoäng över 50. 9 av 12 frågor besvaras korrekt.

Tabell 5: Nyckeltal för frågor med synonymer Genomsnittlig

säkerhet

Antal korrekta Antal >50 Antal felaktiga

>50

32, 705 9 4 1

Fråga 11 besvarades fortfarande fel med samma svar som QnA Maker gav i den korrekt ställda frågan.

Fråga 8 gav fel svar, men med en säkerhetspoäng på 12,55. Säkerhetspoängen var lägre än tröskelvärdet. Trots att QnA Maker svarade rätt på den korrekta frågan så gav den inte heller då en säkerhetspoäng över tröskelvärdet, vilket innebär att varken den korrekta frågan eller frågan med synonymer skulle ge ett svar som presenterades för användaren.

Figur 11 visar att människan klarade av att svara rätt på samtliga frågor med synonymer. För QnA Makers del är det bara 3 av svaren som både är korrekta och med en säkerhetspoäng över50.

(38)

Figur 11: Venndiagram som visar antalet frågor med synonymer, som GORCh, QnA Maker respektive mänsklig referens svarar rätt på

(39)

5.4

Frågor med slumpordnad ordföljd

För frågorna med slumpordnad ordföljd är resultaten identiska med resultaten för korrekta frågor. QnA Maker svarar likadant på samtliga frågor, med samma säkerhetspoäng som för korrekta frågor. Tabell 6 nedan visar nyckeltal för frå-gor med slumpordnad ordföljd. På grund av att svaren och säkerhetspoängen är identiska med svaren och säkerhetspoängen för korrekta frågor är tabellen identisk med Tabell 6.

Tabell 6: Nyckeltal frågor med slumpordnad ordföljd Genomsnittlig

säkerhet

Antal korrekta Antal >50 Antal felaktiga

>50

67, 84166667 11 9 1

Därmed är den genomsnittliga säkerhetspoängen som QnA Maker ger för frå-gorna i den här kategorin också ∼ 67, 8416. 11 av 12 frågor besvaras korrekt. Den tolfte frågan är fråga 11, som felaktigt passerar tröskelvärdet. 9 av frågorna får en säkerhetspoäng över rekommendationen på50.

I Figur 12 syns det att den slumpordnade ordföljden gjorde det svårare för människan att besvara frågorna.

Ordföljden verkar alltså inte påverka vilket svar som QnA Maker väljer eller vilken säkerhetspoäng den ger. Detta till skilnad från människan som uttryckte svårigheter med kontextplacering för dessa meningar. Det går inte att se att Microsoft Bot Framework på något sätt kollar på ordföljden och gör en tolkning av den överhuvudtaget.

(40)

Figur 12: Venndiagram som visar antalet frågor med slumpad ordföljd, som GORCh, QnA Maker respektive mänsklig referens svarar rätt på

(41)

5.5

Frågor med adderade känslofraser

För att besvara frågeställning [5] ställdes frågor med extra kontext och känslo-fraser. Nyckeltal för dessa frågor återfinns i Tabell 7.

Tabell 7: Nyckeltal frågor med känslofraser Genomsnittlig

säkerhet

Antal korrekta Antal >50 Antal felaktiga

>50

43, 83666667 9 4 0

När känslofraser och extra ord som varken fanns med i den korrekta frågan eller i kunskapsbasen lades till för att ge mer kontext till frågan, föll QnA Makers genomsnittliga säkerhetspoäng till∼ 43, 8367.

9 av de 12 frågorna besvaras korrekt, men det är bara 4 av frågorna som ger en säkerhetspoäng över 50. 3 av frågorna ger QnA Maker fel svar på, men i samtliga fall med en så pass låg säkerhetspoäng att de skulle filtreras bort.

Människan klarade av att sålla bort den tillagda informationen som känslofra-serna ger och svarade rätt på alla frågor.

Fråga 11 besvarades med samma felaktiga svar som när den var korrekt skriven, men frågan tappade så pass mycket i säkerhetspoäng att svaret nu filtreras bort.

I Figur 13 syns det att det är 4 av 12 frågor som QnA Maker klarade att ge korrekt svar på med en säkerhetspoäng över50.

(42)

Figur 13: Venndiagram som visar antalet frågor med slumpad ordföljd, som GORCh, QnA Maker respektive mänsklig referens svarar rätt på

Frågorna med adderade känslofraser blev per definition längre än de korrekta meningarna. Den tillagda texten gav läsaren en kontext eller sammanhang för den givna frågan. Om QnA Maker matchar frågan som skickas in med frågor och svar i kunskapsbasen ger den extra texten inte fler relevanta ord att matcha mot kunskapsbasen.

Att QnA Makers säkerhetspoäng sjunker när känslofraserna läggs till i frågorna skulle kunna stödja vad tidigare forskning visar; att tekniker som bygger på att leta efter nyckelord sannolikt fallerar för längre meningar som består av mer kontextuell information (Michaud, 2018). Detta togs upp i 3.6.

I den här undersökningen har människan svarat rätt på alla frågor med adderade känslofraser. Eftersom syftet med chatbot är att avlasta den mänskliga arbets-kraften i en kundtjänst är det rimligt att just människan klarar av att besvara frågorna korrekt och därmed kan ta över när en chatbot byggd på Microsoft Bot

(43)

Framework inte kan hantera frågan. Av den anledningen är Michauds förslag om att låta en människa svara på de frågor som är längre än en vald smärtgräns en rimlig lösning för att undvika felaktiga svar och för att öka säkerhetspoängen för de frågor som besvaras (Michaud, 2018).

(44)

5.6

Frågor med referensord

För att testa språkförståelsen gjordes tester med referensmeningar för att kunna jämföra hur säkerhetspoängen ändras beroende på om varianser av nyckelorden finns med i frågan eller inte. Referensmeningar togs fram genom att byta ut nyckelord från de korrekta meningarna mot ”abcdefg”. I Tabell 8 redovisas nyc-keltalen för meningsvarianserna med referensord.

Tabell 8: Nyckeltal för meningar med referensord Genomsnittlig

säkerhet

Antal korrekta Antal >50 Antal felaktiga

>50

34, 635 10 3 1

QnA Maker var mer osäker på referensmeningarna än de korrekta meningarna och fick en genomsnittlig säkerhetspoäng på34, 635, jämfört med∼ 67, 8416 på de korrekt ställda meningarna.

I Figur 14 finns ett venndiagram som visar antalet frågor med referensord, som GORCh, QnA Maker respektive mänsklig respondent svarar rätt på. Människan fick i den här kategorin bara möjlighet att svara på 11 frågor, istället för 12 på grund av ett misstag i framtagningen av frågeformuläret. Referensmeningarna främst är framtagna för att kunna avgöra om säkerhetspoängen påverkas mer när ordet är helt oigännkännligt än om det har stavats fel eller bytts ut mot en synonym, därför är detta ingenting som skulle påverka slutsatserna i testet.

Det var tre av frågorna som QnA Maker är så pass säker på att säkerhetspoängen passerar Microsofts tröskelvärde på50.

En av de frågor som passerar tröskelvärdet besvaras inkorrekt. Det är fråga 4 som får ett felaktigt svar med en säkerhetspoäng på 61, 61. Fråga 11 besvaras fel, med samma svar som för den korrekta frågan. På de övriga frågorna lyckas QnA Maker välja ut rätt svar, men med en låg säkerhetspoäng.

Människan klarade sig också sämre med referensmeningarna och valde på 6 av 11 frågor att inte svara något alls. De resterande 5 frågorna svarade människan rätt på. Diagrammet i Figur 9 visar att de 6 frågorna inte besvarades korrekt av varken människa, QnA Maker eller GORCh.

(45)

Figur 14: Venndiagram som visar antalet frågor med referensord, som GORCh, QnA Maker respektive mänsklig referens svarar rätt på

(46)

6

Diskussion och slutsatser

Kapitlet ger en sammanfattande beskrivning av studiens resultat. Vidare be-skrivs studiens implikationer och begränsningar. Dessutom bebe-skrivs studiens slutsatser och rekommendationer. Kapitlet avslutas med förslag på vidare forsk-ning.

6.1

Resultat

På samtliga kategorier agerade QnA Maker som om ingen intelligent tolkning skett. Den enda kategorin där resultatet såg ut precis som i den där frågor-na formulerats korrekt var den med slumpordfrågor-nad ordföljd. Här skulle dock en mänsklig intelligens enligt testerna uttrycka en höjd osäkerhet då kontexten för frågan blir mindre lättydd.

6.2

Implikationer

Det är fullt möjligt att kompensera för många av fallen, exempelvis genom att fylla i fler frågor eller genom att använda QnA Makers manuella synonymifyll-ning. Någon inbyggd intelligens för tolkning kan dock inte påvisas i den här undersökningen.

6.3

Slutsatser

6.3.1 Microsoft Bot Framework påverkas inte av ordföljder

När testet använde sig av frågor och jämförde dessa med varianser som hade en totalt slumpordnad ordföljd upptäcktes ingen skillnad. Microsoft Bot Fram-ework gav exakt samma svar med exakt samma säkerhetspoäng på samtliga frågor. Detta ger Bot Framework en viss styrka då det var ett område där en-dast människan stötte på problem men det antyder också om att Microsoft Bot Framework totalt saknar en kontext- eller meningsbyggnadsanalys.

6.3.2 Microsoft Bot Framework har ingen intelligens för förståelse

av stavfel

När stavfel lades in i en mening innebar det inget hinder för en människa att tolka. GORCh, som hade använts för att säkerställa att de stavfel som lades in inte återfanns i texten, missade samtliga svar. Vid detta läget hade Microsoft Bot Frameworks säkerhetspoäng fallit och var i merparten av fallen under den gräns på 50 säkerhetspoäng som Microsoft rekomenderar som tröskelvärde. Endast tre av tolv frågor passerade denna spärr och en av dessa tre besvarade inte frågan som ställts.

(47)

6.3.3 Microsoft Bot Framework har ingen intelligens för förståelse av synonymer

Vid inmatning av meningar där de felstavade orden istället ersatts med icke fö-rekommande ord av likartad betydelse gav Microsoft Bot Framework ett likartat tapp som i stavfelsfallet. Här är det dock viktigt att notera att Microsoft Bot Framework har ett inbyggt system där det går att manuellt koppla ord till deras synonymer men eftersom detta test enbart avser utgångsläget där en fråga nyss matats in dras slutsatsen ändå.

6.3.4 Microsoft Bot Framework har svårt för att hantera

känslofra-ser

När känslofraser adderades tappade Microsoft Bot Framework i säkerhet och klarade endast 4 av 12. Människan och GORCh kunde båda besvara samtliga frågor korrekt eftersom de hittade nyckelorden i texterna och ignorerade den extra informationen, men det klarade Microsoft Bot Framework inte av.

6.3.5 Microsoft Bot Framework kompenserar för sin brist på AI

ge-nom att sätta låg säkerhet på svaren

Vid alla varianser, ordföljd undantaget, tappade Microsoft Bot Framework till-räckligt mycket säkerhet för att kunna antyda om att en stor andel av frågorna som ställs med en sådan varians ej kommer besvaras. Det här gör att den, trots att intelligens för hantering och tolkning av ord verkar saknas, kan användas utan att vara rädd för att ens chatbot besvarar allt möjligt. Det filtret är inte perfekt och vi kan visa på flera fall där de med stor säkerhet släpper igenom felaktiga svar men blockerar korrekta. I samtliga fall, förutom det med addera-de känslofraser, släppte Microsoft Bot Framework igenom felaktiga svar med en säkerhet på över 50-spärren. I fallet med felstavade ord släpptes detta igenom trots att det enbart släppte igenom totalt 3 av de tolv frågorna. Detta anty-der om att Microsoft Bot Framework, vid tidigt användande, sannolikt kommer besvara frågor felaktigt.

6.4

Rekommendationer

6.4.1 Sätta högt tröskelvärde

Av den insamlade datan finns det frågor som av QnA Maker besvaras felaktigt som får en säkerhetspoäng över 70, närmare 80. Den här undersökningen kan inte visa på att det finns någon garanti för att något tröskelvärde förhindrar att felaktiga svar inte når slutanvändaren. Om hög reliabilitet är viktigt för imple-mentationen av en chatbot kan ett tröskelvärde närmare 100 öka reliabiliteten, men på bekostnad av att fler frågor inte besvaras alls av chatboten.

(48)

6.4.2 Låta användare hjälpa till att bygga upp kunskapsbas

En organisation som vill implementera en chatbot kan under en period sätta upp ett chattgränssnitt som liknar det som boten i framtiden kommer att använda, men låta en människa svara på frågorna samtidigt som de frågor som kommer in sparas undan för att manuellt granskas och därefter matas in i den skarpa kunskapsbasen. För att en chatbot ska kunna svara på frågor behöver den ha rätt kunskap för att besvara rätt frågor. Det är detta som (Michaud, 2018) tar upp och som beskrivs i 3.6.

6.5

Vidare forskning

6.5.1 Testa synonymer i QnA Maker

Det finns, som tidigare nämnts, möjligheten att i QnA Maker själv fylla i sy-nonymer. Genom att använda detta verktyg är det möjligt att frågeställning [2] kan besvaras annorlunda. En framtida studie kan upprepa testerna i det här arbetet med samma frågor för att se hur säkerheten påverkas och hur korrekt den svarar.

6.5.2 QnA-chatbot som svarar fel – vilken inverkan får det?

Vilken betydelse har en QnA-chatbot som svarar helt fel på frågorna som ställs till den. För en organisation som vill implementera en chatbot kan det vara intressant att ta reda på hur en chatbot som svarar fel eller på något annat vis svarar konstigt påverkar slutanvändarens förtoende för organisationen.

(49)

Referenser

Allwood, C. M. & Thomée, S. (1998, 07). Usability and database search at the swedish employment service. Behaviour & Information Technology , 17 , 231-241. doi: 10.1080/014492998119436

Borgman, C. L. (1986). Why are online catalogs hard to use? lessons learned from information-retrieval studies. Journal of the American Society for Information Science, 37 (6), 387-400. Hämtad från https:// onlinelibrary.wiley.com/doi/abs/10.1002/%28SICI%291097-4571%

28198611%2937%3A6%3C387%3A%3AAID-ASI3%3E3.0.CO%3B2-8 doi:

10.1002/(SICI)1097-4571(198611)37:6<387::AID-ASI3>3.0.CO;2-8 Chandler, D. & Munday, R. (2016). web scraping. Oxford University Press. Dahl, D. A., Norton, L. M. & Scholz, K. (2000). Commercialization of natural

language processing technology. Communications of the ACM , 43 (11es), 7.

Domstolsverket. (2019). Sveriges domstolar. Hämtad 30 juli 2019, från http:// www.domstol.se/Om-Sveriges-Domstolar/Domstolsverket/

Dooling, J. A. (2012). Advancing technology connects transcription and coding: The developing role of nlp, nlu, and cac in him. Journal of AHIMA, 83 (7), 52–53.

Gupta, C., Jain, A. & Joshi, N. (2018). Fuzzy logic in natural language processing–a closer view. Procedia computer science, 132 , 1375–1384. He, D., Wang, Z. & Liu, J. (2018). A survey to predict the trend of ai-able

server evolution in the cloud. IEEE Access, 6 , 10591-10602. doi: 10.1109/ ACCESS.2018.2801293

Johnson, R. (2017). Artificial intelligence. The Routledge Companion to Video Game Studies, 10-18.

Michaud, L. N. (2018, Sep.). Observations of a new chatbot: Drawing conclu-sions from early interactions with users. IT Professional , 20 (5), 40-47. doi: 10.1109/MITP.2018.053891336

Microsoft. (2019a). Använd bot med qna maker och luis för att

distribuera din kunskapsbas. Hämtad 1 augusti 2019, från

https://docs.microsoft.com/sv-se/azure/cognitive-services/ qnamaker/tutorials/integrate-qnamaker-luis

Microsoft. (2019b). Confidence score of a qna maker knowledge base. Häm-tad 1 augusti 2019, från https://docs.microsoft.com/en-us/azure/ cognitive-services/qnamaker/concepts/confidence-score

Microsoft. (2019c). Github - microsoft/botframework-sdk. Hämtad 1 augusti 2019, från https://github.com/microsoft/botframework-sdk

Microsoft. (2019d). Microsoft bot framework. Hämtad 1 augusti 2019, från https://dev.botframework.com/

Microsoft. (2019e). Vad är qna maker? - azure cognitive services. Häm-tad 1 augusti 2019, från https://docs.microsoft.com/sv-se/azure/ cognitive-services/qnamaker/overview/overview

Patel, R. & Davidson, B. (2011). Forskningsmetodikens grunder : att planera, genomföra och rapportera en undersökning (4., [uppdaterade] uppl. utgå-van). Lund: Studentlitteratur.

Shan, L. & Qun, Z. (2012, July). Flexible approach for web information extrac-tion based on htmlparser. I 2012 7th internaextrac-tional conference on computer

(50)

science education (iccse) (s. 683-686). doi: 10.1109/ICCSE.2012.6295166

Skatteverket. (2019). Chatta med vår digitala medarbetare. Hämtad

30 juli 2019, från https://skatteverket.se/omoss/kontaktaoss/ chattamedvardigitalamedarbetare.4.2cf1b5cd163796a5c8b403b .html

White, G. M. (1995). Natural language understanding and speech recognition. I Readings in human–computer interaction (s. 554–563). Elsevier. Xu, Z. & Yan, D. (2011, Aug). Designing and implementing of the webpage

information extracting model based on tags. I 2011 international con-ference on intelligence science and information engineering (s. 273-275). doi: 10.1109/ISIE.2011.71

(51)
(52)

A

Källkod Crawler

Programkod 1: Frågeinsamlande web crawler 1 import u r l l i b . r e q u e s t 2 import s q l i t e 3 3 import bs4 4 import r e 5 import d a t e t i m e 6 import o s

7 from QnAList import QnAList

8 from H u m a n I n t e r a c t i o n L i s t import HumanList 9 10 from bs4 import B e a u t i f u l S o u p 11 12 b a s e U r l = " h t t p s : / / b e t a . d o m s t o l . s e " 13 s u b U r l = " h t t p s : / / b e t a . d o m s t o l . s e /amnen/ f a m i l j / s k i l s m a s s a / " 14 15 folder_name = s t r ( d a t e t i m e . d a t e t i m e . now ( ) ) 16 o s . mkdir ( folder_name ) 17 18 c o n n e c t i o n = s q l i t e 3 . c o n n e c t ( folder_name + " / l o c a l _ c h a t _ d a t a . db" ) 19

20 c o n n e c t i o n . e x e c u t e ( "CREATE␣TABLE␣ IF ␣NOT␣EXISTS␣ Answers ␣ ( "

21 " i d ␣INTEGER␣PRIMARY␣KEY␣AUTOINCREMENT, ␣ " 22 " answer ␣TEXT␣ " 23 " ) " ) 24 25 c o n n e c t i o n . e x e c u t e ( "CREATE␣TABLE␣ IF ␣NOT␣EXISTS␣Words␣ ( " 26 " i d ␣INTEGER␣PRIMARY␣KEY␣AUTOINCREMENT, ␣ " 27 " answer_id ␣INTEGER, ␣ " 28 " word ␣TEXT, ␣ " 29 "amount␣INTEGER, ␣ "

30 "FOREIGN␣KEY␣ ( answer_id ) ␣REFERENCES␣

Answers ( i d ) " 31 " ) " ) 32 33 c o n n e c t i o n . commit ( ) 34 35 36 c l a s s KeyPair :

37 def __init__ ( s e l f , t e x t , amount ) :

38 s e l f . t e x t = t e x t

39 s e l f . amount = amount

40

References

Related documents

inledningen till kursplanen där ämnets syfte och roll i utbildningen presenteras uttrycks i den uppdaterade kursplanen att ämnet ska: &#34;ge möjlighet att leva sig in i gångna

This essay discusses the implementation of a Twitter chat bot that uses natural language processing and sentiment analysis to construct a be- lievable reply.. This is done in the

Kyrkan är belägen i norra delen av socknen, invid den gamla landsvägen från Stockholm till södra Sverige och på en plats där tre av de för denna del av

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-

Syftet med denna studie är att bidra med ökad kunskap om lärande och undervisning i informell statistisk inferens. I studien användes en kvalitativ

Subject D, for example, spends most of the time (54%) reading with both index fingers in parallel, 24% reading with the left index finger only, and 11% with the right

resultatet, som för första gången visar på genetiska skillnader, pekar på att tibeta- nernas arvsmassa skulle kunna påverka.. hemoglobinnivåerna

 Den här studien syftar till att beskriva sjuksköterskors upplevelser av att vårda äldre svårt sjuka patienter i livets slutskede på vårdavdelningar utan palliativ