2. Outline Introduction Discovering the organizationalstructure in the static social network Analyzing evolution of the organizational structure Experiments Conclusion 2
3. Introduction Community discovery is a classical problem in social network analysis. The goal is to discover related groups of members such that intra-community associations are denser than the associations between communities. 3
4. Introduction However, none of existing works has ever addressed the organizational structure in the social network context. organizational structure is graph for illustrating the power of members and the scope of their power. 4
5. Discovering the organizationalstructure in the static social network If we can find the immediate leader of each member in a network and draw the leadership into a graph, the graph is then referred to as an organizational structure. We provide a score, called m-Score,to represent the importance of the member in a social network. 5
6. Discovering the organizationalstructure in the static social network A data structure, namely community tree, is used to represent the organizational structure in a social network. Definition (Community Tree): For any member pi in P, it has a unique parent node pj where m − Score(pj) ≥ m − Score(pi). If the parent node of pi is the root node NULL, pi is called a core of the tree. A core and its descendents compose a community. 6
7. Discovering the organizationalstructure in the static social network Algorithm 1 calculating m-Score for members Input: social network G Output: vector of m-Score for all members R 7
8. Discovering the organizationalstructure in the static social network Steps: 1.← S 2.Loop: 3. For each node 4. 5. End 6. ← 7.← 8.← 9. ← 10.While(ε > δ) 11. Normalize( ) 12. Return( ) 8
9. Discovering the organizationalstructure in the static social network calcScore, S is a start vector. Vector Rk stores m-Score of each member calculated in the kth iteration. Rk[i] is the m-Score of member pi, d denotes damping factor, and N denotes the number of members.M(pi) denotes the collection where members are associated with pi. L(pj) denotes the sum of weights for all edges associated with pj. 9
10. Discovering the organizationalstructure in the static social network W(pij ) is the weight of the edge link pi and pj. Let be the L1 norm of R, we can calculate the error of and , denoted as e, and then calculate Rk+1 again using e. The iteration terminates when the L1 norm of Rk+1 − Rk is less than a preset threshold ε. 10
11. Discovering the organizationalstructure in the static social network Algorithm 2 Deriving Community Tree: Input: social network G Output: Community Tree CT 11
12. Discovering the organizationalstructure in the static social network Steps 1. CT ← [null, …, null] 2. A ← getOneStepTransMatrix(G) 3. Z ← a diagonal matrix satisfied 4. ← 5. R ← calcScore(G) 6. For each pi in R 7. k ← argmax 8. if R[k] > R[i] 9. CT[i] ← k 10. End 11. Return CT 12
13. Discovering the organizationalstructure in the static social network Function getOneStepTransMatrix(G) in step 2 calculates the one-step transition probability, and then organizes the onestep transition probabilities as a matrix A. A[j, k] is the onesteptransition probability from node j to k. where s denotes the self-transition probability, and Cjidenotes weight of edge between node j and i. 13
14.
15. Let D(CTi, CTj) denote distance between two community trees i and j.
16. We use an error function ES, as a scoring function to measure the distance errors among three types of community trees14 Analyzing evolution of the organizational structure
17. B. Tree Learning Algorithm We propose a tree learning algorithm to find an evolving community tree from two static community trees, which is a process that reconstructed a community tree according to scoring function ES. 15 Analyzing evolution of the organizational structure
18.
19. Analyzing evolution of the organizational structure Algorithm 3 Learning evolving community tree: Input: Community Tree CTpre, CTcs Output: Evolving community tree CTe 17
20. Analyzing evolution of the organizational structure Steps: 1.Pce ← Ppre ∪ Pcs 2. For each pi in Pce 3. m-Score(pi) ← (1 − α) ・ m-Score(pi|pre) + α ・ m-Score(pi|cs) 4. End 5. Pce ← Pce − {Pi ∈ Pce − Pcs|m-Score(Pi) < ε} 6. CTe ← build a community tree with only a root node 7. For each pi ∈ Pce in m-Score descent order 8. CS ← put pi under each node in CTe to generate a candidates collection 9. CTt ← ES(CTi) 10.if ES(CTt) < ES(CTe) CTe ← CTt 11.End 12. Return CTe 18
21. Experiments A. Dataset karate club dataset: The karate dataset represents a relationship network at a university karat club which consisted of 34 members. known Enron email corpus: We preprocess the Enron dataset in following ways: mapping email addresses into users, and deleting duplicate emails. 19
22. Experiments B. Experiments for finding organizational structure We employ the karate dataset, shown in Figure to evaluate CT Deriving. 20
23. Experiments B. Experiments for finding organizational structure The organizational structure obtained from the karate dataset is illustrated in Figure, where parameter p is set 0.85, 0.87 and 0.92 respectively. 21
24. Experiments C. The experiment for exploring the evolution of organizational structure in Enron dataset Associations among communities are categorized as splitting, merging, evolving, and emerging. 22
25. Experiments The graph in before figure presents the evolution of communities in the Enron dataset where each user is assigned an ID number. A node in the graph denotes a community and the ID number of each node represents the core of the community. 23
26. Experiments We compute the standard error for two curves. Obviously, the stander error of dynamic is less than that of static. It clearly indicates that our proposed approach smoothed the change of communities. 24
27. Experiments It can be seen that dasovich-j (ID number 20) was the core of community from January to August. But its importance began to reduce when dasovich-j was no longer the core in September. 25
28. Conclusion We proposed a community tree to represent organizational structure in the social network and conceived an approach. In dynamic social network, we propose a tree learning algorithm to derive evolving community trees. However, the high complexity of the tree edit distance algorithm results in a great time overhead in exploring the evolution of organizational structure. 26