Santabot

16 readers
2 users here now

Santabot is an automated moderation tool, designed to reduce moderation load and remove bad actors in a way that is transparent to all and mostly resistant to abuse and evasion.

This is a community devoted to meta discussion for the bot.

founded 4 months ago
MODERATORS
1
1
submitted 1 month ago* (last edited 1 month ago) by [email protected] to c/[email protected]
 
 

After last week's post and talking with some people, here is my proposal for bringing transparency to the Santa bot. I can set it up to, every week, post a spot-check of some of its judgements, using this visualization format:

The bar code section at the top shows red for negative rank (downvotes), and blue for positive rank (upvotes). Time goes left to right, over the course of the past month, with a stripe for each impactful comment and post. Then, below the big red/blue bar code, there's a key with some other colors, linking particular sections to participation in particular threads.

In this case, you can see that there were some unpopular things said by this person, but outweighed by normal positive participation. This is generally what it looks like if someone posts controversial opinions but isn't trolling. You can see some red, but it's not a clear pattern. It's just that they say things sometimes that people don't like.

Compare that with this:

That's a pretty large amount of pretty bright red, and looking over the comments, what's garnering the downvotes isn't even their opinion. It is long exchanges bitterly attacking any person who disagrees with their viewpoint, and being noisy and abrasive in general. That's a lot more unpopular on Lemmy than a simple unpopular opinion. This user is banned by Santa. This is what I mean by "unpleasant," when I say "pleasant politics."

What I propose to do is to regularly post some of these breakdowns, along with example comments, for people who are just barely over the line on one side or the other. The goal is twofold:

  1. People can see how Santa works instead of it just being me telling people to trust me.
  2. It sheds some light on what people on Lemmy give a lot of hate for, hopefully helping people to be able to engage and communicate their point better. Usually, when people are getting widely downvoted, it's not at all the opinion they're expressing. It's their delivery. Either intentionally or not, they're being blaring or confrontational with their delivery of it, showing disrespect to anyone who thinks differently, getting in long angry disputes, and suchlike. For some reason, this is usually coupled with claiming that they're not being well-received because their opinion is unpopular, even though the core of the opinion is more often than not something that's widely popular, or at least tolerated, when people express it more productively.

Here is one of those snapshots, exactly as I would set up Santa to post it periodically. The goal is that by posting what things look like just on the good side of the line, and just on the bad side, it sheds light on where the line is and what it looks like.


Users who are not banned, but getting close

Example one (not banned)

Example comment, from 7 Takeaways From the Seemingly Endless Fire Season | While the Line fire burns in Southern California, what can we learn from how a changing climate has affected an expanding fire season?:

California is not a good example of wildfires caused by climate change. California is an excellent example of how not letting natural fires burn over the last few decades has created unhealthy forests full of dead tree/bushes that are now powderkegs waiting to go off.

California, especially things like redwoods, evolved to NEED a cleansing fire every so often. THAT is our natural climate and we have been fighting against THAT for years.

This isn't "climate change". This is "the climate isn't what we humans want so we tried to change it and now we're suffering the effects of that."

Example two (not banned)

Example comment, from Craaaawling in my skiiin:

Bad taste then, bad taste now. No development or change in perspective. If this is you, you should be disappointed in yourself. Grow as you age.

Edit: hahaha people did NOT like this comment. They're BAD, guys. Whiny, cringey, melodramatic. It's music for a 12 year old.

Examples of users that are banned, but only just

Example one (banned)

Example comment, from Mexico will amend its constitution this weekend to require all judges to be elected:

Between these two options:

  1. indulging in the delusion of neutral judges and letting the elite pick the ones who do the best job of pretending to be neutral while representing their interests

  2. discarding the illusion of neutral judges and picking ones who openly state (and ideally have a record) that they will seek to pursue and enact justice as both they and the better part of the population interpret it

I think one of these is clearly superior for "promoting justice". Do you disagree?

Yes, I disagree. I already stated why.

But you yourself admitted that there may be no such thing as "neutral," "apolitical" justices. If there aren't, what good does pretending do?

Example two (banned)

Example comment, from People who hate fat people disguise their hate as science.:

why not hate them for both scientific reasons and viscerally?


Thoughts?

2
1
submitted 1 month ago* (last edited 1 month ago) by [email protected] to c/[email protected]
 
 

The steady stream of people who are telling me that the Santa moderation bot is going to delete anyone who's downvoted or disagrees with the group, is continuing unabated.

