• No results found

Granskning av examensarbetesrapporter med IBM Watson molntjänster

N/A
N/A
Protected

Academic year: 2022

Share "Granskning av examensarbetesrapporter med IBM Watson molntjänster"

Copied!
110
0
0

Loading.... (view fulltext now)

Full text

(1)

Granskning av

examensarbetesrapporter med IBM Watson molntjänster

Patrik Eriksson och Philip Wester

KTH ROYAL INSTITUTE OF TECHNOLOGY

(2)

Författare

Patrik Eriksson pateriks@kth.se Philip Wester phwe@kth.se

Information and Communication Technology KTH Royal Institute of Technology

Plats

Stockholm, Sverige

Examinator

Fadil Galjic

KTH Royal Institute of Technology

Handledare

Anders Sjögren

KTH Royal Institute of Technology

(3)

Abstract

Cloud services are one of the fast expanding fields of today. Companies such as Amazon, Google, Microsoft and IBM offer these cloud services in various forms.

As this field progresses, the natural question occurs ”What can you do with the technology today?”. The technology offers scalability for hardware usage and user demands, that is attractive to developers and companies. This thesis tries to ex- amine the applicability of cloud services, by combining it with the question: ”Is it possible to make an automated thesis examiner?” By narrowing down the ser- vices to IBM Watson web services, this thesis main question reads ”Is it possible to make an automated thesis examiner using IBM Watson?”. Hence the goal of this thesis was to create an automated thesis examiner.

The project used a modified version of Bunge’s technological research method.

Where amongst the first steps, a definition of an software thesis examiner for stu- dent theses was created. Then an empirical study of the Watson services, that se- emed relevant from the literature study, proceeded. These empirical studies allo- wed a deeper understanding about the services’ practices and boundaries. From these implications and the definition of a software thesis examiner for student theses, an idea of how to build and implement an automated thesis examiner was created. Most of IBM Watson’s services were thoroughly evaluated, except for the service Machine Learning, that should have been studied further if the time re- sources would not have been depleted. This project found the Watson web services useful in many cases but did not find a service that was well suited for thesis ex- amination. Although the goal was not reached, this thesis researched the Watson web services and can be used to improve understanding of its applicability, and for future implementations that face the provided definition.

Keywords: Essay Scoring; Cloud Services; Artificial Intelligence; AI; Natural Lan- guage Understanding; NLU

(4)

Sammanfattning

Molntjänster är ett av de områden som utvecklas snabbast idag. Företag såsom Amazon, Google, Microsoft och IBM tillhandahåller dessa tjänster i flera former.

Allteftersom utvecklingen tar fart, uppstår den naturliga frågan ”Vad kan man göra med den här tekniken idag?”. Tekniken erbjuder en skalbarhet mot använd hårdvara och antalet användare, som är attraktiv för utvecklare och företag. Det här examensarbetet försöker svara på hur molntjänster kan användas genom att kombinera det med frågan ”Är det möjligt att skapa en automatiserad examensar- betesrapportsgranskare?”. Genom att avgränsa undersökningen till IBM Watson molntjänster försöker arbetet huvudsakligen svara på huvudfrågan ”Är det möj- ligt att skapa en automatiserad examensarbetesrapportsgranskare med Watson molntjänster?”. Därmed var målet med arbetet att skapa en automatiserad exa- mensarbetesrapportsgranskare.

Projektet följde en modifierad version av Bunge’s teknologiska undersöknings- metod, där det första steget var att skapa en definition för en mjukvaruexamens- arbetesrapportsgranskare följt av en utredning av de Watson molntjänster som ansågs relevanta från litteratur studien. Dessa undersöktes sedan vidare i em- pirisk studie. Genom de empiriska studierna skapades förståelse för tjänsternas tillämpligheter och begränsningar, för att kunna kartlägga hur de kan användas i en automatiserad examensarbetsrapportsgranskare. De flesta tjänster behandla- des grundligt, förutom Machine Learning, som skulle behövt vidare undersökning om inte tidsresurserna tog slut. Projektet visar på att Watson molntjänster är an- vändbara men inte perfekt anpassade för att granska examensarbetesrapporter.

Även om inte målet uppnåddes, undersöktes Watson molntjänster, vilket kan ge förståelse för deras användbarhet och framtida implementationer för att möta den skapade definitionen.

Nyckelord: Uppsatsrättning; Molntjänster; Artificiell Intelligens; AI, Natural Lan- guage Processing; NLP

(5)
(6)

Innehåll

1 Inledning 1

1.1 Bakgrund . . . 2

1.1.1 IBM Watson molntjänster . . . 2

1.1.2 Examination . . . 3

1.2 Problemområde . . . 3

1.3 Syfte och Mål . . . 4

1.4 Avgränsningar . . . 5

1.5 Disposition . . . 5

2 Teori 7 2.1 Examensarbetesbedömning . . . 7

2.2 Molntjänster . . . 8

2.2.1 Kluster . . . 8

2.3 AI - Artificiell Intelligens . . . 9

2.4 ML - Maskininlärning . . . 10

2.4.1 Struktur . . . 10

(7)

2.4.2 Maskininlärningsmodeller . . . 11

2.4.3 Supervised Learning . . . 12

2.4.4 Unsupervised Learning . . . 12

2.4.5 Reinforcement Learning . . . 12

2.4.6 ANN - Artificiella Neurala Nätverk . . . 13

2.4.7 NLP - Natural Language Processing . . . 14

2.4.8 System som använder Natural Language Processing . . . 15

2.5 Watson molntjänster . . . 15

2.5.1 Inlärningsmodeller . . . 16

2.5.2 IBM Watson Machine Learning . . . 17

2.5.3 IBM Watson Natural Language Understanding . . . 17

2.5.4 IBM Watson Discovery . . . 19

2.5.5 IBM Watson Natural Language Classifier . . . 21

2.5.6 IBM Watson Visual Recognition . . . 21

2.5.7 IBM Watson Tone Analyzer . . . 21

2.5.8 IBM Watson Personality Insights . . . 22

2.5.9 Resterande tjänster . . . 22

2.5.10 IBM Watson Knowledge Studio . . . 22

2.5.11 IBM Watson Studio . . . 23

2.6 Huvudlitteratur och relaterat arbete . . . 23

3 Metod 27

(8)

3.1 Metodologi . . . 27

3.1.1 Undersökningsmetodologi . . . 28

3.1.2 Projektmetodologi . . . 29

3.2 Undersökningsmetod . . . 29

3.2.1 Litteraturstudier . . . 30

3.2.2 Fördjupande analys av Watsontjänster . . . 31

3.2.3 Definition av examensarbetesrapportsgranskare . . . 32

3.2.4 Implemenentation av villkor . . . 32

3.3 Projektmetod . . . 33

3.4 Teknikmetod . . . 34

3.5 Datahantering . . . 34

3.6 Testning . . . 35

3.6.1 IBM Watson Knowledge Studio . . . 36

3.6.2 Javatestbas . . . 36

4 Definition av examensarbetesrapportsgranskare 37 4.1 Villkor ett . . . 38

4.2 Villkor två . . . 39

4.3 Villkor tre . . . 39

4.4 Villkor fyra . . . 40

4.5 Villkor fem . . . 41

4.6 Sammanställning . . . 42

(9)

5 Analys av Watson tjänster 45

5.1 Natural Language Understanding . . . 46

5.1.1 Test ett: NLU-extraktion med standardmodell . . . 47

5.1.2 Test två: NLU-extraktion med anpassade modeller . . . 50

5.2 Discovery . . . 55

5.2.1 Förtest: undersökning av inputparametrar . . . 56

5.2.2 Test ett: uppladdning av PDF-dokument . . . 57

5.2.3 Test två: berikning med Element Classification . . . 58

5.2.4 Test tre: hämtning av textberikning från Discovery . . . 60

5.3 Machine Learning . . . 61

5.4 Natural Language Classifier . . . 61

5.5 Tjänster utan koppling till examensarbetesrapportsgranskning 62 5.6 Sammanställning . . . 63

6 Examensarbetesrapportsgranskare i kombination med Wat- son tjänster 65 6.1 Villkor ett . . . 65

6.1.1 Delvillkor 1:1 . . . 66

6.1.2 Delvillkor 1:2 . . . 68

6.1.3 Delvillkor 1:3 . . . 69

6.2 Villkor två . . . 69

6.2.1 Delvillkor 2:1 . . . 70

(10)

6.2.2 Delvillkor 2:2 . . . 70

6.2.3 Delvillkor 2:3 . . . 70

6.3 Villkor tre . . . 71

6.3.1 Delvillkor 3:1 . . . 71

6.3.2 Delvillkor 3:2 . . . 71

6.3.3 Delvillkor 3:3 . . . 72

