Introducing the Steem Recommendation Page, add personalized recommendations to steemit!steemCreated with Sketch.

in #steem8 years ago (edited)

Hello, Today we are happy to add personalized recommendations to steemit.com. Steemit analyses your voting patterns to identify other users who vote like you. The more you and someone else vote alike the more weight their votes have in promoting (or demoting) content on your personalized feed. When you vote for a post, it creates a strong link between you and the author of the post. When others vote the same way on the same post a weaker link is established between you and your fellow voters. Down voting a post means you are much less likely to see future posts from the same author. If you find the content in your recommendation page is not accurately reflecting your interests, then the best course of action is to find stuff you do like and up vote it. 

The Algorithm

For those of you who are interested in the algorithm it is divided into several parts. The first part is identification of users who are similar to you. The second part involves identifying recent articles voted on by similar users.

Measuring User Similarity

Any time two users vote the same way on a post the vote is deemed to be similar. It is assumed that the author of a post votes for his own post.direct and indirect fields below measure the percent of similar voting. 

 

direct = direct_similar_votes / total_direct_votes;
indirect = indirect_similar_votes / total_indirect_votes;

The algorithm needs to factor in a weighting factor based upon the number of votes sampled. This is done on a log scale so that all users approach the same weight as the number of measurements approaches infinity.

direct_order = log(total_direct_votes)
indirect_order = log(total_indirect_votes)

Any user for whom we have no similar votes is deemed to have a negative order.

if( direct_similar_votes + indirect_similar_votes == 0 ) {
   direct_order *= -1;  
   indirect_order *= -1;
}

Lastly we combine these terms giving a 10x weight to the author. The direct and indirect measures are squared to bias the results heavily toward users with high degree of similarity and to greatly discount users who vote in opposite ways on even a few posts. 

 user_similarity = 10 * direct_order * direct ^ 2 + indirect_order * indirect ^ 2 

 

Generating Recommendations

Armed with a measure of user similarity, we are now ready to start ranking posts. The first step is to go over your list of similar peers and fetch all posts they have voted on in the last 24 hours. The posts are further filtered to remove any posts with global negative down votes, posts that are older than 24 hours, or posts that the user has already voted on.For each post we calculate the sum of the ranks of all users voting for it. Lastly we multiply it by age.

 post_rank = sum(ranks) * (24 hr - now + creation_date) / 24 hr`.

Something that is just posted has the full rank. Something that is 24 hours old is ranked at 0.

Finding your Recommendations

It is now easier than ever to find the best content from your favorite posters.You can find recommendations customized for you in the account menu located in the upper right hand corner of steemit.com. 

Enjoy! You like this post, do not forget to  upvote, resteem and followme @steemitonline

Sort:  

Well you have a good memory i'm new here and didn't even know this was posted before is there a way you can make a resteem undone?
And how did you find out about this content that it was posted before good to know what i need to look for before i upvote something

I'm not sure if you can undo a Resteem. You could try clicking the button again?
The only reason I found out about this was because he stole his other post from me and I went looking. Normally, @Cheetah catches most of these things with a comment on the post.

Glad to see new changes. Keep up good work.

Glad to see you guys always improving the platform. Love the videos. I personally am holding steem. I know it is going to explode in value soon. The tell tale signs are there ard this platform is amazing.