QUT-Digital-Observatory / coordination-network-toolkit

A small command line tool and set of functions for studying coordination networks in Twitter and other social media data.
MIT License
72 stars 14 forks source link

Plan out what a multigraph approach to coordination networks is #24

Open SamHames opened 2 years ago

SamHames commented 2 years ago

Thoughts to be considered off the top of my head?

SamHames commented 2 years ago

Multigraph proposal

What makes sense to me is that we start to think about multigraphs as composed from both different types of networks, but also different parameters for the same network. For example, a co-reply network built on 60, 900, and 3600 seconds are qualitatively different and describe different kinds of coordination, even though they're all co-reply networks.

The multigraph of coordination we construct is then composed of accounts and associated metadata as the nodes as for now, but with distinct types of edges. Each directed edge is characterised by the count of coordinated messages, the type of event used for coordination, the leading and lagging time window (to account for symmetric and asymetric windows, which allows us to tackle #13 ), and any additional parameters used in the network construction (such as the similarity threshold).

I propose that a starting point for enabling this is the following workflow, which extends slightly on the current workflow:

  1. Preprocess data to ingest messages as for now
  2. Construct as many networks as necessary, either by running a series of individual commands, or by specifying a set of networks and different parameters from a configuration file.
  3. Output a single multigraph in graphml format, including all constructed networks by default, or a selected subset.

The new components here are:

The machinery for this also suggests a couple of possible quality of life improvements for workflows that let's us tackle some of #25:

This also might be a good opportunity to review the CLI, and see if we can refactor that to be a little more consistent.