Gnus development mailing list
 help / color / mirror / Atom feed
* new feature for Red - adaptive scoring
@ 1996-01-25 17:13 Jack Vinson
  1996-01-25 21:33 ` Jason L Tibbitts III
  1996-01-26 16:46 ` Lars Magne Ingebrigtsen
  0 siblings, 2 replies; 14+ messages in thread
From: Jack Vinson @ 1996-01-25 17:13 UTC (permalink / raw)



Okay, so I've been using adaptive scoring for quite a while and have built
up some impressive scores for people who talk a lot.  Is there a way for us
to set maximum and minimum values for adaptive scores on the "from" and
"subject" lines?

Something like '(("from" . (-100 100)) ("subject" . (-500 500))) which
could maybe be added to the gnus-adaptive-score-alist or to yet another
global variable that can be overridden in a group's .SCORE file.

Does this sound useful?

-- 
Jack Vinson                   jvinson@cheux.ecs.umass.edu
"Narf!" - Pinky               <http://www.cis.upenn.edu/~vinson/home.html>


^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: new feature for Red - adaptive scoring
  1996-01-25 17:13 new feature for Red - adaptive scoring Jack Vinson
@ 1996-01-25 21:33 ` Jason L Tibbitts III
  1996-01-26 16:46   ` Lars Magne Ingebrigtsen
  1996-01-26 16:46 ` Lars Magne Ingebrigtsen
  1 sibling, 1 reply; 14+ messages in thread
From: Jason L Tibbitts III @ 1996-01-25 21:33 UTC (permalink / raw)


>>>>> "JV" == Jack Vinson <jvinson@cheux.ecs.umass.edu> writes:

JV> [...]  Is there a way for us to set maximum and minimum values for
JV> adaptive scores on the "from" and "subject" lines?

[...]

JV> Does this sound useful?

I think this makes a lot of sense.  I also think that we should again try
to look at improving fuzzy matching with at least things like common word
elimination.

 - J<


^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: new feature for Red - adaptive scoring
  1996-01-25 17:13 new feature for Red - adaptive scoring Jack Vinson
  1996-01-25 21:33 ` Jason L Tibbitts III
@ 1996-01-26 16:46 ` Lars Magne Ingebrigtsen
  1996-01-26 17:52   ` Wes Hardaker
  1996-01-26 18:55   ` Steven L Baur
  1 sibling, 2 replies; 14+ messages in thread
From: Lars Magne Ingebrigtsen @ 1996-01-26 16:46 UTC (permalink / raw)


jvinson@cheux.ecs.umass.edu (Jack Vinson) writes:

> Okay, so I've been using adaptive scoring for quite a while and have built
> up some impressive scores for people who talk a lot.  Is there a way for us
> to set maximum and minimum values for adaptive scores on the "from" and
> "subject" lines?
> 
> Something like '(("from" . (-100 100)) ("subject" . (-500 500))) which
> could maybe be added to the gnus-adaptive-score-alist or to yet another
> global variable that can be overridden in a group's .SCORE file.

I think a general "score decay" function might be more useful.  For
instance, the scores could decay by 5% every time you read the score
file.  Or something like that -- I'm sure somebody could come up with
a nice function that would prohibit scores from reaching infinity
while still letting "good" articles get a higher score than "bad"
ones.  

-- 
  "Yes.  The journey through the human heart 
     would have to wait until some other time."


^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: new feature for Red - adaptive scoring
  1996-01-25 21:33 ` Jason L Tibbitts III
@ 1996-01-26 16:46   ` Lars Magne Ingebrigtsen
  1996-01-26 17:18     ` Joe Hildebrand
  0 siblings, 1 reply; 14+ messages in thread
From: Lars Magne Ingebrigtsen @ 1996-01-26 16:46 UTC (permalink / raw)


Jason L Tibbitts III <tibbs@hpc.uh.edu> writes:

> I also think that we should again try to look at improving fuzzy
> matching with at least things like common word elimination.

I think we should do that single-word adaption scheme that Per
suggested many moons ago.  If you read an article that has a Subject
called "Gnus, Emacs and other animals", other articles that have the
words "Gnus", "Emacs" and "animals" should get higher scores.  

I've now added it to the Red Gnus todo list.

-- 
  "Yes.  The journey through the human heart 
     would have to wait until some other time."


^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: new feature for Red - adaptive scoring
  1996-01-26 16:46   ` Lars Magne Ingebrigtsen
@ 1996-01-26 17:18     ` Joe Hildebrand
  0 siblings, 0 replies; 14+ messages in thread
From: Joe Hildebrand @ 1996-01-26 17:18 UTC (permalink / raw)


