IGoR som GoDiS för restaurangbranschen

Storlek: px
Starta visningen från sidan:

Download "IGoR som GoDiS för restaurangbranschen"

Transkript

1 IGoR som GoDiS för restaurangbranschen Henrik Bertilsson, Christine Lundell, Andreas Wallentin Datalingvistikprogrammet Göteborgs universitet {cl0hbert, cl0clund, Abstract I dagens datoriserade värld tycker många att det borde finnas smidigare och bättre sätt att föra en bra dialog med datorn Var ligger skillnaderna i att föra en dialog med en människa och att föra en dialog med en dator? Då detta är ett problem som alla dialogsystem har, valde vi att lägga vikten på att göra en applikation till ett befintligt system, i detta fall GoDiS Vad vi går igenom är en överblick av de olika komponenter som måste finnas i ett informationssökande system Dessutom visar vi vår egen applikation, IGoR, som vi har gjort med utgångspunkt av en resebyråapplikation 1 Inledning 11 Introduktion Interaktion mellan människor och datorer har under senare år, till mångas glädje, blivit verklighet för både datorkunniga och nybörjare Ett exempel på detta är SJ:s talstyrda tågupplysning Att kunna föra en riktig dialog med datorn; att konversera och kunna få svar på frågor eller hjälp att boka resor är något som engagerat forskningen I detta arbete presenteras ett dialogsystem, GoDiS, och vår egen dialogapplikation, IGoR, en informationsguide om restauranger 12 Tidigare forskning Dialogsystem är något som utvecklats i takt med AIforskning, det vill säga forskning rörande artificiell intelligens Att kunna föra en naturlig dialog med datorn är en av grundpelarna inom denna vetenskap Vid institutionen för lingvistik vid Göteborgs universitet, som är framstående när det gäller forskning kring dialogsystem, har ett verktyg för utveckling av dialogsystem tagits fram, TrindiKit GoDiS (Gothenburg Dialogue System), är det system, vars uppbyggnad vi tittat närmare på Det som vi har utgått ifrån är en turistbyråapplikation Denna version innehåller varken taligenkänning eller talsyntes, men det finns dock stora möjligheter att bygga in sådana moduler 13 Problemformulering och problembakgrund Alla dialogsystems gemensamma problem har att göra med förståelse av naturligt språk: hur skall man få datorn att förstå vad användaren vill ha sagt och hur skall det kopplas ihop med det som datorn vill ha svar på? Hur skall datorn hålla ordning på vad användaren redan har sagt och vad den måste fråga? För att kunna få ett fungerande dialogsystem måste datorn kunna matcha input på ett korrekt sätt mot databasen, vilket kan vara problematiskt eftersom användaren inte skall behöva anpassa sitt språk alltför mycket till datorn Systemet skall kunna känna igen ett så naturligt språk som möjligt, dessutom skall användaren kunna ge mer information åt gången än systemet frågar efter: precis så som sker i en dialog mellan två människor Dessa överlapp skall förstås av datorn och användaren skall inte behöva säga samma sak två gånger: Försäljare: Vad kan jag stå till tjänst med? Kund: Jag vill boka en flygresa till Paris Försäljare: Varifrån vill du flyga? Kund: Jag vill flyga från Göteborg 1:a oktober och flyga hem den 14:e oktober Kunden svarar på försäljarens fråga, dessutom ger han ytterligare information Naturliga dialogers överlapp är det centrala problemet när det gäller dialogsystem Jämför ovanstående med SJ:s dialogsystem: SJ: Varifrån och vart vill du åka? Anv: Jag vill åka från Göteborg till Karlskrona i morgon klockan 12 SJ: Du vill åka från Göteborg till Kramfors Stämmer det? Anv: Nej SJ: Du vill åka från Göteborg till Karlskrona Stämmer det? Anv: Ja SJ: Ungefär hur dags vill du åka? Anv: I morgon klockan Syfte och frågeställning Vårt syfte med detta projekt är att få en inblick i hur ett dialogsystem är uppbyggt Hur kommer det sig att datorn kan förstå vad användaren säger, när språket tillåter oss att formulera uttryck på så många olika sätt? Och vad skiljer egentligen dialogsystem utvecklande i TrindiKit från andra system, som tex SJ:s dialogsystem? Dessutom vill vi ge andra med viss datalingvistisk bakgrund en liten inblick i hur ett dialogsystem fungerar rent tekniskt 15 Metod och Materialbeskrivning Till en början ägnade vi oss åt litteraturstudier Förutom genomläsning av TrindiKit-manualen och GoDiS-koden har vi läst artiklar skrivna av forskare på området Det finns åtskilliga skrifter som på senare år skrivits inom området dialogsystem, bla av dem som har varit med och utvecklat TrindiKit Professor Robin Cooper vid institutionen för datalingvistik, Göteborgs universitet, har skrivit ett antal skrifter inom området, som är hans specialområde Dialogsystem som GoDiS har använt sig av TrindiKit TrindiKit är ett verktyg för att bygga och experimentera med DME (eng dialogue move engines) och IS (eng information state) Vi har utgått från GoDiS applikation i

2 resebyråmiljö och gjort om koden på de ställen som behövts för att vår applikation skall fungera Till vår hjälp har vi haft Stina Ericsson vid institutionen för lingvistik, som har besvarat våra frågor om GoDiS 2 Huvuddel 21 Presentation av uppsatsen I denna uppsats kommer vi först att presentera TrindiKit, det verktyg som ligger till grund för dialogsystemet GoDiS Därefter följer en presentation av GoDiS, den dialogapplikation som vi har utgått ifrån i vår egen dialogapplikation IGoR Där tar vi upp de viktigaste delarna i en dialogapplikation, IS och DME Vi går också in djupare i de viktigaste filerna för vår applikation: databasen, lexikonet och domänen, och ger exempel därifrån Därefter följer motsvarande information om IGoR, samt hur vi utvecklade IGoR från GoDiS och hur resultatet blev Vi presenterar även en testkörning av en exempeldialog i IGoR Slutligen följer en diskussion och en sammanfattning, där vi i diskussionen bland annat tar upp resultat och problem 22 TrindiKit TrindiKit är ett verktyg utvecklat i Trindiprojektet för att bygga och experimentera med IS och DME Trindi påbörjades för att täcka (en del av) det växande behovet av interaktionsmöjligheter med maskiner/datorer, oavsett om användaren använder naturligt språk eller en begränsad vokabulär Utöver att TrindiKit föreslår ett generellt upplägg för hur systemet ska se ut, så har det specifika krav på hur man måste definiera IS, DME, uppdateringsregler och algoritmer tillhörande systemet Dessutom tillhandahåller TrindiKit enkla moduler för input/output samt moduler för tolkning och generering av strängar 23 GoDiS 231 Introduktion till GoDiS Den applikation av GoDiS som vi har tittat närmare på är dialogsystemet i resebyråmiljö Systemet skildrar en informationssökande dialog, där användaren vill ha en prisuppgift på en resa Datorn skall fråga och få svar på vart och varifrån man vill resa, hur man vill resa, vilken klass man vill resa i, vilken månad man vill resa och om man vill resa tur och retur Systemet är uppbyggt så att datorn både kan ställa frågorna i tur och ordning och matcha användarens input med respektive oställd fråga Då slipper man ett system som, likt SJ:s system, inte kan behandla fler än ett svar åt gången Tre filer är grundläggande för varje område, de så kallade RIV: domänfilen, databasfilen och lexikonfilen I domänfilen anges vad datorn skall fråga och i vilken ordning Dessutom definieras konceptkunskap om den aktuella domänen, tex att Paris är ett resmål, Frankrike ett land, flygplan ett transportmedel, oktober en månad och så vidare När systemet har fått svar på alla frågor beräknas det totala priset för den aktuella resan i databasfilen I lexikonfilen finns datorns outputsträngar och godkända svar på direkta frågor eller ren information Dessutom finns synsets definierade, det vill säga synonymy sets, ord som har ungefär samma betydelse, eller som skall parsas till samma begrepp, tex med flyg, plan, flygplan, flyga menar användare att han vill resa med flygplan, då slipper datorn ställa frågan om hur användaren vill resa, om den inte redan har gjort det 232 Total Information State (TIS) TIS, som man skulle kunna kalla dialogsystemets hjärna, består av IS, MIV (Module Interface Variables) och RIV (Resource Interface Variables) som programmet kommer åt genom olika villkor och operationer TIS specificeras genom att ge typdeklationer för TISvariablerna, detta ger specifika krav på vilka villkor och operationer som är tillgängliga 2321 Information State (IS) Information State, eller informationstillstånd, är ett sätt att förklara dialogers uppbyggnad och är baserat på Jonathan Ginzburgs QUD (Questions Under Discussion) QUD är en stack som innehåller de aktuella frågorna, antingen frågor som systemet har ställt eller oställda frågor som användaren har svarat på Det viktiga är att identifiera den relevanta informationen i dialoger, hur den uppdateras och hur dessa uppdateringsprocesser är kontrollerade Informationstillstånd i en dialog representerar informationen som är nödvändig för att skilja just denna dialog från andra dialoger, uppdateringsregler lägger till information från tidigare händelser i dialogen och motiverar framtida händelser Det är viktigt att skilja informationstillståndstillämpningar på dialogmodeller från andra, strukturella dialogtillståndstillämpningar Informationstillstånd består av både statiska och dynamiska komponenter Statiska komponenter är sådana som inte förväntas förändras under dialogens gång, till exempel domänkunskap och kunskap om dialogkonventioner De dynamiska komponenterna är uppdelade i privat och delad information (också dessa begrepp från Ginzburg) Privat information är bland annat systemets egna trosuppfattningar och handlingar som systemet skall utföra i dialogen Gemensam information är delade trosuppfattningar, QUD:en och LU (latest dialogue move performed) Dessa moment krävs för att kunna följa de inblandades agerande i informationssökande dialoger Informationstillstånd är ett begrepp som används både för komponenterna i den teoretiska inriktningen till dialogmodellering och i den specifika systemmodulen

3 som tillåter inspektion och uppdatering av det aktuella tillståndet Nedan ett exempel på ett IS från GoDiS, mitt i en pågående dialog PRIVATE, systemets hjärna består av: AGENDA systemets nästa fråga, PLAN vilka frågor som skall ställas eller besvaras, BEL privat information och TMP en kopia av hela SHARED, det vill säga så som den såg ut innan förra yttrandet SHARED innehåller information som har fastställts av systemet och användaren under konversationen, COM sådant som båda parter vet, i detta fall att användaren vill ha en prisuppgift på en resa till Paris med flyg, QUD - frågor som är ställda, men ännu inte besvarade och LU information om senaste talare och senaste händelse Grundläggande informationstillstånd i GoDiS: Systemet: Hej och välkommen till resebyrån! Anv Flyg till Paris Systemet flyttar frågor från PLAN till QUD, frågor: hur användaren vill resa och vart användaren vill resa Sedan ställer systemet nästa fråga ur PLAN, till exempel när användaren vill resa 233 Dialogue Move Engine (DME) Huvudfunktionen hos en DME (ung motor för dialoghändelser) är att uppdatera informationstillstånd baserat på händelser som har skett eller kommer att ske DME:n består av två moduler, en uppdateringsmodul och en selektionsmodul, dessa använder sig sedan kontrollmodulen (controlpl) av Dessa två DME-moduler innehåller funktioner som integrerar observerade dialoghändelser och väljer nya händelser En DME består av en beskrivning av: a) hur IS ser ut b) vilka händelser i dialogen (DM) som finns c) hur DM är tillämpade till IS d) en samling uppdateringsregler på IS e) en uppdateringsalgoritm 234 Resource Interface Variables (RIV) Resource Interface Variables består av variabler som systemet får från modulerna databas, domän och lexikon 2322 Accommodation Accommodation kallas presuppositionell information i yttranden Typexemplet är om någon säger att kungen av Frankrike är flintskallig, så kan man ta för givet, via accommodation, att det verkligen finns en kung av Frankrike Den typ av accommodation som används i dialogsystem som GoDiS är något annorlunda definierad I dialogsystem handlar accommodation om vilka antaganden som deltagarna i en dialog gör angående vilka frågor som för tillfället diskuteras, det vill säga QUD (Questions Under Discussion) I GoDiS används question accommodation och task accommodation Question accommodation innebär att användaren kan svara på oställda, relevanta frågor När användaren svarar på en oställd fråga, tas denna fråga från PLAN och hamnar på QUD:en Till detta finns det uppdateringsregler i DME:n Dessa uppdateringsregler kan utföra flera olika sorters accommodations när den förväntade strukturen inte finns på QUD:en eller PLAN Förutom question accommodation finns det även task accommodation Detta innebär att om användaren anger ett svar, men PLAN är tom, så söker systemet i domänresurserna efter en task och PLAN med en matchande fråga Exempel på question accommodation i en informationssökande dialog: 2341 Lexikon I lexikonet samlas de delar som i huvudsak rör dialogen mellan systemet och användaren; vilka frågor som kan ställas och vilka svar som kan uppfattas För systemet (GoDiS) används predikatet output_form/2 (med två argument) som innehåller formella yttranden och frågor som gör ett försök att få dialogen att låta mer mänsklig Första argumentet i predikatet står som en betydelsemarkör (move) för det andra argumentet, som är en fras i form av en sträng: ex 1 output_form(move, phrase ) Samma princip gäller även för de frågor som ska ställas för att dialogen (eller målen) ska kunna uppfyllas (annars kan dialogen förefalla händelselös) I detta fall ska svaret lagras för att senare kunna uppfylla de önskningar som talaren söker efter En sådan fråga kan se ut som följande: ex 2 output_form(ask(x^(topic(x))),"phrase") X är variabeln som motsvarar det svar som användaren ger på ämnet (topic) som datorn ställer i form av en fråga (ask) som realiseras i en fras För att yttranden ska kunna ges måste talaren ge ett svar (eller flera) eller ett kommando som enligt applikationen förväntas vara korrekt Dessa av datorn förväntade svar ingår i predikatet input_form/2: ex3 input_form( [phrase], move )