6.4 Villkor fyra . . . 72

6.4.1 Delvillkor 4:1 . . . 73

6.4.2 Delvillkor 4:2 . . . 73

6.4.3 Delvillkor 4:3 . . . 73

6.5 Villkor fem . . . 74

6.5.1 Delvillkor 5:1 . . . 74

6.5.2 Delvillkor 5:2 . . . 74

6.5.3 Delvillkor 5:3 . . . 75

6.6 Sammanställning . . . 75

7 Diskussion 77 7.1 Begränsningar i resultatet . . . 77

7.2 Validilitet och pålitlighet i metoden . . . 78

7.3 Besvarande av forskningsfrågor . . . 79

7.4 Hållbar utveckling . . . 80

(11)

8 Slutsatser 83

8.1 Konsekvenser . . . 84 8.2 Framtida arbeten . . . 85

(12)

Kapitel 1

Inledning

Molntjänster är namnet på de tjänster som ges över internet samt hårdvaran som dessa tjänster körs på. I och med uppkomsten av molntjänster uppstod även en potential som kan komma att förändra delar av IT-världen. Detta eftersom ut- vecklare som utnyttjar molntjänster inte behöver investera i hårdvara att köra sin mjukvara på, den ingår istället i molntjänsten. De behöver därmed inte riskera att över- eller underinvestera i denna hårdvara, då molntjänster erbjuder en enkel skalbarhet. Utbudet av processorkraft matchas direkt mot efterfrågan och även priset därefter. [1] Ett av de företag som erbjuder molntjänster är IBM, med IBM Cloud molntjänstplattform där Watson molntjänster ingår.

Examination kräver noggrant arbete, granskning och evaluering av rapporter. En examensarbetesrapport är en detaljerad produkt, som är skriven med tydliga for- muleringar och hög precision, för att på ett objektivt och koncist sätt presentera forskning. Det här medför att bedömningen av examensarbeten också kräver nog- grann analys och bearbetande. Den bedömningen görs i nuläget av en examinator utan några tekniska hjälpmedel, bortsett från examinatorns egna val av organise- ringshjälpmedel såsom ordbehandlare, planeringsverktyg eller läsplattor.

Om man kunde automatisera examinationsprocessen med hjälp av molntjänster, så skulle detta kunna avlasta arbete från examinatorerna och förkorta den tid det tar att granska examensarbeten, samtidigt som man utforskar dagens molntjäns- ter, dess möjligheter och begränsningar.

(13)

1.1 Bakgrund

I en datorsystemsepok med fokus på artificiell intelligens möjliggörs applikationer för dataanalys såsom QA-algoritmer, som tar in naturligt språk och svarar på ett språk som är direkt begripligt för människor. Konceptet att tolka naturligt språk kallas inom datorvetenskapen för Natural Language Understandng (NLU), och program betraktas utnyttja NLU om det tar naturligt språk som argument [2].

NLU använder sig ofta av maskininlärningsmetoder för att lösa dessa problem.

Maskinlärning i sin tur försöker skapa kognition hos datorsystem, exempelvis lära upp program från det förflutna. Programmodeller som bygger på kognition blir aktuella när inga algoritmer kan ställas upp för ett problem. Sådana problem kan istället ställas upp utifrån ett uppfattat samband mellan indata och utdata med exempelvis maskininlärningsmodeller.[3]

På IBM Cloud molntjänstplattform finns molntjänster som använder kognitiva programmodeller och använder dem i artificiell intelligens [4]. Dessa molntjäns- ter, är framtagna efter datorn Watson som utvecklades i ett forskningsprojekt på IBM Research.

Examination är ett arbete av dataanalyskaraktär, som inte har ett direkt samband med vad som avgör om ett examensarbete är godkänt eller inte. Det är därför lämpligt att applicera kognitiva programmodeller på ett sådant problem.

1.1.1 IBM Watson molntjänster

Historiskt sett har datorteknik gått igenom tre faser. I början på 1900 talet ställdes maskiner upp som bara hade ett syfte eller en uppgift. I mitten av 1900-talet kom möjligheten för en maskin att utföra flera olika typer av uppgifter enligt en pro- grammering och exekvera flera program parallellt. Idag pratas det om en ny epok som bygger på kognitiva programmodeller, mänsklig uppfattning, bedömning och inlärning i maskiner. [5]

Dataanalys görs i dagsläget i stor utsträckning av de företag som har internet-

(14)

tjänster, där några stora aktörer är Google, Amazon och Microsoft [6]. Den här rapporten behandlar en annan stor aktör inom molntjänster, IBM och dess moln- tjänster Watson. IBM Watson molntjänster började som ett forskningsprojekt år 2006 och år 2012 lanserades Watson molntjänster för industriellt bruk. [7] I den här rapporten syftas Watson på IBM Watson molntjänster och benämns härifrån enbart som Watson.

1.1.2 Examination

För att en student på en högskoleutbildning ska kunna ta sin examen, måste den- ne först utföra ett examensarbete med tillhörande examensarbetesrapport. Denna rapport ska sedan opponeras och examineras. Examination görs av en examina- tor, som utgår från ett antal mål i sin granskning.

Granskning av examensarbetesrapporter går ut på att se kvalitet utifrån en rap- port skriven på naturligt språk. Med hjälp av regler kan man ta fram data att be- döma rapporten på. Exempelvis kan dessa regler behandla användandet av källor, semantik, ordval eller längd på rapporten. Att ta fram regler för kvaliteten på rap- porten är en komplex uppgift, eftersom naturligt språk kan förklara begrepp på ett flertal sätt och med ett flertal ord. Kognitiva programmodeller beskriver detta problem på ett alternativt sätt, det vill säga genom att ta fram kvaliteter på exa- mensarbetesrapporten med AI (Artificiell Intelligens) applikationer.

1.2 Problemområde

I och med molntjänsternas framväxt och den snabba utvecklingen av maskinin- lärningssystem, öppnas nya möjligheter upp. Det finns ett stort intresse av att se vad som kommer att kunna skapas med hjälp av dessa tekniker i framtiden. Det lämnas ett kunskapshål och ett intresse att svara på frågan om vad som är möjligt med dagens molntjänster.

Samtidigt så automatiseras många tjänster i samhället. Kassor i matbutiker, damm-

(15)

sugare och även chaufförer, är alla tjänster som kan komma eller är på väg att bli automatiserade. Idag görs bedömning av examensarbeten med granskning utförd av kvalificerade examinatorer och har ännu inte automatiserats. Detta ger upphov till huvudfrågeställningen:

Hur kan man skapa en automatiserad examensarbetesrapportsgranskare med hjälp av IBM Watson molntjänster?

Denna huvudfrågeställning bryts ner till tre delfrågor för att metodiskt kunna sva- ra på den huvudsakliga frågeställningen:

1. Hur kan en mjukvaruexamensarbetesrapportsgranskare definieras?

2. Vilka tjänster har Watson?

3. Vilka av Watsons tjänster är användbara vid implementationen av en exa- mensarbetesrapportsgranskare och hur kan de användas?

1.3 Syfte och Mål

Syftet med det här examensarbetet är att skapa en uppfattning om hur långt da- gens molntjänster har utvecklats och utreda applicerbarhetskaraktärer av dessa tjänster. Målet är skapa en automatiserad examensarbetesrapportsgranskare med hjälp av tjänster som finns tillgängliga i Watson. Villkoren för examensarbetesrap- portsgranskning på examensarbetesrapportsgranskaren utgick efter de riktlinjer och mål på Högskoleförordningen och målet med villkoren var att definiera en allmän granskare. Det vill säga att granskaren inte riktas mot att granska exa- mensarbetesrapporter för ett specifikt program.

Slutsatserna från detta arbete är relevanta för de utvecklare och organisationer som funderar på att använda sig av molntjänster som bygger på kognition för att skapa appar med AI. Dessa kan då använda denna rapport för att bättra sina upp- fattningar gällande om deras egna idéer är implementerbara.

(16)

1.4 Avgränsningar

Denna rapport kommer endast behandla Watson molntjänster och inte några av dess konkurrerande tjänster, såsom Google Cloud. Anledningen till detta är främst att det fanns externa intressenter som kunde hjälpa till vid inlärningen om Wat- son. Denna rapport behandlar inte heller den dator Watson som vann i Jeopardy år 2011 [7, 8].

Projektet var tvunget att ha en pengamässig kostnadsbudget för använda tekni- ker och tjänster. Om inte utgifter kunde motiveras i förutsatt tid fanns inte dessa resurser att tillgå.

Eftersom Watson inte har fullt stöd för det svenska språket, vilket det har för engelska språket, så kommer examensarbetesrapportsgranskaren endast att be- handla rapporter skrivna på engelska. Detta innebär att alla rapporter och texter, som används i syfte att träna och testa en examensarbetesrapportsgranskare på, är skrivna på engelska.

