I made a robot moderator. It models trust flow through a network that’s made of voting patterns, and detects people and posts/comments that are accumulating a large amount of “negative trust,” so to speak.

In its current form, it is supposed to run autonomously. In practice, I have to step in and fix some of its boo-boos when it makes them, which happens sometimes but not very often.

I think it’s working well enough at this point that I’d like to experiment with a mode where it can form an assistant to an existing moderation team, instead of taking its own actions. I’m thinking about making it auto-report suspect comments, instead of autonomously deleting them. There are other modes that might be useful, but that might be a good place to start out. Is anyone interested in trying the experiment in one of your communities? I’m pretty confident that at this point it can ease moderation load without causing many problems.

!santabot@slrpnk.net

    • auk@slrpnk.netOP
      link
      fedilink
      English
      arrow-up
      2
      ·
      7 hours ago

      I tried that early on. It does have a “perspective,” in terms of what communities are the trusted ones. What I found was that more data is simply better. It’s able to sort out for itself who the jerks are, and who are the widely trusted social networks, when it looks at a global picture. Trying to tell it to interpret the data a certain configured way or curtail things, when I tried it, only increased the chance of error without making it any better-tuned to the specific community it’s looking at.

      I think giving people some insight into how it works, and ability to play with the settings, so to speak, so they feel confident that it’s on their side instead of being a black box, is a really good idea. I tried some things along those lines, but I didn’t get very far along.

      Maybe it’d be nice to set it up so it’s more transparent. Instead of auto-banning, it can send auto-reports to the moderators with comments which it considers to be bad, and an indication of how bad or why. And then, once a week, it can publish a report of what it’s done and why, some justification for anyone who it took action against, so that everyone in the community can see it, so there aren’t surprises or secrets.

      I thought about some other ideas, such as opening up an “appeal” community where someone can come in and talk with people and agree not to be a jerk, and get unbanned as long as they aren’t toxic going forward. That, coupled with the idea that if you come in for your appeal and yell at everyone that you are right and everyone else is wrong and this is unfair, your ban stays, could I think be a good thing. Maybe it would just be a magnet for toxicity. But in general, one reason I really like the idea is that it’s getting away from one individual making decisions about what is and isn’t toxic and outsourcing it more to the community at large and how they feel about it, which feels more fair.

      • Danterious@lemmy.dbzer0.com
        link
        fedilink
        English
        arrow-up
        1
        ·
        3 hours ago

        But in general, one reason I really like the idea is that it’s getting away from one individual making decisions about what is and isn’t toxic and outsourcing it more to the community at large and how they feel about it, which feels more fair.

        Yeah that does sound useful it is just that there are some communities where it isn’t necessarily clear who is a jerk and who has a controversial minority opinion. For example how do you think the bot would’ve handled the vegan community debacle that happened. There were a lot of trusted users who were not necessarily on the side of vegans and it could’ve made those communities revert back to a norm of what users think to be good and bad.

        I think giving people some insight into how it works, and ability to play with the settings, so to speak, so they feel confident that it’s on their side instead of being a black box, is a really good idea. I tried some things along those lines, but I didn’t get very far along.

        If you’d want I can help with that. Like you said it sounds like a good way of decentralizing moderation so that we have less problems with power tripping moderators and more transparent decisions. I just want it so that communities can keep their specific values while easing their moderation burden.

  • toothbrush
    link
    fedilink
    English
    arrow-up
    6
    ·
    8 hours ago

    This is an extremely important tool for moderating large forums, thank you for working on this! This is one of those mod tools that some people may need to enable large scale moderated federated forums!

  • alcoholicorn@lemmy.ml
    link
    fedilink
    English
    arrow-up
    14
    ·
    13 hours ago

    So it would delete people’s posts if they get downvoted a lot or if the poster tends to upvote heavily downvoted posts?

    You’ve automated the suppression of dissenting voices.

    • auk@slrpnk.netOP
      link
      fedilink
      English
      arrow-up
      22
      ·
      12 hours ago

      So it would delete people’s posts if they get downvoted a lot

      No.

      or if the poster tends to upvote heavily downvoted posts?

      No.

      You’ve automated the suppression of dissenting voices.

      Am not.

      It’s a perfectly fair concern. I’m trying to be careful to make sure I’m not doing that. There’s quite a lot of explanation in the FAQ, and some conversations you can look back over with people who were concerned, because they’ve had experience with exactly that happening to them.

      At one point I tried to illustrate with data just how big a jerk you have to be before it starts banning you. If you’re interested, I can start doing that again. Being a dissenting voice on its own is nowhere near enough to anger the bot. You can look over !pleasantpolitics@slrpnk.net and see quite a few dissenting voices. I’ve also offered to delve, for any user who feels that this has happened to them, into the breakdown of why they’re being ranked down, which almost always is because they’re being a jerk about their “dissenting” opinion, and not the opinion itself.

      Also, I think it’s hilarious that someone coming from lemmy.ml is accusing me of trying to suppress dissenting voices. Lemmy.ml has been suppressing dissenting voices since its inception. The degree to which I’m bending over backwards not to suppress dissenting voices is something I think you should absorb and carry over to the lemmy.ml moderators as a good replacement for their current banhammer circus.

          • hendrik@palaver.p3x.de
            link
            fedilink
            English
            arrow-up
            1
            ·
            edit-2
            25 minutes ago

            Sure, no need to explain. I think it’s been appropriate to point it out.

            And wow, quite some comments you got. I’m not sure if I agree with the negative ones. We’ve been requesting better moderation tools for a long time now. I wouldn’t immeadiately do away with your effort. I share some concern about privacy and introducing “algorithms” and bots into the platform instead of making it more human… But nonetheless -we need good moderation. A lot of the issues are just technical in nature and can be solved. And you seem pretty aware of them. And there’s always a balance and a potential of abuse that comes with power…

            I think we should experiment and try a few things. A bot is a very good idea, since we won’t get that into the Lemmy core software. I think mostly due to personal reasons. And that relates to the lemmy.ml situation. I’ll have a look at the code. But I’m using PieFed instead of Lemmy. Which already attributes reputation scores to users. So this might be aligned with PieFed’s project goals, maybe we can take some inspiration from your ideas.

      • alcoholicorn@lemmy.ml
        link
        fedilink
        English
        arrow-up
        7
        ·
        edit-2
        12 hours ago

        At one point I tried to illustrate with data just how big a jerk you have to be before it starts banning you. If you’re interested, I can start doing that again.

        Would you?

        My understanding is that downvotes reflect whether or not someone agrees with a post or comment much more than whether the user is making a constructive comment or not so they can only be used to infer how agreeable the comment is.

        I’ve also offered to delve, for any user who feels that this has happened to them, into the breakdown of why they’re being ranked down, which almost always is because they’re being a jerk about their “dissenting” opinion, and not the opinion itself.

        Use me as an example, I regularly get dozens of downvotes for such hot takes as “facilitating genocide hurts the dems chances of getting elected, we need them to stop that if we want them to win.”.

        • auk@slrpnk.netOP
          link
          fedilink
          English
          arrow-up
          15
          ·
          11 hours ago

          Sure. Here’s you. Red is downvotes, blue is upvotes. The left-right axis is time, with the past on the left.

          The bar right below the red/blue bar code is the key to what comments were in what posts.

          One thing that jumps out at me is that almost all of your participation is in political threads, and the majority of it is getting downvoted. It would be different if you were just participating in Lemmy, and then also you had some views that were unpopular. That happens to a lot of people, and I’ve bent over backwards trying to preserve their right to do that when I’ve been making and tuning the bot. This isn’t that. This is almost all just you going in and arguing with people.

          One thing I say a lot when talking to people about this is, “It’s not your opinion, it’s your delivery.” I’m going to be honest, when I read your first message here, it annoyed me. You’re coming out of the gate hostile. Most people, when they receive that, are going to be hostile back. It’s just how people work. You’re not going to convince them of your point of view, you’re not going to be able to fine-tune your own point of view to let them poke holes in any mistakes in it. You’re just going to irritate everyone. That’s a choice you’re making in how you approach things, and I think it’s completely fair for people to react to that choice by closing the door on you.

          It’s the difference between going to a party when you’re in a fringe political party, and having conversations about it, versus showing up to the party with a bunch of flyers and handing one to every person and making almost every conversation over the course of the night revolve around your chosen fringe political party. The first one is fine, or should be, at a decent party. The second one, people are going to remove you from the party for. I think if you want to make an impact on people’s thinking, you’re going to need to recognize and respect that reality of human nature.

          Having an unpopular political opinion is fine. Being a little bit combative with people is fine. Doing both at once is going to collect a tidal wave of downvotes, and also I think is going to make it harder for you to make any progress convincing anyone of anything.

          I regularly get dozens of downvotes for such hot takes as “facilitating genocide hurts the dems chances of getting elected, we need them to stop that if we want them to win.”.

          I’m going to stop you right there.

          You’re playing a little game where you claim you said one thing and got downvoted for it, when I can guarantee you actually said something different. You probably said that we need to not vote for the Democrats, because they’re facilitating genocide. That’s different. You can say that, sure. Someone might say back to you that not voting for the Democrats is going to make the genocide 20 times worse, and that’s why they’re voting for the Democrats. They can say that, too. That’s progress, that’s people talking to each other. Maybe one or the other of you will learn something from the exchange.

          Where it gets difficult is where you go off into this alternate reality where they said, “I love genocide, and I love the Democrats, I’m going to give you downvotes because you don’t support genocide which I love,” and then you start arguing against that thing that they didn’t say. That’s not progress. That’s just people shouting and trying to twist the conversation around so that they can “win.” It only takes a little bit of that before people are going to stop talking to you.

          I know you do that, because you did it to me in your first message in this conversation.

          I looked over some of your posting history, and I think you’ve got some valuable things to say. I learned some things about how bad Liz Cheney was before she for some reason found her principles and broke with the Republican party over Trump. I saw some debates people were having with you about Russian and Chinese history, where I don’t think you’re right, but it didn’t seem like any kind of badly intentioned thing.

          I think if you built up the habit of always responding honestly to what people said, and telling the truth about your own views and the world outside the best way you can, the bot wouldn’t treat you harshly, and you’d also make more progress in convincing people of what you’re trying to say.

          Try again: What’s the last thing you said that got dozens of downvotes, and what did you actually say that got dozens of downvotes? What was the opposing side’s core argument, honestly summarized?

          • BearOfaTime@lemm.ee
            link
            fedilink
            English
            arrow-up
            4
            ·
            edit-2
            10 hours ago

            Two things:

            You’ve accused them of being hostile here, and of arguing elsewhere.

            This very post by you comes across as hostile to me.

            Paradigm is everything, and here you are attempting to be the arbiter if what’s acceptable.

            You’ve also made your own bias clear by labelling someone as “coming from lemmy.ml”. You’re attacking the person from the start.

            Try not to be hypocritical.

            • Ashtear@lemm.ee
              link
              fedilink
              English
              arrow-up
              3
              ·
              10 hours ago

              All I can think about is how this bot is immediately a non-starter because this is the kind of attitude I can expect from the author when asking for support or collaboration. It’s not just in this post, either.

              Even if the parent comment here was hostile–it’s borderline, at worst–I can’t possibly understand the mentality of being argumentative in a post trying to encourage the use of a service.

              • auk@slrpnk.netOP
                link
                fedilink
                English
                arrow-up
                2
                ·
                10 hours ago

                Your 1-star review is noted. When I open a Yelp page for the bot, I’ll be sure to let you know, and you can speak to my manager about it.

            • catloaf@lemm.ee
              link
              fedilink
              English
              arrow-up
              1
              ·
              10 hours ago

              I had the same reaction. I’d like to see this graph for OP. (And also a sentiment analysis of their comments.)

              • auk@slrpnk.netOP
                link
                fedilink
                English
                arrow-up
                1
                ·
                10 hours ago

                You can give me a sentiment analysis, if you want to, you have my profile.

        • auk@slrpnk.netOP
          link
          fedilink
          English
          arrow-up
          3
          ·
          9 hours ago

          My understanding is that downvotes reflect whether or not someone agrees with a post or comment much more than whether the user is making a constructive comment or not so they can only be used to infer how agreeable the comment is.

          I never responded to this part, and I should have. Yes, people definitely vote in exactly that fashion. They do, however, upvote about 10 times more than they downvote. And, the bot takes into account everything you say. It’s not just those controversial topics. You have to be talking about only, or majority, things that people don’t want to hear in order to trigger it. And, Lemmy is all those minority political takes on things. There are a lot of communities where you’ll get straight-up banned for saying things that are mainstream American points of view. The people who tend to be argumentative like to maintain a fiction that people on Lemmy just can’t handle someone who’s anti-genocide, or something like that, when they’re showing up right next to a “fuck Israel” meme or a “fuck Biden for arming Israel” meme that has 1,500 upvotes.

          It’s hard for me to make a convincing argument that it’s tolerant of dissenting voices who aren’t jerks about it without listing off accounts. I can do some version, though, if you’re interested, listing examples of banned and not-banned accounts to illustrate where the boundary line is.

          • alcoholicorn@lemmy.ml
            link
            fedilink
            English
            arrow-up
            3
            ·
            edit-2
            9 hours ago

            Lemmy just can’t handle someone who’s anti-genocide

            They can’t when that stance conflicts with their party. Hence why “The dems need to stop the genocide, people are not going to vote for genocide” gets you downvoted.

            “fuck Biden for arming Israel” meme that has 1,500 upvotes

            Those exist on .world? I see too many “You have to vote for genocide because trump would do genocide and also other bad things” type posts, it’d be weird if they coexisted.

            can do some version, though, if you’re interested

            Sure if it’s trivial I’d be interested, but don’t put too much work into it.

            • auk@slrpnk.netOP
              link
              fedilink
              English
              arrow-up
              5
              ·
              8 hours ago

              I don’t know how much I want to go around this merry-go-round. I’m losing some of my good humor about it. I’ll try though.

              If you need evidence, here it is:

              https://lemmy.world/search?q=fuck biden&type=All&listingType=All&communityId=1384&page=1&sort=TopAll

              Let’s look at the first page:

              Fuck Biden and fuck Putin.

              (Even though I did vote for Biden in 2020 and plan to again in 2024 if he’s the Democratic nominee.)

              118 upvotes (inb4 you pretend that the other three also included that little disclaimer, even though they didn’t)

              Also genocide. Never forget that Biden is aiding and abetting a genocide. Don’t fucking look away because he’s your guy, motherfuckers

              81 upvotes

              Obligatory: Fuck Biden, Fuck Putin, Fuck Netanyahu/IDF and anybody else complicit in killing innocent people and/or oppressing people.

              51 upvotes

              Broadly, Biden supporting this genocide in the way that he has is costing him the election. Acknowledging this doesn’t mean you support Trump. Arguing that if you don’t support Biden in-spite of this position is headspinning, and some posters here (@PugJesus@lemmy.world ) are doing the work of trying to separate the left from Democrats in this regard.

              49 upvotes

              Expressing the viewpoint that you are claiming is banned, is incredibly popular.

              You said, “They can’t when that stance conflicts with their party.” That’s backwards. I can’t speak for everybody, but for me, it’s exactly the other way around. Because I dislike genocide, and because Trump getting elected will accelerate the genocide tenfold, I support Harris. I’m not clinging to the Democrats even though they’re enabling genocide. I’m voting Democratic in this election because the alternative is more genocide. Much, much more.

              You can understand and deal with that viewpoint head-on without caricaturing it into something else. You could say it doesn’t make sense, you could criticize the logic, you could try to argue some other strategy that is no genocide, instead of Harris or Trump. All fine. Instead you’re doing a little dodge where you pretend that the only reason someone might say that, is that they love Democrats and are okay with genocide. For as long as that’s your debate style, you are not welcome, as far as I’m concerned. Learn to respect the point of view of people you disagree with, if you like. I think it’ll help you. Or don’t, and get used to being not listened to in some forums, and banned from some others.

              You can take that or leave it. I’m not trying to debate you. But I’m now pointing out for the second time that, rather than the issue being your viewpoint, which is popular on Lemmy, the issue is that you are caricaturing your opponent’s also-popular viewpoint on Lemmy into something nutty, so that you can send messages which have no possible possibility of any productive impact. That’s disrespectful and inflammatory. That’s why you are banned. Not because of your viewpoint, which is very popular on Lemmy.

  • Sundial@lemm.ee
    link
    fedilink
    English
    arrow-up
    3
    ·
    edit-2
    9 hours ago

    What kind of sample size of comments or time length would the bot use to make a decision? Is it safe to assume that those new Troll accounts would fly under this bots radar?

    Edit:Also is there a functionality where we can look up a user using this tool? I would be interested in seeing some users I’ve interacted with in some political and news related communities.

    • auk@slrpnk.netOP
      link
      fedilink
      English
      arrow-up
      5
      ·
      8 hours ago

      It’s the last 30 days of comments. That’s long enough to be robust, but short enough that someone can realistically rehabilitate their image with the bot by not being a jerk for 30 days, and restore their posting ability.

      I was hoping that it would be a good tool for self-reflection and fairness in moderation. In practice, the people who get banned for being jerks are totally uninterested in revising their commenting strategy, and choose instead just to yell at me that I’m awful and my bot is unfair and it should be their right to come in and be a jerk if they want to, and banning them means I am breaking Lemmy. Then they restart one of the arguments that got them banned in the first place. I don’t know what I was thinking, expecting anything different, but that’s what happened. You can see some of it happening in these comments.

      New accounts, or accounts that have been recently inactive, are a hard problem. I think I’ve got it mostly worked out now. If the bot has limited information, it won’t ban you, but it will be super-strict if you have a generally negative reception, and if its unclear impression of you is negative and you also make a comment that gets downvoted, it’ll delete the comment. I think it should work fairly well, but it’s still in development. It’s hard to test, because that situation only comes up a few times a month, so I basically just have to wait a while every time I do it.

      You can check a user by searching the modlog for their user, and santa@slrpnk.net as the moderator, and see what comes up. If you see that they’ve been banned at any point, then they are probably a reprobate of one sort or another.

      • Backlog3231@reddthat.com
        link
        fedilink
        English
        arrow-up
        3
        ·
        7 hours ago

        How many new accounts do you want? I delete and recreate my account all the time. I’d be happy to make new accounts and put a bunch of comments in them for you. I could make one a week or something.

        • auk@slrpnk.netOP
          link
          fedilink
          English
          arrow-up
          3
          ·
          7 hours ago

          You can do that now, and evade human moderation in the same way.

          I don’t want you to give it a try in the Santa communities, even though it would be a badly-needed test of the system. The code that’s supposed to detect and react to that doesn’t get much action. Mostly it’s been misfiring on the innocent case, and attacking innocent people because they’re new and they said one wrong thing one day. I think I fixed that, but it would be nice to test it in the other case, with some participation that I know is badly intended, and make sure it’s still capable of reacting and nuking the comments.

          But no, please don’t. The remedy for that kind of thing is for admins to have to do work to find and ban you at the source, or look at banning VPNs or something which is sad for other reasons, so I don’t want that. Just leave it until real bad people do it for real, and then me and the admins will have to work out how to get rid of them when it happens.

      • Sundial@lemm.ee
        link
        fedilink
        English
        arrow-up
        2
        ·
        7 hours ago

        Thanks for the information. I took a look at the bots community and for what it’s worth I appreciate the amount of effort you put into fine tuning it as well as being as transparent as possible.