1. An arrangement for distributed natural language processing comprising: a set of local data sources stored on a mobile device; a local natural language understanding (NLU) match module on the mobile device for natural language processing a natural language input with respect to the local data sources to determine one or more local interpretation candidates; and a local NLU ranking module on the mobile device for processing the local interpretation candidates and one or more remote interpretation candidates from a remote NLU server to determine a final output interpretation corresponding to the natural language input.