1.5 Disposition

I kapitel 2 presenteras använda källor, relaterade arbeten. teori för relevanta tek- niker och en genomgång av de tjänster som erbjuds i Watson. I kapitel 3 presente- ras och motiveras den använda metoden. I kapitel 4 presenteras en definition av en mjukvaruexamensarbetesrapportsgranskare för att kartlägga vad som krävs av en mjukvaruimplementation. I kapitel 5 presenteras en analys av de Watson moln- tjänster som efter litteraturstudien ansågs relevanta för en empirisk studie. Det här kapitlet försöker svara på frågan ”Hur kan Watson molntjänster användas?”.

I kapitel 6 presenteras hur definitionen kan mötas i applikationer genom använd- ning av Watson molntjänster. Här presenteras både framtagna idéer och analys och utvärdering. Resterande kapitel ger en analys och utvärdering av projektet.

(17)
(18)

Kapitel 2

Teori

I sektion 2.1 presenteras använd information för definitionen av en examensarbe- tesrapportsgranskare. I sektion 2.2 presenteras bakomliggande information för de molntjänster som finn tillgänglig och några relevanta tekniker. I sektion 2.3 pre- senteras definition av Intelligens och AI system. I sektion 2.4 presenteras några teknik koncept och olika sätt att modellera dessa koncept. I sektion 2.5 presente- ras sammanfattningar gjorda av författarna om Watson molntjänster.

2.1 Examensarbetesbedömning

För att idealisera en enhetlig bedömning av examensarbetesrapporter, finns det ett antal definierade mål med examensarbetet som bedömningen följer. Målen är utformade för att bedöma hur examensarbetesrapporter visar på ämnesspecifika kunskaper inom det program som examen avser och hur de visar på kvaliteter för ett examina.

Under 2013 genomförde Universitetskanslerämbetet (UKÄ) en större granskning av kvaliteten i bedömningen av examensarbeten. De valde ut ett antal mål, defi- nierade av högskoleförordningen, för specifika utbildningar och examina. När de valde ut mål, utgick de ifrån vissa riktlinjer. UKÄ ville att resultatet av de grans- kade målen skulle kunna jämföras mellan program i utvärderingen, och att må-

(19)

len skulle vara karaktäristiska för den kunskapsform de gäller. Därefter tog de ut kriterier för Mycket Hög Kvalitet, Hög kvalitet och Bristande Kvalitet, där hög kvalitet motsvarar uppfyllande av Högskoleförordningens mål. [9]

2.2 Molntjänster

Molntjänster är ett namn för de datortjänster som kan nås över internet till ett så kallat ”moln”. Molnet representeras av en uppsättning servrar som kunden kan utnyttja. Till exempel skulle denna tjänst kunna behandla lagring av data och ut- förande av ett antal funktioner. Detta gör att kunden inte behöver utföra detta på sin lokala enhet. [1]

Molntjänster kan kategoriseras i tre lager, dessa är på engelska benämnda som Software as a Service (SaaS), Platform as a Service (PaaS) och Infrastructure as a Service (IaaS). Med SaaS menas de för allmänheten vanliga tjänster, såsom Google Drive eller Facebook, och funktioner som för utvecklare finns tillgängliga på in- ternet genom exempelvis API:er. PaaS möjliggör en plattform för utvecklare att integrera funktionalitet till. Exempelvis en webserver-plattform till vilken en ut- vecklare kan ladda upp html-kod. IaaS är på lägsta abstraktionsnivån och gäller implementationen av en molntjänst där utvecklare kan installera program som körs på ett beställt hårdvaruunderlag. IaaS är det som ligger till grund för pro- gram som försöker abstrahera de komplikationer som uppstår när flera enskilda maskiner används i symbios för att skapa en miljö av en virtuell maskin. Sådana virtuella maskiner bygger således på kluster och är ofta grunden för alla internet- tjänster oavsett form. [10, 11]

2.2.1 Kluster

Kluster (eng. cluster) applicerar delad arbetskraft över flera noder, där varje nod är en enskild maskin med distribuerad beräkningskraft. Det här möjliggör mer skalbara system och hantering av större typer simuleringar, vilka på en enskild maskin skulle ta för lång tid att genomföra. Genom att distribuera uppgiften på

(20)

flera maskiner blev dessa genomförbara inom rimlig tid. Tekniken och hantering- en av dessa kluster har utvecklats till att bli effektiva och välfungerande. Idag finns flera aktörer för molntjänster som tillhandahåller kluster i en dynamisk miljö. Ut- vecklingen av algoritmer och/eller mjukvara som på ett lämpligt sätt splittrar ett problem och fördelar det på massor av maskiner kom att bli nästa del av utveck- lingen inom klusters.

Spark är ett exempel på sådan mjukvara som abstraherar användningen av klus- ters genom att dirigera resurser och användning. Mycket av de problem som Spark ställs inför är liknande de problem ett OS möts av på enskilda maskiner. Spark och liknande mjukvara behöver ta hänsyn till att tillgänglig hårdvara kan förändras, och att sannolikheten för ett hårdvarufel ökar med mängden hårdvara som sätts in i systemet. Processernas kommunikation går i ett distribuerat system, ofta via nätverk som är mycket mer opålitliga än de kommunikationsbussar som finns in- byggda i ett enskilt system. Det här skapar ett behov av beständighet mot hård- varufel eller upptäckande av minskad prestanda för olika komponenter och deras förbindelse. [12]

2.3 AI - Artificiell Intelligens

För att reda ut vad som definierar en artitficiell intelligens, kan man först reda ut vad ”intelligens” är för något. R. J. Sternberg ger en sådan definition [13]: ”In- telligence is the cognitive ability of an individual to learn from experience, to reason well, to remember important information, and to cope with the demands of daily living”. E. Alpaydins definition [3] är mer anpassad för datorsystem: ”To be intelligent, a system that is in a changing environment should have the ability to learn”. Intelligens kan alltså ses som en förmåga hos en individ att lära sig av sin miljö, varvid artificiell intelligens ses som förmågan skapad på konstgjort sätt.

Förmågan intelligens i sig är någonting utan en allmän definition [14, 15], och ex- periment har genomförts i syfte att sätta nån mening till vad förmågan symbolise- rar. Varifrån IQ (eng. Intelligience Quoticent) härstammar, för att göra intelligens mätbart [16].

(21)

Det finns alltså inte någon allmänt accepterad definition för vad som är en arti- ficiell intelligens, och det finns därmed de som anser att en artificiell intelligens inte existerar. I sammanhanget av den här rapporten används AI för att benäm- na de maskiner som sätts upp med ambitionen att skapa kognitivitet i maskinen.

Maskininlärning kan ses som en del av AI i den bemärkelse att maskinlärning för- söker efterlikna olika naturliga företeelser med maskininlärningstekniker, och en vanlig applikation i maskininlärning är att få maskiner att tolka sin omgivning.

2.4 ML - Maskininlärning

Maskininlärning (eng. Machine Learning) gäller hur en dator anpassar sitt bete- ende efter en bedömningsprocess. Maskininlärning växte fram ur ett behov att skapa algoritmer från en stor mängd data, lära sig på vilket sätt input och out- put kopplas ihop. Ett exempel är bearbetning av skräppost och beslut om mejl är skräppost eller inte.

Även om en algoritm inte kan produceras med ML-metoder, går det att hitta möns- ter i hur indata är kopplat till utdata. Dessa mönster bygger på det förflutna, men genom att anta att mönstren går att applicera på ny data finns möjlighet att göra förutsägelser om det nya insamlade materialet. Användningsområdena för maski- ninlärning är många, där försäljning och finans är två exempel. [3]

2.4.1 Struktur

En intelligens kan analysera sin omgivning, och med hjälp av denna analys skapa ett val eller svar som den sedan kan presentera. Dessa tre steg kan beskrivas med uttrycket:

X = h◦ f ◦ π

Där funktionen π tar in en mängd data från omgivningen Σ och konverterar den- na data till ett format som tillfredsställer de interna behoven för intelligensen. f

(22)

tar denna data i sitt nya format och ger ut ett val eller svar till datan. Notera att f är själva kärnan i algoritmen och att både dess indata och utdata represente- ras i det interna formatet. Slutligen konverterar h utdatan från f till ett format i omgivningen O som är tillfredsställande för presentation. [17]

Som exempel kan man anta att intelligensen är bildigenkännare av handskrivna siffror. Vi låter då en bild av en handskriven siffra i Σ betecknas x. Först konver- terar π bilden till ett format som passar den interna strukturen för intelligensen.