> "Lars" == Lars Magne Ingebrigtsen <larsi@ifi.uio.no> writes:

   Lars> I think we should do that single-word adaption scheme that
   Lars> Per suggested many moons ago.  If you read an article that
   Lars> has a Subject called "Gnus, Emacs and other animals", other
   Lars> articles that have the words "Gnus", "Emacs" and "animals"
   Lars> should get higher scores.

We were also going to have a "psychoanalyze-score-file" function that
would be able to create a psychological profile of you from the words
that caught your attention.  I guess that can be a lower priority. :)

-- 
Joe Hildebrand                  Fuentez Systems Concepts
hildjj@fuentez.com              11781 Lee-Jackson Hwy, Suite 700
Lead Software Engineer          Fairfax, VA 22033
	"Breakfast recapitulates phylogeny" - Spider Robinson


^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: new feature for Red - adaptive scoring
  1996-01-26 16:46 ` Lars Magne Ingebrigtsen
@ 1996-01-26 17:52   ` Wes Hardaker
  1996-01-26 22:10     ` Sean Lynch
  1996-01-27 20:33     ` Lars Magne Ingebrigtsen
  1996-01-26 18:55   ` Steven L Baur
  1 sibling, 2 replies; 14+ messages in thread
From: Wes Hardaker @ 1996-01-26 17:52 UTC (permalink / raw)
  Cc: ding


larsi@ifi.uio.no (Lars Magne Ingebrigtsen) writes:

|> I think a general "score decay" function might be more useful.

Awesome.  This would also take care of those stupid threads that I got
tired of reading because they turned into a different subject all
together.  

I'm not sure you can do it with percentiles though.  Postive scores
would never get to 0, which you'ld definately want.  I think a better
thing to do would be to have it change by a set amount each time.
Positive scores should drop by say 3-5 unless the current score was
under that, then should drop to 0.  Negative scores would do the same.
That way old threads no longer existing would eventually end up at 0
in case some other dingo came along and started a new topic with the
same subject.

Wheeeee


^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: new feature for Red - adaptive scoring
  1996-01-26 16:46 ` Lars Magne Ingebrigtsen
  1996-01-26 17:52   ` Wes Hardaker
@ 1996-01-26 18:55   ` Steven L Baur
  1 sibling, 0 replies; 14+ messages in thread
From: Steven L Baur @ 1996-01-26 18:55 UTC (permalink / raw)


>>>>> "Lars" == Lars Magne Ingebrigtsen <larsi@ifi.uio.no> writes:

Lars> jvinson@cheux.ecs.umass.edu (Jack Vinson) writes:
>> Okay, so I've been using adaptive scoring for quite a while and have built
>> up some impressive scores for people who talk a lot.  Is there a way for us
>> to set maximum and minimum values for adaptive scores on the "from" and
>> "subject" lines?
>> 
>> Something like '(("from" . (-100 100)) ("subject" . (-500 500))) which
>> could maybe be added to the gnus-adaptive-score-alist or to yet another
>> global variable that can be overridden in a group's .SCORE file.

Lars> I think a general "score decay" function might be more useful.  For
Lars> instance, the scores could decay by 5% every time you read the score
Lars> file.

You could have something based on the number of times a scoring rule
has been applied to read articles.  I think the best way to do this
would be to gradually decay positive scores, and increase negative
scores.  That way it would take fewer kills to get rid of a thread
that has a taken a wrong turn somewhere.

-- 
steve@miranova.com baur
Unsolicited commercial e-mail will be proofread for $250/hour.


