Granskning av examensarbetesrapporter med IBM Watson molntjänster

Storlek: px
Starta visningen från sidan:

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

Transkript

1 Granskning av examensarbetesrapporter med IBM Watson molntjänster Patrik Eriksson och Philip Wester KTH ROYAL INSTITUTE OF TECHNOLOGY ELEKTROTEKNIK OCH DATAVETENSKAP

2 Författare Patrik Eriksson Philip Wester 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 examine the applicability of cloud services, by combining it with the question: Is it possible to make an automated thesis examiner? By narrowing down the services 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 student theses was created. Then an empirical study of the Watson services, that seemed relevant from the literature study, proceeded. These empirical studies allowed 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 resources 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 examination. 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 Language Understanding; NLU ii

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 examensarbetesrapportsgranskare?. Genom att avgränsa undersökningen till IBM Watson molntjänster försöker arbetet huvudsakligen svara på huvudfrågan Är det möjligt att skapa en automatiserad examensarbetesrapportsgranskare med Watson molntjänster?. Därmed var målet med arbetet att skapa en automatiserad examensarbetesrapportsgranskare. Projektet följde en modifierad version av Bunge s teknologiska undersökningsmetod, där det första steget var att skapa en definition för en mjukvaruexamensarbetesrapportsgranskare följt av en utredning av de Watson molntjänster som ansågs relevanta från litteratur studien. Dessa undersöktes sedan vidare i empirisk 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 behandlades 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 anvä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 Language Processing; NLP iii

5 iv

6 Innehåll 1 Inledning Bakgrund IBM Watson molntjänster Examination Problemområde Syfte och Mål Avgränsningar Disposition Teori Examensarbetesbedömning Molntjänster Kluster AI - Artificiell Intelligens ML - Maskininlärning Struktur v

7 2.4.2 Maskininlärningsmodeller Supervised Learning Unsupervised Learning Reinforcement Learning ANN - Artificiella Neurala Nätverk NLP - Natural Language Processing System som använder Natural Language Processing Watson molntjänster Inlärningsmodeller IBM Watson Machine Learning IBM Watson Natural Language Understanding IBM Watson Discovery IBM Watson Natural Language Classifier IBM Watson Visual Recognition IBM Watson Tone Analyzer IBM Watson Personality Insights Resterande tjänster IBM Watson Knowledge Studio IBM Watson Studio Huvudlitteratur och relaterat arbete Metod 27 vi

8 3.1 Metodologi Undersökningsmetodologi Projektmetodologi Undersökningsmetod Litteraturstudier Fördjupande analys av Watsontjänster Definition av examensarbetesrapportsgranskare Implemenentation av villkor Projektmetod Teknikmetod Datahantering Testning IBM Watson Knowledge Studio Javatestbas Definition av examensarbetesrapportsgranskare Villkor ett Villkor två Villkor tre Villkor fyra Villkor fem Sammanställning vii

9 5 Analys av Watson tjänster Natural Language Understanding Test ett: NLU-extraktion med standardmodell Test två: NLU-extraktion med anpassade modeller Discovery Förtest: undersökning av inputparametrar Test ett: uppladdning av PDF-dokument Test två: berikning med Element Classification Test tre: hämtning av textberikning från Discovery Machine Learning Natural Language Classifier Tjänster utan koppling till examensarbetesrapportsgranskning Sammanställning Examensarbetesrapportsgranskare i kombination med Watson tjänster Villkor ett Delvillkor 1: Delvillkor 1: Delvillkor 1: Villkor två Delvillkor 2: viii

10 6.2.2 Delvillkor 2: Delvillkor 2: Villkor tre Delvillkor 3: Delvillkor 3: Delvillkor 3: Villkor fyra Delvillkor 4: Delvillkor 4: Delvillkor 4: Villkor fem Delvillkor 5: Delvillkor 5: Delvillkor 5: Sammanställning Diskussion Begränsningar i resultatet Validilitet och pålitlighet i metoden Besvarande av forskningsfrågor Hållbar utveckling ix

11 8 Slutsatser Konsekvenser Framtida arbeten x

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 utvecklare 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 formuleringar 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 noggrann 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 organiseringshjä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änster, dess möjligheter och begränsningar. 1

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änster, ä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 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 programmering 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- 2

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 molntjä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 Examination För att en student på en högskoleutbildning ska kunna ta sin examen, måste denne först utföra ett examensarbete med tillhörande examensarbetesrapport. Denna rapport ska sedan opponeras och examineras. Examination görs av en examinator, 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 rapport skriven på naturligt språk. Med hjälp av regler kan man ta fram data att bedö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å rapporten ä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å examensarbetesrapporten med AI (Artificiell Intelligens) applikationer. 1.2 Problemområde I och med molntjänsternas framväxt och den snabba utvecklingen av maskininlä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- 3

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 svara 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 examensarbetesrapportsgranskare 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 dagens 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 examensarbetesrapportsgranskning 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 examensarbetesrapporter 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 uppfattningar gällande om deras egna idéer är implementerbara. 4

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 Watson. 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 tekniker 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 behandla 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 tekniker och en genomgång av de tjänster som erbjuds i Watson. I kapitel 3 presenteras 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 molntjä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ändning 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. 5

17 6

18 Kapitel 2 Teori I sektion 2.1 presenteras använd information för definitionen av en examensarbetesrapportsgranskare. 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 presenteras 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 presenteras 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, definierade 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 granskade målen skulle kunna jämföras mellan program i utvärderingen, och att må- 7

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 utfö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å internet genom exempelvis API:er. PaaS möjliggör en plattform för utvecklare att integrera funktionalitet till. Exempelvis en webserver-plattform till vilken en utvecklare 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 program 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 internettjänster oavsett form. [10, 11] 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å 8

20 flera maskiner blev dessa genomförbara inom rimlig tid. Tekniken och hanteringen 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ö. Utvecklingen 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 utvecklingen inom klusters. Spark är ett exempel på sådan mjukvara som abstraherar användningen av klusters 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 inbyggda i ett enskilt system. Det här skapar ett behov av beständighet mot hårdvarufel 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]: Intelligence 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 experiment har genomförts i syfte att sätta nån mening till vad förmågan symboliserar. Varifrån IQ (eng. Intelligience Quoticent) härstammar, för att göra intelligens mätbart [16]. 9

21 Det finns alltså inte någon allmänt accepterad definition för vad som är en artificiell 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ämna 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örsö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 beteende 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 output 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önster 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 maskininlärning är många, där försäljning och finans är två exempel. [3] 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 denna data till ett format som tillfredsställer de interna behoven för intelligensen. f 10

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 representeras 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 konverterar π 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 motsvarar 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 ligger då i ett intern format, exempelvis one-hot kodning. h konverterar denna tolkning 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 presentationsformat. [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 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, inlä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- 11

23 fyllande av ett visst tillstånd, istället för att varje tillstånd eller varje input. [18] 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, o 1 }, {σ 2, o 2 },...}, där varje σ matchas ihop med sitt korrekta 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 + M 0, där konstanterna k och M 0 bestäms i träningsprocessen. [3] 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 kategoriseringar, 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] 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, 12

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] ANN - Artificiella Neurala Nätverk Artificiella neurala nätverk (eng. Artifical Neural Networks) är maskininlärningsmodeller, vilka kategoriseras till Supervised Learning. Dessa använder tekniker 13

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 anpassa 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 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 integrerat 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 material, 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ällande syntax och semantik. Utvecklingen av datorsystem och dess prestanda, tillsammans 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ärningsstruktur. 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 implementera tolkningen av ostrukturerad data. Två av dessa är stokastiskt och symboliskt. 14

26 Stokastiskt är när tolkningen kan bero på viss säkerhet. Symboliskt är när tolkningen kan förlita sig på att ord representerar en innebörd. [2] Natural Language Understanding (NLU) är en underkategori till NLP. Som namnet 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] System som använder Natural Language Processing Idag utnyttjar flera system NLP. Positioneringssystem använder sig av talbehandling 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ökningar. 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 applikationer. Watson molntjänster bygger på kognitiva systemmodeller, alltså förståelse från en omgivning i en miljö som förändras. Sektion behandlar ett koncept som är aktuellt för Watson, men presenterar ingen specifik tjänster som sektionerna till 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 och Watson Studio är miljöer för att hantera andra tjänster och har verktyg för projektorganisering. 15

27 Namn Funktion Användning Machine Learning kolumnförutspåelse API Natural Language Understanding Discovery Natural Language Classifier textextratktion (textförutspåelser) tolkning och analys av texter tolkning av meningar/paragrafer API API/Browsergränssnitt Visual Recognition tolkning av bilder API/Browsergränssnitt API Tone Analyser tolkning av uttryck i texter API Natural Translator Language ö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 svarsbearbetning Knowledge Studio skapa maskininlärningsmodeller och regelbaserade modeller Watson Studio Samling av verktyg och funktionalitet för tjänsten ML API/Browsergränssnitt Browsergränssnitt Browsergränssnitt Tabell 2.1: Samlad tabell av Watson moln molntjänster Inlärningsmodeller I Watson finns två olika typer av modeller, en modell som beskrivs genom maskininlä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- 16

28 dell, eftersom regelbaserade modeller kan ge en säker angivelse, givet att regeln stämmer. Regelbaserad modell är ett sätt att utifrån ett framtaget samband ge annotationer 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] 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 eller 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: 17

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ämmer med känslan och 1 betyder att objektet överensstämmer väl med känslan. 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 identifieras. En text som behandlar artificiell intelligens behöver alltså inte ha med termen artificiell intelligens för att NLU-tjänsten ska identifiera conceptet 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 nyckelord 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 nyckelordens 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 exempel 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 subtyp. Till en entity av typ food skulle termer som bread och pasta kunna 18

30 ingå, medan hos en entity av typ organization skulle termer som KTH och United Nations kunna ingå. Dessa termer kommer alltid tillhöra samma 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 regelbaserad 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 relation 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 standardmodell ä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 exempel 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 subjekten 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 karaktärer), konvertera den till html, dela upp den i sektioner och förknippa urklipp i texten till att matcha klasser (eng. 19

31 classes). Klasser är liknande de som beskrivs i Natural Language Classifier i sektion 2.5.3, en gruppering som meningar eller textstycken kan grupperas till. Urklippsassociationerna (benämnt elementberikning) är en berikning gjord med flera 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 entities 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 anvä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änsten bygger upp kunskap från insamlat textmaterial och sökningar görs med söksträ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. Dokumenten 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 identifierade 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 party och nature är: 20

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 IBM Watson Natural Language Classifier Tjänsten Watson Natural language Classifier klassifiserar termer och/eller kortare 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] IBM Watson Visual Recognition Watson Visual Recognition är en tjänst för bildigenkänning. Denna tjänst kan anvä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] 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] 21

