Introducing @pleasestop
How many times have you seen "Nice post!" and other generic comments commonly perceived as spam and just wanted to yell, "Please stop!" Yelling isn't going to help, but fortunately you don't have to since @pleasestop is here to guide the community toward better content and ultimately stop this sort of behavior.
The idea for @pleasestop came from my work with @duplibot, who is a sibling to @pleasestop now. With @duplibot I am focusing exclusively on duplicate comments posted repeatedly, but not all spam follows this pattern and I've been considering ways to both expand my reach and continue testing new approaches to stop spam.
Success with @duplibot
My initial approach with @duplibot was to comment in an effort to raise awareness and discourage upvotes and that was met with varying degrees of success. I was hesitant to downvote but the community made it clear that downvotes are supported and I turned my attention to removing rewards.
I've been posting asking for help removing pending rewards and that has been very effective. We've even seen a couple of accounts flagged to a zero reputation which completely hides all future comments from these accounts.
While @duplibot was entirely manual at first, I began looking at ways to script some of my work. I began replying to an account posting the exact same comment every 30 seconds and offered an upvote for any downvotes on this account from the community. My reply and the voting was fully automated and the community took notice and started handing out TONS of downvotes! We moved that account down to a reputation of 5 and it stopped posting in less than a day! The other thing I learned here was that my voting power ran out far quicker than expected since the community responded so well.
I've learned so much from this work and @duplibot has evolved considerably and now I've taken these insights forward into @pleasestop.
Why is this spam?
I have a list of phrases that appear to be spam that I've built by looking at comments that @spaminator replies to. These are the "great post" and "please follow and upvote me" sort of thing that are pretty obviously not unique or meaningful content. I'm watching for new comments containing any of these phrases.
Of course, there actually are legitimate reasons to say some of these things so the use of these phrases alone is not sufficient to summon my reply. After seeing a new comment I look to your previous 100 comments to see how often you're using these sorts of phrases and I only proceed when there are many examples. There are a few other criteria that I use to filter out comments but this is part of the secret sauce I'm going to keep private for now.
Part of me would like to open source my code and share everything with the community, but that is literally a roadmap for the path that spammers could use to avoid me so for now I'm going to keep my exact algorithm private, but I do want to speak to my approach generally.
The @pleasestop approach
Today, @pleasestop is automatically replying to any comments meeting the criteria of my algorithm. I'll be carefully watching and may stop the automation if things get weird, but I've been capturing data without posting for a while now and everything is being identified correctly.
My comment today looks like this.
Please Stop
You've used 42 phrases that may be considered spam in your last 100 comments.
You've received 3 flags recently and I encourage the community to continue flagging comments like this.
In this comment you said:
phrase count nice pic 1 You made this exact same comment 11 times in your last 100 comments along with these additional phrases:
phrase count nice pic 13 nice post 6 nice content 13 great post 3 good work 7 These comments are the reason why your Steem Sincerity API classification scores are as follows:
Spam: 64.20%
Bot: 6.50%Please stop making comments like this and read the ways to avoid @pleasestop and earn the support of the community.
I was thinking of stopping after my first post, but then I decided that it's easy to avoid me and I believe my persistence will prompt most to change, while also informing the community about recent posting habits to discourage upvotes. As I have done with @duplibot, we'll see how this plays out and I will evolve as necessary.
Did you stop?
Now this is where it gets interesting.
After I've replied to an account I'll continue monitoring it to see if these comments persist. If so, I'll gather up any posts with pending payouts and ask the community to remove those rewards. If the spam continues after that, or an account is otherwise unbearably aggressive, I'll even ask for help pushing the account to a negative rep to hide everything posted going forward. Both of these approaches have already proven effective, but of course all this negativity is so negative.
What I'm really hoping proves effective is a new approach focusing on the positive aspects of dealing with comment spam. For those accounts that actually hear my message and stop posting, I want to not only support that with my own upvotes, I plan to share posts from these accounts and ask the community to consider upvoting the account to help make it clear that the community will support you far more when you stop spamming.
I plan to create a series of posts around those accounts that have abandoned comments like this and now are focused on creating unique and original content while properly engaging with the community. A lot of accounts making these comments are just new and trying to find their way around here, so my hope is that by pointing out the obvious folly in these sorts of comments that I'll raise awareness among new accounts and make it obvious this is not tolerated.
And most of all I hope that we can send a few votes to those reformed accounts to make it clear the community not only rejects spam, but supports and encourages legitimate content and wants to see your account find success!
I see an overarching opportunity for some form of curation around this idea to support and help these accounts get established, but I don't wanna reinvent the wheel as I know there are plenty of groups working in these areas. I guess I'm looking for your feedback as to ways I might coordinate with some of the curation guilds focusing on helping new accounts find their way around.
I'll focus on stopping the spam and curators can focus on showing these accounts the correct path to success.
Flags are coming!
Oh absolutely, the downvotes for this content are coming!
I actually have a larger mission here around that so I'm going to address this point separately soon. I have thoughts on a long-term, sustainable approach to deal with comments like this but I have a little more work to finish up on that first.
In the interim, I'm looking to the community to help with flags on these accounts and I'll make separate posts about that.
Please share your feedback
My work with @duplibot has evolved considerably in a relatively short period of time and I expect the same result here. I've outlined my general approach here, but all of this is likely to change in some way as I start to learn how everything unfolds.
If you've followed my work with @duplibot you know I welcome feedback from the community, humbly admit my shortcomings, and evolve into a better form of myself as I glean insights from my work and your feedback.
I have the same hesitations with posting more transactions to the blockchain so I expect to evolve even faster than @duplibot since this account will keep on replying.
Please share your thoughts. And most of all what do you dislike in my approach? I expect at least a little outrage from some accounts I reply to, but it is imperative for me to see the community validation of my work so I need to understand where I'm falling short so I can evolve to both earn and reaffirm that trust.