My research spans two broad areas: Natural Language Processing and Machine Learning. Understanding human language by computers has been a central goal of AI. Human language is an intricate system; each sentence has its own grammatical structure, inter-connected references, and set of possible meanings. The field of Natural Language Processing (NLP) aims to build computational models of language in order to make predictions based on real-world textual data. Example applications of NLP include machine translation, information extraction, and question answering. Tools developed for these problems are increasingly becoming part of daily life, from speech and dialogue systems on mobile devices to structured search on the web to real-time translation. NLP is a rich intersection of formal modeling, applied algorithms and scalable data systems, and has served as an important application domain for related fields such as Machine Learning (ML).