33 2.5.8 IBM Watson Personality Insights Personality Insights är en tjänst som analyserar beteende och psykologiska egenskaper hos en person med hjälp av data hämtat ur social media och dess transaktioner. [30] Resterande tjänster Utöver de tidigare nämnda tjänsterna så har Watson molntjänster även IBM Watson 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] IBM Watson Knowledge Studio Watson Knowledge Studio (WKS) är ett verkyg som, till skillnad från bland annat 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 maskininlärningsmodeller för bland andra NLU-tjänsten. Detta gör det möjligt för användare att skapa modeller anpassade efter just deras behov. Till exempel kan en användare då skapa ett eget sätt entities, som bättre motsvarar det tänkta användningsområ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 identifiera 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 22

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 annat 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 annoteringar. 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, annoteringarna 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 IBM Watson Studio Watson Studio samlar ett antal tjänster och miljöer att modifiera och kan användas för att skapa modeller till Watson Machine Learning. Watson Studio är utformad för projektorganisering och dataanalys. [37] 2.6 Huvudlitteratur och relaterat arbete Litteratur för artificiell intelligens och olika tekniker som applicerar AI är mestadels tagen från två böcker skrivna om dessa områden. Böckerna beskriver koncept 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 konsultering från examinatorer har skett genomgående. Fakta om molntjänster har hämtats huvudsakligen från artiklar och webbsidor som vi ansåg tillförlitliga. Tabell 23

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änkat till dessa områden, då något sådant inte hittades. Dock hittades program, vilka 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. 24

36 Källa Författare Använd information Hemsida för IBM Cloud molntjänstplattform IBM Information om specifika IBM Watson molntjänster. Utvärdering av utbildningar inom ingenjörs- och teknikvetenskap 2013 Universitetskanslersämbetet Metoder för att bedömma examensarbeten. Introduction to Machine Learning E. Alpaydin Grunder för maskininlärning och olika maskininlärningsprocesser. Machine Learning Morgan Kaufmann Matematiken och den överliggande strukturen bakom maskininlärning. Automated Overlay Virtual Networking Manager for OpenFlow-Based International SDN-Cloud Testbed Junsik Shin and JongWon Kim Samlad teori för övergripande bild av molntjänster gjord av författare. Artificial Intelligence in the 21st Century (2nd Edition) Lucci, Stephen, Kopec and Danny Artificiell intelligens och maskininlärningsteori Introduction to Machine Learning Ethem Alpaydin Begrepp och koncept för maskininlärning Tabell 2.2: Sammanfattning av litteratur 25

37 Källa Författare Område Att driftsätta i molnet Blom Tryggve Olika uppsättningar av molntjänster samt deras fördelar och nackdelar. Övergången till molnet Eriksson Patrik, Skoog Christian Viktiga aspekter att ta hänsyn till i övergången till molntjänster och i vilken ordning saker bör göras. Automated Essay Scoring for Swedish Robert Östling med fler Rättning av svenska nationella provens uppsatser, baserat kvalitetsindikatorer såsom grammatik. Apply on Instance of Cloud Watson Cognitive Computing System Chi Zhang Undersöker kopplingar mellan molntjänster, IBM och smarta städer. Automated Essay Scoring, Scoring Essays in Swedish André Smolentzov Använder standard supervised ML metoder för att utvärdera fyra olika sätt att rätta uppsatser. Tabell 2.3: Sammanfattning av relaterat arbete 26

38 Kapitel 3 Metod I sektion 3.1 förklaras hur undersökningsmetoden och projektmetoden motiverats 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 arbetsprocessen 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 tydliga 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. 27

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 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 tillfredsställande gå till steg 9, annars gå till steg 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ösningarna är fortsatt intressanta och faller inom ramarna för en definierad modell av problemet, görs en praktisk implementation. Denna implementation utvärderas för att analysera dess värde som slutgiltig lösning. 28

40 3.1.2 Projektmetodologi Projekt kan variera i omfattning, resurser, krav och flera andra faktorer [40]. Projektets genomförbarhet syftar ofta på använd projektmetodologi och därför motiveras 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örkunskap, 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å undersöktes nya villkor. När ett tillräckligt antal villkor definierats och uppnåtts, testas examensarbetesrapportsgranskaren i sin helhet mot ett antal rapporter. Processen 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 empiriska 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. 29

41 3.2.1 Litteraturstudier Figur 3.1: Övergripande metoden För att kunna använda Watson molntjänster och för att kunna välja vilka av dessa 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 ramverk, var det viktigt att förstå på vilka sätt dessa lämpligen används. Sedan behövdes 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 omfattar uppsättningen av konton, användare och registrering av tjänster samt användning 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ändas vidare i projektet. De tjänster som redan vid litteraturstudien kunde identi- 30

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 litteraturstudieprocessen var iterativ, då man ständigt gick tillbaka, när kunskapsbasen inte var tillräckligt stor. Figur 3.2: Litteraturstudieprocessen 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 litteraturstudien men framförallt på empiriska studier för att undersöka tjänsternas 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 hade och ge transparens om hur vi drog slutsatser om tjänsternas funktionalitet. Om Figur 3.3: Processen att analysera Watson-tjänsterna 31

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 Definition av examensarbetesrapportsgranskare En applikation som kvalificeras som examensarbetesrapportsgranskare måste uppfylla ett antal villkor. Denna lista med villkor skapades genom en process som representeras av figur 3.4. Examensarbeten granskas utifrån kursmål, och därför måste även en mjukvaruexamensarbetesrapportsgranskare kunna bedöma utifrå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 villkor 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 Implemenentation av villkor När villkor fanns definierade och Watson molntjänster hade haft sin utökade analys, 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 32

44 fram för en mjukvaruimplementation som uppfyller villkoren. När idéerna skapats, 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 uppnått, började processen om från att hitta en nya implementationsidéer. Detta fortsatte 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 alla 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 resurser ö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. 33

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 have ingår skapandet av en prototyp för examensarbetesrapportsgranskning och i Could have ingår skapandet av en fulländad examensarbetesrapportsgranskare. Med fulländad examensarbetesrapportsgranskare menas en examensarbetesrapportsgranskaren 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 implementationens 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 projektet 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 34

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. Nedladdningarna grupperades efter varje nedladdningstillfälle och nummerindexerades inom grupperna. Sedan laddades grupperingarna upp i varsina mappar på Google Drive. Eftersom Google Drive är privat [42] och filerna skyddas mot annan anvä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 examensarbeten 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 vilken 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 diskussiongrundande skrevs ner i ett docx på Google Drive. Ifall händelsen ansågs behöva kompletteras med skärmurklipp, gjordes ett sådant med Windows 10 Skärmurklippsverktyget och bilderna laddades upp till Google Drive. 3.6 Testning För att stärka slutsatser i resultatet användes huvudsakligen två valideringsmetoder. IBM Watson Knowledge Studio tillåter utvärdering av maskininlärningsmodellernas prestanda. Javatestbasen tillåter utvärdering av tjänsternas funktiona- 35

47 litet och integration till en Java applikation IBM Watson Knowledge Studio I Knowledge Studio, som tillhandahålls av IBM, finns möjlighet att testa framtagna 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örannoteringarna för att mäta hur väl modellen presterar Javatestbas En Javatestbas skapades för att kunna testa funktionaliteten hos Watson molntjänster i en Java applikation. Testbasen består av utility-funktioner och testklasser. Varje testklass har ett syfte att testa en sak på IBM Cloud molntjänstplattform och Watson. Testklasserna använder Watson molntjänsters applikationsprogrameringsgränsnitt (eng. Application Programming Interface), som integrerades till ett Javaprogram med Watson Java SDK. I Javaprogrammet görs anrop 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örfattarna, 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 /pateriks/bachelordegreeproject på github.com [43]. 36

48 Kapitel 4 Definition av examensarbetesrapportsgranskare I detta kapitel behandlas den första forskningsfrågan: Hur kan en mjukvaruexamensarbetesrapportsgranskare definieras?. För att definitionen av examensarbetesrapportsgranskaren ska vara trovärdig, ställdes 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 kvalitetsgranskning Dessa mål ansågs lämpliga för examensarbetesrapportsgranskaren, eftersom 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 programö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, utarbetade villkor. För att villkoren ska kunna uppfyllas gradvis, har de delats upp i delar. 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 37

49 utlämnad, eftersom det inte ansågs nödvändigt att definiera vad en examensarbetesgranskare absolut inte får göra. Genom att ställa upp villkoret på det här sättet, går det att ange villkorets tillfredsställande, även om bara det första delvillkoret möts, eftersom det är det enda målet som definierats till Must have i MoSCoW modellen. 4.1 Villkor ett Det första målet som valdes att granskas i en examensarbetesgranskare lyder: För högskoleingenjörsexamen skall studenten visa brett kunnande inom det valda teknikområdet och relevant kunskap i matematik och naturvetenskap Målet betonar brett kunnande inom teknik och relevant kunskap inom matematik och naturvetenskap. Teknik i sig är omfattande och kan innehålla flera olika termer. För att bedöma brett kunnande av teknik i mjukvara behöver mjukvaran någon förståelse för brett kunnande och teknik. Att skapa förståelse för brett kunnande kan ges genom att studera exempel på brett kunnande eller att jämföra kunnandet mot kriterier. Att skapa förståelse för teknik kan ges genom att ha exempel på vad teknik är. Det här gjorde att det första steget i att uppnå målet ansågs vara inlärning av begreppet teknik. När inlärning skett och mjukvaran kan identifiera teknik ska den kunna förstå vilken grad av kunnande den presenterade tekniken visar på. Samma resonemang förs för naturvetenskap och matematik men där relevans ersätter brett kunnande. Målet formulerades i villkor, som bygger upp examensarbetesrapportsgranskaren i mindre delvillkor att besvara, se tabell 4.1: Villkor Finns det matematik/naturvetenskap/ teknik? (Ja/nej) Indikerar matematiken/naturvetenskapen/tekniken på en hög kunskap inom området? Hur relevant är matematiken /naturvetenskapen /tekniken? Tabell 4.1: Villkor ett för examensarbetesrapportsgranskare 38

50 4.2 Villkor två Det andra målet som valdes att granskas i en examensarbetesgranskare lyder: För högskoleingenjörsexamen skall studenten visa förmåga att kritiskt och systematiskt använda kunskap samt att modellera, simulera, förutsäga och utvärdera skeenden med utgångspunkt i relevant information Målet kan delas upp i två delar, att metoder finns, samt att de är informativt valda. För att en mjukvara ska kunna granska målets uppfyllelse behövs förståelse för refererat, resonemang och metoder. Det första steget anses vara att identifiera information och avgöra om informationen är av referat typ. Sedan ska mjukvaran avgöra om informationen används för resonemang i rapporten. Slutligen, för att knyta an till använda metoder, ska mjukvaran kunna jämföra användandet av informationen mot dess syfte och svara på om syftet är att skapa metoder. Målet formulerades i villkor, som bygger upp examensarbetesrapportsgranskaren i mindre delvillkor att besvara, se tabell 4.2: Villkor Finns information och är informationen ett referat? Används informationen i rapporten? I vilket syfte används informationen? Tabell 4.2: Villkor två för examensarbetesrapportsgranskare 4.3 Villkor tre Det tredje målet som valdes att granskas i en examensarbetesrapportsgranskare lyder: För högskoleingenjörsexamen skall studenten visa kunskap om det valda teknikområdets vetenskapliga grund och dess beprövade erfarenhet samt kännedom om aktuellt forsknings- och utvecklingsarbete 39