^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: new feature for Red - adaptive scoring
  1996-01-26 17:52   ` Wes Hardaker
@ 1996-01-26 22:10     ` Sean Lynch
  1996-01-27 20:33       ` Lars Magne Ingebrigtsen
  1996-01-29 19:07       ` Edward J. Sabol
  1996-01-27 20:33     ` Lars Magne Ingebrigtsen
  1 sibling, 2 replies; 14+ messages in thread
From: Sean Lynch @ 1996-01-26 22:10 UTC (permalink / raw)


I would use the following function:

(setq score (- score (* (sign score) (min score (max
          gnus-score-decay-constant (* (abs score)
            gnus-score-decay-scale))))))

Let's say gnus-score-decay-scale is set to 0.05 and
gnus-score-decay-constant is 3, this should cause the following:

Scores between -3 and 3 will be set to 0 when this function is called.

Scores with magnitudes between 3 and 60 will be shrunk by 3.

Scores with magnutudes greater than 60 will be shrunk by 5% of the
score.

This would make the score decay work very similarly to the way living
systems learn.  We could even make this an exponential function of the
time since the last time it was called on a given score.

We need to make sure, though, that this function is called a definite
number of times, so that we can define its behavior.

"This function sets all scores to 0 within five minutes of starting Gnus."

Perhaps it should be related to the number of articles that come
through that are affected by a given score.  This way, when a thread
dies, all scores related to it die more quickly.  

Just a thought.


>>>>> "Wes" == Wes Hardaker <hardaker@ece.ucdavis.edu> writes:

    Wes> larsi@ifi.uio.no (Lars Magne Ingebrigtsen) writes:

    Wes> |> I think a general "score decay" function might be more
    Wes> useful.

    Wes> Awesome.  This would also take care of those stupid threads
    Wes> that I got tired of reading because they turned into a
    Wes> different subject all together.

    Wes> I'm not sure you can do it with percentiles though.  Postive
    Wes> scores would never get to 0, which you'ld definately want.  I
    Wes> think a better thing to do would be to have it change by a
    Wes> set amount each time.  Positive scores should drop by say 3-5
    Wes> unless the current score was under that, then should drop to
    Wes> 0.  Negative scores would do the same.  That way old threads
    Wes> no longer existing would eventually end up at 0 in case some
    Wes> other dingo came along and started a new topic with the same
    Wes> subject.

    Wes> Wheeeee


^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: new feature for Red - adaptive scoring
  1996-01-26 17:52   ` Wes Hardaker
  1996-01-26 22:10     ` Sean Lynch
@ 1996-01-27 20:33     ` Lars Magne Ingebrigtsen
  1996-01-28 20:05       ` Brian Edmonds
  1996-01-29 16:53       ` Wes Hardaker
  1 sibling, 2 replies; 14+ messages in thread
From: Lars Magne Ingebrigtsen @ 1996-01-27 20:33 UTC (permalink / raw)


Wes Hardaker <hardaker@ece.ucdavis.edu> writes:

> I'm not sure you can do it with percentiles though.  Postive scores
> would never get to 0, which you'ld definately want.  I think a better
> thing to do would be to have it change by a set amount each time.
> Positive scores should drop by say 3-5 unless the current score was
> under that, then should drop to 0.  Negative scores would do the same.
> That way old threads no longer existing would eventually end up at 0
> in case some other dingo came along and started a new topic with the
> same subject.

Score rules that haven't been used for 7 days (or so) are removed, so
that shouldn't really be a problem, I would think...  The point of the
decay thing is to avoid having all the things you like reach posinf
while the things you don't like would reach neginf, isn't it?

-- 
  "Yes.  The journey through the human heart 
     would have to wait until some other time."


^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: new feature for Red - adaptive scoring
  1996-01-26 22:10     ` Sean Lynch
@ 1996-01-27 20:33       ` Lars Magne Ingebrigtsen
  1996-01-29 16:55         ` Wes Hardaker
  1996-01-29 19:07       ` Edward J. Sabol
  1 sibling, 1 reply; 14+ messages in thread
From: Lars Magne Ingebrigtsen @ 1996-01-27 20:33 UTC (permalink / raw)


nc0273@experience.corp.netcom.com (Sean Lynch) writes:

> (setq score (- score (* (sign score) (min score (max
>           gnus-score-decay-constant (* (abs score)
>             gnus-score-decay-scale))))))

Yup.  I've added it to the Red Gnus todo list.

> We need to make sure, though, that this function is called a definite
> number of times, so that we can define its behavior.
> 
> "This function sets all scores to 0 within five minutes of starting Gnus."

We'd need to add a new atom to the score alists -- `(decay-date 435532)'
that says what day the decay thing was done last.  The decay function
should be run once a day, so if you start Gnus after not using it for
four days, perhaps Gnus should decay all scores four times?

-- 
  "Yes.  The journey through the human heart 
     would have to wait until some other time."


^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: new feature for Red - adaptive scoring
  1996-01-27 20:33     ` Lars Magne Ingebrigtsen
@ 1996-01-28 20:05       ` Brian Edmonds
  1996-01-29 16:53       ` Wes Hardaker
  1 sibling, 0 replies; 14+ messages in thread
From: Brian Edmonds @ 1996-01-28 20:05 UTC (permalink / raw)


>>>>> "Lars" == Lars Magne Ingebrigtsen <larsi@ifi.uio.no> writes:

Lars> The point of the decay thing is to avoid having all the things you
Lars> like reach posinf while the things you don't like would reach
Lars> neginf, isn't it?

Well, as the person who originally suggested aging of adaptive scores
way back when[1], I pretty much agree with Lars.  As I see it, adaptive
scoring mostly gets rid of noisy topics and people, with the side
advantage of highlighting interesting topics and people.  However, both
topics and people change, but may not go away completely.  So it would
be nice for them to be able to fade in and out over time, which a
percentage decay towards zero would accomplish.

I also think that the max/min (at least max :) adaptive score is a good
idea.  With my scoring scheme, once anyone gets to a couple hundred or
so, they really aren't any more interesting after going up another
couple hundred, and scores too large tend to screw up formatting of my
summary buffers. :)

Brian.

[1] See the mailing list archives starting towards the end of Feb95. 
    Unfortunately, I had neither the time, nor the necessary experience
    with elisp (particularly with Gnus internals) to implement it.


^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: new feature for Red - adaptive scoring
  1996-01-27 20:33     ` Lars Magne Ingebrigtsen
  1996-01-28 20:05       ` Brian Edmonds
@ 1996-01-29 16:53       ` Wes Hardaker
  1 sibling, 0 replies; 14+ messages in thread
