Natural language understanding cache
First Claim
1. A method for performing natural language understanding (NLU) via computer processing, the method comprising:
- determining, by a computing device, a preceding pretag result and a tentative NLU result, for each of one or more preceding natural language inputs;
storing, in a cache, one or more keys, each key comprising one preceding pretag result and a corresponding tentative NLU result;
receiving, by the computing device, a first natural language input comprising a set of one or more terms;
parsing, by the computing device, the first natural language input to determine a first pretag result comprising at least a first string comprising at least one term from the set of one or more terms, wherein the parsing comprises determining whether any of the one or more terms match metadata associated with a contacts list;
determining, by the computing device, whether the first pretag result corresponds to at least one key stored in the cache;
if the first pretag result corresponds to at least one key stored in the cache, retrieving, by the computing device and from the cache, one or more cached NLU results corresponding to the at least one key; and
if the first pretag result does not correspond to at least one key stored in the cache;
determining, by the computing device and based on the set of one or more terms, a first NLU result corresponding to the first natural language input, the first NLU result comprising an intent associated with the first natural language input;
storing, by the computing device and in the cache, the first NLU result; and
storing, by the computing device and in the cache, a first key comprising the first pretag result, the first key corresponding to the first NLU result.
1 Assignment
0 Petitions
Accused Products
Abstract
Disclosed methods and systems are directed to natural language understanding cache usage. The methods and systems may include receiving a first natural language input comprising a set of one or more terms, and parsing the first natural language input to determine a first pretag result comprising a first string comprising at least one term from the set of one or more terms. The methods and systems may also determine that if the first pretag result corresponds to a key stored in a cache, then retrieve one or more cached NLU results corresponding to the at least one key. The methods and systems may also determine that if the first pretag result does not correspond to a key stored in the cache, then determine, based on the set of one or more terms, a first NLU result corresponding to the first natural language input.
44 Citations
20 Claims
-
1. A method for performing natural language understanding (NLU) via computer processing, the method comprising:
-
determining, by a computing device, a preceding pretag result and a tentative NLU result, for each of one or more preceding natural language inputs; storing, in a cache, one or more keys, each key comprising one preceding pretag result and a corresponding tentative NLU result; receiving, by the computing device, a first natural language input comprising a set of one or more terms; parsing, by the computing device, the first natural language input to determine a first pretag result comprising at least a first string comprising at least one term from the set of one or more terms, wherein the parsing comprises determining whether any of the one or more terms match metadata associated with a contacts list; determining, by the computing device, whether the first pretag result corresponds to at least one key stored in the cache; if the first pretag result corresponds to at least one key stored in the cache, retrieving, by the computing device and from the cache, one or more cached NLU results corresponding to the at least one key; and if the first pretag result does not correspond to at least one key stored in the cache; determining, by the computing device and based on the set of one or more terms, a first NLU result corresponding to the first natural language input, the first NLU result comprising an intent associated with the first natural language input; storing, by the computing device and in the cache, the first NLU result; and storing, by the computing device and in the cache, a first key comprising the first pretag result, the first key corresponding to the first NLU result. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A system, comprising:
-
at least one processor; and at least one memory storing instructions that, when executed by the at least one processor, cause the system to perform; determining, by a device, a preceding pretag result and a tentative NLU result, for each of one or more preceding natural language inputs; storing, in a cache, one or more keys, each key comprising one preceding pretag result and a corresponding tentative NLU result; receiving, by the device, a first natural language input comprising a set of one or more terms; parsing the first natural language input to determine a first pretag result comprising at least a first string comprising at least one term from the set of one or more terms, wherein the parsing comprises determining whether any of the one or more terms match metadata associated with a contacts list; determining whether the first pretag result corresponds to at least one key stored in the cache; if the first pretag result corresponds to at least one key stored in the cache, retrieving, from the cache, one or more cached NLU results corresponding to the at least one key; and if the first pretag result does not correspond to at least one key stored in the cache; determining, based on the set of one or more terms, a first NLU result corresponding to the first natural language input, the first NLU result comprising an intent associated with the first natural language input; storing, in the cache, the first NLU result; and storing, in the cache, a first key comprising the first pretag result, the first key corresponding to the first NLU result. - View Dependent Claims (10, 11, 12, 13, 14, 15)
-
-
16. One or more non-transitory computer-readable storage media having instructions stored thereon, that when executed by one or more processors, cause the one or more processors to perform:
-
determining, by a device, a preceding pretag result and a tentative NLU result, for each of one or more preceding natural language inputs; storing, in a cache, one or more keys, each key comprising one preceding pretag result and a corresponding tentative NLU result; receiving, by the device, a first natural language input comprising a set of one or more terms; parsing the first natural language input to determine a first pretag result comprising at least a first string comprising at least one term from the set of one or more terms, wherein the parsing comprises determining whether any of the one or more terms match metadata associated with a contacts list; determining whether the first pretag result corresponds to at least one key stored in the cache; if the first pretag result corresponds to at least one key stored in the cache, retrieving, from the cache, one or more cached NLU results corresponding to the at least one key; and if the first pretag result does not correspond to at least one key stored in the cache; determining, based on the set of one or more terms, a first NLU result corresponding to the first natural language input, the first NLU result comprising an intent associated with the first natural language input; storing, in the cache, the first NLU result; and storing, in the cache, a first key comprising the first pretag result, the first key corresponding to the first NLU result. - View Dependent Claims (17, 18, 19, 20)
-
Specification