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.

Comments

blog comments powered by Disqus
Fork me on GitHub