My long term goal is to develop systems that learn predictive models from massive data sources when the requisite models are complex (e.g., as in perception, language interpretation, information extraction, bio-informatics, robot learning). Some of the key challenges are knowledge representation for learning -- how to usefully express and debug prior domain assumptions -- and navigating complex model spaces -- how to find good models while avoiding over/under-fitting. Some ongoing projects include: statistical natural language modeling, reinforcement learning, and learning search control. I've also developed some new methods for probabilistic inference, optimization, and constraint satisfaction.