Perceptron som ordklasstaggare: ett fördjupningsarbete i 729G43 -Artificiell Intelligens

Storlek: px
Starta visningen från sidan:

Download "Perceptron som ordklasstaggare: ett fördjupningsarbete i 729G43 -Artificiell Intelligens"

Transkript

1 Perceptron som ordklasstaggare: ett fördjupningsarbete i 729G43 -Artificiell Intelligens Niklas Blomstrand Linköpings Universitet

2 Inledning Att veta vilken ordklass ett ord tillhör är en viktig del i bearbetning utav språklig data eftersom ett ords ordklass innehåller mycket information, dels om själva ordet men även om dess grannar. Det är till exempel viktigt att inom röstigenkänning veta ett ords ordklass eftersom det kan påverka dess uttal, till exempel mört (substantiv) och mört (adjektiv) eller kort (substantiv) och kort (adjektiv). Ordklasstaggning är också viktigt för språkforskningen för att till exempel hitta vanliga eller mindre vanliga språkliga konstruktioner (Jurafsky & Martin, 2009). För att kunna sätta rätt ordklass till stora mängder ord snabbt och mer eller mindre korrekt används ofta datorprogram och algoritmer som är speciellt utformade för detta. På grund av de många tvetydigheter som finns när det gäller att korrekt sätta ordklass på ett ord är det svårt att skriva ett program med tydliga regler för hur ordklasstaggningen skall gå till. Därför används ofta program som analyserar stora mängder korrekt taggade ord och på så vis lär sig vilka ord som tillhör vilken ordklass. När analysen är klar kan man använda programmet för att sätta ordklasser på nya, otaggade ord. Denna process är ett exempel på maskininlärning och i denna rapport beskrivs hur perceptronen, en typ av algoritm inom maskininlärning, kan användas för att bestämma vilken ordklass ett visst ord tillhör. Rapporten går först igenom vad maskininlärning och ordklasstaggning är samt hur en grundläggande perceptron fungerar. Efter följer hur denna perceptron kan användas för ordklasstaggning samt vilka ändringar som behöver göras från den grundläggande modellen för att detta skall fungera. Syfte Syftet med arbetet var skapa en ordklasstaggare för svenska samt att få en djupare kunskap om hur en perceptron fungerar och kan modelleras för detta syfte. Teori Maskininlärning Daume (2015) skriver att på den mest grundläggande nivån handlar maskininlärning om att förutse framtiden baserat på vad som hänt tidigare. Det kan till exempel gälla att förutse hur mycket någon gillar en bok baserat på hur de betygsatt böcker de redan läst. Oavsett vad det gäller så är grundprincipen att göra informerade gissningar om en okänd egenskap hos ett objekt baserat på observerade egenskaper hos det objektet (Daume, 2015). 1

3 Maskininlärning kan delas in i tre huvudsakliga kategorier, övervakad inlärning, oövervakad inlärning och förstärkt inlärning (Russel & Norvig, 2010). Perceptronen, den algortim som studerats, faller inom kategorin övervakad inlärning och därför förklaras inte de andra. Övervakad inlärning innebär att programmet blir matad med exempel på indata och utdata och programmets uppgift är att lära sig sambandet mellan dessa för att kunna förutse utdata från ny indata (Russel & Norvig, 2010). Man kan se det som att man får en tabell med data och utifrån värdena i de olika kolumnerna skall man predicera ett okänt värde i den sista kolumnen (Honnibal, 2013). De exempel programmet observerar kallas ofta för träningsmängd eller träningsdata. Hur vet man då om ett program lärt sig något? Russel och Norvig (2010) skriver att ett program som förbättrar sin prestanda på framtida uppgifter med hjälp av dessa observationer har lärt sig något. Men det gäller att vi ger programmet rätt uppgifter, inom maskininlärning vill man få fram ett program eller en algoritm som är bra på att generalisera. Programmet skall observera specifika exempel och sedan användas på nya data som är relaterade till träningsmängden (Daume, 2015). För att illustrera vad detta innebär använder Daume ett exempel. Låt säga att vi har exempelprogrammet ovan som förutser hur mycket någon gillar en bok beroende på hur de betygsatt tidigare böcker. Om vi skulle be programmet förutse betyget för en film istället skulle det antagligen ge ett felaktigt svar eftersom programmet inte har någon erfarenhet om filmer, uppgiften är alltså inte relaterat till träningsmängden och programmets prestanda blir inte representativt av dess inlärning. Skulle vi istället fråga om en bok som vi redan har gett ett bra betyg förväntar vi oss att programmet också ger den ett högt betyg men detta visar inte på någon form av inlärning eller generalisering, endast återkallning av tidigare kunskap (Daume, 2015). Det finns olika typer av problem som kan lösas med maskininlärning och de har delats in efter vad det är de försöker förutse, de är klassifikation, regression och rankning (Daume, 2015). Problemet som löses här är att sätta rätt ordklass på rätt ord och detta faller inom kategorin klassifikation, alltså att förutse något som tillhör en ändlig mängd av värden (ordklasserna). Ordklasstaggning Ett program eller en algoritm som utför ordklasstaggning blir matad med strängar utav ord och målet är att bestämma vilken ordklass varje ord skall ha. Detta är ofta inte helt enkelt eftersom många ord kan tillhöra fler än en ordklass, till exempel får som kan var både substantiv och verb. Vilken ordklass ett ord tillhör bestäms dels av ordet självt men påverkas även av vilka ordklasser orden före i meningen har (Jurafsky & Martin, 2009). Ett exempel på 2

4 detta som tas upp av Jurafsky och Martin (2009) är skillnaden mellan possessiva och personliga pronomen, efter ett possessivt pronomen är det stor chans att nästa ord är ett substantiv och efter ett personligt följer ofta verb. I meningen Jag får en katt imorgon. kan man därför använda sig av kunskapen att Jag är ett personligt pronomen och sluta sig till att får därför är ett verb snarare än substantiv. Jurafsky och Martin (2009) skriver att de flesta algoritmer som utför ordklasstaggning kan delas in i en av två kategorier, regelbaserade eller stokastiska. Vidare skriver de att regelbaserade taggare ofta innehåller en databas med handskrivna regler som specificerar vilka ordklasser som är tillåtna att följa varandra. De stokastiska taggarna försöker istället lösa problemet genom att använda en corpus (stor samling text) med träningsdata och sedan räkna ut sannolikheten för att ett givet ord i en given kontext tillhör en viss ordklass (Jurafsky & Martin, 2009). Den algoritm som undersöks här är en typ av stokastisk taggare på så vis att den använder en corpus för träning och taggar ett ord givet dess kontext men den ger ingen sannolikhet för att ordklassen den satt är korrekt. Algoritmen baseras på Perceptronen som presenterades av Frank Rosenblatt 1962 (Bishop, 2006). I följande avsnitt beskrivs dess generella principer och följs sedan upp med hur den kan användas för ordklasstaggning. Perceptronen Perceptronen är en algoritm inom maskininlärning som är skapad med inspiration från hjärnans neuroner (Picton, 1994). Den får ett antal indata (x1, x2, xn) som är kopplade till en vikt (w1,w2, wn). Perceptronen beräknar den viktade summan z av dess indata (z = n i=0 x i w i ), där n är antalet indata. Summan körs genom en aktiveringsfunktion y för att beräkna algoritmens utvärde. Aktiveringsfunktionen jämför summan z mot ett tröskelvärde och ger utvärde 1 om z >= 1 och 0 annars (Russel & Norvig, 2010). Beräkningen illustreras i tabell 1 nedan för tre olika datapunkter, a, b och c. Tröskelvärdet som används för att beräkna utvärdet är 0. indata vikter summa per data och vikt summa utvärde x 0 x 1 x 2 w 0 w 1 w 2 c 0 c 1 c 2 z y x 0 *w 0 x 1* w 1 x 2*w 2 c 0+c 1+c 2 om z >= 0 så 1 annars 0 a b c Tabell 1. Tre datapunkter a,b,c är kopplade till varsitt indata värde och vikt. Varje datapunkts utvärde beror på om summan av dess indata * vikt är större eller mindre än tröskelvärdet. 3