51 I mjukvara behövs kunskap om beprövad erfarenhet, vilket kräver någon extern källa av information frånsett den granskade rapporten. Mjukvaran behöver förlita sig på en konsensus av vad beprövad erfarenhet är. Det som går att identifiera i rapporten är teknikområden samt utvecklingsarbete, hypoteser och teorier. Sådant skulle mjukvaran behöva extrahera för att jämföra mot en konsensus om berövad erfarenhet och forskningsområden. Målet formulerades i villkor, som bygger upp examensarbetesrapportsgranskaren i mindre delvillkor att besvara, se tabell 4.3: Villkor Vilka teknikområden, utvecklingsarbeten och forskning behandlas? Kan befintlig vetenskaplig information kopplas till teknikområdet? Hur kan teknikområdet kopplas till det forskning och utvecklingsarbete som hittats? Tabell 4.3: Villkor tre för examensarbetesrapportsgranskare 4.4 Villkor fyra Det fjärde målet som valdes att granskas i en examensarbetesrapportsgranskare lyder: För högskoleingenjörsexamen skall studenten visa förmåga att utforma och hantera produkter, processer och system med hänsyn till människors förutsättningar och behov och samhällets mål för ekonomiskt, socialt och ekologiskt hållbar utveckling Målet betonar hur diskuterade tjänster och produkter sätts i ett större perspektiv, där sociala, ekonomiska och ekologiska aspekter spelar roll. För en mjukvara ska kunna bedöma dessa aspekter krävs en förståelse för produkter och tjänster samt sociala, ekonomiska och ekologiska termer. När förståelse finns för båda dessa områden, ska mjukvaran också besvara om det finns kopplingar emellan dem i texten. Målet formulerades i villkor, som bygger upp examensarbetesrapports- 40

52 granskaren i mindre delvillkor att besvara, se tabell 4.4: Villkor Vilka produkter, processer och system nämns? Vilka sociala, ekonomiska och ekologiska koncept behandlas? Kan produkterna, processerna och systemen kopplas till koncepten i texten? Är kopplingen motiverad? Tabell 4.4: Villkor fyra för examensarbetesrapportsgranskare 4.5 Villkor fem Det femte målet som UKÄ valde ut i sin undersökning lyder: För högskoleingenjörsexamen skall studenten visa förmåga att muntligt och skriftligt redogöra för och diskutera information, problem och lösningar i dialog med olika grupper Målet betonar vikten av diskussion kring problem, lösningar och information samt hur pass tydlig och välanpassad diskussionen är. För mjukvara att kunna analysera detta i text behövs förståelse för problem, lösningar och information. Det behövs också förståelse för vad som indikerar tydlighet och diskussion samt för vem diskussionen är lämpad. Målet formulerades i villkor, som bygger upp examensarbetesrapportsgranskaren i mindre delvillkor att besvara, se tabell 4.5: Villkor Vilka problem, lösningar och information finns det? Diskuteras och redogörs denna information, problem och lösningar? Håller diskussionen och redogörelsen en hög kvalité? Tabell 4.5: Villkor fem för examensarbetesrapportsgranskare 41

53 4.6 Sammanställning I tabellerna byggs villkoren upp av delvillkor, som examensarbetesrapportsgranskaren ska kunna avgöra och applicera för att uppfylla respektive mål. En examensarbetesrapportsgranskare behöver kunna identifiera: matematik naturvetenskap teknik information (referat) teknikområden utvecklingsområden produkter processer system sociala, ekonomiska och ekologiska koncept problem lösningar Dessutom ska en mjukvaruexamensarbetesrapportsgranskare ha ett allmänt kunnande, konsensus, om olika teknikområden, grader av kunskapsnivåer och grader av kvalitet i formulering. Om man lyckas skapa en mjukvara med dessa förståelser, skulle en automatiserad examensarbetesrapportsgranskare vara möjlig. Det som karaktäriserar kriterierna är förståelse av naturlig text och dess sammansättning, vilket är ett NLU-problem. Medan avgörande om grader av kunskap kan vara ett ML-problem, eftersom det måste finnas någon mall för vad som är enkel kunskap eller avancerad kunskap. Båda dessa är av kategorin Supervised Learning men tolkning av text kan också ha karaktären Unsupervised Learning. Tolkning av 42

54 text kan göras på så många sätt att det inte går att skapa en NLU för alla möjliga sammanhang. Tolkning beror på många faktorer såsom kontext, målgrupp och syfte, vilket är en anledning varför NLU-tjänster behöver vara handledda i vissa sammanhang. För att arbeta med NLU optimalt i examensarbetesrapportsgranskning, kombineras lämpligen Supervised Learning och Unsupervised Learning. För att förstå saker som inte explicit nämns i en text eller saker som på förhand inte är givet, är Unsupervised Learning värdefullt, medan det är av nytta med Supervised Learning för att få ut specificerad nyckelinformation ur texten. Optimalt sätt ska NLU kunna avgöra allt som man kan tänkas vilja få ut av en text, men relationen mellan använda termer såsom begrepp, koncept, tekniker, fakta till en konsensus kan behöva en särskild maskininlärningsinstans för att kartlägga dessa termer mot vad som är allmänt känt, vedertaget eller bekräftat. Exempelvis kartlägga om ord eller formuleringar indikerar hög kvalitet. 43

55 44

56 Kapitel 5 Analys av Watson tjänster Det här kapitlet behandlar den andra forskningsfrågan, Vilka tjänster har Watson?. Den första delen i undersökningen, litteraturstudien, bestod endast av att läsa på om Watson molntjänster. Detta gjordes med hjälp av den tillgängliga dokumentation på IBM Cloud molntjänstplattform. Det fanns spridd information över flertalet sidor, men de huvudsakliga källorna var respektive tjänsts dokumentationssida på IBM Cloud Docs [44]. Den empiriska undersökningen är uppdelad i två olika tester. Den ena typen av tester använde sig av Knowledge Studios inbyggda evaluering av maskininlärningsmodeller. Den andra typen använde sig av Javatestbasen presenterad i sektion Först kommer de tjänster som, efter litteraturstudien, anses tillräckligt relevanta för en vidare empirisk undersökning att presenteras. Sedan kommer de tjänster som uteslöts direkt efter litteraturstudien, att presenteras. De tjänster i Watson som anses tillräckligt relevanta för en vidare, empirisk, undersökning var: 1. Natural Language Understanding 2. Discovery 3. Machine Learning 4. Natural Language Classifier 45

57 5.1 Natural Language Understanding Watson Natural Language Understanding (NLU) är en tjänst som analyserar skrivet naturligt språk med hjälp av Natural Language Processing. [45] Med naturligt språk menas de språk som människor använder sig av, till exempel svenska och engelska. NLU-tjänsten bygger på att en tränad ML-modell exporteras till tjänsten och därifrån blir tillgänglig för användaren över molnet. Modellen kan antingen vara en egen tränad modell, eller IBM:s färdiga standardmodell. NLU-tjänsten kan brytas ned till ett antal deltjänster. Dessa deltjänster är: sentiment, emotion, categories, concepts, keywords, meta-data, entites, relations, och semantic roles [21]: Sentiment graderar hur positivt/negativt en text och/eller term uppfattas. Sentiment graderas i en skala -1 till 1, där -1 är negativt och 1 är positivt. Emotion graderar vilka känslor en text och/eller term uppfattas indikera. Varje känsla graderas individuellt på en skala från 0 till 1. Där 0 betyder att det inte överensstämmer med känslan och 1 betyder att det överensstämmer. Categories anger de topp 3 kategorier, ur en förutbestämd lista med kategorier, som passar in på texten. Övertygelsen av svaret anges som score och går på en skala från 0 till 1, där 0 är osäker och 1 är säker. Concepts anger vilka koncept som passar in på texten. Övertygelsen av svaret anges som relevance och går på en skala från 0 till 1, där 0 är osäker och 1 är säker. Keywords anger vilka nyckelord som passar in på texten. Övertygelsen av svaret anges som relevance och går på en skala från 0 till 1, där 0 är osäker och 1 är säker. Meta-data anger metadata om texten, till exempel författare. Entites annoterar textens termer till entites. Det finns möjlighet att träna en anpassad modell med egna entites via Watson Knowledge Studio. Övertygelsen av svaret anges som relevance och går på en skala från 0 till 1, där 0 är osäker och 1 är säker. 46

58 Relations identifierar relationer mellan olika entites i en text. Övertygelsen av svaret anges som score och går på en skala från 0 till 1, där 0 är osäker och 1 är säker. Semantic roles bryter ned fraser till subject, verb och objekt. För att göra en analys av NLU-tjänsten behövdes en serie tester utföras. På grund av NLU-tjänstens starka koppling till naturligt språk var det viktigt att noggrant kartlägga stora delar av dess deltjänster. Först undersöktes NLU tjäntens standardmodell, som tar ut alla typer av NLUextraktioner, sedan undersöktes en egen anpassad modell för entities och relations. Enskilda termer extraherades men även tester för möjligheten att skapa entites för längre fraser utfördes. Concepts, categories, relations och semantic roles undersöktes var för sig. Emotion och sentiment ignorerats med motivationen att deras syften inte kan vara relevanta för en examensarbetesrapportsgranskare. Meta-data ignorerades eftersom den bara var kompatibel med html-filer Test ett: NLU-extraktion med standardmodell För att få grundläggande erfarenhet om NLU och dess standardmodell, testades denna med hjälp av Javatestbasen. Javatestbasen användes för att extrahera efterfrågad information med hjälp av respektive deltjänst, på en vald txt-fil (indata kan ses i bilaga A). Anledningen till varför en utvärdering inte gjordes med Knowledge Studio, är att varken modellen eller annoterat material finns tillgängligt. Resultatet för entities representeras av figur 5.1. Figuren visar, i JSON format, en av de entities som NLU-tjänsten med standardmodellen annoterade i texten. Som kan ses, är den entity som valdes av huvudtypen Location med subtypen Continent. Detta stämmer även överens med den annoterade termen. Resultatet för concepts representeras av figur 5.2. Figuren visar två koncept som togs fram ur den använda texten. Koncepten är: Africa och Atlantic slave trade. Resultatet för categories presenteras i figur 5.3. Figuren visar de tre kategorierna 47

59 Figur 5.1: Entities från test med standardmodell Figur 5.2: Concepts från test med standardmodell som togs fram ur den använda texten. Kateogorierna är: /travel/tourist destinations/africa, /technology and computing och /technology and computing/operating systems/linux. Figur 5.3: Categories från test med standardmodell Resultatet för relations representeras av figur 5.4. Figuren visar en relation mellan två stycken GeopoliticalEntity entities, av relationen locatedat. Vilket tyder på att countries ligger i Africa. Eftersom hela termen är African countries så kan påståendet anses vara korrekt. 48

60 Figur 5.4: Relations från test med standardmodell Resultatet för semantic roles representeras av figur 5.5. Figuren visar att meningen Tech companies have long been known for innovative work environments. kan delas upp i subjektet Tech companies, verbet have, och objektet long been known for innovative work environments. Semantic roles har ytterligare kombinerats med keywords för respektive subjekt och objekt. Dessa är Tech companies och innovative work environments. Figur 5.5: Semantic roles utökad med keywords från test med standardmodell Resultatet för keywords, med avseende på en hel text, representeras av figur 5.6. Figuren visar sex stycken keywords sorterade från hög till högst relevance. Där det keywords med högst relevance var forloop Africa meetup. 49

