2011 10-14 大咪報告

26
Discovering Organizational Structure in Dynamic Social Network 2009 IEEE DOI 10.1109/ICDM.2009.86 吳吳吳 1

Upload: chenbojyh

Post on 11-May-2015

302 views

Category:

Technology


1 download

TRANSCRIPT

Page 1: 2011 10-14 大咪報告

1

Discovering Organizational Structure in Dynamic Social Network

2009 IEEEDOI 10.1109/ICDM.2009.86

吳文斌

Page 2: 2011 10-14 大咪報告

2

Outline

IntroductionDiscovering the organizational

structure in the static social network

Analyzing evolution of the organizational structure

ExperimentsConclusion

Page 3: 2011 10-14 大咪報告

3

IntroductionCommunity 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.

Page 4: 2011 10-14 大咪報告

4

IntroductionHowever, 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.

Page 5: 2011 10-14 大咪報告

5

Discovering the organizationalstructure in the static social networkIf 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.

Page 6: 2011 10-14 大咪報告

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.

Page 7: 2011 10-14 大咪報告

7

Discovering the organizationalstructure in the static social networkAlgorithm 1 calculating m-Score

for membersInput: social network G Output: vector of m-Score for all

members R

Page 8: 2011 10-14 大咪報告

8

Discovering the organizationalstructure in the static social networkSteps:1. ← S2.Loop:3. For each node4. 5. End6. ← 7. ← 8. ← 9. ← 10. While(ε > δ)11. Normalize( )12. Return( )

)(1 )(

][*)(*

1][

iPMpjj

kijk pL

jRPWd

N

diR

e

0R

1kR kR

1kR

1kR

111 |||||||| kk RR

1kR seRk *1

11 |||| kk RR

Page 9: 2011 10-14 大咪報告

9

Discovering the organizationalstructure in the static social networkcalcScore, 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.

Page 10: 2011 10-14 大咪報告

10

Discovering the organizationalstructure in the static social networkW(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 ε.

1|||| kR

1|||| kR 11 |||| kR

Page 11: 2011 10-14 大咪報告

11

Discovering the organizationalstructure in the static social networkAlgorithm 2 Deriving Community

Tree:Input: social network GOutput: Community Tree CT

Page 12: 2011 10-14 大咪報告

12

Discovering the organizationalstructure in the static social networkSteps1. CT ← [null, … , null]

2. A ← getOneStepT ransMatrix(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

ijt

ijj AZ ][tM 1* ZAt

]][[ jiM t

Page 13: 2011 10-14 大咪報告

13

Discovering the organizationalstructure in the static social networkFunction getOneStepT ransMatrix(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 onestep transition probability from node j to k.

where s denotes the self-transition probability, and Cji denotes weight of edge between node j and i.

i jijk jkCCs

jkstt jkP,/)1(

,|1 {)|(

Page 14: 2011 10-14 大咪報告

14

A. Scoring FunctionTo learn an evolving community tree, a

scoring function is needed to evaluate the evolving community tree.

Let D(CTi, CTj) denote distance between two community trees i and j.

We use an error function ES, as a scoring function to measure the distance errors among three types of community trees22 ),(),( epec CTCTDCTCTDES

Analyzing evolution of the organizational structure

Page 15: 2011 10-14 大咪報告

15

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.

Analyzing evolution of the organizational structure

Page 16: 2011 10-14 大咪報告

16

Analyzing evolution of the organizational structure

B. Tree Learning AlgorithmThe reconstructed process is as follow:

1. Obtain a collection of members in the evolving community tree Pce = Ppre∪Pcs

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.

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.

Page 17: 2011 10-14 大咪報告

17

Analyzing evolution of the organizational structureAlgorithm 3 Learning evolving

community tree: Input: Community Tree CTpre,

CTcsOutput: Evolving community tree

CTe

Page 18: 2011 10-14 大咪報告

18

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

CSCTiminarg

Page 19: 2011 10-14 大咪報告

19

ExperimentsA. 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.

Page 20: 2011 10-14 大咪報告

20

ExperimentsB. Experiments for finding

organizational structure◦We employ the karate dataset, shown

in Figure to evaluate CT Deriving.

Page 21: 2011 10-14 大咪報告

21

ExperimentsB. 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.

Page 22: 2011 10-14 大咪報告

22

ExperimentsC. The experiment for exploring the

evolution of organizational structure in Enron dataset◦Associations among communities are

categorized as splitting, merging, evolving, and emerging.

Page 23: 2011 10-14 大咪報告

23

ExperimentsThe 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.

Page 24: 2011 10-14 大咪報告

24

ExperimentsWe 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.

Page 25: 2011 10-14 大咪報告

25

ExperimentsIt 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.

Page 26: 2011 10-14 大咪報告

26

ConclusionWe 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.