From: Wes Hardaker @ 1996-01-29 16:53 UTC (permalink / raw)
  Cc: ding


larsi@ifi.uio.no (Lars Magne Ingebrigtsen) writes:

|> Score rules that haven't been used for 7 days (or so) are removed, so
|> that shouldn't really be a problem, I would think...  The point of the
|> decay thing is to avoid having all the things you like reach posinf
|> while the things you don't like would reach neginf, isn't it?

True, however in some cases you want to come close.  Take for
instance, really annoying threads that have gone on way too long you
actually want to make sure that it makes it below the 'mark' or
'expunge' values.  This will become increasingly hard to do if you
have a percentile based system.  The other problem is that it greatly
depends on the frequency with which you use gnus.  For instance, if
you read gnus 2-3 times a day, then every time you load the score file
your scores drop by a percentage.  Now, since very few articles will
get posted during that time, your scores will be aftected drasticlaly.
Then there is the guy that reads articles gnus once in a blue moon.
He'll barely decrease his scores upon load and then read, say, 100
articles with the same subject which will greatly increase the score
for that subject.  The guy that read the gnus 3 times a day probably
entered the group and had no articles with the subject in question,
and thereby only decreased his score.  I've certainly rambled about
this far long enough for even the most basic of infants could
understand my thoughts...  err, I could have written this so
incoherently that no-one will understand it either I suppose.  Wow.
Monday mornings.

Anyway, I like the suggestion at the end of the week about have a
variable that is a list contains the rules to use and when.  IE,

if abs(score) < 50 then decrease by 5 pts
if abs(score) >= 50 then decrease by 5%

or something of that nature.



^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: new feature for Red - adaptive scoring
  1996-01-27 20:33       ` Lars Magne Ingebrigtsen
@ 1996-01-29 16:55         ` Wes Hardaker
  0 siblings, 0 replies; 14+ messages in thread
From: Wes Hardaker @ 1996-01-29 16:55 UTC (permalink / raw)
  Cc: ding


larsi@ifi.uio.no (Lars Magne Ingebrigtsen) writes:

|> We'd need to add a new atom to the score alists -- `(decay-date 435532)'
|> that says what day the decay thing was done last.  The decay function
|> should be run once a day, so if you start Gnus after not using it for
|> four days, perhaps Gnus should decay all scores four times?

Ahh...  now see...  this is a good example of what happens when
someone responds to mail before reading the rest of the mailbox.  :-0

Sorry about the previous,
Me


^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: new feature for Red - adaptive scoring
  1996-01-26 22:10     ` Sean Lynch
  1996-01-27 20:33       ` Lars Magne Ingebrigtsen
@ 1996-01-29 19:07       ` Edward J. Sabol
  1 sibling, 0 replies; 14+ messages in thread
From: Edward J. Sabol @ 1996-01-29 19:07 UTC (permalink / raw)


Excerpts from mail: (26-Jan-96) Re: new feature for Red - adaptive scoring by Sean Lynch
> Perhaps it should be related to the number of articles that come
> through that are affected by a given score. This way, when a thread
> dies, all scores related to it die more quickly.

Yes, I like this idea a lot. That would be pretty useful, but there would
still have to be a method to have permanent scores for user-selectable
topics, of course.


^ permalink raw reply	[flat|nested] 14+ messages in thread

end of thread, other threads:[~1996-01-29 19:07 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
1996-01-25 17:13 new feature for Red - adaptive scoring Jack Vinson
1996-01-25 21:33 ` Jason L Tibbitts III
1996-01-26 16:46   ` Lars Magne Ingebrigtsen
1996-01-26 17:18     ` Joe Hildebrand
1996-01-26 16:46 ` Lars Magne Ingebrigtsen
1996-01-26 17:52   ` Wes Hardaker
1996-01-26 22:10     ` Sean Lynch
1996-01-27 20:33       ` Lars Magne Ingebrigtsen
1996-01-29 16:55         ` Wes Hardaker
1996-01-29 19:07       ` Edward J. Sabol
1996-01-27 20:33     ` Lars Magne Ingebrigtsen
1996-01-28 20:05       ` Brian Edmonds
1996-01-29 16:53       ` Wes Hardaker
1996-01-26 18:55   ` Steven L Baur

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).