Random walks

These algorithms consider the properties of random walks to determine the recommendation score. We include the following approaches:

Commute time

Average time that a random walker needs to go from the target to the origin user and come back. We consider two variants, depending on the underlying random walk algorithm:

  • PageRank

  • Personalized PageRank

Reference: D. Liben-Nowell, D., J. Kleinberg. The Link Prediction Problem for Social Networks. Journal of the American Society for Information Science and Technology 58(7) (2007).

Parameters

  • r: the PageRank teleport rate.

Configuration file

The non-personalized PageRank version is selected as:

Commute time PageRank:
  r:
    type: double
    range:
    - start: 0.1
      end: 0.99
      step: 0.1

and the personalized one as:

Commute time personalized PageRank:
  r:
    type: double
    range:
    - start: 0.1
      end: 0.99
      step: 0.1

Hitting time

Average time that a random walker needs to go from the target to the candidate user. We consider two variants, depending on the underlying random walk algorithm:

  • PageRank

  • Personalized PageRank

Reference: D. Liben-Nowell, D., J. Kleinberg. The Link Prediction Problem for Social Networks. Journal of the American Society for Information Science and Technology 58(7) (2007).

Parameters

  • r: the PageRank teleport rate.

Configuration file

The non-personalized PageRank version is selected as:

Hitting time PageRank:
  r:
    type: double
    range:
    - start: 0.1
      end: 0.99
      step: 0.1

and the personalized one as:

Hitting time personalized PageRank:
  r:
    type: double
    range:
    - start: 0.1
      end: 0.99
      step: 0.1

HITS

Algorithm based on the Hyperlink-Induced Topic Search algorithm.

Reference: J.M. Kleinberg. Authoritative Sources in a Hyperlinked Environment. Journal of the ACM 46(5), 604-642 (1999).

Parameters

  • mode: true if we want to use the authorities scores, false if we want to use the hubs scores.

Configuration file

HITS:
  mode:
    type: boolean
    values: [true,false]

PageRank

This algorithm takes the non-personalized PageRank algorithm (initially designed for estimating the importance of web pages) as a recommendation / prediction method.

Reference: S. Brin, L. Page. The Anatomy of a Large-Scale Hypertextual Web Search Engine. 7th Annual International Conference on World Wide Web (WWW 1998), 107-117 (1998).

Parameters

  • r: teleport rate of the random walk.

Configuration file

PageRank:
  r:
    type: double
    range:
    - start: 0.1
      end: 0.99
      step: 0.1

Personalized HITS

Personalized version of the HITS algorithm, where a teleport probability to the target user of the recommendation has been added.

Reference: A. Goel. The Who-To-Follow System at Twitter: Algorithms, Impact and Further Research. 32rd Annual International Conference on World Wide Web (2014), industry track (2014)

Parameters

  • mode: true if we want to use the authorities scores, false if we want to use the hubs scores.

  • alpha: teleport rate.

Configuration file

Personalized HITS:
  alpha:
    type: double
    range:
    - start: 0.1
      end: 0.99
      step: 0.1
  mode:
    type: boolean
    values: [true, false]

Personalized PageRank

Personalized version of the PageRank algorithm, where the random walk always teleports to the target user. Also known as rooted PageRank.

Reference: S. White, P. Smyth. Algorithms for Estimating Relative Importance in Networks. 9th Annual ACM SIGKDD International Conference on Knowledge Discovery and Data Mining (KDD 2003).

Parameters

  • r: teleport rate of the random walk.

Configuration file

Personalized PageRank:
  r:
    type: double
    range:
    - start: 0.1
      end: 0.99
      step: 0.1

Personalized SALSA

Personalized version of the SALSA algorithm, where a teleport probability to the target user of the recommendation has been added.

Reference: A. Goel, P. Gupta, J. Sirois, D. Wang, A. Sharma, S. Gurumurthy. The who-to-follow system at Twitter: Strategy, algorithms and revenue impact. Interfaces 45(1), 98-107 (2015)

Parameters

  • mode: true if we want to use the authorities scores, false if we want to use the hubs scores.

  • alpha: teleport rate.

Configuration file

Personalized SALSA:
  alpha:
    type: double
    range:
    - start: 0.1
      end: 0.99
      step: 0.1
  mode:
    type: boolean
    values: [true, false]

PropFlow

This algorithm considers the probability that a random walker starting in the target user reaches the candidate user in less than few steps, using the edge weights as transition probabilities.

Reference: R. Lichtenwalter, J. Lussier, N. Chawla. New perspectives and methods in link prediction. 16th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining (KDD 2010), 243-252 (2010).

Parameters

  • maxLength: importance of the Laplacian matrix.

  • orientation: the method to choose the orientation of the paths.

    • IN: the walker advances through incoming edges.

    • OUT: the walker advances through outgoing edges.

    • UND: the walker advances through any edge.

    • MUTUAL: the walker advances through reciprocal edges.

  • weighted: (OPTIONAL) true to use the weights of the edges, false to consider them binary.

Configuration file

PropFlow:
  maxLength:
    type: int
    values: [3,4,5,6]
  orientation:
    type: orientation
    values: [IN,OUT,UND,MUTUAL]
  (weighted:
    type: boolean
    values: [true,false])

SALSA

Adaptation of the Stochastic Approach for Link-Structure Analysis (SALSA) algorithm.

Reference: R. Lempel, S. Moran. SALSA: The Stochastic Approach for Link-Structure Analysis. ACM TOIS 19(2), 131-160 (2001)

Parameters

  • mode: true if we want to use the authorities scores, false if we want to use the hubs scores.

Configuration file

SALSA:
  mode:
    type: boolean
    values: [true,false]