數(shù)據(jù)處理:非搜索場景下的列表應(yīng)該如何排序呢?

1 評論 9213 瀏覽 72 收藏 9 分鐘

了解綜合排序的使用場景以及與個性化推薦的區(qū)別;了解綜合排序的影響因子以及常見的排序方法;基于業(yè)務(wù)需求對列表中的字段進行排列,輔助決策。

《數(shù)據(jù)處理之搜索如何命中》中說到了搜索結(jié)果的排序其實是對文本數(shù)據(jù)和業(yè)務(wù)數(shù)據(jù)得分的計算,那么對于非搜索場景下的列表應(yīng)該如何排序呢?

有兩種排序方式:單一維度排序;綜合排序。單一維度排序就是將所有的內(nèi)容按照某一維度進行排序,比較簡單不再贅述,主要說一下綜合排序。

一、定義

綜合排序就是綜合數(shù)據(jù)的多個維度進行排序,以搜索數(shù)據(jù)表為例,綜合排序涉及數(shù)據(jù)表的上傳時間、查看次數(shù)、更新周期、被搜索次數(shù)、熱度等維度,每個維度都有相應(yīng)的權(quán)重值,通過一定的公式計算出每個物品的“得分”進行降序排列。

二、使用場景

用于展示具有一定量級的數(shù)據(jù)且數(shù)據(jù)有多個指標維度,需要將某些高質(zhì)量的數(shù)據(jù)突出展示,可使用綜合排序,為每個維度值賦予一定權(quán)重。

用于展示搜索結(jié)果,需要根據(jù)命中字段、時間、搜索次數(shù)等維度進行綜合排序。

可搭配多個單個維度排序規(guī)則使用。

Q:綜合排序與個性化推薦的區(qū)別,可否用個性化排序代替綜合排序?

A:個性化推薦需要大量的數(shù)據(jù),需要對用戶、數(shù)據(jù)進行建模并不斷訓(xùn)練優(yōu)化,因此對于有限數(shù)量(幾百至幾千)的結(jié)果展示,可采用綜合排序的方法,將優(yōu)質(zhì)內(nèi)容推薦給用戶,同時也大大降低了開發(fā)成本。

關(guān)于個性化推薦:

個性化推薦是根據(jù)用戶的興趣、特點和行為,向用戶推薦用戶感興趣的信息和內(nèi)容。在個性化推薦系統(tǒng)中,需要基于用戶的基本信息和行為對用戶進行建模,同時基于物品的特征和信息對物品進行建模,將兩者進行匹配篩選,找到用戶可能感興趣的推薦物品,最后推薦給用戶。

常用的個性化推薦方法有:

① 基于內(nèi)容推薦:分析用戶看過的內(nèi)容(歷史內(nèi)容等 )再進行推薦;

② 基于用戶的協(xié)同過濾(UserCF):給用戶推薦和他興趣相似的其它用戶喜歡的內(nèi)容;

③ 基于物品的協(xié)同過濾(ItemCF):給用戶推薦和他之前喜歡的物品相似的物品;

④ 基于標簽的推薦:內(nèi)容有標簽,用戶也會因為用戶行為被打上標簽,通過給用戶打標簽或是用戶給產(chǎn)品打標簽為其推薦物品。

除此之外,還有隱語義模型推薦(LFM)、社會化推薦、根據(jù)時間上下文推薦、基于地理位置的推薦(LARS)等方法,各種推薦算法是可以疊加在一起的,根據(jù)不同算法的權(quán)重調(diào)整,給用戶最為精準智能的推薦。

數(shù)據(jù)處理之列表如何排序

三、排序方法

提供兩種排序方法:多維度分別單一排序;按總分值進行排序。

1. 多維度分別單一排序

定義:為每個維度定義排序方式(升序or降序),當A維度相同的情況下,按照B維度排序,若此時B維度相同,再按照C維度排序….直到最后一個維度,如果還相同,這時候就要看是隨機排序,還是按照唯一不重復(fù)的值進行排序。

使用場景:

  • 適合維度較少,或者場景不復(fù)雜的情況;
  • 適用于維度對結(jié)果影響非常明顯的情況;
  • 需要排序的維度之間重要程度有明顯的不同。(若不同維度之間并沒有絕對的誰比誰重要的關(guān)系,不適合用此排序方式)

2. 按總分值進行排序

