# Enhancing Imbalanced Sentiment Analysis: A GPT-3-Based Sentence-by-Sentence Generation Approach
## 5 Results
### Sentence-by-Sentence Generation
#### 5.1.2 Evaluation of Generated Synthetic Data  
Upon obtaining the generated output data, an evaluation was conducted to isolate good-quality synthetic data that satisfied our predetermined criteria. The evaluation began with a thorough normalization of the data, which entailed removing non-essential special characters such as asterisks, single and double quotes, hyphens, slashes, and exclamation marks. Additionally, the normalization process included eliminating superfluous whitespace and converting all text to lowercase, thereby ensuring uniformity and reducing the probability of errors during subsequent processing. The evaluation process to obtain good-quality synthetic data includes several important results, as follows:  
1. Exploration of all generated data using novelty and diversity scores  
After data normalization, the next stage involved conducting a novelty and diversity analysis for all of the generated data for both negative and neutral sentiments. The results of this analysis are graphically depicted in Figure 5. The analysis of Figure 5 yields significant insights; the synthetic data for both negative and neutral sentiments demonstrate comparable trends across the evaluation metrics. The bulk of the synthetic data possess novelty scores ranging between 0.5 and 0.8. Nevertheless, a minority of the data display novelty values approaching 0, suggesting a degree of similarity to the input data, although this constitutes a relatively small proportion of the dataset. Hence, this indicates that while the GPT-3 model, utilizing the sentence-by-sentence generation technique, does not produce entirely novel data, a portion of the output still bears resemblance to the input. Regarding the diversity score, the distribution pattern diverges from that of novelty. For both negative and neutral sentiment data, there is a noticeable increase in the percentage of data points with low diversity scores nearing zero. This trend indicates a high level of similarity among the outputs, suggesting that many of the generated sentences are not distinctly different from one another. Histograms showing novelty and diversity revealed that the outputs had similarities both among themselves and to the original inputs, underscoring the importance of conducting a duplication analysis. This analysis is crucial for ensuring that only the most original and diverse synthetic data are added to the training set, thus strengthening the dataset's integrity and the precision of the sentiment classification models derived from them. 1. Data duplication analysis  
Table 4 provides a summary of the duplication analysis among outputs. The column \"The number of replications\" indicates the total number of outputs produced per input. As mentioned in Figure 4, this research generated 15,921 synthetic data points for negative sentiment and 15,096 for neutral sentiment. From this corpus, we identified 863 duplicates and 15,058 unique outputs for negative sentiment and 1067 duplicates with 14,029 unique outputs for neutral sentiment. Of the overall duplicates, 767 were categorized as intra-duplications and 311 were classified as inter-duplications for negative sentiment. For neutral sentiment, there were 1042 intra-duplications and 124 inter-duplications. The findings from this duplication analysis indicate that the sentence-by-sentence generation technique is prone to producing duplicate outputs. This susceptibility exists not only within the same input category but also across different inputs, underscoring the technique's vulnerability to generating repetitive data. (3) Good-quality synthetic data  
After undergoing the duplication analysis process, the next step involves identifying good-quality output to obtain synthetic data that meet our desired standards. Table 5 provides a summary of the results of the process of obtaining good-quality synthetic data for negative sentiment at each cut-off threshold.