Distributed natural language understanding and processing using local data sources
First Claim
Patent Images
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.
1 Assignment
0 Petitions
Accused Products
Abstract
An arrangement and corresponding method are described for distributed natural language processing. A set of local data sources is stored on a mobile device. A local natural language understanding (NLU) match module on the mobile device performs natural language processing of a natural language input with respect to the local data sources to determine one or more local interpretation candidates. A local NLU ranking module on the mobile device processes 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.
21 Citations
18 Claims
-
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. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A system comprising:
-
at least one processor; and a memory storing instructions that when executed by the at least one processor cause the system to; configure 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 the system, results from processing the one or more natural language inputs with respect to the data sources stored on the client device;determine, 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; rank the list of possible interpretation candidates; prune the list of possible interpretation candidates; constrain, 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 communicate, 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. - View Dependent Claims (8, 9, 10, 11, 12)
-
-
13. One or more non-transitory computer-readable media having instructions stored thereon that when executed by one or more computers cause the one or more computers to:
-
configure 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 the one or more computers, results from processing the one or more natural language inputs with respect to the data sources stored on the client device;determine, 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; rank the list of possible interpretation candidates; prune the list of possible interpretation candidates; constrain, 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 communicate, 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. - View Dependent Claims (14, 15, 16, 17, 18)
-
Specification