How BOT are you?
In this blog post, I want to inform you about a tool called botometer, which measures how likely a Twitter account is to be a bot. Before go into details, I want to clarify following.
What is a BOT ?
A bot is software application which is able to do some certain tasks. They are automated which means no human interuption is needed for doing tasks. Bots can be both malicious or beneficial. For example, assistant bots in customer services are helping people to get information without waiting a call center employee. On the other hand, bots that are developed to attack our social platform accounts or to send us spam mails are considered as malicious. For detailed information, please read this nice definition.
Top Articles on How Businesses are using Bots:
What is the BOTOMETER ?
As I have stated above, botometer measures how likely a Twitter account is to be a bot. It is a Observatory on Social Media(OSoMe) project. Although OSoMe has various interesting tools, botometer is one the core ones. I definetely recommend to check out their tools for analyzing social media. Let me continue with botometer. You can go and visit its website and try it very easily. I tried it for my account and as I accepted, it seems that I am definitely a bot 😃 Since I don’t use Twitter too much and I only do some retweeting or liking other tweets, it is surely understandable that it regards me as a bot. See my result below.
What are the features ?
In addition to basic result, you can get detailed information about botness (I came up with this word 😃) of an account. Let’s see some details
As you can observe, it just not measures by using only one dimension of an account. It looks content, sentiment and also language independent features which are mostly related to network analysis. So as you see, I am a bot with 91% probability. To get further information, you can get detailed report by clicking details on the result.
Another point is that on botometer website, you can directly download data by only one click to “Export data”.
Before talking about usecases, it is needed to highlight “Why is important to get a score like that ?”. I will mostly write about malicious respect of bots.
Since Twitter has been founded, its number of users are increasing and inparallel its influence is also growing. So, it means how many people you are reaching shows how high your app has impact on society. We saw prominent example of this in 2016 elections in U.S. There were fake-accounts which deliberately tried to manipulate people and it seems that this strategy was successful. Hence, we can definetly say that now social media affects people’s behaviours. Another example of social media’s power is what happened in Turkey at Gezi Park events in 2013 where people are gathered together via Twitter.
Anyway, social media has unprecedented power nowadays. People in bussiness or politics try to use this power in their way. To be able to that they create bots and try to influence people by using these bots. How do they do that ? One possibilty would be creating a journalist account on Twitter and at the sametime, their bots start following the journalist and it is getting more and more followers because people may think that this journalist is followed by lots of people so he or she might be a trustworthy. After that when a fake new published on the journalist account, lots of people would think that the news is right. On the other hand, not only by creating an account but bots can also be used to promote only some news which are prefered and other unprefered important news or informations may become less visible.
First usecase of the botometer would be eliminating such bot accounts that I have mentioned above. We know that Twitter has some issues for deleting bot accounts. For example see the news before midterm elections in U.S.
Another use case may be for analysing real accounts trustworthiness. People don’t use bots just promoting the fake news but they also try to promote accounts. This can be analyzed by using botometer.
Other use case would be generating robust bots. Today, generative deep learning models like Generative Adversarial Networks(GANs) or Variational Auto Encoders(VAEs) are very successful to generate content. By using botometer measure as objective function, basically a GAN can be trained to generate bot content.
To illustrate how to use botometer, let me give a toy example. Let us assume we want to analyze followers of an important account, for example our President Recep Tayyip Erdogan. I was going to get followers data from API of botometer but unfortunetly it is required to have developer Twitter account and for now my account is under reviewing 😶 So, I needed to collect botometer result of 336 accounts on the browser. Thanks to botometers nice interface, it was not hard but for more detailed analysis, I need to wait Twitter to review my account.
So, first look at our President’s result
For a detailed look:
Now, let’s do some very basic analysis on followers of our President. From those 336 accounts, I could only get 116 accounts’ scores because others are unauthorized or they don’t contain any timeline content. I know 116 or 336 from 14,143,059 followers is not reflectiong very profound infortmation but it is a toy example.
I used pandas library of python to make this analysis. To see the humble notebook, please visit my repo.
import pandas as pd
import matplotlib.pyplot as plt
I only used pandas and matplotlib.
data = pd.read_json("botometer_export.json")
Data that I downloaded from botometer website look like:
And I plot the histogram of followers
So, my histogram shows most of the followers of our President look bots but again this is not a comprehensive analysis because my sample from all of his followers is too small.
Botometer is very interesting tool and it can be used in different kind of projects. One of them which is in my mind is to train a GAN model to create a very powerful bot which may be able to fool botometer 😃 On the other hand, while social media has such a great impact on society, having this kind of tools that are developed by OSoME may help us to avoid malicous effect of bots or influencers. For more interesting tools or concepts on Social Semantic Web, stay tuned 👀
Don’t forget to give us your 👏 !