Scoop -- the swiss army chainsaw of content management
Front Page · Everything · News · Code · Help! · Wishlist · Project · Scoop Sites · Dev Notes · Latest CVS changes · Development Activities
RFC: Moderation/trust changes Feature Requests
By rusty , Section Code []
Posted on Mon Oct 21, 2002 at 12:00:00 PM PST
For a while now, K5 has been operating ok with the addition of the "wipe ratings" button. Basically, this allows us to negate harm from people who decide to go on a little rating vendetta and screw with someone else. However, it's manual admin work that *should* be unnecessary within the system. Consdering that it needs to be done, this indicates to me that there is a problem somewhere.

The problem, at heart, is that there's not enough rating going on. If there was a lot of rating, the system would have a lot more inertia and be basically resistant to one person's injection of noise. The problem right now is that there's so little signal that a little bit of noise can cause problems.

So, how to encourage more rating, thereby increasing inertia and improving resistance to noise? I have some ideas for some design changes to ratings that I want to run by everyone for comment and discussion.

The first idea is "automatic rating". Basically, whenever you load a page with comments in it, comments that are in "expanded" mode (i.e. comments you could be reading) will pick up an automatic "neutral" rating from you. In the current scale, they'd get a three. Unless you choose to do something different, you'll automatically rate everything you could have read a three. Like the current system, you can always change your rating, but you can't un-rate it. Right now, the default action is to have no effect. The idea is for the default action to provide an extra point of inertia.

One thought that follows from this is that it would become harder to hide anything, since right now you'd need three trusted users to mark it zero for every non-trusted user who simply views the comment. I have two strategies to deal with this.

The first is to compress the scale. This, I think, is useful for a couple of reasons. Instead of rating 0-5, I'd like to make the scale 0-3, represented by "Encourage, Neutral, Discourage, Hide." Each option is represented internally by a number, and rating works with the numbers the way it always has, but from a user perspective, it may be more clear to simply have the choice to encourage or discourage, plus (hopefully) cutting off all the pointless arguments over whether you're supposed to rate "objectively" or not. The other use is that the maximum ratio required to hide or show something is only three to one, as opposed to the current system's five to one. And if the automatic "neutral" rating equates to two, you don't need such a huge preponderance of "hide" ratings to actually hide something.

The second strategy is to make a much greater assumption of trust, and make distrust earned rather than assumed. So I'd set the trust threshold to 2 (in our hypothetical four-point scale), which means that the requirement to be "trusted" is merely that you've posted a few comments that were not generally hated. There would be a large increase in the number of people able to register a "Hide" rating, and hopefully comments that really need to be hidden would become hidden based on a large-scale confluence of opinion.

Now, not everyone wants to be "trusted", so I'd also like to add the option to just ignore that ability for people who don't care. Also, it would be nice to have the option to be trusted, but not (normally) to see comments rated below one (like non-trusted users).

Ok, to summarize the idea is this:

  • Compress rating scale to 0-3
    • Easier decision (more rating activity)
    • "Enc/Disc/Neutral/Hide" is a clearer choice than 1-5 (more rating activity)
    • Less distance from promote to hide (to account for auto netral ratings)
  • Assume trust
    • "Trusted" just means you post occasionally
    • Lots of users doing comment cleanup
    • Distrust earned, trust merely not betrayed
    • Hopefully prevent over-inertia from totally breaking the hidden comments system
  • Assume a neutral rating
    • Add inertia to minimize effect of noise
    • Reading without rating is an activity -- register an effect
    • Possible uptick in rating activity by people who don't want to have their opinion represented by an automatic default

If any of this is not clear, please ask questions. And if you see major brokenness, or just think something won't work, tear it apart. This isn't a plan so much as just an idea that I think has some possible merit, so I'd love to hear your opinions.

< Are these things possible (reasonably possible) | Unable to get dynamic comments working >

Menu
· create account
· faq
· search
· report bugs
· Scoop Administrators Guide
· Scoop Box Exchange

Login
Make a new account
Username:
Password:

Related Links
· More on Feature Requests
· Also by rusty

Story Views
  109 Scoop users have viewed this story.

