Presentation is loading. Please wait.

Presentation is loading. Please wait.

Friend Recommendation with a Target User in Social Networking Services

Similar presentations


Presentation on theme: "Friend Recommendation with a Target User in Social Networking Services"— Presentation transcript:

1 Friend Recommendation with a Target User in Social Networking Services
Sundong Kim Department of Knowledge Service Engineering Korea Advanced Institute of Science and Technology Advisor: Jae-Gil Lee ICDE’2015 Ph.D Symposium – April 13th, 2015

2 Outline Introduction Our Model Proposed Algorithm Experiments
Information Propagation Model Influence & Reluctance K-node Suggestion Problem Proposed Algorithm Candidate Reduction Approximation & Incremental Update Experiments Conclusions 2

3 Friend Recommendation
One of the most important function in SNS Using node-to-node similarity Proximity Homophily Ego-network Other contents RANDOM MUTUAL FRIEND FROM SOCIAL CLUB RANDOM MUTUAL FRIEND (KAIST) General Things about Friend recommendation Where it is used? Why important? User satisfaction. Weaknesses No common characteristic between recommendation Hard to cope with user’s hidden intention Recommended friend of my FB account 3

4 Overview Phenomenon Application Possibility 4
SNS administrator can help weaker agents to get more attention by suggesting relevant friends sequentially. Possibility Action : Each individual shows interest on someone’s article Effect : Information can transmit beyond neighbor by cascading effect General Things about Friend recommendation Where it is used? Why important? User satisfaction. #new link 4

5 Without Target vs. With Target
<Without considering target> <Considering target> Target Source Source Target 필요한가..? 지워도 될 듯 (이건 검증된 사진이 아니므로) Recommend users which have high node-to-node similarity (Content-based, Topology-based) Recommend users in order to get maximal attention from the target node

6 Outline Introduction Our Model Proposed Algorithm Experiments
Information Propagation Model Influence & Reluctance K-node Suggestion Problem Proposed Algorithm Candidate Reduction Approximation & Incremental Update Experiments Conclusions How I develop my thought -> flow chart가 필요하다. 6

7 Problem Formulation 1. Quantifying attention (In our paper: Influence)
2. Modeling information flow General Things about Friend recommendation Where it is used? Why important? User satisfaction. 3. Considering acceptance fail situation (Reluctance) 4. Objective function (What should we maximize?) 7

8 Quantifying Attention: Influence
Intuition: Attention from a target user is proportional to the ratio of my information that the target user received. Definition: Ratio of source node( n s )’s article on target node ( n t )’s web feed on underlying graph 𝐺 𝐼 𝑠𝑡 𝐺 = 𝑟 𝑠𝑡 𝑠 𝑟 𝑠𝑡 Issue: How can we estimate 𝑟 𝑠𝑡 ? Need an information propagation model. Number of article on n t ’s web feed which is written by n s Total number of article on n t ’s web feed Influence (Already known concept) vs My concept. 𝑟 𝑠𝑡 =3, 𝑠 𝑟 𝑠𝑡 =8 8

9 Information Flow Modeling
Action : Each individual shows interest on someone’s article Effect : Information can transmit beyond one’s neighbor by cascading effect Four principles I suggest: A walk is a sequence of vertices and edges (based on these four principles) 9

