Speech and Language Processing (3rd ed. draft)
web.stanford.edu