π(x)skulle då kunna ge ut exempelvis en boolesk matris m där varje element mot- svarar en pixel i bilden. Variabeln skulle då kunna vara true om pixeln är markerad och annars false. Därefter ger f (m) ut en tolkning t av siffran. Denna tolkning lig- ger då i ett intern format, exempelvis one-hot kodning. h konverterar denna tolk- ning till ett mer tillfredsställande resultat r = h(t) i O, exempelvis ASCII-grafik som är enkelt för människor att läsa och därmed ett tillfredsställande presenta- tionsformat. [17]

Genom att se intelligensen som en funktion X av x ∈ Σ så blir det även möjligt att se svaren O som lösningar kopplade till omgivningen Σ. Beroendet mellan π, f och h blir därmed tydligt: Om π inte gör en tillräcklig konvertering, kommer f inte att ta beslut på den omgivning Σ som är given och h kommer därmed ge en felaktigt presentation. Att välja vilka parametrar som f ska ta hänsyn till är väldigt centralt i lärandet av intelligensen.

2.4.2 Maskininlärningsmodeller

Maskininlärning är ett koncept och kan därför ställas upp och beskrivas på flera sätt. Detta görs ofta med så kallade maskininlärningsmodeller, som ett sätt att förklara hur en särskild företeelse modelleras. Modeller för kognitiva system har ofta en omgivning, som ger indata och som också ibland utdatan påverkar.

Modellerna kan i stora drag delas in i tre kategorier. Supervised Learning, in- lärningen sker från en bedömning för varje input. Unsupervised Learning, ingen respons från handlingarna. Reinforcement Learning, som kan förknippas med Supervised Learing då feedback existerar, men bedömningen sker först vid upp-

(23)

fyllande av ett visst tillstånd, istället för att varje tillstånd eller varje input. [18]

2.4.3 Supervised Learning

I Supervised Learning använder man sig av sambandet mellan värdena σ och o, där σ ∈ Σ och o ∈ O. Genom en utomstående aktör, en så kallad ”supervisor”, skapar ett facit L ={{σ1, o1}, {σ2, o2}, ...}, där varje σ matchas ihop med sitt kor- rekta svar o. Med hjälp av detta set L kan då en modell skapas och tränas upp, som då kan tolka omgivningen Σ samt ge korrekta svar tillhörande O. [17] Ett exempel vore om man har invärden σ och utvärden o som kan kopplas samman. Då försö- ker man hitta en modell M som så bra som möjligt motsvarar förhållandet mellan σoch o så att M (σ) = o. M (σ) skulle kunna vara σ ∗ k + M0, där konstanterna k och M0 bestäms i träningsprocessen. [3]

2.4.4 Unsupervised Learning

I Unsupervised Learning sker inlärning endast från indata Σ och har därför ingen utdata O att rätta sig efter. Syftet med unsupervised learning är att hitta mönster i indatan istället för att, som i supervised learning, hitta en modell att koppla ihop in- och utdata till. Man skulle till exempel kunna dela upp indata i kategorier och notera kraftig avvikande indata. Ett exempel som bygger på unsupervised learning är bildkomprimering. Ett program analyserar alla pixlar i en bild och skapar ka- tegoriseringar, som sedan kan användas för att komprimera bilden. Till exempel kan olika nyanser av en färg grupperas till ett medelvärde för att minska antalet bitar som används för färgdjupet. [3]

2.4.5 Reinforcement Learning

Reinforcement Learning bygger på att en enskild handling inte kan tolkas enskilt, utan det är en sekvens av handlingar som påverkar resultatet tillsammans. Till exempel så kan man tycka att det är bra att ett flygplan landar på landningsbanan,

(24)

men bara förutsatt att flygplanet har fällt ut landningshjulen. I Reinforcement Learning körs först en sekvens av handlingar, och efter att sekvensen är utförd och bedömning finns tillgänglig, blir hela sekvensen bedömd. I exemplet skulle alltså systemet fått beröm när det fällt ut landningshjulen innan det landade men inte annars. [3]

Ett exempel på en modell för Reinforcement Learning är Q-modellen. Q-modellen bygger på att varje tillstånds möjliga beslut ger ett Q värde från en uppskattning av belöning för det paret. Inlärning sker genom att utforska möjliga vägar för ett tillstånd, tagna med högst sannolikhet att ge hög belöning, tills dess att en väg når målet. Q-modellen tar hänsyn till olika förhållanden i inlärningen, såsom vikten av ny data (learning rate), vikten av framtida belöningar eller belöningar som ges i närheten (discount factor). Andra modeller för Reinforcement Learning finns också, exempelvis finns de som tar hänsyn till en viss sannolikhet i beslutstagandet till skillnad från Q-modellen som tar beslut enbart efter ett beräknat Q-värde (se figur 2.1). Reinforcement Learning är en lämplig algoritm för att ta beslut i en osäker omgivning. [18]

Figur 2.1: Q-modellsinlärning, bild tagen från [18]

2.4.6 ANN - Artificiella Neurala Nätverk

Artificiella neurala nätverk (eng. Artifical Neural Networks) är maskininlärnings- modeller, vilka kategoriseras till Supervised Learning. Dessa använder tekniker

(25)

liknande de som gör att människor kan resonera och ta beslut. I neurala nätverk ställs ett antal noder upp, som kan reagera på en viss indata. Alla noder reagerar annorlunda enligt en teknik som kallas viktning. Viktning är ett sätt att anpas- sa noderna så att systemet ger rätt utdata. [2] De finns flera sätt att göra denna anpassning, men de vanligaste tre är [2]:

• The Perceptron Learning Rule

• Deltaregeln (eng. The delta rule)

• Backpropagation

2.4.7 NLP - Natural Language Processing

Natural Language Processing är bearbetning av naturligt språk. Med naturligt språk så menas de språk som vi människor använder för att kommunicera med varandra, exempelvis svenska eller engelska. Om ett program är fullständigt inte- grerat med NLP, så ska man på ett naturligt sätt kunna prata eller skriva till ett program, utan att behöva översätta det till något speciellt format.

I början på 2000-talet publicerades en stor databas med annoterat skrivet ma- terial, som kom att ha stor betydelse för utvecklingen av dagens NLP-maskiner.

Annotationerna gav möjligheten för datorprogram att utvärdera beslut tagna gäl- lande syntax och semantik. Utvecklingen av datorsystem och dess prestanda, till- sammans med den växande utbredning av internet, gav möjlighet till avancerade granskningsalgoritmer. Granskningsalgoritmer som kan hantera stora mängder data och anpassas efter många kriterier. Appliceringen på Artificiell Intelligens blev aktuell när datorprogram korrigerade sin tolkning efter en given inlärnings- struktur. Ethem formulerar intelligens: ”To be intelligent, a system that is in a changing environment should have the ability to learn. If the system can learn and adapt to such changes, the system designer need not foresee and provide solutions for all possible situations.” [3]

Tre angreppssätt gällande NLP kan tas beroende på hur en väljer att implemen- tera tolkningen av ostrukturerad data. Två av dessa är stokastiskt och symboliskt.

(26)

Stokastiskt är när tolkningen kan bero på viss säkerhet. Symboliskt är när tolk- ningen kan förlita sig på att ord representerar en innebörd. [2]

Natural Language Understanding (NLU) är en underkategori till NLP. Som nam- net antyder handlar NLU om själva tolkningen och förståelsen om det naturliga språket. Vid hantering av naturligt språk av datorer finns det många faktorer att ta hänsyn till. Texten kan vara skriven på flera olika sätt och i olika format. Ord kan formas på flera sätt och ha böjningar. Orden kan bindas på flera sätt (syntax).

Grammatik bygger upp meningar i olika delar, vilka har olika semantiska roller.

[2]

2.4.8 System som använder Natural Language Processing

Idag utnyttjar flera system NLP. Positioneringssystem använder sig av talbehand- ling och text-to-speech (översättning av text till tal, talsyntes [19]). Resebyråer tillhandahåller tjänster som tolkar intressen hos kunden och gör avancerade sök- ningar. Videosökmotorer analyserar innehållet i videor genom att bearbeta tal i ljudspåret. Google analyserar stora mängder data och gör informationssökningar över flera plattformar, genom att översätta söksträngar och göra klumpsökningar.

[2]

2.5 Watson molntjänster

Watson är dels en samling tjänster för att hjälpa utvecklare att bygga AI applika- tioner. Watson molntjänster bygger på kognitiva systemmodeller, alltså förståelse från en omgivning i en miljö som förändras. Sektion 2.5.1 behandlar ett koncept som är aktuellt för Watson, men presenterar ingen specifik tjänster som sektio- nerna 2.5.2 till 2.5.9 gör. Tjänsterna är i ordningsföljd presenterade i samlad form efter karaktärerna, namn, funktion, webbtjänst och API i tabell 2.1. De diskuteras sedan mer ingående i varje sektion. Watson Knowledge Studio 2.5.10 och Watson Studio 2.5.11 är miljöer för att hantera andra tjänster och har verktyg för projekt- organisering.