10 Back to Influence Assumptions Number of 𝑛 𝑠 ’ article on 𝑛 𝑡 ’s feed 1
Homogeneous user behavior Deterministic sharing probability 𝑝 𝑠 Same posting behavior (Single article by each user) Independent action (Sharing someone’s post) Number of 𝑛 𝑠 ’ article on 𝑛 𝑡 ’s feed Sequence of graph vertices and edges 𝑤 : 𝑊𝑎𝑙𝑘 𝑤𝑖𝑡ℎ 𝑡𝑤𝑜 𝑒𝑛𝑑𝑝𝑜𝑖𝑛𝑡 𝑛 𝑠 𝑎𝑛𝑑 𝑛 𝑡 𝑆 : 𝑆𝑒𝑡 𝑜𝑓 𝑤𝑎𝑙𝑘𝑠 𝑏𝑒𝑡𝑤𝑒𝑒𝑛 𝑛 𝑠 𝑎𝑛𝑑 𝑛 𝑡 𝑙𝑒𝑛𝑔𝑡 ℎ 𝑤 :𝐿𝑒𝑛𝑔𝑡ℎ 𝑜𝑓 𝑤𝑎𝑙𝑘 𝑤 Example Independent action A walk is a sequence , , , ...,  of graph vertices  and graph edges  such that for , the edge  has endpoints  and  (West 2000, p. 20). The length of a walk is its number of edges. Number of edges in w 1 2 3 4 𝑟 𝑠𝑡 = 𝑝 𝑠 2 +𝟑 𝑝 𝑠 4 +… Total number of walk of length 5 ( ) 10

11 Influence Representation
Katz[1] centrality Centrality measure which considers the total number of walks between two nodes C Katz t = 𝑘=1 ∞ 𝑗=1 𝑛 𝛼 𝑘 𝐴 𝑘 𝑠𝑡 C 𝑃Katz 𝑠, t = 𝑖=1 ∞ 𝛼 𝑘 𝐴 𝑘 𝑠𝑡 𝛼 : Attenuation Factor (Sharing probability) 𝐴 : Adjacency Matrix Relation between Katz centrality and Influence 𝐼 𝑠𝑡 = 𝑟 𝑠𝑡 𝑠 𝑟 𝑠𝑡 = 𝑟 𝑠𝑡 𝑖 𝑁 𝑑𝑖𝑠𝑡 = 𝑖 𝑝 𝑠 𝑖−1 = 𝐶 𝑃𝐾𝑎𝑡𝑧 (𝑠, 𝑡) 𝐶 𝐾𝑎𝑡𝑧 (𝑡) Want to get exposed myself to target Sharing probability = Attenuation factor Total number of walks from t which length is equal to i [1] Katz, L. (1953) A New Status Index Derived from Sociometric Analysis. Psychometrika : 39–43. 11

12 Reluctance Intuition: Reluctance describes a situation where people avoid uncertain friend request Modeling Definition: Negative exponential to Adamic-Adar[2] similarity 𝜌 𝑖𝑗 = 𝑒 −𝑠𝑖𝑚(𝑖,𝑗) Adamic-Adar similarity: sim i,j = 𝑛∈Γ 𝑖 ⋂Γ 𝑗 1 log⁡|Γ 𝑛 | Purpose: Work as a constraint when system suggest a recommendation each step Example: 𝜌 𝑖𝑗 =1, where user 𝑖 and 𝑗 have no mutual friend (Only recommend a node having mutual friend) Γ 𝑖 =𝑁𝑒𝑖𝑔ℎ𝑏𝑜𝑟 𝑜𝑓 𝑖 Want to get exposed myself to target [2] Adamic, L., Adar, E. (2003) Friends and Neighbors on the Web. Social Networks 25. : 211–230. 12

13 𝐾-node Suggestion Problem
𝐺 ′ = Graph after recommendation 𝐺 = Original graph Goal : Maximize 𝐼 𝑠𝑡 𝐺 ′ − 𝐼 𝑠𝑡 (𝐺) by making sequential connection to 𝑘-nodes (𝑘 = unknown) Input : G=(𝑉, 𝐸) , Source node 𝑛 𝑠 , Target node 𝑛 𝑡 Output : Ordered set of 𝑘 suggested nodes for 𝑛 𝑠 : S= 𝑛 𝑖 1 , 𝑛 𝑖 2 , …,𝑛 𝑖 𝑘 Constraint : ρ 𝑠𝑖 <1 for every suggestion (Within two-hop neighbor) Good Suggestion Bad Suggestion 13

