Titel: Ett träningsbart verktyg för att klassificera nyhetstexter (A learnable tool for classifying news texts)

Storlek: px
Starta visningen från sidan:

Download "Titel: Ett träningsbart verktyg för att klassificera nyhetstexter (A learnable tool for classifying news texts)"

Transkript

1 Examensarbete vid NADA, KTH Av Erik Herou Titel: Ett träningsbart verktyg för att klassificera nyhetstexter (A learnable tool for classifying news texts) Examensarbete inom datalogi Handledare: Anders Green Examinator: Kerstin Severinson Eklundh Uppdragsgivare: Adaptlogic AB

2

3 Ett träningsbart verktyg för att klassificera nyhetstexter Sammanfattning Det är i många sammanhang ett problem att framställa metadata, data om data, för de stora mängder texter som förekommer i digitala medier. Textklassificering är ett forskningsområde som går ut på att statistiskt analysera texter och deras metadata för att finna samband vilka kan utnyttjas för att senare automatiskt tilldela metadata till nya texter. Hur detta görs beror på vilken metod man använder för själva analysen, kallad maskininlärning. Detta examensarbete har syftat till att studera olika sådana metoder och deras lämplighet för textklassificering för nyhetstexter. Studien utmynnade i ett beslut att med hjälp av en prototyp praktiskt utvärdera en metod som bygger på Bayes regel för betingad sannolikhet. Prototypen har studerats och utvärderats med avseende på tidsprestanda och träffsäkerhet i tilldelning av metadata för en mängd tidningsartiklar. Tidsprestanda för prototypen anses vara tillräcklig för den specifika realtidstillämpning som beskrivs i arbetet. Under testerna analyserade prototypen ca nyligen publicerade artiklar för att försöka hitta samband för tilldelning av 27 olika ämnen och geografiska kodningar. Matematisk utvärdering av systemet visade att artikelmängden gav systemet en träffsäkerhet på runt 80 % i sin tilldelning av vanligt förekommande ämnen som sport eller krig. Träffsäkerheten på många andra ämnen blev dock mycket låg på grund av att det fanns för få artiklar med de respektive ämnena i den mängd som analyserades. Textklassificeringen som utvärderas i prototypen anses, förutsatt viss vidareutveckling, ha stor potential i det aktuella sammanhanget och uppskattades av de tilltänkta användarna. På sikt kan även en helt automatisk tillämpning vara både möjlig och högst användbar. A learnable tool for classifying news texts Abstract In many situations the creation of metadata, data describing data, is a problem. This is especially obvious when dealing with the huge amounts of text availiable through digital medias today. Text classification is the research discipline of automatical assigning of metadata to, or classification of, texts written in natural language. This is done through statistic analysis of texts and metadata, in its abstract form called machine learning, which can be done in many different ways. This master s thesis is a study of different techniques for machine learning and their suitability for a text classfication application in the context of news articles. The decision taken based on the study was to evaluate a method based on Bayes rule using a prototype system. The evaluation is also covered by this report. The prototype has been evaluated regarding the significance of the metadata it assigns to a set of news articles and the speed with which it does so. The time complexity and execution speed of the system is considered acceptable for the real-time application described in this report. The tests of the prototype were performed using news articles and 27 different topics and geographic codes for the initial set-up analysis required by the system. The mathematic evaluation of the prototype indicated that using this relatively small set of news text for the set-up analysis was enough for the system to have a significance of about 80 % for some of the metadata fields, and less for others. The number of occurrences of each metadata field in the set-up dataset was closely connected to the system s ability to correctly assign the fields to new texts, respectively. The text classifier implemented and described in this report is considered to have an interesting potential for applications in the newspaper situation, also described. The prototype recieved quite a lot of interest and positive response from the potential users. It is also claimed in the report that a more or less automatic classification process for the newspaper might be a good application of the classifier in the future.

4

5 Förord Denna rapport beskriver ett examensarbete genomfört på institutionen för numerisk analys och datalogi, NADA, vid Kungliga tekniska högskolan, KTH, i Stockholm. Arbetet har genomförts under hösten 2001 och motsvarar 20 akademiska poäng. Uppdragsgivare har varit Adaptlogic AB där mina handledare varit Erik Wallin och Christoffer Atle. Handledare på NADA har varit Anders Green och examinator Kerstin Severinson Eklundh. Examensarbetet var en ansats till tillämpning av tekniker från området artificiell intelligens och lärande system i en verklig situation. Sådana tekniker är fortfarande alltför ovanliga utanför universitets- och högskolevärlden även om några kommersiella projekt har pågått i många år. Potentialen för artificiell intelligens och autonoma eller lärande system inom informationsinhämtning ( information retreival ) och informationsnavigering är enorm. Med hjälp av lättanvända, smarta verklighetsanknutna applikationer av metoder från artificiell intelligens kan människor återta kontrollen över den informationsbest vi släppt lös, och jag hoppas kunna vara en del av det framtida arbetet inom detta yrkes- och forskningsområde under många år framöver. Min upplevelse av examensarbetet är att det uppnådde sina mål väl. Det ena målet var att studera några maskininlärningsmetoder för att kunna göra en rekommendation om den lämpligaste. Det målet uppnåddes. Det andra målet var att producera en prototyp som var användbar för vidare tester. Det målet nådde jag också. Jag vill speciellt tacka Erik Wallin och Christoffer Atle på Adaptlogic för möjligheten att genomföra examensarbetet där, min handledare Anders Green på NADA för hjälp och ett engagemang stundtals mycket större än vad som förväntas av en handledare samt Thorbjörn Frisk för kreativt samarbete kring maskininlärning. Jag vill också tacka Johan Möller och Klas Sabelström på Svenska Dagbladet för generös tillgång till artikeldatabaser, samt utvecklarna på Adaptlogic för de tips jag fått för att underlätta systemutvecklandet.

6

7 Innehållsförteckning 1 INLEDNING Problemintroduktion varför ämnet är intressant Vad är textklassificering? Disposition PROBLEMDEFINITION Målsättning med examensarbetet Om den aktuella situationen Krav på textklassificeringssystemet Systemmiljö och datatillgång Analys av uppgiften Avgränsningar NÅGRA METODER FÖR TEXTKLASSIFICERING Maskininlärning för textklassificering Terminologi Att behandla och representera en text Attributrepresentation i form av word-by-document-matris Språkhantering stemming och stopping Besvärliga saker med verkliga texter Något om maskininlärares utdata Utvärderingsmått Precision, täckning och breakeven Multipla klasser Studerade maskininlärningsmetoder Nearest-neighbor (knn) Naiv Bayes Klusterbaserade metoder Supportvektormaskiner (SVM) BCPNN Några publicerade utvärderingar Komplexitet och prestanda för studerade metoder Träning Körning Att minska krav på träningsdatavolymer Uncertainty sampling välj ut optimalt träningsdata Transductive SVM METODDISKUSSION OCH METODVAL Val av klassificeringsmetod Metodernas lämplighet i nyhetsapplikationen Utvärderingskriterier Motivering och val Metod för algoritmutvärdering ARBETSFÖRLOPP Ställningstaganden och viktiga förändringar Samarbete kring maskininlärningskomponenter Prestandaoptimering Optimering av realtidsanrop Uppstart av systemet Minskad tidsåtgång vid träning PROTOTYP AV TEXTKLASSIFICERINGSSYSTEMET Arkitektur Förenklingar och avkall i första versionen...38

8 6.3 Genomförda integrationer Gränssnittutformning Klassificeringsgränssnitt Träningsgränssnitt RESULTAT OCH UTVÄRDERING Diskussion kring gränssnittet med användare Klassificeringskorrekthet matematisk utvärdering Jämförelse med andras publicerade resultat Analys av det konstruerade systemet SLUTSATSER OCH REKOMMENDATIONER KÄLLFÖRTECKNING...51