(27)

Namn Funktion Användning Machine Learning kolumnförutspåelse API

Natural Language Un- derstanding

textextratktion (textförut- spåelser)

API

Discovery tolkning och analys av tex- ter

API/Browsergränssnitt

Natural Language Clas- sifier

tolkning av mening- ar/paragrafer

API

Visual Recognition tolkning av bilder API/Browsergränssnitt Tone Analyser tolkning av uttryck i texter API

Natural Language Translator

översättning av text API

Peronality Insights tolkning av användardata API Text to Speech synthesiering av text API

Speech to Text tolkning av tal API

Watson Assistant tolkning av text och svars- bearbetning

API/Browsergränssnitt

Knowledge Studio skapa maskininlärnings- modeller och regelbasera- de modeller

Browsergränssnitt

Watson Studio Samling av verktyg och funktionalitet för tjänsten ML

Browsergränssnitt

Tabell 2.1: Samlad tabell av Watson moln molntjänster

2.5.1 Inlärningsmodeller

I Watson finns två olika typer av modeller, en modell som beskrivs genom maski- ninlärning och en modell som beskrivs genom regler. Båda modellerna används däremot för att extrahera information från text eller göra förutsägelser.

• ML-baserad modell, tas fram genom att modellen anpassas efter förfluten data för att göra förutsägelser om ny data.

• Regelbaserad modell, en regelbaserad modell kan komplettera en inlärd mo-

(28)

dell, eftersom regelbaserade modeller kan ge en säker angivelse, givet att re- geln stämmer. Regelbaserad modell är ett sätt att utifrån ett framtaget sam- band ge annotationer.

2.5.2 IBM Watson Machine Learning

Watson Machine Learning (ML) är ett API som inriktar sig mot utvecklare och så kallade ”Data Scientists”. Genom integration med andra tjänster kan tjänsten beskrivas som två steg, ”training” och ”scoring”. Där ”training” är det steg då en maskininlärningsmodell tas fram och ”scoring” är att använda modellen på ny data. Det erbjuds en stor mängd olika tillvägagångssätt för att skapa modellen, olika grafiska applikationer skapade av IBM finns tillgänligt, men även språk som Scala eller Python kan användas. [20]

2.5.3 IBM Watson Natural Language Understanding

Watsons Natural Language Understanding (NLU) är en tjänst som analyserar text skrivet på ett naturligt språk, såsom engelska. NLU läser in ett text-dokument och ger ut data, beroende på vilken data som efterfrågades.

För att kunna utnyttja NLU-tjänsten måste först en ML-modell ha exporterats till tjänsten. Denna modell kan antingen vara NLU:s tränade standardmodell, eller en egen anpassad modell. Den egna anpassade modellen kan användaren bygga och träna själv i Watson Knowledge Studio. Watson Natural Language Understanding stödjer följande data-analyser [21]:

• Sentiment analyserar hur positiv/negativ en uppfattning är över en text el- ler en specifikt fras. Uppfattningen anges som variabeln score och varierar på en skala från -1 till 1, där 1 är väldigt positivt och -1 är väldigt negativt.

Användaren specificerar vilka fraser i texten som den vill analysera samt om den vill visa analysen av hela textdokumentet eller ej.

• Emotion fungerar liknande sentiment, men analyserar utifrån känslorna:

(29)

sorg, lycka, rädsla, avsky och ilska, istället för positivt/negativt. Variabeln score går i en skala från 0 till 1, där 0 betyder att objektet inte överensstäm- mer med känslan och 1 betyder att objektet överensstämmer väl med käns- lan. Likt sentiment, kan emotion analysera både hela texten och specifikt valda termer.

• Categories anger kategorier för texten, där kategorierna kan vara upp till och med fem nivåer höga. Hur säker NLU-tjänsten är på att en kategori är relevant, avspeglas på en variabel score som går från 0 till 1. Värdet 0 betyder att den är väldigt osäker och 1 betyder att den är väldigt säker. Ett anrop med categories ger tillbaka de tre kategorier med högst score. Kategorierna är förutbestämda och kan därför inte anpassas efter behov. Ett exempel på en tre nivåer hög kategori är ”/science/mathematics/statistics”.

• Concepts ger ut vilka koncept som behandlas i texten. Likt categories behö- ver ett koncepts namn inte uttryckligen finnas i texten för att kunna iden- tifieras. En text som behandlar artificiell intelligens behöver alltså inte ha med termen ”artificiell intelligens” för att NLU-tjänsten ska identifiera con- ceptet ”artificiell intelligens”. Concepts har dock ingen förbestämd lista med koncept att välja från.

• Keywords hittar relevanta nyckelord i texten. Likt concepts är dessa nyc- kelord inte definierade i förväg, dock extraheras dessa ur texten. I kontrast till concepts behandlar keywords en lägre nivå av texten. De utvalda nyc- kelordens relevans specificeras av variabeln ”relevance” som går från skalan o till 1, där 0 är låg relevans och 1 är hög relevans. Det är även möjligt att kombinera nyckelorden med emotion och sentiment.

• Meta-data anger den meta-data som är kopplad till texten, till exempel vilka författare som finns och vilken titel texten har.

• Entities annoterar ord och termer i en text till förbestämda termtyper, så kallade entities. Entities kan bestå av en huvudtyp och en subtyp, till ex- empel skulle en entity ”School_Subject” kunna ha subtyperna ”Biology” och

”Math”. En entity måste ha en huvudtyp, men den behöver inte ha en sub- typ. Till en entity av typ ”food” skulle termer som ”bread” och ”pasta” kunna

(30)

ingå, medan hos en entity av typ ”organization” skulle termer som ”KTH”

och ”United Nations” kunna ingå. Dessa termer kommer alltid tillhöra sam- ma entity och skulle därför kunna regelbaseras. Det vill säga att varje gång dessa termer nämns i en text, så annoteras de till respektive entity, oavsett sammanhang. Notera dock att termer som ”apple” skulle kunna ingå i bå- de kategorierna ”food” och ”organization”, beroende på om man syftar till företaget eller frukten. En sådan egenskap kan alltså inte vara regelbase- rad eftersom den kräver en högre analytisk förmåga. Modellen ska i detta fall kunna avgöra, utifrån textens sammanhang, vilken entity som termen passar in hos. Båda dessa regel- och oregelbundna egenskaper finns för ett bestämt antal entities i standardmodellen, men man kan även träna en egen anpassad modell i Watson Knowledge Studio. Enitites kan kombineras med emotion, sentiment och mentions.

• Relations identifierar relationer mellan två entities. Till exempel kan en re- lation ”AwardedTo” relatera entites för ett pris och dess vinnare. I stycket

”Robert won the World Cup”, skulle en entity ”Winner” kunna annoteras till ”Robert” och en entity ”Award” kunna annoteras till ”The World Cup”.

Relationen skulle då kunna vara: ”Winner” + won + ”Award”. NLU:s stan- dardmodell är tränad för ett antal relations, men det går även att skapa egna med en egen ML modell i Watson Knowledge Studio.

• Semantic Roles kan dela upp en vald fras i subjekt, verb och objekt. Till ex- empel kan frasen ”Erik har en boll” delas upp i subjektet ”Erik”, verbet ”har”

och objektet ”en boll”. Vidare kan semantic roles kombineras med entites och keywords för utökad information om de extraherade objekten och sub- jekten.

2.5.4 IBM Watson Discovery

Discovery är ett verktyg och användbar tjänst med ett associerat API. Tjänsten kan ta en pdf fil (max 50 MB eller 50000 karaktärer), konvertera den till html, dela upp den i sektioner och förknippa urklipp i texten till att matcha klasser (eng.

(31)

classes). Klasser är liknande de som beskrivs i Natural Language Classifier i sek- tion 2.5.3, en gruppering som meningar eller textstycken kan grupperas till. Ur- klippsassociationerna (benämnt elementberikning) är en berikning gjord med fle- ra typer av extraktion som kopplas med texten. Discovery erbjuder klassificering av urklippen och kallar det för Element Classification. Tjänsten kan även ge den information som NLU ger om texten och använda en anpassad modell för entiti- es och relations. Discovery applicerar olika kognitiva modeller för att analysera data med målet att bygga information och mönster. Detta görs genom att texten berikas. Elementberikning skiljs från textberikning genom vilken metod som an- vänds för berikningen. Antingen sker berikningen på urklippen (elementen) eller så sker den på texten. Textberikning kan liknas vid det NLU-tjänsten erbjuder.

