They are different types of bots with different voting behaviours so it is tricky to identify them programatically. I personally have been been building a register of them with some vital stats so I would use a manual blacklist to exclude them from the data query myself, but if I come up with a better idea I'll let you know.
Keep up the good work.
Thanks for the heads-up. One of the major pitfalls in any data analysis is the manual exclusion part. Once we start doing that cleanup we tend to get more biased on the data to be excluded and the final result may get screwed up. So if we cannot exclude programmatically, it is better to leave it as is. Let me know if you get any breakthrough in finding the bots. Eagerly Waiting!