# A Graph Convolution Collaborative Filtering Integrating Social Relations Recommendation Method
## 4 Proposed Recommendation Method
### Recommendation Model Design
#### 4.1.2 Semantic Aggregation Layer  
By iteratively aggregating the neighbor's features, GCN generates new representation of the target node. In SRGCF model, the interactive embedding propagation layer aggregates the embeddings of interacted items to refine the embedding of users. First-order semantic aggregation is reported in (1) and (2). \[e_{u}=\underset{i\in H_{u}}{AGG}(e_{i}) \tag{1}\]  
\[e_{i}=\underset{u\in H_{i}}{AGG}(e_{u}) \tag{2}\]  
where \(AGG(\cdot)\) denotes aggregation function; \(H_{i}\) represents the set of first-order neighbors of item \(i\), that is, the set of users that have interacted with item \(i\). Similarly, \(H_{u}\) represents the set of first-order neighbors of item \(u\). Equations (1) and (2) indicate that in the interaction, \(e_{u}\) derived from an embedded set of its immediate neighbors, as is \(e_{i}\). Figure 6: The overall frame structure of the proposed SRGCF model. The social embedding propagation layer refines user embedding by aggregating information from users' friends. The first-order semantic aggregation process is shown in (3). \[e_{u}=AGG(e_{v}) \tag{3}\]  
where \(F_{u}\) represents the friends' collection of user \(u\). It indicates that in social interaction, the embedded \(e_{u}\) of user \(u\) is generated through the aggregation of embedded \(e_{v}\) of first-order neighbor (social interaction). High-order Semantic Aggregation  
The semantic aggregation layer achieves the aggregation of higher-order semantics by stacking multiple first-order semantic aggregation layers. It includes semantic aggregation for social embedding propagation layer (SEPL) and interactive embeddings propagation layer (IEPL). Semantic Aggregation for SEPL  
According to social high-order connectivity, stacking \(l\) layers can fuse the information from each of \(l\)-order neighbors. Semantic aggregation for social embedding propagation layer captures higher-order friend signals by stacking multiple social embedding propagation layers to enhance user embeddings. The mathematical expression of this process is shown in (4) and (5). \[c_{u}^{(l+1)}=\sum_{v\in F_{u}}\frac{1}{\sqrt{|F_{u}|}\sqrt{|F_{v}|}}c_{v}^{(l)} \tag{4}\]  
\[c_{v}^{(l+1)}=\sum_{u\in F_{v}}\frac{1}{\sqrt{|F_{v}|}\sqrt{|F_{u}|}}c_{u}^{(l)} \tag{5}\]  
where \(c_{u}^{(l)}\) denotes the embedding of \(u\) at the \(l\)-th layer from \(G_{S}\), and \(F_{u}\) denotes the set of friends of \(u\). Semantic Aggregation for IEPL  
It can be seen from interaction high-order connectivity that stacking even layers (i.e., from the user, the length of path is even) can capture the similarity information of user behavior, while stacking odd layers can capture the potential interaction information of users to items. Semantic aggregation for interaction embedding propagation layer captures collaborative signals of high-order connectivity in interaction data by stacking each interaction embedding propagation layer, thus enhancing embeddings. Expression of this process is shown in (6) and (7). \[e_{i}^{(l+1)}=\sum_{u\in N_{i}}\frac{1}{\sqrt{|H_{i}|}\sqrt{|  
where \(\tilde{e}_{u}^{(l)}\) denotes the \(l\)-th layer embedding of \(u\) from \(G_{R}\) and \(G_{S}\), and we let \(e_{u}^{(0)}=c_{u}^{(0)}.g(\cdot)\) is a fusion function, which can be implemented in many ways, and we adopt (9) to fuse:  
\[\tilde{e}_{u}^{(l)}=norm(sum(e_{u}^{(l)},c_{u}^{(l)})) \tag{9}\]  
where \(sum(\cdot)\) denotes element-wise summation. Intuitively, it is an operation to enhance the signal representation, and also can keep the feature space unchanged; \(norm(\cdot)\) denotes row-regularization operation that normalizes user vectors. Then, the final user embedding \(e_{u}^{*}\) and item embedding \(e_{i}^{*}\) is obtained by fusing embeddings of all layers:  
\[e_{u}^{*}=\sum_{l=0}^{L}\alpha_{l}\tilde{e}_{u}^{(l)};e_{i}^{*}=\sum_{l=0}^{L} \beta_{l}e_{i}^{(l)} \tag{10}\]  
where \(e_{u}^{*}\) denotes \(u\)'s final embedding, \(e_{i}^{*}\) denotes the \(i\)'s final embedding, and \(L\) denotes total number of layers.