# NodeVector: A Novel Network Node Vectorization with Graph Analysis and Deep Learning
## 3 Materials and Methods
### NodeVector  
Here, we formally define our novel network node vectorization algorithm NodeVector. Let us denote the given network with \(G=(V,E)\), where V and E denote the set of nodes and the set of interactions among those nodes, respectively. In this paper, we focus on undirected networks and consider all interactions in networks such as Protein-Protein Interactions (PPI), BlogCatalog, etc., as undirected. Let us denote the adjacent matrix of \(G\) with \(A_{G}\). Each row and each column in the \(A_{G}\) corresponds to a specific node of network \(G\). Our approach operates through two distinct phases, with the initial phase dedicated to network enrichment using node similarities. The second one adapts deep neural networks to generate novel vector representations of each node. Algorithm 2 presents the pseudocode of our method. Our algorithm requires two input parameters; an undirected network, \(G=(V,E)\), and candidate edge ratio \(e\) as input. Our algorithm generates a vector representation of each node in network \(G\). In the first step, the network enrichment step, we use the \(L_{k}\) level of adjacent similarity and network centrality pattern similarities (see Section 3.3) to identify possible candidate interactions of the input network, \(G\). The purpose of phase 1 is basically to identify undetected interactions and add them to the target network, \(G\). For each node in target network \(G\), we calculate the multi-label neighborhood representations, \(L_{k}\), for different \(k\) neighborhood level parameters. We then calculate the \(RS\) similarity measure for all pairs of nodes and for each level. We add the top \(ccc_{adjsim}\) edge with the highest similarity at each level to the target network, \(G\). Similarly, for each node in target network \(G\), we calculate node centrality measures and apply 0-1 normalization. We then calculate the \(L1D\) similarity measure for all pairs of nodes. Let us denote node centrality similarity with \(cs\). We perform 0-1 normalization and similarity filtering on \(cs\) for each node in target network \(G\). Finally, we add the top highest similar \(ccc_{adjsim}\) edges to network \(G\). Let us denote the network formed after the added new edges for network enrichment with \(G^{\prime}\). The new network, \(G^{\prime}\), can contain repeating edges. Let us denote the edge between node \(n_{x}\) and node \(n_{y}\) in target network \(G\) with \(e_{x,y}\). In adjacent similarity or centrality similarity calculations, we allow repeating \(e_{x,y}\) edge addition if node \(n_{x}\) and node \(n_{y}\) are determined as candidate edges with high similarity. So, we receive more edge representation in the second phase of our algorithm with our hypothesis that such repetitive edges are true with higher probability and contain more information about the network. In the second phase of our algorithm, we adopt a skip-gram and the deep neural network for node vectorization with an unsupervised learning approach. This approach,which has achieved successful results in natural language processing studies in the literature, is based on the principle of predicting the context words surrounding a specific target word within a fixed-size window. The literature studies applying this technique to the graph dataset have focused on generating various sentences from the graph data. In this study, unlike the existing literature, we do not produce sentences.