14 Major Difficulties Computation cost for the global optimal solution
𝑛 𝑘 different combination for 𝑘-node suggestion Exponential problem with a unknown 𝑘 ⇒ Greedy Algorithm Large matrix inversion Needed for computing influence(Katz centrality) C Katz t = 𝑘=1 ∞ 𝑗=1 𝑛 𝛼 𝑘 𝐴 𝑘 𝑠𝑡 ← 𝐶 𝐾𝑎𝑡𝑧 =( 𝐼−𝛼 𝐴 𝑇 −1 −𝐼) 𝐼 ⇒ Approximation by Monte-Carlo simulation Computation overlap Occurred when computing influence on 𝐺 ′ Another matrix inversion because of few more edges? ⇒ Incremental update of influence Want to get exposed myself to target 14

15 Outline Introduction Our Model Proposed Algorithm Experiments
Information Propagation Influence & Reluctance K-node Suggestion Problem Proposed Algorithm Candidate Reduction Approximation & Incremental Update Experiments Conclusions 15

16 Baseline Greedy Algorithm
Procedure For all n 𝑖 in Candidate set Start Calculate I st on original graph G Calculate Δ I st , ρ 𝑠𝑖 on G ′ =G+e( n s , n i ) Finish algorithm ∀ Δ I st < 0 Update candidate set Find the best node n 𝑏 Set G+e n s , n b as G 16

17 Proposed Algorithm Procedure 1. Candidate Reduction For all n 𝑖 in
Candidate set 2. Influence Approximation 3. Incremental Update Start Approximate I st on original graph G Update I st , ρ 𝑠𝑖 on G ′ =G+e( n s , n i ) Finish algorithm ∀ Δ I st < 0 1. Candidate Reduction Update candidate set Find the best node n 𝑏 Set G+e n s , n b as G 17

18 Candidate Reduction Reduction 1 : Restrict the candidate set to the two-hop neighbors of 𝑛 𝑠 Effect : Size decreases 𝑂 𝑛 →𝑂 𝑑 2 Reason : Constraint 𝝆 𝒔𝒊 <𝟏 implies recommended nodes should have at least one mutual friend Reduction 2 : Gradually remove non-beneficial node 𝑛 𝑖 , the connection of which 𝜟 𝑰 𝒔𝒕 <𝟎 Reason : Each step we suggest only one node, there is low chance that 𝑛 𝑖 would be chosen later 18

19 Working Example Initial candidate set (Two-hop neighbor)
Candidate node Non-beneficial node Source user Target user Want to get exposed myself to target 19

20 Working Example First recommendation result Candidate node
Non-beneficial node Δ 𝐼 𝑠𝑡 < 0 1 𝑠𝑡 suggestion which satisfies 𝑎𝑟𝑔𝑚𝑎𝑥 Δ 𝐼 𝑠𝑡 and Δ 𝐼 𝑠𝑡 > 0 20

21 Working Example Update candidate set : Remove non-beneficial nodes from the candidate set Candidate node Non-beneficial node 1 𝑠𝑡 suggestion 21

22 Working Example Update candidate set : Effect of having a new connection Candidate node Non-beneficial node Want to get exposed myself to target 1 𝑠𝑡 suggestion 22

23 Working Example Second recommendation result Candidate node
Non-beneficial node 1 𝑠𝑡 suggestion 2 𝑛𝑑 suggestion 23

24 Working Example Update the candidate set Candidate node
Non-beneficial node 1 𝑠𝑡 suggestion 2 𝑛𝑑 suggestion 24

25 Working Example Third recommendation result Candidate node
Non-beneficial node 1 𝑠𝑡 suggestion 2 𝑛𝑑 suggestion 3 𝑟𝑑 suggestion 25

26 Working Example Update the candidate set 1 𝑠𝑡 suggestion
26

27 Working Example No more beneficial nodes on the candidate set
Candidate node Non-beneficial node Want to get exposed myself to target 1 𝑠𝑡 suggestion 2 𝑛𝑑 suggestion 3 𝑟𝑑 suggestion 27