Discovery används främst för kunskapssökning eller för att hitta dokument. Tjäns- ten bygger upp kunskap från insamlat textmaterial och sökningar görs med sök- strängar (eng. queries). Sökningar kan göras för att hitta dokument som har ett visst innehåll och presentera vad för berikning som sökningen matchar. Doku- menten går att ladda upp direkt på Discovery webbgränssnitt eller genom API:er.

[22, 23, 24]

Element Klassification i Discovery är specialiserad mot att berika kontrakt och har därför lämpligt förinställd och tränad klassificering för just det ändamålet.

De olika delarna som kan tas ut i element klassification är följande [22]:

• sentence_text texten som syftas till i klassificeringen.

• sentence objektet beskriver var elementet hittades i den converterade HTML filen.

• types beskriver vad elementet är (nature) och vem det påverkar (party).

• categories listar funktionella kategorier eller ämnesområden av den identifi- erade meningen. Discovery analyserar i types, party och nature samt vilken category urklippet tillhör.

Följande är ett exempel taget från [23] för att ge en uppfattning om vad par- ty och nature är:

(32)

Discovery har ett antal sätt att söka i de dokument som laddats upp för att kunna få den information som man är ute efter. Det går att söka med strukturerad söksträng eller en söksträng skriven på naturligt språk. Det går också att ställa in olika typer av analys för sökningen, exempelvis hitta den entity-term med högst frekvens.

2.5.5 IBM Watson Natural Language Classifier

Tjänsten Watson Natural language Classifier klassifiserar termer och/eller kor- tare text. Användare kan skapa egna Classifiers och träna dessa. [25] Tekniken som används vid denna tjänst är ”Deep learning” [26]. Watson Classifier kan trä- nas för en specifik domän genom att träningsdata ges. Träningsdata består av ord eller texter på rekommenderat max 80 ord med associerad klass/klasser. [27]

2.5.6 IBM Watson Visual Recognition

Watson Visual Recognition är en tjänst för bildigenkänning. Denna tjänst kan an- vändas för att analysera vardagsobjekt så som ansikten. Tjänsten kan antingen utnyttja en redan tränad modell eller låta användaren skapa och träna en egen.

[28]

2.5.7 IBM Watson Tone Analyzer

Watson Tone Analyzer är en tjänst som analyserar tonen i en konversation. Den analyserar tre typer av toner: känslor, sociala benägenheter och språktyp. [29]

(33)

2.5.8 IBM Watson Personality Insights

Personality Insights är en tjänst som analyserar beteende och psykologiska egen- skaper hos en person med hjälp av data hämtat ur social media och dess transak- tioner. [30]

2.5.9 Resterande tjänster

Utöver de tidigare nämnda tjänsterna så har Watson molntjänster även IBM Wat- son Text to Speech, IBM Watson Speech to Text, IBM Watson Natural Language Translator och IBM Watson Assistant.

Text to Speech skapar tal från text på syntetiskt sätt med hjälp av ljudskapande datorprogram [31]. Speech to Text skapar text från tal [32]. Natural Language Translator översätter texter mellan språk [33]. Watson Assistant är en tjänst för att skapa och använda en AI assistant (chatbot) [34].

2.5.10 IBM Watson Knowledge Studio

Watson Knowledge Studio (WKS) är ett verkyg som, till skillnad från bland an- nat NLU och ML, inte själv anropas som en molntjänst (har inget associerat API).

WKS är istället ett verktyg för användare att skapa och modifiera egna maskinin- lärningsmodeller för bland andra NLU-tjänsten. Detta gör det möjligt för använ- dare att skapa modeller anpassade efter just deras behov. Till exempel kan en an- vändare då skapa ett eget sätt entities, som bättre motsvarar det tänkta använd- ningsområdet. För att träna upp sin modell på dessa nya entites måste användaren skapa nya dokument och annotera dem. Annoteringen går till så att användaren lägger upp ett antal dokument och markerar vilka ord i dokumenten som tillhör vilka entites. Dessa annoteringar är vad modellen ska tränas för att hitta och iden- tifiera under träningen. När ett godtyckligt antal dokument har annoterats, kan modellen tränas utifrån dessa. Dessa ML-modeller skapade i Watson Studio kan sedan användas till tjänsterna Watson Natural Language Understanding, Watson

(34)

Discovery och Watson Explorer [35].

Efter att ha skapat en ML-modell i Watson Knowledge Studio, så skapas även en analys av modellens kvalité. Denna analys består av ett antal variabler, bland an- nat precision och recall. Med hjälp av dessa värden och annan given information blir det enklare för användaren att förbättra sin modell. Precision P och recall R defineras av följande formler [36]:

P = Antalet korrekt angivna annoteringar

Totala annoteringar givna och R = Antalet korrekt angivna annoteringar Maximala antalet korrekta annoteringar

Precision kan alltså ses som ett mått på hur säker modellen är i att identifiera an- noteringar. Om precisionen är hög så är chansen stor att en gissning som modellen har angivit är korrekt. Om precisionen är låg så är risken stor att en gissning är felaktig.

Recall representerar å andra sidan hur stor andel av, de i förväg angivna, annote- ringarna som identifierades av modellen. Om Recall är hög så har en stor andel av annoteringarna identifierats. Om den är låg så har många annoteringar missats.

2.5.11 IBM Watson Studio

Watson Studio samlar ett antal tjänster och miljöer att modifiera och kan använ- das för att skapa modeller till Watson Machine Learning. Watson Studio är utfor- mad för projektorganisering och dataanalys. [37]

2.6 Huvudlitteratur och relaterat arbete

Litteratur för artificiell intelligens och olika tekniker som applicerar AI är mesta- dels tagen från två böcker skrivna om dessa områden. Böckerna beskriver kon- cept och tekniker som är relaterade för huvudområdet och är både matematisk och tekniskt lagda. Ingen litteratur för examination har används men konsulte- ring från examinatorer har skett genomgående. Fakta om molntjänster har häm- tats huvudsakligen från artiklar och webbsidor som vi ansåg tillförlitliga. Tabell

(35)

2.2 sammanfattar använda källor för intresserad läsare.

Relaterade arbeten kan delas upp i två grupper, de som behandlar molntjänster och de som behandlar uppsatsrättning. Det presenteras inte något arbete som län- kat till dessa områden, då något sådant inte hittades. Dock hittades program, vil- ka finns som mjukvarutjänster på internet (SaaS), som erbjuder uppsatsrättning (eng. essay scoring). I den här rapporten undersöks en mer djupgående förståelse för texter och möjligheten att granska examensarbeten med molntjänster. Tabell 2.3 presenterar en sammanfattning av relaterat arbete för intresserad läsare.

(36)

KällaFörfattareAnvändinformation HemsidaförIBMCloud molntjänstplattformIBMInformationomspecifika IBMWatsonmolntjänster. Utvärderingavutbildning- arinomingenjörs-ochtek- nikvetenskap2013

UniversitetskanslersämbetetMetoderförattbedömma examensarbeten. IntroductiontoMachine LearningE.AlpaydinGrunderförmaskininlär- ningocholikamaskinin- lärningsprocesser. MachineLearningMorganKaufmannMatematikenochden överliggandestrukturen bakommaskininlärning. AutomatedOverlayVirtu- alNetworkingManagerfor OpenFlow-BasedInterna- tionalSDN-CloudTestbed

JunsikShinandJongWonKimSamladteoriförövergri- pandebildavmolntjänster gjordavförfattare. ArtificialIntelligenceinthe 21stCentury(2ndEdition)Lucci,Stephen,KopecandDannyArtificiellintelligensoch maskininlärningsteori IntroductiontoMachine LearningEthemAlpaydinBegreppochkonceptför maskininlärning Tabell2.2:Sammanfattningavlitteratur

(37)

KällaFörfattareOmråde AttdriftsättaimolnetBlomTryggveOlikauppsättningarav molntjänstersamtderas fördelarochnackdelar. ÖvergångentillmolnetErikssonPatrik,SkoogChristianViktigaaspekteratttahän- syntilliövergångentill molntjänsterochivilken ordningsakerbörgöras. AutomatedEssayScoring forSwedishRobertÖstlingmedflerRättningavsvenskanatio- nellaprovensuppsatser, baseratkvalitetsindikato- rersåsomgrammatik. ApplyonInstanceofCloud WatsonCognitiveCompu- tingSystem

ChiZhangUndersökerkopplingar mellanmolntjänster,IBM ochsmartastäder. AutomatedEssayScoring, ScoringEssaysinSwedishAndréSmolentzovAnvänderstandardsuper- visedMLmetoderföratt utvärderafyraolikasättatt rättauppsatser. Tabell2.3:Sammanfattningavrelateratarbete

