Språkteknologiska metoder Språkteknologisk forskning och utveckling (HT 2006)

Slides:



Advertisements
Liknande presentationer
Att svara på tentafrågan - Strategier Språkhandledningen på IT-fakulteten.
Advertisements

Annoterade satser och platta frasstrukturer för svenska
Hantering av forskningsdata Birgitta Bergvall-Kåreborn Professor i Informatik.
© Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, 2003 Datastrukturer och algoritmer Föreläsning
Pedagogisk dokumentation i det systematiska kvalitetsarbetet
Datavetenskapens roll. Datavetenskap •Vad är datavetenskapens roll i kognitionsvetenskapen?
FL4 732G70 Statistik A Detta är en generell mall för att göra PowerPoint presentationer enligt LiUs grafiska profil. Du skriver in din rubrik,
Språkteknologisk forskning och utveckling (HT 2007)
DAB752: Algoritmteori Leif Grönqvist
Föreläsning 7 Analys av algoritmer T(n) och ordo
Svenska p Svenska p.
Algoritmer och datastrukturer
Föreläsning 6 Länkade lista Komplexitet Linjärsökning & binärsökning
Växjö 21 april -04Språk & logik: Kontextfria grammatiker1 DAB760: Språk och logik 21/4: Kontextfria 10-12grammatiker Leif Grönqvist
Växjö 22 april -04Språk & logik: Parsning med kontextfria grammatiker1 DAB760:Språk och logik: 22 aprilParsning Leif Grönqvist
Informationssystem och databasteknik, 2I-1100
Växjö 29 april -04Språk & logik: Kontextfria grammatiker i språkteknologi1 DAB760, 29 april Kontextfria grammatiker i språkteknolog Leif Grönqvist
Växjö 15 april -04Språk & logik: Reguljära uttryck1 DAB760: Språk och logik 15/4: Finita automater och 13-15reguljära uttryck Leif Grönqvist
Praktisk databasdesign (kap 12)
Programspråkssemantik Hur programspråk ska tolkas.
Prolog PROgramming LOGic (programmation en logique)
© Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, 2004 Datastrukturer och algoritmer Föreläsning 3.
Programmering B PHP Lektion 2
A-nivå - Valbara moment Krav: grundläggande A-nivå - Valbara moment Krav: grundläggande B-nivå - Valbara moment Krav: 30 hp på A-nivå 1. Språk och kultur.
Detection of similarity between documents Axel Bengtsson Ola Olsson
Programmering B PHP Lektion 3
Formell logik Kapitel 1 och 2
Lennart Edblom, Frank Drewes, Inst. f. datavetenskap 1 Föreläsning 6: Semantik Statisk semantik Attributgrammatiker Dynamisk semantik Axiomatisk.
1 Uppgift Implementera HProgSäk i Safety 1st Tillämpa HProgSäk i ”Pilotprojekt”
Algoritmer. Ordet kommer från en persisk författare som kom från al’Khowârizmi (engelskans algorithm). Han skrev boken ’Kitab al jabr w’al-muqabala’.
Experimentell utvärdering Språkteknologisk forskning och utveckling (HT 2006)
Håkan Jönson Socialhögskolan i Lund
För utveckling av verksamhet, produkter och livskvalitet. -Algoritmer och Datastrukturer- -Algoritm analys och sökning algoritmer- Kap 5 -Algoritmer och.
Förelasning 6 Hypotesprövning
 Inga-Lill Bratteby-Ribbing, SESAM SESAM-gruppen i Programvarusäkerhet (software safety) Arbetet är organiserat i ◘ teman med ett/flera ◘ mikroprojekt.
