RoboLinguistics. Ett textförståelseprogram. Henrik Palmér, d01hp
|
|
- Margareta Martinsson
- för 6 år sedan
- Visningar:
Transkript
1 RoboLinguistics Ett textförståelseprogram Henrik Palmér, d01hp
2
3 Inledning För att styra robotar räcker det inte att som i science-fictionfilmer bara säga till dem vad de ska göra. De största kraftansträngningarna inom AI för industrirobotar har inte lagts på att utveckla ett begripligt användargränssnt gentemot dem, utan snarare på deras funktion. Det har gjort att vi nu ster här med flexibla robotar som fungerar mycket bra så länge de ska utföra sina förprogrammerade arbetsmoment, men som ofta kräver en tekniker för att programmeras om. RoboLinguistics är ett försök att komma förbi detta. Tanken med programmet är att man ska kunna instruera roboten på naturlig engelska. För att göra detta möjligt måste programmet inte bara kunna grammatiskt strukturera meningar med olika uppbyggnad, utan även kunna lösa koreferens och slutligen förstå vad olika kommandon betyder rent praktiskt. Programmoment Programmet är uppdelat i olika moment som är ansvariga för olika delar av textbehandlingen. Först skapar Charniaks parser ett träd av satsdelar som beskriver meningen grammatiskt. Detta är nödvändigt för att det andra delmomentet ska fungera. Den semantiska modulen söker upp agenter, predikat och deras argument. Slutligen bearbetar den del av RoboLinguistics som jag har skriv denna lista och finner verb roboten är programmerad att känna igen. För verbgrupper där dessa ingår går programmet igenom alla argument och jämför dem med dem som tidigare nämnts för att förstå vilka de är. Den semantiska modulen Det den semantiska modulen finner de olika predikaten i utdatan från charniakparsern. För varje predikat söker den sedan efter agenten och argumenten. När den funn argumenten måste den dessutom klassificera dem, så att agenter och direkta objekt får rätt etiketter. Till sin hjälp har den PropBank, ett corpus på många tusen ord, där olika betydelser av verb och deras argument finns utmärkta. Innan denna modul kan användas måste den instrueras vilka predikat den ska söka efter. Därför kommer okända verb att helt ignoreras av RoboLinguistics. Utdatan från den semantiska modulen är ett meningsträd. Detta innehåller element med en klassificering, pekare till var i texten de förekommer samt signaturträd i de fall de är argument till verb. Detta program hanterar två sorters signaturträd: substantivgrupper och preposioner. En substantivgrupp har som rot huvudordet i gruppen och dess satsdel: the red ball kommer till exempel att ha NP/ball/NN som rot. Denna beteckning innebär att signaturträdet är en substantivgrupp (NP) och ball är ett substantiv i singular (NN). Ett signaturträd kan också vara en samling av flera signaturträd. Detta sker vid konjunktioner som the red ball and the blue ball och relationer som the book on the shelf. I det senare fallet kommer det andra underträdet vara av typen preposion. Dessa har som underträd signaturträdet för substantivet, i fallet från den föregående meningen the shelf. Som rot kommer denna att ha PP/on/IN. Textförståelsedelen Trots att texten nu delats upp i sina verbgrupper och argumenten till verben till stor del har identifierats är datan ännu inte redo för roboten. För det första är datan i utdatastrukturen i princip bara text, och för det andra är ingen koreferens ännu löst. Utdata från textförståelsedelen är en lista av kommandon, som put, drill och remove, som alla har varierande antal argument och en lista på alla enteter som nämnts i texten. Det första programmet gör är att gå igenom listan som den semantiska modulen skapat. Denna 1
4 kommer normalt att bestå av en rad argument följd av ett verb. Argument Argument som RoboLinguistics förstår är de som kallas An i PropBank (där n är ett nummer). När dessa dyker upp läggs deras signaturträd i en hashtabell med argumentnamnet som nyckel. Denna hashtabell är unik för varje verb. Verb Textförståelsedelen representerar all kommandon den känner till med klasser. Till exempel representeras verben get och take av klassen Get. Innan ett kommando kan användas av programmet måste systemet få reda på att det existerar. Detta görs genom att lägga till en referens till deras klass tillsammans med namnet på verbet i en hashtabell. Varje klass kan därför kopplas till flera verb. RoboLinguistics söker upp vilken klass som är kopplad till det aktuella verbet. Om ingen htas genereras ett felmeddelande och all vidare bearbetning av detta verb och dess argument avbryts, annars skickas namnet på verbet, hashtabellen med argument och listan på tidigare nämnda enteter till konstruktorn med hjälp av Java-reflektion. Vad som sedan händer beror på vilket kommando det handlar om. De mest komplicerade som är med i RoboLinguistics för tillfället är de som tar två argument: direkta objekt och platser, som är preposioner följda av substantivgrupper. Kommandot remove tillsammans med några andra gör detta. Först tar kontruktorn reda på signaturträderna för det direkt objektet och för platsen. Om den finner båda dessa innebär det att den semantiska modulen fungerat felfrt. Detta sker dock sällan för mer komplicerade substantivgrupper med både adjektiv och preposioner, för vilka både objekt och plats hamnar som samma argument. I dessa fall försöker kontruktorn bryta upp objektargumentet i en del före preposionen och en med preposionen och dess substantivgrupp. Konstruktorn försöker sedan lösa koreferenser för att komma fram till vilka enteter som ska läggas i dess argumentlista. För argument som kan vara olika preposioner, som till exempel put on och put into skapas en instans av en underklass till Preposion, som innehåller en referens till en entet och en specifikation, men om preposionen är entydig läggs bara enteten till för enkelhets skull. Vad som görs bestäms entydigt av kommandot. Koreferens Att lösa koreferenser är RoboLinguistics största utmaning. Klassen som har hand om detta är EntyContainer. Denna upprätthåller en lista över alla enteter som någonsin nämnts. Enteter representeras av klassen Enty med attribut för med vilken signaturträd den introducerades, vid vilka andra signaturträder den benämnts och som vilket argumentnummer den senast förekom, eller dess underklasser RelationalEnty, som är substantivgrupper som the lid of the box eller the book on the table med attribut för vilken entet den är relaterad till och hur, och MultipleEnties, som är uppräkningar av flera substantiv, som the small gerbil and the brown hamster. Om alla substantiv i uppräkningen har samma huvudord sätts signaturträden för enteten till plural för detta. Vad plural av detta ord är bestäms genom att det först jämförs med ord som helt förändras, som index/indice. Om ordet inte finns i denna lista jämförs det med ord som får en förändrad ändelse, som cactus/cactii eller box/boxes. Om det inte återfinns här heller läggs helt enkelt ett s till slutet. För att komma runt problemet att den semantiska modulen inte alltid lyckas hta platsargument har en förenkling gjorts i MultipleEnties; om en uppräkning av enteter slutar med en RelationalEnty antas alla enteter i uppräkningen vara av samma klass och med samma relation. Detta innebär att the lid and the contents of the box förstår som the lid of the box and the bottom of the box, men också att the lid of the box and book on the table förstås som the lid on the table and the book on the table. 2
5 EntyContainer har en metod findenty() som tar som parameter en signaturträd och vilket argument till ett kommando denna har. Därefter skapas en lista av enteter baserad på denna. Om signaturträden inte är en konjunktion av substantivgrupper kommer listan bara att innehålla ett element. Dessa element jämförs sedan med de redan existerande enteterna. Om signaturträden för enteten är ett pronomen jämförs först numerus för de olika enteterna. Om dessa stämmer ges en grundpoäng som sedan ökas beroende på om den existerande enteten någon gång tidigare benämnts vid detta pronomen och i så fall hur länge sedan. Detta behövs för meningar som den i Exempel 1, där det sista kommandot annars skulle ha bliv glue the screw to the small box. När denna poäng slutligen räknats ut divideras den med ett tal i storleksordningen av det argumentnummer den existerande enteten tidigare var. Detta görs eftersom programmet antar att ett pronomen oftare refererar tillbaka till ett direkt objekt än platsargument. Utan detta hade det andra kommando i Exempel 1 bliv put a screw in the big box. Om signaturträden istället är en substantivgrupp jämförs först dess huvudord med dem för de redan kända enteterna. Om dessa stämmer jämförs varje ord av typen substantiv och adjektiv i den kortaste signaturträden med alla ord i den längre. För varje matchande ord ökas den totala poängen, medan den minskas för varje ord som inte återfinns i den längre listan. Därefter delas poängen med antalet jämförda ord. Om båda enteterna är relationsenteter jämförs även dessa, och utfallet av denna jämförelse får större vikt än den tidigare, eftersom programmet måste se skillnad på the big red lid of the box och the big red lid of the coffin. Slutligen delas poängen med ett tal i storleksordningen roten av avståndet i enteter mellan den nyskapade enteten och den tidigare kända. Om ingen tidigare entets poäng överstiger ett tröskelvärde behålls den nyskapade enteten och läggs först i listan på kända enteter, annars läggs istället den matchande enteten först. På så sätt ligger alltid den senast nämnda enteten först. I de fall då den semantiska modulen inte funn ett platsargument och istället slag ihop det med objektargumentet uppstår ett problem; istället för att skapa en entet och ett preposionsobjekt skapas istället en relationsentet, och roboten kommer att tro att den ska ta boken från hyllan och inte ta boken från hyllan. För att råda bot på detta finns möjligheten att bryta upp en relationsentet till en enkel entet och en signaturträd som beskriver relationen. Detta görs i kontruktorerna till vissa kommandon om vissa villkor uppfylls. För det första måste relationen vara den senast introducerade enteten. Om the book on the shelf redan nämnts kan det inte handla om att lägga boken på hyllan. För det andra måste relationen vara av en typ som är vettig för kommandot. För kommandot open är till exempel relationen the door wh the key vettig. Framtida utvidgningar Det stora felet med koreferenslösningen är att konjunktionera av relationer begränsas till att vara relationer till samma entet, och detta måste åtgärdas i kommande versioner av programmet. Jag har medvetet valt att göra programmet så le beroende av de underliggande modulerna som möjligt. Det innebär att förutom att dela upp relationer försöker det inte att korrigera misstag från charniakparsern eller den semantiska modulen. Det är härifrån i princip alla felaktiga tolkningar kommer. Till exempel lyckas programmet inte se sambandet mellan the prickly cactus and the tall cactus och the cactii eftersom charniakparsern tror att the cactii är singular. Programmet antar att varje verb som förekommer i texten är en uppmaning. Detta anser jag vara ett rimligt antagande, eftersom poängen med det är just att finna kommandon i en löpande text. Alternativet vore att ignorera verb som inte är uppmaningar, men det skulle leda till att information från texten gick förlorad. Detta leder dock till fel som i Exempel 3. De fel som stammar från det sista steget beror till största delen på att enteterna bara minns hur de benämnts och vilka roller de spelat och inte till vilka verb de spelat dessa roller. Detta illustreras av Exempel 4. För att lösa detta måste den modularet där det är lätt att lägga till nya kommandon 3
6 ge vika för ett system där kommandon känner till varandra och vet hur de ska förhålla sig till varandras argument. I denna övervägning priorerar jag enkelhet. Något som däremot måste läggas till om programmet ska få någon nytta är en databas med objekt tillgängliga för roboten. I nuläget representeras kommandon av klasser som är kopplade till en handling, medan enteterna bara beskrivs av strängar. Appendix Exempel 1 Remove the lid from the big box and put a screw in, and then glue to the small box. remove the lid (E1) from the big box (E2). put a screw (E3) in the lid (E1). glue the lid (E1) to the small box (E4). the lid (E1) the lid the small box (E4) the small box a screw (E3) a screw the big box (E2) the big box Exempel 2 Open the big box and remove a screw from. Put the screw in the center of the lid of the box and place the lid on the box. Please glue a handle to the lid of the small box. Open the small box and put an apple in and then close the box. I detta exempel finns specificeraren in the center i den andra meningen. I det tredje kommandot har därför the center inte något ID; det existerar inte som en entet. Den tredje meningen dyker inte upp överhuvudtaget, vilket beror på att charniakparsern felaktigt identifierat glue som ett substantiv: (S1 (S (NP (NN Glue)) (DT a) (VP (VB handle) (PP (TO to) (NP (NP (DT the) (NN lid)) (PP (IN of) (NP (DT the) (JJ small) (NN box)))))) (..))). open the big box (E1). remove a screw (E2) from the big box (E1). put a screw (E2) in the center of the lid (E3) of the big box (E1). put the lid (E3) of the big box (E1) on the big box (E1). open the small box (E4). put an apple (E5) in the small box (E4). close the small box (E4). the small box (E4) the box the small box an apple (E5) 4
7 an apple the lid (E3) of the big box (E1) the lid the big box (E1) the box the big box a screw (E2) the screw a screw Exempel 3 He opened the door. open the door (E1). the door (E1) the door Exempel 4 Open the box wh the key and then open the door wh. I detta exempel illustreras hur programmet förvirras av grammatiska konstruktioner som en människa lätt genomskådar. Eftersom systemet inte känner till att man vanligtvis öppnar saker med nycklar och inte lådor säger dess regler åt den att välja lådan som instrument för att öppna dörren. open the box (E2) wh the key (E1). open the door (E3) wh the box (E2). the door (E3) the door the box (E2) the box the key (E1) the key 5
MÅL OCH BETYGSKRITERIER I SVENSKA
MÅL OCH BETYGSKRITERIER I SVENSKA MÅL ATT UPPNÅ I ÅR 7 Delta i samtal samt lyssna på andra Redovisa ett arbete muntligt utifrån stödord om något man sett, läst, hört eller upplevt Kunna läsa och tillgodogöra
Hemtentamen HT13 Inlämning senast Lärare: Tora Hedin
Hemtentamen HT13 Inlämning senast 131108 Lärare: Tora Hedin Arbetet skall vara skrivet på dator och skickas in i elektronisk form till mig senast torsdagen den 8 november 2013. Dokumentets format ska vara
Arv. Fundamental objekt-orienterad teknik. arv i Java modifieraren protected Lägga till och modifiera metoder med hjälp av arv Klass hierarkier
Arv Fundamental objekt-orienterad teknik arv i Java modifieraren protected Lägga till och modifiera metoder med hjälp av arv Klass hierarkier Programmeringsmetodik -Java 165 Grafisk respresentation: Arv
Labb LABB 1. Databassagan och en rundtur i databasers märkliga värld. Plushögskolan Frågeutveckling inom MSSQL - SU14
Labb LABB 1 Databassagan och en rundtur i databasers märkliga värld Plushögskolan Frågeutveckling inom MSSQL - SU14 I Microsoft SQL-Server Management Studio kan man arbeta på olika sätt. Antingen via användargränssnittet
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
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
Labbrapport Svantes Bageri
01.04.2010 Umeå Universitet Applikationsprogrammering i python 7,5 hp Sara Vilhelmsson kv08 Daniel Rodén kv08 Simon Hultin kv08 Labbrapport Svantes Bageri Inledning Det är aldrig enkelt för ett företag
Testning av program. Verklig modell för programutveckling
Fel i program När man skriver program uppkommer alltid fel. Felen kan indelas i följande kategorier: Under kompileringen upptäcker kompilatorn fel som handlar om att man använt konstruktionerna i programspråket
Lexikon: ordbildning och lexikalisering
Svenskan i tvärspråkligt perspektiv Lexikon: ordbildning och lexikalisering Solveig Malmsten Vår inre språkförmåga Lexikon Ordförråd : Uttryck i grundform + deras betydelse Enkla ord, t.ex. blå, märke
Grammatisk teori III Praktisk analys
Grammatisk teori III Praktisk analys 1. Satser Till skillnad från fraser har satser inga givna strukturella huvuden. Olika teorier gör olika antaganden om vad som utgör satsens huvud. Den lösning som förespråkas
Ordklasser och satsdelar
Ordklasser och satsdelar Vi kommer under de kommande fyra veckorna att arbeta med ordklasser och satsdelar. Under det här arbetsområdet kommer du att få öva på följande förmågor: formulera sig och kommunicera
Lingvistiskt uppmärkt text
729G09 Språkvetenskaplig databehandling (2018) Lingvistiskt uppmärkt text Marco Kuhlmann Institutionen för datavetenskap Korpusdata: Ett konkret exempel 1 Genom genom ADP 2 case 2 skattereformen skattereform
2. Substantiv kan man sätta en, ett, flera eller all, allt, alla framför.
Ordklasser SUBSTANTIV 1. Substantiv kan delas in i följande grupper: egennamn (Nilsson, Kalle, Märsta, SAAB) växter (gräs, träd, buske) personer (häxa, flicka, svensk) djur (lejon, hund, spindel) föremål,
Programmering för språkteknologer II, HT2014. evelina.andersson@lingfil.uu.se Rum 9-2035 http://stp.ling.uu.se/~evelina/uv/uv14/pst2/
Programmering för språkteknologer II, HT2014 Avancerad programmering för språkteknologer, HT2014 evelina.andersson@lingfil.uu.se Rum 9-2035 http://stp.ling.uu.se/~evelina/uv/uv14/pst2/ Idag - Hashtabeller
Datum: Date: Provkodr: KTR1 Exam code:
Del 1. Ordklasser (5p) Ange ordklass för de understrukna orden i texten. Då jag föddes i juli 1918 hade mor (1) spanska sjukan, jag var i dåligt skick och (2) nöddöptes på sjukhuset. En dag fick familjen
Inledande programmering med C# (1DV402) Introduktion till programmering
Introduktion till programmering 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å här: Allt
Kungliga Tekniska Högskolan 2006-03-26. Patrik Dallmann 821107-0274
Kungliga Tekniska Högskolan 2006-03-26 Patrik Dallmann 821107-0274 Patrik Dallmann dallmann@kth.se Inledning Syftet med detta arbete är att undersöka metoder för att upptäcka syftningsfel i vanlig text.
Grammatik för språkteknologer
Grammatik för språkteknologer Fraser http://stp.lingfil.uu.se/~matsd/uv/uv12/gfs/ Språkteknologiska grammatikkomponenter Tokenisering urskilja graford. Ordklasstaggning och annan taggning tilldela dem
Syntaktisk parsning (Jurafsky & Martin kapitel 13)
Syntaktisk parsning (Jurafsky & Martin kapitel 13) Mats Wirén Institutionen för lingvistik Stockholms universitet mats.wiren@ling.su.se DH2418 Språkteknologi DA3010 Språkteknologi för datorlingvister Föreläsning
Objektorienterad programmering i Java I. Uppgifter: 2 Beräknad tid: 5-8 timmar (OBS! Endast ett labbtillfälle) Att läsa: kapitel 5 6
Laboration 2 Objektorienterad programmering i Java I Uppgifter: 2 Beräknad tid: 5-8 timmar (OBS! Endast ett labbtillfälle) Att läsa: kapitel 5 6 Syfte: Att kunna använda sig av olika villkors- och kontrollflödeskonstruktioner
Lite 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
Det är principer och idéer som är viktiga. Skriv så att du övertygar rättaren om att du har förstått dessa även om detaljer kan vara felaktiga.
Tentamen Programmeringsteknik II 2014-0-27 Skrivtid: 0800 100 Tänk på följande Skriv läsligt! Använd inte rödpenna! Skriv bara på framsidan av varje papper. Börja alltid ny uppgift på nytt papper. Lägg
Ryska pronomen. Pronomen är en sluten ordklass som består av många undergrupper. Pronomina kan fungera självständigt eller förenat
Ryska pronomen Pronomen är en sluten ordklass som består av många undergrupper. Pronomina kan fungera självständigt eller förenat 1 1.Självständiga pronomina Pronomina som kan bilda Nominal Fras (NP) på
Grim. Några förslag på hur du kan använda Grim. Version 0.8
Grim Några förslag på hur du kan använda Grim Ingrid Skeppstedt Nationellt centrum för sfi och svenska som andraspråk Lärarhögskolan Stockholm Ola Knutsson IPlab Skolan för datavetenskap och kommunikation,
Gränssnitt för FakeGranska. Lars Mattsson
Gränssnitt för FakeGranska av Lars Mattsson (larsmatt@kth.se) Innehållsförteckning 1 Introduktion...3 2 Genomförande:...3 3 Användning...5 4 Kända buggar:...6 5 Källförteckning...6 2 1 Introduktion Taken
Kongruensböjningen av adjektivet påverkas av substantivets genus och numerus.
Kongruensböjningen av adjektivet påverkas av substantivets genus och numerus. substantivet genus och numerus. En lycklig man gick på gatan. Maskulint substantiv i plural form: Lyckliga män gick på gatan.
Neurolingvistik - Grammatik
Neurolingvistik - Grammatik Innehåll Grammatik-störningar vid afasi: syndrom, agrammatism och paragrammatism Verbets roll Morfologi - forskning och resultat från olika språk 3 teorier om agrammatism -
729G09 Språkvetenskaplig databehandling
729G09 Språkvetenskaplig databehandling Modellering av frasstruktur Lars Ahrenberg 2015-05-04 Plan Formell grammatik språkets oändlighet regler Frasstrukturgrammatik Kontextfri grammatik 2 Generativ grammatik
Harry Potter och De Vises Sten, den spännande ungdomsboken, skriven av den engelska författaren J.K. Rowling, har blivit en succé över hela världen.
Uppgifter i svenska till Harry Potter och De Vises Sten Harry Potter och De Vises Sten, den spännande ungdomsboken, skriven av den engelska författaren J.K. Rowling, har blivit en succé över hela världen.
NYHETER I AUTOCAD LT 2008
NYHETER I AUTOCAD LT 2008 Nedan följer en kort beskrivning av nyheter och förbättringar i AutoCAD LT 2008, jämfört med AutoCAD LT 2007. Nyheterna är inte ordnade i speciell ordning. NYTT FÖRDEFINIERAT
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 202-0-25 Skrivtid: 400-700 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 bänken.
Programmering och algoritmiskt tänkande. Tema 3, föreläsning 1 Jody Foo
Programmering och algoritmiskt tänkande Tema 3, föreläsning 1 Jody Foo Tema 3: Översikt Objektorienterad programmering: fortsättning Tema 1 och 2: Exempel på att använda och skapa algoritmer Tema 3: strukturera
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,
Programmering = modellering
Programmering = modellering Ett datorprogram är en modell av en verklig eller tänkt värld. Ofta är det komplexa system som skall modelleras I objektorienterad programmering består denna värld av ett antal
Hammarbyskolan Reviderad februari 2009 Lokal kursplan i svenska/svenska som andra språk
Lokal kursplan i svenska/svenska som andra språk Skriva alfabetets bokstavsformer t.ex. genom att forma eller att skriva bokstaven skriva sitt eget namn forma varje bokstav samt skriva samman bokstäver
PROGRAMMERINGSTEKNIK TIN212
Data och Informationsteknik / Computer Science and Engineering Chalmers University of Technology and University of Gothenburg Robin Adams Göteborg 8 June 2018 PROGRAMMERINGSTEKNIK TIN212 Dag: Fredag Datum:
Grammatik skillnader mellan svenska och engelska
UPPSALA UNIVERSITET Grammatik för språkteknologer Institutionen för lingvistik och filologi Föreläsningsanteckningar Mats Dahllöf December 2012 Grammatik skillnader mellan svenska och engelska 1 Inledning
TDDC74 Programmering: Abstraktion och modellering Dugga 3, kl 14 16, 25 mars 2015
TDDC74 Programmering: Abstraktion och modellering Dugga 3, kl 14 16, 25 mars 2015 Läs alla frågorna först, och bestäm dig för i vilken ordning du vill lösa uppgifterna. Skriv tydligt och läsligt. Använd
CADvent+ RÖR en första test
CADvent+ RÖR en första test CADvent+ tar steget till att rita rör förutom ventilation. Jag har därför ägnat lite tid att titta på programmet för att se vad det går för. Den version jag testar är CADvent+
Datum: Date: Provkodr: KTR1 Exam code:
Del 1. Ordklasser (5p) Ange ordklass för de understrukna orden i texten. En dag upptäcker min treåriga dotter (1) att det finns kärnor i äpplen. En snabb (2) genomgång av hur och varför visar (3) sig bli
Grammatisk teori II Attributvärdesgrammatik
Grammatisk teori II Attributvärdesgrammatik 1. Lexikon and syntaktiska regler Inom lingvistisk teori delas den mentala representationen av språket upp i två centrala komponenter: lexikon och syntaktiska
Kom igång med Topocad ArcGIS
Dokumentation Adtollo Academy Kom igång med Topocad ArcGIS Adtollo AB Östgötagatan 12 116 25 Stockholm 08-410 415 00 info@adtollo.se adtollo.se adtollo-academy.se Innehåll Installera ArcGIS... 3 Koppla
Objektorienterad programmering, allmänt
Objektorienterad programmering, allmänt Sven-Olof Nyström Uppsala Universitet 17 juni 2005 1 Vilka egenskaper vill vi att program ska ha? Förslag (en partiell lista): De ska... gå snabbt att skriva vara
Viktiga egenskaper hos ett program (Meyer): Objektorienterad programmering, allmänt. Vilka egenskaper vill vi att våra program ska ha?
Viktiga egenskaper hos ett program (Meyer): Objektorienterad programmering, allmänt Sven-Olof Nyström Uppsala Universitet 17 mars 2005 1. Korrekthet 2. Robusthet 3. Utökbarhet 4. Återanvändbarhet 5. Kompatibilitet
Föreläsning 5 Programmeringsteknik DD1310. Modulen doctest. Exempel. Doctest Dictionary Filhantering
Föreläsning 5 Programmeringsteknik DD1310 Doctest Modulen doctest Man kan använda modulen doctest för att testa programmet på ett mer systematiskt sätt. Så här gör man: 1. Skriver programmets funktioner
De flesta orden finns under substantiv men flera exempel på verb och adjektiv finns också med i appen.
Prova Bliss Prova bliss består av tre delövningar, substantiv, verb och adjektiv. De flesta orden finns under substantiv men flera exempel på verb och adjektiv finns också med i appen. Med Prova bliss
ANDREAS ISSA SVENSKA SPRÅKET
ANDREAS ISSA SVENSKA SPRÅKET Kopieringsförbud! Denna bok är skyddad av upphovsrättslagen. Kopiering, utöver rätt att kopiera enligt BONUS-avtal, är förbjuden. Den som bryter mot lagen om upphovsrätt kan
Ordbok arabiska - svenska
1 Ordbok arabiska - svenska Denna ordboks webbadress är: http://www.swedishmekteb.se/arabiska/index.html 2 Chapter 1 Inledning 1.1 Om ordboken Sedan hösten 2009 pågår Swedish Mektebs studiecirkel i arabiska
Grammatiken är språkets grund & byggstenar!
Grammatiken är språkets grund & byggstenar! Utan grammatik har vi inget språk......förutom kroppsspråket, förstås. Ibland kan man behöva se bildligt, hur man använder grammatiken. En bra jämförelse är
Svenskans struktur, 7,5 hp Tentamensexempel 1
Svenskans struktur, 7,5 hp Tentamensexempel 1 På de följande sidorna återges ett exempel på en tentamen i Svenskans struktur. Tentan är uppdelad i tre delar. För att få godkänt på kursen måste man ha godkänt
OBJEKTORIENTERAD PROGRAMVARUUTVECKLING
Institutionen för Data- och informationsteknik TENTAMEN OBJEKTORIENTERAD PROGRAMVARUUTVECKLING OBS! Det kan finnas kurser med samma eller liknande namn på olika utbildningslinjer. Denna tentamen gäller
Introduktion till programmering
Introduktion till programmering Vad är programmering? Vad gör en dator? Vad är ett datorprogram? 1 (9) Vad är programmering? För att bestämma en cirkels area måste du: 1. Dividera diametern 5 med 2. 2.
Algoritmer och datastrukturer 2012, fo rela sning 8
lgoritmer och datastrukturer 01, fo rela sning 8 Komplexitet för binära sökträd De viktigaste operationerna på binära sökträd är insert, find och remove Tiden det tar att utföra en operation bestäms till
Robin Stenwall Lunds universitet
Robin Stenwall Lunds universitet Avsnitt 14.1 Numerisk kvantifikation Kvantifikatorerna i FOL är begränsade till och. Detta innebär att vi kan uttrycka satser som säger någonting om allting och någonting.
Språkliga strategier för att minnas och lära, till exempel tankekartor och stödord. Mål:
Grammatikprov svenska Nu är det dags att kolla av vad eleverna lärt sig under vårens grammatik arbete. Efter påsklovet tar vi paus från veckans-ord och pluggar grammatik. För att det inte ska bli för mycket
Förord. Elevfacit och Test för kopiering utges till varje del av Grammatikövningar för Sfi, del 1 2.
Förord Grammatikövningar för Sfi består av två delar, del 1 2, för kurserna B C resp C D och liknande utbildningar. Det är ett övningsmaterial som tränar svensk basgrammatik. Utgångspunkten för uppläggningen
Grammatik för språkteknologer
Grammatik för språkteknologer Introduktion http://stp.lingfil.uu.se/~matsd/uv/uv11/gfst/ Mats Dahllöf Institutionen för lingvistik och filologi Oktober 2011 Lärandemål Efter avslutad kurs skall studenten
Test specifikation. SF Bio App. Författare: Zina Alhilfi Datum: Version: v1,0. Granskad: Klar Ref: Testplan_v1.
Test specifikation SF Bio App. Författare: Zina Alhilfi Datum: 2017-03-07 Version: v1,0 Granskad: Klar Ref: Testplan_v1.0 Status: Klar 1. Introduktion 1.1 Syfte och omfattning 1.2 Terminologi 1.3 Referenser
Tenta (TEN3) i kursen 729G04 Programmering och diskret matematik 5 feb 2016, kl 14:00-18:00
1 ( 7) Tenta (TEN3) i kursen 729G04 Programmering och diskret matematik 5 feb 2016, kl 14:00-18:00 Tillåtna hjälpmedel: Dator, penna, papper, linjal, suddgummi, godkänd(a) bok/böcker/kompendier (ej anteckningar,
1 Vilka ord är substantiv? Läs texten.
3 Ordklasser Ordklasser har du säkert hört talas om förut. Men varför finns det ordklasser? Hur ska man veta vilka ord som hör till vilken ordklass? Och varför ska man veta det? Tänk dig att du har alla
Ordklasser. Substantiv är benämningar på människor, djur, växter och föremål. Du kan sätta en, ett eller flera framför substantiv.
Ordklasser Substantiv Substantiv är benämningar på människor, djur, växter och föremål. Du kan sätta en, ett eller flera framför substantiv. Konkreta och abstrakta substantiv Konkreta substantiv kallas
Laboration: Whitebox- och blackboxtesting
Tilda11 höstterminen 2011 Laboration: Whitebox- och blackboxtesting Mål med laborationen Du ska lära dig begreppen white-box testing och black-box testing Du ska öva dig på att konstruera testfall Du ska
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
Mediafostran och användandet av nya kommunikativa redskap påbörjas redan på nybörjarstadiet.
BILAGA: REVIDERAD LÄROPLAN I LÄROÄMNET MODERSMÅL OCH LITTERATUR Språket är av avgörande betydelse för all form av inlärning. Språkinlärningen är en fortlöpande process, och därför är modersmålsinlärningen
Några skillnader mellan svenska och engelska
UPPSALA UNIVERSITET Grammatik för språkteknologer Institutionen för lingvistik och filologi Föreläsningsanteckningar Mats Dahllöf December 2011 Några skillnader mellan svenska och engelska 1 Inledning
TDDC74 Programmering: Abstraktion och modellering Tentamen, lördag 27 augusti 2016, kl 8 12
TDDC74 Programmering: Abstraktion och modellering Tentamen, lördag 27 augusti 2016, kl 8 12 Läs alla frågorna först, och bestäm dig för i vilken ordning du vill lösa uppgifterna. Skriv tydligt och läsligt.
Datorlingvistisk grammatik
Datorlingvistisk grammatik Svenskans satser m.m. http://stp.lingfil.uu.se/~matsd/uv/uv11/dg/ Mats Dahllöf Institutionen för lingvistik och filologi Januari 2011 Satser Satserna utgör den mest mångfacetterade
Några skillnader mellan svenska och engelska
UPPSALA UNIVERSITET Datorlingvistisk grammatik Institutionen för lingvistik och filologi Föreläsningsanteckningar Mats Dahllöf Mars 2012 Några skillnader mellan svenska och engelska 1 Inledning likheter
Lektion 7. Datateknik A, Java I, 5 poäng
Datateknik A, Syfte: Att kunna skapa och använda fält av både primitiva typer och egendefinierade klasser. Kunna skriva en egen enkel algoritm för sortering samt använda befintliga klasser i Javas API
LÖSNINGSFÖRSLAG Programmeringsteknik För Ing. - Java, 5p
UMEÅ UNIVERSITET Datavetenskap 010530 LÖSNINGSFÖRSLAG Programmeringsteknik För Ing. - Java, 5p Betygsgränser 3 21,5-27 4 27,5-33,5 5 34-43 Uppgift 1. (4p) Hitta de fel som finns i nedanstående klass (det
Ordbok arabiska - svenska. Denna ordboks webbadress är:
Ordbok arabiska - svenska Denna ordboks webbadress är: http://www.swedishmekteb.se/utbildning/arabiska/index.html 1 1 Om ordboken Sedan hösten 2009 pågår Swedish Mektebs studiecirkel i arabiska språket
Objektorienterad programmering med Java, Generics
Generics i Java Generic: allmän, genersisk. På menyn på en asiatisk restaurang: Denna rätt serveras med valfritt kött, fisk eller skalddjur Bakgrund Generics i Java ger oss att skriva kod, klasser och
OBJEKTORIENTERAD PROGRAMVARUUTVECKLING. Övningstentamen 2
Institutionen för Data- och informationsteknik JSk TENTAMEN OBJEKTORIENTERAD PROGRAMVARUUTVECKLING Övningstentamen 2 TID: 4 timmar Ansvarig: Betygsgränser: Hjälpmedel: Jan Skansholm Sammanlagt maximalt
Klasser och objekt, referenser Grundkurs i programmering med Python
Hösten 2009 Dagens lektion Klasser och objekt Referenser 2 Klasser och objekt 3 KLASSER OCH OBJEKT Relaterat data Information om en fyrkant Bredd Höjd Färg 4 KLASSER OCH OBJEKT Egna datatyper Skapa en
Uppmärkningsspråk. TDP007 Konstruktion av datorspråk Föreläsning 4. Peter Dalenius Institutionen för datavetenskap
Uppmärkningsspråk TDP007 Konstruktion av datorspråk Föreläsning 4 Peter Dalenius Institutionen för datavetenskap 2015-02-03 Från förra gången XML-dokument specificeras med t.ex. en DTD Två olika sätt att
Övningstillfälle 1, Kognitionsvetenskapliga programmet. Ordklasser och fraser. Facit. 2. lyftes VERB 28. överseende PARTICIP
Övningstillfälle 1, Kognitionsvetenskapliga programmet. Ordklasser och fraser. Facit. 1.Äntligen ADVERB 27. om PREPOSITION 2. lyftes VERB 28. överseende PARTICIP 3. där ADVERB 29. att INFINITIVMÄRKE 4.
Kunskapsgraf. Fredrik Åkerberg j.f.akerberg@gmail.com. Tommy Kvant tommy.kvant@gmail.com. 1 Introduktion. 2 Relaterade projekt.
Kunskapsgraf Fredrik Åkerberg j.f.akerberg@gmail.com Tommy Kvant tommy.kvant@gmail.com 1 Introduktion Målet med projektet var att undersöka huruvida DBpedia.org, kan användas för att besvara frågor på
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
Språklära med 10 moment
med 10 moment av Ulf Eskilsson Innehållsförteckning Inledning 2 Utdrag ur Lgr 3 Innehåll 4 Metod 5 Loggbok 7 Facit och tips 8 Frågor att utreda tillsammans 3 Tipsfrågor 4 A- och B-sidor 1 5 25 veckosidor
Del A 2005 Språkform och språknorm (Maja Lindfors Viklund)
Del A 2005 Språkform och språknorm (Maja Lindfors Viklund) 1. Personer som är födda före andra världskriget, har säkert ett speciellt förhållande till radion.
Databasens består av: Tabell Kolumner fält Rader poster (varje post är unik)
Databasföreläsning Databasens består av: Tabell Kolumner fält Rader poster (varje post är unik) Tabeller Personer Databas Nummer Namn Födelseår 1 Tina 1950 2 Siv 1965 3 Olle 1980 Platt databas: all information
Satslära introduktion
Satslära introduktion Dolores Meden Dolores Meden 2010-08-27 1 Skillnaden mellan ordklass och ett ords funktion (syntax): * ett ords tillhörighet i en ordklass är konstant och påverkas inte av användningen
Laboration 3 HI1024, Programmering, grundkurs, 8.0 hp
Laboration 3 HI1024, Programmering, grundkurs, 8.0 hp Dataingenjörsprogrammet, elektroingenjörsprogrammet och medicinsk teknik KTH Skolan för Teknik och Hälsa Redovisning: Se Kurs-PM om hur redovisningen
public och private Obs: private inte skyddar mot access från andra objekt i samma klass.
public och private En metod som är public får anropas från alla metoder i alla klasser. Ett attribut som är public får avläsas och ändras från alla metoder i alla andra klasser. En metod som är private
Samlingar, Gränssitt och Programkonstruktion! Förelasning 11!! TDA540 Objektorienterad Programmering!
Samlingar, Gränssitt och Programkonstruktion! Förelasning 11!! TDA540 Objektorienterad Programmering! Samlingar Vi kommer att behöva hantera samlingar av objekt - Har oftast använd Array (fält) - Bra om
Objektorienterad programmering
Objektorienterad programmering Emil Ahlqvist (c10eat@cs.umu.se) Didrik Püschel (dv11dpl@cs.umu.se) Johan Hammarström (c08jhm@cs.umu.se) Hannes Frimmel Moström (c10hml@cs.umu.se) 1 1. Introduktion 1.1 Objektorienterad
Dependensregler - Lathund
Dependensregler - Lathund INTRODUKTION I textprogrammet TeCST är det möjligt för en skribent att skriva, redigera och klistra in text för att få ut läsbarhetsmått och få förslag på hur texten kan skrivas
TUTORIAL: KLASSER & OBJEKT
TUTORIAL: KLASSER & OBJEKT I denna tutorial lär vi oss att använda klasser och objekt samt hur vi bygger en enkel applikation kring dessa. I tutorialen kommer det finnas en mängd kod som du antingen kan
Klassen javax.swing.timer
Klassen javax.swing.timer I Swing finns en klass Timer som man kan använda för att upprepa en vis kodsekvens med jämna tidsmellanrum. Ett objekt av klassen Timer exekveras som en egen tråd. Ett objekt
Utveckling av simulator för ärendehanteringssystem
Datavetenskap Opponent(er): Emil Danielsson & Patrik Lundberg Respondent(er): Niclas Hanold & Samiar Saldjoghi Utveckling av simulator för ärendehanteringssystem Oppositionsrapport, C/D-nivå 2005:xx 1
Hantera informationspaket i system för bevarande
Kompetensutveckling har erbjudits deltagare inom projektet Elektroniskt bevarande i form av en kurs i XML. Kursen har genomförts av Riksarkivet och haft en praktisk inriktning. Ett 10-tal personer deltog
SQLs delar. Idag. Att utplåna en databas. Skapa en databas
Idag SQLs delar Hur skapar vi och underhåller en databas? Hur skapar man tabeller? Hur får man in data i tabellerna? Hur ändrar man innehållet i en tabell? Index? Vad är det och varför behövs de? Behöver
Avbildningar och hashtabeller. Koffman & Wolfgang kapitel 7, mestadels avsnitt 2 4
Avbildningar och hashtabeller Koffman & Wolfgang kapitel 7, mestadels avsnitt 2 4 1 2 Mängder i Java 3 Mängd-gränssnittet Set vs. List Mängder får endast innehålla unika element: Metoden.add(E) returnerar
Innehåll. Föreläsning 11. Organisation av Trie. Trie Ytterligare en variant av träd. Vi har tidigare sett: Informell specifikation
Innehåll Föreläsning 11 Trie Sökträd Trie och Sökträd 356 357 Trie Ytterligare en variant av träd. Vi har tidigare sett: Oordnat träd där barnen till en nod bildar en mängd Ordnat träd där barnen till
729G04 Programmering och diskret matematik. Föreläsning 7
729G04 Programmering och diskret matematik Föreläsning 7 Föreläsningsöversikt Information Interaktion via text Läsa från fil Skriva till fil Spara och läsa abstrakta datatyper från fil Information Felaktigt
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
Åtkomst och användarhandledning
Innehållsförteckning Problemspecifikation...1 Åtkomst och användarhandledning...2 Systembeskrivning...3 Lösningens begränsningar...5 Problem och reflektioner...6 Testkörning...7 Bilagor......Källkod...
SF Bio App. Repport. Test summary. 1- Syfte. 2. Produktöversikt. Författare: Zina Alhilfi Datum: Version: v1,0
Test summary SF Bio App. Repport Författare: Zina Alhilfi Datum: 2017-03-13 Version: v1,0 Granskad: Klar Ref: Test plan V1,0 Status: klar 1- Syfte Syftet med denna slutrapport är att redovisa vilka testaktiviteter