1. A method comprising: configuring a client device to: process one or more natural language inputs with respect to data sources stored on the client device to determine a first set of interpretation candidates for the one or more natural language inputs; and to communicate, to a server, results from processing the one or more natural language inputs with respect to the data sources stored on the client device; determining, by the server and based on the results from processing the one or more natural language inputs with respect to the data sources stored on the client device, a list of possible interpretation candidates for the one or more natural language inputs, the list comprising a second set of interpretation candidates for the one or more natural language inputs; ranking, by the server, the list of possible interpretation candidates; pruning, by the server, the list of possible interpretation candidates; constraining, by the server and based on pseudo data corresponding to the data sources located on the client device, the pruning to prevent at least one interpretation candidate of the second set of interpretation candidates from being pruned from the list of possible interpretation candidates; and communicating, by the server and to the client device, the second set of interpretation candidates for the one or more natural language inputs, for a final output interpretation of the one or more natural language inputs by the client device that comprises ranking a plurality of interpretation candidates comprising the first set of interpretation candidates and the second set of interpretation candidates.