## 4 Results
Each filter takes 5 consecutive vectors of length 32 and applies a convolution operation that generates a single number, resulting in a matrix of dimensions \((3,28,64)\) that contains the output of each filter for each row of the initial matrix. \begin{table}
\begin{tabular}{c c c c c c} \hline \hline  & & \multicolumn{3}{c}{**BOSentiment**} & \\  & **Negative** & **Neutral** & **Positive** & **Total** \\ \hline \multirow{3}{*}{Human Annotation} & Negative & 221 & 8 & 9 & 238 \\  & Neutral & 9 & 95 & 2 & 106 \\  & Positive & 8 & 9 & 56 & 73 \\ \hline \hline \end{tabular}
\end{table} 
Table 3: Cross-tabulation for Human Annotation and BOSentiment model. Truly correctly classified tweets are given on the main diagonal. Figure 6: Annotation of the tweets with the BOSentiment model through the BoSa model. The BoSA model was used to extract the sentiment values of the tweets, which were used as features for the BOSentiment model. After applying the MaxPooling1D layer, we get a new matrix of dimensions \((3,7,64)\). This matrix is obtained by applying a pooling operation of dimensions \((4,)\) on each of the 28 elements of each row from the previous Conv1D layer. This operation takes the maximum value from each group of 4 adjacent elements, reducing dimensionality and resulting in a new matrix of dimensions \((3,7,64)\). Then, the Flatten layer was applied, which gave us a vector of length \(1344=3\times 7\times 64\)). This layer converts the 3D matrix \((3,7,64)\) into a 1D vector of length 1344. This means that each element of this vector will contain the value of one of the 64 filters for each of the three sequences. After that, two Dense layers were applied. The reason for using Dense layers is to perform classification on the features extracted by the previous convolutional layers. After the feature maps have been flattened into a 1D array, Dense layers are added to the model to learn non-linear relationships between the features and the target variable. Overall, we obtained that accuracy, in this case, is just over 86.09% (see Figure 7). In the second model CNNBOSentiment, first, we transformed the text data and labels into a format that could be input into a neural network for training and prediction. If we were using BOSentiment as a pre-predicted model, then negation cues were mapped as \([0,1,0,0,0]\), negative words as \([1,0,0,0,0]\), neutral words as \([0,0,0,0,0]\), AnA-words as \([0,0,0,1,0]\), and positive words as \([0,0,0,0,1]\). For this model, we used 6 layers (as was already described in Section 3), where the last three layers were the same as for the CNN model. The BOSentiment model performed well on its own in predicting sentiment for tweets. However, when combined with the CNN model as a pre-predicted model, the results did not show a significant improvement in accuracy when the training data was over 40%. Table 4 provides the training and testing accuracy for both CNN and CNNBOSentiment models under different training data percentages. We can see that the CNNBOSentiment model had a higher accuracy than the CNN model in both training and testing, but the difference was not significant when the split data on training and testing was 40:60. This suggests that using the BOSentiment model as a pre-predicted model may not be necessary when the training data is sufficient, and the CNN model alone may be enough to achieve good performance. Figure 7: Loss and accuracy plot for the pure CNN model. The model achieved an accuracy score of 86.09% for the testtrain split of 30:70, indicating its effectiveness in classifying the data. The loss curve shows a decreasing trend, indicating that the model was able to learn and improve its predictions over time. Having that in mind, we wanted to prove that different parameters can impact the accuracy of the two given models: CNN and CNNBOSentiment. So, we examined the effect of different parameter values on the accuracy of our convolutional neural networks.