Replying to Avatar Victor Stabile

Great to hear you are working on this problem! I think these problem will get a lot easier with just more data. You can check nostr:npub176p7sup477k5738qhxx0hk2n0cty2k5je5uvalzvkvwmw4tltmeqw7vgup's https://vertexlab.io/ it works amazingly well for finding real people who have a decent amount of connections. With more data, algorithms will be able to figure thinks out pretty reliably just doing some kind of "unsupervised learning".

I’m a fan of pip’s work and glad to see him demonstrating the power of PageRank to the nostr community. One easy and useful method to calculate one’s WoT is the “my follows + their follows” method, but that method has some obvious shortcomings, and personalized PageRank is the obvious next step.

The most straightforward way to implement PageRank is to base it off of follows. However, it’s not immediately obvious how to incorporate signals other than follows (mutes, reports, interactions, etc) or how to calculate contextual scores. GrapeRank is my attempt at modification of PageRank into a more sophisticated and versatile centrality algorithm that can address those questions.

Reply to this note

Please Login to reply.

Discussion

Where can I learn more about it? Is it open source?

Yes to open source - check out the link in my bio (straycat.brainstorm.social) to see an older version of Brainstorm and a link to the github repo. A lot of features are live, including a table with PageRank and GrapeRank scores for about 350k pubkeys and lists of reported users that are curated by your Grapevine. Imagine using tags instead of reports, and we’re getting close to genuinely decentralized curation of any arbitrary list. The main issue I’m working on right now is how to keep the neo4j graph database current without running into memory issues and crashing of the graph db. (Gotta hate java!! 🤦🏻‍♂️ 😝) So I don’t recommend spinning up your own Brainstorm yet. But hopefully soon!!!