61 Figur 5.6: Keywords från test med standardmodell Resultatet från entites (representerat i figur 5.1) visade att tjänsten använts på ett korrekt sätt och att vidare, mer avancerade, tester av entitites är möjliga att utföra. Resultatet från concepts och categories (representerat i figur 5.2 och figur 5.3), hjälper att förstå skillnaded mellan extraherade koncept och kategorier. Dessa visar att concept ger en indikation om textens inriktning, vad texten behandlar, medan categories ger mer generell information om textens inriktning, helheten av texten. Kategorier extraheras såsom Afrika (eng. Africa) och teknik (eng. technology). Teknik är en lämplig extraktion, för texten har kontexten teknik till huvudsyftet, som är att utreda hur teknik frodas i Afrika. Koncept extraheras också lämpligt för Afrika, men felaktigt för atlantisk slavhandel (eng. atlantic slave trade), eftersom texten inte ger några indikationer att handla om slavhandel. Resultatet från semantic roles, relations och keywords (representerat i figur 5.4, 5.5 och 5.6) visade på en korrekt använding av tjänsten Test två: NLU-extraktion med anpassade modeller Det andra testet av NLU-tjänsten gick ut på att undersöka skapandet och användandet av egna modeller från Knowledge Studio. Egna modeller kan endast användas för extraktion av entities och relations. 50

62 Testet utfördes genom tre deltest, som alla utgår från skapandet av en anpassad modell. För att skapa en anpassad modell i Knowledge Studio krävs först att entities definieras, men även att träningsdata skapas eller importeras. Träningsdata kan skapas i Knowledge Studio genom att en användare annoterar termer i dokument med de entities som modellen ska lära sig. I mer komplexa annoteringar blir det svårt att komma ihåg hur annoteringar motiverats och annoteringen riskerar att bli inkonsekvent. För att motverka inkonsekvent annotering, sattes därför riktlinjer upp (se bilaga B). När träningsdatan är tillgänglig kan då modellen tränas och utvärderas. Det innebär att den först lär sig entities, och därefter blir testad på sin kunskap i en utvärdering. Ur utvärderingen fås, bland annat, variablerna Precision och Recall. Precision står för hur övertygad modellen är på att ett annoterat en entity är rätt (värde mellan 0 och 1), och Recall står för hur stor andel av alla entities i texten den lyckades annotera rätt (värde mellan 0 och 1). I det första deltestet skapades en ny entity, Person. Denna entity annoterades på 12 nyhetsartiklar från CNN, där alla former av individers namn, samt he, him, she, her, it och I annoterades som Person. Sedan tränades och utvärderades modellen i Knowledge Studio. Modellens prestation presenteras i tabell 5.1. Entity Precision Recall Person Tabell 5.1: Prestation för Person maskininlärningsmodell Efter att den egna modellen Person hade utvärderats, utökades antalet annoterade dokument med fyra, motsvarande 30%, i syfte att undersöka samband mellan antalet annoteringar och modellens prestation. Dessa dokument lades in i träningen och därefter utvärderades den utökade modellen i Knowledge Studio, se tabell 5.2. Som kan ses i tabell 5.2, förbättrades modellens prestation avsevärt, jämfört med första utvärderingen av modellen. Detta ger en indikation på att modeller med få annoteringar i sin träning, kan förbättras genom att lägga till ytterligare annoterade dokument i modellens träning. För att bekräfta att modellen även kan 51

63 Entity Precision Recall Person Tabell 5.2: Prestation för Person maskininlärningsmodell utökad exporteras och användas via NLU-tjänsten, testades detta med Javatestbasen. För det här testet användes indatan som ses i bilaga A och resultatet från testet kan ses i figur 5.7. Figur 5.7: Utdata för entities extraktion med NLU Person ML-modell För att undersöka anpassade modellers möjligheter att extrahera längre meningar och stycken, istället för enstaka termer, skapades två nya entities: Research Question och Problem Description. Research Question identifierar dokuments forskningsfrågor medan Problem Description identifierar dokuments probelmbeskrivningar. Modellen för Research Queation tränades i Knowledge Studio på 14 annoterade utdrag ur masterexamensarbetesrapporter, där examensarbetesrapporternas forskningsfrågor hade annoterats. Därefter utvärderades den på tre ytterligare utdrag med forskningsfrågor i Knowledge Studio Som kan ses i tabell 5.3, lyckades modellen identifiera ca hälften antal forskningsfrågor mot den totala mängden forskningsfrågor och annoterade med en hög säkerhet. För att undersöka närmre hur väl modellen kan skilja på forskningsfrågor 52

64 Entitiy Precision Recall Research Question Tabell 5.3: Prestation Research Question och vanliga frågor, testades modellen på en masterexamensarbetesrapport med sex vanliga frågor, givna i tabell 5.4, med Javatestbasen. Rapport uppladdad till Discovery och testad med Javatestbasen: Titel: Statistical Analysis of Conductor-Musician Interaction, Författare: Josefin Ahnlund Would a well performing orchestra simulator be a rival to real orchestras, possibly causing them to go out of work? Is it ethically motivated to replace the intrinsically human activity of performing music together with a partly automated element? Is it at all possible to achieve a model that is perceived satisfactory to performers and listeners, or is the human interaction such an important part of the process that it can not be replaced? How is the score at the actual point of time (the score that is to be expressed by the conductor), together with the sound at the previous point of time, influencing the conducting gesture? Maybe BD maxima in CUEX can not be trusted as true maximas? Possibly their similar construction as reductions from high dimensional representations of gesture facilitates capturing of similar expressive features? Tabell 5.4: Frågor i testad examensarbetsrapport i succesiv ordning Resultatet indikerar på att modellen kan urskilja att dessa frågor inte är forskningsfrågor, eftersom ingen fråga annoterades till det. Det är alltså möjligt att lära upp en ML-modell i Knowledge Studio för att extrahera termer som är längre än en term. Detta deltest fortsatte sedan med att undersöka om en modell skulle kunna identifiera entities med en mer generell meningsuppbyggnad. Detta gjordes genom att skapa en liknande entity, Problem Description. Problem Description tränades på 13 annoterade dokument från rapporter och utvärderades utifrån ytter- 53

65 ligare tre i Knowledge Studio, se resultat i tabell 5.5. Det är något mindre korpus än för forskningsfrågor, eftersom ett dokument inte innehöll en tydlig problemformulering. Annars har träningen gjorts på samma rapporter (olika utdrag) med respektive författare. Entity Precision Recall Problem Description 0 0 Tabell 5.5: Prestation Problem Description Som ses i tabell 5.5 kunde inte ML-modellen i testningen extrahera några problemformuleringar och får därför lägsta resultat i både Precision och Recall. Detta var inte oväntat eftersom tjänsten presenteras som ett verktyg att identifiera enskilda termtyper med, och är därför inte anpassad för identifiering av längre termer. Research Question och Problem Description gav nästan maximalt spridda resultat. Den största skillnaden mellan dessa entities är att problemfrågeställningen har en särskild meningsstruktur jämfört med det huvudsakliga materialet i en examensrapport (till exempel så slutar forskningsfrågor med ett frågetecken). Att markera meningar och stycken som inte har en tydlig regelbunden struktur verkar inte kunna appliceras på Watsons NLU-tjänst. Ett tredje deltest gjordes sedan för att se hur väl inlärning av relations kunde göras. Det här testet gjordes på en masterexamensrapport uppdelad i 16 delar. Delarna annoterades efter en samling entities med 3 olika relations. Viktigt att ta hänsyn till är att prestationen för entity extraktion ger olika grad av förutsättningar för att ta ut relationer. Prestationen för dessa entities presenteras i tabell 5.6. Relation presentin anger att en entity är bunden i en annan entity. Relation referedin anger om en entity refererades i en annan entity (exempelvis figurreferenser och liknande i rapporten). Relation split anger att två entities samverka och tillsammans bygger upp en mer komplex innebörd. Resultatet från en modell, som tränades på 14 av dessa utdrag och utvärderades på tre, presenteras i tabell 5.7. Resultatet visar att maskininlärningen, med denna träningsdata och presta- 54

66 Entitiy Precision Recall Ethics Scientific Math Technical Tech_Environment Tech_Infrastructure Tabell 5.6: Prestation entities för relations tionen av entities, inte kan ta fram säkra relationer. Relation referedin verkar ge bäst resultat, trots att den har minst antal annoteringar, vilket kan vara ett tecken på att sådana relations är mer passande att skapa. Relation Precision Recall % korpus densitet (baserat på antalet ord) presentin % (225/4862) referedin % (171/4862) split 0 0 5% (252/4862) Tabell 5.7: Prestation relations 5.2 Discovery Discovery anses intressant eftersom tjänsten kan ta en pdf-fil, konvertera pdf:en till en html-fil, förknippa element (extraherade texturklipp) till berikning och extrahera berikning på texten. Med berikning menas extraktion av olika typer, såsom klassificering. Det här gör Discovery genom att använda dataanalys och kognitiv intuition. Discovery har ett flertal funktioner som alla kan anpassas till olika stor grad. En förundersökning gjordes för att dels utreda dessa funktioners anpassningsbarhet och dels utreda de parametrar som kan ställas in i användningen av Discovery. Förundersökningens resultat kunde sedan användas för att ställa upp lämpliga 55

67 tester av tjänsten. Genom förundersökningen uteslöts vissa parametrar i testerna för att de ansågs irrelevanta Förtest: undersökning av inputparametrar Samverkan mellan alla tjänster på Discovery och de integrerade tjänsterna används i ett flöde från det att PDF matas in tills att resultat och sammanställningar fås ut från Discovery. Flödet kan sägas byggs upp med fem faser: Injektion av PDF fil görs i Discovery, och det finns inga möjligheter att ändra hur uppladdningen går till. Antingen kan en pdf-fil laddas upp via webbläsargränssnittet eller genom API:er. Konvertering av filer görs i Discovery med en anpassningsbar inställningsfil. Inställningen kan laddas upp till Discovery med en JSON:fil, eller som ett objekt Configuration i Watson Java SDK [46]. Berikningen kan väljas att göras med följande typer av extraktion och varje typ kan i sin tur ha ett källfält (eng. source field) och ett destinationsfält (eng. destination field): Keywords, extraktion av nyckelord Sentiments, analys av sentiment Concepts, märkning av relevanta koncept Categories, klassificering till katergorier. Semantic roles, extraktion av semantiska roller Entity, extraktion av entities Relations, extraktion av relations Element Classification, klassificering av element Källfältet kan antingen ställas in att vara text eller html. När det undersöktes huruvida entity-extraktioner kunde göras med källfältet html, gavs dock errormeddelandet 500 ( Internal Server Error ). Alla extraktionstyper 56

68 går att ställa in var för sig och inställningarna går att ändra i Discovery på samma sätt som för konvertering. Normalisering sker i Discovery, där det går att finjustera hur resultatet från sökningar ska presenteras. Finjustering konfigureras i en JSON-fil eller i ett objekt Configuration på samma sätt som för konvertering. Sökning är tillsammans med berikning i Discovery det mest anpassningsbara. Sökning har tre olika inställningar att ställa in. innehållssökning filtrering sammanställning presentation Sökningar som görs via ett Java program får ett svar i form av en lista med alla dokument som matchar sökningen, enligt de parametrar som specificerats i inställningar för innehållssökning. Listan som ges i svaret innehåller antalet dokumentträffar och varje dokuments berikning. Speciella inställningar i sökningen kan också göras för att bestämma hur svaret ska ges, men dessa utforskades inte närmre i denna undersökning. Slutsatser från förundersökningen är att konvertering och normalisering inte behöver ändras från grundutförandet, för de inte tillför något till extraktionerna utan ändrar utseende och form. Filtrering behöver göras för att kunna söka igenom enbart ett dokument, och går lämpligt att ställas in med filtret filnamn. Inställning av källfällt utesluts från vidare användning, ty det inte lyckades användas i den här förundersökningen Test ett: uppladdning av PDF-dokument Testet använde sig av Javatestbasen och en testrapport i PDF-format för att undersöka hur uppladdning och konvertering sker på pdf:en. Testbasen gav det resultatet som visas i figur

