實戰智慧型推薦系統(14) 推薦系統架構

2021-08-18 02:55:19 字數 1754 閱讀 2195

外圍架構

一般來說,每個**都有乙個 ui 系統,ui 系統負責給使用者展示網頁並和使用者互動。**會通過日誌系統將使用者在 ui 上的各種各樣的行為記錄到使用者行為日誌中。

從上面的結構可以看到,除了推薦系統本身,主要還依賴兩個條件--介面展示和使用者行為資料。

推薦系統架構

推薦系統聯絡使用者和物品的主要方式如下圖所示。如果將這三種方式都抽象一下就可以發現,如果認為使用者喜歡的物品也是一種使用者特徵,或者和使用者興趣相似的其他使用者也是一種使用者特徵,那麼使用者就和物品通過特徵相聯絡。

根據上面的抽象,可以設計一種基於特徵的推薦系統架構。當使用者到來後,推薦系統需要為使用者生成特徵,然後對每個特徵找到和特徵相關的物品,從而最終生成使用者的推薦列表。因而,推薦系統的核心任務就被拆解成兩部分,乙個是如何為給定使用者生成特徵,另乙個是如何根據特徵找到物品。

使用者的特徵非常多,主要包括以下幾類:

人口的統計學特徵:包括使用者的年齡,性別,國籍,民族等使用者註冊時提供的資訊。

使用者的行為特性:   包括使用者瀏覽過什麼商品,購買,收藏,評分等使用者行為相關的特徵。

使用者的話題特徵:   可以根據使用者的歷史行為利用話題模型將電視劇集和電影聚合成不同的話題,計算使用者對什麼話題感興趣。

如果要在乙個系統中把上面提到的特徵和任務都統籌考慮,那麼推薦系統會非常複雜,而且很難通過配置檔案方便的配置不同特徵和任務的權重。因此,推薦系統需要由多個推薦引擎組成,每個引擎負責一類特徵和一種任務。推薦系統的任務就是將不同的推薦引擎的結果按照一定的權重或者優先順序合併,排序然後返回。推薦系統架構如圖:

可以方便的增加/刪除引擎,控制不同引擎對推薦結果的影響。

可以實現推薦引擎級別的使用者反饋。每乙個推薦引擎其實代表了一種推薦策略,而不同的使用者可以喜歡不同的推薦策略。

推薦引擎的架構

部分 c 負責對初始化的推薦列表進行過濾、排名等處理,從而生成最終的推薦結果。

生成使用者特徵向量:在利用使用者行為計算特徵向量時需要考慮以下因素

使用者行為的種類-- 在乙個**中,使用者可以對物品產生很多種不同種類的行為。如瀏覽,購買,評分等。一般標準就是使用者付出代價越大的行為權重越高。比如,使用者購買行為需要掏錢,所以使用者會三思而後行,因此購買行為最重要。

使用者產生行為的時間 -- 一般來說,近期的行為比過去重要。

使用者行為的次數 -- 有時使用者對乙個物品會產生多次行為,行為次數多的物品對應的特徵權重越高。

物品的熱門程度 -- 使用者對不熱門的物品產生的行為更能代表使用者的個性。

過濾和排名:將初始推薦列表中一些使用者已經看過的,或者總體評分低的,質量差的,或者推薦後使用者可以自己根據條件刷選的(比如**區間)的物品過濾掉,並按照一定的排序規則(比如新穎度)展現給使用者,生成最終的推薦結果。

推薦系統實戰

其中,r u 表示對使用者推薦的n個物品,t u 表示使用者u在測試集上喜歡的物品集合。jaccard公式 其中,n u 表示使用者u有過正反饋的物品集合。余弦相似度公式 其中,s u,k 表示和使用者u興趣最接近的k個使用者集合 n i 表示對物品i有過正反饋的使用者集合 w u,v 表示使用者u...

推薦系統實戰

推薦系統實戰 recommender systems 將介紹推薦系統的基本原理和發展,並 一些常用的基本技術來構建具有不同可用資料來源的推薦系統及其實現。具體地說,將學習如何 使用者對乙個潛在專案的評價,如何生成乙個專案的推薦列表,以及如何從豐富的功能中 點選率。這些任務在實際應用程式中很常見。將獲...

實戰智慧型推薦系統(4) 什麼是好的推薦系統?

推薦系統與搜尋引擎 1 資訊過載。隨著資訊科技和網際網路的發展,人們逐漸從資訊匱乏走向了資訊過載時代。比如說如果在小超市買個東西,一件一件挑就是了。但是在 網買東西,假設不使用搜尋引擎,大量的物品讓使用者根本無法選擇。2 使用者需求不明確。如果使用者需求明確,正如前面舉得例子。假如我明確知道自己想要...