Here's an olive branch: You've got a point. It's just a black box and I juggle the parameters to some secret process to ban the people who got some downvotes, I can understand how that comes across as toxic. I might or might not be lying about taking careful time to look over its judgements and make sure that I think the impact is more positive than negative, but at the end of the day, it doesn't matter. You still have to trust my intentions and trust the bot to make good decisions, and trusting that to an automated system rarely works out well.

To me, delegating the moderation of the community to the segment of that community that's trusted and consistently upvoted by the rest of us is better than giving it to a handful of people who wield unilateral power according to random rules. I like the bot's judgements most of the time when I look at them. The question is simply whether this algorithm is actually doing that delegation effectively, or if it's just banhammering anyone who gets a couple of downvotes. I'm confident that it's doing the first thing almost all of the time.

In talks behind the scenes with other moderators, I've been going into a lot of detail about specific users and going back and forth about judgements. I also do a ton of checking behind the scenes. I don't want to do that publicly. I think it would be deeply informative to post a list of the "top ten" and "bottom ten" users, and go into detail about why the low-ranked users got where they are, but that's probably not a good idea.

What I would like to do is share that information on some level, so that people can see what's going on, instead of it being me relaying that everything's good. It's tough because I can't break down every level of detail without invading all kinds of people's privacy. That said, I do think that there's a way to be found to open up the process so people can see and give input to what's going on.

One happy medium I could do would be to have the bot post its spot-check automatically about once a week. It could pick out one random user who's barely on the borderline, and post a couple of the worst comments they made. Usually, when I'm messing around with its parameters, that's what I am trying to do. There are some comments that are clearly toxicity that have no business anywhere. There are some comments that are clearly free speech, and even if they're getting downvotes, they deserve to be heard. Then there are some comments that are on the borderline between. My goal is to set up the parameters so that the borderline rank value for a ban matches up with the users who are on that borderline.

I can see some upsides and downsides to posting that publicly. What do people think, though? What would you want to see, in order to make an informed decision about what you think of this whole approach?

3
 
 
  1. It would be extraordinarily easy to bot it and just silence anyone you want.
  2. I agree, moderation is absolutely necessary to maintaine civil discussion, but silencing people, because they have unpopular opinions, is a really bad idea.
  3. I love lemmy because it is the ultimate embodiment of decentralised free speech. This destroys that.
  4. If I were a bad actor, hypothetically, let's just say lammy.ml or haxbear and I decided I wanted to silence anyone who disagrees with what I have to say. Then I could just make a fork of this project to only value my instances votes and censor anyone who doesn't agree with what my community thinks.
  5. This tool simply acts as a force multiplier for those who want to use censorship as a tool for mass silencing of descent.

Yes, I've read the Q&A, But I can simply think of more ways to abuse this bot for bad than it can be used for good.

4
 
 

Everything's been working smoothly, with nothing to report about the moderation bot. The community has been quiet but productive, which was precisely the goal, and the bot working smoothly with no issues. However, something almost went wrong in a particular entertaining fashion which I thought I would share.

The algorithm for classifying troll users doesn't have any polarity. It only knows which users are opposed to which other users. 50% of the time, it'll get its whole ranking system backwards, so the troll users are the normal ones, and everyone else gets negative rank, because the math works just as well under that ranking regime. Generally this isn't a problem, because there's a step:

        # Flip the sign if we arrived at a majority-negative ranking, which can happen
        if -min_val > max_val:
            rank[1:] *= -1

The most popular user is always more popular than the least popular troll is unpopular, by quite a big margin, so that works fine.

However. Things have changed. [email protected] is so unpopular that it's almost (1% margin) more unpopular than the highest-rank user is popular. If that had happened, the whole polarity would have flipped, every user would have been banned, all the trolls would have been unbanned. Mass hysteria. I only happened to notice it before it happened and stop the bot. It's on track to be the least popular user on Lemmy, with about 5 times lower rank than some of the most notorious trolls.

Have fun with this information. I started checking the median rank of all users, instead. Thanks MediaBiasFactChecker.

5
 
 

Some people have been accusing me of creating this bot so I can manifest a one-viewpoint echo chamber. They tell me that they already know that I'm trying to create an echo chamber, anything I say otherwise is a lie, and they're not interested in talking about the real-world behavior of the bot, even when I offer to fix anything that seems like a real echo chamber effect that it's creating.