69 Rapport uppladdad till Discovery med Javatestbasen: Titel: Vendor Lock-in in the transistion to a Cloud Computing platform, Författare: Menatalla Ashraf Fawzy Kamel, Nyckelord: Cloud Computing; vendor lock-in; lock-in effects Figur 5.8: Svar från uppladdning av pdf Resultatet visar på en lyckad överföring, men att dokumentet överstiger karaktärer och därför bara får berikningen på de första karaktärerna. Dock räckte karaktärer till referenslistan i den testade rapporten och begränsningen blev därför inget problem. I html-texten, som också ges i utdatan från Javatestbasen, ses en lyckad konvertering av pdf:ens olika delar. Slutsatsen från resultatet är att PDF-filer lämpligt laddas upp till Discovery och konverteras. Begränsningen av karaktärer (ungefär 60 sidor) kan vara ett problem vid uppladdning av rapporter, men vissa rapporter ska kunna klara sig från den begränsningen Test två: berikning med Element Classification Det här testet hade som avsikt att undersöka funktionen Element Classification närmre, för att avgöra dess användbarhet i examensarbetesrapportsgranskning. Fastän Element Classification utges vara anpassad för kontrakt, sågs stor potential i dess funktionalitet och hur den anger textposition för berikningen. Testet gick 58

70 ut på att konfigurera Discovery for Element Classification, ladda upp PDF:er och hämta berikning för dem. Specifikationer för uppladdade pdf:er: Titel: Safety of Machine Learning Systems in Autonomous Driving, Författare: Fadi Al-Khoury, Nyckelord: AI; Machine Learning; Safety; Simulations Titel: Vendor Lock-in in the transistion to a Cloud Computing platform, Författare: Mentalla Ashraf Fawzy Kamel, Nyckelord: Cloud Computing; vendor lock-in; lock-in effects I tabellen 5.8 listas exempel på hämtade element. Varje nytt element börjar med sentence_text, som ger vilken text som berikning behandlar. Därefter presenteras relevant berikning fram till nästa sentence_text. I tabellen visas bland annat exempel på extraktion av begin och end som ger var texturklippet börjar och slutar. sentence_text categories.0.label categories.0.assurance High sentence.begin sentence.end sentence_text types.0.label.nature types.0.label.party types.0.assurance In safety-critical applications, faults in automation can have great consequences such as loss of life, damage to property, and financial losses. Safety and Security To clarify the current strategies in Scania IT, a flowchart has been made in figure 6-3 to ease what is needed from organizations. Obligation Scania IT High Tabell 5.8: Del av resultat från test av Element Classification Slutsatsen från resultatet är att Element Classification extraherar textposition för berikningen och övervägande relevant information om texturklippet, men att categories, parties och nature:s extraheras begränsat och inriktat mot just kontrakt. 59

71 5.2.4 Test tre: hämtning av textberikning från Discovery Det här testet använde sig av Javatestbasen för att se möjlighet att få textberikning av den texten som presenteras i bilaga A, samma som vid motsvarande NLU test. Dokumentberikningen ställdes in på att extrahera entities med ML modellen Person, skapad i NLU testerna. Resultat kan på så sätt jämföras med resultaten från NLU-tjänsten. För att göra resultatet mer koncist, var testerna enbart inställda att extrahera entities, keywords och semantic roles, vilket gjorde att concepts, categories och emotions uteslöts. Resultatet som ses i Figur 5.9 visar vad Discovery ger för entities om de uppladdade dokumenten. Figur 5.9: Utdata berikning gjord med Discovery Resultatet visar att berikningen av texten genom extraktion av entities och relations tas ut från texten efter den modell som definierats. Efter granskning av Discovery och NLU-tjänstens extraktioner, kan slutsatsen ges att extraktionen blev likadan. Därmed ses att alla NLU-tjänstens extraktioner också borde gå att få ut genom Discovery-tjänsten, i liknande utformning. 60

Vad är Artificiell Intelligens (AI) Olika typer av AI och deras användningsområden Innovation med hjälp av AI Framtiden och etiska frågeställningar

Vad är Artificiell Intelligens (AI) Olika typer av AI och deras användningsområden Innovation med hjälp av AI Framtiden och etiska frågeställningar 1 Agenda Vad är Artificiell Intelligens (AI) Olika typer av AI och deras användningsområden Innovation med hjälp av AI Framtiden och etiska frågeställningar 2 Nuvarande AI Funktioner en grov Analogi Rekommendation,

Läs mer

Titel Mall för Examensarbeten (Arial 28/30 point size, bold)

Titel Mall för Examensarbeten (Arial 28/30 point size, bold) Titel Mall för Examensarbeten (Arial 28/30 point size, bold) SUBTITLE - Arial 16 / 19 pt FÖRFATTARE FÖRNAMN OCH EFTERNAMN - Arial 16 / 19 pt KTH ROYAL INSTITUTE OF TECHNOLOGY ELEKTROTEKNIK OCH DATAVETENSKAP

Läs mer

Minnesisolering för virtuella maskiner en hypervisorstudie

Minnesisolering för virtuella maskiner en hypervisorstudie 1.Introduktion 1.1 Inledning Den senaste trenden inom IT-världen är cloud computing (molntjänster). Molntjänster har uppnått stor popularitet både hos IT-chefer och ekonomichefer inom stora företag. Molntjänster

Läs mer

DIG IN TO Nätverksadministration

DIG IN TO Nätverksadministration DIG IN TO Nätverksadministration Nätverksadministration Datormolnet The Cloud Agenda IT förändras kontinuerligt IT infrastruktur behöver byggas ut Högre krav på IT infrastrukturen Vad är datormoln? Vad

Läs mer

Bedömningsmall, Examensarbete 2015-04-12 Högskoleingenjör Riktlinjer för kvalitetskriterier för bedömning av examensarbete Examensarbetet bedöms med hjälp av kriterierna: Process, Ingenjörsmässigt och

Läs mer

Artificiell Intelligens den nya superkraften

Artificiell Intelligens den nya superkraften Artificiell Intelligens den nya superkraften Socialchefsdagarna, 4 oktober 2018 #CGINext Artificiell Intelligens Förmågan hos mjukvara att agera självständigt på ett intelligent sätt tidigare bara associerat

Läs mer

Bedömningsmall med riktlinjer för kvalitetskriterier för bedömning av examensarbete master+civilingenjör

Bedömningsmall med riktlinjer för kvalitetskriterier för bedömning av examensarbete master+civilingenjör Bedömningsmall med riktlinjer för kvalitetskriterier för bedömning av examensarbete master+civilingenjör Examensarbetet bedöms i områdena: Process, Ingenjörsmässigt och vetenskapligt innehåll samt Presentation.

Läs mer

Syns du, finns du? Examensarbete 15 hp kandidatnivå Medie- och kommunikationsvetenskap

Syns du, finns du? Examensarbete 15 hp kandidatnivå Medie- och kommunikationsvetenskap Examensarbete 15 hp kandidatnivå Medie- och kommunikationsvetenskap Syns du, finns du? - En studie över användningen av SEO, PPC och sociala medier som strategiska kommunikationsverktyg i svenska företag

Läs mer

Ökat personligt engagemang En studie om coachande förhållningssätt

Ökat personligt engagemang En studie om coachande förhållningssätt Lärarutbildningen Fakulteten för lärande och samhälle Individ och samhälle Uppsats 7,5 högskolepoäng Ökat personligt engagemang En studie om coachande förhållningssätt Increased personal involvement A

Läs mer

AI utmaningar inom kvalitetssäkring. Henrik Emilsson Teststrateg, Nordic Medtest AB

AI utmaningar inom kvalitetssäkring. Henrik Emilsson Teststrateg, Nordic Medtest AB AI utmaningar inom kvalitetssäkring Henrik Emilsson Teststrateg, Nordic Medtest AB Först lite om Artificiell intelligens General AI vs. Narrow AI Maskininlärning Supervised Learning Unsupervised Learning

Läs mer

Innehåll Molntjänster... 4 Vad är detta?... 5 Cirkeln sluts... 6 The Cloud... 7 The Cloud (forts.)... 8 Definition av molntjänster...

Innehåll Molntjänster... 4 Vad är detta?... 5 Cirkeln sluts... 6 The Cloud... 7 The Cloud (forts.)... 8 Definition av molntjänster... 1 2 Innehåll Molntjänster... 4 Vad är detta?... 5 Cirkeln sluts... 6 The Cloud... 7 The Cloud (forts.)... 8 Definition av molntjänster... 9 Definition av molntjänster (forts.)... 11 Tjänster... 12 Skikt

Läs mer

Engelska åk 5 höstterminen 2013

Engelska åk 5 höstterminen 2013 gelska åk 5 höstterminen 2013 Under hösten kommer vi att jobba utifrån olika temaområden i engelska. Några områden handlar om länder, intressen och partyinbjudningar. Vi utgår från ett läromedel i engelska

Läs mer

Introduktion till migrering till molnet. PART 4: Plattformar för molntjänster

Introduktion till migrering till molnet. PART 4: Plattformar för molntjänster Introduktion till migrering till molnet PART 4: Plattformar för molntjänster PART 4 ÖVERSIKT 1. PaaS 2.Migration Vad betyder PaaS? PaaS betyderplatform as a Service eller plattform för cloud computing

Läs mer

TDDD92 Artificiell intelligens -- projekt

TDDD92 Artificiell intelligens -- projekt jonas.kvarnstrom@liu.se 2018 TDDD92 Artificiell intelligens -- projekt Kursinformation Outline Om oss Om kursen i allmänhet Om den individuella uppgiften Om det gemensamma projektet Diskussion och frågor

Läs mer

Bedömningsmall med riktlinjer för kvalitetskriterier för bedömning av examensarbete master+civilingenjör

Bedömningsmall med riktlinjer för kvalitetskriterier för bedömning av examensarbete master+civilingenjör Bedömningsmall med riktlinjer för kvalitetskriterier för bedömning av examensarbete master+civilingenjör Examensarbetet bedöms i områdena: Process, Ingenjörsmässigt och vetenskapligt innehåll samt Presentation.

Läs mer

ARTIFICIELL INTELLIGENS

ARTIFICIELL INTELLIGENS ARTIFICIELL INTELLIGENS www..se Så fungerar det Artificiell Intelligens (AI) är intelligens som uppvisas av maskiner. Uttrycket användes för första gången 1955 i ett forskningsförslag med syftet att hitta

Läs mer

Statistisk mönsterigenkänning

Statistisk mönsterigenkänning Statistisk mönsterigenkänning Jonas Sandström Artificiell intelligens II Linköpings universitet HT 2011 Innehållsförteckning 1. Innehållsförteckning sid 2 2. Inledning sid 3 3. Statistisk mönsterigenkänning

Läs mer

Flervariabel Analys för Civilingenjörsutbildning i datateknik

