To pass the venerable Turing Test of Intelligence, computers must be
able to, in part, communicate information in a natural language. That
is, given some input semantic representation (such as run(peter)), a
computer should be able to generate a correct sentence in any human
language: "Peter runs" in English, or "Peter [Pedro?] corre", in
Spanish. The subfield of Artificial Intelligence that deals with these
issues is called Natural Language Generation (or NLG, for short). The
results of NLG research are used in several applications such as
embedding interactivity in Non-Player Characters (NPCs) of Massively
multiplayer online role-playing games (MMORPGs), in automatic
translation, dialogue and tutorial systems, and for the generation of
online summarizations of massive numerical databases, to name but a
few.
This course is an advanced introduction to the problems, methods and techniques of Natural Language Generation. We will be using, testing, re-coding and, when possible, improving on a current well-known general purpose NLG system. Some of the topics to be covered include feature structures (or attribute-value matrices), unification, feature structure typing, and grammatical formalisms like functional unification grammars and head-driven phrase structure grammars.