Now that #[0] launched nostr-relaypool-ts, and it's working great for retrieval, I started to focus on what I originally was interested in: ranking.

So far it's in the planning stage, but I think it's going well. For now I'm planning on developing a pLike | note model (predicting whether a note is going to be liked by a user). I'm planning to use logistic regression with the following signals as a start:

- time passed since note was created

- note's author is followed by user

- number of likes

- number of comments

- share of likes from the author by the user in the past

- does it contain image?

- does it contain link?

- does it contain video?

- text length

- likes by followers

Some are easier to implement, some are a bit harder, and of course I'll check their impact before launching them.

I think I will order threads by the maximum probability that a note has in a thread. Also pLike can be used as a filter for comments to be shown / hidden. Of course pComment model can be trained on the same signal.

Reply to this note

Please Login to reply.

Discussion

Some users will change it to pZap ⚡

Interesting to see what different algorithms will produce

You're right, probably the best first start is to just set pReaction as a target, where reaction can be like/comment/zap/repost. In that case ranking will work for everybody.

But weighting these reactions as a user setting is easy, and great idea, just like manually adjusting biases.

I would probably set a negative bias for my own likes and for images to get less clickbait even if I would like some posts.

This isn't going to mandatory, is it?

it will be an upgrade to the Nostr protocol so that everybody can have a machine learned timeline, and the relays will give results back in machine learned order with ads between….

Just kidding, nobody can push anything on you on Nostr.