推薦系統(tǒng)原理

自今日頭條憑借精準(zhǔn)的個性化推薦崛起之后,個性化推薦系統(tǒng)被應(yīng)用于越來越多的產(chǎn)品上,并逐漸成為最重要的幫助用戶發(fā)現(xiàn)信息的方式,那么推薦系統(tǒng)到底是什么,是如何實現(xiàn)精準(zhǔn)推薦的,又可能面臨哪些問題,本篇文章嘗試為大家解答這些疑惑。

推薦系統(tǒng)是什么?有什么用?

推薦系統(tǒng)是一種幫助用戶發(fā)現(xiàn)感興趣的信息的方式,在推薦系統(tǒng)出現(xiàn)之前,傳統(tǒng)的通過直接展現(xiàn)信息、搜索、分類來發(fā)現(xiàn)信息的方式都有一定的短板和局限。
直接展現(xiàn)信息在信息量過大時用戶很難找到自己需要的信息,非常費時費力;搜索雖然能很大程度上解決信息量過載的問題,但這種方式需要用戶明確的知道自己需要的信息的關(guān)鍵詞,當(dāng)不知道關(guān)鍵詞的時候搜索就無法發(fā)揮作用了;分類雖然不需要用戶知道所需信息的關(guān)鍵詞,但是當(dāng)信息量過于龐大的時候,就需要把類別一層層分下去,查找信息時非常繁瑣,且需要用戶知道所需信息屬于每個層級的哪個類別。
而推薦系統(tǒng)既可以解決信息量過載的問題,又不需要用戶主動查找信息,可以把用戶感興趣的信息推送給用戶,這解決了傳統(tǒng)的發(fā)現(xiàn)信息方式的諸如信息量過載、需要用戶有明確目的等問題。

推薦系統(tǒng)有什么局限?

推薦系統(tǒng)主要有兩個局限,第一是需要信息量過載,如果信息量很少直接展現(xiàn)信息就可以了,就不需要推薦系統(tǒng)了;第二是需要用戶沒有明確目的,因為用戶如果有明確目的直接通過搜索或分類來找到信息就可以了,也不需要推薦系統(tǒng)。

推薦系統(tǒng)的推薦策略

常用的推薦策略包括以下幾種:

  1. 基于內(nèi)容的推薦
  2. 基于內(nèi)容的協(xié)同過濾推薦
  3. 基于用戶的協(xié)同過濾推薦
  4. 基于標(biāo)簽的推薦
  5. 基于社交網(wǎng)絡(luò)的推薦

基于內(nèi)容的推薦

基于內(nèi)容的推薦是給用戶推薦和他感興趣的內(nèi)容同樣類型的內(nèi)容。
例如:小明看了周星馳的電影《喜劇之王》,系統(tǒng)可能會給小明推薦《功夫》,這是因為它們在演員的維度上都屬于周星馳這個分類;系統(tǒng)也可能給小明推薦《人在囧途》,這是因為在影片類型上,它們都屬于喜劇片這個類型。
基于內(nèi)容的推薦需要在各維度上對內(nèi)容進行精準(zhǔn)有效的分類,如果分類沒有做好,有效的推薦也就無從談起了。

基于內(nèi)容的協(xié)同過濾推薦

基于內(nèi)容的協(xié)同過濾推薦是指根據(jù)用戶的歷史行為數(shù)據(jù),給用戶推薦和他感興趣的內(nèi)容相似的內(nèi)容。
和基于內(nèi)容的推薦不同的是,基于內(nèi)容的推薦是基于內(nèi)容屬性給用戶推薦,而基于內(nèi)容的協(xié)同過濾推薦是基于用戶的歷史行為數(shù)據(jù)計算內(nèi)容之間的相似度,給用戶推薦和他之前感興趣的內(nèi)容相似的內(nèi)容。
所以基于內(nèi)容的協(xié)同過濾推薦分為兩步:

  1. 計算內(nèi)容之間的相似度;
  2. 根據(jù)內(nèi)容相似度和用戶的歷史行為給用戶生成推薦列表。
    例如:


    內(nèi)容相似度.png

