Kuro5hin.org: technology and culture, from the trenches
create account | help/FAQ | contact | links | search | IRC | site news
[ Everything | Diaries | Technology | Science | Culture | Politics | Media | News | Internet | Op-Ed | Fiction | Meta | MLP ]
We need your support: buy an ad | premium membership

meta-scoring: collaborative article rating

By robin in Meta
Mon Sep 25, 2000 at 02:21:57 PM EST
Tags: Kuro5hin.org (all tags)

In a recent story Xenophon Fenderson mentioned that they missed Gnus' adaptive scoring. Gnus, if you haven't come across it before, is an Emacs (and XEmacs, naturally) newsreader, which can also handle email. There's some wild functionality in there which I feel fits very nicely with the Kuro5hin ethos (promoting discussion, improving signal:noise ratios).

I was thinking about this on the way into work, and there are two main chunks of Gnus functionality I'd like to see incorporated into Scoop: adative scoring and GroupLens functionality. First I'll explain briefly what scoring is:

Scoring is Gnus' alternative to killfiles. Rather than simply choosing not to see posts from a particular sender, you can add factors that cumulatively decide whether or not you see the post. Example chunks of Lisp define what you can use to modify an article's score, but the machanism is easily extended. Typical score files punish very short articles, punish authors that the user has chosen to punish, remove points from articles with subject lines containing no lower-case letters, reward articles replying to one of your own posts, etc. etc. This can become as complex as you want it to be.

So that's scoring. Now for the really nifty bits of Gnus functionality that I'd like to see in Scoop:

Adaptive scoring.
Where does the adaptive come in? Well, as you read articles you can tell Gnus how much you enjoyed the article. This can be used to add weights to the subject line of the article, the author, and other metrics of the article. This means that Gnus adaptively learns what you like in an article, and conversely what you don't like. Articles or threads can be sorted by score, and/or below a certain score an article can be marked as read, on the assumption that because you didn't like reading its close neighbours in article space you won't like reading this one.   There are a lot of bells and whistles surrounding the implementation of this (automatically expiring entries, so as not to clutter score files with information regarding long-dead threads, etc.), but that is the basic principle. There is more information in the Gnus manual.

GroupLens is scoring taken to the next level. It works on the principle that if you have a large group of people, all of whom are generating article scores (based, for example, on the adaptive scoring described above), these people can be clustered. By this I mean that groups of people with similar tastes can be identified and their recommendations can be pooled; if someone that has in the past made similar choices to you recommends against a new article, the article will drop down your priority list. For this to work requires rather wide participation, in order that suitable fairly stable clusters of like-minded people can form, but it can do an excellent job of winnowing the wheat from the chaff.

It struck me that this kind of meta-rating system might make an interesting addition to Kuro5hin (ie to Scoop). Advogato's experimental approach at community building might also be an interesting place to test this.
  Of course, with an NNTP Scoop back end it would be possible to use Gnus to obtain this functionality, but if the system was implemented in Scoop it could be propagated through to News quite straightforwardly (eg by adding a X-Score: header) and would likely have much wider takeup.

The final thing I'd like to say on this is that for me one of the great pleasures of using Gnus is the wealth of customisation that is possible. This is partly because it's written in Lisp, and so customisation of the code is straightfoward, and also because the author seems to have ensured that everything that it makes sense to configure has a customise variable bound to it. This allows fairly massive customisation in a pointy-clicky fashion, without having to see any scary Lisp code. If Gnus-style scoring is to be a success, I think it would need something approaching this level of configurability.


Voxel dot net
o Managed Hosting
o VoxCAST Content Delivery
o Raw Infrastructure


Related Links
o Scoop
o Kuro5hin
o Xenophon Fenderson
o mentioned
o Gnus
o Emacs
o XEmacs
o Scoring
o complex
o Gnus manual
o GroupLens
o Advogato
o Also by robin

