Strange Loop

Probabilistic scripts for automating common-sense tasks

As engineers, we love automating tedious tasks. But when those tasks require common-sense reasoning, automation can be difficult. Consider, for example, cleaning a messy dataset-full of typos, NULL values, numbers in the wrong units, and other problems. People have little trouble fixing these errors by hand, but it can be difficult to express the rules for doing so programmatically.

In this talk, I'll introduce a new declarative-programming approach for automating common-sense reasoning tasks: probabilistic scripting. Probabilistic scripts encode (possibly uncertain) domain knowledge declaratively, and leave the compiler to synthesize an efficient inference algorithm that will solve the task at hand. This is all made possible by recent advances in the field of probabilistic programming-in particular, programmable inference engines.

I will demonstrate how this technique can be used to design and implement a scripting language for automating real-world data-cleaning tasks, which achieves state-of-the-art accuracy on data-cleaning benchmarks. More broadly, attendees will come away with a sense of how probabilistic programming can be used to bring common-sense reasoning to the automation of all sorts of tasks.

Alexander Lew

Alexander Lew

MIT Probabilistic Computing Project

Alex Lew is a Ph.D. student at MIT's Probabilistic Computing Project, and a lead researcher for Metaprob, an open-source probabilistic programming language embedded in Clojure(Script). He aims to build tools that empower everyone to use probabilistic modeling and inference to solve problems creatively. Before coming to MIT, Alex designed and taught a four-year high-school computer science curriculum at the Commonwealth School in Boston. A native of Durham, NC, he also returns home each summer to teach at the Duke Machine Learning Summer School (and spend time with his family and their dogs!).