(38)

Kapitel 3

Metod

I sektion 3.1 förklaras hur undersökningsmetoden och projektmetoden motive- rats och inspirerats. I sektion 3.2 förklaras undersökningsprocessen. I sektion 3.3 förklaras projektetmetodik, hur projektet hanterades. Sektion 3.4 förklarar vilka tekniker som används i projektet. I sektion 3.5 förklaras hur resultatet och ar- betsprocessen dokumentarades. I sektion 3.6 beskrivs hur projektets olika delar valideras.

3.1 Metodologi

Olika metodologier användes för att minska risken att undersökningen misslyckas eller blir ineffektiv och att delar behöver göras om. Det här projektet har inga tyd- liga tillvägagångssätt vad det gäller implementationen av mjukvara. Det är istället en del av undersökningen att reda ut hur mjukvaran kan implementeras. Karaktä- ren för projektet är således bestående av forskning och logiskt resonerande utifrån olika upptäcker.

(39)

3.1.1 Undersökningsmetodologi

För att definiera en lämplig undersökningsmetod användes kända ramverk för skapandet av sådana. Eftersom projektets problemområde är starkt kopplat till teknologi, så har undersökningsmetoden inspireras av Anderssons och Ekholms generalisering [38] av Bunges kända teknologiska forskningsmetod [39]:

1. Hur kan den aktuella problemställningen lösas?

2. Hur kan en teknik/produkt utvecklas för att lösa problemet på ett effektivt sätt?

3. Vilket underlag/information finns och erfordras för att utveckla tekniken/produkten?

4. Utveckla tekniken/produkten utifrån underlaget/informationen i steg 3. Om tekniken/produkten visar sig fullgod, gå till steg 6.

5. Försök med en ny teknik/produkt

6. Skapa en modell/simulering av den föreslagna tekniken/produkten.

7. Vad medför, alltså vilka är konsekvenserna av, modellen/simuleringen i steg 6?

8. Testa tillämpningen av modellen/simuleringen. Om utfallet inte är tillfreds- ställande gå till steg 9, annars gå till steg 10.

9. Identifiera och korrigera för brister i modellen/simuleringen.

10. Utvärdera hur resultatet i förhållande till befintlig kunskap och praxis, samt identifiera nya problemområden för fortsatt forskning.

Både Bunges [39] metodologi och den använda metoden lägger vikt vid att först hitta teoretiska lösningar, se punkt 2 och 3. Punkt 4 kan också formuleras som att undersöka hur applicerbara lösningarna är för det aktuella problemet. Om lös- ningarna är fortsatt intressanta och faller inom ramarna för en definierad modell av problemet, görs en praktisk implementation. Denna implementation utvärde- ras för att analysera dess värde som slutgiltig lösning.

(40)

3.1.2 Projektmetodologi

Projekt kan variera i omfattning, resurser, krav och flera andra faktorer [40]. Pro- jektets genomförbarhet syftar ofta på använd projektmetodologi och därför moti- veras projektmetoden utifrån tidigare studier och litteratur. För att minska risken att projektet inte överstiger en viss budget av tillgängliga resurser, finns ramverk för att reglera omfattningen av resurser. Förekommande faktorer i ramverken är tid, kostnad och resultat. [41, 40]

I det här arbetet används MoSCoW för att reglera resultatet eftersom både tid och kostnad är fasta och inte går att reglera.

3.2 Undersökningsmetod

För att undersöka huvudfrågeställningen krävdes det en hel del kunskap om vilka tjänster Watson erbjuder samt hur de används. Efter att detta hade undersökts, definierades de första villkoren som en applikation måste uppnå för att få kallas

”automatiserad examensarbetesrapportsgranskare”. Med hjälp av denna förkun- skap, grundades rationella idéer om hur villkoren kunde uppfyllas. När antingen idéerna tagit slut och/eller om en idé empiriskt bevisats uppnå ett villkor, så un- dersöktes nya villkor. När ett tillräckligt antal villkor definierats och uppnåtts, tes- tas examensarbetesrapportsgranskaren i sin helhet mot ett antal rapporter. Pro- cessen illustreras i processdiagram 3.1.

Första delen av undersökningen bestod av en rationell litteraturstudie av området i sin helhet, därefter gjordes en empiriskt undersökning av Watson molntjänster.

Sedan sattes de första villkoren upp, varpå de försökte uppnås genom empiris- ka tester baserade på rationell kunskap från de tidigare studierna. Dessa två steg itererades tills antingen det inte behövdes definieras fler villkor eller att arbetet började få slut på tidsresurser.

(41)

Figur 3.1: Övergripande metoden

3.2.1 Litteraturstudier

För att kunna använda Watson molntjänster och för att kunna välja vilka av des- sa tjänster som är relevanta, så behövdes baskunskaper om dessa. Baskunskaper byggde på ett antal litteraturstudier. Litteraturstudierna delades in i 3 tillstånd som också illustreras i figur 3.2:

1. Bred kunskap inom IBM Cloud molntjänstplattform och Watson.

2. Bred bakgrundskunskap om relevanta tekniker och ramverk.

3. Djupa kunskaper inom specifika tjänster.

Eftersom Watson bygger på kognitiva programmodeller och stödjer olika ram- verk, var det viktigt att förstå på vilka sätt dessa lämpligen används. Sedan behöv- des en viss förståelse för hur man använder miljön för själva tjänsterna på IBM Cloud molntjänstplattform i kombination med Watson molntjänster. Det omfat- tar uppsättningen av konton, användare och registrering av tjänster samt använd- ning av tjänster överlag. Med hjälp av denna breda kunskapsbas var det möjligt att lokalisera de tjänster inom Watson som var relevanta och som kunde använ- das vidare i projektet. De tjänster som redan vid litteraturstudien kunde identi-

(42)

fieras som irrelevanta sållades således bort, för att sedan kunna fokusera på de relevanta tjänsterna i processen ”Analys av Watson-tjänster”. Hela litteraturstu- dieprocessen var iterativ, då man ständigt gick tillbaka, när kunskapsbasen inte var tillräckligt stor.

Figur 3.2: Litteraturstudieprocessen

3.2.2 Fördjupande analys av Watsontjänster

När litteraturstudierna var färdiga, hade ett antal tjänster isolerats och klassats som ”relevanta”. Dessa tjänster var då extra viktiga och skulle därför analyseras ytterligare. Denna utökade analys baserades på kunskap som tagits fram i lit- teraturstudien men framförallt på empiriska studier för att undersöka tjänster- nas funktionalitet. Processen illustreras i figur 3.3. De empiriska studiernas mål var att undersöka om uppfattningen av tjänsternas funktionalitet stämde överens med verkligheten, vilka begränsningar och förutsättningar som dessa tjänster ha- de och ge transparens om hur vi drog slutsatser om tjänsternas funktionalitet. Om

Figur 3.3: Processen att analysera Watson-tjänsterna

(43)

en tjänst inte visade sig vara tillräckligt relevant, eller om det inte gick att praktiskt använda tjänsten, exempelvis på grund av kostnads begränsningar, så lämnades fortsatt utredning av tjänsten. Processen gick sedan vidare till att undersöka nästa tjänst, tills alla relevanta tjänster hade testats, då analysen ansågs klar.

3.2.3 Definition av examensarbetesrapportsgranskare

En applikation som kvalificeras som examensarbetesrapportsgranskare måste upp- fylla ett antal villkor. Denna lista med villkor skapades genom en process som re- presenteras av figur 3.4. Examensarbeten granskas utifrån kursmål, och därför måste även en mjukvaruexamensarbetesrapportsgranskare kunna bedöma uti- från dessa. För att uppnå detta så definierades ett eller flera villkor utifrån ett godtyckligt kursmål. Villkoret delades även upp i flera delvillkor, där det första delvillkoret var enklast och det sista delvillkoret ansågs mest avancerat. Dessa vill- kor granskades sedan av en professionell examinator för att upprätthålla en god kvalité och trovärdighet på kravens betydelse. Villkoren justerades i konsultering med examinatorn tills att kvalitén var tillräckligt hög. Vid varje iteration, av denna del i processen, definierades fem villkor.

Figur 3.4: Processen att skapa definitionen

3.2.4 Implemenentation av villkor

När villkor fanns definierade och Watson molntjänster hade haft sin utökade ana- lys, kunde en implementationsprocess påbörjas, presenterad i figur 3.5. Med stöd av kunskaper från tidigare delar i undersökningen, togs implementationsidéer

(44)