Flervariabel Analys för Civilingenjörsutbildning i datateknik Flervariabel Analys för Civilingenjörsutbildning i datateknik Henrik Shahgholian KTH Royal Inst. of Tech. 2 / 9 Utbildningens mål Gällande matematik: Visa grundliga kunskaper i matematik. Härmed förstås

Läs mer

Nyttjande av kartor och kartteknik hur ser framtiden ut? Jonas Bäckström, Sokigo AB

Nyttjande av kartor och kartteknik hur ser framtiden ut? Jonas Bäckström, Sokigo AB Nyttjande av kartor och kartteknik hur ser framtiden ut? Jonas Bäckström, Sokigo AB Att förutsäga framtiden.. "I predict the Internet will soon go spectacularly supernova and in 1996 catastrophically collapse.

Läs mer

ALLMÄN STUDIEPLAN FÖR UTBILDNING PÅ FORSKARNIVÅ I MASKININLÄRNING

ALLMÄN STUDIEPLAN FÖR UTBILDNING PÅ FORSKARNIVÅ I MASKININLÄRNING ALLMÄN STUDIEPLAN FÖR UTBILDNING PÅ FORSKARNIVÅ I MASKININLÄRNING /Machine learning Tekniska fakultetsnämnden - dekanus 2018-11-20 1. Ämnesområde Maskininlärning fokuserar på metoder med vilka datorsystem

Läs mer

Molntjänster. Översikt. Lektion 1: Introduktion till molntjänst. Introduktion till molntjänst. Vilka tjänster finns? Säkerhet.

Molntjänster. Översikt. Lektion 1: Introduktion till molntjänst. Introduktion till molntjänst. Vilka tjänster finns? Säkerhet. Molntjänster Översikt Introduktion till molntjänst. Vilka tjänster finns? Säkerhet. Lektion 1: Introduktion till molntjänst Vad är detta? the Cloud. Definition av molntjänster. Tjänster. Skikt. Klient.

Läs mer

Bedömning av Examensarbete (30 hp) vid Logopedprogrammet Fylls i av examinerande lärare och lämnas i signerad slutversion till examinator

Bedömning av Examensarbete (30 hp) vid Logopedprogrammet Fylls i av examinerande lärare och lämnas i signerad slutversion till examinator version 2014-09-10 Bedömning av Examensarbete (30 hp) vid Logopedprogrammet Fylls i av examinerande lärare och lämnas i signerad slutversion till examinator Studentens namn Handledares namn Examinerande

Läs mer

Beräkning med ord. -hur en dator hanterar perception. Linköpings universitet Artificiell intelligens 2 2010-10-03 Erik Claesson 880816-1692

Beräkning med ord. -hur en dator hanterar perception. Linköpings universitet Artificiell intelligens 2 2010-10-03 Erik Claesson 880816-1692 Beräkning med ord -hur en dator hanterar perception 2010-10-03 Erik Claesson 880816-1692 Innehåll Inledning... 3 Syfte... 3 Kan datorer hantera perception?... 4 Naturligt språk... 4 Fuzzy Granulation...

Läs mer

Matematik och det nya medialandskapet

Matematik och det nya medialandskapet Matematik och det nya medialandskapet Per Jönsson, Malmö Högskola Thomas Lingefjärd, Göteborgs Universitet 27 januari 2010 Översikt Föränderligt medialandskap Lärande med nya medier Teknologi och programvara

Läs mer

Goals for third cycle studies according to the Higher Education Ordinance of Sweden (Sw. "Högskoleförordningen")

Goals for third cycle studies according to the Higher Education Ordinance of Sweden (Sw. Högskoleförordningen) Goals for third cycle studies according to the Higher Education Ordinance of Sweden (Sw. "Högskoleförordningen") 1 1. Mål för doktorsexamen 1. Goals for doctoral exam Kunskap och förståelse visa brett

Läs mer

För universitetsgemensamma regler för forskarutbildning se Regler för utbildning på forskarnivå vid Göteborgs universitet Doktorandreglerna.

För universitetsgemensamma regler för forskarutbildning se Regler för utbildning på forskarnivå vid Göteborgs universitet Doktorandreglerna. HUMANISTISKA FAKULTETEN Dnr: U 2016/417 Allmän studieplan för licentiatexamen i Datalingvistik Studieplanen är fastställd av Humanistiska fakultetsstyrelsen vid Göteborgs universitet den 30 mars 2017.

Läs mer

Utveckling av ett grafiskt användargränssnitt

Utveckling av ett grafiskt användargränssnitt Datavetenskap Opponenter: Daniel Melani och Therese Axelsson Respondenter: Christoffer Karlsson och Jonas Östlund Utveckling av ett grafiskt användargränssnitt Oppositionsrapport, C-nivå 2010-06-08 1 Sammanfattat

Läs mer

Lokal pedagogisk planering i matematik för årskurs 9

Lokal pedagogisk planering i matematik för årskurs 9 Lokal pedagogisk planering i matematik för årskurs 9 Arbetsområde 4. Samband och förändring Syfte formulera och lösa problem med hjälp av matematik samt värdera valda strategier och metoder. reflektera

Läs mer

What Is Hyper-Threading and How Does It Improve Performance

What Is Hyper-Threading and How Does It Improve Performance What Is Hyper-Threading and How Does It Improve Performance Ali Muthanna, Lunds Universitet, IDA2, EDT621 Abstract Hyper-Threading (HT) is Intel s version of simultaneous multi-threading (SMT). Hyper-Threading

Läs mer

Aristi Fernandes Examensarbete T6, Biomedicinska analytiker programmet

Aristi Fernandes Examensarbete T6, Biomedicinska analytiker programmet Kursens mål Efter avslutad kurs skall studenten kunna planera, genomföra, sammanställa och försvara ett eget projekt samt kunna granska och opponera på annan students projekt. Studenten ska även kunna

Läs mer

Språkteknologi. Språkteknologi

Språkteknologi. Språkteknologi Språkteknologi Denna kurs handlar om naturliga språk (svenska, engelska, japanska, arabiska ), och hur vi kan få datorer att utföra användbara och intressanta uppgifter med naturliga språk. Språkteknologi

Läs mer

Riktlinjer för bedömning av examensarbeten

Riktlinjer för bedömning av examensarbeten Fastställda av Styrelsen för utbildning 2010-09-10 Dnr: 4603/10-300 Senast reviderade 2012-08-17 Riktlinjer för bedömning av Sedan 1 juli 2007 ska enligt högskoleförordningen samtliga yrkesutbildningar

Läs mer

Daniel Akenine, Teknikchef, Microsoft Sverige

Daniel Akenine, Teknikchef, Microsoft Sverige Daniel Akenine, Teknikchef, Microsoft Sverige Quincy Invånare: 5,300 Arbete: 52% jordbruk 18 % byggsektor 18 % offentlig sektor Språk: Spanska 57% Företaget Inköp Företaget Inköp Installering Lång

Läs mer

Introduktion till digitala medarbetare. RPA-dagen digital arbetskraft, 22/

Introduktion till digitala medarbetare. RPA-dagen digital arbetskraft, 22/ Introduktion till digitala medarbetare RPA-dagen digital arbetskraft, 22/10 2018 B Agenda och PS Provider Innehåll och presentation av PS Provider Innehåll 11 12 1 I Introduktion till RPA och digitala

Läs mer

- A Scrum Planning Tool Case Study to Evaluate the The Rich AJAX Platform

- A Scrum Planning Tool Case Study to Evaluate the The Rich AJAX Platform Datavetenskap Opponent(er): Jhonny Carvajal Johan Bjärneryd Respondent(er): Fredrik Häggbom Erik Olsson Haglund Scrumptious - A Scrum Planning Tool Case Study to Evaluate the The Rich AJAX Platform Oppositionsrapport,

Läs mer

Opponenter: Erik Hansen Mats Almgren Respondent: Martin Landälv ioftpd-verktyg

Opponenter: Erik Hansen Mats Almgren Respondent: Martin Landälv ioftpd-verktyg Datavetenskap Opponenter: Erik Hansen Mats Almgren Respondent: Martin Landälv ioftpd-verktyg Oppositionsrapport, C-nivå 2006:12 1 Sammanfattat omdöme av examensarbetet Examensarbetet är intressant eftersom

Läs mer

Magisterprogram i nationalekonomi med inriktning turism och evenemang 60 högskolepoäng

Magisterprogram i nationalekonomi med inriktning turism och evenemang 60 högskolepoäng Sida 1(5) Utbildningsplan Magisterprogram i nationalekonomi med inriktning turism och evenemang 60 högskolepoäng Master Programme in Economics of Tourism and Events 60 Credits* 1. Programmets mål 1.1 Mål

Läs mer

Arbetsområde: Jag får spel

Arbetsområde: Jag får spel Arbetsområde: Jag får spel Huvudsakligt ämne: Matematik, åk 7-9 Läsår: Tidsomfattning: 6-9 lektioner à 60 minuter Ämnets syfte Undervisning i ämnet matematik syftar till: länk Följande syftesförmågor för

Läs mer

Introduktion till Entity Framework och LINQ. Källa och läs mer https://msdn.microsoft.com/en-us/data/aa937709.aspx

Introduktion till Entity Framework och LINQ. Källa och läs mer https://msdn.microsoft.com/en-us/data/aa937709.aspx Introduktion till Entity Framework och LINQ Copyright Mahmud Al Hakim mahmud@webacademy.se www.webacademy.se Vad är Entity Framework? The Microsoft ADO.NET Entity Framework is an Object/Relational Mapping

Läs mer

Inledning. Vad är ett datorprogram, egentligen? Olika språk. Problemlösning och algoritmer. 1DV433 Strukturerad programmering med C Mats Loock

Inledning. Vad är ett datorprogram, egentligen? Olika språk. Problemlösning och algoritmer. 1DV433 Strukturerad programmering med C Mats Loock Inledning Vad är ett datorprogram, egentligen? Olika språk Problemlösning och algoritmer 1 (14) Varför använda en dator? Genom att variera de program som styr datorn kan den användas för olika uppgifter.

Läs mer

Kursintroduktion. B-uppsats i hållbar utveckling vårterminen 2017

Kursintroduktion. B-uppsats i hållbar utveckling vårterminen 2017 Kursintroduktion B-uppsats i hållbar utveckling vårterminen 2017 People build up a thick layer of fact but cannot apply it to the real world. They forget that science is about huge, burning questions crying

Läs mer

Tips på AKK-appar. Jag tycker om dig! Appar med symboler, text och ljud för personer som behöver AKK-stöd för uttryck och förståelse

Tips på AKK-appar. Jag tycker om dig! Appar med symboler, text och ljud för personer som behöver AKK-stöd för uttryck och förståelse Tips på AKK-appar Jag tycker om dig! Appar med symboler, text och ljud för personer som behöver AKK-stöd för uttryck och förståelse Oktober 2019 Innehåll Innehåll... 2 Vad är AKK och vad är AKK-appar?...

Läs mer

Introduction to the Semantic Web. Eva Blomqvist

Introduction to the Semantic Web. Eva Blomqvist Introduction to the Semantic Web Eva Blomqvist eva.blomqvist@liu.se Outline The original vision Meaning of data Current applications Revisiting the vision and looking ahead Scientific American, May 2001:

Läs mer

