# A Two-Phase Deep Learning-Based Recommender System: Enhanced by a Data Quality Inspector
## 4 Results
### Deep Learning-Based Sentiment Inspector
#### 4.2.3 Predictors Comparison  
From dataset A, a total of 75,000 rows, 15,000 rows per rating, were extracted to create a smaller version, which allows fast experimenting of each model through an iterative parameter adjustment process. Specifically, 3 to 6 scenarios (versions) with different parameters were tested for every model. For example, five versions of LSTM were tried in which the length threshold \(L\), the LSTM layer output size, the embedding layer output size, and the number of training epochs were adjusted. After that, the best version per model, based on the three evaluation indicators, was selected. The best architectures of the five deep learning-based sentiment predictors are detailed in Table 2.  
The best version of each algorithm presented in Table 2 was preserved for the following model comparison, where the complete dataset A is applied. The final results and the ranking of every algorithm per indicator are summarized in Table 3. Note a traditional machine learning model, Support Vector Machine (SVM), is included as a comparison base. Its design relies on an rbf kernel and a regularization parameter \(C\) = 1. The first sub-table contains the _accuracy0_ results of the particular six versions, sorted from the best to the worst. Similarly, the second sub-table comprises _accuracy1_ results, and the third sub-table the _total running time_ in hours. It can be concluded that the best model related to _accuracy0_ is BERT-2, i.e., version 2 of BERT. Regarding _accuracy1_ the best model is also BERT-2. However, concerned with the _total running time_, the best model is CNN-5, i.e., version 5 of CNN. The process to determine the best algorithm is described with the help of Table 4. The first sub-table has the ranking positions of each model for the three indicators, and it is based on the information in Table 3. For example, TDVE-3 is in ranking 2 respecting the 1 st indicator, but in ranking 3 regarding the 2 nd indicator, and in ranking 4 regarding the 3 rd indicator. The first sub-table also contains the weights of importance, related to this study, for each indicator. Since the proposed framework is supposed to work offline, time is not a critical factor and that is why the _total running time_ has only 15% of importance weight. On the other hand, to create an efficient data quality inspector, it is essential to create a model able to predict accurately the sentiment of a review. As a result, the sum of the importance weights of the two accuracy indicators is equal to 85%, where _accuracy0_ has a 35% of importance weight and _accuracy1_ has a 50% of importance weight. The second sub-table \begin{table}
\begin{tabular}{c c} \hline \hline
**Model** & **Parameters** \\ \hline Model 1: LSTM (version 5) & 1 embedding layer (32)—1 1 stm layer (32)—1 hidden lay. (256)—1 output lay. (softmax)—batch: 500—epochs: 30—optimizer: adam \\ \hline Model 2: Bi-LSTM (version 2) & 1 embedding layer (32)—1 bi-lstm layer (32)—1 hidden lay. (256)—1 output lay. (softmax)—batch: 500—epochs: 30—optimizer: adam \\ \hline Model 3: CNN (version 5) & 1 emb. lay. (32)—1 cnn lay.—100 filters—fit. size: 10—1 max pool.—1 hidden lay. (256)—1 out. lay. (softmax)—batch: 500—epochs: 30—optimizer: adam \\ \hline Model 4: TDVE (version 3) & 1 emb. lay. (32)—1 cnn with l2 (0.01) const.—100 filters with size: 3, 4, 5—1 max pooling—1 hidden lay. (256)—1 out. lay. (softmax)—batch: 500—epochs: 30—optimizer: adadelta \\ \hline Model 5: BERT (version 2) & 1 bert layer—1 avg. pooling—1 dropout: 0.2—1 hidden lay. (256)—1 out. lay. (softmax)—batch: 16—epochs: 8—optimizer: adam \\ \hline \hline \end{tabular}
\end{table} 
Table 2: Parameter settings for the best version of deep learning-based models. has the final score for each method. The final score is easily obtained by applying the sum product of the rankings per indicator of each model by the weights of each indicator. The six models were sorted, from the lowest to highest score, based on the second sub-table.