4 Ordningen på argumenten är omvänd jämfört med output_form/2; första argumentet är en lista med svaret som ges, andra argumentet är betydelsemarkören för det första Om man ser på ex3 så ser man att det går att ge elliptiska svar, det vill säga, korta och koncisa svar, men tanken är ju att användaren också ska kunna ge en fullständig mening som svar När ett svar ges i form av en mening måste man se vilket/vilka som är huvudord i satsen för att kunna utvinna den information som behövs För att lösa detta problem kan man se vad som följer huvudordet: ex 4 input_form( [x Y], answer( topic( Z ) ) ):- lexsem(y, Z), Av exemplet ovan kan man utläsa att om x (huvudordet) kommer före Y i en mening så ska ett svar, Z, tillhörande ämnet ges, men endast om Y är ett lexem För att se om svaret är relevant så måste lexemet som tagits emot analyseras För att göra detta används lexsem/2 (från ursprunglig GoDiS-kod) som är ett av villkoren i ovanstående exempel ex 5 lexsem( Word,Concept ):- synset( Words, Concept ), member( Word, Words ) Predikatet tar ett ord och ger tillbaka ett koncept om det är så att ordet är medlem i en lista med synonymer till ett defaultvärde För att detta ska kunna förverkligas så används synset/2: ex 6 synset( [ [syn 1 ],,[syn n ] ], default ) Om man följer ex4-6 så ser man förloppet av en händelse som utspelats i en dialog Om ett svar på en fråga ges så analyseras meningen genom en sökning efter huvudordet i svaret Är det ordet som följer huvudordet ett lexsem så ges det som svar till det godkända ämnet Det kommer mer konkreta exempel under presentationen av IGoR, vår dialogapplikation 2342 Databas I databasen preciseras de fakta som behövs för att tex beräkna priset på en resa 2343 Domän Domänen är kunskapsdelen i dialogsystemet Här finns predikat som analyserar relevansen av de svar som ges, planer över frågeordning, samt ett antal småpredikat En plan är ett schema (i form av en lista) över de mål som ska uppfyllas och ser ut som följande: plan( plan_info, [findout( X1^(topic( X1))),, quit]) Om inte alla delmål, det vill säga alla frågor som ska besvaras, har uppfyllts, så kommer frågorna (målen) i den ordning som skrivs i predikatet plan/2 Vidare i planen, för att applikationen ska avslutas eller starta om, så kan man använda kommandon som quit, forget med flera som mål För att kunna ta reda på om svaren som ges av användaren är relevanta, och inte vara av "God dag yxskaft"-typen, så följs målen av planen av predikatet relevant_answer/2 som, utan att vara för ingående, jämför det svar som ges med de predikat som motsvarar det förväntade svaret: relevant_answer( X^( topic( X ) ), A ) :- 24 IGoR 241 Introduktion till IGoR IGoR, Informationsguide om restauranger, heter den dialogapplikation som vi har gjort med utgångspunkt från GoDiS Med IGoR skall man kunna föra en dialog för att få fram förslag på restaurang(-er) i Göteborg, efter vad användaren vill ha att äta och hur mycket han vill betala Liksom med GoDiS är det stora problemet att få datorn att förstå vad användaren menar i dialogen, oavsett om man svarar direkt på en fråga eller ger mer information på en gång När alla frågor besvarats får användaren ett förslag på restauranger som motsvarar önskemålen som ställts De moduler som är viktigast för dialogen är lexikonet, databasen och domänen I de tre finner man all information om vad det innebär att vara restaurang 242 RIV 2421 Lexikon I lexikonet samlas, som redan sagt, de delar som i huvudsak rör dialogen mellan systemet och användare ex1 output_form( quit, "Tack för besöket och välkommen åter") ex2 output_form( ask(x^(what(x))), "Vilken typ av mat vill du äta?" ) X är variabeln som motsvarar det svar som man förväntas ge i form av en siffra eller ett adjektiv (mycket, lite) ex3 input_form( [hejdå], quit ) - Jag vill äta musslor När ett svar blir en mening får man se till vilket som är det tyngsta ordet i satsen som rör frågan, vilket i detta fall är äta och ordet som följer efter Realisering av svaret i ett predikat ser då ut som följande: ex4 input_form( [äta S], answer( what( C ) ) ) :- lexsem( S, C ), foodtype( C ) För att se om det som önskas äta kan ätas och finns hos de restauranger som används för sökningen, måste en begränsning av område ske; den mat som användaren

