CPS196 - Fall 1999
Probability Programming
Background: This course is about programming under uncertainty. This
paper presents a programming language that has uncertainty about its
execution. It can be used to model uncertain events, like the simple
letter-bigram model we used for "leet speak" repair.
The language is defined so that it has an efficient inference
algorithm. That is, we can compute the probabilities of different
types of events occurring in the program. As we saw in the repair
example, this can be key for trying to disambiguate complex patterns.
Focus on Sections 1 and 2 in your reading.
Questions:
- Explain in words how you could use the probability program idea
to model the tagging problem. How would you use this to decide which
of two tag sequences make an observed sentence more likely?
- Tuesday: Announce to class the title of your term project.
- Thursday: Turn in a brief written description of your term
project. (We're going to have milestones each week to give you plenty
of time to get the projects together.)
Offline: Unigram Repair
Background: Modify the repair.pl program to
repair by unigrams instead of bigrams. That is, for each corrupted
character, your program should return the plain letter that is the
most likely. Depending on how you do it, the repairline function is
probably the only thing that needs to change.
Questions:
- Run repair.pl paper.lc leet.txt. What percent correct did you get? The
bigram model gives 99.1%.
Notes
Modified: Wed Oct 27 21:43:47 EDT 1999
by Michael Littman, mlittman@cs.duke.edu