Dependency parsing is a form of syntactic parsing of natural language based on the theoretical tradition of dependency grammar. It has recently gained widespread interest in the computational linguistics community and has been used for applications such as information extraction, machine translation and question answering. In this article, we review the current state of the art in dependency parsing, starting with a characterization of the basic problem and some motivation for why dependency parsing may be a useful alternative to other forms of syntactic parsing. The major part of the article is devoted to an examination of the four main approaches that exist in the field today: context-free dependency parsing, constraint dependency parsing, graph-based dependency parsing, and transition-based dependency parsing. Each approach is described in detail and its strengths and weaknesses are highlighted.