9 1 Inledning 1 Inledning 1.1 Problemintroduktion varför ämnet är intressant Den teknik som används för distribution av information är idag mycket lättillgänlig och integrerad i samhället, vilket lett till att informationsflödet blivit enormt. Många användare upplever att de översköljs av och måste kunna hantera mycket stora volymer text i många olika verksamheter. Behovet av metadata i form av informationsklassificering är nu större än någonsin när aktörer börjar integrera sina processer med varandra och utbyter data. Att manuellt strukturera dessa stora informationsmängder är inte bara tidsödande utan lämnar också stora utrymmen för fel och inkonsekvens. Sedan många år arbetas det med automatisk textklassificering både inom forskningsvärlden och för kommersiella tillämpningar. Att låta en maskin strukturera informationen går snabbt, och även om en viss felprocent uppstår kan det vara acceptabelt ställt i relation till de tidsbesparingar som görs. Textklassificering är ett område som är nära förknippat med maskininlärning och artificiell intelligens. Tekniker för lärande maskiner för exempelvis strukturering och metadatahantering för texter finns av varierande form sedan tidigare, som kommersiellt exempel kan det engelska företaget Autonomy nämnas. Inom artificiell intelligens finns många inlärningsmetoder som kan verka kryptiska och svåra att följa för en människa som använder dem. Därför är det viktigare än någonsin att de applikationer som utnyttjar sådana metoder har ett gränssnitt som är användbart och som gör att användaren känner sig trygg och vågar lita på att applikationen fungerar som den ska. Arbete som syftar till att kombinera verkliga tillämpningar av tekniker inom artificiell intelligens och användbara gränssnitt är av dessa orsaker mycket viktigt för att det någonsin skall leda till intressanta vardagstillämpningar. 1.2 Vad är textklassificering? En människa kan på tiondelar av en sekund avgöra om en text är skriven på ett visst språk, om den handlar om globala världsnyheter, sporthändelser, programmeringsteknik eller kultur, om den är intressant för läsaren eller ej o.s.v. Textklassificering är ett forskningsområde där syftet är att låta en maskin göra motsvarande avgöranden givet en text. Att klassificera en text innebär att texten tilldelas en eller flera egenskaper, vilka kan motsvaras av en klass. Innebörden av en klass kan vara till exempel sport, intressant innehåll för mig eller typiskt ärende för tekniska supporten. Problemet som ett textklassificeringssystem skall lösa är alltså att för en klass automatiskt kunna avgöra om en viss text bör tilldelas klassen eller ej. För att systemet skall kunna göra sådana avgöranden använder det sig oftast av någon inlärningsmetod som gör statistiska analyser av stora mängder text där klassificering redan är gjord och kan antas vara korrekt. Genom att jämföra texter som handlar om exempelvis sport med sådana som inte gör det kan en lärande maskin ställa in sig så att den med en viss grad av säkerhet kan skilja på sporttexter och andra texter. I kapitel 1 kommer jag att utförligt förklara hur textklassificering går till. 1.3 Disposition Denna rapport beskriver examensarbetet genom att först presentera målet, syftet och en analys av vad som med hänsyn till dessa behövde göras under arbetet. Sedan presenteras de metoder för textklassficering, maskininlärning och gränssnittsdesign som studerats och övervägts och utifrån denna presentation motiveras valet av metoder för respektive moment. Därefter beskrivs viktiga ställningstaganden som gjorts under examensarbetets lopp, det resultat som producerades i form av en prototyp samt en utvärdering av prototypen. Rapporten avslutas med en analys av resultat och utvärdering samt en diskussion kring nyttan av och potentialen för textklassificering i applikationsområdet nyhetstextklassificering. 9

10

11 2 Problemdefinition 2 Problemdefinition I detta kapitel redovisas de krav, målsättningar och förutsättningar som gällde för examensarbetet, samt hur jag utifrån det valde att avgränsa och fokusera uppgiften. 2.1 Målsättning med examensarbetet Syftet med examensarbetet var att utvärdera om ett automatiskt textklassificeringssystem kan användas hos en tidning som publicerar textmaterial på sin webbplats och som vill märka materialet med metadata. Målet med detta examensarbete var därför att göra en teoretisk utvärdering av ett fåtal (högst fem) metoder för textklassificering för den aktuella situationen, samt att utförligare beskriva och implementera en eller två av de lämpligaste metoderna för att göra verkliga tester av dess effektivitet. Målet var också att implementationen skulle innehålla ett gränssnitt användbart nog att användas som utgångspunkt för vidare tester och utveckling hos uppdragsgivaren. Den ursprungliga planen för examensarbetet var att använda en iterativ designprocess där de tilltänkta användarna fick vara delaktiga i gränssnittsdesignen enligt principer som contextual inquiry 1 och participatory design 2, där användarnas arbete studeras och där de får vara delaktiga i utformandet av prototyper på flera nivåer. Dock handlade det här om ett gränssnitt av begränsat omfång så designprocessen skulle bli relativt enkel. Tyvärr orsakade den nedåtgående konjunkturen under hösten 2001 en del nedskärningar i mediabranschen, så även hos tidningen. Det blev därmed svårare än planerat att få någon egentlig användarinblandning i designprocessen. Detta moment av arbetet fick därför byta fokus till att i huvudsak byggas på designriktlinjer från litteratur. Det gjordes också en avslutande diskussion med några användare för att få en bild av vilket första intryck de fick av textklassificeringsverktyget och dess användbarhet. Användarna utgjordes i första hand av de ansvariga för metadataprojektet på tidningen. 2.2 Om den aktuella situationen Den tilltänkta avnämaren för textklassificeringssystemet är en tidning som publiceras både i tryck och i webbformat. Artiklar för webbpublicering matas in i systemet av journalister, och godkänns sedan av redigerare för publicering på webbsidan. I början av mitt examensarbete höll tidningen tillsammans med Adaptlogic på att införa en mer utförlig metainformation kring sina artiklar. I samband med detta konstruerades även ett gränssnitt med vilket märkning av artiklar med metainformation (kallas i fortsättningen för klassificering) kan göras av journalisterna vid inmatningen av artikeln eller av redigerarna i samband med godkännandet. I den första versionen av publiceringsverktyget, vilken var den som användes under mitt arbete, görs detta genom att man väljer ett av åtta alternativ under geografi (t.ex. Stockholm, Sverige, Norden ) samt ett lämpligt antal av nitton val under ämnen (t.ex. Sport, Nöje, Krig & oroligheter ) Krav på textklassificeringssystemet Examensarbetet skulle innefatta utformandet av ett verktyg som kunde fungera som stöd i det moment där journalister eller redigerare skall klassificera en artikel. När vyn för att välja t.ex. ämne och geografi visas, skulle verktyget se till att den redan var ifylld med ett förslag på ett lämpligt för den artikel som matats in, baserat på artikelns textinnehåll. Verktyget kallas därför i fortsättningen förslagsverktyg. En viss felprocent kommer alltid att finnas i ett automatiskt textklassificeringssystem, men är felet tillräckligt litet kan systemet ändå göra nytta. Om klassificeringen på sikt automatiseras helt så att den görs av systemet utan att ens först godkännas av användarna, kan tidsvinsten direkt vägas mot kostnaden i form av en viss felprocent. Mitt uppdrag begränsade sig dock 1 Wixon, Holtzblatt, Knox: Contextual design: an emergent view of system design. 2 Shneiderman: Designing the user interface. 11

12 2 Problemdefinition till genereringen av klassificeringsförslag och ett gränssnitt för det manuella godkännandet av dem, varför en analys av hur detta gränssnitt bör utformas också måste göras. För att ett förslagsverktyg skall tillföra något måste förslaget naturligtvis vara korrekt, så att verktyget hjälper snarare än irriterar användaren genom att ständigt föreslå fel och orsaka mer arbete än det gör nytta. Det måste också gå mycket snabbt att ta fram ett förslag för att inte användaren skall känna att man lika gärna kan läsa igenom den aktuella artikeln översiktligt och klassificera den manuellt. Det kan också vara bra om förslagsverktyget åskådliggör hur starkt det anser ett förslag vara. En sådan indikation kan vara till stöd för användaren i valet om verktygets förslag skall accepteras eller ändras manuellt. För att snabba upp användarens arbetsflöde är det viktigt att han eller hon mycket snabbt uppfattar hur verktyget klassificerat en text och inte behöver tolka en ointuitiv visualisering. De tilltänkta användarna av förslagsverktyget i den situation examensarbetet behandlar var ett fåtal journalister och redigerare vilka lätt skulle kunna läras använda det. Eftersom dessa användares huvudsakliga arbete består i arbete med det verktyg som skulle utökas med förslagsverktyget, skulle de sannolikt ställa stora krav på snabbhet och inte tolerera tidsfördröjningar eller avbrott. Systembelastningen på förslagsverktyget kunde tack vare den begränsade användargruppen förväntas vara mycket liten, sällan högre än något tiotal per minut, då det inte skulle användas från någon extern webbplats Systemmiljö och datatillgång Systemmiljön är en riklig blandning av plattformar och format. Tidningens miljö består av ett publiceringsverktyg i form av en webbapplikation i ASP och COM-objekt med en Oracledatabas för artikellagring. Förslagsgränssnittet skulle byggas för att kunna infogas i detta publiceringsverktyg. Adaptlogics miljö bestod av en tilläggsplattform skriven helt i Java, där ett API fanns att utnyttja från tidningens olika webapplikationer för intern och extern funktionalitet. Det var således lämpligt att skriva även förslagsverktyget i Java så att det kunde utnyttja viss funktionalitet från Adaptlogics plattform på ett enkelt sätt. Dock fanns artikelinnehållet lagrat i tidningens system och de artiklar som skulle klassificeras av verktyget matades in i detsamma, medan metadata för artiklar endast fanns tillgänglig i Adaptlogics plattform via Java-API:t. Under examensarbetet fanns en export av tidningens artikeldatabas tillgänglig i form av en SQL-databas för Microsoft SQL Server. På grund av det sätt som tidningen lagrar sina artiklar (t.ex. olika mallar, backup- och datastädningsrutiner o.s.v.) innehöll denna export inte samtliga artiklar utan bara en delmängd av artiklarna skrivna under september och oktober, vilket blev i storleksordningen 3400 stycken. Förslagsverktyget skulle ha två funktioner; träning och klassificering. För träningen skulle det krävas tillgång till stora mängder sammankopplade texter och metadata. Därmed skulle verktyget behöva ansluta parallellt till både Adaptlogics Java-API och tidningens artikeldatabas samtidigt under träningen. Vid klassificeringen skall tidningens publiceringsverktyg kunna leverera en text till förslagsverktyget och få tillbaka ett förslag på vilka klasser som vore lämpligast att tilldela texten. Därför krävs en lösning som medger att publiceringsverktyget, skrivet i ASP, kan använda förslagsverktyget. 2.3 Analys av uppgiften Baserat på en analys av de förutsättningar som beskrivits ovan var följande punkter vad som behövde genomföras under examensarbetet: Utred i detalj hur automatisk textklassificering kan göras Identifiera maskininlärningsmetoder som ofta förekommer inom textklassificering Utred hur de identifierade maskininlärarna fungerar Utred hur man utvärderar en textklassificerare och maskininlärares korrekthet Välj metod för textklassificering och maskininlärning 12

