我正在寫一個具有聲譽組件的電子商務引擎。我希望用戶能夠查看和評價項目,並能評價評價。排名/聲譽算法
根據「最佳」評論對物品進行分類的最佳算法是什麼?它必須根據獲得最佳評論的人的質量評論數量進行排名。我不知道如何將其轉換爲算法。
例如,我需要能夠將具有低聲譽的多個人的5星級的物品與具有高信譽的幾個人中的3星級的物品進行比較。
爲了增加複雜性,一些用戶可能寫了很多評論,其他人評價高/低,其他用戶可能撰寫了很少評論,但被其他用戶評爲非常高。哪種用戶在這種情況下更有信譽?
我正在寫一個具有聲譽組件的電子商務引擎。我希望用戶能夠查看和評價項目,並能評價評價。排名/聲譽算法
根據「最佳」評論對物品進行分類的最佳算法是什麼?它必須根據獲得最佳評論的人的質量評論數量進行排名。我不知道如何將其轉換爲算法。
例如,我需要能夠將具有低聲譽的多個人的5星級的物品與具有高信譽的幾個人中的3星級的物品進行比較。
爲了增加複雜性,一些用戶可能寫了很多評論,其他人評價高/低,其他用戶可能撰寫了很少評論,但被其他用戶評爲非常高。哪種用戶在這種情況下更有信譽?
如果您知道用戶的聲譽,那麼你可能會使用爲每個用戶UserScore
如the one that Stackexchange uses。
UserScore = Reputation >= 200 ? 0.233 * ln(Reputation-101) - 0.75 : 0 + 1.5
然後你找到用戶的分數與明星作爲權總結一個項目的價值:
ItemScore = \sum_i UserScore_i * Weight[Star_i]
其中i
是票指數和Weight
被涉及的權重數組的星星。例如,對於5星的投票系統,它可以是[-2 -1 0 1 2]
。還有一點需要注意的是,如果您希望只有3顆星的物品來到未評估的物品之前,您可以將3顆星的重量更改爲+eps
。
您可以根據需要更改200和所有其他常數/權重。
我會盡量回答你的問題:
我認爲,關鍵是要加權出不同信譽的人,比如:
一個人以名譽2的投票是3倍的因爲另一個聲譽較低的人的投票權很重。不同聲望的人之間的關係真的取決於您,您希望總體評級取決於信譽低的人的評分。與聲譽較低的人投票相比,聲譽較高的人的投票權重越高,則由於低聲譽投票而導致整體聲譽變化越小。
因此,每個人都會有一個權重,讓我們說w_i,w_j等....然後在所有的評價將全部的加權平均值:從兩個不同的人總評投票的
例如我並且j =(w_i * r_i)+(w_j * r_j)/(w_i + w_j)
其中r_i,r_j分別是人i和人j的評級。
要獲得每個人的權重的價值,你可以舉例說明那個人的星星數量。
一個很好的資源將是以下頁面: http://en.wikipedia.org/wiki/Weighted_mean
大多數網站都認爲單一樂譜本質上太不健全,不透明,這讓我感到困惑。相反,你會看到所有的地方,這些項目有'平均評分'和'票數'。然後由用戶決定是否想要在5票「完美」的項目上賭博,或者是'1000'票選'相當好'的項目。 –
謝謝,托馬斯。顯示兩個值是肯定有用的。但是,我仍然需要對搜索結果的單個列表中的項目進行排序。我是否應該從這兩個值中得出分數並將其用於排序(但不用於顯示)? –