I don't think it's creating an echo chamber. We've had a Zionist, an opponent of US imperialism, a lot of centrists, some never-Bideners, some fact checking, and one "fuck you." The code to delete downvoted comments from throwaway accounts is pretty much working, but it's only been triggered once. Someone said Mike Johnson's ears were ugly and that made him a bad person, which everyone hated and downvoted, so the bot deleted it since the person that said it didn't have other recent history to be able to use to categorize them. I sent the user a note explaining how the throwaway detection works.


I want to list out the contentious topics from the week, and how I judge the bot's performance and the result for each one, to see if the community agrees with me about how things are looking:

Biden's supreme court changes

I like the performance here. The pleasant comments have a diversity of opinion, but people aren't fighting or shouting their opinions back and forth at each other. The lemmy.world section looks argumentative and low-quality.

Blue MAGA

I don't love the one-sidedness of the pleasant comments section. It's certainly more productive with less argumentation, which is good, but there are only two representatives of one of the major viewpoints chiming in, which starts to sound like an attempt at an echo chamber.

I read the lemmy.world version for a while, and I started to think the result here is acceptable. The pleasant version still has people who have every ability to speak up for the minority viewpoint, but it was limited to people who were being coherent about it, and giving reasons. A lot of the people who spoke up in the lemmy.world version, on both sides, were combative and got engaged in long hostile exchanges, without listening or backing up what they were saying. That's what I don't want.

Biden's Palestine policy

I don't love "fuck you." I debated whether it was protected political speech expressing a viewpoint on the article, or a personal attack, and I couldn't decide, so I left it up. For one thing, I think it's good to err on the side of letting people say what they want to the admins, to bend over backwards just slightly to avoid a situation where some users or their viewpoints are more special, or shielded from firm disagreement, than others. And yes, I recognize the irony.

This one is my least favorite comments section. The user who's engaging in a hostile exchange of short messages has a lot of "rank" to be able to say what they want, and the current model assumes that since people generally like their comments, they should be allowed to speak their mind. The result, however, is starting to look combative to me. It's still far better than the exchanges from lemmy.world, but I don't love it.

What does everyone else think? I don't know if anyone but me cares about these issues in this depth, but I'm interested in hearing any feedback.

6
 
 

It took longer than I thought, but I came up with a promising approach for throwaway accounts. The bot can't use the same parameter set to accounts with only a few interactions as it does for normal accounts, without getting it either too loose for the new accounts or too strict for the old accounts. I had to make a special stricter setting for any account that only has a few interactions in its recent history.

1.3% of users have enough interaction data to judge for sure that people have problems with them, and they get banned just like before. 2% more users on top of that will trigger the stricter filter if they try to post, and get a polite message that they need to interact more before they can participate. 97% of users don't need to worry about any of this, just like before.

I think that approach will work. It's not done yet but I have the parameters in place for it. I think the bot is doing a good job. I was expecting it to get it wrong a few times, and I have found a couple of users it made mistakes on, but it's doing better than I thought it would.

7
 
 

Hi everyone.

I am mostly pleased with how Santabot performed in its first live test today, but I also found issues which I am fixing. I made it a lot more strict and fixed a bug. Details to follow:

Mostly, I was surprised and pleased that the bot was coming up with right judgements for people I was talking with, but this thread has one comment that seems reasonable, and one comment that seemed like exactly the kind of inflammatory content I wanted the bot to eliminate. I looked into it for a while, and eventually had to revisit my attitude toward users that have a lot of "positive rank" counterbalancing also a lot of "negative rank." I think that the ratio of upvoted content to negative content that it's reasonable to ask someone to produce should be higher than 1:1. So I made it 2:1. That eliminated the user posting the offending comment while leaving the user posting the legitimate comment. I didn't have time to go into a full detailed analysis, but I did some spot checks on how that affected its other judgements, and generally I liked what I saw:

  • The percentage of total users banned has gone way up, from 0.4% to 2.8%.
  • @[email protected], @[email protected], and other specific users that I looked into and thought should remain unbanned, are still unbanned by the bot's analysis.
  • Some users who weren't banned by this morning's configuration, but which seemed like they should be, are now banned again.

In addition to the algorithm issues, I found a bad bug. The bot is supposed to remove recent postings when banning someone, to stop throwaway accounts from coming in and posting and then being banned but with the content staying up. However, the bot was simply removing all recent content from all users whenever it banned anybody, and my test suite was too simple-minded to catch the problem until it was live and removed a random innocent user's comment and sent them a message that they were banned. Oops. I partly fixed it once I saw it. Maybe I shouldn't have used Futurama Santa as the avatar.

That's the update. More to come. If you have questions, comments, or concerns, please by all means say something and I'll do my best at a response.