Yes, you could do personalized PageRank, set an arbitrary cutoff, weight everyone above the cutoff equally, and ignore everyone below the cutoff. Crude but easy.
Here’s what I want us to be thinking about: using scores as ranking vs using scores as a weight. These are two very different purposes. Ranking means placing items in order. Using scores as a weight means you’re tallying votes or calculating weighted averages and you want to decide how much weight to give to each pubkey.
How much weight you want to give to each pubkey will depend on the context. Sometimes, I may want to give each “verified real nostr user” a weight of 1, and a weight of 0 to everyone else. In this case you could calculate pPR (personalized PageRank), select and arbitrary cutoff as discussed above. A step function, in other words. Of course the problem here is that the cutoff is arbitrary. What do you do with the 100k pubkeys who have a handful of high quality followers? They’re *probably* not bots, but you’re not 100 pct sure? They’re in-between. GrapeRank allows you to scale up the weight as your level of confidence increases that the pubkey in question is not a bot. You could do that with PageRank except replace the step function with some sort of curve. In which case, you’re halfway to reinventing GrapeRank.
What about the more complicated case where you want a context specific weight which is proportional to someone’s skill? Not set to unity for each normal user? Not clear to me how pPR could accomplish this. Unless you modify it and probably end up inventing GrapeRank.
I should reiterate: my point is not to say that PageRank is worthless. I’ve said many times I’m excited to see it being put to use, like at nostr:npub10r8xl2njyepcw2zwv3a6dyufj4e4ajx86hz6v4ehu4gnpupxxp7stjt2p8. I think it will add value to the nostr ecosystem.
I’m ALSO looking beyond PageRank, bc I believe we need to optimize it for freedom technology, not just for Google. Measures of popularity are useful but sometimes we’d prefer to measure quality and merit, not popularity.
> How much weight you want to give to each pubkey will depend on the context.
Sure, but then we go back to the data problem. What data do u use? If follows and mutes, you are already narrowing down the context to something loosely related to popularity.
> What about the more complicated case where you want a context specific weight which is proportional to someone’s skill?
I don't see grapevine solving this anytime soon, as I don't see anyone producing high-quality low-ambiguity data about that. Maybe a school can start posting skills-attestations for its students. Maybe. Now no one is doing it, the UX is terrible, and if only a few do it then the rating is completely skewed because there is not enough data.
GrapeRank is designed to use whatever data is available, for whatever context you wish to calculate. You can use multiple data sources simultaneously for one context. If the data quality is low, you can weight it accordingly, bc GrapeRank explicitly keeps track of confidence which is a factor used in calculating weights.
Low quality, highly ambiguous doesn’t mean useless. For many potential contexts, high quality data may be sparse, but low quality data is abundant. I’d put follows and mutes in the “low quality but abundant” category.
For some contexts, high quality, unambiguous does exist. For other contexts, people would be willing to issue high quality data if devs built the tools to do so and if the data could be put to good use. GrapeRank is one such good use.
High quality, low ambiguity can be useful even if it’s not highly abundant. I don’t need every pleb to issue an opinion on topic X if I’m only going to listen to the experts and if there’s only a small handful of experts.
Suppose I want my grapevine to curate a list of NIPs. I might want one list curated by users and another list curated by nostr devs. GrapeRank can (in principle - I haven’t yet coded this up) curate a list of nostr devs right now using NIP-51 lists, filtered by Real Nostr Users. Is there currently a way for devs to indicate their preferences or their approval of NIPs? I don’t know — but if there were, GrapeRank could synthesize their preferences into a curated list, which would be useful even if we only had a handful of devs contributing to it. And if people started to rely on this system, it would incentivize more devs to use it to contribute their preferences, thus increasing the utility of the list. Positive feedback loop.
Thread collapsed
Thread collapsed