# Graph Representation-Based Deep Multi-View Semantic Similarity Learning Model for Recommendation
## 2 Related Work
### Graph Embedding
#### 2.2.3 Deep Learning Based Graph Embedding Method  
The inability of shallow models to capture highly nonlinear structures usually results in the failure to generate optimal solutions. As a result, a large number of neural network computations are applied to graph data analysis to improve the shortcomings of shallow models. Typical deep learning-based graph embedding techniques include SDNE [35], DNGR [36], and GraphSAGE [37]. SDNE is a deep autoencoder that obtains the final embedding vector through a highly nonlinear function and an optimized objective function that effectively maintains the first- and second-order similarity of the network. DNGR is effective in maintaining the first- and second-order similarity of the network by combining random roaming and the depth autoencoder approach solves the problem whereby traditional linear dimensionality reduction methods cannot maintain the non-linear structure of graphs. GraphSAGE is a framework for inductive learning that can efficiently generate embeddings of unknown vertices using the attribute information of the vertices. The core idea is to generate the embedding vector of a target vertex by learning a function that aggregates the representation of neighbor vertices. It consists of three main steps: 1. sam pling each vertex of the graph using a similar breadth-first traversal; 2. aggregating the information embedded in the neighbor vertices with an aggregation function; 3. using a nonlinear activation function to obtain the embedding vector of each vertex of the graph. Specifically, in the sampling phase, Graph Sage first selects a point, then randomly selects the first-order neighbors of this point, and then randomly selects their first-order neighbors with these neighbors as the starting point. For example, in the following figure, we want to predict node 0, so first, first-order neighbors 2, 4, and 5 of node 0 are randomly selected, and then first-order neighbors 8 and 9 of node 2 are randomly selected; first-order neighbors of node 4 are randomly selected and first-order neighbors of nodes 5, 13, 15 are shown in Figure 1.  
In the aggregation stage, Graph Sage directly extracts the subgraph from the whole graph, starting from the most edge node, updating the nodes layer by layer inward to generate the target node embedding. Specifically, first aggregate the 2-hop neighbor features, generate one-hop neighbor embedding and then aggregate one-hop neighbor embedding to generate target node embedding, so as to obtain two-hop neighbor information. Graph Sage also analyzes the properties of aggregation functions and proposes that aggregation functions need to meet the following conditions: (1) Aggregation functions need to adapt to the number of aggregation nodes--no matter the number of aggregated nodes, aggregation is performed. The dimensions of the feature vectors obtained after the operation must be the same; (2) The aggregation function needs to have permutation invariance--the order of the obtained feature vectors should be independent of the input order of the data; (3) Aggregate functions must be differentiable. Therefore, Graph Sage provides several applicable aggregation functions- average aggregation, pooling aggregation, LSTM aggregation. In this paper, GraphSAGE is used to learn the embedding representation of user nodes in a social network and is combined with a traditional collaborative filtering algorithm. The graph embedding technique embeds a large-scale information network into a low-dimensional vector space, where each node in the information network is represented by a low-dimensional feature vector. This low-dimensional feature vector representation preserves the structural information of the information network. The network embedding technique has a wide range of applications in machine learning tasks such as node classification, clustering, link prediction, and visualization. Typical graph embedding techniques include DeepWalk, Graph Factorization, and GraphSAGE.