Using GPT-2 to Create Synthetic Data to Improve the Prediction
  Performance of NLP Machine Learning Classification Models
  Classification Models use input data to predict the likelihood that the
subsequent input data will fall into predetermined categories. To perform
effective classifications, these models require large datasets for training. It
is becoming common practice to utilize synthetic data to boost the performance
of Machine Learning Models. It is reported that Shell is using synthetic data
to build models to detect problems that rarely occur; for example Shell created
synthetic data to help models to identify deteriorating oil lines. It is common
practice for Machine Learning Practitioners to generate synthetic data by
rotating, flipping, and cropping images to increase the volume of image data to
train Convolutional Neural Networks. The purpose of this paper is to explore
creating and utilizing synthetic NLP data to improve the performance of Natural
Language Processing Machine Learning Classification Models. In this paper I
used a Yelp pizza restaurant reviews dataset and transfer learning to fine-tune
a pre-trained GPT-2 Transformer Model to generate synthetic pizza reviews data.
I then combined this synthetic data with the original genuine data to create a
new joint dataset. The new combined model significantly outperformed the
original model in accuracy and precision.