13 2 Problemdefinition Utforma gränssnittet för klassificeraren Tillverka en prototyp av textklassificerare och gränssnitt Utvärdera prototypen med avseende på klassificeringskorrekthet och gränssnitt 2.4 Avgränsningar Endast den maskininlärningsmetod jag efter de teoretiska studierna ansåg vara bäst lämpad skulle implementeras i en prototyp. En körbar prototyp för hela textklassificeringssystemet skulle implementeras, men vissa funktioner skulle lämnas för att tas hand om senare. Arkitekturen skulle därför vara gjord så att prototypen lätt skulle kunna utvidgas till ett mer fullständigt system. Under examensarbetet skulle det inte tillverkas funktionalitet för språkhantering som att göra om ord till grundform, ett moment som dock kan behövas i textklassificeringssammanhang för god prestanda. Språkhanteringskomponenter skulle endast användas i den mån redan existerande lösningar fanns tillgängliga. 13

14

15 3 Några metoder för textklassificering 3 Några metoder för textklassificering I detta kapitel presenteras grunderna inom textklassificering och i sammanhanget tillämplig maskininlärning. Det kan vara till nytta för förståelsen av den senare redovisningen av resultatet och diskussionerna kring detsamma. Beskrivningarna i kapitel 3.7 är bitvis mycket tekniska och kan läsas översiktligt av den som är mer intresserad av prototypen än algoritmdiskussionsdelen av arbetet. I detta kapitel kommer följande typer av maskininlärningsmetoder förklaras, för att i kapitel 4.1 tas upp i en jämförelse vilken utmynnar i val av metod att implementera. Nearest-neighbor-principer Supportvektormaskiner Bayesianska klassificerare Kluster 3.1 Maskininlärning för textklassificering Som nämndes i inledningen till denna rapport handlar textklassificering om att automatiskt tilldela egenskaper till en text. För att göra detta måste man börja med att representera texten på ett datalogiskt effektivt sätt. Denna representation kan sedan analyseras med hjälp av maskininlärningsmetoder, varav några beskrivs nedan. Genom att representera texter som en iakttagelse av världen i form av en mängd attribut och representera klasser som okända variabel vars sant/falskt-värde skall approximeras, kan textklassificering göras med hjälp av många olika maskininlärare. En typiskt maskininlärarsystem kan utifrån en mängd givna iakttagelser om världen uppskatta några eftersökta okända parametrar. Detta kan systemet göra genom att det före användning matats med ett stort antal iakttagelser om världen där den sökta parametern också är känd. På så vis kan maskininlärningssystemet, beroende på hur dess algoritmer är uppbyggda, approximera samband mellan parametrarna i iakttagelsen och de eftersökta parametrarna. Innan maskininlärningssystemet kan användas måste det matas med iakttagelser kombinerat med kända värden på de parametrar som senare kommer att behöva approximeras. Detta moment kallas för träning. 3.2 Terminologi I rapporten används en viss terminologi som är vedertagen inom maskininlärning och textklassificering. Nedan förklaras terminologin och vissa av grundkoncepten översiktligt, baserat på majoriteten av de källor som studerats. Texter som förekommer i klassificeringssammanhanget kallas dokument eller exempel. Exempel är en mer vedertagen term i maskininlärningssammanhang eftersom den är lämplig oavsett i vilket sammanhang inlärningsalgoritmen beskrivs. Termen träningsexempel används också och vilket innebär ett manuellt klassificerat exempel som kan användas som facit för träning och testning av algoritmer. Varje exempel som behandlas av en maskininlärningsmetod består på något sätt av attribut, även kallade features. Det angreppssätt till textklassificering jag använder här gör till att börja med ett attribut av varje ord. När det gäller klassificering talar man om positiva och negativa exempel, där ett positivt exempel innebär att ett exempel tillhör en klass och ett negativt att exemplet inte gör det. I den mest grundläggande formen handlar klassificering om binär klassificering, att välja huruvida ett exempel skall tillhöra en klass eller ej, t.ex. detta är en intressant text för användaren. I många sammanhang, så även i nyhetsapplikationen som studerats i detta examensarbete, kan exemplen tillhöra noll till många klasser. Då många maskininlärningsalgoritmer endast kan göra en binär klassificering av ett exempel till en klass, brukar tillvägagångssättet vara att 15

16 3 Några metoder för textklassificering bedöma tilldelningen av varje tänkbar klass för exemplet som en enskild uppgift, och en maskininlärare tränas för varje klass. 3.3 Att behandla och representera en text Att representera en text som en lång sträng är oftast opraktiskt i maskininlärningssammanhang. För att kunna använda någon maskininlärningsmetod måste texter kunna representeras på ett lämpligare sätt. Samtliga metoder som studerats under detta examensarbete använder sig av en serie attribut. Attributen fungerar som räknare för varje känt ords antal förekomster, och varje exempeltext representeras av sin speciella kombination av värden på räknarna. När det gäller textklassificering måste exemplen, d.v.s. texterna, förbehandlas för att på ett bra sätt kunna göras om till attribut. Sådant som skiljetecken, siffror och andra icke-ord väljer man ofta att rensa bort. Dessutom kan man vilja göra om ord till grundform eller ta bort informationsfattiga ord, vilket beskrivs senare i detta kapitel Attributrepresentation i form av word-by-document-matris Den allra vanligaste representationen av texter vid textklassificering är den så kallade vector space-modellen, där varje text motsvaras av en vektor i en rymd 3. Rymden spänns upp av en dimension per attribut, d.v.s. alla ord som förekommer i minst ett dokument i träningsmängden. Det typiska sättet att välja attribut är att efter borttagning av informationsfattiga ord och omformning av ord till grundform välja varje enskilt ord som ett attribut. Dessa vektorer kan sedan inordnas i en matris, kallad word-by-document-matris, där varje rad motsvarar ett ord (attribut) och varje kolumn ett dokument. I fortsättningen av rapporten används förkortningen WBD för denna matris. Man kan alltså på varje position i matrisen finna information om ett visst ords förekomst i ett visst dokument. Enklast att tänka sig är att räkna antalet gånger ordet förekommit i dokumentet, men andra typer av information kan lagras. Detta utvecklas ytterligare i kapitlen nedan. WBD-matriser används i alla metoder jag har undersökt. Orsaken till att WBDrepresentationen av data är så populär både för representation av text och som indata till maskininlärningsalgoritmer i andra sammanhang är förstås att dess generaliserade format gör att det blir lätt att konstruera inlärningsalgoritmer som är generella nog att användas i många sammanhang. Samtidigt kan man använda många olika inlärningsalgoritmer om data lagrats på detta sätt. En reparametrisering (se även kapitel 3.4), transformation av WBD-matrisen till en rymd med färre dimensioner, kan vara lämplig ibland. Vissa metoder såsom supportvektormaskiner klarar av en stor mängd attribut och inom textkategorisering anses de flesta orden ha relevans för klassificeringen 4. När reparametrisering är olämplig kan istället en rensning, feature selection, av WBD-matrisen vara lämplig. Enligt något mått väljer man då ut de ord som verkar innehålla minst information om dokumentmängden. Ett exempel på ett sådant mått är information gain, vilket går ut på att välja de ord med hjälp av vilka man mest distinkt delar upp dokumentmängden i sådana som tillhör en klass och sådana som inte gör det Viktning och ordräknare Då WBD-matrisen skall fyllas med innehåll är den enklaste varianten att inte räkna antalet förekomster, utan endast avgöra om ordet förekommer eller ej, så kallad boolesk viktning. Värdet för en position i matrisen blir då sant eller falskt (alternativt 0 eller 1) 6. Vid ordfrekvensviktning räknar man även antalet gånger ordet förekommer i respektive dokument 7. Här påverkar alltså dokumentens längd dess matrisrepresentation kraftigt. 3 Aas, Eikvil: Text Categorisation: a survey 4 Joachims: Text categorization with support vector machines: learning with many relevant features. 5 Aas, Eikvil: Text Categorisation: a survey 6 Aas, Eikvil: Text Categorisation: a survey 16

