Replying to Avatar ManiMe

nostr:npub1u5njm6g5h5cpw4wy8xugu62e5s7f6fnysv0sj0z3a8rengt2zqhsxrldq3 and I have discussed this a bit. We do prefer the GrapeRank for its extensibility … but in the end diversity is our strength.

https://github.com/Pretty-Good-Freedom-Tech/graperank-nodejs

But at least we’re on the same page re: explicit trust attestations. #bikeshed 💜

Reply to this note

Please Login to reply.

Discussion

In the back of my mind I’d like to write a long form post on the thought process that everyone in nostr eventually walks down when considering the question: where does the trust signal come from? At first we think follows provides the best signal, then we change our minds and think the best signal should come from explicit trust attestations, then we realize the signal comes from lots of directions and we need to figure out how to interpret it no matter where the signal comes from. Which is much more tractable than it sounds.

Totally agree with a stronger trust signal, the question is how to gather it in the real world. Do you have a plan for that?

We do. It’s called GrapeRank. It has a pluggable architecture to normalize “interpretations” of content and users from any source. Pluggable interpretations is the plan! 💯

You mean using sentiment analysis, zaps? Example?

The idea is that we have no choice but to use the data that is available to us. We go where the signal is. Different people will have different ideas on that.

Example: if you trust zaps more than anything else, someone (a dev) will need to write a (relatively simple) script that transforms zaps into a format that is ready to be consumed by your GrapeRank calculation engine. Perhaps unsurprisingly, that format resembles an explicit trust attestation; it has a rating, a confidence, and a context. The format that my WoT engine employs may or may not be identical to the format that yours employs.

I’m not sure what you mean by sentiment analysis, but whatever it is, you or some other dev would write a script to consume raw data (nostr events) and spit out data ready to be utilized by GrapeRank. If it’s a good signal then you could share the “interpretation” script with other users.

Hopefully that makes sense … let me know if it doesn’t!

Yup. What David said. … but even easier.

Here’s an example of the API (wip) which we use to create Nostr interpretations. These ones are pretty simple… but the ‘interpret’ callback is where you’d call your content analysis function.

https://github.com/Pretty-Good-Freedom-Tech/graperank-nodejs/blob/main/src/Interpreter/Nostr/index.ts