用戶A對《人人都是產(chǎn)品經(jīng)理》的感興趣程度是0.9,對《社會心理學(xué)》的感興趣程度為1.2,《人人都是產(chǎn)品經(jīng)理》和《用戶體驗要素》的相似度為0.8,《社會心理學(xué)》和《用戶體驗要素》的相似度為0.5,所以用戶A對《用戶體驗要素》的感興趣程度為
0.90.8+1.20.5=1.32。
這里存在兩個問題:

  1. 如何獲得用戶對某個初始內(nèi)容的感興趣程度?
    用戶對某個初始內(nèi)容的感興趣程度可以通過用戶對這個內(nèi)容的歷史行為數(shù)據(jù)獲得。
  2. 如何計算內(nèi)容之間的相似度?
    計算內(nèi)容之間的相似度可以用余弦公式,一般來說喜歡內(nèi)容A的用戶如果大多也喜歡內(nèi)容B,那么就認(rèn)為內(nèi)容A和內(nèi)容B有很高的相似度。

基于用戶的協(xié)同過濾推薦

基于用戶的協(xié)同過濾推薦是指根據(jù)用戶的歷史行為數(shù)據(jù),給用戶推薦和他興趣相似的用戶喜歡的其他內(nèi)容。
所以基于用戶的協(xié)同過濾推薦分為兩步:

  1. 計算用戶之間的相似度;
  2. 給用戶推薦和他相似的用戶喜歡的,而他又沒有接觸過的內(nèi)容。
    例如:


    用戶相似度.png

用戶A和用戶B的興趣相似度是1.2,用戶B對《社會心理學(xué)》的感興趣程度為0.7,所以用戶A對《社會心理學(xué)》的感興趣程度為0.84。
計算用戶相似度和內(nèi)容相似度類似,都可以采用余弦公式,一般來說如果用戶A喜歡的內(nèi)容,用戶B大多都喜歡,那么就認(rèn)為用戶A和用戶B具有較高的相似度。

基于標(biāo)簽的推薦

基于標(biāo)簽的推薦是指,給用戶推薦那些他們的常用標(biāo)簽出現(xiàn)次數(shù)最多的內(nèi)容。
所以基于標(biāo)簽的推薦可以分為以下幾個步驟:

  1. 統(tǒng)計每個用戶最常用的標(biāo)簽;
  2. 對于每個標(biāo)簽,統(tǒng)計被打過這個標(biāo)簽次數(shù)最多的內(nèi)容;
  3. 把用戶的常用標(biāo)簽出現(xiàn)次數(shù)最多的內(nèi)容推薦給這個用戶。
    例如:用戶A對經(jīng)濟學(xué)方面的圖書感興趣,最常用的標(biāo)簽有經(jīng)濟學(xué),同時在經(jīng)濟學(xué)這個標(biāo)簽中出現(xiàn)次數(shù)最多的內(nèi)容是《經(jīng)濟學(xué)原理》,那么就給用戶A推薦《經(jīng)濟學(xué)原理》這本書。

基于社交網(wǎng)絡(luò)的推薦

基于社交網(wǎng)絡(luò)的推薦是指根據(jù)用戶的好友信息給用戶推薦他的好友喜歡的內(nèi)容。
基于社交網(wǎng)絡(luò)的推薦非常容易理解,但這里存在幾個問題:

  1. 如何獲取用戶好友信息?
    1. 社交產(chǎn)品(微信、微博等)登錄信息
    2. 用戶通訊錄好友
    3. 用戶注冊信息
  2. 根據(jù)社交網(wǎng)絡(luò)推薦有什么好處?
    1. 可以增加用戶對推薦系統(tǒng)推薦結(jié)果的信任
    2. 一定程度上可以解決推薦系統(tǒng)的冷啟動問題
  3. 如果一個用戶的好友非常多,且每個好友感興趣的內(nèi)容都很多,那么該給這個用戶推薦哪些好友感興趣的內(nèi)容?推薦結(jié)果的內(nèi)容根據(jù)什么排序?
    1. 根據(jù)用戶與好友的熟悉程度推薦,熟悉程度可以用用戶與好友的共同好友比例表示;
    2. 根據(jù)用戶與好友的興趣相似度推薦,興趣相似度可以用余弦公式計算。