17 3 Några metoder för textklassificering Därmed måste maskininlärningsmetoden som använder matrisen kunna ta hänsyn till detta för att två dokument med kraftigt liknande innehåll men av olika längd inte skall riskera att anses som mycket olika. För att även ta hänsyn till hur unikt ett ord är sett över hela mängden av träningsdokument kan dess inverse document frequency användas 8 och multipliceras med dess frekvens ( term frequency ) i varje dokument. Innehållet i matrisen, kallat a ij för ord nummer i, dokument j, räknas ut enligt: a ij = f ij N log( ) n i där f ij är antalet förekomster av ordet i i dokument j, N totala antalet dokument och n i antalet dokument i vilka ordet i förekommer minst en gång Språkhantering stemming och stopping Eftersom exempelvis läsa, läste, läs är väldigt närstående varandra semantiskt kan det vara lämpligt att gruppera dessa. Detta görs med stemming, vilket innebär omvandling av ord så att de representeras enbart av sin stam. Eftersom sätt att böja ord varierar mellan språk krävs en stemmingalgoritm anpassad för det språk man arbetar med. En ofta förekommande stemmingalgoritm för engelska är Porters algoritm 10. Arbete med stemmingalgoritmer på svenska görs också och har visat sig förbättra resultaten i andra textbehandlingssammanhang 11. Vid textklassificering vill man naturligtvis på något sätt hitta gemensamma egenskaper och skillnader mellan dokument för att kunna förutsäga nya dokuments klasstillhörighet. Vissa ord är dock så vanligt förekommande att de inte kan användas för att hitta några samband, eller saknar informationsvärde av andra orsaker och man väljer därför i många sammanhang att ta ignorera dem när man bygger sin representation av dokumenten. Vilka ord som bör tas bort beror förstås på språk, sammanhang och hur man representerar dokumenten. Förfarandet med att ta bort ord på detta sätt kallas stopping. 3.4 Besvärliga saker med verkliga texter Vid inläsningen av texten behöver man någon representation för vad den handlar om. Man måste då välja hur omfattande analys av texten man vill göra. Den enklaste varianten är förstås att bara se texten som en mängd ord utan innebörd. En enklare utökning av denna variant är att räkna olika kombinationer av ord och fraser, där exempelvis tysk rodelåkare identifieras som ett attribut istället för att orden tysk och rodelåkare identifieras var för sig. Då man bygger en WBD-matris räknas dock enbart antalet förekomster av ord, d.v.s. man använder det förstnämnda synsättet, även kallat bag-of-words. Många maskininlärningsmetoder behandlar varje ord, d.v.s. rad i WBD-matrisen, fristående från de andra och kan därmed gå miste om mönster bland dokumentklassningen som bygger på kombinationer av ord. Naiv Bayes (se kapitel 3.7.2) är ett exempel på detta som har visat sig mycket effektiv trots detta förenklande antagande 12. Det har också visat sig att detta enkla bag-of-words-angreppssätt har varit ungefär lika effektivt som andra metoder som involverar lingvistisk analys eller domänkunskap 13. Att istället göra uttömmande sökningar på 7 Aas, Eikvil: Text Categorisation: a survey 8 Aas, Eikvil: Text Categorisation: a survey 9 Aas, Eikvil: Text Categorisation: a survey 10 Porter, M.F: An algorithm for suffix stripping. 11 Carlberger, Dalianis, Hassel, Knutsson: Improving precision in information retreival for Swedish using stemming. 12 Dumais, Platt, Heckerman: Inductive learning algorithms and representations for text categorization 13 Lewis: Naive (Bayes) at forty: the independence assumption in information retreival 17

18 3 Några metoder för textklassificering kombinationer av ordförekomster är dels svårare att modellera, och dels mycket beräkningstungt då alla kombinationer skulle behöva sökas igenom, eller åtminstone en stor del enligt någon lämplig avgränsning. En av de stora vinsterna med att använda bag-of-words är att man tack vare det förenklande antagandet att alla ord är fristående från varandra minskar beräkningsbehovet dramatiskt till en volym som går att hantera. Det finns emellertid sätt att behandla WBD-matrisen så att resultatet innehåller nya attribut som istället motsvarar kombinationer av ordförekomster 14. LSI, latent semantic indexing, är en metod för reparametrisering som bland annat syftar till detta. Genom en singulärvärdesdekomposition, SVD, rensas brus i WBD-matrisen ut och en ny matris innehållandes element som motsvarar en form av ordstruktur i dokumenten bildas. Dokumenten kan sedan jämföras med sina respektive kolumner i denna matris istället 15. I praktiska sammanhang medför förstås naturligt språk ytterligare svårigheter. De flesta språk böjer många ord på en mängd olika sätt, och sällan helt regelbundet. I sådana fall blir stemminguppgiften svårare och man riskerar att missa samband som egentligen finns. Det faktum att så många moment inom textklassificering beror på vilket språk man arbetar med medför förstås också vissa problem. Exempelvis är explicita stemmingregler för engelska är helt oanvändbara på franska texter. Därför måste en textklassificerare som riskerar att stöta på flera olika språk vara anpassad till en sådan uppgift. Några forskningsprojekt kring stemmingalgoritmer som är intressanta vid arbete med svensk text är Carlberger et al om en svensk stemmer och Hedlund , ett examensarbete vid NADA vilket syftade till att undersöka möjligheter att automatiskt konstruera stemmingregler oberoende av språk. 3.5 Något om maskininlärares utdata Många maskininlärningsmetoder levererar ett kontinuerligt utvärde, ibland med innebörden sannolikhet för att ett exempel skall tillhöra en viss klass. I de fall utvärdet indikerar någon form av styrka i påståendet att ett exempel kan tillhöra en viss klass, måste man omvandla detta till ett beslut huruvida exemplet skall tilldelas klassen eller ej. Man använder sig då av ett tröskelvärde för den minimala styrka som krävs för tilldelning av klassen (kallas thresholding). Lämpliga tröskelvärden beror förstås på sammanhang och tillgängliga exempel. Lewis och Ringuette 18 talar om en variant av den naiva Bayes-klassificeringsmetoden (se kapitel 3.7.2) kallad PropBayes som utökas till att tilldela klasser proportionellt mot hur ofta klassen förekommer i träningsdatat. Om X procent av träningsdatat tillhör klassen C, tilldelas kx procent av testdatat klassen C. Konstanten k används för att justera proportionaliteten. Genom att öka k ökar man sannolikheten att en viss klass skall tilldelas ett dokument. En proportionell tilldelning av klasser på detta sätt kan tillämpas vid alla metoder där utvärdet är kontinuerligt, eftersom man då kan välja var på skalan mellan maximal styrka i en positiv respektive negativ klass tröskeln för positiv respektive negativ klass skall placeras så att önskad proportionalitet uppnås. 3.6 Utvärderingsmått Då många maskininlärningsalgoritmer av olika orsaker ger kontinuerliga utvärden måste man ofta välja ett tröskelvärde eller någon annan inställning för algoritmen som gör att den kan användas för en binär klassificering. När det gäller just tröskelvärde för hur starkt algoritmen föreslår tilldelning av en klass innebär både ett högt och ett lågt värde risk för felklassificeringar. Ett för högt tröskelvärde gör att algoritmen kanske låter bli att tilldela 14 Aas, Eikvil: Text Categorisation: a survey 15 Aas, Eikvil: Text Categorisation: a survey. 16 Carlberger, Dalianis, Hassel, Knutsson: Improving precision in information retreival for Swedish using stemming. 17 Hedlund, Automatic construction of stemming rules 18 Lewis, Ringuette: A comparison of two learning algorithms for text categorization. 18

19 3 Några metoder för textklassificering exempel en viss klass, fast den borde ha gjort det. Ett för lågt tröskelvärde gör istället att algoritmen kanske tilldelar exempel en viss klass, fast den inte borde ha gjort det Precision, täckning och breakeven Man talar inom utvärdering av klassificeringsmetoder om termerna recall eller täckning andelen dokument från klassen C som av algoritmen också tilldelas C vid testning och precision andelen dokument från dem som vid testning tilldelats klassen C som faktiskt tillhör den 19. Täckning och precision blir alltså varandras motsatser med avseende på tröskelvärdets inverkan, och då man önskar så höga värden som möjligt på både täckning och precision blir man tvungen att välja det tröskelvärde som ger den bästa kompromissen mellan de två. Eftersom täckningen ökar med ett minskat tröskelvärde och precision minskar med detsamma, söker man efter den punkt där de båda är lika höga och kallar den för breakeven-point. Denna punkt används ofta vid jämförelser mellan algoritmer 20. För varje klass beräknas täckning och precision enligt: a = antal exempel korrekt tilldelade klassen C b = antal exempel felaktigt tilldelade klassen C c = antalet exempel från klassen C som ej tilldelats klassen C täckning = a/(a+c) precision = a/(a+b) 100% 90% 80% 70% 60% 50% 40% 30% 20% 10% 0% Tröskel precision täckning Figur 1. Precisionens och täckningens beroende av tröskelvärdet, och hur kurvorna möts i breakevenpunkten. Figuren är en illustration och representerar inte resultat från en verklig maskininlärare Multipla klasser I många sammanhang vill man kunna tilldela exempel flera klasser och det är då intressant att utvärdera algoritmens prestanda över alla klasser eftersom breakeven som det beskrivs ovan bara räknas ut för en klass i taget. Micro-averaging och macro-averaging är två metoder för att utvärdera en algoritms klassificeringsprestanda då många klasser och många exempel är inblandade. Som framgår av formlerna nedan så premierar macro-averaging prestanda för varje kategori, oavsett hur vanligt förekommande den är. Micro-averaging premierar istället 19 Witten, Frank: Data mining. 20 Aas, Eikvil: Text Categorisation: a survey. 19