5 önskar måste tillhöra den mattyp som restaurangerna har som specialitet För att göra detta används lexsem/2 (från ursprunglig GoDiS-kod), som tar den önskade måltiden (musslor) och ger den mattyp som måltiden tillhör: ex 5 lexsem( Word, Concept ):- synset( Words, Concept ), member( Word, Words ) För att detta ska kunna förverkligas så tillämpas synset/2, som består av en lista med synonymer och en mattyp: ex 6 synset( [ ['kräftor'],[musslor],[krabba], ], skaldjur ) Finns maten med i listan så ges mattypen (i detta fall skaldjur) som andra argument i lexsemregeln, vilket gör att mattypen skickas vidare till ett predikat som heter foodtype/1, som kommer att nämnas i följande avsnitt 2422 Databas I databasen finns ett antal restauranger (40 stycken) i ett predikat restaurant/4 som innehåller den information som ska matchas med tidigare input (önskemålen från användaren) och ge namn och ett medianpris på måltiden till användaren: restaurant(namn, mattyp, medianpris, prisklass) restaurant( Sjömagasinet, skaldjur, 325, jättedyrt ) Det som matchas är mattyp och prisklass, och det som ges är namn på restaurangen och vilket medianpris en måltid kan kosta Att medianpris används är först och främst för att det skulle ta alldeles för lång tid att skriva in exakta menyer för varje restaurang, dessutom fanns informationen om samtliga restauranger som finns i databasen tillgängliga på GPs hemsida (se källförteckning) För att kunna ge användaren ett svar motsvarande önskemålen, samlas nödvändig information in och ges ut i form av en lista i db/1 db([ what(food), maxpay(price), restaurants(list)] ):- restaurant(_,food,_,price), findall( [Rest-Price1], restaurant(rest,food,price1,price),list) 2423 Domän Domänen är kunskapsdelen i dialogapplikationen Här finns predikat som analyserar relevansen av de svar som ges, planer över frågeordning, samt ett antal småpredikat som visar vilka mattyper och prisklasser som finns En plan är ett schema (i form av en lista) över de mål som ska uppfyllas och ser ut som följande: plan( food_info, [findout(x1^(what(x1))), findout(x2^(maxpay(x2))), consultdb(x3^(restaurants(x3))), forget, exec(top)] ) Om inte alla delmål, det vill säga alla frågor som ska besvaras, har uppfyllts, så kommer frågorna (målen) i den ordning som skrivs i predikatet plan Vidare i planen, för att applikationen ska avslutas eller starta om, så kan man använda kommandon som quit, forget med flera som mål Eftersom versionen av GoDiS (i skrivande stund) inte stödjer tolkning av siffror, och siffror är ju bra om man ska ge ett pris som man är villig att betala för maten, så använder vi oss istället av adjektiv från jättebilligt till jättedyrt (och däremellan) för att benämna prisklasser Dessa finnes i predikatet pay/1: pay('jättebilligt') pay('jättedyrt') I lexikonet finns även synsets för liknande betydelser, som tex lite, svindyrt, superbilligt mm, så att man inte måste veta exakt vad man ska skriva Vidare så finns även i domänen ett predikat foodtype/1 som innehåller de mattyper som finns i restaurangdatabasen: foodtype(franskt) foodtype(internationellt) Dessa har också tilldelade synsets i lexikonet, eftersom det inte kan vara lätt att veta vilka exakta specialiteter restauranger har: skulle man veta detta så är ju applikationen inte av intresse 243 Testkörning Nedan följer ett urdrag ur en testkörning av IGoR, uppdaterings- och selektionsreglerna syns inte, enbart informationstillstånden - Jag vill äta ostron och priset kvittar! : latest_speaker = usr : latest_moves = { answer(what(skaldjur)), answer(jättedyrt) } : program_state = run : lexicon = lexicon_restaurant : domain = domain_restaurant : database = database_restaurant : is = private = agenda = < > : plan=[raise(_20559^task(_20559)), findout([task(food_info)]) ] : bel = { } : tmp = com = { } : moves= assocset([(greet,true)]) : shared = com = { }