5 Den grundläggande perceptronmodellen är en binär klassificerare eftersom den endast ger utvärde 1 eller 0, den kan alltså bestämma om några indata tillhör klass 1 eller 0. Detta kan illustreras med hjälp av ett diagram, i figur 1 nedan tillhör de vita punkterna klass 0 och de svarta tillhör klass 1. De separeras av den röda linjen, en så kallad beslutsgräns. Målet för perceptronen är att ändra sina vikter så att beslutsgränsen flyttas till dess att den separerar datapunkterna. Om det finns en beslutsgräns i datamängden som separerar alla datapunkter i en är datamängden linjärt separerbar (Russel & Norvig, 2010). x x 1 figur 1. En grafisk representation av en datamängd där de vita punkterna blivit tilldelade klass 1 och de svarta klass 0, de separeras av en beslutsgräns I tabell 1 finns ett indatavärde x0 som alltid är satt till 1, detta är en konstant som används när man till exempel har indatavärden som alla är 0 och tröskelvärde som är större än 0 men vill predicera ett utvärde som är 1. Utan detta värde skulle summan alltid bli 0 eftersom vikterna multipliceras med indata som i detta fall är 0. När konstanten är med kan dess vikt justeras så att den övergår tröskelvärdet och trots att indatan är 0 klassificeras datapunkten som 1. Konstanten används även för att förflytta beslutsgränsen från origo. Figur 2 nedan visar ett exempel där konstanten inte används och en svart datapunkt blir felaktigt klassificerad eftersom beslutsgränsen utgår från origo. I figur 3 är konstanten med och beslutsgränsen kan därför förskjutas från origo längs x2 axeln och den svarta datapunkten klassificeras korrekt. För att förstå hur detta fungerar, tänk dig linjens ekvation (y = k*x + m). Om vi översätter denna ekvation till perceptronens beräkning är k*x indata och dess vikter, summan av dessa bestämmer linjens lutning och m är konstanten, precis som i linjens ekvation bestämmer konstanten hur långt från origo som linjen är förskjuten men i perceptronen är den med som ett indatavärde (Sarle, 2002). 4

6 x x 1 Figur 2. Konstanttermen saknas och därför utgår alltid beslutsgränsen från origo, detta medför att en svart datapunkt blir felaktigt klassificerad x x 1 Figur 3. Konstanttermen finns med i perceptronen och därför kan beslutsgränsen förskjutas från origo, den svarta datapunkten klassificeras korrekt Perceptronens inlärning Som nämndes tidigare är perceptronen en övervakad maskininlärningsalgoritm vilket innebär att vi har tillgång till en mängd träningsdata som algoritmen använder för att lära sig. I träningsmängden finns exempel på indata samt vilket utvärde som perceptronen förväntas producera givet dessa indata, ett facit. Perceptronen har även en egenskap som kallas online vilket innebär att den tittar på ett exempel i taget och inte på hela datamängden samtidigt (Daume, 2015). För att lära sig går algoritmen följaktligen igenom träningsmängden, ett exempel i taget, och jämför sitt utvärde med det som står i facit. Om perceptrones utvärde stämmer med facit ändras inget utan den fortsätter med nästa exempel, stämmer det inte uppdateras vikterna så att algoritmen skulle ge en bättre gissning om den fick se samma exempel igen. Hur mycket vikterna ändras beror på en parameter som kallas inlärningshastighet. För att illustrera hur detta fungerar visas ett exempel på en perceptron vars mål är att lära sig den logiska AND funktionen som visas i tabell 2. 5

7 indata utvärde x1 x2 y Tabell 2. Den logiska AND funktionen. Utvärde skall bli 1 när båda indata värden är 1, annars 0. Målet är alltså att endast ge utvärde 1 när båda indata är 1 och utvärde 0 annars. Indata i perceptronen är x0,x1 och x2 med x0 som konstant och satt till 1 samt ett facit för förväntat utvärde. Inlärningshastigheten (h) är satt till 0.1, trökselvärdet (t) är satt till 0.5. Vikterna är från början satta till 0 och de slutgiltiga vikterna för ett exempel blir nästa exempels startvikter. Träningsdatan består av fyra exempel och varje rad i tabellen visar vilka ändringar som görs för varje exempel. Den feta linjen markerar att perceptronen har gått igenom alla exempel och påbörjar en ny iteration. Hela processen visas i tabell 3. I detta enkla exempel tar det endast tre iterationer för perceptronen att lära sig producera rätt utvärde och det illustrerar hur vikterna för varje indata-värde långsamt ökar för att till slut överskrida tröskelvärdet. 6

8 indata facit startvikter summa per data och vikt summa tröskelvärde utvärde fel ändring slutgiltig vikt x0 x1 x2 r w0 w1 w2 c0 c1 c2 z t y e d w0 w1 w2 x0 *w0 x1* w1 x2*w2 om z >= t så 1 annars 0 r-y h*e w0+x0*d w1+x1*d w2+x2*d Tabell 3. En illustration av hur en perceptron ändrar sina vikter för att lära sig producera korrekt utvärde. 7

9 Perceptron som ordklasstaggare För att en perceptron skall kunna användas för ordklasstaggning krävs att den klarar av multipel klassifikation eftersom det finns fler än två ordklasser. I Stochholm Umeå Corpus 2.0 (SUC2) som användes för att träna och utvärdera perceptronen finns 25 olika ordklasser (Gustafson-Capková & Hartmann, 2006) och perceptronen måste kunna bestämma vilken av dessa som passar bäst för ett givet ord. Ett annat problem som behöver förbättras från den grundläggande perceptron som beskrivits tidigare är att den inte är vidare bra på att generalisera. Hela modellen kan ändras väldigt mycket om den gissar fel på de sista exemplen i träningsdatan, vikterna kommer då att ändras enbart efter dessa fel och det kan påverka dess prestanda på andra exempel (Daume, 2015). Implementation Implementationen av den svenska ordklasstaggaren grundar sig på Honnibals Averaged perceptron som är skriven i python (Honnibal, 2013). Honnibals kod har modifierats för att kunna tränas och testas på SUC2 datamängden. Nedan följer en förklaring på hur implementationen fungerar. Skapa data för träning och testning Det första som behövde ändras i Honnibals kod är hur taggaren tar emot datamängden som den skall tränas på. Vanligtvis måste en text som skall taggas med ordklasser tokeniseras, det innebär att man delar upp texten så att alla ord och tecken som kan tillhöra en ordklass står för sig själv. Det gör man oftast enklast genom att sätta ett mellanslag mellan ord och sådana tecken, detta innefattar även punkter, utropstecken och frågetecken med mera (Jurafsky & Martin, 2009). Detta steg behövdes inte för denna implementation eftersom SUC2 redan är tokeniserad. Funktionen createdata delar upp SUC2- datan i en träningsmängd och en testmängd. Träningsmängden består av 90% av den ursprungliga datan (66818 meningar och ca 1.05 miljoner tokens), resterande 10% (7425 meningar och ca tokens) användes som testdata. För att undvika att ordklasstaggaren skall bli bra på endast en typ av texter slumpades alla meningar innan träningsmängd och testdata skapades, koden för detta kan ses i figur 4. 8

