Understanding English with lattice-learning
Author(s)
Klein, Michael Tully, Jr
DownloadFull printable version (23.84Mb)
Other Contributors
Massachusetts Institute of Technology. Dept. of Electrical Engineering and Computer Science.
Advisor
Patrick Henry Winston.
Terms of use
Metadata
Show full item recordAbstract
A computer program that can understand the meaning of written English must be tremendously complex. It would break the spirit of any programmer to try to code such a program by hand; the range of meaning we can express in natural language is far too broad, too nuanced, too filled with exception. So I present UNDERSTAND, a program you can teach by example. Learning by example is an engineering expedient: it is much easier for us to come up with specific examples of a concept than some sort of perfect Platonic model. UNDERSTAND uses a technique I call Lattice-Learning to generalize accurately from just a few examples: "Robins, bees and helicopters can fly, but cats, worms and boats cannot," is enough for UNDERSTAND to narrow in on our concept of flying things: birds, insects and aircraft. It takes only 8 positive and 4 negative examples to teach UNDERSTAND how to interpret sentences as complicated as "The cat ran from the yard because a dog appeared." UNDERSTAND is implemented in 2300 lines of Java.
Description
Thesis (M. Eng.)--Massachusetts Institute of Technology, Dept. of Electrical Engineering and Computer Science, 2008. Includes bibliographical references (p. 49).
Date issued
2008Department
Massachusetts Institute of Technology. Department of Electrical Engineering and Computer SciencePublisher
Massachusetts Institute of Technology
Keywords
Electrical Engineering and Computer Science.