6 : moves = assocset([(greet,true)]) : output = 'Tack för besöket!' : latest_speaker = usr : latest_moves = { } : next_moves = { quit } : program_state = run : lexicon = lexicon_restaurant : domain = domain_restaurant : database = database_restaurant : is = private = agenda = < quit > : plan = [ ] : bel={restaurants([[sjömagasinet-325]]) } : tmp = com = { } : moves = assocset([(greet,true)]) : shared = com = { maxpay(jättedyrt), what(skaldjur), task(food_info) } : lu = speaker = usr moves= assocset([( answer(jättedyrt),true), (answer(what(skaldjur)),true)]) IGOR> Tack för besöket! : latest_speaker = sys : latest_moves = { } : program_state = quit : lexicon = lexicon_restaurant : domain = domain_restaurant : database = database_restaurant : is = private = agenda = < > : plan = [ ] : bel={restaurants([[sjömagasinet-325]]) } : tmp= com= {maxpay(jättedyrt), what(skaldjur), task(food_info) } : moves = assocset([(quit,true)]) shared = com= {maxpay(jättedyrt), what(skaldjur), task(food_info) } : moves = assocset([(quit,true)]) Tyvärr lyckades vi inte få vår dialogapplikation att ge ett svar till användaren Man kan dock se att systemet fungerar, för vi får en lista i IS med restauranger som passar in på användarens önskemål När vi provkörde GoDiS-applikationen i resebyråmiljö, så fick vi inte heller någon prisuppgift på en resa Därför drar vi slutsatsen att det inte är någon fungerade version av GoDiS som man kan ladda ner från TrindiKits hemsida 25 Diskussion Tanken var att kunna föra en naturlig dialog med datorn för att få fram förslag på restauranger som motsvarade de kriterier som vi gav på mattyp och prisklass I stort sett lyckades detta bra, då informationssökningen med "accommodation" (överlappning) fungerade som det var tänkt De predikat som anpassades till vår applikation fungerade också utan problem Vissa problem låg dock i hur TrindiKit var implementerat, tex att man som användare inte kunde skriva in siffror för det belopp som man kunde tänka sig att betala Vidare var RIV-modulerna, enligt vår uppfattning, väldigt ostrukturerade Ett exempel är att modul X anropar ett predikat i modul Y, som i sin tur hänvisar till motsvarande predikat i modul X Anledningen till detta kan vara att det är flera personer som är inblandade i implementeringen av GoDiS Dessutom kan det vara så att den version som finns för nedladdning inte är tillräckligt komplett Detta gjorde att systemet inte kunde ge någon respons på de fakta som samlats in Från början var det tänkt att vi skulle kunna köra IGoR med ett webbgränssnitt, men de nödvändiga filerna för installation av detta, som skulle finnas i den nedladdade TrindiKitfilen, saknades Slutprodukten blev alltså en körbar men ej komplett restaurangguide Detta inte på grund av tidsbrist eller brist på kompetens från vår sida, utan snarare brister i de versioner som vi hade tillgång till 3 Sammanfattning I vår uppsats har vi visat vilka problem man kan stöta på när man utvecklar en applikation till ett dialogsystem I vårt arbete har vi behandlat ett dialogsystem som har gjorts med hjälp av verktyget TrindiKit Vi har redovisat hur vi har gått till väga när vi gjort om en dialogapplikation i ett befintligt dialogsystem, GoDiS, så att den skulle passa vårt arbete, IGoR Vi har gått in djupare på de viktigaste filerna och visat de ändringar som var väsentliga för IGoR I testkörningen ger vi ett kort exempel på hur informationstillstånd, IS, kan se ut i ett dialogsystem I diskussionen tar vi upp problem som vi stött på under arbetets gång och kommentarer till dessa 4 Källförteckning Cooper, R, 1997 Information States, Attitudes and Dialogue Larsson, S, Cooper, R, Accommodation and reaccomodation in dialogue Larsson, S, Cooper, R, 1998 Dialogue moves and information states Larsson, S, Grönqvist L, Berman, A, Ljunglöf, P, Bos, J, Traum, D, 2000 TrindiKit 20 Manual revised version Larsson, S, Traum, D, 2000 Information state and dialogue management in the TRINDI Dialogue Move Engine Toolkit Natural Language Engineering, 6, 3-4 sept, Larsson, S, 2001 GoDiS ESSLLI, Helsingfors, 21 aug Ljunglöf, Peter, 2000 Formalizing the Dialogue Move Engine Poster presentation at the Götalogworkshop on semantics and pragmatics of dialogue, GBG, jun

7 wwwgpse wwwlingguse/projekt/trindi/trindikit/abouthtml Tack till Stina Ericsson, institutionen för lingvistik, GU

Överblick. Dialogsystem. En dialogsystemsarkitektur. Dialogsystemsarkitektur. Talförståelse. Dialoghantering

Överblick. Dialogsystem. En dialogsystemsarkitektur. Dialogsystemsarkitektur. Talförståelse. Dialoghantering Överblick Dialogsystem Del I Dialogsystemsarkitektur Människa-maskin-dialog jämfört med människa-människa-dialog Dialog-initiativ, barge-in, verifiering Dialogspecifikation Några svenska röststyrda tjänster

Läs mer

Vanliga frågor för VoiceXpress

Vanliga frågor för VoiceXpress Vanliga frågor för VoiceXpress 1) Hur stort ordförråd (vokabulär) innehåller VoiceXpress? VoiceXpress innehåller ett mycket omfattande ordförråd, och svaret på frågan varierar en aning beroende på hur

Läs mer

Kristian Almgren Artificiell Intelligens Linköpings Universitet 2011. Talstyrning

Kristian Almgren Artificiell Intelligens Linköpings Universitet 2011. Talstyrning Talstyrning Abstrakt Talstyrning är en teknik som gör det möjligt för oss människor att mer eller mindre verbalt kommunicera med en dator eller ett system. Det här är ett tillvägagångssätt inom AI och

Läs mer

Dialogsystem i andraspråksinlärning GoDiS-applikationer i prototyper för webbaserad CALL

Dialogsystem i andraspråksinlärning GoDiS-applikationer i prototyper för webbaserad CALL Dialogsystem i andraspråksinlärning GoDiS-applikationer i prototyper för webbaserad CALL 2 Tack! Stort tack till Josefin Bergenholtz för ett mycket givande och intressant samarbete. Jag vill även tacka

Läs mer

Alla filer som bearbetar PHP script ska avslutas med ändelsen.php, exempelvis ska en indexsida till en hemsida heta index.php

Alla filer som bearbetar PHP script ska avslutas med ändelsen.php, exempelvis ska en indexsida till en hemsida heta index.php Introlektion PHP är ett av de enklare språken att lära sig just pga. dess dynamiska struktur. Det används för att bygga upp båda stora och mindre system. Några vanliga system som använder sig av PHP är

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

Introduktion till programmering och Python Grundkurs i programmering med Python

Introduktion till programmering och Python Grundkurs i programmering med Python Introduktion till programmering och Python Hösten 2009 Dagens lektion Vad är programmering? Vad är en dator? Filer Att tala med datorer En första titt på Python 2 Vad är programmering? 3 VAD ÄR PROGRAMMERING?

Läs mer

Språkteknologi och Open Source

Språkteknologi och Open Source Språkteknologi och Open Source Erik Edin F01 erikedin@kth.se 15 oktober 2004 1 1 Open Source Open Source är en rörelse som syftar till att skriva datorprogram som släpps fria utan kommersiella intressen.

Läs mer

Skriv! Hur du enkelt skriver din uppsats

Skriv! Hur du enkelt skriver din uppsats Skriv! Hur du enkelt skriver din uppsats Josefine Möller och Meta Bergman 2014 Nu på gymnasiet ställs högra krav på dig när du ska skriva en rapport eller uppsats. För att du bättre ska vara förberedd

Läs mer

Gränssnitt för FakeGranska. Lars Mattsson

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

Läs mer

Arbetssätt i Skola24 Schema

Arbetssätt i Skola24 Schema Arbetssättet i Skola24 Schema liknar till allra största delen arbetssättet i Novaschem 2013, med den skillnaden att flera användare samtidigt kan göra ändringar i samma schema. I det här dokumentet beskrivs

Läs mer

Projekt i programmering 1 (ver 2)... 2 Projektidé... 2 Planering... 2 Genomförande... 2 Testning och buggar... 3 Utvärdering... 3 Planering...

Projekt i programmering 1 (ver 2)... 2 Projektidé... 2 Planering... 2 Genomförande... 2 Testning och buggar... 3 Utvärdering... 3 Planering... Projekt i programmering 1 (ver 2)... 2 Projektidé... 2 Planering... 2 Genomförande... 2 Testning och buggar... 3 Utvärdering... 3 Planering... 4 Bussen (projektförslag)... 5 Bakgrund... 5 Klassen Buss