Litteraturstudie. Utarbetat av Johan Korhonen, Kajsa Lindström, Tanja Östman och Anna Widlund

Litteraturstudie. Utarbetat av Johan Korhonen, Kajsa Lindström, Tanja Östman och Anna Widlund Litteraturstudie Utarbetat av Johan Korhonen, Kajsa Lindström, Tanja Östman och Anna Widlund Vad är en litteraturstudie? Till skillnad från empiriska studier söker man i litteraturstudier svar på syftet

Läs mer

Vindkraft och ML. - hur kan vindkraft dra nytta avml

Vindkraft och ML. - hur kan vindkraft dra nytta avml Vindkraft och ML - hur kan vindkraft dra nytta avml AI och ML Intelligens: förmågan att utnyttja kunskap för att bättre lösa en klass av uppgifter Lärande: förmågan att förbättra sin förmåga att lösa uppgifterna

Läs mer

Lärande, kommunikation och informationsteknologi, Magisterprogram, 60 högskolepoäng

Lärande, kommunikation och informationsteknologi, Magisterprogram, 60 högskolepoäng Utbildningsplan Dnr G 2018/203 IT-FAKULTETEN Lärande, kommunikation och informationsteknologi, Magisterprogram, 60 högskolepoäng Learning, Communication and Information Technology, Master's Programme,

Läs mer

"Distributed Watchdog System"

Distributed Watchdog System Datavetenskap Emma Henriksson Ola Ekelund Oppositionsrapport på uppsatsen "Distributed Watchdog System" Oppositionsrapport, C-nivå 2005 1 Sammanfattande omdöme på exjobbet Projektet tycks ha varit av

Läs mer

Bedömningskriterier för kandidatuppsats i omvårdnad

Bedömningskriterier för kandidatuppsats i omvårdnad Nämnden för Omvårdnadsutbildningar Bedömningskriterier för kandidatuppsats i omvårdnad Instruktioner för användning: Alla angivna kriterier ska vara godkända för att studenten ska uppnå betyget godkänd.

Läs mer

Forskning och utveckling inom språkteknologi Uppgift 3: Projektförslag Parallelliserad dependensparsning i CUDA

Forskning och utveckling inom språkteknologi Uppgift 3: Projektförslag Parallelliserad dependensparsning i CUDA Forskning och utveckling inom språkteknologi Uppgift 3: Projektförslag Parallelliserad dependensparsning i CUDA Evelina Andersson 18 maj 2011 1 Introduktion Att träna mycket för att bli duktig på ett språk

Läs mer

Arv. Fundamental objekt-orienterad teknik. arv i Java modifieraren protected Lägga till och modifiera metoder med hjälp av arv Klass hierarkier

Arv. Fundamental objekt-orienterad teknik. arv i Java modifieraren protected Lägga till och modifiera metoder med hjälp av arv Klass hierarkier Arv Fundamental objekt-orienterad teknik arv i Java modifieraren protected Lägga till och modifiera metoder med hjälp av arv Klass hierarkier Programmeringsmetodik -Java 165 Grafisk respresentation: Arv

Läs mer

b) NY KURS (Ange kursnamn, årskurs, önskad läsperiod, schemablocksplacering. Bifoga utkast till kursplan.)

