I research and develop effective and efficient natural language processing models. My work is fundamentally interdisciplinary, combining machine learning, linguistics, and language acquisition/processing to create state of the art systems. I've applied my work in many domains, such as natural language understanding, robotics, autism research, and language acquisition.
I did my graduate work in Computer Science at The University of Pennsylvania (Ph.D. 2013), advised by Mitch Marcus and Charles Yang. I then completed a post-doctoral fellowship at The Children's Hospital of Philadelphia exploring clinical applications of statisical models of language processing, working with Tim Roberts. Frequent collaborators include Jonathan Brennan, Kyle Gorman, Laurel MacKenzie, Hilary Prichard, and Vasu Raman.
Special issue of Linguistic Variation
The special issue The locus of linguistic variation that I co-edited will be published as issue 16:2 of Linguistic Variation.
Chapter in Cambridge Handbook of Morphology
Blends research featured in TIME Magazine
My work with Hilary Prichard on word blends is featured in the July 2015 TIME Answers issue: Why Did ‘Frenemy’ Stick? Academics are unraveling the mystery behind the success–and failure–of blended words. While that article is only available to subscribers, you can read more about our work here: Quantifying cronuts: Predicting the quality of blends.
MORSEL: a cognitively-motivated state-of-the-art unsupervised morphological analyzer I developed for Morpho Challenge 2010. It achieved state-of-the-art results in English and Finnish.
Codeswitchador: a system for identifying code-switching in social media data. This work enables the creation of large scale corpora of code-switching and identification of bilingual users. I developed this as a participant of the SCALE summer workshop at the Johns Hopkins Center of Excellence in Human Language Technology.
Regrettably, most of my research over the last few years is closed-source. However, many older projects are publicly available on GitHub.
I teach researchers to write great Python code. The notes for the bootcamps I've done are available at Python Boot Camp for Researchers.
I maintain a list of common mistakes that programmers new to Python make: Anti-Patterns in Python Coding.
In Spring 2011 and 2012, I taught one of the CIS department's "mini-courses," Python Programming (CIS 192).
In the past I've also led some informal groups for learning Python. The slides from those groups can be found on my Python for Language Researchers Site.