將多個不同維度(不同單位)的因素綜合到一起的方式有很多,比較常用和簡單的就是普通線性加權(quán)。(一般需要和pm一起確定因子和權(quán)重)

(1)普通線性加權(quán)

普通線性加權(quán)是將維度賦予一定的權(quán)重,然后將不同的維度乘以各自的權(quán)重再進行累加,如下樣式:

總分=維度A*維度A權(quán)重 +維度B*維度B權(quán)重 + 維度C*維度C權(quán)重 +……+維度N*維度N權(quán)重

舉例:當我們在某平臺購買東西時,物品排序受到瀏覽量、成交量和價格的影響,賦予一個權(quán)重值,瀏覽量:1分、成交量4分、價格5分。

數(shù)據(jù)處理之列表如何排序

那么 各個物品的得分=瀏覽量*1+成交量*4+價格*5;排序為:A>B>C

如果按照這個公式進行計算的話,會出現(xiàn)問題。首先我們期望價格越低越好,而通過這個公式計算價格越高,得分越高排名越靠前,顯然這是不對的。

問題出在哪呢?沒有歸一化

(2)歸一化加權(quán)

歸一化加權(quán)是將維度值進行細分,從產(chǎn)品業(yè)務(wù)角度出發(fā)賦予不同的系數(shù),也是最通用的一種方法,樣式如下:

總分=(維度A權(quán)重*歸一化的系數(shù)值a) + (維度B權(quán)重*歸一化的系數(shù)值b)+ …… + (維度N權(quán)重*歸一化的系數(shù)值n)

關(guān)于如何定義各維度的歸一化系數(shù)值,提供以下幾種方法供使用:

方法一:按照階梯分段進行處理

以瀏覽量為例:

  • 當瀏覽量小于100時定義系數(shù)為0.1,
  • 瀏覽量100~500時定義系數(shù)為0.2,
  • 瀏覽量500~1000時定義系數(shù)為0.3,
  • ……瀏覽量越高,系數(shù)越高(小于等于1)。

當瀏覽量特別多的時候,如10萬,此時數(shù)量已經(jīng)不那么重要了,可以將超過10萬的瀏覽量的系數(shù)定義為0.9。有時候為避免馬太效應(yīng),甚至可以將系數(shù)降低,給予一定的懲罰(涉及到降權(quán))。

方法二:按照百分比進行處理

仍以瀏覽量為例:

  • 將瀏覽量由小到大進行排序,前5%的系數(shù)為0.1
  • 5%-10%的系數(shù)是0.2;
  • 10%-20%的系數(shù)是0.3;
  • 20%-30%的系數(shù)是0.4
  • ……

方法三:按照線性函數(shù)轉(zhuǎn)化處理(線性歸一化)

系數(shù)=(A-min)/(max-min),將數(shù)據(jù)值映射到[0, 1]之間。

這種處理方法的缺點是若數(shù)值集中且某個數(shù)值很大,歸一化后各值接近于0,并且將會相差不大,(如 1, 1.2, 1.3, 1.4, 1.5, 1.6,50)這組數(shù)據(jù)。當有新數(shù)據(jù)加入時,會導(dǎo)致max和min的變化,需要重新定義。

方法四:按照對數(shù)進行處理

這個方法很適合處理極值,經(jīng)常用在數(shù)據(jù)分化比較大的場景,有些數(shù)值很大,有些很小。這里一般使用Y=a*log10(X)+b的形式,通過調(diào)整a與b來根據(jù)數(shù)據(jù)調(diào)整曲線。

數(shù)據(jù)處理之列表如何排序

四、優(yōu)化調(diào)整

給定初步的權(quán)值之后可以進行灰度(甚至直接上線),根據(jù)實際結(jié)果不斷調(diào)整系數(shù)和權(quán)重值,在產(chǎn)品的發(fā)展過程中,也需要根據(jù)各階段的側(cè)重點的不同來調(diào)節(jié)權(quán)重和系數(shù)。

 

作者:墨白,公眾號:UED_family

本文由 @墨白 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理。未經(jīng)許可,禁止轉(zhuǎn)載

題圖來自Unsplash,基于CC0協(xié)議

更多精彩內(nèi)容,請關(guān)注人人都是產(chǎn)品經(jīng)理微信公眾號或下載App
評論
評論請登錄
  1. 贊??歸一化我記得數(shù)值分析代數(shù)等等用得太多了

    回復(fù)