20 3 Några metoder för textklassificering prestanda per exempel, vilket gör att god prestanda på vanliga kategorier är viktigare än på ovanligare vid micro-averaging 21. Vid macro-averaging beräknas precision och täckning för varje klass, sedan tas medelvärdet över klasserna. Vid micro-averaging räknas istället precision och täckning ut en gång för alla klasser. Om antalet klasser är N, så gäller för macro-average: 1 precision = N a N i i = N a i + c i recall = 1 N a N i i = N a i + b i och för micro-average: precision recall i = 1 N i i = 1 = N N i = 1 a i + i i = 1 = N N a N i + a a i = 1 i = 1 b i c i 3.7 Studerade maskininlärningsmetoder Denna rapport tar upp några av de maskininlärningsmetoder som oftast förekommer i litteratur kring textklassificering. Samtliga metoder har studerats med avseende på algoritm för klasstilldelning, träningsmetod och kända utvärderingar med avseende på tids- och klassificeringsprestanda. Vissa metoder kan bara hantera klassificeringsproblemet för en klass i taget. Andra kan klara mer än så, men jag har ändå valt att bara studera samtliga utifrån enklassperspektivet för att kunna jämföra alla med varandra. Maskininlärningsmetoderna som tas upp här beskrivs för enkelhets skull ur ett textklassificeringsperspektiv snarare än på ett generellt plan för att underlätta för läsaren Nearest-neighbor (knn) Nearest-neighbor är en relativt enkel metod som går ut på att hitta exempel i träningsdatamängden som liknar det exempel som skall klassificeras. Detta gör man genom att definiera en rymd där varje attribut som används i träningsexemplen representeras av en dimension. På så vis kan varje dokument representeras i denna rymd som en punkt vilkens koordinater återfinns i exemplets attributmängd. Med hjälp ett avståndsmått kan man hitta punkterna för de träningsexempel som finns närmast ett oklassificerat dokument i attributrymden. Två intressanta avståndsmått för vektorer eller punkter i rymden som förekommer i litteraturen är euklidiskt avstånd och vinkel mellan vektorerna. I sin ursprungliga form innebär nearest-neighbor att man tilldelar det oklassificerade dokumentet samma klass som det närmaste träningsexemplet. En utvidgning av denna är k-nearest-neighbor, knn, där man väljer de k närmaste träningsexemplen i rymden och väljer den klass som förekom flest gånger för att få en stabilare funktion. En variant på denna är weighted average där man man ökar vikten för ett träningsexempel ju närmare 21 Yang: An evaluation of statistical approaches to text categorization. 20

Klustring av svenska tidningsartiklar

Klustring av svenska tidningsartiklar Klustring av svenska tidningsartiklar Magnus Rosell rosell@nada.kth.se http://www.nada.kth.se/ rosell/ Klustring Kategorisering eller klassificering att föra texter till på förhand bestämda kategorier

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

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

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

Föreläsning 7. Felrättande koder

Föreläsning 7. Felrättande koder Föreläsning 7 Felrättande koder Antag att vi vill skicka ett meddelande som består av bokstäver a,b,c,d. Vi kan koda a,b,c,d. Antag att det finns en viss sannolikhet att en bit i ett meddelande som skickas

Läs mer

Kravspecifikation Fredrik Berntsson Version 1.3

Kravspecifikation Fredrik Berntsson Version 1.3 Kravspecifikation Fredrik Berntsson Version 1.3 Status Granskad FB 2017-01-27 Godkänd FB 2017-01-27 Dokumenthistorik Version Datum Utförda ändringar Utförda av Granskad 1.0 2014-01-15 Första versionen

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

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

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 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

Bakgrund och motivation. Definition av algoritmer Beskrivningssätt Algoritmanalys. Algoritmer. Lars Larsson VT 2007. Lars Larsson Algoritmer 1

Bakgrund och motivation. Definition av algoritmer Beskrivningssätt Algoritmanalys. Algoritmer. Lars Larsson VT 2007. Lars Larsson Algoritmer 1 Algoritmer Lars Larsson VT 2007 Lars Larsson Algoritmer 1 1 2 3 4 5 Lars Larsson Algoritmer 2 Ni som går denna kurs är framtidens projektledare inom mjukvaruutveckling. Som ledare måste ni göra svåra beslut

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

Kategorisering och klustring. Kategorisering vid indexering. Kategorisering. Kategorisering föränderligtf. Klustring

Kategorisering och klustring. Kategorisering vid indexering. Kategorisering. Kategorisering föränderligtf. Klustring Kategorisering och klustring Hercules Dalianis DSV-SU-KTH e-post:hercules@kth.se 070-568 13 59 / 08-674 75 47 Skillnaden mellan kategorisering och klustring? Kategori är förutbestämt av någon Kluster är

Läs mer

Datorlaboration :: 1 Problembeskrivning ::

Datorlaboration :: 1 Problembeskrivning :: Datorlaboration :: Ett hyrbilsföretags problem Laborationen går ut på att lösa Labbuppgift 1 till 5. Laborationen redovisas individuellt genom att skicka laborationens Mathematicafil till Mikael Forsberg

Läs mer

Prototypbaserad Inkrementell Diagnos. Anders Holst SICS, Swedish Institute of Computer Science AB

Prototypbaserad Inkrementell Diagnos. Anders Holst SICS, Swedish Institute of Computer Science AB Prototypbaserad Inkrementell Diagnos Anders Holst SICS, Swedish Institute of Computer Science AB Metoder för Industriell Diagnos Datadrivna metoder Träna in en mappning från symptom till diagnoser. Kräver

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

Lösning till tentamensskrivning i Diskret Matematik för CINTE, CL2 och Media 1, SF1610 och 5B1118, onsdagen den 17 augusti 2011, kl

Lösning till tentamensskrivning i Diskret Matematik för CINTE, CL2 och Media 1, SF1610 och 5B1118, onsdagen den 17 augusti 2011, kl Matematiska Institutionen KTH Lösning till tentamensskrivning i Diskret Matematik för CINTE, CL och Media, SF60 och 5B8, onsdagen den 7 augusti 0, kl 4.00-9.00. Examinator: Olof Heden Hjälpmedel: Inga

Läs mer

HKGBB0, Artificiell intelligens

HKGBB0, Artificiell intelligens HKGBB0, Artificiell intelligens Kortfattade lösningsförslag till tentan 3 november 2005 Arne Jönsson 1. Vad karaktäriserar dagens AI-forskning jämfört med den AI-forskning som bedrevs perioden 1960-1985.

Läs mer

Föreläsning 13 Innehåll

Föreläsning 13 Innehåll Föreläsning 13 Innehåll Exempel på problem där materialet i kursen används Hitta k största bland n element Histogramproblemet Schemaläggning PFK (Föreläsning 13) VT 2013 1 / 15 Hitta k största bland n

Läs mer

Introduktion till algoritmer - Lektion 4 Matematikgymnasiet, Läsåret 2014-2015. Lektion 4

Introduktion till algoritmer - Lektion 4 Matematikgymnasiet, Läsåret 2014-2015. Lektion 4 Introduktion till algoritmer - Lektion 4 Matematikgymnasiet, Läsåret 014-015 Denna lektion ska vi studera rekursion. Lektion 4 Principen om induktion Principen om induktion är ett vanligt sätt att bevisa

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

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

Hitta k största bland n element. Föreläsning 13 Innehåll. Histogramproblemet

Hitta k största bland n element. Föreläsning 13 Innehåll. Histogramproblemet Föreläsning 13 Innehåll Algoritm 1: Sortera Exempel på problem där materialet i kursen används Histogramproblemet Schemaläggning Abstrakta datatyper Datastrukturer Att jämföra objekt Om tentamen Skriftlig

Läs mer

1 Minkostnadsflödesproblem i nätverk

1 Minkostnadsflödesproblem i nätverk Krister Svanberg, april 2012 1 Minkostnadsflödesproblem i nätverk Ett nätverk består av en given mängd noder numrerade från 1 till m (där m är antalet noder) samt en given mängd riktade bågar mellan vissa

Läs mer

TNK049 Optimeringslära

TNK049 Optimeringslära TNK49 Optimeringslära Clas Rydergren, ITN Föreläsning 7 Nätverksoptimering Billigaste uppspännande träd (MST) Billigaste väg (SP) Projektnätverk Minkostnadsflödesproblem Agenda Terminologi för grafer/nätverk

