個性化推薦系統 5-1 content-based算法知識介紹

一、個性化召回算法Content based背景介紹

1. 思路簡單,可解釋性強

任何一個推薦系統的初衷,都是推薦出用戶喜歡的item。

基於內容的推薦,恰恰是根據用戶的喜好之後,給予用戶喜歡的物品。

eg:某一個用戶經常點擊體育類的新聞,那麼在這個用戶下一次訪問這個網站系統的時候,自然而然的給用戶推薦體育類型的新聞。那麼對於推薦結果可解釋性非常的強。

2. 用戶推薦的獨立性

基於內容的推薦,推薦的結果只與該用戶本身的行爲有關係,其餘用戶的行爲是影響不到該用戶的推薦結果的。但是,聯想一下,之前提到的無論是CF還是LFM、personal rank以及item2vec,其餘用戶的行爲都會一定程度上,或多或少的干預到最後的推薦結果。

3. 問世較早,流行度高

由於基於內容推薦思路的極簡性,可解釋性,所以它出現的非常早;並且,無論是在工業界,還是研究界,都最爲一種基礎的算法,流行度非常的高。

但是,任何事物都是有兩面性的,基於內容的推薦不是說是完美的,它同樣有一些非常明顯的缺點。

(1)對於推薦的擴展性較差:也就是說,如果一個用戶之前經常訪問體育類型的新聞,那麼在之後的推薦之中,傾向於在體育範圍內不斷地挖掘;很難完成跨領域的物品推薦。

(2)需要積累一定量的用戶的行爲,才能夠完成基於內容的推薦。

二、Content-based算法的主體流程介紹

1. item profile:對item的刻畫

針對於基於內容的推薦下,對item的刻畫大體可以分爲兩大類:(1)關鍵詞刻畫;(2)類別的刻畫。

比如,在信息流場景下,我們需要刻畫出這篇新聞屬於財經還是娛樂;那麼在電商場景下也是一樣的,我們需要刻畫出這個物品它屬於圖書還是說屬於母嬰,具體的關鍵詞上也會有這個圖書是數據機器學習的還是人文情感的,這個物品是參與滿減的,還是參與包郵的等等。

第一步完成內容的物品刻畫之後,第二步需要對用戶進行刻畫。

2. user profile

傳統範疇的用戶畫像是比較寬泛的,它不僅包含了用戶的動態特徵,還包含了它的一些靜態特徵。

而我們用在基於內容推薦裏的更多的是交代用戶的長期、短期行爲,進而通過行爲的分析將用戶感興趣的topic、或者用戶感興趣的類別給予刻畫。

那麼,有了item的刻畫,有了user的刻畫,第三步就是在線上完成個性化推薦的過程。

3. online recommendation

給用戶推薦他最感興趣的一些topic,或者說一些類別。

假設某個用戶經常點擊明星新聞,當用戶訪問系統的時候,我們應該明星最新的新聞最及時的推薦給用戶,這樣點擊率自然很高。

那麼經過這三步流程的分析,可以發現:實際上,前兩步更多的同屬於NLP或者說是用戶畫像的範疇,第三步更多的是我們個性化推薦的內容範疇。

下面將每一部分的技術要點進行解析:

(1)item profile 

a. Topic finding:首先要選定特徵,這裏的特徵是title和內容主體的分詞,那麼得到詞語的分詞之後,針對於topic的發掘採用命名實體識別的方式。這個命名實體識別的方式可以去匹配關鍵詞詞表,那麼得到了關鍵詞之後,我們需要對這些關鍵詞進行一定的排名,那麼將排名最高的top 3 或者top 5給 item 完成label。

至於這裏的排名,會使用一些算法和規則,算法諸如:TF-IDF,規則是基於自己的場景總結出來的修正錯誤case的一些規則。

b. Genre Classify(類比的劃分):首先選定好特徵,這裏同樣是利用一些文本信息,比如說title,分詞得到的詞向量,這裏詞向量在淺層模型中可以直接one-hot編碼,在深層模型中,首先可以先進行一個embedding,這裏使用的分類模型主要是像LR、GBDT、CNN等等。

分類器的使用,是使用多種分類器,分別佔不同的權重,然後對結果進行一個線性的加權,從而得到正確的分類。

以上是針對於文檔的topic 發掘或者說是類別的分類進行的敘述。那麼對於短視頻,實際上現在引入了一些更多的特徵,比如關鍵幀所對應圖像的分類識別,以及音頻所對應的語音識別後,文字的處理等一些有意義的嘗試。

(2)user profile

a. Genre/Topic:

一個層面是用戶對哪些種類的新聞或者是物品感興趣;另一個層面是對哪些關鍵詞感興趣。

現在多是基於統計的方式,業界也在做一些嘗試,比如引入分類器等等。

b. Time Decay:

注意時間衰減,不同時期的行爲所佔權重是不同的。

(3)線上推薦部分

a. find top k Genre/Topic ;

b. get the best n item for fix genre/topic

基於用戶的刻畫,找到用戶最感興趣的top k個分類,由於這top k個分類都是帶有權重的,那麼第二步,相應給每個分類得到n個最好的分類下的item.

這裏有兩點說明,

a. 由於權重的不同,從種類下召回的數目是不同的。比如某人對財經感興趣,對娛樂也感興趣,但是對娛樂感興趣的程度更高。那麼對娛樂召回的數目就要對財經召回的數目。

b. best的理解:這裏的best對於不是新item來講,就是它的後驗CTR;如果是新的item,在入庫的時候,都會給出一個預估的CTR,那麼就用這個預估的CTR來作爲衡量的標準。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章