  Detecting communities or the modular structure of real-life networks (e.g. a
social network or a product purchase network) is an important task because the
way a network functions is often determined by its communities. Traditional
approaches to community detection involve modularity-based algorithms, which
generally speaking, construct partitions based on heuristics that seek to
maximize the ratio of the edges within the partitions to those between them. On
the other hand, node embedding approaches represent each node in a graph as a
real-valued vector and is thereby able to transform the problem of community
detection in a graph to that of clustering a set of vectors. Existing node
embedding approaches are primarily based on, first, initiating random walks
from each node to construct a context of a node, and then make the vector
representation of a node close to its context. However, standard node embedding
approaches do not directly take into account the community structure of a
network while constructing the context around each node. To alleviate this, we
explore two different threads of work. First, we investigate the use of maximum
entropy-based random walks to obtain more centrality preserving embedding of
nodes, which may lead to more effective clusters in the embedded space. Second,
we propose a community structure-aware node embedding approach, where we
incorporate modularity-based partitioning heuristics into the objective
function of node embedding. We demonstrate that our proposed combination of the
combinatorial and the embedding approaches for community detection outperforms
a number of modularity-based baselines and K-means clustering on a standard
node-embedded (node2vec) vector space on a wide range of real-life and
synthetic networks of different sizes and densities.