10 Figur 4. createdata slumpar alla meningar i SUC2.0 och skapar sedan träningsmängd och testmängd Träna ordklasstaggaren Honniball (2013) skriver att eftersom många ord sällan tillhör mer än en ordklass kan man, för att göra ordklasstaggningen mer effektiv, ta reda på vilka dessa ord är och på så vis slippa gissa när det är dags att tagga. Detta är det första som händer i träningsfunktionen train, ett tagdict skapas av funktionen _make_tagdict genom att iterera över alla (ord, ordklass) tupler i träningsdatan och räkna hur många gånger ett ord har en viss tagg. Om samma ord har en viss ordklass mer än 20 gånger och denna ordklass används för ordet mer än 97% av gångerna läggs ordklassen och ordet till i tagdict. Koden för _make_tagdict kan ses i figur 5, hela train funktionen visas i figur 6. Figur 5. _make_tagdict skapar ett dictionary som associerar ett ord till en ordklass om den ordklassen är absolut vanligast för det ordet. 9

11 Figur 6. train funktionen, ordklasstaggaren itererar över alla ord i den fil som den tar emot och försöker gissa vilken tagg som passar bäst till ett givet ord. För alla de ord som inte hamnar i tagdict måste ordklasstaggaren tränas att lära sig rätt ordklass givet ordens kontext. För att skapa ett ords kontext går programmet igenom en mening och lägger alla ord i meningen i en lista. För varje ord i meningen görs en koll för att se om ordet finns med i tagdict, finns det inte där hämtas ordets egenskaper de som hjälper programmet att avgöra vilken ordklass ordet tillhör. De egenskaper ordklastaggaren använder sig utav hämtas med funktionen _get_features som visas i figur 7. I avsnittet om maskininlärning skrevs att inlärningen kan ses som att man får en tabell med data och målet är att utifrån värden i varje kolumn predicera en okänd kolumn, även i exemplen på perceptronen har indata visats i kolumner, x0, x1 och x2. För ordklasstaggaren är dessa kända kolumner, vår indata, de egenskaper som returneras av funktionen _get_features. 10

12 Figur 7. _get_features returnerar ett dictionary som innehåller alla de egenskaper som ordklasstaggaren använder för att bestämma vilken ordklass ett ord tillhör Med hjälp av ett ords egenskaper försöker ordklasstaggaren göra en gissning av vilken ordklass som passar bäst. Här måste det finnas en lösning på hur man bestämmer mellan 22 olika ordklasser och inte bara två. Lösningen för denna implementation är att lagra vikter för egenskap/ordklass kombinationer. Varje egenskap blir på så vis associerad med en eller flera ordklasser och dessa ordklasser har en egen vikt för denna egenskap. För att gissa ett ords ordklass går programmet igenom alla ordets egenskaper och adderar vikten för varje ordklass som är associerad med varje egenskap, den ordklass som får högst vikt över alla ordets egenskaper blir den ordklass som programmet gissar på. Att välja ordklassen med högst vikt görs i funktionen predict som visas i figur 8. Figur 8. Predict går igenom alla egenskaper för ett ord och summerar vikten för varje ordklass som är associerad med egenskaperna. Den ordklass med högst vikt blir vald. Från början finns det dock inga vikter utan dessa måste programmet lära sig, detta görs i funktionen update som visas i figur 9. Själva tanken bakom uppdatering är simpel, vikten för 11

13 den korrekta ordklassen ökar och vikten för den felaktiga gissningen minskar, på så vis kommer perceptronen att göra en bättre gissning om den skulle få försöka på samma exempel igen. update-funktionen lagrar också hur mycket ett egenskap/klass par har uppdaterats totalt samt när de uppdaterades senast, dessa två parametrar används för att räkna ut genomsnittsvikten för en ordklasserna. Figur 9. update ökar vikten för den ordklass som var rätt och minskar vikten för den som var felaktig för ett ords alla egenskaper. Att använda genomsnittsvikten istället för den totala vikten löser problemet med perceptronens dåliga generalisering (Honnibal, 2013). Genomsnittsvikten räknas ut i funktionen average_weights som visas i figur 10, efter detta steg är träningen färdig, ordklasstaggaren kan nu testas på testdatan. Figur 10. average_weights beräknar den genomsnittliga vikten för varje klass för att perceptronen skall kunna generalisera bättre. Testa ordklasstaggaren Ordklasstaggaren använder funktionen tag för att tagga en fil med testdata som har samma format som träningsdatan. Funktionen fungerar på samma sätt som train med undantaget att den inte uppdaterar några vikter utan lagrar helt enkelt det ord och den ordklass som taggaren 12

14 gissade på för ordet i en lista. Listan returneras sedan och kan köras genom funktionen evaluate för att jämföras mot facit. tag och evaluate visas i figur 11 respektive 12. Figur 11. tag gissar på ett en ordklass utifrån ett ords egenskaper. Ordet och ordklassen lagras som en tupel i en lista som returneras Figur 12. evaluate beräknar ordklasstaggarens prestanda genom att jämföra tupler från listan som returneras av tag med facit. Även precision och recall beräknas här. 13

15 Resultat Med en iteration över träningsdatan klarar ordklasstaggaren korrekt tagga 95.66% av orden i testmängden. I tabell 4 visas även precisionen (antal korrekt klassificerade taggar/antal ord som fått den taggen) samt recall (antal korrekt klassificerade taggar / antal ord som har den taggen i facit) för varje ordklass i datamängden. Förklaring för varje ordklass kan ses i appendix. ordklass precision recall HS 100% 100% PAD 100% 100% MID 99.90% 99.88% MAD 99.92% 99.92% PP 98.62% PS 98.07% 99.31% VB 98.04% 97.75% IE 97.65% 94.73% DT 97.37% 95.22% NN 97.24% 95.61% HP 96.39% 89.54% PN 95.62% 97.30% KN 95.26% 97.49% RG 94.20% 97.54% PM 92.95% 92.31% HD 91.52% 81.81% AB 91.45% 91.36% JJ 89.39% 91.67% SN 89.35% 94.08% HA 82.74% 92.96% PC 81.91% 84.98% RO 79.43% 93.92% IN 78.91% 94.24% PL 74.64% 81.95% UO 30.24% 82.66% Tabell 4. Precision och recall för samtliga ordklasser i testmängden Slutsats och förbättringar Resultatet för denna ordklasstaggare är jämförbart med det av Stagger, en svensk ordklasstaggare som får 95.87% korrekt taggade ord på samma data. Dock använder Stagger ett annat sätt att dela upp data i tränings och testmängd.(östling, 2013). Det finns ett antal ändringar förbättra ordklasstaggarens resultat, en första sådan skulle vara att testa andra egenskaper, till exempel de som Stagger använder, och undersöka hur resultatet förändras. Det finns även andra typer av textmängder som taggaren kan testas på för att komma fram till vad det är för typ av ord och ordkombinationer som den har svårt att klassificera. 14

16 Trots alla förbättringar som skulle kunna göras erbjuder perceptronen en simpel och effektiv lösning som ordklasstaggare. Genom att studera Honnibals kod och gjort ändringar förstår jag hur denna modell kan användas för ordklasstaggning och jag har även fått mer kunskap om perceptronen som modell och ordklasstaggning överlag. 15

