IP Library Granted Patent US 12,585,932
Granted Patent B1
US 12,585,932 · App. 16/526,933 · Granted Mar 24, 2026

Bagging adversarial training for question answer ranking

Inventors: Vitor R. Carvalho (San Diego, CA); Sparsh Gupta (San Diego, CA)
Assignee: Intuit Inc.
G06N3/08G06N5/02
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 12,585,932
App. No.
16/526,933
Granted
Mar 24, 2026
Kind
B1
Abstract

A computer-implemented method is provided to preforming bagging adversarial training for question-answer ranking models using neural networks. The method includes generating first question and answer (QA) pairs for a given question as a first training dataset to train a QA ranking model to build a pre-trained QA ranking model. A generative adversarial network (GAN) includes a generator and a discriminator configured to produce adversarial inputs to provide an updated training dataset. The pre-trained QA ranking model is retrained with the updated training dataset with the bagging adversarial training process. A plurality of trained models is sampled to generate a bagged model ensemble as a final trained QA ranking model for QA ranking tasks.

Claims (57)

1 . A method implemented by a computing system, the system comprising a processor and a memory having computer-executable instructions stored which, when executed by the processor, cause the processor to perform operations comprising:

generating first question and answer (QA) pairs for a given question as a first dataset, the first dataset comprising labels as a first QA ranking and being stored in a database, the first dataset forming an original training dataset;

training, based on an entirety of the first dataset, a QA ranking model to build a pre-trained QA ranking model;

determining, by a generative adversarial network (GAN), an adversarial dataset to the question;

generating a second dataset, the second dataset comprising the entirety of the first dataset and the adversarial dataset to the question;

performing a plurality of epochs of adversarial training on the pre-trained QA ranking model with the second dataset;

sampling, during bagging adversarial training processes of the pre-trained QA ranking model, a first trained model at a first epoch of the plurality of epochs and a second trained model at a second epoch of the plurality of epochs to generate a bagged model ensemble as a final trained QA ranking model, the second epoch occurring after the first epoch, the first trained model having a first decision boundary to fit a first proportion of the entirety of the first dataset and the adversarial dataset, the second trained model having a second decision boundary to fit a second proportion of the entirety of the first dataset and the adversarial dataset, the first proportion of the entirety of the first dataset and the adversarial dataset having a lower difficulty of the adversarial dataset than the second proportion of the entirety of the first dataset and the adversarial dataset;

performing the bagging adversarial training process until a final decision boundary fits the entirety of the first dataset and the adversarial dataset;

during prediction, computing a matching score between a question and candidate answer as a weighted average of predictions from the bagged model ensemble, wherein weights for the weighted average of predictions of the first trained model and the second trained model in the ensemble are determined by:

recording performance metrics on validation data for the first trained model and the second trained model in the ensemble, and

normalizing the performance metrics to determine the weight for each model; and

aggregating predictions from the models based on the weights to make a final combined ranking prediction.

2 . The method of claim 1 , wherein the instructions are further operable to cause the processor to perform the operations comprising applying the final trained QA ranking model on the entirety of the first dataset to predict a second QA ranking.

3 . The method of claim 1 , wherein each of the labels is indicative of a similarity between the respective answer and the given question.

4 . The method of claim 1 , wherein the GAN comprises a generator neural network and a discriminator neural network, the generator neural network and the discriminator neural network being initialized with the pre-trained model and the entirety of the first dataset.

5 . The method of claim 4 , wherein determining the adversarial dataset to the question further comprises:

generating, by the generator neural network, matching scores for all answers in an answer pool stored in the database;

sampling, by the generator neural network, incorrect answers to the question with low matching scores; and

ranking, the discriminator neural network, the incorrect answers to obtain the second dataset.

6 . The method of claim 5 , wherein generating the second dataset further comprises adding the adversarial dataset to the entirety of the first dataset to form the second dataset.

7 . The method of claim 1 , wherein at least one answer comprises at least one or more hyperlinks to web pages and relevant information associated with the question.

8 . A computing system, the computing system comprising a non-volatile memory and a processor coupled to a memory having computer-executable instructions stored which, when executed by the processor, causes the system to perform operations comprising:

generating first question and answer (QA) pairs for a given question as a first dataset, the first dataset comprising labels as a first QA ranking and being stored in a database;

training, based on an entirety of the first dataset, a QA ranking model to build a pre-trained QA ranking model;

determining, by a generative adversarial network (GAN), an adversarial dataset to the question;

generating a second dataset, the second dataset comprising the entirety of the first dataset and the adversarial dataset to the question;

performing a plurality of epochs of adversarial training on the pre-trained QA ranking model with the second dataset;

sampling, during bagging adversarial training processes of the pre-trained QA ranking model, a first trained model at a first epoch of the plurality of epochs and a second trained model at a second epoch of the plurality of epochs to generate a bagged model ensemble as a final trained QA ranking model, the second epoch occurring after the first epoch, the first trained model having a first decision boundary to fit a first proportion of the entirety of the first dataset and the adversarial dataset, the second trained model having a second decision boundary to fit a second proportion of the entirety of the first dataset and the adversarial dataset, the first proportion of the entirety of the first dataset and the adversarial dataset having a lower difficulty of the adversarial dataset than the second proportion of the entirety of the first dataset and the adversarial dataset;

performing the bagging adversarial training process until a final decision boundary fits the entirety of the first dataset and the adversarial dataset;

