Cijfers practica |
Boeken |
Docenten: Khalil Sima'an (blok A) Andy Pimentel (blok B) |
MEDEDELINGEN |
Maandag 9:00-11:00 (H) Maandag 11:00-13:00 (P) |
Richtlijnen
practicum opgaves |
| Docent K. Sima'an |
BOEKEN
BLOK A We behandelen delen van het volgende boek (kopieen worden gelegd in de bibliotheek in Euclides) Daniel Jurafsky and James H. Martin. `"SPEECH and LANGUAGE PROCESSING": An Introduction to Natural Language Processing, Computational Linguistics, and Speech Recognition. Prentice-Hall, 2000. Hoofstukken 1, 2, 5, 6 en 8. ------------------------------------------------------------------------- Andere boeken (extra lees materiaal): Chris Manning and Hinrich Schütze. "Foundations of Statistical Natural Language Processing", MIT Press. Cambridge, MA: May 1999. (see http://nlp.stanford.edu/fsnlp/ ) |
|
|
||
College 1 |
Inleiding NLP Lees:
Een terugblik op simpele waarschijnlijkheden en statistiek: Leid de volgende beweringen af gebruikmakend slechts van de drie axioma's van de waarschijnlijkheidsleer en van verzamelingentheorie: pdf file van beweringen Lever de afleidingen met enige uitleg in. |
|
College 2 |
Spellingscorrectie,
Language Models en Markov Modellen (I) Lees
Schrijf een programma dat als input een natuurlijk getal n en een grote text bestand (een corpus) inleest. De output moet zijn een tabel van alle sequenties van lengte n woorden met het aantal keer (frequentie) dat de sequentie voorkomt in het corpus (let op: de sequentie van n woorden moet letterlijk in het corpus voorkomen). Maak gebruik van AUSTEN TRAIN hieronder als invoer corpus voor jouw programma. In te leveren: A. Voor n=1, n=2 en n=3 lever je in de tabel van de 10 meest voorkomende sequenties. B. De som van de frequenties van alle sequenties van lengte n=1, n=2 en n=3. C. Programma met uitleg zoals aangegeven in de algemene regels voor practica. Training-set AUSTEN TRAIN |
|
| College 3 |
Spellingscorrectie,
Language Models en Markov Modellen (II) Lees
Hint: bij de berekening van de twee meest waarschijnlijke zinnen hoef je niet alle zinnen eerst te genereren om vervolgens de 2 meest waarschijnlijke te kiezen: op ieder moment waarin je een nieuwe zin genereert, hoef je slechts twee zinnen en twee waarschijnlijkheden te bewaren. In te leveren: de oplossingen voor vraag 1 en de raaportages hierboven in onderdelen A t/m C van vraag 2 plus programma en uitleg over hoe het werkt (zie verder de algemen regels voor practica). Training-set AUSTEN TRAIN |
|
| Colleges 4 |
Basis
Smoothing
Technieken voor N-gram Statistiek Lees
|
|
| College 5 |
Part-of-Speech Tagging en Hidden Markov Models (I + II) Lees
Zie ook de pagina van Koen: http://student.science.uva.nl/~ksande/practicum4.html Dit betreft een standaard stochastische POS tagger: Taal-model: conditioneert iedere POS tag op de twee voorgaande Dus 2de orde Markov model op POS tags (tri-grams) Lexicale model: zoals gewonelijk (zie slides) Opdrachten: - Schrijf de formules voor de tagger op - Programmeer de tagger in twee stappen: stap 1: een trainings-stap waarin trainings data wordt gebruikt om de waarschijnlijkheden te schatten stap 2: een toepassing stap waarin een zin als input wordt gegeven aan jouw tagger, en de output is de meest waarschijnlijke tag sequentie gegeven de zin, dus argmax_tags P(tags | input zin) - Test jouw tagger op de test-set zinnen en doe de evaluatie van de output ten opzichte van de correcte test-set en rapporteer Precision en Recall - Smooth beide, het lexicale en het taal model, in de tagger met de Good-Turing methode (vorige practicum) en doe de evaluatie opnieuw m.b.v. Precision en Recall Aanwijzingen betreffende de structuur van het programma: Om deze modellen te bouwen kan je de twee stappen in twee programma's implementeren gebruikmakend van alles wat je opgebouwd hebt in voorgaande practica: Stap 1 (programma 1) A. tabellen van frequencies van de benodigde N-grammen uit de training materiaal extraheren en in geschikte tabellen plaatsen. B. Deze tabellen gerbuik je om de waarschijnlijkheden te schatten middels relatieve frequencies om op deze manier nieuwe tabellen van waarschijlijkheden te verkrijgen C. Schrijf de tabbelen uit in een speciale file (zegmaar genaamd TABFILE) D. Vergeet de extra begin-of-sentence en end-of-sentence symbolen niet E. Maak een gesmoothe versie van de tabellen Stap 2 (programma 2) A. Leest de file TABFILE met de tabellen in en bewaart die in memory B. Leest de test zinnen in (t/m end of file) en output voor iedere zin de meest waarschijnlijke tagging. (Let op: dit programma kan hetzelfde zijn voor beide taggers - met een klein beetje creativiteit wel te verstaan!!) Stap 3 (programma 3) Een programma dat een test-file (die getagged is) inleest, de output van jouw tagger voor dezelfde test-zinnen ook inleest, en de precision & recall berekent. Let op de extra begin/end-of-sentence symbolen worden niet meegerekend in de precision en recall!! Aanwijzingen voor simplere test: - Je mag in de test file alle zinnen langer dan 15 woorden negeren. Je kan dit beter niet doen op de training set omdat je op deze manier statistiek kwijt raakt. - Negeer, zowel in training als in test sets, alle paren X/Y waarbij Y geen alfanumerieke sequentie van tekens is of "." (dus alle POS tags die geen punt zijn en geen alfanumerieke symbolen zijn kan je uit je data weggooien). De "./." is het einde van een zin in dat geval. In te leveren: - Het programma dat de tagger voorstelt en het programma dat de evaluatie van de tagger uitvoert. Beide met uitleg zoals aangegeven bij de algemene regels - De test text geheel getagged - De Precision en Recall van jouw tagger op deze test set *TRAINING AND TESTING MATERIAL bij assistent te verkrijgen!! |
|
| College 6 | Parsing en
Context-Vrije Grammatika (CFG) Slides Geen nieuwe opgaves meer! |
|
| College 7 |
Geen College: werk aan laatste
practicum! Geen nieuwe opgaves meer! |