28 Working Example Final result Candidate node Non-beneficial node
1 𝑠𝑡 suggestion 1 2 𝑛𝑑 suggestion 2 3 3 𝑟𝑑 suggestion 28

29 Proposed Algorithm Procedure 1. Candidate Reduction For all n 𝑖 in
Candidate set 2. Influence Approximation 3. Incremental Update Start Approximate I st on original graph G Update I st , ρ 𝑠𝑖 on G ′ =G+e( n s , n i ) Finish algorithm ∀ Δ I st < 0 1. Candidate Reduction Update candidate set Find the best node n 𝑏 Set G+e n s , n b as G 29

30 Monte-Carlo Simulation
Purpose : To get the numerical result of 𝐼 𝑠𝑡 and Δ𝐼 𝑠𝑡 Influence approximation ( 𝐼 𝑠𝑡 ) Simulation of Katz centrality ( 𝑠 𝑟 𝑠𝑡 ) and personalized Katz centrality ( 𝑟 𝑠𝑡 ) using our information propagation model Save interim result for Δ𝐼 𝑠𝑡 Incremental update of influence ( Δ𝐼 𝑠𝑡 ) Update 𝐼 𝑠𝑡 𝐺 ′ based on I 𝑠𝑡 𝐺 and 𝑒 𝑛 𝑠 , 𝑛 𝑖 1 By Initializing new diffusion starting from 𝑛 𝑠 𝑎𝑛𝑑 𝑛 𝑖 1 30

31 Example (Influence Approximation)
Monte-Carlo simulation for Personalized Katz centrality Number of initial article : 𝑅 1 (Number of simulation) 𝐼 𝑠𝑡 = 𝐶 𝑃𝐾𝑎𝑡𝑧 (𝑠, 𝑡) 𝐶 𝐾𝑎𝑡𝑧 (𝑡) 𝑈𝑝𝑙𝑜𝑎𝑑 𝑅 1 articles Source user Target user 31

32 Example (Influence Approximation)
Articles propagate through network according to our model (Direct neighbors receive the article) <First propagation step> 32

33 Example (Influence Approximation)
Information propagation from a node stops if the sharing condition (e.g. p s =0.2) hasn’t met No sharing from this node <Second propagation step> 𝑥 1 ~ 𝑈 0,1 =0.18< 𝑝 𝑠 No sharing Want to get exposed myself to target Share 33

34 Example (Influence Approximation)
Finish the simulation (Fixed step n) and count the total number of articles which passed 𝑛 𝑡 <Example> Number of articles 𝑛 𝑠 uploaded : 𝑅 1 Number of articles 𝑛 𝑡 received : 0.17𝑅 1 → r st = 𝐶 𝑃𝐾𝑎𝑡𝑧 𝑠,𝑡 ≈0.17 𝑅 1 Number of article each node upload : 𝑅 2 Number of article 𝑛 𝑡 received : 1.25𝑅 2 → 𝑠 r st = 𝐶 𝐾𝑎𝑡𝑧 (𝑡)≈1.25 𝐼 𝑠𝑡 = 𝐶 𝑃𝐾𝑎𝑡𝑧 (𝑠,𝑡) 𝐶 𝐾𝑎𝑡𝑧 (𝑡) ≈ Want to get exposed myself to target 0.17𝑅 1 34

35 Proposed Algorithm Procedure 1. Candidate Reduction For all n 𝑖 in
Candidate set 2. Influence Approximation 3. Incremental Update Start Approximate I st on original graph G Update I st , ρ 𝑠𝑖 on G ′ =G+e( n s , n i ) Finish algorithm ∀ Δ I st < 0 1. Candidate Reduction Update candidate set Find the best node n 𝑏 Set G+e n s , n b as G 35

36 Example (Incremental Update)
Update part : Simulate the effect of new diffusion occurred by a new edge New edge New diffusion 36