during prediction, computing a matching score between a question and candidate answer as a weighted average of predictions from the bagged model ensemble, wherein weights for the weighted average of predictions of the first trained model and the second trained model in the ensemble are determined by:

recording performance metrics on validation data for the first trained model and the second trained model in the ensemble, and

normalizing the performance metrics to determine the weight for each model; and

aggregating predictions from the models based on the weights to make a final combined ranking prediction.

9 . The computing system of claim 8 , wherein the system is further caused to apply the final trained QA ranking model on the entirety of the first dataset to predict a second QA ranking.

10 . The computing system of claim 8 , wherein each of the labels is indicative of a similarity between the respective answer and the given question.

11 . The computing system of claim 8 , wherein the GAN comprises a generator neural network and a discriminator neural network, the generator neural network and the discriminator neural network being initialized with the pre-trained model and the entirety of the first dataset.

12 . The computing system of claim 11 , wherein determining the adversarial dataset to the question further comprises:

generating, by the generator neural network, matching scores for all answers in an answer pool stored in the database;

sampling, by the generator neural network, incorrect answers to the question with low matching scores; and

ranking, the discriminator neural network, the incorrect answers to obtain the second dataset.

13 . The computing system of claim 12 , wherein generating the second dataset further comprises adding the adversarial dataset to the entirety of the first dataset to form the second dataset.

14 . The computing system of claim 8 , wherein at least one answer comprises at least one or more hyperlinks to web pages and relevant information associated with the question.

15 . The computing system of claim 8 , wherein the plurality of pre-trained model is trained and sampled every 3 epochs to generate a fully trained QA model.

16 . A method implemented by a computing system, the computing system comprising one or more processors and one or more computer-readable storage devices storing computer-executable computer instructions, the method comprising executing the instructions thereby causing the computing system to perform operations comprising:

generating first question and answer (QA) pairs for a given question as a first dataset, the first dataset comprising labels as a first QA ranking and being stored in a database;

training, based on an entirety of the first dataset, a QA ranking model to build a pre-trained QA ranking model;

determining, by a generative adversarial network (GAN), an adversarial dataset to the question;

generating a second dataset, the second dataset comprising the entirety of the first dataset and the adversarial dataset to the question;

performing a plurality of epochs of adversarial training on the pre-trained QA ranking model with the second dataset;

sampling, during bagging adversarial training processes of the pre-trained QA ranking model, a first trained model at a first epoch of the plurality of epochs and a second trained model at a second epoch of the plurality of epochs generate a bagged model ensemble as a final trained QA ranking model, the second epoch occurring after the first epoch, the first trained model having a first decision boundary to fit a first proportion of the entirety of the first dataset and the adversarial dataset, the second trained model having a second decision boundary to fit a second proportion of the entirety of the first dataset and the adversarial dataset, the first proportion of the entirety of the first dataset and the adversarial dataset having a lower difficulty of the adversarial dataset than the second proportion of the entirety of the first dataset and the adversarial dataset;

performing the bagging adversarial training process until a final decision boundary fits the entirety of the first dataset and the adversarial dataset;

during prediction, computing a matching score between a question and candidate answer as a weighted average of predictions from the bagged model ensemble, wherein weights for the weighted average of predictions of the first trained model and the second trained model in the ensemble are determined by:

recording performance metrics on validation data for the first trained model and the second trained model in the ensemble, and

normalizing the performance metrics to determine the weight for each model;

aggregating predictions from the models based on the weights to make a final combined ranking prediction;

and

outputting a top ranked answer based on the final combined ranking prediction.

References Cited (23)
US 9064491B2 · Rachevsky · 2015 [cited by examiner]
US 11003720B1 · Xia · 2021 [cited by examiner]
US 20100305731A1 · Masuda · 2010 [cited by examiner]
US 20120078873A1 · Ferrucci · 2012 [cited by examiner]
US 20160239988A1 · Keil · 2016 [cited by examiner]
US 20190057268A1 · Burge · 2019 [cited by examiner]
US 20190340172A1 · McElvain · 2019 [cited by examiner]
US 20190355103A1 · Baek · 2019 [cited by examiner]
US 20190392587A1 · Nowozin · 2019 [cited by examiner]
US 20200012892A1 · Goodsitt · 2020 [cited by examiner]
US 20200265735A1 · Byron · 2020 [cited by examiner]
US 20200285898A1 · Dong · 2020 [cited by examiner]
US 20200342879A1 · Carbune · 2020 [cited by examiner]
US 20210012543A1 · Hein · 2021 [cited by examiner]
Wang—Irgan A Minimax Game for Unifying Generative and Descriminative IR Models—2018 (Year: 2018). [cited by examiner]
Li—Adaboost with Auto-Evaluation for Conversational Models—2018 (Year: 2018). [cited by examiner]
Kotu—Ensemble Modeling—2015 (Year: 2015). [cited by examiner]
Tian—Learning to Abstract for Memory-augmented Conversational Response Generation—2019 (Year: 2019). [cited by examiner]
Zhang—EnsembleGAN Adversarial Learning for Retrieval-Generation Ensemble Model on Short-Text Conversation—2019 (Year: 2019). [cited by examiner]
Wang 2—Ensembles of Generative Adversarial Networks (Year: 2016). [cited by examiner]
Hamdi—Cascading Generative Adversarial Networks for Targeted Imagination (Year: 2018). [cited by examiner]
Theis—A Note on the Evaluation of Generative Models (Year: 2016). [cited by examiner]
Adversarial Training Can Hurt Generalization (Year: 2019). [cited by examiner]