IP Library Granted Patent US 10,437,929
Granted Patent B2
US 10,437,929 · App. 15/476,262 · Granted Oct 8, 2019

Method and system for processing an input query using a forward and a backward neural network specific to unigrams

Inventors: Jing He (Mississauga, CA); Jean Merheb-Harb (Montreal, CA); Zheng Ye (Wuhan, CN); Kaheer Suleman (Cambridge, CA)
Assignee: MALUUBA INC.
G06F17/2785G06F16/3344G06F17/16G06N3/0445G06N3/0454G06N3/08G06Q30/0613G06K9/6297G06N5/022G06N7/005G06N20/10G10L15/16
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,437,929
App. No.
15/476,262
Granted
Oct 8, 2019
Kind
B2
Abstract

Disclosed embodiments include systems and methods relevant to improvements to natural language processing used to determine an intent and one or more associated parameters from 5 a given input string. In an example, an input string is received and first and second different n-grams are applied to the input string. Recurrent neural network models are then used to generate output data based in part on the first and second different n-grams. In particular embodiments a recurrent neural network in both forward and backward directions specific to unigrams is applied. Intent detection and semantic labeling are applied to the output of the recurrent neural network models.

Claims (50)

1. A computer-implemented method of processing an input query, the method comprising:

receiving the input query having a beginning and an end, wherein the input query comprises a plurality of words;

storing the input query in a memory storage unit;

forming unigrams from the plurality of words;

forming bigrams from the plurality of words;

pre-processing the unigrams and the bigrams using embeddings;

applying a forward unigram recurrent neural network model to the pre-processed unigrams in a forward direction from the beginning to generate forward unigram output data;

applying a backward unigram recurrent neural network model to the pre-processed unigrams in a backward direction from the end to generate backward unigram output data;

concatenating the forward unigram output data and the backward unigram output data to form first output data;

applying a second recurrent neural network model to the pre-processed bigrams to generate second output data;

pooling the first output data and the second output data to form pooled output data; and

applying intent detection and semantic labelling based on the pooled output data.

2. The method of claim 1 , further comprising forming trigrams from the plurality of words.

3. The method of claim 2 , further comprising applying a third recurrent neural network model to the trigrams to generate third output data, wherein the intent detection and semantic labelling are further based on the third output data.

4. The method of claim 2 , further comprising applying a concept vector recurrent neural network model to the trigrams to generate third output data, wherein the intent detection and semantic labelling are further based on the third output data.

5. The method of claim 1 , further comprising labelling each word from the plurality of words with a semantic label by applying conditional random field analysis.

6. The method of claim 5 , wherein the conditional random field analysis uses intent for classification.

7. The method of claim 1 , further comprising detecting an intent by applying a softmax regression analysis on the first output data and the second output data.

8. A non-transitory computer readable medium encoded with codes, the codes for directing a processor to:

receive an input query having a beginning and an end, wherein the input query comprises a plurality of words;

store the input query in a memory storage unit;

assign first n-grams and second n-grams to the plurality of words to form respective first n-gram data and second n-gram data, wherein the first n-grams are different from the second n-grams, and wherein the first n-grams are unigrams;

pre-process the first n-gram data and the second n-gram data using embeddings;

apply a forward recurrent neural network model to the pre-processed first n-gram data in a forward direction from the beginning to generate forward output data;

apply a backward recurrent neural network model to the pre-processed first n-gram data in a backward direction from the end to generate backward output data;

concatenate the forward output data and the backward output data to form first output data;

apply a third recurrent neural network model to the pre-processed second n-gram data to generate second output data;

pool the first output data and the second output data to form pooled output data;

and apply intent detection and semantic labelling based on the pooled output data.

9. The non-transitory computer readable medium of claim 8 , wherein the second n-grams comprise bigrams.

10. The non-transitory computer readable medium of claim 8 , wherein pooling the first output data and the second output data to form pooled output data includes max-pooling the first output data and the second output data to form the pooled output data.

11. The non-transitory computer readable medium of claim 10 ,

wherein the codes further direct the processor to provide the pooled first and second output data as input to a third neural network model; and

wherein applying intent detection and semantic labelling based on the pooled output data includes applying intent detection and semantic labeling to output of the third neural network model.

12. A computer-implemented method of processing an input query, the method comprising:

receiving the input query having a beginning and an end, wherein the input query comprises a plurality of words;

storing the input query in a memory storage unit;

assigning unigrams and bigrams to the plurality of words to form respective first unigram data and second bigram data;

pre-processing the first unigram data and the second bigram data using embeddings;

applying in a first layer:

a forward recurrent neural network model to the first unigram data in a forward direction from the beginning to generate forward output data;

a backward recurrent neural network model to the first unigram data in a backward direction from the end to generate backward output data; and

applying a second recurrent neural network model to the second bigram data to generate second output data;

concatenate the forward output data and the backward output data to form first output data;

pooling the first output data and the second output data from the first layer to generate input data for a second layer;

applying, in the second layer, a recurrent neural network model to the input data to generate final output data; and

applying intent detection and semantic labelling to the final output data.

13. The method of claim 12 , wherein pooling the first output data and the second output data comprises applying a linear transformation on at least one of the first output data and the second output data.

14. The method of claim 13 , wherein the linear transformation is configured to fit the second layer.

15. The method of claim 12 , wherein the forward recurrent neural network model and the backward recurrent neural network model are trained for unigrams; and wherein the second recurrent neural network model is trained for bigrams.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 1, 2020
From: MALUUBA INC.
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 053116/0878 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 31, 2017
From: HE, JING; MERHEB-HARB, JEAN; YE, ZHENG; SULEMAN, KAHEER
To: MALUUBA INC.
Reel/Frame 041814/0728 →
Continuity (2)
Provisional Application 62316208 · Mar 31, 2016
Related Publication 20170286401A1 · Oct 5, 2017