Läs mer

TATM79: Föreläsning 1 Notation, ekvationer, polynom och summor

TATM79: Föreläsning 1 Notation, ekvationer, polynom och summor TATM79: Föreläsning 1 Notation, ekvationer, polynom och summor Johan Thim 22 augusti 2018 1 Vanliga symboler Lite logik Implikation: P Q. Detta betyder att om P är sant så är Q sant. Utläses P medför Q

Läs mer

Manual HSB Webb brf 2004 03 23

Manual HSB Webb brf 2004 03 23 TERMINOLOGI I Polopoly används ett antal grundläggande begrepp för publicering och hantering av information, eller innehåll som det också benämns. Nedan följer en kort genomgång av denna grundläggande

Läs mer

1. Compute the following matrix: (2 p) 2. Compute the determinant of the following matrix: (2 p)

1. Compute the following matrix: (2 p) 2. Compute the determinant of the following matrix: (2 p) UMEÅ UNIVERSITY Department of Mathematics and Mathematical Statistics Pre-exam in mathematics Linear algebra 2012-02-07 1. Compute the following matrix: (2 p 3 1 2 3 2 2 7 ( 4 3 5 2 2. Compute the determinant

Läs mer

Graärgning och kromatiska formler

Graärgning och kromatiska formler Graärgning och kromatiska formler Henrik Bäärnhielm, d98-hba 2 mars 2000 Sammanfattning I denna uppsats beskrivs, för en ickematematiker, färgning av grafer samt kromatiska formler för grafer. Det hela

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

Introduktion till frågespråket SQL (v0.91)

Introduktion till frågespråket SQL (v0.91) DD1370: Databaser och Informationssystem Hösten 2014 Petter Ögren Introduktion till frågespråket SQL (v0.91) 13:e November Disclaimer: Dessa anteckningar har producerats under viss tidspress, och kan därför

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

LAB 3. INTERPOLATION. 1 Inledning. 2 Interpolation med polynom. 3 Splineinterpolation. 1.1 Innehåll. 3.1 Problembeskrivning

LAB 3. INTERPOLATION. 1 Inledning. 2 Interpolation med polynom. 3 Splineinterpolation. 1.1 Innehåll. 3.1 Problembeskrivning TANA18/20 mars 2015 LAB 3. INTERPOLATION 1 Inledning Vi ska studera problemet att interpolera givna data med ett polynom och att interpolera med kubiska splinefunktioner, s(x), som är styckvisa polynom.

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

DIGITAL KOMMUNIKATION

DIGITAL KOMMUNIKATION EN KOR SAMMANFANING AV EORIN INOM DIGIAL KOMMUNIKAION Linjär kod En binär linjär kod kännetecknas av att summan av två kodord också är ett kodord. Ett specialfall är summan av ett kodord med sig själv

Läs mer

Mälardalens högskola

Mälardalens högskola Teknisk rapportskrivning - en kortfattad handledning (Version 1.2) Mälardalens högskola Institutionen för datateknik (IDt) Thomas Larsson 10 september 1998 Västerås Sammanfattning En mycket viktig del

Läs mer

Material till kursen SF1679, Diskret matematik: Lite om kedjebråk. 0. Inledning

Material till kursen SF1679, Diskret matematik: Lite om kedjebråk. 0. Inledning Matematik, KTH Bengt Ek november 207 Material till kursen SF679, Diskret matematik: Lite om kedjebråk 0 Inledning Talet π (kvoten mellan en cirkels omkrets och dess diameter) är inte ett rationellt tal

Läs mer

Föreläsning 5. Approximationsteori

Föreläsning 5. Approximationsteori Föreläsning 5 Approximationsteori Låt f vara en kontinuerlig funktion som vi vill approximera med en enklare funktion f(x) Vi kommer använda två olika approximationsmetoder: interpolation och minstrakvadratanpassning

Läs mer

Föreläsning 5: Grafer Del 1

Föreläsning 5: Grafer Del 1 2D1458, Problemlösning och programmering under press Föreläsning 5: Grafer Del 1 Datum: 2006-10-02 Skribent(er): Henrik Sjögren, Patrik Glas Föreläsare: Gunnar Kreitz Den här föreläsningen var den första

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

MATEMATIK GU. LLMA60 MATEMATIK FÖR LÄRARE, GYMNASIET Analys, ht 2014. Block 5, översikt

MATEMATIK GU. LLMA60 MATEMATIK FÖR LÄRARE, GYMNASIET Analys, ht 2014. Block 5, översikt MATEMATIK GU H4 LLMA6 MATEMATIK FÖR LÄRARE, GYMNASIET Analys, ht 24 I block 5 ingår följande avsnitt i Stewart: Kapitel 2, utom avsnitt 2.4 och 2.6; kapitel 4. Block 5, översikt Första delen av block 5

Läs mer

UPPGIFT 1 V75 FIGUR 1.

UPPGIFT 1 V75 FIGUR 1. UPPGIFT 1 V75 FIGUR 1. Varje lördag året om spelar tusentals svenskar på travspelet V75. Spelet går ut på att finna sju vinnande hästar i lika många lopp. Lopp 1: 5 7 Lopp 2: 1 3 5 7 8 11 Lopp 3: 2 9 Lopp

Läs mer

Optimala koder. Övre gräns för optimala koder. Gränser. Övre gräns för optimala koder, forts.

Optimala koder. Övre gräns för optimala koder. Gränser. Övre gräns för optimala koder, forts. Datakompression fö 3 p.3 Datakompression fö 3 p.4 Optimala koder Övre gräns för optimala koder En prefixkod kallas optimal om det inte existerar någon annan kod (för samma alfabet och sannolikhetsfördelning)

Läs mer

Optimala koder. Det existerar förstås flera koder som har samma kodordsmedellängd. Enklaste fallet är att bara byta 0:or mot 1:or.

Optimala koder. Det existerar förstås flera koder som har samma kodordsmedellängd. Enklaste fallet är att bara byta 0:or mot 1:or. Datakompression fö 3 p.1 Optimala koder En prefixkod kallas optimal om det inte existerar någon annan kod (för samma alfabet och sannolikhetsfördelning) som har lägre kodordsmedellängd. Det existerar förstås

Läs mer

1 Duala problem vid linjär optimering

1 Duala problem vid linjär optimering Krister Svanberg, april 2012 1 Duala problem vid linjär optimering Detta kapitel handlar om två centrala teoretiska resultat för LP, nämligen dualitetssatsen och komplementaritetssatsen. Först måste vi

Läs mer

Introduktion till algoritmer - Lektion 1 Matematikgymnasiet, Läsåret 2014-2015. Lektion 1

Introduktion till algoritmer - Lektion 1 Matematikgymnasiet, Läsåret 2014-2015. Lektion 1 Kattis Lektion 1 I kursen används onlinedomaren Kattis (från http://kattis.com) för att automatiskt rätta programmeringsproblem. För att få ett konto på Kattis anmäler du dig på Programmeringsolympiadens

Läs mer

Introduktion Schenker-BTL AB, Stab IT Beskrivning över informationsintegreringmed Schenker, metodbeskrivning version 1.

Introduktion Schenker-BTL AB, Stab IT Beskrivning över informationsintegreringmed Schenker, metodbeskrivning version 1. Schenker har interna system som handhar information som är av intresse för våra kunder/partners. Idag finns ett flertal av dem tillgängliga via Internet, sk Online-tjänster. Dessa erbjuder inte bara hämtning

Läs mer

2D Potentialen i en nervcell definieras normalt som skillnaden i spänning mellan dess axon och dendrit.

2D Potentialen i en nervcell definieras normalt som skillnaden i spänning mellan dess axon och dendrit. 2D1432 Artificiella Neuronnät och andra lärande system Lösningsförslag till Tentamen 2003-03-06 Inga hjälpmedel. Uppgift 1 Vilka av följande påståenden är sanna? Korrigera de som är fel. 1. Potentialen

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

TANA17 Matematiska beräkningar med Matlab

TANA17 Matematiska beräkningar med Matlab TANA17 Matematiska beräkningar med Matlab Laboration 1. Linjär Algebra och Avbildningar Namn: Personnummer: Epost: Namn: Personnummer: Epost: Godkänd den: Sign: Retur: 1 Introduktion I denna övning skall

Läs mer

Slutrapport Vertikala Sökmotorer Uppdrag från.se:s Internetfond Våren 2008

Slutrapport Vertikala Sökmotorer Uppdrag från.se:s Internetfond Våren 2008 Slutrapport Vertikala Sökmotorer Uppdrag från.se:s Internetfond Våren 2008 Anders Ardö Elektro- och informationsteknik Lunds Universitet Box 118, 221 00 Lund June 18, 2009 1 Inledning Digitala bibliotek

Läs mer

Vinjetter TDDC91 Datastrukturer och algoritmer

Vinjetter TDDC91 Datastrukturer och algoritmer Vinjetter TDDC91 Datastrukturer och algoritmer 17 augusti 2015 2 Scenario 1 Man har inom Posten Logistik AB skrivit programvara för sortering av kundinformation och vill standardisera användningen av sorteringsalgoritmer.

Läs mer

Övningshäfte 2: Induktion och rekursion

Övningshäfte 2: Induktion och rekursion GÖTEBORGS UNIVERSITET MATEMATIK 1, MMG200, HT2017 INLEDANDE ALGEBRA Övningshäfte 2: Induktion och rekursion Övning D Syftet är att öva förmågan att utgående från enkla samband, aritmetiska och geometriska,

Läs mer

Experimentella metoder, FK3001. Datorövning: Finn ett samband

Experimentella metoder, FK3001. Datorövning: Finn ett samband Experimentella metoder, FK3001 Datorövning: Finn ett samband 1 Inledning Den här övningen går ut på att belysa hur man kan utnyttja dimensionsanalys tillsammans med mätningar för att bestämma fysikaliska

Läs mer

Moment Viktiga exempel Övningsuppgifter

Moment Viktiga exempel Övningsuppgifter Moment Viktiga exempel Övningsuppgifter Inga Inga Inga Linjära ekvationssystem Vi har redan tidigare i kursen stött på linjära ekvationssystem. Nu är stunden kommen till en mera systematisk genomgång.

Läs mer

Kursplan Gränssnittsdesign och Webbutveckling 1 Vårtermin 2014

Kursplan Gränssnittsdesign och Webbutveckling 1 Vårtermin 2014 Kursplan Gränssnittsdesign och Webbutveckling 1 Vårtermin 2014 Kurswebb: www.creativerooms.se/edu, välj Gränssnittsdesign eller Webbutveckling 1 Lärare: Aino-Maria Kumpulainen, aino-maria.kumpulainen@it-gymnasiet.se

Läs mer

SVÄNGNINGSTIDEN FÖR EN PENDEL

SVÄNGNINGSTIDEN FÖR EN PENDEL Institutionen för fysik 2012-05-21 Umeå universitet SVÄNGNINGSTIDEN FÖR EN PENDEL SAMMANFATTNING Ändamålet med experimentet är att undersöka den matematiska modellen för en fysikalisk pendel. Vi har mätt

Läs mer

Eulercykel. Kinesiska brevbärarproblemet. Kinesiska brevbärarproblemet: Metod. Kinesiska brevbärarproblemet: Modell. Definition. Definition.

Eulercykel. Kinesiska brevbärarproblemet. Kinesiska brevbärarproblemet: Metod. Kinesiska brevbärarproblemet: Modell. Definition. Definition. Eulercykel Definition En Eulercykel är en cykel som använder varje båge exakt en gång. Definition En nods valens är antalet bågar som ansluter till noden. Kinesiska brevbärarproblemet En brevbärartur är

Läs mer

Lutande torn och kluriga konster!

Lutande torn och kluriga konster! Lutande torn och kluriga konster! Aktiviteter för barn under Vetenskapsfestivalens skolprogram 2001 Innehåll 1 Bygga lutande torn som inte faller 2 2 Om konsten att vinna betingat godis i spel 5 3 Den

Läs mer

TAIU07 Matematiska beräkningar med Matlab

TAIU07 Matematiska beräkningar med Matlab TAIU07 Matematiska beräkningar med Matlab Laboration 3. Linjär algebra Namn: Personnummer: Epost: Namn: Personnummer: Epost: Godkänd den: Sign: Retur: 1 Introduktion 2 En Komet Kometer rör sig enligt ellipsformade

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

Linjärprogramming. EG2205 Föreläsning 7, vårterminen 2015 Mikael Amelin

Linjärprogramming. EG2205 Föreläsning 7, vårterminen 2015 Mikael Amelin Linjärprogramming EG2205 Föreläsning 7, vårterminen 2015 Mikael Amelin 1 Kursmål Formulera korttidsplaneringsproblem för vatten- och värmekraftsystem. 2 Tillämpad matematisk programming Korttidsplanering

Läs mer

Mina listor. En Android-applikation. Rickard Karlsson 2013-06-09. Rickard Karlsson - rk222cu Linnéuniversitet rk222cu@student.lnu.

Mina listor. En Android-applikation. Rickard Karlsson 2013-06-09. Rickard Karlsson - rk222cu Linnéuniversitet rk222cu@student.lnu. Mina listor En Android-applikation Rickard Karlsson 2013-06-09 Rickard Karlsson - rk222cu Linnéuniversitet rk222cu@student.lnu.se Innehållsförteckning 2. Innehållsförteckning 3. Abstrakt 4. Inledning/bakgrund

Läs mer

Optimeringslara = matematik som syftar till att analysera och. Optimeringslara ar en gren av den tillampade matematiken.

Optimeringslara = matematik som syftar till att analysera och. Optimeringslara ar en gren av den tillampade matematiken. Optimal = basta mojliga. Optimeringslara = matematik som syftar till att analysera och nna det basta mojliga. Anvands oftast till att nna ett basta handlingsalternativ i tekniska och ekonomiska beslutsproblem.

Läs mer

Vektorgeometri för gymnasister

Vektorgeometri för gymnasister Vektorgeometri för gymnasister Per-Anders Svensson http://homepage.lnu.se/staff/psvmsi/vektorgeometri/gymnasiet.html Fakulteten för teknik Linnéuniversitetet Areor, vektorprodukter, volymer och determinanter

Läs mer

Högskolan i Skövde (SK, JS) Svensk version Tentamen i matematik Lösningsförslag till del I

Högskolan i Skövde (SK, JS) Svensk version Tentamen i matematik Lösningsförslag till del I Högskolan i Skövde (SK, JS) Svensk version Tentamen i matematik Lösningsförslag till del I Kurs: MA15G Matematisk Analys MA13G Matematisk analys för ingenjörer MA71A Matematik för lärare C, delkurs Matematisk

Läs mer

Googles sidrankning - linjär algebra värt en förmögenhet

Googles sidrankning - linjär algebra värt en förmögenhet Googles sidrankning - linjär algebra värt en förmögenhet Outline 1 Sökmotorer 2 Grafteori Linjär algebra 3 Målet Utifrån användarens sökord lista de mest relevanta webbsidorna. Dessutom i en ordning som

Läs mer

Webbserverprogrammering

Webbserverprogrammering Webbserverprogrammering WES Webbserverprogrammering Ämnet webbserverprogrammering behandlar funktionalitet för webblösningar och samspelet mellan beställare, användare, formgivare och utvecklare. Ämnets

Läs mer

Automatisk textsammanfattning

Automatisk textsammanfattning Språkteknologi 2001-10-14 Nada Kungliga Tekniska högskolan Automatisk textsammanfattning Per Karefelt (d98-pka) Marcus Hjelm (d98-mhj) Sammanfattning (manuell) Denna rapport belyser en del av de problem

Läs mer

Semantic and Physical Modeling and Simulation of Multi-Domain Energy Systems: Gas Turbines and Electrical Power Networks

Semantic and Physical Modeling and Simulation of Multi-Domain Energy Systems: Gas Turbines and Electrical Power Networks DEGREE PROJECT IN ELECTRICAL ENGINEERING, SECOND CYCLE, 30 CREDITS STOCKHOLM, SWEDEN 2017 Semantic and Physical Modeling and Simulation of Multi-Domain Energy Systems: Gas Turbines and Electrical Power

Läs mer

Föreläsning 10. Grafer, Dijkstra och Prim

Föreläsning 10. Grafer, Dijkstra och Prim Föreläsning 10 Grafer, Dijkstra och Prim Föreläsning 10 Grafer Representation av grafer Dijkstras algoritm Implementation av Dijkstras algoritm Minimium spanning tree Broarna i Königsberg, Euler, 17 Grafer

Läs mer

Ansiktsigenkänning med MATLAB

Ansiktsigenkänning med MATLAB Ansiktsigenkänning med MATLAB Avancerad bildbehandling Christoffer Dahl, Johannes Dahlgren, Semone Kallin Clarke, Michaela Ulvhammar 12/2/2012 Sammanfattning Uppgiften som gavs var att skapa ett system

Läs mer

SF1545 Laboration 1 (2015): Optimalt sparande

SF1545 Laboration 1 (2015): Optimalt sparande Avsikten med denna laboration är att: SF1545 Laboration 1 (215: Optimalt sparande - snabbt komma igång med träning på matlabprogrammering (uttnyttja gärna alla schemalagda laborationstillfällen, - lösa

Läs mer

. (2p) 2x + 2y + z = 4 y + 2z = 2 4x + 3y = 6

. (2p) 2x + 2y + z = 4 y + 2z = 2 4x + 3y = 6 Kursen bedöms med betyg, 4, 5 eller underkänd, där 5 är högsta betyg För godkänt betyg krävs minst 4 poäng från uppgifterna -7 Var och en av dessa sju uppgifter kan ge maximalt poäng För var och en av

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

Tentamen i Beräkningsvetenskap II, 5.0 hp,

Tentamen i Beräkningsvetenskap II, 5.0 hp, Uppsala universitet Institutionen för informationsteknologi Teknisk databehandling Tentamen i Beräkningsvetenskap II, 5.0 hp, 2012-03-09 Skrivtid: 14 00 17 00 (OBS! Tre timmars skrivtid!) Hjälpmedel: Bifogat

Läs mer

Konvergens för iterativa metoder

Konvergens för iterativa metoder Konvergens för iterativa metoder 1 Terminologi Iterativa metoder används för att lösa olinjära (och ibland linjära) ekvationssystem numeriskt. De utgår från en startgissning x 0 och ger sedan en följd

Läs mer

Undervisningen i ämnet mobila applikationer ska ge eleverna förutsättningar att utveckla följande:

Undervisningen i ämnet mobila applikationer ska ge eleverna förutsättningar att utveckla följande: MOI Ämnet mobila applikationer behandlar olika tekniker för att utveckla programvara riktad mot mobila enheter samt processen från idé till färdigt program. Ämnet mobila applikationer får bara anordnas

Läs mer

Laboration 1: Optimalt sparande

Laboration 1: Optimalt sparande Avsikten med denna laboration är att: Laboration 1: Optimalt sparande - snabbt komma igång med träning på matlabprogrammering (uttnyttja gärna alla schemalagda laborationstillfällen, - lösa ett optimeringsproblem

Läs mer

Lösningsförslag till övningsuppgifter, del V

Lösningsförslag till övningsuppgifter, del V Lösningsförslag till övningsuppgifter, del V Obs! Preliminär version! Ö.1. (a) Vi kan lösa uppgiften genom att helt enkelt räkna ut avståndet mellan vart och ett av de ( 7 ) = 1 paren. Först noterar vi

Läs mer

BEGREPP HITTILLS FÖRELÄSNING 2 SAMMANSATTA UTTRYCK - SCHEME DATORSPRÅK

BEGREPP HITTILLS FÖRELÄSNING 2 SAMMANSATTA UTTRYCK - SCHEME DATORSPRÅK FÖRELÄSNING 2 Viss repetition av Fö1 Rekursivt fallanalys Rekursiva beskrivningar BEGREPP HITTILLS Konstant, Namn, Procedur/Funktion, LAMBDA, Parameter, Argument, Kropp, Villkor/Rekursion, Funktionsanrop,

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

Numerisk lösning till den tidsberoende Schrödingerekvationen.

Numerisk lösning till den tidsberoende Schrödingerekvationen. Numerisk lösning till den tidsberoende Schrödingerekvationen. Det är enbart i de enklaste fallen t ex när potentialen är sträckvis konstant som vi kan lösa Schrödingerekvationen analytiskt. I andra fall

Läs mer

campus.borlänge Förstudie - Beslutsstöd för operativ tågtrafikstyrning

campus.borlänge Förstudie - Beslutsstöd för operativ tågtrafikstyrning campus.borlänge Förstudie - Beslutsstöd för operativ tågtrafikstyrning En rapport från CATD-projektet, januari-2001 1 2 Förstudie Beslutsstöd för operativ tågtrafikstyrning Bakgrund Bland de grundläggande

Läs mer

TDDC30 Programmering i Java, Datastrukturer och Algoritmer Lektion 5. Laboration 4 Lådplanering Exempel på layout, ett GUI-baserat program Frågor

TDDC30 Programmering i Java, Datastrukturer och Algoritmer Lektion 5. Laboration 4 Lådplanering Exempel på layout, ett GUI-baserat program Frågor TDDC30 Programmering i Java, Datastrukturer och Algoritmer Lektion 5 Laboration 4 Lådplanering Exempel på layout, ett GUI-baserat program Frågor 1 Laboration 5 - Introduktion Syfte: Öva på självständig

Läs mer

Uppdatera Mobilus Professional till version 3.2.1. * Filen MpUpdate.exe får inte köras när du startar denna uppdatering.

Uppdatera Mobilus Professional till version 3.2.1. * Filen MpUpdate.exe får inte köras när du startar denna uppdatering. Uppdatera Mobilus Professional till version 3.2.1 Krav: * Filen MpUpdate.exe får inte köras när du startar denna uppdatering. Mobilus Digital Rehab AB * Filen MP.exe (Mobilus programmet) får inte användas

Läs mer

Hemuppgift 2, SF1861 Optimeringslära för T, VT-10

Hemuppgift 2, SF1861 Optimeringslära för T, VT-10 Hemuppgift 2, SF1861 Optimeringslära för T, VT-1 Kursansvarig: Per Enqvist, tel: 79 6298, penqvist@math.kth.se. Assistenter: Mikael Fallgren, werty@kth.se, Amol Sasane, sasane@math.kth.se. I denna uppgift

Läs mer

EXPERIMENTELLT PROBLEM 2 DUBBELBRYTNING HOS GLIMMER

EXPERIMENTELLT PROBLEM 2 DUBBELBRYTNING HOS GLIMMER EXPERIMENTELLT PROBLEM 2 DUBBELBRYTNING HOS GLIMMER I detta experiment ska du mäta graden av dubbelbrytning hos glimmer (en kristall som ofta används i polariserande optiska komponenter). UTRUSTNING Förutom

Läs mer

Moment 5.5 Övningsuppgifter I 5.60a. 5.60b, 5.60.c, 61

Moment 5.5 Övningsuppgifter I 5.60a. 5.60b, 5.60.c, 61 Moment 5.5 Övningsuppgifter I 5.0a. 5.0b, 5.0.c, 1 Linjära ekvationssystem Vi har redan tidigare i kursen stött på linjära ekvationssystem. Nu är stunden kommen till en mera systematisk genomgång. Kvadratiska

Läs mer

Numerisk Analys, MMG410. Lecture 12. 1/24

Numerisk Analys, MMG410. Lecture 12. 1/24 Numerisk Analys, MMG410. Lecture 12. 1/24 Interpolation För i tiden gällde räknesticka och tabeller. Beräkna 1.244 givet en tabel över y = t, y-värdena är givna med fem siffror, och t = 0,0.01,0.02,...,9.99,10.00.

Läs mer

reella tal x i, x + y = 2 2x + z = 3. Här har vi tre okända x, y och z, och vi ger dessa okända den naturliga

reella tal x i, x + y = 2 2x + z = 3. Här har vi tre okända x, y och z, och vi ger dessa okända den naturliga . Lösningsmängden till homogena ekvationssystem I denna första föreläsning börjar vi med att repetera det grunnläggande begreppet inom linjär algebran. Linjär algebra är studiet av lösningsmängden till

Läs mer

Subtraktion. Räkneregler

Subtraktion. Räkneregler Matriser En matris är en rektangulär tabell av tal, 1 3 17 4 3 2 14 4 0 6 100 2 Om matrisen har m rader och n kolumner så säger vi att matrisen har storlek m n Index Vi indexerar elementen i matrisen genom

Läs mer

Föreläsning 10. Grafer, Dijkstra och Prim

Föreläsning 10. Grafer, Dijkstra och Prim Föreläsning 10 Grafer, Dijkstra och Prim Föreläsning 10 Grafer Representation av grafer Dijkstras algoritm Implementation av Dijkstras algoritm Minimium spanning tree Läsanvisning och uppgifter Broarna

Läs mer

Föreläsning 10. Grafer, Dijkstra och Prim

Föreläsning 10. Grafer, Dijkstra och Prim Föreläsning 10 Grafer, Dijkstra och Prim Föreläsning 10 Grafer Representation av grafer Dijkstras algoritm Implementation av Dijkstras algoritm Minimium spanning tree Läsanvisning och uppgifter Broarna

Läs mer

Vektorgeometri för gymnasister

Vektorgeometri för gymnasister Vektorgeometri för gymnasister Per-Anders Svensson http://homepage.lnu.se/staff/psvmsi/vektorgeometri/gymnasiet.html Fakulteten för teknik Linnéuniversitetet Linjära avbildningar IV Innehåll Nollrum och

Läs mer

Projekt i bildanalys Trafikövervakning

Projekt i bildanalys Trafikövervakning Projekt i danalys Trafikövervakning F 99 F 00 Handledare : Håkan Ardö Hösten 3 vid Lunds Tekniska Högskola Abstract Using traffic surveillance cameras the authorities can get information about the traffic

Läs mer

DFA Design For Assembly

DFA Design For Assembly 2009 DFA Design For Assembly Seminarium I kurs KPP017 på MDH DFA är en metod inom produktutveckling som används för att få fram ett bra system för montering av nya produkter (kan även användas på befintliga

Läs mer

Word-guide Introduktion

Word-guide Introduktion Word-guide Introduktion På det kognitionsvetenskapliga programmet kommer du läsa kurser inom flera olika vetenskapsområden och för varje vetenskapsområde finns ett speciellt sätt att utforma rapporter.

Läs mer

TAIU07 Matematiska beräkningar med Matlab

TAIU07 Matematiska beräkningar med Matlab TAIU07 Matematiska beräkningar med Matlab Laboration 1. Vektorberäkningar Namn: Personnummer: Epost: Namn: Personnummer: Epost: Godkänd den: Sign: Retur: 1 Introduktion I denna övning skall vi träna på

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