Clustering of social networks, known as community detection is a fundamental partof social network analysis. A community (also known as a module or cluster) is a setof nodes grouped together according to some characteristic. Traditionally, acommunity has been thought of as a set of nodes that are more densely connectedwith each other than the rest of the network. Introducing node attributes to a socialnetwork, allows for two possible sources of information when clustering thenetwork: The network structure, and the attributes describing the nodes.Traditional community detection methods supporting both these sources ofinformation tend to be computationally complex and the resulting clusters aredifficult to interpret in the sense of what chara...