擅长:python、mysql、java
<p>一种可以推荐哪些成就的方法是查看有多少用户已经拥有这些成就,并推荐那些流行的成就。当他们达到这些目标时,你就去列表中推荐一些不太受欢迎的。然而,这有一个天真的假设,即每个人都想追求大众化的成就。它可能会使受欢迎的成就变得更受欢迎而不那么受欢迎,嗯。。。令人欣慰的是,这不会占用太多资源,而且可能运行得非常快。(只需列出成就+成就次数)</p>
<p>另一种方法是使用一些机器学习算法(根据用户已有的成就猜测用户可能会追求哪些成就)。我认为<a href="http://en.wikipedia.org/wiki/K-nearest_neighbor_algorithm" rel="nofollow noreferrer">k-nearest neighbor algorithm</a>在这里会表现得很好。选择一个阈值,然后输出高于此阈值的所有内容。现在,我不知道这是否会比你已经拥有的更快,但是你应该在每次用户取得新成就时运行一次推荐引擎,存储前五个(比如说)并在需要推荐时将其输出给用户。在</p>
<p>我希望这有帮助。=)</p>