b) NY KURS (Ange kursnamn, årskurs, önskad läsperiod, schemablocksplacering. Bifoga utkast till kursplan.) LINKÖPINGS TEKNISKA HÖGSKOLA Tekniska fakultetskansliet FÖRSLAG TILL PROGRAMNÄMND INFÖR ÅR NÄMND/NÄMNDER: Förslagsställare (Namn, funktion, Inst/Enhet) FÖRSLAGET GÄLLER: a) EXISTERANDE KURS (Ange kurskod

Läs mer

Betygskriterier för examensarbete/självständigt arbete

Betygskriterier för examensarbete/självständigt arbete Fastställt av BIG: s institutionsstyrelse 2008-10-22 Betygskriterier för examensarbete/självständigt arbete 1. Bedömningsgrunder och innehåll Ett examensarbete eller självständigt arbete ska bedömas inom

Läs mer

EG Utility Användarträff Årets IT-konferens för dig i energibranschenafdas

EG Utility Användarträff Årets IT-konferens för dig i energibranschenafdas EG Utility Användarträff 2018 Årets IT-konferens för dig i energibranschenafdas Digitalisering It is not the strongest of the species that survives, nor the most intelligent that survives. It is the one

Läs mer

Second handbook of research on mathematics teaching and learning (NCTM)

Second handbook of research on mathematics teaching and learning (NCTM) Second handbook of research on mathematics teaching and learning (NCTM) The effects of classroom mathematics teaching on students learning. (Hiebert & Grouws, 2007) Inledande observationer Undervisningens

Läs mer

TYSK02, Tyska: Kandidatkurs, 30 högskolepoäng German: BA Course, 30 credits Grundnivå / First Cycle

TYSK02, Tyska: Kandidatkurs, 30 högskolepoäng German: BA Course, 30 credits Grundnivå / First Cycle Humanistiska och teologiska fakulteterna TYSK02, Tyska: Kandidatkurs, 30 högskolepoäng German: BA Course, 30 credits Grundnivå / First Cycle Fastställande Kursplanen är fastställd av Prodekanen med ansvar

Läs mer

Mål och kriterier för utvärdering av ingenjörs- och teknikvetenskapliga området

Mål och kriterier för utvärdering av ingenjörs- och teknikvetenskapliga området Mål och kriterier för utvärdering av ingenjörs- och teknikvetenskapliga området 2012-11-27 I utvärderingen har vi valt att göra några interna klargöranden om hur olika begrepp bör tolkas. Genomgående ska

Läs mer

de var svåra att implementera och var väldigt ineffektiva.

de var svåra att implementera och var väldigt ineffektiva. OBS! För flervalsfrågorna gäller att flera alternativ eller inget alternativ kan vara korrekt. På flervalsfrågorna kan man bara ha rätt eller fel, dvs frågan måste vara helt korrekt besvarad. Totalt kan

Läs mer

PROGRAMMERING. Ämnets syfte. Kurser i ämnet

PROGRAMMERING. Ämnets syfte. Kurser i ämnet PROGRAMMERING Ämnet programmering behandlar programmeringens roll i informationstekniska sammanhang som datorsimulering, animerad grafik, praktisk datoriserad problemlösning och användaranpassad konfiguration

Läs mer

Plattform as a Service, leverantör tillhandahåller plattformen, jag tillhandahåller applikation och ansvarar för denna.

Plattform as a Service, leverantör tillhandahåller plattformen, jag tillhandahåller applikation och ansvarar för denna. Modul 1: Molntjänst Publikt moln Privat moln Hybrid moln IaaS PaaS SaaS DaaS DaaS SLA Infrastructure as a Service, leverantör tillhandahåller infrastrukturen, jag tillhandahåller virtuella maskiner eller

Läs mer

SAS VIYA JOHAN ELFMAN ROLAND BALI

SAS VIYA JOHAN ELFMAN ROLAND BALI 5/31/2016 SAS VIYA JOHAN ELFMAN ROLAND BALI Co p yr i g h t 2 0 1 6, S A S In s t i tut e In c. A l l r i g h t s r e s e r v ed. Co p yr i g h t 2 0 1 6, S A S In s t i tut e In c. A l l r i g h t s r

Läs mer

Grundkurs i programmering - intro

Grundkurs i programmering - intro Grundkurs i programmering - intro Linda Mannila 4.9.2007 Dagens föreläsning Allmän kursinformation: mål, syfte, upplägg, examination, litteratur, etc. Hur arbetar en dator? Hur vi får datorn att förstå

Läs mer

Collaborative Product Development:

Collaborative Product Development: Collaborative Product Development: a Purchasing Strategy for Small Industrialized House-building Companies Opponent: Erik Sandberg, LiU Institutionen för ekonomisk och industriell utveckling Vad är egentligen

Läs mer

Förankring i läroplanen. Innehåll. I arbetsområdet kommer eleven att ges förutsättningar att utveckla förmågan att:

Förankring i läroplanen. Innehåll. I arbetsområdet kommer eleven att ges förutsättningar att utveckla förmågan att: Studieteknik för faktatexter 5 LGR11 Hi Re SvA Sv Ke Planering och bedömning i svenska/sva för ett tema om studieteknik för faktatexter i samarbete med SO- och NO-ämnet. Förankring i läroplanen I arbetsområdet

Läs mer

729G74 IT och programmering, grundkurs. Tema 1, Föreläsning 2 Jody Foo,

729G74 IT och programmering, grundkurs. Tema 1, Föreläsning 2 Jody Foo, 729G74 IT och programmering, grundkurs Tema 1, Föreläsning 2 Jody Foo, jody.foo@liu.se Föreläsningsöversikt Kurslogistik Begreppspresentationer Uppgifter i diskret matematik Uppgifter i Python Tema 1:

Läs mer

Regression med Genetiska Algoritmer

Regression med Genetiska Algoritmer Regression med Genetiska Algoritmer Projektarbete, Artificiell intelligens, 729G43 Jimmy Eriksson, jimer336 770529-5991 2014 Inledning Hur många kramar finns det i världen givet? Att kunna estimera givet

Läs mer

Kriminologi AV, Magisterkurs i kriminologi, 30 hp

Kriminologi AV, Magisterkurs i kriminologi, 30 hp 1 (5) Kursplan för: Kriminologi AV, Magisterkurs i kriminologi, 30 hp Criminology MA, Master Degree Course in Criminology, 30 Credits Allmänna data om kursen Kurskod Ämne/huvudområde Nivå Inriktning (namn)

Läs mer

Björn Åstrand

Björn Åstrand HÖGSKOLAN I HALMSTAD Examensarbete Instruktioner Halvtidseminarium 2014 HT Björn Åstrand 2014-10-08 Björn Åstrand 2014 1 Halvtidsseminarium Vid halvtidsseminariet presenteras hittills uppnådda resultat

Läs mer

Föreläsning 6: Analys och tolkning från insamling till insikt

Föreläsning 6: Analys och tolkning från insamling till insikt Föreläsning 6: Analys och tolkning från insamling till insikt FSR: 1, 5, 6, 7 Rogers et al. Kapitel 8 Översikt Kvalitativ och kvantitativ analys Enkel kvantitativ analys Enkel kvalitativ analys Presentera

Läs mer

Förskola i Bromma- Examensarbete. Henrik Westling. Supervisor. Examiner

Förskola i Bromma- Examensarbete. Henrik Westling. Supervisor. Examiner Förskola i Bromma- Examensarbete Henrik Westling Handledare/ Supervisor Examinator/ Examiner Ori Merom Erik Wingquist Examensarbete inom arkitektur, grundnivå 15 hp Degree Project in Architecture, First

Läs mer

Distribuerade System, HT03

Distribuerade System, HT03 UMEÅ UNIVERSITET 21 oktober 2003 Institutionen för Datavetenskap Laborationsrapport Laboration Middleware Distribuerade System, HT03 Jini Namn: Anders Holm, c00asm@cs.umu.se Kjell Johansson, c00kjn@cs.umu.se

Läs mer

Patientutbildning om diabetes En systematisk litteraturstudie

Patientutbildning om diabetes En systematisk litteraturstudie Institutionen Hälsa och samhälle Sjuksköterskeprogrammet 120 p Vårdvetenskap C 51-60 p Ht 2005 Patientutbildning om diabetes En systematisk litteraturstudie Författare: Jenny Berglund Laila Janérs Handledare:

Läs mer

Utbildningsplan för magisterprogrammet i hälsoinformatik

Utbildningsplan för magisterprogrammet i hälsoinformatik Utbildningsplan för magisterprogrammet i hälsoinformatik Inrättad av Styrelsen för utbildning 2006-11-22 Fastställd av Styrelsen för utbildning 2007-04-04 Sid 2 (5) 1. Basdata 1.1. Programkod 3HI07 1.2.

Läs mer

Låt oss ta hand om din utveckling, medan du själv utvecklar ditt företag

Låt oss ta hand om din utveckling, medan du själv utvecklar ditt företag Låt oss ta hand om din utveckling, medan du själv utvecklar ditt företag *vad är SmartCode? Vi gör ett komplett utbud av tjänster. Vi designar, utvecklar, stödjer och uppdaterar allt som fungerar i Web.

Läs mer

Utbildningsplaner för kandidat-, magister och masterprogram. 1. Identifikation. Avancerad nivå

Utbildningsplaner för kandidat-, magister och masterprogram. 1. Identifikation. Avancerad nivå 1. Identifikation Programmets namn Omfattning Nivå Programkod Ev. koder på inriktningar Beslutsuppgifter Ändringsuppgifter Masterprogram i kognitionsvetenskap 120 hp Avancerad nivå HAKOG Fastställd av

Läs mer

Datormetaforen. Från människa till dator Från dator till människa o.s.v.

Datormetaforen. Från människa till dator Från dator till människa o.s.v. Datormetaforen Från människa till dator Från dator till människa o.s.v. Det mekaniska tänkandet Räknemaskin tillverkad av Pascal 1642 Hjärnan ett avancerat urverk 1800-talet Henry Colebrooke, (president

Läs mer

Att hitta projekt. Björn Victor. måndag 19 mars 12

Att hitta projekt. Björn Victor. måndag 19 mars 12 Att hitta projekt Björn Victor Övning: projektbeskrivning Till måndag: skriv en (1) sida som beskriver projektet på Distribuerade system med projekt Övning: inte obligatorisk, men nyttig! 1. vad var planen/avsikten/syftet/målet

Läs mer

Styrdokumentkompendium

Styrdokumentkompendium Styrdokumentkompendium Information och kommunikation 2 Sammanställt av Joni Stam Inledning Jag brukar säga till mina elever, halvt på skämt och halvt på allvar, att jag förhåller mig till kursens centrala

Läs mer

LOKAL EXAMENSBESKRIVNING

LOKAL EXAMENSBESKRIVNING Dnr G 2017/412 IT-FAKULTETEN LOKAL EXAMENSBESKRIVNING Filosofie kandidatexamen med huvudområdet kognitionsvetenskap Degree of Bachelor of Science with a major in Cognitive Science 1. Fastställande Examensbeskrivning

Läs mer

Introduktion till programmering. Programspråk och paradigmer

Introduktion till programmering. Programspråk och paradigmer Introduktion till programmering Programspråk och paradigmer Vad är ett programspråk? Aprogramming languageis a formal constructedlanguagedesigned to communicate instructions to a machine, particularly

Läs mer

Guide för Innehållsleverantörer

Guide för Innehållsleverantörer Library of Labs Content Provider s Guide Guide för Innehållsleverantörer Inom LiLa ramverket är innehållsleverantörer ansvariga för att skapa experiment som "LiLa Learning Objects", att ladda upp dessa

Läs mer

Kursplan. EN1088 Engelsk språkdidaktik. 7,5 högskolepoäng, Grundnivå 1. English Language Learning and Teaching

Kursplan. EN1088 Engelsk språkdidaktik. 7,5 högskolepoäng, Grundnivå 1. English Language Learning and Teaching Kursplan EN1088 Engelsk språkdidaktik 7,5 högskolepoäng, Grundnivå 1 English Language Learning and Teaching 7.5 Higher Education Credits *), First Cycle Level 1 Mål Efter genomgången kurs ska studenten

Läs mer

Kursplan ENGELSKA. Ämnets syfte. Mål. Innehåll. Insikt med utsikt

Kursplan ENGELSKA. Ämnets syfte. Mål. Innehåll. Insikt med utsikt Kursplan ENGELSKA Ämnets syfte Undervisningen i ämnet engelska ska syfta till att deltagarna utvecklar språk- och omvärldskunskaper så att de kan, vill och vågar använda engelska i olika situationer och

Läs mer

GYMNASIEARBETE: NINJARENA - VÅRAT EGET SPEL

GYMNASIEARBETE: NINJARENA - VÅRAT EGET SPEL Grafiskt Utbildningscenter VT 2015 GYMNASIEARBETE: NINJARENA - VÅRAT EGET SPEL Jordi Orrellana Herrera Yonathan Sarria Flood Liam Fritzson Handledare: Per Djerf 1 av 11 Abstract The following set of papers

Läs mer

Föreläsning 2 Programmeringsteknik och C DD1316. Mikael Djurfeldt

Föreläsning 2 Programmeringsteknik och C DD1316. Mikael Djurfeldt Föreläsning 2 Programmeringsteknik och C DD1316 Mikael Djurfeldt Föreläsning 2 Programmeringsteknik och C Python introduktion Utskrift Inläsning Variabler Datatyp Aritmetiska operatorer Omvandling

Läs mer

Bedömning av Examensarbete (30 hp) vid Logopedprogrammet Fylls i av examinerande lärare och lämnas till examinator

Bedömning av Examensarbete (30 hp) vid Logopedprogrammet Fylls i av examinerande lärare och lämnas till examinator version 2017-08-21 Bedömning av Examensarbete (30 hp) vid Logopedprogrammet Fylls i av examinerande lärare och lämnas till examinator Studentens namn Handledares namn Examinerande lärare Uppsatsens titel

Läs mer

SKOLFS. beslutade den XXX 2017.

SKOLFS. beslutade den XXX 2017. 1 (11) Föreskrifter om ändring i Skolverkets föreskrifter (SKOLFS 2010:247) om ämnesplan för ämnet programmering i gymnasieskolan, inom kommunal vuxenutbildning på gymnasial nivå och inom vidareutbildning

Läs mer

Adding active and blended learning to an introductory mechanics course

Adding active and blended learning to an introductory mechanics course Adding active and blended learning to an introductory mechanics course Ulf Gran Chalmers, Physics Background Mechanics 1 for Engineering Physics and Engineering Mathematics (SP2/3, 7.5 hp) 200+ students

Läs mer

Concept Selection Chaper 7

Concept Selection Chaper 7 Akademin för Innovation, Design och Teknik Concept Selection Chaper 7 KPP306 Produkt och processutveckling Grupp 2 Johannes Carlem Daniel Nordin Tommie Olsson 2012 02 28 Handledare: Rolf Lövgren Inledning

Läs mer

Att använda Weka för språkteknologiska problem

Att använda Weka för språkteknologiska problem Att använda Weka för språkteknologiska problem Systemet WEKA (Waikato Environment for Knowledge Acquisition) är en verktygslåda med olika maskininlärningsalgoritmer, metoder för att behandla indata, möjligheter

Läs mer

formulera och lösa problem med hjälp av matematik samt värdera valda strategier och metoder,

formulera och lösa problem med hjälp av matematik samt värdera valda strategier och metoder, Arbetsområde: Huvudsakligt ämne: Negativa tal Läsår: Tidsomfattning: Ämnets syfte Undervisning i ämnet matematik syftar till: länk Följande syftesförmågor för ämnet ska utvecklas: formulera och lösa problem

Läs mer

Programmering i skolan varför då? Lisa Söderlund Pedagogik och kommunikation

Programmering i skolan varför då? Lisa Söderlund Pedagogik och kommunikation Programmering i skolan varför då? Lisa Söderlund Pedagogik och kommunikation lisa@kodcentrum.se KODCENTRUM En ideell förening som helt gratis introducerar barn och unga till programmering och digitalt

Läs mer

Datavetenskapligt program, 180 högskolepoäng

Datavetenskapligt program, 180 högskolepoäng GÖTEBORGS UNIVERSITET UTBILDNINGSPLAN IT-fakultetsstyrelsen 2013-02-14 Datavetenskapligt program, 180 högskolepoäng (Computer Science, Bachelor s Programme, 180 credits) Grundnivå/First level 1. Fastställande

Läs mer

Introduktion till molntjänster Tekniken bakom molntjänster och legala utmaningar

Introduktion till molntjänster Tekniken bakom molntjänster och legala utmaningar Introduktion till molntjänster Tekniken bakom molntjänster och legala utmaningar 19 november 2012 - Erica Wiking Häger och Mikael Moreira Innehåll 1. Vad är molntjänster? 2. Legala utmaningar 3. EU:s förslag

Läs mer

Business research methods, Bryman & Bell 2007

Business research methods, Bryman & Bell 2007 Business research methods, Bryman & Bell 2007 Introduktion Kapitlet behandlar analys av kvalitativ data och analysen beskrivs som komplex då kvalitativ data ofta består av en stor mängd ostrukturerad data

Läs mer

Tentamen på kursen Webbdesign, 7,5 hp

Tentamen på kursen Webbdesign, 7,5 hp Högskolan i Borås Institutionen för data- och affärsvetenskap Malin Nilsson Tentamen Tentamen på kursen Webbdesign, 7,5 hp Tentamenstid: 2012-05-28, kl. 9-13 Hjälpmedel: Inga hjälpmedel tillåtna Betyg:

Läs mer

PROGRAMMERING. Ämnets syfte. Kurser i ämnet

PROGRAMMERING. Ämnets syfte. Kurser i ämnet PROGRAMMERING Ämnet programmering behandlar hur mjukvaror skapas, anpassas och utvecklas samt programmeringens roll i informationstekniska sammanhang som datorsimulering och praktisk datoriserad problemlösning.

Läs mer

Koppling mellan styrdokumenten på naturvetenskapsprogrammet och sju programövergripande förmågor

Koppling mellan styrdokumenten på naturvetenskapsprogrammet och sju programövergripande förmågor Koppling mellan styrdokumenten på naturvetenskapsprogrammet och sju programövergripande förmågor Förmåga att Citat från examensmålen för NA-programmet Citat från kommentarerna till målen för gymnasiearbetet

Läs mer

Analys av BI-system och utveckling av BIapplikationer

Analys av BI-system och utveckling av BIapplikationer Computer Science Fredrik Nilsson, Jonas Wånggren Daniel Strömberg Analys av BI-system och utveckling av BIapplikationer Opposition Report, C/D-level 2005:xx 1 Sammanfattat omdöme av examensarbetet Vi tycker

Läs mer

TELIAS AI-SATSNING FÖR FRAMTIDENS KUNDMÖTE. Mathias Johansson Senior Manager, Integrated Business Solutions

TELIAS AI-SATSNING FÖR FRAMTIDENS KUNDMÖTE. Mathias Johansson Senior Manager, Integrated Business Solutions TELIAS AI-SATSNING FÖR FRAMTIDENS KUNDMÖTE Mathias Johansson Senior Manager, Integrated Business Solutions 350 MILJONER KONTAKTER 50 % SVENSK MARKNADSANDEL 250 SPECIALISTER 325 KUNDPROJEKT FRAMTIDENS KUNDMÖTE

Läs mer