God oversikt over pensum med forklaringer, formler, vanlige feil og eksamenstips.
IN1140 Introduksjon til sprakteknologi er et tverrfaglig emne ved Institutt for informatikk, UiO, som kombinerer lingvistikk og informatikk. Kurset gir en bred innforing i hvordan datamaskiner kan analysere, forsta og generere menneskelig sprak -- fra grunnleggende tekstbehandling med regulaere uttrykk til maskinlaering med Naive Bayes-klassifisering.
Eksamen folger et fast monster med 7-13 oppgaver fordelt pa sju hovedtemaer: regulaere uttrykk, morfologi og ordklasser, sprakmodeller (n-gram), syntaks og grammatikk, semantikk (leksikalske relasjoner og semantiske roller), klassifisering (Naive Bayes), og sprakteknologiske anvendelser (NER, koreferanse). Typisk vekting: regulaere uttrykk (10-15%), ordklasser og morfologi (10-15%), sprakmodeller (10-15%), syntaks og grammatikk (15-25%), semantikk (10-15%), Naive Bayes og maskinlaering (15-20%), og NER/anvendelser (5-10%).
Viktig: Eksamen tester bade teoretisk forstaelse (definisjoner, begreper) og praktisk ferdighet (skrive regex, tegne treer, regne Naive Bayes). Oev pa regneoppgaver og regex-skriving -- det er ikke nok a bare lese teorien. Alle tre eksamenene (2020, 2021, 2022) har testet noyaktig de samme kjerneemnene, bare med ulike eksempler.
Regulaere uttrykk (regex) er monstre som brukes til a soeke etter, matche og trekke ut tekst. Et sentralt verktoy i all tekstbehandling og sprakteknologi.
Regulaere uttrykk (regex) er et formelt sprak for a beskrive monstre i tekst. De brukes i nesten alle sprakteknologiske systemer -- fra tokenisering og informasjonsekstraksjon til datavalidering. I IN1140 er regex en av de mest praktiske ferdighetene du testes i, og oppgavene krever at du kan skrive presise uttrykk som matcher akkurat det som spesifiseres.
De viktigste operatorene i regex er: tegnklasser [abc] matcher ett av tegnene a, b eller c; [0-9] matcher et siffer; [a-zA-Z] matcher en bokstav. Disjunksjon a|b matcher enten a eller b -- merk at disjunksjon har lav presedens, sa ab|cd|efg matcher hele strengen "ab", "cd" eller "efg" (ikke bare enkeltbokstaver). Kvantitatorer: ? (0 eller 1), * (0 eller flere), + (1 eller flere), {n} (noyaktig n), {n,m} (mellom n og m). Grupperinger med parenteser () styrer presedens og fanger grupper.
Punktum . matcher et vilkarlig tegn. Backslash \ brukes for a escape spesialtegn, f.eks. \. for a matche et faktisk punktum. Forkortelser: \d = [0-9], \s = mellomrom/tab/newline, \w = ordtegn [a-zA-Z0-9_]. Ankere: ^ = starten av linjen, $ = slutten av linjen.
Parenteser har to funksjoner: de grupperer uttrykk for a styre presedens (f.eks. (ab)+ matcher "ab", "abab", osv.), og de fanger delstrenger for bruk videre. Pa H2022-eksamen ble du spurt om parenteser i uttrykket (0?[1-9]|1[012])-(31|[123]0|[012]?[1-9]) kunne fjernes -- svaret avhenger av om parentesene er nodvendige for a skille alternativene innenfor disjunksjonen fra resten av uttrykket.
H2020 ba deg skrive et regex for togbilletter med spesifikke krav til datoformat, pris, klokkeslett og billettype. H2021 ba om et regex for norske postadresser med tre mulige formater. H2022 testet forstaelse av disjunksjon og grupperinger gjennom flervalgsoppgaver. Nokkelen til slike oppgaver er a bryte ned kravene i delproblemer og bygge uttrykket steg for steg.
Krav: Match datoer som 5.6.2014, 05.06.2014, 5.6.14, 05.06.14 (dag.maned.ar).
/([012]?[1-9]|[123]0|31)\.(0?[1-9]|1[012])\.\d\d(\d\d)?/Forklaring: Dagen matcher 1-31 (med valgfri ledende null), etterfulgt av punktum, maned 1-12, punktum, og to eller fire sifre for aret.
Gitt: ((\ +47|0047)\s)?([0-9][0-9]\s){3}([0-9][0-9]){1}
Sporsmalet var om uttrykket kun gjenkjenner numre som begynner med +47/0047, eller om det ogsaa matcher numre uten landskode. Svaret: Gruppen med landskode er valgfri (markert med ?), sa uttrykket matcher bade med og uten landskode. Paastand 1 ("kun med landskode") er altsaa usann.
Nøkkelformler
Vanlige feil
Eksamenstips
Laster...