fram för en mjukvaruimplementation som uppfyller villkoren. När idéerna ska- pats, testades de iterativt i praktiken och validerades efter givna testmetoder. Om delvillkoret ansågs vara uppnått efter testningen så började processen om på nästa delvillkor och dess implementationsidéer. Om delvillkoret inte ansågs vara upp- nått, började processen om från att hitta en nya implementationsidéer. Detta fort- satte antingen tills hela villkoret ansågs vara uppnått eller tills det inte fanns några implementationsidéer kvar. När ett av dessa fall inträffade, gick processen vidare till nästa villkor. Om det inte fanns ytterligare villkor definierade, gick processen tillbaka till tidigare sektion och definierade ytterligare villkor. När antingen al- la villkor behandlats eller tidsresurserna började ta slut, avslutades processen att implementera villkoren.

Figur 3.5: Processen att skapa implementationen

3.3 Projektmetod

Projektet använder sig av den kända MoSCoW-metoden. Projektet delas därmed upp i delar, där de mest nödvändiga delarna klassificeras som ”Must have”, vilka måste genomföras för att projektet ska nå ett resultat. Om det finns tid och resur- ser över, fortsätter projektet med delen ”Should have”. Därefter tas delen ”Could Have” hand om. Ifall alla dessa delar är slutförda, är projektet helt slutfört. Sista delen ”Won’t have” är de delar som specificerats att de absolut inte får vara med.

Denna metod minskar risken att projektet misslyckas på grund av överambitiösa förväntningar på vad som kan uppnås med de tidsresurser som finns tillgängliga.

(45)

Detta eftersom man ser till att uppnå nödvändiga delarna först och därefter utökar projektet allteftersom.

I övergripande del har projektet delats in i dessa tre prioritetsgrupper. I ”Must have” ingår en litteraturstudie och analys av Watson molntjänster, i ”Should ha- ve” ingår skapandet av en prototyp för examensarbetesrapportsgranskning och i

”Could have” ingår skapandet av en fulländad examensarbetesrapportsgranska- re. Med ”fulländad examensarbetesrapportsgranskare” menas en examensarbe- tesrapportsgranskaren som uppnår alla villkor i den skapade definitionen.

3.4 Teknikmetod

Implementationens klientsida skrevs i programmeringsspråket ”Java Standard Edition”. Detta motiveras med att prestanda inte är relevant för implementatio- nens syfte, utan att ha noggrann/felfri implementation värderas högre. Språket stöds av Watson API:er och programmerarnas kunskaper är som för det här pro- jektet störst inom Java Standard Edition, vilket minskar risken för att koden blir felimplementerad.

3.5 Datahantering

När mycket data används kan hanteringen av datan spela stor roll för att inte något ska gå förlorat eller förväxlas. I projektet hämtas all data på internet och kommer då i olika digitala format:

• txt

• pdf

• html

• csv

(46)

• json

Det är inte alltid utan problem som ett format konverteras till ett annat format, och alla program stödjer inte samtliga format. Google Drive har valts för att hantera all dokumentation och input- och utdata från tester eftersom tjänsten kan lagra de format som nämns ovan. Förutom Google Drive behövdes ett sätt att logga och dela skriven programkod, för vad GitHub valdes som lämplig tjänst. Indatan i form av examensarbeten är hämtade från Diva portal och laddas därifrån ner med namnet ”FULLTEXT01.pdf”, ”FULLTEXT02.pdf” och så vidare. Nedladd- ningarna grupperades efter varje nedladdningstillfälle och nummerindexerades inom grupperna. Sedan laddades grupperingarna upp i varsina mappar på Goog- le Drive. Eftersom Google Drive är privat [42] och filerna skyddas mot annan an- vändning, ansågs det säkert att ladda upp material som författarna inte äger till denna tjänst. Dessa PDF:er användes också i programkod, men laddades aldrig upp till GitHub ifall mappen på GitHub skulle publiceras. Utöver examensarbe- ten användes även ett tiotal CNN nyhetsartiklar hämtade från internet, sparade i txt-format och uppladdade till Google Drive i sin egen mapp.

Dokumentering av arbetet gjordes kontinuerligt för att hela tiden hålla koll i vil- ken fas olika tester befann sig i. Denna dokumentering skedde genom Knowledge Studio, Google Drive och Skärmurklipp. I Knowledge Studio laddas dokument upp till en datatjänst och hanteringen loggas genom det arbetsflöde som finns på Knowledge Studio. Händelser som är resultatgrundande eller diskussiongrun- dande skrevs ner i ett docx på Google Drive. Ifall händelsen ansågs behöva kom- pletteras med skärmurklipp, gjordes ett sådant med Windows 10 Skärmurklipps- verktyget och bilderna laddades upp till Google Drive.

3.6 Testning

För att stärka slutsatser i resultatet användes huvudsakligen två valideringsmeto- der. IBM Watson Knowledge Studio tillåter utvärdering av maskininlärningsmo- dellernas prestanda. Javatestbasen tillåter utvärdering av tjänsternas funktiona-

(47)

litet och integration till en Java applikation.

3.6.1 IBM Watson Knowledge Studio

I Knowledge Studio, som tillhandahålls av IBM, finns möjlighet att testa fram- tagna ML-modeller som finns i Knowledge Studio. Resultaten av testerna ges på webbsidan, i tabellform, innehållande till bland andra Precision- och Recall-värden.

Testen kan göras genom att ett antal förannoterade dokument annoteras med den NLU-modell som ska testas. ML-modellens annotering jämförs sedan med föran- noteringarna för att mäta hur väl modellen presterar.

3.6.2 Javatestbas

En Javatestbas skapades för att kunna testa funktionaliteten hos Watson moln- tjänster i en Java applikation. Testbasen består av utility-funktioner och testklas- ser. Varje testklass har ett syfte att testa en sak på IBM Cloud molntjänstplatt- form och Watson. Testklasserna använder Watson molntjänsters applikations- programeringsgränsnitt (eng. Application Programming Interface), som integre- rades till ett Javaprogram med Watson Java SDK. I Javaprogrammet görs an- rop till IBM Cloud molntjänstplattform och programmet ger råutdata som erhålls från molntjänsterna, som är i JSON format. Javatestbasen är utvecklad av för- fattarna, för att överensstämma med behoven som fanns i testerna som gjordes i den här rapporen. Källkod för Javatestbasen finns tillgänglig med namnet /pate- riks/bachelordegreeproject på github.com [43].

(48)

Kapitel 4

Definition av examensarbetes- rapportsgranskare

I detta kapitel behandlas den första forskningsfrågan: ”Hur kan en mjukvaruexa- mensarbetesrapportsgranskare definieras?”.

För att definitionen av examensarbetesrapportsgranskaren ska vara trovärdig, ställ- des villkoren upp utifrån redan definierade mål från Högskoleförordningen för högskoleingenjörsexamina. Eftersom det inte fanns tid för att behandla alla mål, valdes de mål som Univeristetskanslerämbetets (UKÄ) valt i sin kvalitetsgransk- ning 2013. Dessa mål ansågs lämpliga för examensarbetesrapportsgranskaren, ef- tersom de sågs som karaktäristiska för den kunskapsform de återspeglar. Men de sågs framförallt lämpliga, eftersom målen är valda för att lägga grund för pro- gramöverskridande jämförelse och på så sätt möjliggör en mer allmän granskare.

[9]

Följande sektioner är av författarna, med konsultering av examinatorer, utarbe- tade villkor. För att villkoren ska kunna uppfyllas gradvis, har de delats upp i de- lar. Delar som är benämnda delvillkor när de refereras till i den här rapporten.

Skalan byggs upp enligt MoSCoW modellen. Delen ”Won’t have” i MoSCoW är

References

Related documents

The search strings that the authors used are furthermore illustrated in Table 1 Some examples of how these search strings were combined are: Mobility as a service AND business

en liten andel av studenterna att den insikt de numera säger sig ha är att de tycker att deras ökade kunskaper i grammatik påverkar intresset positivt. De påpekar också vikten av

Han eller hon ska anses vara oskyldig till motsatsen bevisats (art. Den tilltalade har ingen sanningsskyldighet under förhören i rätten 119 och behöver inte

feedback. Handen kan vara en bra symbol för att visa att det är tänkt att man ska ta och dra den men då behöver man satt den i ett sammanhang, ge användaren ett syfte att ta och

The current work includes small updates to the code in Airpal GUI application and API, to provide the HopsWorks Access control mechanism to Presto service.. The

processen. Produkten är skapad av det Göteborgsbaserade företaget Barium AB. I dagsläget är inte “Barium Live!” en renodlad self-serviceapplikation utan nya användare

Power BI Embedded was used as the analytics tool in the project and was implemented into the website and the Power BI report was saved in the Power BI workspace collection service

Följande kapitel kommer behandla studiens resultat samt analys av resultatet. Kapitlet börjar med att skildra den tematiska kartan, se Figur 4, som visualiserar koder, underteman