Bagging adversarial training for question answer ranking
AssigneeIntuit Inc.
InventorsVitor R. Carvalho, Sparsh Gupta
Life of this patent
Estimating the term…
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.
Claims16
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.
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.
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.
Dependencies are inferred from the claim text.