Läs mer

Teoretisk lingvistik och datalingvistik. Robin Cooper

Teoretisk lingvistik och datalingvistik. Robin Cooper Teoretisk lingvistik och datalingvistik Robin Cooper Syftet med dagens föreläsning Sammanfattning av lingvistisk teori och datalingvistik/språkteknologi Diskussion av teorins roll i olika språkteknologiska

Läs mer

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

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

Läs mer

Grafisk visualisering av en spårbarhetslösning

Grafisk visualisering av en spårbarhetslösning Datavetenskap Opponenter Johan Kärnell och Linnea Hjalmarsson Respondenter Agni Rizk och Tobias Eriksson Grafisk visualisering av en spårbarhetslösning Oppositionsrapport, C-nivå Report 2011:06 1. Generell

Läs mer

Exjobbskritik Muntlig opponering på ett exjobb. Stina Ericsson

Exjobbskritik Muntlig opponering på ett exjobb. Stina Ericsson Datalingvistisk metod och fördjupning HT05 1 Exjobbskritik Muntlig opponering på ett exjobb Stina Ericsson Datalingvistisk metod och fördjupning HT05 2 Översikt 1. Att läsa ett exjobb kritiskt 2. Opponeringen

Läs mer

Laboration i datateknik

Laboration i datateknik KUNGLIGA TEKNISKA HÖGSKOLAN Laboration i datateknik Felsökning och programmering av LEGO NXT robot Daniel Willén 2012 09 06 dwill@kth.se Introduktionskurs i datateknik II1310 Sammanfattning Syftet med

Läs mer

Projektrapport - Live commentary

Projektrapport - Live commentary Projektrapport - Live commentary Linnéa Åberg - la222pp Beskrivning Vision och översiktlig beskrivning Det är en applikation för den som vill skapa intressanta diskussioner för live event eller program

Läs mer

Laboration 3 HI1024, Programmering, grundkurs, 8.0 hp

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

Läs mer

Teoretisk del. Facit Tentamen TDDC (6)

Teoretisk del. Facit Tentamen TDDC (6) Facit Tentamen TDDC30 2014-08-29 1 (6) Teoretisk del 1. (6p) "Snabba frågor" Alla svar motiveras väl. a) Vad är skillnaden mellan synligheterna public, private och protected? (1p) Svar:public: Nåbar för

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

Introduktion till integrering av Schenkers e-tjänster. Version 2.0

Introduktion till integrering av Schenkers e-tjänster. Version 2.0 Introduktion till integrering av Schenkers e- Version 2.0 Datum: 2008-06-18 Sida 2 av 8 Revisionshistorik Lägg senaste ändringen först! Datum Version Revision 2008-06-18 2.0 Stora delar av introduktionen

Läs mer

OBS!!! Anslut ej USB kabeln till dator eller GPS innan du först har installerat drivrutinerna för USB kabeln i din dator.

OBS!!! Anslut ej USB kabeln till dator eller GPS innan du först har installerat drivrutinerna för USB kabeln i din dator. Navirad User Tool 3,7 Manual för GPS 1 Easy, GPS 2, GPS 4 samt Navirad Elite. Du kan ladda ner programmet från följande websida: Leta upp fliken Download och följ instruktionerna. http://www.tmobilteknik.com

Läs mer

Travel Phrase Guide. Instruktionshäfte

Travel Phrase Guide. Instruktionshäfte Travel Phrase Guide Instruktionshäfte Sw Rätten till ändring av innehållet i detta dokument förbehålles utan föregående meddelande. CASIO COMPUTER CO., LTD. åtar sig inget ansvar för skador eller förluster

Läs mer

Gymnasiearbetet för det naturvetenskapliga programmet

Gymnasiearbetet för det naturvetenskapliga programmet Gymnasiearbetet för det naturvetenskapliga programmet Pär Leijonhufvud 2017-08-29 Innehåll Syfte.................................... 2 Arbetsformer............................... 2 Rapporten.................................

Läs mer

Vilken skillnad gör det var du placerar det? Prova båda.

Vilken skillnad gör det var du placerar det? Prova båda. Micro:bit- Namnskylt Vi börjar med att döpa programmet till något. Till exempel ditt namn. Det gör du längst ner i mitten. Nu ska vi göra ett enkelt program som med lysdioderna skriver ditt namn. När du

Läs mer

Copéma Tips, extra om version 9

Copéma Tips, extra om version 9 Copéma Tips, extra om version 9 Programmet kan installeras från www.copema.se. När programmet installeras får du en ikon på skrivbordet och kan starta programmet därifrån. Om du inte har en giltig licensnyckel

Läs mer

Lumbago - Förord. Välkommen till Journalprogrammet Lumbago.

Lumbago - Förord. Välkommen till Journalprogrammet Lumbago. Lumbago - Förord Välkommen till Journalprogrammet Lumbago. Vår förhoppning är att du ska få mer tid över för dina patienter och att du ska ha nytta av alla de effektiva funktioner som Lumbago erbjuder.

Läs mer

Hogia Administration AB bedriver kontinuerlig utveckling av programmen och reserverar sig för avvikelse mellan program och handbok.

Hogia Administration AB bedriver kontinuerlig utveckling av programmen och reserverar sig för avvikelse mellan program och handbok. Innehållsförteckning Systemkrav....................................3 Val av installation..............................12 Behörigheter..................................12 InstallationsCD................................13

Läs mer

Uppgift 1a (Aktiekurser utan poster)

Uppgift 1a (Aktiekurser utan poster) Uppgift 1a (Aktiekurser utan poster) Vi har lite olika upplägg i de kurser vi håller och i vissa kurser finns det med något som vi kallar "poster" (eng. "record"). I andra har vi inte med detta. Vi har

Läs mer

Bestäm vilket av, eller vilken kombination av övertygande tillvägagångssätt (känsla, logik, förtroende) som du avser att använda i din presentation.

Bestäm vilket av, eller vilken kombination av övertygande tillvägagångssätt (känsla, logik, förtroende) som du avser att använda i din presentation. Mål Få en enkel överblick över vad du behöver tänka på före och under din presentation. Fungera som praktiska verktyg. Fungera som en tydlig sammanfattning av de absolut viktigaste punkterna. Före presentationen

Läs mer

Naturligt Språk-Generering (NLG), Text-till-Talsyntes (TTS) och prosodi, i dialogsystem. Stina Ericsson, Talteknologi VT06.

Naturligt Språk-Generering (NLG), Text-till-Talsyntes (TTS) och prosodi, i dialogsystem. Stina Ericsson, Talteknologi VT06. Talteknologi (AAST) 1 mars 2006 1 Talteknologi (AAST) 1 mars 2006 2 Naturligt Språk-Generering (NLG), Text-till-Talsyntes (TTS) och prosodi, i dialogsystem Problemet Föreställ dig ett dialogsystem som

Läs mer

Övningshäfte 1: Logik och matematikens språk

Övningshäfte 1: Logik och matematikens språk GÖTEBORGS UNIVERSITET MATEMATIK 1, MMG200, HT2014 INLEDANDE ALGEBRA Övningshäfte 1: Logik och matematikens språk Övning A Målet är att genom att lösa och diskutera några inledande uppgifter få erfarenheter

Läs mer

Innehållsförteckning. Inledning... 3. Introduktion... 4. Övrigt... 5. Presentationens innehåll... 6

Innehållsförteckning. Inledning... 3. Introduktion... 4. Övrigt... 5. Presentationens innehåll... 6 Anteckningsunderlag 2 Innehållsförteckning Inledning... 3 Introduktion... 4 Övrigt... 5 Presentationens innehåll... 6 Förutsättningar för en intressant presentation... 8 Presentationens tre delar... 9

Läs mer

Handicom. Symbol for Windows. Encyklopedi. Version 3.4

