GithubHelp home page GithubHelp logo

andreatagarelli / mlalcr Goto Github PK

View Code? Open in Web Editor NEW
2.0 0.0 0.0 267 KB

Methods for identifying and ranking users who alternately behave as contributors and as lurkers over multiple layers of a multilayer social network

Python 100.00%
lurker lurking-behavior-analysis cross-platform-behavior silent-user-ranking active-contributor-ranking ranking-methods multiple-social-networks multilayer-networks multiplex-networks user-engagement

mlalcr's Introduction

Multilayer Alternate Lurker-Contributor Ranking (mlALCR)

Example multilayer social network, which illustrates eighteen users located over three layer networks.

Copyright 2017-2018 Diego Perna, Andrea Tagarelli, DIMES Dept., University of Calabria, Italy

mlALCR is a Python software for identifying and ranking users who alternately behave as contributors and as lurkers over multiple layers of a multilayer social network. The software, in addition to an implementation of the mlALCR method, contains the implementation of two baselines and an extension of LurkerRank to multilayer networks. The implemented methods were originally defined and described in the peer-reviewed scientific publication reported below.


TERMS OF USAGE: The following paper should be cited in any research product whose findings are based on the code here distributed:

Diego Perna, Roberto Interdonato, Andrea Tagarelli.
Identifying Users With Alternate Behaviors of Lurking and Active Participation in Multilayer Social Networks.
IEEE Trans. Comput. Social Systems 5(1): 46-63 (2018).


Instructions

The relative path of the working directory is assumed to be ./data/ which must contain the input multilayer network(s). Each multilayer network is stored into a text file with extension .ncol modeling the edge lists over the layers. If the working directory contains more than one multilayer network, the input files of the networks will be processed sequentially, according to lexicographic order of the file names.


The format of the input .ncol files:

Each row in a .ncol file contains a triple of values (integer, integer, string) corresponding to the IDs of source-node, target-node, and layer, respectively, separated by ;. Moreover, the .ncol file is required to have the first row corresponding to a header (e.g., source;target;layer).

Options

The software runs one of the following ranking methods, by specifying the option --method $method_name:

  1. mlALCR
  2. mlLR
  3. LR (LurkerRank)
  4. Baselines (LRa1, LRa2)

The software also evaluates the correlation between two ranking solutions, by specifying the option --eval $method_name:

  1. Kendall (Kendall Tau rank correlation coefficient)
  2. Fagin (Fagin's intersection metric --- it requires to specify the number k of top users to be selected)

Usage Examples

  1. Ranking methods:
  • Run mlALCR on all the input files in the working directory, with alpha1=0.5 and alpha2=0.95:
    python3 mlALCR_Project.py --method mlALCR --alphas 0.5,0.95

  • Run LurkerRank on all the input files in the working directory, with alpha=0.75:
    python3 mlALCR_Project.py --method LR --alpha 0.75

  1. Evaluation methods:
  • Compute the Kendall Tau rank correlation coefficient between ranking1.txt and ranking2.txt:
    python3 mlALCR_Project.py --eval kendall --f1 ranking1.txt -f2 ranking2.txt

  • Compute the Fagin's intersection metric between ranking1.txt and ranking2.txt, with k=100:
    python3 mlALCR_Project.py --eval fagin -k 100 --f1 ranking1.txt -f2 ranking2.txt

mlalcr's People

Contributors

andreatagarelli avatar

Stargazers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.