# Best Practices of Convolutional Neural Networks for Question Classification
## 3 Results and Discussion
### CNN Architecture
Results for both languages are reported in Table 10 and shown in Figure 6.  
Also in this case, the filter size 2 results the best. However, it corresponds to significant improvements with respect to \(F\)s = 1, while the variations for \(F\)s \(\geq\) 2 were not significant, since they were comparable with the confidence interval of the linear coefficient of the function approximating this trend (about 0.9%). This finding of the best filter size corresponding to \(F\)s = 2 can be explained by observing that, while other literature results were inferred for classifying sentences, if questions were considered as in this work, their classification can be done for most of them by considering a sequence of maximum 2 words \begin{table}
\begin{tabular}{c c c c c c c c c c c} \hline \hline \multicolumn{1}{c}{\multirow{2}{*}{\(F\)s}} & \multicolumn{2}{c}{**(2,2,1)**} & \multicolumn{2}{c}{**(2,2,2)**} & \multicolumn{2}{c}{**(2,2,3)**} & \multicolumn{2}{c}{**(2,2,4)**} & \multicolumn{2}{c}{**(2,2,5)**} & \multicolumn{2}{c}{**(2,2,6)**} & \multicolumn{2}{c}{**(2,2,7)**} & \multicolumn{2}{c}{**(2,2,8)**} & \multicolumn{2}{c}{**(2,2,9)**} & \multicolumn{2}{c}{**(2,2,10)**} \\ \hline \multirow{2}{*}{_Acc (\%)_} & **English** & 80.2 & 81.8 & 81.4 & 81.5 & 80.4 & 81.0 & 80.8 & 80.8 & 80.8 & 80.6 \\  & **Italian** & 79.2 & 81.0 & 80.4 & 79.9 & 80.3 & 80.5 & 79.6 & 79.6 & 79.3 & 80.3 \\ \hline \hline \end{tabular}  
* Other settings were: _AvoidPunctuation_ = True, _WEinit_ = pre-trained, _DE_ = 300, _WEtuning_ = dynamic, _Not_ = 300, \(f\) = ReLU, _batch_ = 900, _P_\({}_{\text{kap}}\) = 0.5, _l2_ = 3.0, _optimizer_ = Adadelta, \(\eta\) = 0.1.  
\end{table} 
Table 10: Testing accuracy obtained by different filter sizes 1. Figure 5: Testing accuracy obtained by different filter sizes apart from 150 filters of size 2, for English (red) and Italian (**blue**). Figure 6: Testing accuracy obtained by different filter sizes apart from 200 filters of size 2, for English (red) and Italian (**blue**). comprised in them. This is coherent with previous findings, e.g., [4], individuating single words like \"head words\", or \"WH-words\" (_why, when, where,..._ ), or couples of words (_how much, how long,..._ ) as the most informative for QC. The total number of filters was analyzed as well, within the range [50,500], by considering the following values: {50,100,200,300,400,500}. Results are reported in Table 11 and shown in Figure 7.  
Also in this case, in the whole considered range, the functions fitted to predict accuracy reveal no significant linear or quadratic effect, but a significant improvement can be detected in correspondence of \(Ntot=100\) with respect to \(Ntot=100\). Moreover, starting from 100 filters, i.e., given that enough filters were used, as this number increases, the positive influence of adding filters disappears. Even if for English the result for 300 filters was slightly better than that with 100, for both languages similar trends can be recognized, therefore this difference can be ascribed to the experimental variance. On the contrary, a decreasing trend of the accuracy can be detected as \(Ntot\) increases. These results mean that a minimum of 100 filters should be used, since at least 100 filters were useful to extract different features from text. Moreover, the decreasing trend can be explained by observing that each filter adds 609 weights to the model, therefore adding a great number of filters cause overfitting on training data, and thus a worse accuracy on testing. Therefore, the value \(Ntot=100\) appears the best choice. As far as the activation function is regarded, those reported in Table 12, together with respective results, are analyzed. \begin{table}
\begin{tabular}{c c c c c c c c} \hline \hline \multicolumn{2}{c}{\(\boldsymbol{Ntot}\)} & \multicolumn{1}{c}{**50**} & **100** & **200** & **300** & **400** & **500** \\ \hline \multirow{2}{*}{_Acc (\%)_} & **English** & 80.8 & 81.7 & 81.5 & 81.8 & 81.0 & 81.3 \\  & **Italian** & 80.5 & 81.4 & 81.1 & 81.0 & 80.5 & 79.4 \\ \hline \hline \end{tabular}
\end{table}