Handicom. Symbol for Windows. Encyklopedi. Version 3.4 Handicom Symbol for Windows Encyklopedi Version 3.4 Handicom, Nederländerna/Frölunda Data AB 2009 Innehåll Installation och licenser...2 1. Inledning...4 1.1 Vad är Encyklopedi?...4 2. Encyklopedis huvudmeny...5

Läs mer

Checklista. Hur du enkelt skriver din uppsats

Checklista. Hur du enkelt skriver din uppsats Checklista Hur du enkelt skriver din uppsats Celsiusskolans biblioteksgrupp 2013 När du skriver en uppsats är det några saker som är viktiga att tänka på. Det ska som läsare vara lätt att få en överblick

Läs mer

25. Hämta Adobe Reader

25. 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 mer

Har du dubbletter i din databas?

Har du dubbletter i din databas? Lär dig mer om disgen 8, del 37 text: Eva Dahlberg bild: Disgen 8.2 Har du dubbletter i din databas? Svaret på den frågan är sannolikt ja! Efter en tids forskning blir det lätt så att man matar in samma

Läs mer

Python. Python är, som Scheme, ett interpreterat språk men det finns kompilatorer för Python.

Python. Python är, som Scheme, ett interpreterat språk men det finns kompilatorer för Python. är, som Scheme, ett interpreterat språk men det finns kompilatorer för. När man interpreterar ett språk tillhandahåller man en interpretator som läser sats för sats och försöker tolka den. När man kompilerar

Läs mer

Installation/uppdatering av Hogia Personal fr.o.m. version 13.1

Installation/uppdatering av Hogia Personal fr.o.m. version 13.1 Installation/uppdatering av Hogia Personal fr.o.m. version 13.1 Viktig information gällande installation Från version 12.2 av Hogia Personal krävs Microsoft.Net Framework 3.5 SP1 för att installation skall

Läs mer

UNIX. Laborations-PM Anders Egneus, Henrik Lindgren, 2004, 2006. Raphael Corsoski, 2005. Erik Eliasson, 2007. Christian von Schultz, 2008.

UNIX. Laborations-PM Anders Egneus, Henrik Lindgren, 2004, 2006. Raphael Corsoski, 2005. Erik Eliasson, 2007. Christian von Schultz, 2008. 1 Introduktion UNIX Laborations-PM Anders Egneus, Henrik Lindgren, 2004, 2006. Raphael Corsoski, 2005. Erik Eliasson, 2007. Christian von Schultz, 2008. Det övergripande syftet med dessa laborationer är

Läs mer

Riktlinjer för bedömning av examensarbeten

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

Läs mer

Objektorienterad programmering i Java I. Uppgifter: 2 Beräknad tid: 5-8 timmar (OBS! Endast ett labbtillfälle) Att läsa: kapitel 5 6

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

Läs mer

UTBILDNING & ARBETE Uppsatsskrivandets ABC

UTBILDNING & ARBETE Uppsatsskrivandets ABC UTBILDNING & ARBETE Uppsatsskrivandets ABC Borgarskolan Polhemsskolan Vasaskolan 1 Innehåll Abstract... 1 Analys... 1 Argument... 1 Bilagor... 1 Citat... 1 Enkät... 1 Fotnot... 1 Frågeställning... 1 Innehållsförteckning...

Läs mer

Användarhandledning Version 1.2

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

Läs mer

Det finns plats för 35 kontaktförsök,du kan själv se längst upp på sidan efter ordet "fråga" vilket du är på!

Det finns plats för 35 kontaktförsök,du kan själv se längst upp på sidan efter ordet fråga vilket du är på! MENY1 Vad vill du göra? Det finns plats för 35 kontaktförsök,du kan själv se längst upp på sidan efter ordet "fråga" vilket du är på! 1. Kontaktförsök 2. Intervju 3. Avsluta Granska att svar=(1:3); hoppa

Läs mer

Installationsbeskrivning för CAB Service Platform med CABInstall

Installationsbeskrivning för CAB Service Platform med CABInstall Installationsbeskrivning för CAB Service Platform med CABInstall INLEDNING... 2 INSTALLATION... 3 AVANCERAD INSTALLATION... 10 YTTERLIGARE INFORMATION... 11 Proxy... 11 Sida 1 av 12 Inledning Denna beskrivning

Läs mer

Stina Nyman 2012-09-16

Stina Nyman 2012-09-16 LINKOPINGS UNIVERSITET, IDA SmartKom Hur systemet fungerar Stina Nyman 2012-09-16 stiny786 Artificiell intelligens II Sammanfattning Detta projekt kommer handla om SmartKom som är ett multimodalt dialogsystem

Läs mer

DAT043 - Föreläsning 7

DAT043 - Föreläsning 7 DAT043 - Föreläsning 7 Model-View-Controller, mer om klasser och interface (arv, ) 2017-02-06 Designmönstret Observer avläser Observer Observable meddelar Observer avläser En eller flera objekt registrerar

Läs mer

Snabbguide till Cinahl

Snabbguide till Cinahl Christel Olsson, BLR 2008-09-26 Snabbguide till Cinahl Vad är Cinahl? Cinahl Cumulative Index to Nursing and Allied Health Literature är en databas som innehåller omvårdnad, biomedicin, alternativ medicin

Läs mer

Python. Python är, som Scheme, ett interpreterat språk men det finns kompilatorer för Python.

Python. Python är, som Scheme, ett interpreterat språk men det finns kompilatorer för Python. är, som Scheme, ett interpreterat språk men det finns kompilatorer för. När man interpreterar ett språk tillhandahåller man en interpretator som läser sats för sats och försöker tolka den. När man kompilerar

Läs mer

Kom igång! Snabbstart för dig som är administratör

Kom igång! Snabbstart för dig som är administratör Kom igång! Snabbstart för dig som är administratör Innehåll Snabbstart och användarmanual 4 Personalhandbokens uppbyggnad 5 Redigeringsläget 6 Att redigera i personalhandboken 7 Publicering av de redigerade

Läs mer

Installationsanvisning för Garmin Communicator Plugin

Installationsanvisning för Garmin Communicator Plugin för Garmin Communicator Förord På uppdrag av Naturvårdsverket erbjuder Viltskadecenter support för de svenska användarna av databasen Rovbase. Det här är en manual riktad till de som behöver överföra data

Läs mer

Static vs Dynamic binding Polymorfism. Objekt-orienterad programmering och design Alex Gerdes, 2016

Static vs Dynamic binding Polymorfism. Objekt-orienterad programmering och design Alex Gerdes, 2016 Static vs Dynamic binding Polymorfism Objekt-orienterad programmering och design Alex Gerdes, 2016 Diagnostiskt prov Shape + overlaps(shape): int return 1; Shape shape = new Shape(); Polygon tripoly =

Läs mer

Varför handla ekologiskt?

Varför handla ekologiskt? 100519 Varför handla ekologiskt? Ida Wreifält, 9B Handledare: Fredrik Alven Innehållsförteckning: Inledning sid 1 Bakgrund sid 1-2 Syfte sid 2 Metod sid 2 Resultat sid 2-4 Slutsats sid 4 Felkällor sid

Läs mer

LOTTA MANUAL. t.o.m. version Cederlund 2014-12-07

LOTTA MANUAL. t.o.m. version Cederlund 2014-12-07 LOTTA MANUAL t.o.m. version Cederlund 2014-12-07 Innehållsförteckning 1. Nedladdning, installation och start av programmet 2. Skapa en turnering 3. Lägga in spelare i programmet 3.1. Inmatning av spelare

Läs mer

Karlstads Universitet, Datavetenskap 1

Karlstads Universitet, Datavetenskap 1 2003-01-20 DAV B04 - Databasteknik 2003-01-20 KaU - Datavetenskap - DAV B04 - MGö 26 Relationsmodellen En formell teori som baserar sig på (främst) mängdlära predikatlogik Föreslogs av E.F Codd 1970 i

Läs mer

