First, Twitter can't do what the students are doing - an informal, unreliable service going "hey , bot!" is fine for some random people to offer, but the site owner can't chance high error rates on public statements. Twitter keeps suggesting they're doing something like this internally, which would make sense.
Second, the article offers no real evidence that this service works. It's a machine learning problem with no proven classifications in the dataset, so the learner will at best reproduce the developers opinions of what a Russian bot looks like.
I'll play around with the tool, but my initial guess is that it just learned "patriotic, inflammatory language, retweets only" as "bot", which isn't a breakthrough anyone can actually act on.
The model looks at hundreds of features of each profile, not just a few features such as patriotic, inflammatory language, and retweets as you suggested. As a result, the model has predicted profiles with very sketchy behavior, such as accounts of normal people that were compromised and become political propaganda accounts a a few years later. We wanted to bring up these accounts and the analysis behind it so we could show the techniques behind these organizations who run these bot-like accounts. We offer our own analysis of these accounts here: https://medium.com/@robhat/an-analysis-of-propaganda-bots-on...
The Wired take definitely left me cynical; it's all too easy to write a human-interest piece about ML approaches that don't actually work. But this is a much more concrete explanation of results, and I'm intrigued.
If you don't mind, could you offer any more clarification on your test/training set? I see the Medium piece talks about wanting to avoid selection bias from hand-classification, but the Wired summary just described hand-selecting 100 "ground truth" bots and then adding their followers. How did you know the followers were also bots? And how did you try to ensure the bots you selected were a reasonable sample?
I think the "won't" may be accurate as if Twitter did it and chose not to act that would look terrible. And the scope of the bot problem may make their user base look a lot less attractive if they admitted it.
Granted everyone suspects, but there may be a valid reason they don't want to "know" at Twitter.
We agree - as independent of Twitter we have a considerable amount of freedom in how we build this. However Twitter can and should be doing much more. For example with a model they can start placing captchas before Tweets.
In addition to building the model we went about trying build our own bots. To do this we went on forums and contacted individuals selling "aged" accounts. It turns out its as simple as sending $4 over paypal to get a compromised account. These are accounts with histories, real followers, and real people behind them.
We bought 11 of these and were able to automate them within the hour of purchasing them. They also started receiving replies to their retweets and content almost immediately from all over twitter.
The ease of setting up these compromised accounts as bots was also incredibly worrisome. We've found high confidence heuristics to determine that an account has been compromised. If we can - Twitter should be able to as well.
We're ultimately a bit confused over Twitter's inactivity here. We also haven't heard anything from the company.
Here's our analysis if you want to read more.
analysis: https://medium.com/@robhat/an-analysis-of-propaganda-bots-on...
Your right - twitter could do (and probably are doing) everything we're doing. They have billions of dollars and hundreds of engineers.
The value of building a model is that we can do a wide analysis on bot like activity. Separately launching botcheck.me as something that users can use is incredibly valuable from the ML side. Users essentially hand classify a bunch of false positives for us (to further train on) and also give us an idea of how are model is doing.
We aren't just doing sentiment analysis and you're right - NLP is hard. Fortunately at UC Berkeley we have some amazing CS professors that have been incredibly helpful in advising us while building this.
We're using LSTMs to learn the weights of various words. We've been using high confidence heuristics to generate our training data that aren't based primarily on tweet content.
One such example is looking at compromised accounts that have had their usernames changed.
Here's an analysis: https://medium.com/@robhat/an-analysis-of-propaganda-bots-on...
Methodology: https://medium.com/@robhat/identifying-propaganda-bots-on-tw...
We want to release a portion of training data so that others can build similar services. Let me know if you have any more questions :)
Don't know, but they aren't.
Twitter has a much harder post-discovery choice. Do they disable or publicly flag accounts, and catch flack for hitting real ones? Or do they monitor internally and wait for high confidence, then get in trouble for not doing enough?
I don't see how Twitter could offer a comparable service even with a comparable tool; being the official overseer of the question leaves them with too much responsibility.
Do these kids not think that Twitter has the ability to do this.
This article comes off as if Twitter does not know what they are doing, which I think is hard to believe.
What I think these kids are going to find out, it's not that easy as it sounds.
Couldn't anyone do what these people are doing with a couple hundred bucks using Google cloud services and their natural langage API to label positive and negative tweets.
Seeing news like this which is not news, makes me realize how gullable people are about what goes into 'models'.
People have no idea how hard nlp is. That is all lol.