2011 10-14 大咪報告

Post on 11-May-2015

302 Views

Category:

Technology

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

1

Discovering Organizational Structure in Dynamic Social Network

2009 IEEEDOI 10.1109/ICDM.2009.86

吳文斌

2

Outline

IntroductionDiscovering the organizational

structure in the static social network

Analyzing evolution of the organizational structure

ExperimentsConclusion

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.

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.

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.

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.

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

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

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.

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

11

Discovering the organizationalstructure in the static social networkAlgorithm 2 Deriving Community

Tree:Input: social network GOutput: Community Tree CT

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

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 {)|(

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

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

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.

17

Analyzing evolution of the organizational structureAlgorithm 3 Learning evolving

community tree: Input: Community Tree CTpre,

CTcsOutput: Evolving community tree

CTe

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

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.

20

ExperimentsB. Experiments for finding

organizational structure◦We employ the karate dataset, shown

in Figure to evaluate CT Deriving.

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.

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.

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.

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.

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.

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.

top related