KTH STH TENTAMEN. HI1024:TEN2 - Praktisk tentamen Tid: 8-13, den 18 februari 2012

KTH STH TENTAMEN. HI1024:TEN2 - Praktisk tentamen Tid: 8-13, den 18 februari 2012 KTH STH TENTAMEN HI1024:TEN2 - Praktisk tentamen Tid: 8-13, den 18 februari 2012 Gamla kurskoder: HI1900, 6E2950, etc. Examinator: Johnny Panrike Rättande lärare: Nicklas Brandefelt, Johnny Panrike och

Läs mer

Priskamp. En prisjämförelsesite Björn Larsson 130609

Priskamp. En prisjämförelsesite Björn Larsson 130609 Priskamp En prisjämförelsesite Björn Larsson 130609 Abstrakt Detta är en post-mortem slutrapport om mitt projekt "Priskamp" inom ramen för kursen Individuellt Mjukvaruutvecklingsprojekt VT 2013. Projektets

Läs mer

Tentamen: Programutveckling ht 2015

Tentamen: Programutveckling ht 2015 Tentamen: Programutveckling ht 2015 Datum: 2015-11-04 Tid: 09:00-13:00 Sal: Ansvarig: Resultat: Hjälpmedel: Maxpoäng: Betygsgränser: Anslås inom 3 veckor. Inga 40 p 20 p för G, 32 p för VG. Iakttag följande:

Läs mer

Arsen gabros rapport Är elbilen framtidens fordon?

Arsen gabros rapport Är elbilen framtidens fordon? Arsen gabros rapport Är elbilen framtidens fordon? Namn: Arsen gabro Klass: Te14a Datum: 2015-03-05 Abstract This essay is about the future of electric cars and the aim of this essay explain what the current

Läs mer

Ontologier. Cassandra Svensson 2014-01-09

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

Läs mer

NUANCE TUTORIAL TALTEKNOLOGI KURSEN VT2006. Labkonstruktör: Rebecca Jonson Labhandledare: Håkan Burden

NUANCE TUTORIAL TALTEKNOLOGI KURSEN VT2006. Labkonstruktör: Rebecca Jonson Labhandledare: Håkan Burden NUANCE TUTORIAL TALTEKNOLOGI KURSEN VT2006 Labkonstruktör: Rebecca Jonson Labhandledare: Håkan Burden Laboration 3 börjar med en Nuance-tutorial som först och främst går ut på att lära sig lite hur Nuance

Läs mer

Väl godkänt (VG) Godkänt (G) Icke Godkänt (IG) Betyg

Väl godkänt (VG) Godkänt (G) Icke Godkänt (IG) Betyg Betygskriterier Examensuppsats 30 hp. Betygskriterier Tregradig betygsskala används med betygen icke godkänd (IG), godkänd (G) och väl godkänd (VG). VG - Lärandemål har uppfyllts i mycket hög utsträckning

Läs mer

Rapport Version 1.0 Johan Aldén Sida 1 av 12 2011-04-25. Rapport Förstudie Elevadministration och schemaläggning Sambruk

Rapport Version 1.0 Johan Aldén Sida 1 av 12 2011-04-25. Rapport Förstudie Elevadministration och schemaläggning Sambruk Johan Aldén Sida 1 av 12 Rapport Förstudie Elevadministration och schemaläggning Sambruk Johan Aldén Sida 2 av 12 Innehållsförteckning Inledning... 4 Deltagande kommuner... 4 Sammanfattning... 5 Förstudiens

Läs mer

Anvisningar till rapporter i psykologi på B-nivå

Anvisningar till rapporter i psykologi på B-nivå Anvisningar till rapporter i psykologi på B-nivå En rapport i psykologi är det enklaste formatet för att rapportera en vetenskaplig undersökning inom psykologins forskningsfält. Något som kännetecknar

Läs mer

Nadia Bednarek 2013-03-06 Politices Kandidat programmet 19920118-9280 LIU. Metod PM

Nadia Bednarek 2013-03-06 Politices Kandidat programmet 19920118-9280 LIU. Metod PM Metod PM Problem Om man tittar historiskt sätt så kan man se att Socialdemokraterna varit väldigt stora i Sverige under 1900 talet. På senare år har partiet fått minskade antal röster och det Moderata

Läs mer

Programmering i C++ Kompilering från kommandoraden

Programmering i C++ Kompilering från kommandoraden Programmering i C++ Kompilering från kommandoraden Sven Gestegård Robertz Datavetenskap, LTH 9 november 2015 Sammanfattning Ibland vill man, av olika anledningar, inte använda en stor integrerad utvecklingsmiljö

Läs mer

Föreläsning 2. Operativsystem och programmering

Föreläsning 2. Operativsystem och programmering Föreläsning 2 Operativsystem och programmering Behov av operativsystem En dator så som beskriven i förra föreläsningen är nästan oanvändbar. Processorn kan bara ges enkla instruktioner såsom hämta data

Läs mer

Labrapport: Programmering i NXC Programmera LEGO Maindstorm med NXC

Labrapport: Programmering i NXC Programmera LEGO Maindstorm med NXC KTH ICT Labrapport: Programmering i NXC Programmera LEGO Maindstorm med NXC Jonathan Kindfält 23/08-2012 E-post (kindfalt@kth.se) Introduktionskurs i datateknik II1310 Sammanfattning Denna rapport behandlar

Läs mer

INSTRUKTIONER OCH TIPS Fördjupningsarbete Receptarier (15 hp) och Apotekare (30 hp)

INSTRUKTIONER OCH TIPS Fördjupningsarbete Receptarier (15 hp) och Apotekare (30 hp) 1 INSTRUKTIONER OCH TIPS Fördjupningsarbete Receptarier (15 hp) och Apotekare (30 hp) 1. Försöksplan Syftet med försöksplanen är att du ska få projektets (begränsade) målsättning helt klar för dig innan

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

Software Translator 6.1 Manual

Software Translator 6.1 Manual Software Translator 6.1 Manual 1 Innehåll Sidan Inledning 3 Installation 4 Auktorisation 4 Översikt Programfönster 5 Menyer Arkiv 5 Visa 6 Språk 6 Verktyg 7 Hjälp 7 Handhavande Att lägga till ett program

Läs mer

Static vs Dynamic binding Polymorfism. Objekt-orienterad programmering och design (DIT953) Niklas Broberg, 2018

Static vs Dynamic binding Polymorfism. Objekt-orienterad programmering och design (DIT953) Niklas Broberg, 2018 Static vs Dynamic binding Polymorfism Objekt-orienterad programmering och design (DIT95) Niklas Broberg, 2018 Diagnostiskt prov Shape + overlaps(shape): int return 1; Shape shape = new Shape(); Polygon

Läs mer

Java: Utvecklingsverktyg, datatyper, kontrollstrukturer

Java: Utvecklingsverktyg, datatyper, kontrollstrukturer Java: Utvecklingsverktyg, datatyper, kontrollstrukturer Sven-Olof Nyström Uppsala Universitet 13 juni 2005 1 Utvecklingsverktyg för Java Vi rekommenderar Suns utvecklingsverktyg (SDK, tidigare JDK), se

Läs mer

Bedömda elevexempel i årskurs 4 6

Bedömda elevexempel i årskurs 4 6 LÄSA 1 5 Bedömda elevexempel i årskurs 4 6 EN DEL AV BYGGA SVENSKA ETT BEDÖMNINGSSTÖD FÖR NYANLÄNDA ELEVERS SPRÅKUTVECKLING 1 SAMTAL OM EN FABEL 1 UPPGIFT I ett ämnesöverskridande temaarbete om däggdjur

Läs mer

APPARAT SLUTRAPPORT. 1. Inledning

APPARAT SLUTRAPPORT. 1. Inledning APPARAT SLUTRAPPORT 1. Inledning Diskussioner kring smartphoneanvändande har ökat i takt med att användandet av mobil teknik har vuxit i utbredning. Nya sociala beteenden, beroendebeteenden och avkopplingsbeteenden