Display: Sort:
meta-scoring: collaborative article rating | 16 comments (10 topical, 6 editorial, 0 hidden)
OT: strn? (2.50 / 4) (#7)
by porovaara on Mon Sep 25, 2000 at 12:03:25 PM EST

Does anyone know if anyone ever finished strn? for the longest time it was the only way I could deal with USENET... then again that was like 4 years ago.

Re: OT: strn? (4.66 / 6) (#9)
by caadams on Mon Sep 25, 2000 at 01:34:00 PM EST

Almost all of the strn features were ported back to trn 4.0 a few years ago. Trn 4.0 is currently in "test" status: visit trn.sourceforge.net for more details.

--Clifford Adams (author of "strn")

[ Parent ]

Sounds cool (3.50 / 4) (#8)
by sbeitzel on Mon Sep 25, 2000 at 01:25:35 PM EST

Indeed, this kind of communal rating system is in use in lots of places. Remember Firefly? Now it looks like NetFlix is doing the same thing (rate movies and get recommendations based on your ratings and the ratings of other people who rated like you did.

I think this would be a great addition to Scoop. The questions would be, "How do you decide why I liked/didn't like a particular posting," and, "Why is that user's rating similar/dissimilar to mine?" With some thought, I think this could work really well.

Re: Sounds cool (none / 0) (#15)
by puppet10 on Sat Sep 30, 2000 at 04:08:24 AM EST

See also.. MovieLens

[ Parent ]
agreed (3.33 / 3) (#10)
by mihalis on Mon Sep 25, 2000 at 10:54:18 PM EST

Gnus scoring is something I rely on my make my newsgroups still acceptable these days.

When k5 went down I asked if there was any way we could have an alt newsgroup serve as an overflow area in some sense for the unmoderated junk that was filling up the old K5 server (I asked this on IRC which may have been bad timing on my part and also I don't really know much about IRC anyway, perhaps I misunderstood how it works).

The two thoughts I had were a) Usenet is quite robust and hard to DOS (it relies on a "flood-fill algorithm" or so I understand) and b) : Gnus.

Gnus allows me to handle trolls and spam on my newsgroups efficiently. I can sift through 10 "bad" messages in about a minute and safely consign them to different levels of "purgatory" (reduced score by author, topic etc as in the examples given above). I am also aware of the more advanced stuff like GroupLens, NoCem etc so it seemed to me the idea had merit.

Nobody seemed to like the idea (again, maybe I did it wrong, or perhaps it was bad timing) but I'm glad to see something related crop up again. Of course Rusty and Inoshiro came up with plan z (get free hardware and bandwidth just for basically running a cool site - not something that would have occurred to me). That was even better...
-- Chris Morgan <see em at mihalis dot net>

Kinda-OT: NNTP Backends; More-OT: Newsreaders (none / 0) (#11)
by Delirium on Tue Sep 26, 2000 at 12:10:14 AM EST

Several people have proposed this idea of an NNTP backend for k5 (or at least that's what I assume you were proposing; or were you proposing entirely replacing k5 with a newsgroup?). How exactly would that work? Is the idea to have stories posted on the page and then discussion take place in the newsgroup? Would somehow newsgroup discussion be merged with on-the-webpage discussion (the sort that goes on now) so you could view the same discussion through either method? I'm not entirely clear on how this is supposed to work.

And on a completely off-topic note, is Gnus the only newsreader with adaptive scoring and various other such features (and no, just simple killfiles aren't what I have in mind? Are there any similarly useful newsreaders for us lowly win32 folk?

[ Parent ]

Re: Kinda-OT: NNTP Backends; More-OT: Newsreaders (5.00 / 2) (#12)
by kraant on Tue Sep 26, 2000 at 03:58:09 AM EST

slrn has been ported to win32 from memory

There are several holy wars currently going on about how scoop over nntp should be implemented.

For read only access it probably wouldn't be that hard to just have something that parses a slightly more developed xml interface and spools it as news localy. It could even provide feeds to other newservers....

For read/write axs it would be easier to write something that implements nntp itself from the scoop database (preferably after a database object has been abstracted out to prevent subtle corruption of the database by different access methods being used)

So far as I know there are two schools of thought on this.

One is that each story should be it's own newsgroup such as

k5.news.(Constant) State of Kuro5hin

the other is that each section should be it's own newsgroup


I think having both is the best option since people can mung their newsreaders to support the system they prefer

Voting.... Moderation etc would be handled by special messages sent to the server (I assume something similar to cmesgs

That's a couple of ideas.
"kraant, open source guru" -- tumeric
Never In Our Names...
[ Parent ]

Re: Kinda-OT: NNTP Backends; More-OT: Newsreaders (none / 0) (#16)
by kraant on Fri Oct 06, 2000 at 09:42:48 AM EST

For those still interested in this kinda stuff check this out...
"kraant, open source guru" -- tumeric
Never In Our Names...
[ Parent ]
Re: Kinda-OT: NNTP Backends; More-OT: Newsreaders (4.00 / 1) (#13)
by robin on Tue Sep 26, 2000 at 04:57:41 AM EST

Are there any similarly useful newsreaders for us lowly win32 folk?

Well, I understand there's aport of Emacs to Win32 -- Gnus should be fine on that platform.

W.A.S.T.E. (do not antagonise the Horn)
[ Parent ]
Re: Kinda-OT: NNTP Backends; More-OT: Newsreaders (4.00 / 1) (#14)
by e1ven on Tue Sep 26, 2000 at 12:51:51 PM EST

There was a similiar system posted to Cosource.com a while back. It is not terribly well done (admittedly), but the basic idea is in place.
The idea was to split such a system up, across multiple users, and across all of NNTP.
What do you think?
Colin Davis
Project lead, Sq7.org
[ Parent ]
meta-scoring: collaborative article rating | 16 comments (10 topical, 6 editorial, 0 hidden)
Display: Sort:


All trademarks and copyrights on this page are owned by their respective companies. The Rest 2000 - Present Kuro5hin.org Inc.
See our legalese page for copyright policies. Please also read our Privacy Policy.
Kuro5hin.org is powered by Free Software, including Apache, Perl, and Linux, The Scoop Engine that runs this site is freely available, under the terms of the GPL.
Need some help? Email help@kuro5hin.org.
My heart's the long stairs.

Powered by Scoop create account | help/FAQ | mission | links | search | IRC | YOU choose the stories!