Secrets of natural language UIs: Translating English into computer actions

Joseph Turian and I gave a talk at Strata 2016 entitled "Secrets of natural language UIs: Translating English into computer actions".

Here's a video:

In the talk, we argue that natural-language UIs can enable users to interact with complicated data in a way that traditional UIs cannot. As an example, we discuss the implementation of UPSHOT's English-to-SQL interface.

Getting a little more hands-on, I give a quick tutorial (starting around 7:20) on CCG (combinatory categorial grammar) and basic lambda calculus, finally culminating into a complete semantic parse of the example phrase "top 5 opportunities in California by amount":

Semantic CCG parse of "top 5 opportunities in California by amount"

Leading up to the talk, we released montague, a little CCG semantic parsing library for Scala that emphasizes simplicity and expressibility. montague is an open-source version of the CCG parser that powered UPSHOT's English-to-SQL translation functionality.

If you've ever wanted to try building a natural-language interface of your own but have been intimidated by the current NLP ecosystem, I think that montague could be a great place to start. Check out the examples package (and its documentation) to see what programs written with montague look like.


blog comments powered by Disqus
Fork me on GitHub