  It has recently become feasible to run personal digital assistants on phones
and other personal devices. In this paper we describe a design for a natural
language understanding system that runs on device. In comparison to a
server-based assistant, this system is more private, more reliable, faster,
more expressive, and more accurate. We describe what led to key choices about
architecture and technologies. For example, some approaches in the dialog
systems literature are difficult to maintain over time in a deployment setting.
We hope that sharing learnings from our practical experiences may help inform
future work in the research community.