存在的問題及解決方案

上述推薦系統(tǒng)的推薦策略存在一些常見的問題,這里給出筆者的關(guān)于其中幾個關(guān)鍵問題的思考。

冷啟動問題

除了基于社交網(wǎng)絡(luò)的推薦外,其他推薦策略都面臨冷啟動的問題,即用戶第一次訪問在平臺上還沒有數(shù)據(jù)的時候怎么給用戶推薦他感興趣的內(nèi)容?

  1. 給他推薦熱門內(nèi)容,因為絕大多數(shù)人都對熱門內(nèi)容感興趣;
  2. 用戶通過社交網(wǎng)絡(luò)登錄時,給用戶推薦他的好友感興趣的內(nèi)容;
  3. 根據(jù)用戶的注冊信息和授權(quán)給用戶推薦個性化內(nèi)容。
  4. 用戶第一次登錄時讓用戶自己選擇感興趣的分類。

熱門內(nèi)容問題

上面的推薦策略中都面臨推薦結(jié)果中出現(xiàn)的大多數(shù)都是熱門內(nèi)容的問題,例如基于用戶的協(xié)同過濾推薦需要推薦和這個用戶相似的其他用戶感興趣的內(nèi)容,而大多數(shù)用戶都對熱門內(nèi)容感興趣,所以推薦結(jié)果很容易出現(xiàn)大多數(shù)都是熱門內(nèi)容的情況。而熱門內(nèi)容完全可以通過其他途徑(排行榜、朋友分享等)獲取,不需要推薦系統(tǒng)也能夠知道這些信息,而推薦結(jié)果中如果都是熱門內(nèi)容也會使用戶覺得乏味,降低用戶滿意度。
所以需要對熱門內(nèi)容進行降權(quán)處理,或?qū)溟T內(nèi)容進行加權(quán)處理。

時間對用戶興趣的影響

時間對用戶興趣的變化主要體現(xiàn)在兩點:

  1. 用戶興趣本身會變化。
    用戶上高中時和上大學(xué)時的興趣就不一樣,事實上可能幾個月之后用戶的興趣就會發(fā)生比較大的變化,所以要對用戶的近期行為加權(quán),或?qū)σ欢螘r間之前的用戶行為降權(quán)。
  2. 時間本身對用戶興趣有影響。
    夏季和冬季用戶興趣就不一樣,春節(jié)時和平常用戶興趣就不一樣。例如,用戶在夏天時買了件短袖,在冬天時給用戶推薦短袖就可能會使用戶感到反感以及對推薦結(jié)果的不信任。
    所以在記錄用戶的歷史行為數(shù)據(jù)時應(yīng)該加上用戶產(chǎn)生這個行為的時間,并在對季節(jié)性內(nèi)容做推薦時過濾掉不符合相應(yīng)時間的用戶行為。

總結(jié)

這篇文章向大家介紹了推薦系統(tǒng)和常用的推薦策略以及會面臨的一些問題,需要說明的是這些推薦策略都有其適用場景,需要根據(jù)不同場景采用不同的推薦策略,例如新聞資訊和歌曲就不同,新聞資訊更注重時效性,昨天的新聞到了今天就不再是新聞,而歌曲的時效性就很弱,經(jīng)典歌曲過了幾年依然是經(jīng)典;沒有人會重復(fù)看同一篇新聞很多遍,而很多用戶都會針對自己喜歡的音樂單曲循環(huán)一下午。所以針對內(nèi)容的深刻理解是設(shè)計精準(zhǔn)的推薦系統(tǒng)的基礎(chǔ)。
由于筆者還是一個產(chǎn)品新手,對推薦系統(tǒng)的了解也還尚淺,寫的不好的地方還望大家多提建議哈~

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容