Introduction to natural language processing - Eisenstein, Jacob (Adaptive computation and machine learning, 2019)
"The book provides a technical perspective on the most contemporary data-driven approaches, focusing on techniques from supervised and unsupervised machine learning. It also includes background in the salient linguistic issues, as well as computational representations and algorithms. The first section of the book explores what can be with individual words. The second section concerns structured representations such as sequences, trees, and graphs. The third section highlights different approaches to the representation and analysis of linguistic meaning. The final section describes three of the most transformative applications of natural language processing: information extraction, machine translation, and text generation. The book describes the technical foundations of the field, including the most relevant machine learning techniques, algorithms, and linguistic representations. From these foundations, it extends to contemporary research in areas such as deep learning. Each chapter contains exercises that include paper-and-pencil analysis of the computational algorithms and linguistic issues, as well as software implementations"--