Läs mer

Tor Sterner-Johansson Thomas Johansson Daniel Henriksson

Tor Sterner-Johansson Thomas Johansson Daniel Henriksson Lab 4: Anti Tower Defence Oskar Mothander Alan Mendez Larsson dit06omr dit06mln Lärare: Handledare: Johan Eliasson Johan Granberg Tor Sterner-Johansson Thomas Johansson Daniel Henriksson Innehåll 1. Problemspecifikation...

Läs mer

Programmering. Den första datorn hette ENIAC.

Programmering. Den första datorn hette ENIAC. Programmering Datorn är bara en burk. Den kan inget själv. Hur får man den att göra saker? Man programmerar den. Människor som funderar ut program som fungerar. Datorn förstår bara ettor och nollor och

Läs mer

L0009B. Moment. Introduktion till geografiska databaser: G:\L0009B\Allmänt\IntroGeoDB.pdf (F)

L0009B. Moment. Introduktion till geografiska databaser: G:\L0009B\Allmänt\IntroGeoDB.pdf (F) L0009B Moment FL 1: Kursintroduktion. Kursinformation: G:\L0009B\Allmänt\KursInformationL0009B.pdf (F) Kursplan: Se https://portal.student.ltu.se/stuka/kurs.php?kurs=l0009b&lang=swe (F) Allt som markerats

Läs mer

Sök artiklar i databaser för Vård- och hälsovetenskap

Sök artiklar i databaser för Vård- och hälsovetenskap Sök artiklar i databaser för Vård- och hälsovetenskap Bibliografiska databaser eller referensdatabaser ger hänvisningar (referenser) till artiklar och/eller rapporter och böcker. Ibland innehåller referensen

Läs mer

Migrering av applikationen AMM till molnet

Migrering av applikationen AMM till molnet Datavetenskap Opponenter: Erik Andersson och Marcus Larsson Respondenter: Anders Nguyen och Linus Svensson Migrering av applikationen AMM till molnet Oppositionsrapport, C-nivå 2010:06 1 Sammanfattat omdöme

Läs mer

Informationen i detta dokument bygger på att mobiltelefonen har Android version 8 eller senare.

Informationen i detta dokument bygger på att mobiltelefonen har Android version 8 eller senare. Installationsmanual Android 8 Xone Android 1. Om dokumentet Denna manual beskriver installation och uppstart av appen (Phoniro Care), som är byggd på Phoniros nya plattform för mobilappar, kallad Xone.

Läs mer

Internets historia Tillämpningar

Internets historia Tillämpningar 1 Internets historia Redan i slutet på 1960-talet utvecklade amerikanska försvaret, det program som ligger till grund för Internet. Syftet var att skapa ett decentraliserat kommunikationssystem som skulle

Läs mer

Gran Canaria - Arbetsbeskrivning knapplänkar (Mediator 8)

Gran Canaria - Arbetsbeskrivning knapplänkar (Mediator 8) Gran Canaria - Arbetsbeskrivning knapplänkar (Mediator 8) I detta exempel kommer du att lära dig Att skapa en ny presentation från början Att skapa en enkel knapp Att använda händelseinställningar, events

Läs mer

Öppen data och vad vi kan vinna på att offentliggöra uppgifter! Formatdag i västerås 2015-11-17 Björn Hagström bjorn.

Öppen data och vad vi kan vinna på att offentliggöra uppgifter! Formatdag i västerås 2015-11-17 Björn Hagström bjorn. Öppen data och vad vi kan vinna på att offentliggöra uppgifter! Formatdag i västerås 2015-11-17 Björn Hagström bjorn.hagstrom@orebrolse Den information vi har är ofta kopplad till personer. Grundregeln

Läs mer

PM för kurs i Vetenskapsteori

PM för kurs i Vetenskapsteori PM för kurs i Vetenskapsteori Doktorandkurs, 5 poäng, HT-07 Allmän information Varje läsår ges en kurs i vetenskapsteori för LTU:s doktorander. Kursen är tänkt att motsvara 5 poäng i forskarutbildningen.

Läs mer

TENTAMEN OOP

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

Lathund för BankID säkerhetsprogram

Lathund för BankID säkerhetsprogram Lathund för BankID säkerhetsprogram BankID säkerhetsprogram för Windows, version 4.10 Datum: 2009-11-23 Introduktion När du ska hämta ut och använda e-legitimationen BankID behöver du ha ett installerat

Läs mer

UNG MEDIA SVERIGES. Guide för medlemsrekrytering

UNG MEDIA SVERIGES. Guide för medlemsrekrytering UNG MEDIA SVERIGES Guide för medlemsrekrytering Varför medlemsrekrytera? Svaret är för att föreningen ska växa och få de ekonomiska resuserna som behövs för att den ska kunna växa! Varje år ansöker Ung

Läs mer

Nätverkslagring: SAN/NAS-lösning för VMmiljö

Nätverkslagring: SAN/NAS-lösning för VMmiljö Datavetenskap Opponenter: Tobias Gunnarsson, Hans Johansson Respondenter: Eric Andersson, Marcus Larsson Nätverkslagring: SAN/NAS-lösning för VMmiljö Oppositionsrapport, C/D-nivå 2010:xx 1 Sammanfattat

Läs mer

RESAN. År 6. År 7. Målet i år 7 är att klara av nedanstående resa:

RESAN. År 6. År 7. Målet i år 7 är att klara av nedanstående resa: RESAN År 6 I år 6 är målet att du ska kunna kommunicera på mycket enkel franska. För att nå målet lär du dig ord och uttryck inom många olika områden, t.ex. familjen, djur, frukter, klockan, sporter och

Läs mer

Planera smörjningar bakåt i tiden Det är numera inte möjligt att ange ett datum bakåt i tiden då man anger första smörjdatum.

Planera smörjningar bakåt i tiden Det är numera inte möjligt att ange ett datum bakåt i tiden då man anger första smörjdatum. PROGRAMVERSIONER FÖRBÄTTRINGAR Ver. 2.06 Planera smörjningar bakåt i tiden Det är numera inte möjligt att ange ett datum bakåt i tiden då man anger första smörjdatum. Transpondernummer När man försöker

Läs mer

TEKNISKA SYSTEM LÄRARHANDLEDNING ÅRSKURS 5

TEKNISKA SYSTEM LÄRARHANDLEDNING ÅRSKURS 5 TEKNISKA SYSTEM LÄRARHANDLEDNING ÅRSKURS 5 Välkommen till årets avtalsbesök för åk 5 på Visualiseringscenter C. Under ett besök hos oss bjuder vi in till att lära sig mer om tekniska system; vad de är,

Läs mer

MATLAB. Python. Det finns flera andra program som liknar MATLAB. Sage, Octave, Maple och...

MATLAB. Python. Det finns flera andra program som liknar MATLAB. Sage, Octave, Maple och... Allt du behöver veta om MATLAB: Industristandard för numeriska beräkningar och simulationer. Används som ett steg i utvecklingen (rapid prototyping) Har ett syntax Ett teleskopord för «matrix laboratory»

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

Avancerade Webbteknologier

Avancerade Webbteknologier Projektledning, Business Knowledge Användbarhet & Layout Avancerade Webbteknologier Lkti Lektion 1 Kommunikation Tobias Landén tobias.landen@chas.se Avancerade webbteknologier del 1 (4 KY poäng) Syfte

Läs mer

ItiS Väskolan HT 2002. Din Kropp. Projekt av Arbetslag D / Väskolan

ItiS Väskolan HT 2002. Din Kropp. Projekt av Arbetslag D / Väskolan Din Kropp Projekt av Arbetslag D / Väskolan DIN KROPP Introduktion Vårt arbetslag hör hemma på Väskolan utanför Kristianstad. Vi undervisar dagligen elever i åk 6-9, men har i detta projekt valt att arbeta

Läs mer