# An Adversarial Deep Hybrid Model for Text-Aware Recommendation with Convolutional Neural Networks
## 4 Experiment
### Effectiveness of Adversarial Learning and CNN
#### 4.3.2 CNN in Document Modeling  
The performance of our proposed hybrid recommendation model is affected by the effectiveness of CNN in capturing the contextual features of the item documents. As the convolution filtering weights play the key role of detecting text features in CNN, we study whether the contextual meaning of phrases are captured by the convolution matrices.  
To investigate the CNN's capability in our proposed hybrid model ADHR, we select the convolution filtering weight \(W_{c}^{11}\) and \(W_{c}^{86}\) from the model trained on MovieLens10m dataset. The convolution weights capture the contextual meaning of the phrases shown in Table 5. Although the term \"trust\" seem similar to each other in the two phrases, it has subtlety different contextual meanings captured by the convolution weights. Specifically, the \"trust\" in the first phase is a verb while in the second one it is used as noun. To very this distinction, we change the term \"trust\" in the phrases and study the change of weight values. As shown in Table 5, when replacing \"trust\" with \"believe\" and \"faith\" in the phase captured by \(W_{c}^{11}\), the weight value for \"believe\" is higher than that for \"faith\". By contrast, in the case of \(W_{c}^{86}\), the weight value for \"believe\" is lower than that for \"faith\", which matches our expectation that the \"trust\" word shows different meanings in the two phases. The results thus demonstrate that the CNN module in our model is able to distinguish the different contextual meaning of words in documents via the convolution filtering weights.  
Similar to [58; 59; 60; 61; 62], we apply a simple tool to further analyze the predictions of our proposed hybrid model ADHR. Specifically, we produce a heat-map where we associate each input word with its impact on the output prediction in Figure 7. Suppose item \(j\) is recommended to user \(u\). That is, we assume \(\hat{r}_{uj}\) is large. Then let \(\{e_{1},e_{2},\cdots,e_{n}\}\) be the sequence of word embeddings associated with item \(j\). We generate the heat-map's value for word \(t\) by converting the gradient with respect to the word into a scalar. Since the word is discrete, we compute \(||\frac{d^{\mathbf{r}_{uj}}}{d\epsilon_{t}}||\) instead and obtain the gradient by back-propagating through the CNN module \(g(\cdot)\).  
\begin{table}
\begin{tabular}{c c c c} \hline \hline Phrase captured by \(W_{c}^{11}\) & max(\(c^{11}\)) & Phrase captured by \(W_{c}^{86}\) & max(\(c^{86}\)) \\ people **trust** the man & 0.0712 & betray his **trust** finally & 0.1004 \\ \hline Test phrases for \(W_{c}^{11}\) & max(\(c^{11}_{test}\)) & Test phrases for \(W_{c}^{86}\) & max(\(c^{86}_{test}\)) \\ people **believe** the man & **0.0398** & betray his **believe** finally & 0.0632 \\ people **faith** the man & 0.0365 & betray his **faith** finally & **0.698** \\ \hline \hline \end{tabular}
\end{table}
Table 5: Case study of Convolution Filtering Weights of ADHR.  
Figure 6: Convergence of our proposed model ADHR on MovieLens1m.