# A Survey on the Recent Advances of Deep Community Detection
## 2 Preliminaries and Definitions Used in This Survey  
It is commonly known that people's personal networks can be quite big, and their identification is very cumbersome. Generally, the idea to construct social networks is based on the assumption that a society's users will have some features in common. In this sense, researchers have developed a number of techniques that usually start from small predefined communities and implement some type of algorithm that (1) expands these communities, (2) detects newly formed communities, and (not in all cases) (3) finds overlaps between communities. For example, Figure 1 shows a network with three communities. Let \(G=(V,E)\) be a weighted, undirected graph, where \(V\) and \(E\) are the sets of nodes and edges, respectively. The nodes represent users, and edges represent the connections between two users. The _similarity_\(w_{i,j}\) between users \(i\) and \(j\) is the weight of the edge that connects \(i\) and \(j\). This value lies in the interval \([0\ldots 1]\) and indicates how similar are their interests in terms of the files they request through the network. Regularly, the network nodes are also weighted: the weight of a node \(i\) indicates its _Network Connectivity Degree_ (NCD), i.e., how well the preferences, likes, and views of a user are fitted to a community. The network connectivity degree is also between \([0\ldots 1]\)The letters are the node names, the edge values indicate view similarities, and the node values indicate similarity degrees. The network connectivity degree \(NCD_{i}\) of the \(i\) user is computed as follows:  
\[NCD_{i}=\frac{\sum w_{i,j}}{n} \tag{1}\]  
where \(w_{i,j}\) is the weight of any edge that connects user \(i\) with any user \(j\) that lies in the same community, and \(n\) is the number of such edges. A community detection strategy is fed with a network structure as well as node and edge attributes. The network structure identifies the relationships between the nodes; specifically, the related nodes are linked and the weights over the links (edges) show the strength or importance of a connection. The attributes include the information for nodes, like profession, age, and groups of interest that one can find in a Facebook or Instagram profile. Sometimes, signs are also used to indicate positive or negative relationships. Datasets for a number of social networks, which can be used as inputs for a community detection problem, can be found in [12; 13; 14]. The output of a community detection strategy is a set of communities. If the strategy considers overlapping, then there are communities that have nodes in common. Otherwise, the communities are perfectly disjoint. Before we present the categories of DL-based community detection schemes schemes, let us briefly describe how the non-DL community detection schemes can be grouped. There are three basic approaches for the non-deep community detection schemes: (a) top-down approaches (for example [15; 16]), which start from the graph representing the entire network and try to divide it into communities, (b) the bottom-up approaches that use the local structures and try to expand them to form communities, and (c) the data-structure based approaches that try to convert the entire network into a data structure, which is then processed to detect communities. The main advantage of the top-down approaches is that they can easily detect overlapping communities. However, when this overlapping is too high (a node is connected to large number of links distributed to many different communities), there are very large processing delays. The majority of papers follow the second approach, bottom-up (for example [17; 18]). This approach starts from local structures and expands to the overall network. During this  
Figure 1: A network with three communities. process, various communities are formed. The main advantage of the bottom-up approach is the linear time complexity in most of the cases.