Yeah, so how it works now is that the predictions are really unbiased and I do not tweak them.
Next, I compute a rankscore for each post which is simply predicted_reward - actual_reward
and then this rank score is multiplied by different factors <=1 to do exactly what you said.
So for using any tag out of 'steem', 'steemit', 'crypto-news', 'bitcoin', 'blockchain', 'cryptocurrency', 'crypto', 'dtube' your rank score gets reduced by 20%. Similar punishments are applied for number of grammar mistakes. I have to punish grammar mistakes after the predictions because I cannot use them as a feature. Computing grammar mistakes for the entire training set is not feasible, so I just compute grammar mistakes for the final selection of truffles and put that into the ranking.