2
좋아요, 댓글, 재 게시 횟수 및 수신 시간을 기준으로 소셜 네트워크의 간단한 순위 알고리즘을 개발하려고합니다. 나는 facebook이 사용하는 edge rank 알고리즘에 대해 읽었고 비슷한 것을 시도했지만 올바르게 이해하지 못했다.소셜 네트워크 랭킹 알고리즘
알고리즘에 인기 게시물이 표시되어야합니다.
이let nComments = (from c in db.Comments where c.postid == r.pageOwner.PostId select c).Count()
let nReposts = (from s in db.Posts where s.RepostedFrom_postid == r.pageOwner.PostId select s).Count()
let nLikes = (from u in db.UserPageRelations where u.Post_id == r.pageOwner.PostId select u).Sum(s => s.Rate)
let TimeDecayFactor = ignoretime ? 1 : Math.Exp(-(DateTime.Now - Post.Date).TotalHours)
let TotalEdge = (1 * nComments + 3 * nLikes + 2 * nReposts + 1) * TimeDecayFactor
orderby (TotalEdge) descending
사람이 더 나은 솔루션이 있습니까 : 여기
내가 시도 무엇인가?
알고리즘에 어떤 문제가 있습니까? 수식 구조가 합리적으로 보입니다. 매개 변수에 문제가 있습니까? – Mathias