Wiki
Social Graphs and Interactions

Lecture 7
Page last edited by Claire Elizabeth Joyce (celjoy) 22/10-2014

Goals

  • Use tools from the advanced topics of Network Science
  • Use the past to improve your twitter bot

Reading

Learn from the past and read about previous social-bot efforts

We are not going to follow the same rules as the original competition (or the University of Washington competition), but there's lots of useful information to be gained here.

 

Exercises

1) Networks A: Write a short explanation of the following concepts (all can be calculated for any network using NetworkX - and are explained in the NetworkX reference); the explanation should define each concept (illustrations could be nice), and answer the questions listed next to

  • Network Components. What is the giant connected component?
  • Degree, define degree, average degree, and degree distribution. What can you learn from the degree distribution that is not obvious from the average degree.
  • Clustering coefficient. What is the difference between the clustering coefficient for a node and for the whole network?
  • Centrality. What is the intuition behind the concept of centrality? Briefly describe the differences between degree centrality, closeness centrality, betweenness centrality and eigenvector centrality.
  • Assortativity. Explain what degree assortativity means for a network.

2) Networks B: Get started on network plotting. Go to the gephi web-page, download the program and use the quick-start tutoral. All you need to do for now, is to figure out how to plot a network (feel free to use an example from the wiki, or Les Miserables that you can download on the quick start page). Next, plot the twitter network that you created as part of Last week's exercise 4. (Mac/Windows users experiencing problems with Gephi, go here, last problem)

 

3) Networks C: Find communities. Use the Louvain modularity optimizing algorithm to find communities (download the repository https://bitbucket.org/taynaud/python-louvain/downloads, unzip. In a ipython notebook, cd into the directory, then do %run setup.py install).

  • Add the example from  http://perso.crans.org/aynaud/communities/ to your IPython Notebook from last Lecture. But replace G = nx.erdos_renyi_graph(30, 0.05) with  G=nx.karate_club_graph().
  • Inspect the resulting plot. Do the communities make sense?
  • Grab the Karate Club network here:  http://wiki.gephi.org/index.php/Datasets and find communities using Gephi instead (follow instructions in the quick start that you started in Exercise 2). Are the communities the same?
  • Which method do you prefer? NetworkX or Gephi? Why? Can you imagine a situation where Gephi is preferable over NetworkX? When is NetworkX preferable to Gephi?

4) The Twitter bots: Read the blog post mentioned above carefully and answer the following questions in your own words.

  • What is the "Socialbots Competition"?
  • Which additional provisos were added to the rules of the "University of Washington" competition?
  • Do you like the way the Target Population was selected? Could you use any of these rules for your strategy in the next exercise? Which ones do you plan to use - and which ones do you plan to ignore? Why?
  • What did you learn from the four plots "Statuses", "Friends", "Followers", "Mentions". Justify your answer.
  • Which of the ten socialbots in the "University of Washington" competition did you like best? Which are the strategies you plan on stealing and using for your own bot?

5) Are you up to date? Did you implement all aspects of your twitter bot. Use today to catch up (this page provides a convenient checklist).

Support: +45 45 25 74 43