Data structures and algorithms for natural language processing.