Forem Creators and Builders 🌱

Discussion on: Making Your Forem Work for You

Collapse
 
andypiper profile image
Andy Piper • Edited

Thanks for this! Super helpful.

One point of confusion for me, and I consider myself a more advanced and technical user, is around the tag weighting

The supporting text on the Following Tags page in the Dashboard says:

"Adjust tag weight to modify your home feed. Higher values mean more appearances for that tag. [ Default 1.0 ]"

Your example here, uses negative numbers. What's the actual format / parameter range here? I've been guessing that 0 to 1.0 is the range, so I've been using fractions of 1 to adjust my tags - or so I thought / assumed. Is is actually a 1.0 to 10.0 range, a -2 to 100.0 range... why have a floating point if the number is not fractional, and why go negative, etc. This could be more clearly explained (beyond this blog post!).

Thank you!

edit... I've now re-read this, and the supporting markdown file, and realise that you do very explicitly call out that a negative value would be to effectively hide a tag's content from the feed rather than just to give it less weight... so is the value from 0 to 1, or does it go higher? πŸ€”

Collapse
 
jeremyf profile image
Jeremy Friesen

I've spent some time in the tag logic, and let me clarify based on my understanding. There is one very significant number: 0. If your tag's "calculated points" drop below 0, that tag won't be in the "My Tags" list on the left. (See PR #16213 for even more gruesome discussion).

Further, if your tag's "calculated points" are less than 0 it's relevance factor in the feed will be lower. And as the calculated score gets larger it will have a higher relevance factor. That relevance factor will be between 0 (exclusive) and 1 (inclusive) and multipled against other factors. (See Articles::Feeds::WeightedQueryStra... for implementation details).

But what's the "calculated points?" This is where things get a bit fuzzy for me as I haven't dived to deep. But the "calculated points" are derived from the explicit points that you set and adjusted based on what you're writing and perhaps commenting on.

That is if you follow only two tags (let's say Ruby and Emacs each at 2) and write more posts and comment on posts that have Emacs but not Ruby, then your "calculated points" for Ruby will be lower than Emacs, and Emacs will be higher than 2 and Ruby would be lower than 2. I don't think that there will be too much drift such that you might cross the magic 0 threshold for calculated points.

Collapse
 
jeremyf profile image
Jeremy Friesen

Explicit points: what the user sets, it’s an unbounded number (except by the database)
Points: These flutter around the explicit points based on your interactions.

Relevance Factor: We map the explicit points to a number between 0 and 1 then multiple that factor times the other factors of articles. That's based on the current configuration of the feed.

Relevance Score: between 0 and 1. 0 won’t show in your relevant feed, closer to 1 means higher in the list.

Thread Thread
 
andypiper profile image
Andy Piper

This is all really useful to my understanding.

I guess the next question is whether this could be simplified or made more clear for end users. I wonder whether some form of slider control would be more or less helpful here.

Thread Thread
 
jennieocken profile image
Jennie Ocken (she/her)

Yes, this entire section can, and will, be made more simpler/clear for end users. It is not currently a place we are focusing our product development efforts but it is high on my list for our backlog. (one of our designers is already giving it a lot of unloving side eye).