My research falls under the heading of Natural Language Processing which is itself a sub-discipline of Artificial Intelligence (AI). In my research, I develop algorithms that try to "understand" text in the same ways that you (presumably a human) understand text. My interest in natural language comes from an appreciation of the brain's ability to effortlessly produce and understand written and spoken language. We take for granted our ability to read a newspaper or recommend a book to a friend. However, these mundane tasks belie the brain's incredible capacity for storing, processing, and generalizing information.

Currently, I'm working on a new project: text-based games (also known as "interactive fiction"). Text-based games are adventure-based computer games where the player interacts with the game environment through a text-based (rather than graphics-based) interface. Text-based games provide a wonderful testbed for developing algorithms that can understand and generate natural language. In order to successfully play a text-based game, an agent must be able to understand the description of the environment (which includes inferring information not explicitly stated), have commonsense knowledge (e.g. that “turn on lantern” makes sense whereas “climb up lantern” does not), keep track of multiple long-term objectives, and generate syntactically correct, relevant text actions. In general, text-based games remain a challenging domain for AI agents.

The techniques that I use in my research come from various sub-disciplines of AI including graphical models, statistical pattern recognition, gradient-based optimization, supervised learning, unsupervised learning, and reinforcement learning. Many of these techniques draw from calculus, linear algebra, probability, statistics, and stochastic processes.