Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

2011 10-14 大咪報告

502 views

Published on

Published in: Technology, Business
  • Be the first to comment

  • Be the first to like this

2011 10-14 大咪報告

  1. 1. Discovering Organizational Structure in Dynamic Social Network<br />2009 IEEE<br />DOI 10.1109/ICDM.2009.86<br />吳文斌<br />1<br />
  2. 2. Outline<br />Introduction<br />Discovering the organizationalstructure in the static social network<br />Analyzing evolution of the organizational structure<br />Experiments<br />Conclusion<br />2<br />
  3. 3. Introduction<br />Community discovery is a classical problem in social network analysis. <br />The goal is to discover related groups of members such that intra-community associations are denser than the associations between communities.<br />3<br />
  4. 4. Introduction<br />However, none of existing works has ever addressed the organizational structure in the social network context.<br />organizational structure is graph for illustrating the power of members and the scope of their power.<br />4<br />
  5. 5. Discovering the organizationalstructure in the static social network<br />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.<br />We provide a score, called m-Score,to represent the importance of the member in a social network.<br />5<br />
  6. 6. Discovering the organizationalstructure in the static social network<br />A data structure, namely community tree, is used to represent the organizational structure in a social network.<br />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.<br />6<br />
  7. 7. Discovering the organizationalstructure in the static social network<br />Algorithm 1 calculating m-Score for members<br />Input: social network G <br />Output: vector of m-Score for all members R<br />7<br />
  8. 8. Discovering the organizationalstructure in the static social network<br />Steps:<br />1.← S<br />2.Loop:<br />3. For each node<br />4. <br />5. End<br />6. ← <br />7.← <br />8.← <br />9. ← <br />10.While(ε > δ)<br />11. Normalize( )<br />12. Return( )<br />8<br />
  9. 9. Discovering the organizationalstructure in the static social network<br />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.<br />9<br />
  10. 10. Discovering the organizationalstructure in the static social network<br />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 ε.<br />10<br />
  11. 11. Discovering the organizationalstructure in the static social network<br />Algorithm 2 Deriving Community Tree:<br />Input: social network G<br />Output: Community Tree CT<br />11<br />
  12. 12. Discovering the organizationalstructure in the static social network<br />Steps<br />1. CT ← [null, …, null]<br />2. A ← getOneStepTransMatrix(G)<br />3. Z ← a diagonal matrix satisfied<br />4. ←<br />5. R ← calcScore(G)<br />6. For each pi in R<br />7. k ← argmax<br />8. if R[k] > R[i]<br />9. CT[i] ← k<br />10. End<br />11. Return CT<br />12<br />
  13. 13. Discovering the organizationalstructure in the static social network<br />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. <br /> where s denotes the self-transition probability, and Cjidenotes weight of edge between node j and i.<br />13<br />
  14. 14. A. Scoring Function<br /><ul><li>To learn an evolving community tree, a scoring functionis needed to evaluate the evolving community tree.
  15. 15. Let D(CTi, CTj) denote distance between two community trees i and j.
  16. 16. We use an error function ES, as a scoring function to measure the distance errors among three types of community trees</li></ul>14<br />Analyzing evolution of the organizational structure<br />
  17. 17. B. Tree Learning Algorithm<br />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.<br />15<br />Analyzing evolution of the organizational structure<br />
  18. 18. Analyzing evolution of the organizational structure<br />B. Tree Learning Algorithm<br /><ul><li>The reconstructed process is as follow:</li></ul>1. Obtain a collection of members in the evolving community tree Pce = Ppre∪Pcs<br />2. Compute the m-Score for each member pi in the evolving community tree, m-Score(pi) = (1 − α) ・m-Score(pi|pre) + α ・ m-Score(pi|cs), where α is smoothing factor.<br />3. We pick up members in m-Score descent order. In each iteration, we put one member under each node in current evolving community tree respectively.<br />16<br />
  19. 19. Analyzing evolution of the organizational structure<br />Algorithm 3 Learning evolving community tree: <br />Input: Community Tree CTpre, CTcs<br />Output: Evolving community tree CTe<br />17<br />
  20. 20. Analyzing evolution of the organizational structure<br />Steps:<br />1.Pce ← Ppre ∪ Pcs<br />2. For each pi in Pce<br />3. m-Score(pi) ← (1 − α) ・ m-Score(pi|pre) + α ・ m-Score(pi|cs)<br />4. End<br />5. Pce ← Pce − {Pi ∈ Pce − Pcs|m-Score(Pi) < ε}<br />6. CTe ← build a community tree with only a root node<br />7. For each pi ∈ Pce in m-Score descent order<br />8. CS ← put pi under each node in CTe to generate a candidates collection<br />9. CTt ← ES(CTi)<br />10.if ES(CTt) < ES(CTe) CTe ← CTt<br />11.End<br />12. Return CTe<br />18<br />
  21. 21. Experiments<br />A. Dataset<br />karate club dataset: The karate dataset represents a relationship network at a university karat club which consisted of 34 members.<br />known Enron email corpus: We preprocess the Enron dataset in following ways: mapping email addresses into users, and deleting duplicate emails.<br />19<br />
  22. 22. Experiments<br />B. Experiments for finding organizational structure<br />We employ the karate dataset, shown in Figure to evaluate CT Deriving.<br />20<br />
  23. 23. Experiments<br />B. Experiments for finding organizational structure<br />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.<br />21<br />
  24. 24. Experiments<br />C. The experiment for exploring the evolution of organizational structure in Enron dataset<br />Associations among communities are categorized as splitting, merging, evolving, and emerging.<br />22<br />
  25. 25. Experiments<br />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.<br />23<br />
  26. 26. Experiments<br />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.<br />24<br />
  27. 27. Experiments<br />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.<br />25<br />
  28. 28. Conclusion<br />We proposed a community tree to represent organizational structure in the social network and conceived an approach.<br />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.<br />26<br />

×