Klassificering av homonymer Inlämningsuppgift språkteknologi
|
|
- Ann-Sofie Lundgren
- för 8 år sedan
- Visningar:
Transkript
1 Klassificering av homonymer Inlämningsuppgift språkteknologi Kurskod: DD2418 Författare Gustav Ribom Erik Aalto Kontaktperson Johan Boye
2 Abstract Ordet fil har flera olika betydelser såsom ett verktyg, filmjölk, körfil osv. och tillhör därmed ordkategorin homonymer. Att klassificera dessas betydelser är ett intressant språkteknologiskt problem, för vilket vi prövat både nyckelordsmatchning och två olika maskininlärningsmetoder. I rapporten framgår hur vi gick tillväga för att genomföra vår undersökning. Resultaten från undersökningen pekar på att nyckelordsmatchning, givet en liten mängd data, är den bästa metoden. En trolig anledning till detta är att mängden data vi använde oss av var så pass liten, vilket ger metoderna som använder sig av maskininlärning ett sämre resultat. Innehåll Abstract... 2 Inledning... 3 Metod med motiveringar... 3 Resultat... 4 Slutsats och Diskussion... 5 Referenser... 7 Böcker... 7 Nätreferenser... 7 Bilagor... 8 Nyckelordsprogram... 8 J48-träd
3 Inledning Homonymer är ord som har flera betydelser men samma stavning och uttal, som t.ex. ordet mask vilket kan vara både ett djur och en ansiktsförklädnad. Vi människor förstår nog oftast vilken innebörd en homonym har när det förkommer i en viss kontext. Men inom språkteknologi, t.ex. för programvara som översätter texter från ett språk till ett annat kan homonymer bli ett problem. Därför är undersökandet av olika metoders effektivitet för att hitta homonymers betydelse intressant. Vår frågeställning blev alltså att hitta den metod som ger bäst resultat vid klassificering av homonymer som förekommer i kortare kontexter. För att undersökningen skulle hålla sig inom tidsplanen avgränsade vi vår undersökning till en specifik homonym, ordet fil. Vi bestämde även att vi skulle pröva tre olika metoder. En metod med naiv ansats och två metoder som använder maskininlärning. Metod med motiveringar Vi började med att samla in data. Detta gjordes genom att i Språkbankens korpus 1 söka på ordet fil och ta fram totalt 95 meningar där detta ord förekom. Dessa meningar togs fram på måfå, dvs. detta skedde inte slumpmässigt. Det fanns alltså ingen representativitet av varje betydelse gentemot språkbankens korpus heller. Av dessa 95 meningar valde vi 65 som träningsdata och 30 som testdata. Vi valde medvetet att ha separata tränings- och testmängder för att inte överträna varken nyckelordsmatchningen eller någon av maskininlärningsmetoderna. Här avgränsade vi medvetet mängden data för vår jämförande undersökning för att inte behöva kompromissa med tiden för att analysera resultat. I den naiva ansatsen, vilken byggde på nyckelordsmatchning, valde vi manuellt ut ord ur de 65 meningarna som utgjorde träningsdata som vi tyckte kunde särskilja de olika betydelserna av fil i olika kategorier. 2 Valet av nyckelord var vad vi personligen tyckte verkade relevant. Därefter skrev vi ett enklare java-program 3 som utifrån de olika betydelserna av fil skapade en vektor. För testmeningarna utökade varje förekomst av ett nyckelord, i respektive kategori, meningens vektor med ett i den dimensionen. Ordet frukost var t.ex. en klassificerare för kategorin filmjölk och därmed hade ord såsom frukost, lyxfrukost, frukosthumör och lyxfrukosthumör vardera lagt på ett i dimensionen filmjölk. Varje klassificerande ord kunde med andra ord fungera i form av ordet själv, prefix, suffix och infix. Vi sökte alltså efter delsträngar. Den dimension en mening viktade mest mot fick vara den troligaste betydelsen. Skulle en mening vikta lika mycket mot två eller flera dimensioner klassificerades den som icke-klassificerbar. För att testa homonymers betydelse med hjälp av maskininlärning valde vi att använda oss av Weka som är ett öppet verktyg under GNU GPL med en uppsättning av olika maskininlärningsalgoritmer. 4 Att själva försöka göra ett maskininlärningsprogram hade, givet Se bilaga för kategoriseringen av nyckelord 3 Se bilaga för källkod 4 3
4 vår uppgift, varit orimligt mycket och redundant arbete då Weka redan är ett väl fungerande verktyg. Vi använde oss av maskininlärningsmetoden som kallas supervised machine learning dvs. övervakad maskininlärning. Vi tränade alltså programmet på den träningsmängd som vi manuellt skapat utifrån Språkbankens korpus. För var och en av de 65 träningsmeningarna taggades vilken kategori meningen tillhörde manuellt, och samma för testdata. I Weka klippte vi först in tränings- och testdata i en gemensam fil för att skapa en Bag of Words som gällde för både tränings- och testdata. Sedan lät vi Weka analysera träningsmeningarna efter vald algoritm, för att därefter testa på testmeningarna. Vi använde oss av två olika inlärningsalgoritmer: J48-träd, som är en metod som bygger beslutsträd, och Naïve Bayes vilket är en statistisk metod som bygger på betingade sannolikheter. Anledningen till att vi inte inkluderade oövervakad inlärning utöver de redan beskriva metoderna var att det skulle blivit väldigt komplicerat och vi kände redan till vilka kategorier vår homonym kan tillhöra. Resultat Vi gjorde totalt tre olika undersökningar, två av dessa var baserade på övervakad maskininlärning och en på nyckelordsmatchning. Varje resultat från respektive test vi utförde redovisas på bästa sätt i en så kallad Confusion matrix. Nedan finns matriserna från varje test utritade. I varje ruta syns hur många av ordets riktiga betydelse (rad) som klassificerats som en viss betydelse (kolumn). Detta betyder att de rätta klassificeringar programmet åstadkommit finns längs diagonalen, alltså positionerna (a,a), (b,b) osv. Nyckelordsmatchning Summan från diagonalen i nyckelordmatchningens matris är lika med 17. Detta betyder att programmet klassificerade 17 av 30 ord korrekt. Korrekthetsgrad: 56.7 % J48-träd Det bör noteras att denna algoritm betecknade i stort sett alla ord med betydelsen datafil. Summan av diagonalen är 9. Alltså klassificerades 9 av 30 ord korrekt. Korrekthetsgrad: 30.0 % 4
5 Naïve Bayes Även algoritmen Naïve Bayes betecknade större delen av ord som datafil, men den hade lite bättre spridning än j48-träden. 13 av 30 ord klassificerades korrekt. Korrekthetsgrad: 43.3 % I testerna vi utfört visade det sig att nyckelordsmatchningen klarade att placera flest ord i rätt kategori, och den bästa maskininlärningsmetoden var den som byggde på Naïve Bayes. Slutsats och Diskussion Resultaten vi fått pekar på att nyckelordsmatchning ger en högre korrekhet jämfört med maskininlärning, då testerna utförs med en liten tränings- och testmängd. Naïve Bayes som i detta fall var den bästa maskininlärningsalgoritmen hade en korrekthetsgrad på 43.3% att jämföra med 56.7% för nyckelordsmatchningen. Då ska man även ha i åtanke ordet te som skulle peka på kategorin filmjölk också kan fungera som infix. Exempelvis som en del av ordet material vilket förekom med större frekvens i meningar där fil tillhörde kategorin verktyg. När vi lade till ett mellanslag efter ordet, så att vi fick te istället, ökade korrekthetsgraden till 73.3%. Detta är en markant förbättring jämfört med det tidigare resultatet. En slutsats vi kan dra av detta är att vid nyckelordsmatchning där nyckelord tillåts vara delsträngar bör man akta sig för att använda korta och vanligt förekommande n-gram, såsom bigram och trigram. Det är möjligt att vi kunnat öka nyckelordsmatchningens korrekthetsgrad ännu mer med fler små och enkla modifikationer. En fortsättning, och mer avancerad version, av nyckelordsmatchningen hade varit att stemma eller lemmatisera orden i varje mening innan nyckelordsmatchningen görs. Detta för att slippa problem med delsträngar och kortare n- gram. Att genomföra detta hade dock varit utanför tidsramen för vår uppgift. En annan slutsats som vi kan dra från resultaten är att när man använder små mängder tränings- och testdata, vilket vi använt, ger det bättre resultat att hitta på egna nyckelord än att använda maskininlärning. Det tyder på att när man bara har tillgång små träningsmängder är det ingen vidare idé att använda maskininlärning. Vi vet däremot från t.ex. exemplet med Telias telefonsupport 5 att om man får möjlighet att träna ett bra program på en stor mängd data så kan maskininlärningen ge ett bättre resultat än vad ett program skrivet av experter inom området ger. Detta pekar på att ju mer data som finns tillgänglig att träna ett maskininlärningsprogram på desto bättre resultat blir det. Alltså hade våra resultat från maskininlärningstesterna sannolikt blivit bättre med en större mängd träningsdata. 5 Föreläsning 6, ( ), Johan Boye 5
6 Vi såg också att metoden Naïve Bayes var noterbart mycket bättre än J48-träd på att klassificera ord. I vårt fall var anledningen till detta framförallt att trädet som skapades av algoritmen gav ordet sig, som fanns med i många av meningarna, en pekare mot betydelsen datafil. 6 På grund av detta blev i stort sett alla orden klassade som datafiler och resultatet blev inte bra. Vi valde att utelämna övriga metoder för maskininlärning då Naïve Bayes är bland de bästa metoderna för kategorisering. 7 Intressant är också vilka resultat vi erhållit om vi lagt in en stopplista för att ta bort vanligt förekommande ord, s.k. funktionsord, såsom är, var, i, på, och givet vår lilla mängd träningsdata. Med en större mängd träningsdata hade troligtvis stoppordlistan fått mindre betydelse då de olika stopporden bör förekomma med i stort sett samma frekvens för de olika kategorierna. Skulle stopporden inte förekomma med samma frekvens vore det ju bara bra eftersom det då skulle tyda på särdrag för en specifik kategori. Man kan också argumentera för att våra resultat från maskininlärningsmetoderna hade blivit bättre om vi med samma mängd träningsdata manuellt tagit bort ord som av maskininlärningsalgoritmerna klassats som signifikanta för en viss kategori. Men som vi människor lätt kan se inte är det. Vidare kan man argumentera för att vi med maskininlärning på en större träningsmängd skulle nå kategoriseringsvektorer som konvergerar mot de vektorer vi skulle få om man manuellt tog bort irrelevanta ord. Eller ifall de inte konvergerar mot just dessa skulle de ändå uppnå samma funktion. När en liten mängd testdata tillämpas kan ord bedömas vara relevanta av programmet trots att de inte är det, men dessa försvinner då mängden testdata ökar. Det beror på att de ord som inte är relevanta för homonymens innebörd statistiskt sett inte förekommer ofta tillsammans med homonymen. Alltså återigen, givet vår relativt lilla mängd träningsdata är det troligt att markanta resultatförbättringar uppnås med större mängd data att träna på. Sammanfattningsvis kan sägas att skulle vi stå inför ett nytt klassificeringsproblem av homonymer med endast en mindre mängd träningsdata tillgänglig skulle vi använda oss av nyckelordsmatchning. Men denna gång skulle vi stemma orden i meningarna och matcha mot ordens stammar istället för att söka efter delsträngar. För samma problem med en stor mängd träningsdata är sannolikt att Naïve Bayes skulle ge bäst resultat. 6 Se J48-träd i Bilagor 7 S.154 Tom.M.Mitchell (1997) 6
7 Referenser Johan Boye, Föreläsning i Språkteknologi ( ) Maskininlärning i språkteknologiska applikationer. Böcker Tom.M.Mitchell (1997) Machine Learning McGraw-Hill, USA. Nätreferenser Språkbankens korpus, : Weka, : 7
8 Bilagor Nyckelordsprogram import java.io.*; import java.util.arraylist; import java.util.hashset; import java.util.set; public class FilTest { public static void main(string[] args) throws IOException{ FileInputStream in = new FileInputStream(new File("input.txt")); BufferedReader r = new BufferedReader(new InputStreamReader(in)); ArrayList<Integer> samma = new ArrayList(); String[] filmjolk = {"äta", "smör", "grädde", "mjölk", "fet", "frukost", "ägg", "lite", "smoothie", "keso", "te ", "flingor", "müsli", "äggröra", "kaffe", "juice", "juicer", "yoghurt", "ost", "ostar", "käka", "frukost", "kvällsmat", "skål"; String[] verktyg = {"naglar", "nagel", "garage", "fingrar", "hand", "grov", "finare", "fin", "jämna", "blank", "yta", "händer", "hand", "fila", "fixa", "forma", "trimmade", "sax", "rosa", "tjej", "rakhyveln"; String[] korfalt = {"stänger", "kör", "trafik", "rondell", "taxi", "bil", "olycka", "byt", "buss", "hastighet", "påkörd", "tränga", "gata", "parker", "stanna", "hinder", "sakta", "ombyggnad"; String[] datafil = {"katalog","virus", "heter", "office", "crack", "ny", "skapa", "skriv", "text", "album", "innehåller", "representerar", "smart", "it", "tekniker", "överblick", "anti", "program", "reagerar", "ladda", "upp", "analyseras", "kryssa", "spara", "välj", "kör", "granska", "gps", "lägga", "exportera", "kalender", "höra", "namn", "rapport", "pdf", "mp3", "skicka", "minne", "krascha", "film", "märkt", "installera", "adobe", "flash", "windows", "klicka", "google", "gedit", "mapp", "skapa", "skydd", "internet", "skada", "dator", "klistra", "besök"; String[] titel = {"kand", "lic", "dr", "ledning", "forskare", "universitet", "skrivning", "psykologi", "social", "artikel", "docent", "läkare", "biokemi"; int typ[] = new int[5]; while (r.ready()){ //for(int j=0; j<2; j++){ for(int i=0; i<5; i++){ typ[i]=0; String s = r.readline(); for(string st : filmjolk){ if(s.contains(st)){ typ[0] += 1; for(string st : verktyg){ if(s.contains(st)){ typ[1] += 1; 8
9 for(string st : korfalt){ if(s.contains(st)){ typ[2] += 1; for(string st : datafil){ if(s.contains(st)){ typ[3] += 1; for(string st : titel){ if(s.contains(st)){ typ[4] += 1; /*for(int i=0; i<5; i++){ Set<Integer> unique = new HashSet<Integer>(); unique.add(typ[0]); unique.add(typ[1]); unique.add(typ[2]); unique.add(typ[3]); unique.add(typ[4]); if( unique.size()!= 5){ System.out.println("Kunde inte avgöra vilken betydelse ordet har"); break; if(typ[i] > typ[i+1]){ int temp = i; */ int temp=0; for(int i=0; i<5; i++){ if(typ[i]==temp){//är de två betydelserna lika sannolika föreslår vi båda samma.add(i); else if(typ[i]>temp){//är denna betydelse mer sannolik temp=typ[i]; samma.clear(); samma.add(i); for(int t: samma){ if(t==0){ System.out.print("filmjölk "); else if(t==1){ System.out.print("verktyg "); else if(t==2){ 9
10 System.out.print("körfält "); else if(t==3){ System.out.print("datafil "); else if(t==4){ System.out.print("titel "); System.out.print("har klassificerats för meningen: \" "+s); System.out.println("."); System.out.println("SLUT"); J48-träd 10
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 merAtt 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 merMaskininlä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 merProgrammering med Java. Grunderna. Programspråket Java. Programmering med Java. Källkodsexempel. Java API-exempel In- och utmatning.
Programmering med Java Programmering med Java Programspråket Java Källkodsexempel Källkod Java API-exempel In- och utmatning Grunderna Ann Pan panda@nada.kth.se Rum 1445, plan 4 på Nada 08-7909690 Game.java
Läs merTentamen , Introduktion till Java, dtaa98, dtea53
Mittuniversitetet 2007-09-01 Institutionen för informationsteknologi och medier Sid:1(3) dtaa98, dtea53 Martin Kjellqvist; Linda Karlsson, Ulf Reiman Lösningsansatser Tentamen 2007-09-01, Introduktion
Läs merGrundkurs i programmering, 6 hp (725G61) Dugga 2 tillfälle 2
AID-nummer: Datum: 2014-12-18 Kurskod: 725G61 Provkod: LAB1 Grundkurs i programmering, 6 hp (725G61) Dugga 2 tillfälle 2 Skrivningstid: 2014-12-18 klockan 8.00-10.00. Hjälpmedel: Inga. För varje fråga
Läs merAutomatisk Sentimentklassificering av Twitter-inlägg
[TYPE THE COMPANY NAME] Automatisk Sentimentklassificering av Twitter-inlägg Språkteknologi DD2418 Binxin Su, Christian Davilém 1/8/2013 [Type the abstract of the document here. The abstract is typically
Läs merFöreläsnings 9 - Exceptions, I/O
Föreläsnings 9 - Exceptions, I/O Josef Svenningsson Tisdag 6/11 Undantag - Exceptions Kommer ni ihåg det här programmet? Det var ett av de första ni såg i första föreläsningen. import javax.swing.*; public
Läs merFöreläsning REPETITION & EXTENTA
Föreläsning 18 19 REPETITION & EXTENTA Programmeringsteknik på 45 minuter Klasser och objekt Variabler: attribut, lokala variabler, parametrar Datastrukturer Algoritmer Dessa bilder är inte repetitionsbilder
Läs merTentamen OOP 2015-03-14
Tentamen OOP 2015-03-14 Anvisningar Fråga 1 och 2 besvaras på det särskilt utdelade formuläret. Du får gärna skriva på bägge sidorna av svarsbladen, men påbörja varje uppgift på ett nytt blad. Vid inlämning
Läs merObjektorienterad programmering i Java
Objektorienterad programmering i Java Föreläsning 4 Täcker i stort sett kapitel 6 i kursboken Java Software Solutions 1 Läsanvisningar Den här föreläsningen är uppbyggd som en fortsättning av exemplet
Läs mer4 13 / %.; 8 </" '': " / //&' " " ' * TelefonKostnad +,-%&. #!" $% " &' . > / ' 5 /' * 13/ &' static Math 1+" &'/ % 12 "" static "' * 1 /") %& &
TelefonKostnad static Math static $ & )&* +,-&. 0 +& + & 3 356+573 ) & & 6 3 3 & 3 * 6 3.:; < = 3 = 6 ; < : & >?.;,;@.A@;0,0,? @B0 C,0 > *. > 5 C D & D 5 * &! ; 66C! * C, 0 E,&! 0 F,G0 >: = = C 3 & HI
Läs merString [] argv. Dagens Agenda. Mer om arrayer. Mer om arrayer forts. String [] argv. argv är variabelnamnet. Arrayer och Strängar fortsättning
Dagens Agenda String [] argv String [] argv Arrayer och Strängar fortsättning Booleska operatorer if, for, while satser Introduktion till algoritmer public static void main(string [] argv) argv är variabelnamnet
Läs merLite om felhantering och Exceptions Mer om variabler och parametrar Fält (eng array) och klassen ArrayList.
Institutionen för Datavetenskap Göteborgs universitet HT2009 DIT011 Objektorienterad programvaruutveckling GU (DIT011) Föreläsning 3 Innehåll Lite om felhantering och Exceptions Mer om variabler och parametrar
Läs merJAVAUTVECKLING LEKTION 7
JAVAUTVECKLING LEKTION 7 2016 Mahmud Al Hakim mahmud.al.hakim@nackademin.se www.alhakim.se AGENDA Olika språkversioner (Klassen Locale) Utskrift i kommandofönster Inläsning via kommandofönster Standardklassen
Läs merFöreläsning 14. Filhantering
Föreläsning 14 Filhantering Filhantering Att hantera filer, dvs att läsa eller skriva data till en fil är en viktig del i de flesta program. Ur Javas synvinkel är filer objekt med egenskaper och metoder
Läs merMer källkod. Styrstrukturer Val Slingor Operatorer Källkodsexempel med minne. Erik Forslin. Rum 1445, plan 4 på Nada
Mer källkod Styrstrukturer Val Slingor Operatorer Källkodsexempel med minne Erik Forslin efo@nada.kth.se Rum 1445, plan 4 på Nada 08-7909690 1 Styrstrukturer i Java En styrstruktur är något som påverkar
Läs mer//Använd main som ett "handtag" för att hålla ihop programmet. //Själva programmet finns i övriga klasser.
/*==================================================================== Detta program hör ihop med dokumentet EXEMPEL_AVERAGE_POINTS.PDF där det finns förklaringar. ======================================================================*/
Läs merTENTAMEN PROGRAMMERINGSMETODIK MOMENT 2 - JAVA, 4P
UME UNIVERSITET Datavetenskap 981212 TENTAMEN PROGRAMMERINGSMETODIK MOMENT 2 - JAVA, 4P Datum : 981212 Tid : 9-15 HjŠlpmedel : Inga Antal uppgifter : 9 TotalpoŠng : 60 (halva pošngtalet kršvs normalt fšr
Läs merX-Route Användarmanual Innehåll
X-Route Användarmanual Innehåll Innehåll och Produktspecifikation... 2 X-Route Elektronisk Körjournal Produktspecifikation... 2 Kom igång med X-Route Elektronisk Körjournal... 3 För in Mjukvarunyckel...
Läs merReguljära uttryck. Reguljära uttryck. Nu kommer en siffra78 och en till SIFFRA(78) men utan 7kstuga SIFFRA(89)
Reguljära uttryck Ett sätt att söka och manipulera text Reguljära uttryck Konstruerar mönster som försöker hitta nåt i text Viktigt, användbart, många resurser http://regex.info/ http://etext.lib.virginia.edu/services/helpsheets/unix/regex.html
Läs merInlä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 merRiWiCon Hovslagare. Import från HippoHov. Kontakter, Hästar, Journalposter Version 1.3.x
Sida 1 (8) Import från HippoHov Kontakter, Hästar, Journalposter Version 1.3.x Innehållsförteckning Förutsättningar... 2 Arbetsgång... 3 Placera filerna i en mapp på lämplig disk.... 3 Installera... 3
Läs merTDDC30. Kursledning Kursledare: Jonas Lindgren. Labassistent: Jonas Lindgren Labassistent: Niklas Holma Labassistent: Erik Nilsson
TDDC30 Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 1 Jonas Lindgren, Institutionen för Datavetenskap, LiU På denna föreläsning: Kursinformation Imperativa delen av
Läs merProgrammets startmeny ser ut så här. För att få fram menyerna Avsluta, Inställningar och Användare måste du föra markören upp till det blåa fältet.
Programmets startmeny ser ut så här. För att få fram menyerna Avsluta, Inställningar och Användare måste du föra markören upp till det blåa fältet. Då du klickar på Användare öppnas denna bläddringslista.
Läs merKost och träning Sömn och vila Hälsa
Kost och träning Sömn och vila Hälsa Kost och träning Vi är skapta för att röra på oss, annars bryts musklerna ner. Starkt skelett minskar risken för benbrott och stukade leder. Mat är vår bensin för att
Läs merDagens program. Programmeringsteknik och Matlab. Objektorienterad programmering. Vad är vitsen med att ha både metoder och data i objekten?
Programmeringsteknik och Matlab Övning 4 Dagens program Övningsgrupp 2 (Sal Q22/E32) Johannes Hjorth hjorth@nada.kth.se Rum 4538 på plan 5 i D-huset 08-790 69 02 Kurshemsida: http://www.nada.kth.se/kurser/kth/2d1312
Läs merTaltaggning. 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 merExempel. Arrayer. Lösningen. Ett problem. Arrayer och hakparanteser. Arrayer
Exempel for (int antal=; antal < 75; antal++) System.out.println (antal); Arrayer for (int num=5; num
Läs merClaroDictionary med tal. ClaroDictionary utan tal
ClaroDictionary med tal ClaroDictionary utan tal Manual Artikelnummer 10400 och 10401 1 Innehåll Välkommen till ClaroDictionary...3 ClaroDictionary Översikt...4 ClaroDictionarys verktygsknappar...4 Knappen
Läs merEditering, Kompilering och Exekvering av Javaprogram
UMEÅ UNIVERSITET Institutionen för informatik B.1, Programmeringens grunder, 5 poäng Editering, Kompilering och Exekvering av Javaprogram Introduktion Syftet med kursmomentet Programmeringens grunder (B.1)
Läs merAnmälningskod: Lägg uppgifterna i ordning. Skriv uppgiftsnummer (gäller B-delen) och din kod överst i högra hörnet på alla papper
Tentamen Programmeringsteknik I 2019-03-22 Skrivtid: 14:00 19:00 Tänk på följande Skriv läsligt. Använd inte rödpenna. Skriv bara på framsidan av varje papper. Lägg uppgifterna i ordning. Skriv uppgiftsnummer
Läs merDI-institutionen Sid 1 av 6 Hans-Edy Mårtensson Sten Sundin
DI-institutionen Sid 1 av 6 Hans-Edy Mårtensson Sten Sundin TENTAMEN I IKB007 INTERNETPROGRAMMERING MED JAVA för SY2 1999-03-17, kl 14.00-18.00 Hjälpmedel: En lärobok i Java programmering Återlämningstillfälle:
Läs mer1(15) Bilaga 1. Av Projekt Neuronnätverk, ABB Industrigymnasium, Västerås Vt-05
1(15) Bilaga 1 2(15) Neuronnätslaboration Räknare Denna laboration riktar sig till gymnasieelever som går en teknisk utbildning och som helst har läst digitalteknik samt någon form av styrteknik eller
Läs merOOP Omtenta 2010-03-06 10.00 15.00
Stockholms universitet 1 (6) OOP OOP Omtenta 2010-03-06 10.00 15.00 Avser kurserna: DSK1:OOP GES:OOP ID1013 Anvisningar Påbörja varje ny uppgift på nytt blad. Skriv endast på ena sidan av bladen. Skriv
Läs merTENTAMEN OOP
TENTAMEN OOP 2013-08-08 ANVISNINGAR Påbörja varje ny uppgift på nytt blad. Skriv endast på ena sidan av bladen. Skriv tydligt - oläsbara svar beaktas ej. BETYGSÄTTNING Max antal poäng är 30. För att bli
Läs merDagens program. Programmeringsteknik och Matlab. Viktiga datum. Ett första exempel. Programmall, vad behöver vi i ett javaprogram?
Programmeringsteknik och Matlab Övning 2 Dagens program Övningsgrupp 2 (Sal Q22/E32) Johannes Hjorth hjorth@nada.kth.se Rum 4538 på plan 5 i D-huset 08-790 69 02 Kurshemsida: http://www.nada.kth.se/kurser/kth/2d1312
Läs merKrav: * Filen MpUpdate.exe får inte köras när du startar denna uppdatering.
Uppdatera Mobilus Professional till version 2.0.1 Krav: * Filen MpUpdate.exe får inte köras när du startar denna uppdatering. * Filen MP.exe (Mobilus programmet) får inte användas* under tiden uppdateringen
Läs merInledande programmering med C# (1DV402) Ditt första C#-program med Visual Studio
Ditt första C#-program med Visual Studio Upphovsrätt för detta verk Detta verk är framtaget i anslutning till kursen Inledande programmering med C# vid Linnéuniversitetet. Du får använda detta verk så
Läs merObjektorienterad programmering E. Telefonboken, än en gång. Gränssnitt. Telefonboken med gränssnitt specificerat, del 1.
Objektorienterad programmering E Telefonboken, än en gång Föreläsning 5 Wrapper classes Exempel, histogram. Inldening om undantag. Mer om klassen Påminnelse Vår senaste version bestod av två klasser, bägge
Läs merFöreläsning 3: Abstrakta datastrukturer, kö, stack, lista
Föreläsning 3: Abstrakta datastrukturer, kö, stack, lista Abstrakt stack Abstrakt kö Länkade listor Abstrakta datatyper Det är ofta praktiskt att beskriva vilka operationer man vill kunna göra på sina
Läs merTänk på följande: Det finns en referensbok (Java) hos tentavakten som du får gå fram och läsa men inte ta tillbaka till bänken.
Tentamen Programmeringsteknik I 2015-01-10 Skrivtid: 8.00 13.00 Hjälpmedel: Java-bok Tänk på följande: Det finns en referensbok (Java) hos tentavakten som du får gå fram och läsa men inte ta tillbaka till
Läs merTDDD02 Språkteknologi för informationssökning (2016) Ordpredicering. Marco Kuhlmann Institutionen för datavetenskap
TDDD02 Språkteknologi för informationssökning (2016) Ordpredicering Marco Kuhlmann Institutionen för datavetenskap Ordpredicering Ordpredicering innebär att föreslå eller välja ord i en given kontext.
Läs merFöreläsning 3-4 Innehåll
Föreläsning 3-4 Innehåll Skriva egna metoder Logiska uttryck Algoritm för att beräkna min och max Vektorer Datavetenskap (LTH) Föreläsning 3-4 HT 2017 1 / 36 Diskutera Vad gör programmet programmet? Föreslå
Läs mer25. Hämta Adobe Reader
25. Hämta Adobe Reader version 2006-03-01 25.1 25. Hämta Adobe Reader Den här dokumentationen beskriver hur man hämtar programmet Adobe Reader från Internet. Internet. Observera att bilderna är exempel
Läs merTentamen , Grundläggande programmering i Java
Institutionen för informationsteknologi och medier Sid:1(3) Grundläggande programmering i Java Martin Kjellqvist Lösningsförslag, lösningsansatser Tentamen 2006-01-20, Grundläggande programmering i Java
Läs merMiljön i Windows Vista
1 Miljön i Windows Vista Windows Aero Windows Aero (Aero Glass), som det nya utseendet eller gränssnittet heter i Vista, påminner mycket om glas och har en snygg genomskinlig design. Det är enklare att
Läs merInstallationsanvisning för Su Officemallar 2013 För PC
1 (9) INSTALLATIONSANVISNING MS Office 2013 - Windows 2013-11-26 Installationsanvisning för Su Officemallar 2013 För PC Word och PowerPoint Innehållsförteckning Var hittar jag Su Officemallar?... 2 Är
Läs merFÖRSLAG TILL LÖSNINGAR, TENTAMEN I IKB007 INTERNETPROGRAMMERING MED JAVA, 5p för SY2, , kl
Högskolan Dalarna sid 1 av 5 DI-institutionen Hans-Edy Mårtensson Sten Sundin FÖRSLAG TILL LÖSNINGAR, TENTAMEN I IKB007 INTERNETPROGRAMMERING MED JAVA, 5p för SY2, 2001-04-28, kl 09.00-13.00 1. Grunderna
Läs merAtt skriva till och läsa från terminalfönstret
Att skriva till och läsa från terminalfönstret Oftast används grafiska komponenter i Java för att kommunicera med användaren (användargränssnitt), men det finns objekt i standardbiblioteken för de tillfällen
Läs merGrä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 merMin sida = startsida där du ser eventuelle vänner, meddelanden med mera. Här kan du även redigera din egen profil.
Basetool version 3 Genom att lägga in information om ditt företag/verksamhet i Basetool syns du automatiskt på vastgotalandet.se, skaraborg.nu, vastergotland.se och vastsverige.com Webbadress: www.basetool.se
Läs merLö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 merGrundläggande programmering DVG A08 & ISG A04. Allmän information. Å vem är jag då. Karlstads Universitet, Johan Öfverberg 1
Grundläggande programmering DVG A08 & ISG A04 Allmän information Grupp C och D slås ihop Schemat är ändrat Kurs i programmering utan förkunskaper Hjälp oss med detta Lita inte på era klasskamrater De ställer
Läs merObjektorientering. Objekt och metoder. Objektorientering. Viktiga begrepp. Klass. Objekt. Deklarativ programmering
och metoder Introduktion till objektorienterad programmering Markus Saers markus.saers@lingfil.uu.se orientering Deklarativ programmering Beskriver förutsättningarna för något Prolog Imperativ programmering
Läs merhttp://www.sm.luth.se/~andreas/info/howtosearch/index.html
& ' ( ( ) * +, ', -. / ' 0! 1 " 2 # 3 / /! 1 $ 4, % 5 # 3, http://www.sm.luth.se/~andreas/info/howtosearch/index.html Andreas Tips och trix till sökningar i Cyberrymnden Här försöker jag att gå igenom
Läs merFöreläsning 7. DD2390 Internetprogrammering 6 hp
Föreläsning 7 DD2390 Internetprogrammering 6 hp Innehåll Krypteringsöversikt (PKI) Java Secure Socket Extension (JSSE) Säkerhetsproblem 1. Vem är det man kommunicerar med Autentisering 2. Data kan avläsas
Läs merOOP Tenta
Stockholms universitet sid 1 OOP OOP Tenta 2012-01-14 10.00 15.00 Avser kurserna DSK1:OOP och GES:OOP Anvisningar Påbörja varje ny uppgift på nytt blad. Skriv endast på ena sidan av bladen. Skriv tydligt
Läs merLösningsförslag till tentamen i EDA011, lördagen den 16 december 2006
Lösningsförslag till tentamen i EDA011, lördagen den 16 december 2006 Detta lösningsförslag är skrivet i stor hast, så det är möjligt att det innehåller en del slarvfel jag ber i så fall om ursäkt för
Läs merDel A (obligatorisk för alla)
Del A (obligatorisk för alla) A1. Ringa in rätt svarsalternativ eller skriv svar i ruta om sådan a) Vad blir resultatet av följande kod? b) Satsen double h = (double)(1/10); double s = 0; for (int i= 1;
Läs merGrundläggande programmering, STS 1, VT Sven Sandberg. Föreläsning 12
Grundläggande programmering, STS 1, VT 2007. Sven Sandberg Föreläsning 12 I torsdags: Klassen TelefonKostnad Exemplifierar objektorienterad design, metoder, konstruktorer static Standardklassen Math Matematiska
Läs merStatistisk 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 merSortering. Om du följt dessa steg korrekt så ska böckerna nu vara sorterade.
Sortering Den sorteringsalgoritm som vi använder oss kallas selection sort (urvalssortering) och är en av många existerande sorteringsalgoritmer. Dess funktionssätt beskrivs kanske bäst genom ett konkret
Läs merObjektorienterad Programkonstruktion, DD1346 FACIT. Tentamen 20150613, kl. 9.00-12.00
Skolan för datavetenskap och kommunikation Objektorienterad Programkonstruktion, DD1346 FACIT Tentamen 20150613, kl. 9.00-12.00 Tillåtna hjälpmedel: Papper, penna och radergummi. Notera: Frågorna i del
Läs mer725G61 - Laboration 2 Loopar och arrayer. Johan Falkenjack
725G61 - Laboration 2 Loopar och arrayer Johan Falkenjack October 29, 2013 1 Inledning I labb 1 lärde vi oss om de primitiva datatyperna (och lite om String). Vi lärde oss också att använda variabler av
Läs merKompilering och exekvering. Föreläsning 1 Objektorienterad programmering DD1332. En kompilerbar och körbar java-kod. Kompilering och exekvering
Föreläsning 1 Objektorienterad programmering DD1332 Introduktion till Java Kompilering, exekvering, variabler, styrstrukturer Kompilering och exekvering Ett program måste översättas till datorns språk
Läs merTentamen DE12, IMIT12, SYST12, ITEK11 (även öppen för övriga)
Grundläggande programmering med C# Provmoment: Ladokkod: Tentamen ges för: 7,5 högskolepoäng TEN1 NGC011 Tentamen DE12, IMIT12, SYST12, ITEK11 (även öppen för övriga) (Ifylles av student) (Ifylles av student)
Läs merLösningar för tenta 2 DAT043,
Lösningar för tenta 2 DAT043, 2018-06-08. Uppgift 1 public class Car{ private String model; private String year; private double price; public Car(String model, String year, double price){ this.model =
Läs merInstallationsmanual OpenOffice 3.0
Installationsmanual OpenOffice 3.0 Ursprungligen skapad av Georg Bredberg 2003-03-27 för OpenOffice 1.0 Uppdaterad och kortad 2009-01-07 för OpenOffice 3.0 av Folkbildningsnätets Fria Programvarugrupp
Läs merKapitel 6. Hakparenteser fšr att ange index MŒnga všrden av samma typ
Organisation En array Šr en ordnad lista av všrden Varje všrde har ett numeriskt index - deklaration & anvšndning som parametrar flerdimensionella fšlt N element indexeras med 0 till N-1 0 1 2 3 4 5 6
Läs merInstruktioner för studenter
Instruktioner för studenter publicera studentuppsatser/examensarbeten DiVA Gör så här: 1. Logga in i DiVA https://hig.diva-portal.org/dream med ditt HiG-användarnamn och lösenord. 2. Välj publikationstyp:
Läs mer1 Uppgift 1. a) Skapar ett Company-objekt med hjälp av den överlagrade konstruktorn. Du kan själv välja värden på instansvariablerna.
1 Uppgift 1 Klassen Company Banken FinanceTrust som tidigare bara haft privatpersoner som kunder vill nu bygga ut sitt datasystem så att även företag kan registreras som kunder. Skriv klassen Company som
Läs merEtt problem. Kontrollstrukturer och arrayer. Arrayer. Lösningen. Arrayer och hakparanteser. Exempel int[] results; results = new int[10]; // 0..
Ett problem Kontrollstrukturer och er Hur sparas data T ex när man vill spara resultaten av en tävling Exempel med 3 deltagare: public class Competition private int result1; private int result2; private
Läs merTentamen, EDAA20/EDA501 Programmering
LUNDS TEKNISKA HÖGSKOLA 1(4) Institutionen för datavetenskap Tentamen, EDAA20/EDA501 Programmering 2011 10 19, 8.00 13.00 Anvisningar: Denna tentamen består av fem uppgifter. Preliminärt ger uppgifterna
Läs merInstallera Anaconda Python
Maskininlärning Installera Anaconda Python Nummergisslek Vi ska bygga ett litet program, RIDER, som ska gissa vilket nummer som du tänker på. Reglerna är att du tänker på ett heltal mellan 1 och 100. RIDER
Läs merTentamen i Objektorienterad programmering
CHALMERS TEKNISKA HÖGSKOLA Datavetenskap TDA547 Tentamen i Objektorienterad programmering Lördagen 12 mars 2011, 8.30 12.30. Jourhavande lärare: Björn von Sydow, tel 0762/981014. Inga hjälpmedel. Lösningar
Läs merDatorlaboration Avbildningskvalitet
Datorlaboration Avbildningskvalitet Datorlaborationenen äger rum i datorsal RB33, Roslagstullsbacken 33 (gula huset närmast busshållplatsen utanför Albanova). Den börjar kl 13.00 (utan kvart). Om möjligt
Läs merCommand line argumenter. Objektorienterad Programmering (TDDC77) Vad blir resultatet? Nu då? Ahmed Rezine. Hösttermin 2016
Command line argumenter Objektorienterad Programmering (TDDC77) Föreläsning VI: eclipse, felsökning, felhantering Ahmed Rezine IDA, Linköpings Universitet Hösttermin 2016 /* Cla. java * Programmet illustrerar
Läs merObjektorienterad Programmering (TDDC77)
Objektorienterad Programmering (TDDC77) Föreläsning VI: eclipse, felsökning, felhantering Ahmed Rezine IDA, Linköpings Universitet Hösttermin 2016 Outline Felhantering Eclipse Felsökning Command line argumenter
Läs merDel 2 INTERNET I VARDAGEN. 14. Hämta program på Internet... 46 15. Sköta affärer på Internet... 51 16. Användbara sidor (för nytta och nöje)...
Helen Hermundstad Anna Östlund GRUNDLÄGGANDE IT FÖR SENIORER Del 2 INTERNET I VARDAGEN 14. Hämta program på Internet... 46 15. Sköta affärer på Internet... 51 16. Användbara sidor (för nytta och nöje)...
Läs merParsing med Recursive Descent, Avbildningsklasser. Syntaxdiagram. Syntaxdiagram och kodning expression. Betrakta följande uttryck
Betrakta följande uttryck a +(b + c) d + e (f + g h) Parsing med Recursive Descent, Avbildningsklasser Tobias Wrigstad (baserat på bilder från Tom Smedsaas) 22 november 2010 Beräkning med regler: multiplikation
Läs merJAVAUTVECKLING LEKTION 4
JAVAUTVECKLING LEKTION 4 2016 Mahmud Al Hakim mahmud.al.hakim@nackademin.se www.alhakim.se AGENDA Iterationer (loopar) Algoritmer Mer om felsökning 1 WHILE-SATSEN String s = JOptionPane.showInputDialog("Talet
Läs merTentamen på kursen DA7351, Programmering 1. 051102, kl 08.15-12.15. Malmö högskola Teknik och samhälle. DA7351, Programmering 1 1 051102
Tentamen på kursen DA7351, Programmering 1 051102, kl 08.15-12.15 Tillåtna hjälpmedel: Valfri bok om Java. Vid bedömning av lösningarna tas hänsyn till om dessa uppfyller de krav på programkvalitet (strukturering,
Läs merMalmö högskola 2007/2008 Teknik och samhälle
Laboration 8 Avsikten med denna laboration är att du lära dig skapa objekt med hjälp av klasser. Detta är en introduktion till ett objektorienterat tankesätt. Med hjälp av detta tankesätt kan du så småningom
Läs merArrayer. results
Arrayer 85 Arrayer Deklarerar utrymme för många variabler i en enda deklaration Array (fält) Varje värde har ett numeriskt index i Java indexeras en array med N element med indexen till N-1 Exempel: 1
Läs merRevisionshistorik HandiTools 2.4
Revisionshistorik HandiTools 2.4 Version 2.4.11 Utfört 2012-01-10 Bugfix. Nu fungerar Bläddra bild i Windows XP och Vista. Bugfix. Den ändring av betyg för Ja/Nej-formulär som gjordes i v2.4.10 har nu
Läs merSLUNIK manual. SLUNIK version 2 2010-08-03
SLUNIK manual SLUNIK version 2 2010-08-03 Innehåll SLUNIK...1 Kursledare... 1 Lärare... 1 LOGGA IN... 1 Hjälp, inloggning... 2 Välj kurs att administrera... 2 Om du inte ser din kurs i listan... 3 Filtrera
Läs merFö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 merDagens text. Programmeringsteknik. Mer om Scanner-klassen. Dialogrutor (klassen JOptionPane) Bubbelsortering. Omslagsklasser.
(16 februari 2016 F5.1 ) Dagens text Programmeringsteknik Mer om Scanner-klassen Dialogrutor (klassen JOptionPane) Bubbelsortering ArrayList Omslagsklasser Arbetsexempel (16 februari 2016 F5.2 ) Pokertärningar
Läs merProjektion 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 merHej Då, Karel! Programmering. Vårt första Javaprogram. hh.se/db2004. Java. Grundtyper, variabler och arrayer
Programmering hh.se/db2004 Föreläsning 3: Java. Grundtyper, variabler och arrayer Hej Då, Karel! Verónica Gaspes www2.hh.se/staff/vero www2.hh.se/staff/vero/programmering Center for Research on Embedded
Läs merTentamen. Lösningsförslag
Sida 1/8 Tentamen Grundläggande programmering i Java A 5p, DTAA32 2002-03-22 Lösningsförslag Uppgift 1 ( 3p ) Utskriften blir: Skriv in ett tal 24 47 48 intal=471 Uppgift 2 ( 6p ) a.) b.) c.) d.) e.) falskt
Läs merLathund Claro Read Plus
Lathund Claro Read Plus Innehållsförteckning LathundWord Read Plus V 5...1 Innehållsförteckning...1 Starta... 2 Knappbeskrivning... 2 Börja läsa... 2 Börja skriva... 2 Knapp 8 Inställningar... 3 Knapp
Läs merFÖRSLAG TILL LÖSNINGAR FÖR TENTAMEN I INTERNETPROGRAMMERING MED JAVA, 5p för SY , kl
Högskolan Dalarna sid 1 av 6 DI-institutionen Hans-Edy Mårtensson Sten Sundin FÖRSLAG TILL LÖSNINGAR FÖR TENTAMEN I INTERNETPROGRAMMERING MED JAVA, 5p för SY2 2001-03-16, kl 14.00-18.00 1. Grunderna i
Läs merLaboration 13, Arrayer och objekt
Laboration 13, Arrayer och objekt Avsikten med denna laboration är att du ska träna på att använda arrayer. Skapa paketet laboration13 i ditt laborationsprojekt innan du fortsätter med laborationen. Uppgift
Läs merUppgiften är att beskriva en kvadrat i ett Java program. En första version av programmet skulle kunna se ut så här:
Att skapa en klass kvadrat Uppgiften är att beskriva en kvadrat i ett Java program. En första version av programmet skulle kunna se ut så här: public class Kvadrat { private int sida; Det var väl inte
Läs merSå här funkar Föreningsliv
Så här funkar Föreningsliv Logga in Logga in på den adress du fått skickat till dig via mail. Använd det lösenord och användarnamn som du tilldelats. Kom alltid ihåg att logga ut när du skrivit färdigt,
Läs merDugga i Grundläggande programmering STS, åk
Grundläggande programmering, STS 1 14 maj 2007 Sida 1/11 Dugga i Grundläggande programmering STS, åk 1 2007-05-14 Skrivtid: 13:00 16:00 Hjälpmedel: Inga Lärare: Sven Sandberg besöker duggan ca 13:45. Tel.
Läs merSORSELE KOMMUN. Handbok OEW. 28 sept 2012 Mari-Anne Englund Barbro Olofsson. Sorsele kommun Version 2012-09-28, rev 131101 1 (19)
Handbok i OEW 28 sept 2012 Mari-Anne Englund Barbro Olofsson Sorsele kommun Version 2012-09-28, rev 131101 1 (19) Använd det användarnamn och lösenord som du fått. Fungerar det inte hör av dig till Mari-Anne
Läs mer