Objektorientering.
1. Konnektionism – grunderna
F. Drewes, Inst. f. datavetenskap1 Föreläsning 11: Funktionella språk Funktioner och variabler i matematiken Funktionella språk LISP, ML och.
Skattning av trendkurvor/trendytor och förändringar över tiden Claudia von Brömssen SLU.
Programmeringsmetodik
Designstöd Daniel Fällman Institutionen för informatik Umeå universitet Design och utvärdering, 5 poäng.
MDI och användbarhet Måndagen den 27/3 Design och utvärdering, 5 poäng.
Läsbar prolog CM 8.1. allmäna principer correctness user-friendliness efficiency readability modifiability robustness documentation.
Statsvetenskap 3, statsvetenskapliga metoder
Problemlösningsmetodik
INFORMATIONSSYSTEM Informationssystem: datoriserat system som stödjer en organisations informationsförsörjning VERKSAMHET avbildar Definitionen alltför.
F. Drewes, Inst. f. datavetenskap1 Föreläsning 4: Syntaxdefinition Formell syntaxdefinition Lexikalisk och kontextfri syntax Flertydighet i kontextfri.
1 Mjukvaru-utveckling av interaktiva system God utveckling av interaktiva system kräver abstrakt funktionell beskrivning noggrann utvecklingsmetod Slutanvändare.
Vimmerby Magnus Klofsten Generella framgångsfaktorer i kluster.
© Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, 2003 Datastrukturer och algoritmer Föreläsning 13 Sortering.
F. Drewes, Inst. f. datavetenskap1 Föreläsning 5: Syntaxanalys (parsning) Syntaxanalysens mål Tillvägagångssätt och komplexitet Syntaxanalys.
Pontus Johansson 1 grammatiker 21.1 G 1 (BBS 7)
Pickering Robust semantisk parser Del i HIGGINS- projektet –Felhantering i dialogsystem –Navigering i stadsmiljö.
Ifous Små barns lärande APT 22 april 2015
Lennart Edblom, Frank Drewes, Inst. f. datavetenskap 1 Föreläsning 4: Syntaxdefinition Formell syntaxdefinition Lexikalisk och kontextfri syntax.
Föreläsningsanteckningar Kortfattat om programmeringsmetodik Ola Ågren Hur det går till att göra ett program.
Föreläsning om RUP RUP – Rational Unified Process
Helena Lindgren 1 MDI – fördjupningskurs (D – nivå) Kursens mål ge teoretisk fördjupning i ämnet människa-dator interaktion, ge kunskap om metoder.
© Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, 2003 Datastrukturer och algoritmer Föreläsning 16.
Algoritmer och loopar Algoritmer, beräkningsbarhet
Krav på vetenskaplig tolkning
Lunds Tekniska Högskola | Industriell ekonomi Industriell ekonomi TEKNIKPROFILER.
Statistisk hypotesprövning. Test av hypoteser Ofta när man gör undersökningar så vill man ha svar på olika frågor (s.k. hypoteser). T.ex. Stämmer en spelares.
Enkel Linjär Regression. 1 Introduktion Vi undersöker relationer mellan variabler via en matematisk ekvation. Motivet för att använda denna teknik är:
ACD 3 Bligård & Simonsen ACD 3 (Aktivitetscentrerad design) Lars-Ola Bligård & Eva Simonsen
UPPSATSPLAN HUR GÖR MAN EN SÅDAN?. UPPSATSPLAN Nytt steg i processen, PM godkänt PM är början på planen Handledartilldelning Samarbete med handledare.
Algoritmer och datastrukturer Föreläsning 8 Tidskomplexitet (Weiss kap
Formell logik Kapitel 1 och 2
Kursplan för svenskundervisning för invandrare
ÄMNESHJUL MATEMATIK ÅK 3
Presentationens avskrift:

Språkteknologiska metoder Språkteknologisk forskning och utveckling (HT 2006)

Metoder i språkteknologi Forskningsmetoder: –Metoder för att systematiskt söka ny kunskap och berättiga vetenskapliga teorier Utvecklingsmetoder: –Metoder för att tillämpa ny kunskap och vetenskapliga teorier i utvecklandet av språkteknologiska system Problem (begreppsligt): –Dessa metoder går delvis in i varandra och används tillsammans i språkteknologisk forskning (och utveckling)

Språkteknologiska problem Språkteknologi utvecklar datorsystem som hanterar naturligt språk. Exempel på språkteknologiska problem: –Ordklasstaggning: Annotera meningar eller texter i naturligt språk med ordklasser. –Textgenerering: Producera texter på naturligt språk från en (icke-språklig) kunskapsrepresentation. –Maskinöversättning: Översätta meningar eller texter i ett (naturligt) källspråk till meningar eller texter i ett (naturligt) målspråk.

Modeller och algoritmer Problem (metodologiskt): –Många språkteknologiska problem är alltför vagt definierade för att kunna lösas algoritmiskt. –Vi använder därför matematiska modeller för att lösa abstrakta problem som är approximationer av de verkliga problemen. Exempel: –Syntaktisk analys av text i ett naturligt språk L kan lösas genom att beräkna parsningsproblemet för en kontextfri grammatik G för ett formellt språk L(G) som approximerar L.

Tillämpningsmetoder En tillämpningsmetod för ett problem P kan normalt delas upp i två komponenter: –En matematisk modell M som definierar ett abstrakt problem Q som kan användas som en modell av P –En algoritm A som effektivt beräknar Q Exempel: –P = Syntaktisk analys –M = Kontextfri grammatik –Q = Parsningsproblemet för kontextfria grammatiker –A = Parsningsalgoritm (t.ex. CKY)

Problem, modeller och algoritmer Modell M Algoritm A Abstrakt problem Q Verkligt problem P Instanser I Lösningar S Instans iLösning s

Utveckling och utvärdering En utvecklingsmetod är en metod för att implementera en tillämpningsmetod i ett språkteknologiskt system: –Utveckling/implementation av modeller (inklusive dataresurser) –Utveckling/implementation av algoritmer En utvärderingsmetod är en metod för att utvärdera ett språkteknologiskt system

Systemutveckling Definiera problem: –Verkligt problem med utvärderingskriterier –Approximation i form av abstrakt(a) problem Definiera och implementera tillämpningsmetoder: –Matematiska modeller: Struktur (formalism, representationsspråk, etc.) Innehåll (dataresurser, t.ex. lexikon, grammatik) –Algoritmer Utvärdera system: –Intern utvärdering (modeller och algoritmer) –Extern utvärdering (jfr utvärderingskriterier)

Systemutveckling: Exempel (1) Problem: –Syntaktisk analys av fri text på svenska –Utvärderingskriterier: Robusthet: Minst en analys per mening Disambiguering: Högst en analys per mening Effektivitet: Linjär tids- och minnesåtgång (i förhållande till meningslängd) Korrekthet: Andelen helt korrekt analyserade meningar i ett slumpmässigt stickprov

Systemutveckling: Exempel (2) Abstrakta problem: –Grammatikbaserad parsning: x  {y 1, …, y n } –Statistisk disambiguering: {y 1, …, y n }  y max Matematiska modeller: –Formell grammatik: Definierar en mängd av härledningar för varje sträng, t.ex. i form av kontextfria parseträd –Statistisk disambigueringsmodell: Definierar en metrik för par av strängar och parseträd, t.ex. i termer av deras förenade sannolikhet P(x, y i ).

Systemutveckling: Exempel (3) Algoritmer: –Parsningsalgoritm –Algoritm för beräkning av metrik (eventuellt integrerat i parsningsalgoritmen) Implementation: –Utveckla grammatik (t.ex. genom manuellt utvecklingsarbete) –Utveckla disambigueringsmodell (t.ex. genom induktiv inlärning från korpusdata) –Implementera datastrukturer och algoritmer för parsning och disambiguering

Systemutveckling: Exempel (4) Utvärdering –Teoretiskt: Bevisa formella egenskaper hos modeller och algoritmer, t.ex. terminering och tidskomplexitet. –Experimentellt: Testa systemet på slumpmässigt stickprov av fri text på svenska och mät: –Robusthet: Andel meningar som ej får någon analys. –Disambiguering: Andel meningar som får mer än en analys. –Effektivitet: Faktisk tids- och minnesförbrukning (i förhållande till indatas storlek). –Korrekthet: Andel meningar som får en helt korrekt analys (i jämförelse med manuell annotering).

Modellering Faktorer att beakta vid val av abstrakt modellproblem (för ett givet verkligt problem): –Indata (ord, meningar, texter, sökfrågor, …) –Utdata (texter, dokument, analyser, …) –Relation mellan indata och utdata (analys av mening, dokument som matchar sökfråga, …) –Bivillkor (effektivitetskrav, tillgång på resurser, …) Ett abstrakt problem kan ofta brytas ned i mindre och enklare delproblem: –Syntaktisk analys: tokenisering, taggning, chunkning, grammatisk funktionsanalys, …

Algoritmutveckling Utveckling av nya algoritmer: –Utveckla algoritmen (eller anpassa en befintlig algoritm). –Beskriv algoritmen på ett exakt sätt. –Bevisa egenskaper hos algoritmen (t.ex. komplexitet). Implementation av algoritmer: –Välj implementationsstrategi (iterativt eller rekursivt, top-down eller bottom-up, …). –Välj lämpliga datastrukturer. –Koda algoritmen i lämpligt programspråk (och programmeringsmiljö). –Testa algoritmen (t.ex. med benchmark-exempel).

Modellutveckling Två aspekter av modeller: –Struktur (t.ex. kontextfri grammatik, Markov-modell) –Substans (specifika regler, sannolikheter, etc.) Utveckling av modeller: –Struktur: Definiera en ny typ av modell. –Substans: Instantiera en befintlig modelltyp (t.ex. utveckla en morfologisk beskrivning för finska). Implementation av modeller: –Struktur: Datastrukturer (jfr algoritm) –Substans: Inläsning och lagring av data i strukturer

Utvärdering Olika typer av utvärdering: –Black box: Extern utvärdering, in- och utdata, oberoende av tillämpningsmetod (modeller och algoritmer) –Glass box: Intern utvärdering, modeller och algoritmer, separat eller tillsammans Utvärderingsdimensioner: –Funktionalitet (inklusive korrekthet) –Effektivitet (resursförbrukning) –Användbarhet, portabilitet m.m.

Iterativ utveckling Utveckling sker ofta iterativt med återkommande inslag av utvärdering: while (not satisfactory) { design; implement; evaluate; }