Coursera Natural Language Processing  by Michael Collins Columbia University