17 Referenser Bishop, C. M. (2006). Pattern Recognition and Machine Learning. New York: Springer. Daume, H. ( ). A Course in Machine Learning. Hämtat från A Course in Machine Learning: Gustafson-Capková, S., & Hartmann, B. (December 2006). Språkbanken. Hämtat från Stockholm-Umeå Corpus - SUC 2.0 manual: Honnibal, M. (den 18 September 2013). spacy blog. Hämtat från A Good Part-of-Speech Tagger in about 200 Lines of Python: Jurafsky, D., & Martin, J. H. (2009). Speech and Language Processing: An Introduction to Natural Language Processing, Computational Linguistics, and Speech Recognition (2:a uppl.). Upper Saddle River, N.J: Pearson Education. Östling, R. (2013). Stagger: an open-source part of speech tagger for swedish. Northern European Journal of Language Technology, Picton, P. (1994). Introduction to neural networks. Basingstoke: Macmillan. Russel, S. J., & Norvig, P. (2010). Artificial Intelligence a Modern Approach. Boston: Pearson Education. Sarle, W. S. (den ). Neural Network FAQ. Hämtat från Part 2 of 7: Learning, Why use a bias/threshold?: ftp://ftp.sas.com/pub/neural/faq.html 16

18 Appendix Förklaring av ordklasser i SUC 2.0 (Gustafson-Capková & Hartmann, 2006). tagg ordklass exempel AB Adverb inte DT Determinerare denna HA Frågande/relativt adverb när HD Frågande/relativ determinerare vilken HP Frågande/relativt pronomen som HS Frågande/relativt possesivt pronomen vars IE Infinitivmärke att IN Interjektion ja JJ Adjektiv glad KN Konjunktion och MAD Större avgränsare. MID Mindre avgränsare, PAD Parad avgränsare ( NN Substantiv pudding PC Particip utsänd PL Partikel ut PM Egennamn mats PN Pronomen hon PP Preposition av PS Possessivt pronomen hennes RG Grundtal tre RO Ordningstal tredje SN Subjunktion att UO Utländskt ord the VB Verb kasta 17

ORDKLASSTAGGNING. Marco Kuhlmann Institutionen för datavetenskap

ORDKLASSTAGGNING. Marco Kuhlmann Institutionen för datavetenskap ORDKLASSTAGGNING Marco Kuhlmann Institutionen för datavetenskap Ordpredicering n-gram-modeller (definition, skattning) den brusiga kanalen: P(R F) = P(F R) P(R) redigeringsavstånd, Levenshtein-avstånd

Läs mer

Lingvistiskt uppmärkt text

Lingvistiskt uppmärkt text 729G09 Språkvetenskaplig databehandling (2018) Lingvistiskt uppmärkt text Marco Kuhlmann Institutionen för datavetenskap Korpusdata: Ett konkret exempel 1 Genom genom ADP 2 case 2 skattereformen skattereform

Läs mer

Grammatik för språkteknologer

Grammatik för språkteknologer Grammatik för språkteknologer Språkteknologi och grammatiska begrepp http://stp.lingfil.uu.se/~matsd/uv/uv11/gfst/ Mats Dahllöf Institutionen för lingvistik och filologi November 2011 Lite mer om språkteknologisk

Läs mer

TDDD02 Språkteknologi för informationssökning (2016) Ordklasstaggning. Marco Kuhlmann Institutionen för datavetenskap

TDDD02 Språkteknologi för informationssökning (2016) Ordklasstaggning. Marco Kuhlmann Institutionen för datavetenskap TDDD02 Språkteknologi för informationssökning (2016) Ordklasstaggning Marco Kuhlmann Institutionen för datavetenskap Ordklasstaggning Tagga varje ord i en sekvens av ord (oftast en mening) med dess korrekta

Läs mer

Word- sense disambiguation

Word- sense disambiguation KTH Word- sense disambiguation Inlämningsuppgift - DD2418 - sprakt12 Mattias Uskali & Emilia Hillert 1/8/2013 Sammanfattning Denna rapport kommer att undersöka två metoder för word- sense disambiguation,

Läs mer

Bootstrapping för substantivtaggning

Bootstrapping för substantivtaggning Kungliga Tekniska Högskolan NADA Bootstrapping för substantivtaggning -Djur eller icke djur Hösten 2004 Kurs: Språkteknologi 2D1418 Jonathan Johnson j0j0@kth.se Mikael Melin mime@kth.se Handledare: Jonas

Läs mer

729G43 Artificiell intelligens / Maskininlärning 3. Marco Kuhlmann

729G43 Artificiell intelligens / Maskininlärning 3. Marco Kuhlmann 729G43 Artificiell intelligens / 2015 Maskininlärning 3 Marco Kuhlmann Förra gången: Perceptroninlärning Beslutsregel predicerat y-värde Exempel: AND Välj parametrar θ 0, θ 1, θ 2 sådana att perceptronen

Läs mer

729G43 Artificiell intelligens (2016) Maskininlärning 2. Marco Kuhlmann Institutionen för datavetenskap

729G43 Artificiell intelligens (2016) Maskininlärning 2. Marco Kuhlmann Institutionen för datavetenskap 729G43 Artificiell intelligens (2016) Maskininlärning 2 Marco Kuhlmann Institutionen för datavetenskap Förra gången: Gradientsökning tangentens lutning i punkt θ steglängdsfaktor Översikt Introduktion

Läs mer

PAROLE Exempel Förklaring SUC. PARTICIP AF00000A tf particip förkortning PC AN. pluralis obestämd/bestämd genitiv. pluralis obestämd/bestämd nominativ

PAROLE Exempel Förklaring SUC. PARTICIP AF00000A tf particip förkortning PC AN. pluralis obestämd/bestämd genitiv. pluralis obestämd/bestämd nominativ Nyckel till SUCs taggset i PAROLE-format Från Språkbanken: http://spraakbanken.gu.se/ PAROLE Exempel Förklaring SUC PARTICIP AF00000A tf particip förkortning PC AN AF00PG0S deporterades AF00PN0S kallade

Läs mer

Lingvistiskt uppmärkt text

Lingvistiskt uppmärkt text 729G09 Språkvetenskaplig databehandling (2016) Lingvistiskt uppmärkt text Marco Kuhlmann Institutionen för datavetenskap Från form till betydelse pragmatik semantik analys generering syntax morfologi Skolans

Läs mer

729G43 Artificiell intelligens (2016) Maskininlärning 3. Marco Kuhlmann Institutionen för datavetenskap

729G43 Artificiell intelligens (2016) Maskininlärning 3. Marco Kuhlmann Institutionen för datavetenskap 729G43 Artificiell intelligens (2016) Maskininlärning 3 Marco Kuhlmann Institutionen för datavetenskap Modell med vektornotation parametervektor särdragsvektor Perceptron kombinerar linjär regression med

Läs mer

729G43 Artificiell intelligens / Maskininlärning 2. Marco Kuhlmann

729G43 Artificiell intelligens / Maskininlärning 2. Marco Kuhlmann 729G43 Artificiell intelligens / 2015 Maskininlärning 2 Marco Kuhlmann Förra gången: Linjär regression Gradientsökning Vandra ner i felets dal. Steg 0: Börja med ett godtyckligt värde för θ. Steg 1: Räkna

Läs mer

ARTIFICIELLA NEURALA NÄT. MARCO KUHLMANN Institutionen för datavetenskap

ARTIFICIELLA NEURALA NÄT. MARCO KUHLMANN Institutionen för datavetenskap ARTIFICIELLA NEURALA NÄT MARCO KUHLMANN Institutionen för datavetenskap Example Alt Bar Fri Hun Pat Price Rain Res Type Est WillWait 1 Yes No No Yes Some $$$ No Yes French 0 10 Yes 2 Yes No No Yes Full

Läs mer

TDDD02 Språkteknologi för informationssökning (2016) Introduktion. Marco Kuhlmann Institutionen för datavetenskap

TDDD02 Språkteknologi för informationssökning (2016) Introduktion. Marco Kuhlmann Institutionen för datavetenskap TDDD02 Språkteknologi för informationssökning (2016) Introduktion Marco Kuhlmann Institutionen för datavetenskap Vad är språkteknologi? Vad är språkteknologi? Språkteknologi är all teknologi som skapas

Läs mer

Kungliga Tekniska Högskolan 2006-03-26. Patrik Dallmann 821107-0274

Kungliga Tekniska Högskolan 2006-03-26. Patrik Dallmann 821107-0274 Kungliga Tekniska Högskolan 2006-03-26 Patrik Dallmann 821107-0274 Patrik Dallmann dallmann@kth.se Inledning Syftet med detta arbete är att undersöka metoder för att upptäcka syftningsfel i vanlig text.

Läs mer

Statistisk Maskinöversättning eller:

Statistisk Maskinöversättning eller: 729G43 Statistisk Maskinöversättning eller: Hur jag slutade ängslas (över fördjupningsuppgiften) och lärde mig hata stoppord. Jonas Hilmersson 2019-04-15 Innehåll 1. Introduktion... 1 2. Datamängden...

Läs mer

Tentamen 2016-01-13. Marco Kuhlmann

Tentamen 2016-01-13. Marco Kuhlmann TDDD02 Språkteknologi för informationssökning (2015) Tentamen 2016-01-13 Marco Kuhlmann Denna tentamen består av 10 frågor. Frågorna 8 10 ligger på en högre kunskapsnivå än de övriga och kräver utförliga

Läs mer

Taltaggning. Rapport av Daniel Hasselrot 781105-0157, d98-dha@nada.kth.se 13 oktober 2003

Taltaggning. Rapport av Daniel Hasselrot 781105-0157, d98-dha@nada.kth.se 13 oktober 2003 Taltaggning av Daniel Hasselrot 781105-0157, d98-dha@nada.kth.se 13 oktober 2003 Sammanfattning Denna rapport är skriven i kursen Språkteknologi och behandlar taggning av årtal i en text. Metoden som används

Läs mer

Karp. https://spraakbanken.gu.se/karp Övningar Språkbankens höstworkshop oktober 2016

Karp. https://spraakbanken.gu.se/karp Övningar Språkbankens höstworkshop oktober 2016 Karp Övningar Språkbankens höstworkshop 2016 https://spraakbanken.gu.se/karp sb-karp@svenska.gu.se 17 oktober 2016 ÖVERSIKT När du går in på https://spraakbanken.gu.se/karp kan du välja att söka i ett

Läs mer

Så, ska det taggas som adverb?

Så, ska det taggas som adverb? UPPSALA UNIVERSITET Institutionen för nordiska språk EXAMENSARBETE, 15 hp Svenska språket/nordiska språk C Vt 2017 Så, ska det taggas som adverb? En granskning av hur annoteringsverktyget Swegram ordklasstaggar

Läs mer

Statistisk grammatikgranskning

Statistisk grammatikgranskning Statistisk grammatikgranskning Johnny Bigert johnny@nada.kth.se Traditionell grammatikgranskning Hitta stavningsfel och grammatiska fel: Regler Lexikon Traditionell grammatikgranskning Fördelar: Säkert

Läs mer

kl Tentaupplägg

kl Tentaupplägg Tentaupplägg TIPS 1: Läs igenom ALLA uppgifterna. Välj den du känner är lättast först. Det kan gärna ta 10-20 minuter. Försök skriva saker som kan vara problem i uppgifterna. Är det något du absolut kommer

Läs mer

Maskininlärning med boostrapping. Maskininlärningslabb i Språkteknologi

Maskininlärning med boostrapping. Maskininlärningslabb i Språkteknologi Maskininlärning med boostrapping Maskininlärningslabb i Språkteknologi Abstrakt Vi undersöker, med hjälp av maskininlärningslabben från denna kurs, hur pass bra resultat bootstrapping ger i samband med

Läs mer

Gränssnitt för FakeGranska. Lars Mattsson

Gränssnitt för FakeGranska. Lars Mattsson Gränssnitt för FakeGranska av Lars Mattsson (larsmatt@kth.se) Innehållsförteckning 1 Introduktion...3 2 Genomförande:...3 3 Användning...5 4 Kända buggar:...6 5 Källförteckning...6 2 1 Introduktion Taken

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

Linköpings universitet

Linköpings universitet Översikt Kognitionsvetenskaplig introduktionskurs Föreläsning 4 Informationsbearbetningsmodeller Vad är kognitionsvetenskap? Kort bakgrund/historik Representation och bearbetning av information Vetenskapliga

Läs mer

Dependensregler - Lathund

Dependensregler - Lathund Dependensregler - Lathund INTRODUKTION I textprogrammet TeCST är det möjligt för en skribent att skriva, redigera och klistra in text för att få ut läsbarhetsmått och få förslag på hur texten kan skrivas

Läs mer

Varför är morfologi viktigt? Morfologisk analys och generering. Vad är ett ord (idag vs. i dag) Kan man inte lägga alla ord i en lexikonfil?

Varför är morfologi viktigt? Morfologisk analys och generering. Vad är ett ord (idag vs. i dag) Kan man inte lägga alla ord i en lexikonfil? Morfologisk analys och generering Språkteknologi för språkkonsulter Ola Knutsson 2009 Varför är morfologi viktigt? Ord är grunden i alla världens språk Alla språkteknologiska aktiviteter kräver kunskap

Läs mer

Word2Vec. Högkvalitativa vektorrepresentationer av ord tränat på stora mängder data. Innehåll LINKÖPINGS UNIVERSITET. 1. Inledning...

Word2Vec. Högkvalitativa vektorrepresentationer av ord tränat på stora mängder data. Innehåll LINKÖPINGS UNIVERSITET. 1. Inledning... LINKÖPINGS UNIVERSITET Innehåll 1. Inledning... 2 2. Terminologi... 3 3. Allmänt om Word2Vec... 3 4. Continous Skip-gram model... 4 Word2Vec Högkvalitativa vektorrepresentationer av ord tränat på stora

Läs mer

Automatisk identifiering av konstruktionskandidater för ett svenskt konstruktikon

Automatisk identifiering av konstruktionskandidater för ett svenskt konstruktikon Automatisk identifiering av konstruktionskandidater för ett svenskt konstruktikon Markus Forsberg Språkbanken Göteborgs universitet 2013-03-19 Föredraget Föredraget är baserat på en artikel inskickad igår

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

Alla datorprogram har en sak gemensam; alla processerar indata för att producera något slags resultat, utdata.

Alla datorprogram har en sak gemensam; alla processerar indata för att producera något slags resultat, utdata. Att förstå variabler Alla datorprogram har en sak gemensam; alla processerar indata för att producera något slags resultat, utdata. Vad är en variabel? En variabel är en plats att lagra information. Precis

Läs mer

729G43 Artificiell intelligens (2016) Maskininlärning 1. Marco Kuhlmann Institutionen för datavetenskap

729G43 Artificiell intelligens (2016) Maskininlärning 1. Marco Kuhlmann Institutionen för datavetenskap 729G43 Artificiell intelligens (2016) Maskininlärning 1 Marco Kuhlmann Institutionen för datavetenskap Introduktion Maskininlärning Tack vare maskininlärning kan AI-system idag bl.a. producera och förstå

Läs mer

Språkliga strategier för att minnas och lära, till exempel tankekartor och stödord. Mål:

Språkliga strategier för att minnas och lära, till exempel tankekartor och stödord. Mål: Grammatikprov svenska Nu är det dags att kolla av vad eleverna lärt sig under vårens grammatik arbete. Efter påsklovet tar vi paus från veckans-ord och pluggar grammatik. För att det inte ska bli för mycket

Läs mer

Neurala nätverk och språkigenkänning. Henrik Linnarsson. Linköping University

Neurala nätverk och språkigenkänning. Henrik Linnarsson. Linköping University Neurala nätverk och språk Henli807!1 Neurala nätverk och språkigenkänning Henrik Linnarsson Linköping University Neurala nätverk och språk Henli807!2 RNN, LSTM och språkigenkänning Inledning Idag är språkigenkänning

Läs mer

Sub-symbolisk kognition & Konnektionism. Kognitionsvetenskaplig Introduktionskurs (729G01) Mats Andrén,

Sub-symbolisk kognition & Konnektionism. Kognitionsvetenskaplig Introduktionskurs (729G01) Mats Andrén, Sub-symbolisk kognition & Konnektionism Kognitionsvetenskaplig Introduktionskurs (729G01) Mats Andrén, mats.andren@liu.se 1 Konnektionism Neutrala nät baseras på en (förenklad) modell av hur hjärnan fungerar.

Läs mer

Tentamen Del A. Marco Kuhlmann

Tentamen Del A. Marco Kuhlmann TDDD01 Språkteknologi (2016) Tentamen 2016-03-16 Marco Kuhlmann Tentamen består två delar, A och B. Varje del omfattar ett antal frågor à 3 poäng. Del A omfattar 8 frågor som kan besvaras kortfattat. Det

Läs mer

Syntax S NP VP. AdjP. sleep. ideas. DH2418 Språkteknologi Johan Boye. Syntax

Syntax S NP VP. AdjP. sleep. ideas. DH2418 Språkteknologi Johan Boye. Syntax Syntax S NP VP AdjP NP JJ AdjP JJ NP N V sleep AdvP Adv Colorless green ideas furiously DH2418 Språkteknologi Johan Boye Syntax Frågor vi vill besvara: Vilka sekvenser av ord tillhör språket? Vilka relationer

Läs mer

Tekniker för storskalig parsning

Tekniker för storskalig parsning Tekniker för storskalig parsning Introduktion till projektet Joakim Nivre Uppsala Universitet Institutionen för lingvistik och filologi joakim.nivre@lingfil.uu.se Tekniker för storskalig parsning 1(17)

Läs mer

Inlämningsuppgift : Finn. 2D1418 Språkteknologi. Christoffer Sabel E-post: csabel@kth.se 1

Inlämningsuppgift : Finn. 2D1418 Språkteknologi. Christoffer Sabel E-post: csabel@kth.se 1 Inlämningsuppgift : Finn 2D1418 Språkteknologi Christoffer Sabel E-post: csabel@kth.se 1 1. Inledning...3 2. Teori...3 2.1 Termdokumentmatrisen...3 2.2 Finn...4 3. Implementation...4 3.1 Databasen...4

Läs mer

Vad behövs för att skapa en tillståndsrymd?

Vad behövs för att skapa en tillståndsrymd? OBS! För flervalsfrågorna gäller att ett, flera eller inget alternativ kan vara korrekt. På flervarlsfrågorna ges 1 poäng för korrekt svar och 0,5 poäng om skillnaden mellan antalet korrekta svar och antalet

Läs mer

Inlämningsuppgift: Pronomenidentifierare

Inlämningsuppgift: Pronomenidentifierare 1 (7) Inlämningsuppgift: Pronomenidentifierare 2D1418 Språkteknologi landes@bredband.net johnne@kth.se 1 2 (7) 1 Uppgiften... 3 2 Algoritmen i korthet... 3 3 Representation av data... 3 4 Indikatorer...

Läs mer

Tekniker för storskalig parsning

Tekniker för storskalig parsning Tekniker för storskalig parsning Introduktion Joakim Nivre Uppsala Universitet Institutionen för lingvistik och filologi joakim.nivre@lingfil.uu.se Tekniker för storskalig parsning 1(18) Kursöversikt Kursnamn:

Läs mer

729G43 Artificiell intelligens / Maskininlärning 1. Marco Kuhlmann

729G43 Artificiell intelligens / Maskininlärning 1. Marco Kuhlmann 729G43 Artificiell intelligens / 2015 Maskininlärning 1 Marco Kuhlmann Introduktion Maskininlärning Tack vare maskininlärning kan AI-system idag bl.a. producera och förstå naturligt språk kontrollera maskiner,

Läs mer

Grundläggande textanalys. Joakim Nivre

Grundläggande textanalys. Joakim Nivre Grundläggande textanalys Joakim Nivre Om kursen Ni har hittills läst Lingvistik Datorteknik Matematik Språkteknologiska tillämpningar Nu ska vi börja med språkteknologi på allvar Hur gör man text hanterbar

Läs mer

SELF- ORGANIZING MAPS

SELF- ORGANIZING MAPS LINKÖPINGS UNIVERSITET Kognitionsvetenskapliga Programmet Examinator: Arne Jönsson SELF- ORGANIZING MAPS - Ett fördjupningsarbete inom Artificiell Intelligens Fack 52 katwa676@student.liu.se Sammanfattning

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

Hemtentamen HT13 Inlämning senast Lärare: Tora Hedin

Hemtentamen HT13 Inlämning senast Lärare: Tora Hedin Hemtentamen HT13 Inlämning senast 131108 Lärare: Tora Hedin Arbetet skall vara skrivet på dator och skickas in i elektronisk form till mig senast torsdagen den 8 november 2013. Dokumentets format ska vara

Läs mer

Föreläsning 7: Klassificering, minsta kvadratproblem, SVD, forts.

Föreläsning 7: Klassificering, minsta kvadratproblem, SVD, forts. Föreläsning 7: Klassificering, minsta kvadratproblem, SVD, forts. Berkant Savas Tillämpad matematik i natur och teknikvetenskap, TNA5 Institutionen för teknik och naturvetenskap Linköpings universitet

Läs mer

Klassificering av homonymer Inlämningsuppgift språkteknologi

Klassificering av homonymer Inlämningsuppgift språkteknologi Klassificering av homonymer Inlämningsuppgift språkteknologi 2013-01-10 Kurskod: DD2418 Författare Gustav Ribom 910326-0593 Erik Aalto 861108-0212 Kontaktperson Johan Boye Abstract Ordet fil har flera

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

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

Markovkedjor. Patrik Zetterberg. 8 januari 2013

Markovkedjor. Patrik Zetterberg. 8 januari 2013 Markovkedjor Patrik Zetterberg 8 januari 2013 1 / 15 Markovkedjor En markovkedja är en stokastisk process där både processen och tiden antas diskreta. Variabeln som undersöks kan både vara numerisk (diskreta)

Läs mer

Användarhandledning Version 1.2

Användarhandledning Version 1.2 Användarhandledning Version 1.2 Innehåll Bakgrund... 2 Börja programmera i Xtat... 3 Allmänna tips... 3 Grunderna... 3 Kommentarer i språket... 4 Variabler... 4 Matematik... 5 Arrayer... 5 på skärmen...

Läs mer

Träningshäfte ordklasser (Venus)

Träningshäfte ordklasser (Venus) Träningshäfte ordklasser (Venus) Substantiv 1. Stryk under substantiven bland följande ord (8 st) glad simma luft koka barnslig tre oj därifrån vikt nej pojke moln lycka jord överenskommelse Pelle femte

Läs mer

Taligenkänning. Sanna Aronsson sanar429 Artificiell Intelligens, HKGBB0

Taligenkänning. Sanna Aronsson sanar429 Artificiell Intelligens, HKGBB0 Taligenkänning, HKGBB0 Abstract Ett taligenkänningssystem är att ett system som har som uppgift att identifiera enstaka ord eller hela sekvenser av ord. Detta gör den genom att jämföra denna ordsekvens

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

KODNING AV MAXIMALA GRAMMATISKA ENHETER Manual

KODNING AV MAXIMALA GRAMMATISKA ENHETER Manual KODNING AV MAXIMALA GRAMMATISKA ENHETER Manual Jens Allwood Maria Björnberg Alexandra Weilenmann Version 1, januari 1999 1. Principer för kodning av maximala grammatiska enheter När man kodar maximala

Läs mer

Föreläsning 12: Regression

Föreläsning 12: Regression Föreläsning 12: Regression Matematisk statistik David Bolin Chalmers University of Technology Maj 15, 2014 Binomialfördelningen Låt X Bin(n, p). Vi observerar x och vill ha information om p. p = x/n är

Läs mer

Karp. Övningar Språkbankens höstworkshop oktober 2017

Karp.   Övningar Språkbankens höstworkshop oktober 2017 Karp Övningar Språkbankens höstworkshop 2017 https://spraakbanken.gu.se/karp sb-karp@svenska.gu.se 17 oktober 2017 ÖVERSIKT I nuläget finns det över 25 olika lexikon i Karp. När du går in på https://spraakbanken.

Läs mer

RoboLinguistics. Ett textförståelseprogram. Henrik Palmér, d01hp

RoboLinguistics. Ett textförståelseprogram. Henrik Palmér, d01hp RoboLinguistics Ett textförståelseprogram Henrik Palmér, d01hp Inledning För att styra robotar räcker det inte att som i science-fictionfilmer bara säga till dem vad de ska göra. De största kraftansträngningarna

Läs mer

Tekniker för storskalig parsning

Tekniker för storskalig parsning Tekniker för storskalig parsning Grundläggande begrepp och metoder Joakim Nivre Uppsala Universitet Institutionen för lingvistik och filologi joakim.nivre@lingfil.uu.se Tekniker för storskalig parsning

Läs mer

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

TDP Regler

TDP Regler Regler Student får lämna salen tidigast en timme efter tentans start. Vid toalettbesök eller rökpaus ska pauslista utanför salen fyllas i. All form av kontakt mellan studenter under tentans gång är strängt

Läs mer

TDP Regler

TDP Regler Regler Student får lämna salen tidigast en timme efter tentans start. Vid toalettbesök eller rökpaus ska pauslista utanför salen fyllas i. All form av kontakt mellan studenter under tentans gång är strängt

Läs mer

Multipel tilldelning. Introduktion till programmering D0009E. Föreläsning 6: Iteration. while-satsen. Kom ihåg. Snurror kontra rekursion

Multipel tilldelning. Introduktion till programmering D0009E. Föreläsning 6: Iteration. while-satsen. Kom ihåg. Snurror kontra rekursion Introduktion till programmering D0009E Föreläsning 6: Iteration Multipel tilldelning Helt ok att tilldela en variabel flera gånger: bruce = bruce, bruce = 7 bruce Output: 7 Som tillståndsdiagram: bruce

Läs mer

ORDKLASSERNA I SVENSKA SPRÅKET

ORDKLASSERNA I SVENSKA SPRÅKET ORDKLASSERNA I SVENSKA SPRÅKET SUBSTANTIV 1 Namn på saker, människor, djur, växter. Du kan sätta en, ett eller flera, den det eller de framför ordet. Konkreta substantiv: stol, bord, gubbe, boll (du kan

Läs mer

Instruktioner - Datortentamen TDDD73 Funktionell och imperativ programmering i Python

Instruktioner - Datortentamen TDDD73 Funktionell och imperativ programmering i Python Instruktioner - Datortentamen TDDD73 Funktionell och imperativ programmering i Python Hjälpmedel Följande hjälpmedel är tillåtna: Exakt en valfri bok, t.ex. den rekommenderade kursboken. Boken får ha anteckningar,

Läs mer

Ontologier. Cassandra Svensson 2014-01-09

Ontologier. Cassandra Svensson 2014-01-09 Ontologier Cassandra Svensson 2014-01-09 Sammanfattning Jag har läst Annika Flycht-Ericssons avhandling Design and Use of Ontoligies in information-providing Dialogue Systems. Med Annikas text som utgångspunkt

Läs mer

I en deterministisk omgivning beror nästa tillstånd bara av agentens handling och nuvarande tillstånd.

I en deterministisk omgivning beror nästa tillstånd bara av agentens handling och nuvarande tillstånd. OBS! För flervalsfrågorna gäller att ett, flera eller inget alternativ kan vara korrekt. På flervalsfrågorna ges 1 poäng för korrekt svar och 0,5 poäng om skillnaden mellan antalet korrekta svar och antalet

Läs mer

Givet två naturliga tal a och b, som inte båda två är 0, hur räknar man ut största gemensamma delaren av a och b?

Givet två naturliga tal a och b, som inte båda två är 0, hur räknar man ut största gemensamma delaren av a och b? Euklides algoritm för största gemensamma delaren Givet två naturliga tal a och b, som inte båda två är 0, hur räknar man ut största gemensamma delaren av a och b? Euklides har kommit på en metod (algoritm)

Läs mer

Asymptotisk analys innebär att... man försöker uppskatta vad som händer för stora indatamängder.

Asymptotisk analys innebär att... man försöker uppskatta vad som händer för stora indatamängder. OBS! För flervalsfrågorna gäller att ett, flera eller inget alternativ kan vara korrekt. På flervarlsfrågorna ges 1 poäng för korrekt svar och 0,5 poäng om skillnaden mellan antalet korrekta svar och antalet

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

Kunskapsgraf. Fredrik Åkerberg j.f.akerberg@gmail.com. Tommy Kvant tommy.kvant@gmail.com. 1 Introduktion. 2 Relaterade projekt.

Kunskapsgraf. Fredrik Åkerberg j.f.akerberg@gmail.com. Tommy Kvant tommy.kvant@gmail.com. 1 Introduktion. 2 Relaterade projekt. Kunskapsgraf Fredrik Åkerberg j.f.akerberg@gmail.com Tommy Kvant tommy.kvant@gmail.com 1 Introduktion Målet med projektet var att undersöka huruvida DBpedia.org, kan användas för att besvara frågor på

Läs mer

Uppgift 1 ( Betyg 3 uppgift )

Uppgift 1 ( Betyg 3 uppgift ) 2008-03-12.kl.14-19 Uppgift 1 ( Betyg 3 uppgift ) Du skall skriva ett program som läser igenom en textfil som heter FIL.TXT och skriver ut alla rader där det står ett decimaltal först på raden. Decimaltal

Läs mer

Värmedistribution i plåt

Värmedistribution i plåt Sid 1 (6) Värmedistribution i plåt Introduktion Om vi med konstant temperatur värmer kanterna på en jämntjock plåt så kommer värmen att sprida sig och temperaturen i plåten så småningom stabilisera sig.

Läs mer

Lösningsförslag till tentamen i Språkteknologi 2D1418,

Lösningsförslag till tentamen i Språkteknologi 2D1418, Lösningsförslag till tentamen i Språkteknologi 2D1418, 2004-10-18 1. Stavningskontroll utan ordlista (10 poäng) a) Med 29 bokstäver i alfabetet och en specialbokstav för ordbörjan/ordslut så finns det

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

Ordklasser. Substantiv är benämningar på människor, djur, växter och föremål. Du kan sätta en, ett eller flera framför substantiv.

Ordklasser. Substantiv är benämningar på människor, djur, växter och föremål. Du kan sätta en, ett eller flera framför substantiv. Ordklasser Substantiv Substantiv är benämningar på människor, djur, växter och föremål. Du kan sätta en, ett eller flera framför substantiv. Konkreta och abstrakta substantiv Konkreta substantiv kallas

Läs mer

Grundläggande textanalys, VT2013

Grundläggande textanalys, VT2013 Grundläggande textanalys, VT2013 evelina.andersson@lingfil.uu.se Rum 9-2035 http://stp.ling.uu.se/~evelina/uv/uv13/gta/ (Tack till Sofia Gustafson-Capkovâ för material.) Idag - Stavningskontroll - Granska

Läs mer

729G09 Språkvetenskaplig databehandling (2018) Kursintroduktion. Marco Kuhlmann Institutionen för datavetenskap

729G09 Språkvetenskaplig databehandling (2018) Kursintroduktion. Marco Kuhlmann Institutionen för datavetenskap 729G09 Språkvetenskaplig databehandling (2018) Kursintroduktion Marco Kuhlmann Institutionen för datavetenskap Denna föreläsning Kursens innehåll och organisation Korpuslingvistik och språkteknologi Textsegmentering

Läs mer

Antag att b är förgreningsfaktorn, d sökdjupet, T (d) tidskomplexiteten och M(d) minneskomplexiteten.

Antag att b är förgreningsfaktorn, d sökdjupet, T (d) tidskomplexiteten och M(d) minneskomplexiteten. OS! För flervalsfrågorna gäller att ett, flera eller inget alternativ kan vara korrekt. På flervalsfrågorna ges 1 poäng för korrekt svar och 0,5 poäng om skillnaden mellan antalet korrekta svar och antalet

Läs mer

Projektion av träningsdata på aktuell underrum av dim 1. Föreläsning 7: Klassificering, minsta kvadratproblem, SVD, forts.

Projektion av träningsdata på aktuell underrum av dim 1. Föreläsning 7: Klassificering, minsta kvadratproblem, SVD, forts. Projektion av träningsdata på aktuell underrum av dim Föreläsning : Klassificering, minsta kvadratproblem, SVD, forts. Berkant Savas Tillämpad matematik i natur och teknikvetenskap, TNA Institutionen för

Läs mer

HI1024 Programmering, grundkurs TEN

HI1024 Programmering, grundkurs TEN HI1024 Programmering, grundkurs TEN2 2014-10-27 KTH STH Haninge 13.15-18.00 Tillåtna hjälpmedel: En A4 handskriven på ena sidan med egna anteckningar Kursboken C PROGRAMMING A Modern Approach K. N. King

Läs mer

729G17 Språkteknologi / Introduktion. Marco Kuhlmann Institutionen för datavetenskap

729G17 Språkteknologi / Introduktion. Marco Kuhlmann Institutionen för datavetenskap 729G17 Språkteknologi / 2016 Introduktion Marco Kuhlmann Institutionen för datavetenskap Vad är språkteknologi? Vad är språkteknologi? Språkteknologi är all teknologi som skapas för att förstå eller generera

Läs mer

Fuzzy Logic. När oskarpa definitioner blir kristallklara. Åsa Svensson. Linköpings Universitet. Linköping

Fuzzy Logic. När oskarpa definitioner blir kristallklara. Åsa Svensson. Linköpings Universitet. Linköping Fuzzy Logic När oskarpa definitioner blir kristallklara Linköpings Universitet Linköping Sammanfattning I denna fördjupningsuppgift har jag fokuserat på Fuzzy Logic och försökt att beskriva det på ett

Läs mer

Kursplan i svenska. Mål att sträva mot för år F-5

Kursplan i svenska. Mål att sträva mot för år F-5 Kursplan i svenska En av skolans viktigaste uppgifter är att skapa goda möjligheter för elevernas språkutveckling. Skolans undervisning ska ge eleverna möjlighet att använda och utveckla sina färdigheter

Läs mer

Kapitel 4: SAMBANDET MELLAN VARIABLER: REGRESSIONSLINJEN

Kapitel 4: SAMBANDET MELLAN VARIABLER: REGRESSIONSLINJEN Kapitel 4: SAMBANDET MELLAN VARIABLER: REGRESSIONSLINJEN Spridningsdiagrammen nedan representerar samma korrelationskoefficient, r = 0,8. 80 80 60 60 40 40 20 20 0 0 20 40 0 0 20 40 Det finns dock två

Läs mer

DD1311 Programmeringsteknik för S1 Laborationer läsåret 2007-2008

DD1311 Programmeringsteknik för S1 Laborationer läsåret 2007-2008 DD1311 meringsteknik för S1 Laborationer läsåret 2007-2008 Fyll i ditt namn och personnummer med bläck eller motsvarande. Kursledare är Linda Kann, linda@nada.kth.se. Namn... Personnr... Laborationer Labb

Läs mer

Svensk grammatik Ordklasser!

Svensk grammatik Ordklasser! Svensk grammatik Ordklasser! Grammatik är läran om ett språk, hur detta språk är uppbyggt och hur det fungerar i tal/skrift. Alla ord betyder något och kan delas in i olika ordklasser. Det finns 9 olika

Läs mer

Den räta linjens ekvation

Den räta linjens ekvation Den räta linjens ekvation Här följer en dialog mellan studenten Tor-Björn (hädanefter kallad TB) och hans lärare i matematik Karl-Ture Hansson (nedan kallad KTH). När vi möter dem för första gången är

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

SUBSTANTIV = namn på saker, personer, känslor

SUBSTANTIV = namn på saker, personer, känslor KONKRETA = de du ta på, ex: hus, Kalle ABSTRAKTA = de du inte kan ta på, ex: mod, sanning, kärlek SUBSTANTIV = namn på saker, personer, känslor EGENNAMN Ex: Linda, Sverige, Vättern, Sydsvenskan NUMERUS

Läs mer

Personifierad Netflix

Personifierad Netflix Linköpings universitet Personifierad Netflix Lisa Rönnqvist 2016-08-24 Sammanfattning INNEHÅLLSFÖRTECKNING 1. Inledning... 1 1.1 Bakgrund... 1 1.2 Syfte... 2 2. Netflix... Fel! Bokmärket är inte definierat.

Läs mer

Svenskans struktur, 7,5 hp Tentamensexempel 1

Svenskans struktur, 7,5 hp Tentamensexempel 1 Svenskans struktur, 7,5 hp Tentamensexempel 1 På de följande sidorna återges ett exempel på en tentamen i Svenskans struktur. Tentan är uppdelad i tre delar. För att få godkänt på kursen måste man ha godkänt

Läs mer

kl Tentaupplägg

kl Tentaupplägg Tentaupplägg TIPS 1: Läs igenom ALLA uppgifterna. Välj den du känner är lättast först. Det kan gärna ta 10-20 minuter. Försök skriva saker som kan vara problem i uppgifterna. Är det något du absolut kommer

Läs mer

TAMS79: Föreläsning 10 Markovkedjor

TAMS79: Föreläsning 10 Markovkedjor TAMS79: Föreläsning 0 Markovkedjor Johan Thim december 08 0. Markovkedjor Vi ska nu betrakta en speciell tidsdiskret diskret stokastisk process, nämligen Markovkedjan. Vi börjar med en definition Definition.

Läs mer

Den räta linjens ekvation

Den räta linjens ekvation Den räta linjens ekvation Här följer en dialog mellan studenten Tor-Björn (hädanefter kallad TB) och hans lärare i matematik Karl-Ture Hansson (nedan kallad KTH). När vi möter dem för första gången är

Läs mer

Kryptokorsordslösare Programmeringsmetodik DV (period 2) Inlämningsuppgift 1

Kryptokorsordslösare Programmeringsmetodik DV (period 2) Inlämningsuppgift 1 Kryptokorsordslösare Programmeringsmetodik DV1 2004 (period 2) Inlämningsuppgift 1 Christer Folkesson 1. Sammanfattning 2. Användarbeskrivning 2.1. Lösa ett kryptokorsord 2.2. Utskrift av lösning 2.3.

Läs mer

Artificiell Intelligens Lektion 7

Artificiell Intelligens Lektion 7 Laboration 6 Artificiell Intelligens Lektion 7 Neurala nätverk (Lab 6) Probabilistiska resonemang Vad? Mönsterigenkänning Lära ett neuralt nätverk att känna igen siffror Varför? Få ökad förståelse för

Läs mer