Introduction to natural language processing - Eisenstein, Jacob (Cambridge, 2019)