Display: Sort:
RFC: Moderation/trust changes | 26 comments (26 topical, 0 hidden)
Sounds OK. (3.00 / 1) (#1)
by RobotSlave on Wed Oct 23, 2002 at 09:11:28 AM PST

The adjustments you suggest do seem to address some of the requests that users have been making.

Random thoughts on the proposed changes:

  • Doing the default-3-rating thingy is going to put a lot of data into the db. That's probably not a good idea. If you have to pad your db with lots of default data, you're probably doing something wrong.
  • I suspect that in practice, having every user rate every comment a "3" or "neutral" will result in so many ratings that zeroing out spam (or anything else) will be effectively impossible.
  • I'm also a little skeptical about your assertion that the problem is a lack of rating. This comes across as "the problem is that the users aren't working hard enough." Glass houses, and all that.

I actually think the problem should be stated quite differently from what I see here, but in the interest of keeping things on-topic, I'll keep my trap shut and just point vaguely at my preliminary thoughts on the matter until such time as I have some working code to illustrate any hairbrained scheme I might come up with once I've got a better handle on things.

Incidentally, rusty, what's your average lag time in responding to your K5 mail these days?



I still have to push a button. (4.00 / 1) (#2)
by Kyle on Wed Oct 23, 2002 at 02:42:58 PM PST

As I'm reading through comments, I don't mind rating them along the way (though it might be nice if it were one click instead of two, say, with radio buttons). What irritates me is that at the end of my rating spree, I have to hit some "rate all" button and wait for the (possibly slow) other end to present me with another page.

Will your default ratings really work, if no one ever hits "rate all"?

Often, if I left a comment unrated, it means it's also unread. If there will be default ratings for everything, can I have a "rate all ABOVE" button that only rates the comments before it (the ones I read before stopping)?



Yes to all (4.00 / 1) (#3)
by TheophileEscargot on Wed Oct 23, 2002 at 04:33:27 PM PST

Great ideas!

I'm not quite clear on what automatic rating means here. Does it automatically rate whenever you move to another page? That would be good.

If not, one other thing us poor dial-up users would benefit from is a button or link somewhere that would be "rate but don't reload". When it takes two minutes to reload after you've hit the rate button, it's a bit of a disincentive...



averages versus deviations (3.00 / 2) (#4)
by dr k on Wed Oct 23, 2002 at 05:59:32 PM PST

You've still got the same old problem of using averages to compare comments that have an unequal number of ratings, so that a comment with one high rating always rates higher than a comment with 9 high ratings and 1 low rating.

Anyway, let's solve your problem of when to hide comments. We can sort of map a binary distribution onto hide/non-hide ratings, as follows: For a comment with n ratings, let h be the number of hidden ratings. We simply ignore the actual value of all other ratings. Now we've got a binomial distribution and the equations are easy.

First, the mean deviation: we need a "probability" for hidden ratings, for now we'll just let that be p=1/4. sigma(n) = sqrt( (p) (1 - p) n ) => sigma(n) = sqrt( 3 * n / 16 ).

Now take the difference between h and the expected number of hidden comments p*n, so the difference is: h - p*n. Divide by sigma(n) to get the number of deviations: (h - p*n) / sqrt( 3 * n / 16).

Okay, so given a comment with 16 ratings having 3 "hide" ratings, do we hide it? Well, plugging in the numbers we get: (3 - (.25 * 16)) / sqrt( 3 * 16 / 16) => -1 / sqrt(3) => -.58. A negative value means there are fewer hide ratings than expected, so don't hide this one.

Given a comment with 64 ratings and 20 "hide" ratings, do we hide it? That is (20 - 16) / sqrt(12) or 1.15 deviations.

Now you get to choose where to set the allowed deviation for hidden comments, and +1 deviation might be good.

You can also choose the value for p.

Another side effect of this method is that below a certain number of ratings, it is impossible for comments to be hidden. Say a comment has 3 ratings and they all say "hide". Well, that is a deviation of only .97, which is less than 1. So the deviation method gives much different results for small samples than the naive "averaging" method -- one could say that it will not give you false positive where there are too few samples statistically.

Of course, one could just not take action against a comment with less than some number of ratings. Use of the mean deviation tell you why this is the correct thing to do.





I like some of these ideas (3.00 / 2) (#6)
by aphrael on Wed Oct 23, 2002 at 09:44:14 PM PST

and dr k's suggestion about using standard deviations is a *very* good one. However, the neutral rating strikes me as being seriously troublesome; it seems to me it solves the problem of too much noise by adding new noise.

The simple case, which I mentioned over on k5, is one in which you assume that 50% of readers change the default. It then becomes impossible for a post to be made invisible; 50% don't modify the default and assign a '2', 50% *do* modify the default and, even if they all assign a '0', you end up with a '1' rating.

You could argue that posts deserving of zeroes are, or should be, so egregious as to result in a higher-than-normal rating percentage. But that leaves the quandary of the normal post: *if* you compress the scale, and if you have a default, a 50% moderation rate would give an effective scale of 1.5-2.5. Values would cluster around the default.

You *might* be able to get around this by having the default be to reinforce the currently existing rating, with people having the option to rate differently, but then you'd get into problems with early ratings being self-reinforcing, even if they were ridiculous.



Trusted User (4.00 / 1) (#7)
by luserSPAZ on Thu Oct 24, 2002 at 06:17:39 AM PST

I've wondered about this for a while, and I'm not sure that "Trusted User" is all it's cracked up to be.  It's derived solely from ratings, which are prone to abuse or apathy, which is the point of this story.  I wonder if it wouldn't be better to have a "web of trust" model, where you or other site admins would be the original "Trusted Users" and capable of delegating trust to other users, potentially giving them some form of moderation ability.  If you could effectively spread out some admin tasks this way, I think you could smooth out the operation of the site.

If you wanted to take it a step further, make everyone a trusted user in their own diary, and let them delegate trust to others in that domain.  Actually, the diary owner should always be allowed to zero posts in their diary, since it's their domain.

Just some ideas.  Not that they're completely relevant to the lack of moderation problem, but they might solve some problems in a different way.



Not enthusiastic (3.00 / 1) (#9)
by anonimouse on Thu Oct 24, 2002 at 08:20:21 AM PST

As others have pointed out, is this not going to make the database more than a little busy.

The problem is that you are going to suffer the reverse effect; positive ratings are going to be buried in the noise of neutral ratings.

K5's rating system is much better than others and I believe you should be looking for minor tweaks, not the grand change that seems to be envisaged here.



Another idea. (4.00 / 1) (#10)
by Kyle on Thu Oct 24, 2002 at 08:32:33 AM PST

Scoop is not very good at figuring out which comments I've read and which I haven't. Specifically, in minimal display mode, I'm considered to have read comments when I've only seen their subjects.

I'd suggest marking a comment as read only after the user rated it. That way, any comment I haven't rated always shows up as [new], whether I've seen it or not. If I'm following a discussion, I'm encouraged to rate every comment I read, just to get it off my radar.

Likewise, I think if the comment display could "View: unrated only" to filter out comments I've read (and rated!), I could follow discussions faster.



..another idea... (none / 0) (#14)
by Iasson on Sat Oct 26, 2002 at 03:55:59 AM PST

You should NOT decrease the range from 5 to 3 on the comment ratings. Insteed, you should increase the range from 0 to 1 and allow ALL the in between numbers as possible votes.

That way we could vote on numbers. For example lets say we have 10 apples and we want to vote:
"How many apples rusty should have".
If I could vote from 0 to 1 and all the number inbetween, I could vote 0.5 and this means that 5 apples should go to rusty. An not only this, but also if the apples increase or decrease, the vote could remain the same...



and if you really want taxis, add representatives (5.00 / 1) (#15)
by Iasson on Mon Oct 28, 2002 at 10:15:50 PM PST

..you should add a representatives alternative.....

For example: I like the ratings tps12 and TheophileEscargot are casting, so I want my initial ratings on comments to be the average of the votes that those two persons are casting. And of course I want to be able to fix the comment ratings from the initial to the rating I am wishing to.

This representatives option will add the desired taxis to k5.



I still think that's too much inertia (4.50 / 2) (#20)
by janra on Thu Oct 31, 2002 at 10:20:17 AM PST

But (as briefly discussed in #scoop) I think that not having a "none" rating available, and having all rating selectors set to 3 by default would work. That way if somebody wants to rate any comment, they rate them all; if they don't want to rate at all, they don't provide too much inertia.

Personally, if I rate I prefer to rate most or all of the comments in a story but setting most of them to 3 is kind of annoying, since I only think of going to the rating box if I want to rate something other than 3. If a comment is average, it doesn't inspire me to choose a rating - so the default rating should be "average".


--
Discuss the art and craft of writing




Hrm (none / 0) (#22)
by Mysidia on Sun Nov 17, 2002 at 11:46:40 AM PST

I don't think I much like the idea of auto-rating things seen.

  • I think reading should be passive: until you actually hit a rate button, you're not intending to rate anything: that a default rating would occur would seem surprising.
  • Just because a comment appears on a page does not mean you have read it.
  • For any number of reasons, you might abstain from rating a particular comment
  • This would add too much intertia, I think.

In my opinion, a better solution, would be to establish certain range limits of ratings a comment could have that depend on how many people have rated it.

For example: a comment with 1 rater could rate between a range of 1.5 and 3.5, ...


 switch(number_raters) {
    case 0:  rating = 3;
    case 1:  rating = min(3.5, max(1.5, average));
    case 2:  rating = min(4.5, max(1.0, average));
    case 3:  rating = max(0, min(5, average));
 }

Well, that would add a tiny bit of inertia.





A Simple idea to encourage rating (none / 0) (#25)
by Tom Brett on Mon Jan 06, 2003 at 04:47:07 AM PST

make the cut-off limit user definable. so by default it would be 0, but each user(Or perhaps just a Trusted User bonus feature?) has the ability to set the cut-off threshold to any number they want, like in the user-preferences.



Kijk dit eens (none / 0) (#26)
by haylaz on Sat Apr 26, 2008 at 08:27:59 AM PST

WebcamSex WebcamSex WebcamSex WebcamSex WebcamSex



RFC: Moderation/trust changes | 26 comments (26 topical, 0 hidden)
Display: Sort:

Hosted by ScoopHost.com Powered by Scoop
All trademarks and copyrights on this page are owned by their respective companies. Comments are owned by the Poster. The Rest © 1999 The Management

create account | faq | search