IP Library Granted Patent US 10,346,540
Granted Patent B2
US 10,346,540 · App. 15/695,502 · Granted Jul 9, 2019

Self-learning statistical natural language processing for automatic production of virtual personal assistants

Inventors: Yael Karov (Tel Aviv, IL); Micha Breakstone (R'anana, IL); Reshef Shilon (Palo Alto, CA); Orgad Keller (Tel Aviv, IL); Eric Shellef (Mountain View, CA)
Assignee: Intel Corporation
G06F17/2785G06F16/36G06F16/90332G06F17/271G06F17/277G06F17/279
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,346,540
App. No.
15/695,502
Granted
Jul 9, 2019
Kind
B2
Abstract

Technologies for natural language request processing include a computing device having a semantic compiler to generate a semantic model based on a corpus of sample requests. The semantic compiler may generate the semantic model by extracting contextual semantic features or processing ontologies. The computing device generates a semantic representation of a natural language request by generating a lattice of candidate alternative representations, assigning a composite weight to each candidate, and finding the best route through the lattice. The composite weight may include semantic weights, phonetic weights, and/or linguistic weights. The semantic representation identifies a user intent and slots associated with the natural language request. The computing device may perform one or more dialog interactions based on the semantic request, including generating a request for additional information or suggesting additional user intents. The computing device may support automated analysis and tuning to improve request processing. Other embodiments are described and claimed.

Claims (75)

1. A computing device for interpreting natural language requests, the computing device comprising:

a semantic compiler module to generate a semantic model as a function of a corpus of predefined requests, wherein the semantic model includes a plurality of mappings between a natural language request and a semantic representation of the natural language request, wherein the semantic representation identifies a user intent and zero or more slots associated with the user intent; and

a request decoder module to: (i) receive a representation of speech data indicative of a natural language request; (ii) convert the representation of speech data to a first lattice of candidate alternatives indicative of the natural language request, wherein to convert the representation of speech data comprises to convert the representation of speech data using a language model generated as a function of a domain-biased web corpus; (iii) generate, using the semantic model, a lattice of candidate alternatives indicative of the natural language request in response to conversion of the representation of speech data to the first lattice of candidate alternatives, wherein each candidate alternative corresponds to a token of the natural language request; (iv) assign a composite confidence weight to each candidate alternative as a function of the semantic model; (v) determine an optimal route through the candidate alternative lattice based on an associated confidence weight; and (vi) generate a semantic representation of the natural language request as a function of the candidate alternatives of the optimal route.

2. The computing device of claim 1 , wherein to generate the semantic model comprises to:

identify a contextual semantic feature in the corpus, wherein the contextual semantic feature comprises a sequence of lexical sets associated with a user intent and zero or more slots associated with the user intent;

determine a first probability of the contextual semantic feature given the user intent; and

determine a normalized probability of the user intent as a function of a rate of occurrence of the contextual semantic feature in the corpus.

3. The computing device of claim 2 , wherein to identify the contextual semantic feature comprises to identify the contextual semantic feature using a semi-supervised algorithm, wherein to identify the contextual semantic feature using the semi-supervised algorithm comprises to:

tag a first group of predefined sample queries in the corpus to identify user intents and slots;

extract the contextual semantic feature from the predefined sample queries;

analyze, using the semantic model, a second group of predefined sample queries in the corpus;

extract additional contextual semantic features in response to analyzing the second group of predefined sample queries; and

update the first probability and the normalized probability in response to analyzing the second group of predefined sample queries.

4. The computing device of claim 2 , wherein to identify the contextual semantic feature comprises to identify the contextual semantic feature using an unsupervised algorithm, wherein to identify the contextual semantic feature using the unsupervised algorithm comprises to:

identify predefined named entities and relationships in a first group of predefined sample queries in the corpus;

cluster the predefined sample queries using an unsupervised clustering algorithm to generate a plurality of clusters; and

assign a user intent and slots to each cluster of the plurality of clusters.

5. The computing device of claim 1 , wherein to generate the semantic model comprises to:

generate an ontological index as a function of a predefined ontology associated with the user intent, wherein the predefined ontology includes a plurality of objects describing a knowledge domain.

6. The computing device of claim 5 , wherein to generate the ontological index comprises to:

assign a vector space to an object type of the predefined ontology, wherein the vector space includes a plurality of coordinates, wherein each coordinate encodes a lexical token representing an associated object of the predefined ontology; and

map a slot of the user intent associated with the predefined ontology to the vector space.

7. The computing device of claim 1 , wherein to generate the lattice of candidate alternatives comprises to:

generate a candidate alternative corresponding to a user intent and associated slots of a mapping of the semantic model; and

generate a candidate alternative using a language model, as a function of phonetic similarity to the natural language request.

8. The computing device of claim 1 , wherein to assign the composite confidence weight further comprises to assign a confidence weight as a function of a language model.

9. The computing device of claim 8 , wherein to assign the confidence weight as a function of the language model comprises to assign a phonetic similarity score, a general language model confidence score, a domain language model score, or a syntactic confidence score.

10. The computing device of claim 1 , further comprising a dialog management module to:

determine whether the semantic representation of the natural language request includes sufficient information to perform a user intent of the semantic representation;

perform the user intent in response to a determination that the semantic representation includes sufficient information;

generate a response as a function of the semantic representation;

generate a natural language representation of the response using the semantic model; and

record a user dialog session including the natural language request and the natural language representation of the response into a corpus of recorded user dialog sessions.

11. The computing device of claim 1 , further comprising a tuning module to update the semantic model in response to generating the semantic representation.

12. The computing device of claim 11 , wherein to update the semantic model comprises to:

determine the semantic representation was generated with no ambiguities;

identify a token of the natural language request that was not decoded; or

identify an ambiguous decoding of a slot of the semantic representation.

13. A method for interpreting natural language requests, the method comprising:

generating, by a computing device, a semantic model as a function of a corpus of predefined requests, wherein the semantic model includes a plurality of mappings between a natural language request and a semantic representation of the natural language request, wherein the semantic representation identifies a user intent and zero or more slots associated with the user intent;

receiving, by the computing device, a representation of speech data indicative of a natural language request;

converting, by the computing device, the representation of speech data to a first lattice of candidate alternatives indicative of the natural language request, wherein converting the representation of speech data comprises converting the representation of speech data using a language model generated as a function of a domain-biased web corpus;

generating, by the computing device using the semantic model, a lattice of candidate alternatives indicative of the natural language request in response to converting the representation of speech data to the first lattice of candidate alternatives, wherein each candidate alternative corresponds to a token of the natural language request;

assigning, by the computing device, a composite confidence weight to each candidate alternative as a function of the semantic model;

determining, by the computing device, an optimal route through the candidate alternative lattice based on an associated confidence weight; and

generating, by the computing device, a semantic representation of the natural language request as a function of the candidate alternatives of the optimal route.

14. The method of claim 13 , wherein generating the semantic model comprises:

identifying a contextual semantic feature in the corpus, wherein the contextual semantic feature comprises a sequence of lexical sets associated with a user intent and zero or more slots associated with the user intent;

determining a first probability of the contextual semantic feature given the user intent; and

determining a normalized probability of the user intent as a function of a rate of occurrence of the contextual semantic feature in the corpus.

15. The method of claim 13 , wherein generating the semantic model comprises:

generating an ontological index as a function of a predefined ontology associated with the user intent, wherein the predefined ontology includes a plurality of objects describing a knowledge domain.

16. The method of claim 13 , wherein generating the lattice comprises:

generating a candidate alternative corresponding to a user intent and associated slots of a mapping of the semantic model; and

generating a candidate alternative using a language model, as a function of phonetic similarity to the natural language request.

17. The method of claim 13 , further comprising:

determining, by the computing device, whether the semantic representation of the natural language request includes sufficient information to perform a user intent of the semantic representation;

performing, by the computing device, the user intent in response to determining that the semantic representation includes sufficient information;

generating, by the computing device, a response as a function of the semantic representation;

generating, by the computing device, a natural language representation of the response using the semantic model; and

recording, by the computing device, a user dialog session including the natural language request and the natural language representation of the response into a corpus of recorded user dialog sessions.

18. The method of claim 13 , further comprising:

updating, by the computing device, the semantic model in response to generating the semantic representation.

19. One or more computer-readable storage media comprising a plurality of instructions that in response to being executed cause a computing device to:

generate a semantic model as a function of a corpus of predefined requests, wherein the semantic model includes a plurality of mappings between a natural language request and a semantic representation of the natural language request, wherein the semantic representation identifies a user intent and zero or more slots associated with the user intent;

receive a representation of speech data indicative of a natural language request;

convert the representation of speech data to a first lattice of candidate alternatives indicative of the natural language request, wherein to convert the representation of speech data comprises to convert the representation of speech data using a language model generated as a function of a domain-biased web corpus;

generate, using the semantic model, a lattice of candidate alternatives indicative of the natural language request in response to converting the representation of speech data to the first lattice of candidate alternatives, wherein each candidate alternative corresponds to a token of the natural language request;

assign a composite confidence weight to each candidate alternative as a function of the semantic model;

determine an optimal route through the candidate alternative lattice based on an associated confidence weight; and

generate a semantic representation of the natural language request as a function of the candidate alternatives of the optimal route.

20. The one or more computer-readable storage media of claim 19 , wherein to generate the semantic model comprises to:

identify a contextual semantic feature in the corpus, wherein the contextual semantic feature comprises a sequence of lexical sets associated with a user intent and zero or more slots associated with the user intent;

determine a first probability of the contextual semantic feature given the user intent; and

determine a normalized probability of the user intent as a function of a rate of occurrence of the contextual semantic feature in the corpus.

Continuity (4)
Continuation 15332084 · Oct 24, 2016
Continuation 14341013 · Jul 25, 2014
Provisional Application 61858151 · Jul 25, 2013
Related Publication 20180107652A1 · Apr 19, 2018
Cited By (27)
US 12,197,712 US 12,197,817 US 12,200,297 US 12,204,932 US 12,211,502 US 12,216,894 US 12,219,314 US 12,223,282 US 12,236,952 US 12,254,887 US 12,260,234 US 12,277,954 US 12,293,763 US 12,301,635 US 12,333,404 US 12,361,943 US 12,367,879 US 12,386,434 US 12,386,491 US 12,406,664 US 12,431,128 US 12,437,007 US 12,477,470 US 12,556,890 US 12,608,171 US 12,613,730 US 12,619,452