I am a computational linguist in the Linguistics Department at the University of Canterbury in Christchurch, New Zealand. My work models both language learning and language change using large multi-lingual corpora. The challenge is to explain how speakers converge onto similar grammars while at the same time explaining how grammars diverge into distinct dialects and registers.

Before joining the University of Canterbury, I held positions in computer science at the Illinois Institute of Technology and received a PhD in linguistics from Purdue University under Victor Raskin. I have published over 30 papers in computational linguistics and my first book, Natural Language Processing for Corpus Linguistics, is now available from Cambridge University Press.

On a practical level, my work provides solutions to difficult problems: Language Identification, Dialect Identification, Construction Grammar, Language Mapping, and Corpus Similarity.

If you’re interested in learning more about computational linguistics, check out my recent book or my two courses on edX: Text Analytics 1: Introducing Natural Language Processing and Text Analytics 2: Visualizing Natural Language Processing. Taken together, these free courses provide a basic introduction to natural language processing. You can also use my introductory Python package on its own: Text Analytics.