37 Example (Incremental Update)
Continue diffusion if sharing condition has met. Finish at the same time with the original simulation and update the influence value Original diffusion New diffusion 𝑥 1 ~ 𝑈 0,1 =0.35> 𝑝 𝑠 Sharing 𝐶 𝑃𝐾𝑎𝑡𝑧 (𝑠, 𝑡) = + 37

38 Outline Introduction Our Model Proposed Algorithm Experiments
Information Propagation Influence & Reluctance K-node Suggestion Problem Proposed Algorithm Candidate Reduction Approximation & Incremental Update Experiments Conclusions 38

39 Network Datasets Size Density Topology 39

40 Time Comparison According to node size (Scale-Free, V =|E|)
According to graph density 40

41 Error Analysis Relative error according to the number of initial seeds
Variance of influence (x-axis : 𝑅 1 , y-axis : 𝑅 2 ) Accurate Stable Unimportant result – remove… 𝑅 1 : Number of initial article to approximate C PKatz (s,t) 𝑅 2 : Number of initial article to approximate C Katz (t) (x-axis : 𝑅 1 , y-axis : 𝑅 2 ) 41 왜 particle size를 위의 정보에 의거하여 어떻게 선정하였나

42 Interpretation Case 1: 𝑛 𝑠 , 𝑛 𝑡 =𝑐𝑜𝑛𝑛𝑒𝑐𝑡𝑒𝑑, 𝑛 𝑠 =𝑙𝑒𝑎𝑓, 𝑛 𝑡 =𝑐𝑒𝑛𝑡𝑒𝑟 42

43 Interpretation Case 2: 𝑛 𝑠 , 𝑛 𝑡 =𝑐𝑜𝑛𝑛𝑒𝑐𝑡𝑒𝑑, 𝑛 𝑠 =𝑙𝑒𝑎𝑓, 𝑛 𝑡 =𝑙𝑒𝑎𝑓 43

44 Outline Introduction Our Model Proposed Algorithm Experiments
Information Propagation Influence & Reluctance K-node Suggestion Problem Proposed Algorithm Candidate Reduction Approximation & Incremental Update Experiments Conclusions 44

45 Summary Design the problem of friend recommendation with a target user
Basic rule of information propagation Influence & Reluctance K-node suggestion problem Develop an algorithm to solve this problem IKA(Incremental Katz Approximation) algorithm Candidate reduction Approximation & Incremental update 45

46 Future Work Solve scalability issue (for dense graph)
Extend our idea to the case of multiple targets Apply more realistic settings Generalize sharing probability Finding implicit relations hidden in networks (Asymmetric behavior in social network) Want to get exposed myself to target 46

47 Thank you Want to get exposed myself to target 47

48 Comparison with KDD’2013 Paper
MY RESEARCH Contribution to academia Suggest active friend recommendation Suggest another objective of active friend recommendation which might include [KDD’2013] Objective Maximize acceptance probability (By selecting 𝑟 𝑅 users for invitation) Maximize source user post ratio in a specific target user (By sequential suggestion) Problem Complexity NP-HARD (Proved) NP-HARD (Conjecture) Proposed Algorithm Iteratively designed dynamic programming algorithm (Polynomial time) – Find optimal solution Incremental way of Monte-Carlo simulation(Numerical approximation) – Polynomial time Dataset Up to |E|=22m Flickr data Sparse network up to |E|=1m (Synthetic) Experiment Scalability, Sensitivity test, Compared with user heuristic Scalability, Error analysis

49 Influence Maximization
Social influence graph Links : Social relationship p(u,v) from u to v is the probability that v is activated by u after u is activated. Independent cascade model Initially some seed nodes are activated Each step, newly activated node activates its neighbor by probability p(u,v) Influence spread: find k seeds that generate the largest influence spread Major differences with my problem Objective function (Attention from unique target) Sequential recommendation u p(u,v) v General Things about Friend recommendation Where it is used? Why important? User satisfaction. Proximity searching Original slide : [Wei Chen, KDD’10 ] 49


Download ppt "Friend Recommendation with a Target User in Social Networking Services"

Similar presentations


Ads by Google