本篇內容主要講解“elasticsearch智能推薦系統用到的二分類模型是怎樣的”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“elasticsearch智能推薦系統用到的二分類模型是怎樣的”吧!
算法方案的設計,在整體思路的指導下,先從數據調研入手,明確模型開發應用過程中需要著重關注的問題。在算法方案設計中,加入對問題的考量,以期得到優化的模型結果。
整體算法方案如下圖所示:
樣本構造對于任意數據挖掘場景都至關重要,推薦系統也不例外。
一般而言,用戶的購買是偏少的,所以單單使用用戶購買作為正樣本,會導致樣本量很少。為了解決這個問題,將用戶有行為的課程定義為正樣本,其他的定義為負樣本。這些行為包括:點擊、收藏、分享、加購物車、購買等,由于各種行為代表的用戶對課程的偏好度是不同的,所以在后續建模中會通過樣本權重的方式體現出來。
用戶產生過行為的課程,只是所有課程中很小的一部分,所以如果直接把用戶沒有產生過行為的課程作為負樣本,會導致正負樣本比例嚴重失衡。所以在實際建模過程中,會對負樣本進行抽樣,根據以往的經驗,抽樣后正負樣本比例可以設置為1:80。
本節將對特征工程的開展思路進行描述,最終采用的特征,還需要根據數據情況進行調整。以下僅供參考,具體情況可詳見《標簽/篩選體系》。
l 短期用戶行為的特征加工
類目下課程被點擊、收藏、分享、加購物車、購買等的次數
不同標簽下課程被點擊、收藏、分享、購買等的次數
用戶近期是否點擊、收藏該課程
l 課程屬性特征
課程所屬類目
課程所屬標簽
課程銷量和相似課程銷量均值的比值
課程價格和相似課程價格均值的比值
近期被點擊次、分享、收藏、加購物車的次數
課程標題詞的個數、圖片個數、以及和相似課程的均值的比值
上架天數
l 用戶屬性特征
性別、年齡、職業、地域、app使用天數
l 用戶長期偏好
矩陣分解得到的用戶標簽偏好
用戶價格偏好
模型訓練主要考慮PLM、LightGBM、FM等模型,各模型各有優劣:
l PLM 在線性模型的基礎上加入分塊,可以實現非線性的效果。訓練和預測速度快,適應大規模稀疏特征。
l LightGBM 基于決策樹的迭代式模型。適合于稠密特征,模型精度高。但訓練、預測速度不高,不適用于大規模稀疏特征。
l FM 自動進行特征之間的交叉,能發現有用的特征交叉。訓練和預測速度快,但本質上是線性模型,可能效果不能得到保證。
在評價指標的選擇上,主要關注準確率,兼顧覆蓋率,準確率考慮采用MAP@k,DDCG@k等評價指標。
在項目開展過程中對各模型進行分別調優,并根據評價指標迭代式地優化特征和模型,不斷提升離線評估效果。
在評價指標的選擇上,主要從用戶滿意度、預測準確度以及覆蓋率3個方面考慮:
l 用戶的滿意度是評測推薦系統最重要的指標,但是用戶滿意度無法通過離線計算,一般通過用戶調查、在線實驗獲取?;蛘呖梢酝ㄟ^分析用戶行為日志計算用戶滿意度,大致的計算方式為:計算推薦的課程中,用戶購買并且評分較高的課程的占比。
l 預測準確度是最重要的推薦系統離線評測指標,包含評分預測和TopN推薦兩個方面。評分預測的預測準確度通過均方根誤差(RMSE)和平均絕對誤差(MAE)度量;TopN推薦的預測準確度通過準確度(Precision)和召回率(Recall)度量。
l 覆蓋率(Coverage)描述的是一個推薦系統對物品長尾的發掘能力,其定義指標有2種。第一種是信息熵,計算公式如下:
這里p(i)是物品i的流行度除以所有物品流行度之和。
第二種是基尼指數,計算公式如下:
這里ij是按照物品流行度p(i)從小到大排序的物品列表中第j個物品。
另外mAP@k,DDCG@k等也是模型評測的重要指標。
在項目開展過程中對各模型進行分別調優,并權衡各項評價指標迭代式地優化特征和模型,不斷提升離線評估效果。
在模型實際應用中,需要關注模型的運行效率,更新頻率等方面,下面對這兩個方面進行展開。
對全量的用戶和課程組合進行預測的話,需要進行n*m條記錄進行預測,其中n為用戶數,m為課程數,非常消耗資源。所以對于單個用戶,需要篩選一部分課程,只預測用戶對這些課程的偏好評分。目前考慮將以下幾部分課程納入預測范圍:
l 運營課程
l 熱門課程
主要針對新用戶,用于給他們推薦人們課程
l 用戶近期常點擊類目下的課程、近期常點擊標簽下的課程
用戶近期常點擊的課程,某種程度上代表了用戶近期的需求
而近期常點標簽,具有某種程度的發散性,比如關于品牌的標簽會發散到同品牌課程,關于功用的標簽會發散到同功用課程
有助于新上架課程的發現
l 基于協同過濾算法給出的推薦課程
用標簽代替課程,進行基于用戶的協同過濾和基于課程的協同過濾,對于推薦課程的新穎性會帶來提升
目前的算法設計為一天更新一次。在每天夜里,會將今天的新數據納入模型訓練、預測的范圍,包括新產生的用戶行為,新課程信息,新用戶數據。
因為目前模型是離線模型,用戶當前新產生的行為并不會影響推薦結果,要等到第二天模型更新完成后才會產生新的推薦。
模型對商品作出預測后,會生成用戶對商品的偏好得分。下面對于三個不同的場景分開進行設計。
1. 對運營商品進行推薦
首先從運營表中獲取運營商品的id,接著關聯用戶商品評分表,獲取用戶對商品的偏好度,按偏好度控制app上商品的顯示順序
2. 對指定類目下商品進行推薦
首先獲取指定類目下商品的id,接著關聯用戶商品評分表,獲取用戶對商品的偏好度,按偏好度控制app上商品的顯示順序。
3. 搜索推薦
通過ElasticSearch獲取商品搜索相關度后,關聯用戶商品評分表,將用戶對商品的偏好度乘以搜索相關度,得到綜合評分,按該評分控制app上搜索商品的顯示順序。
到此,相信大家對“elasticsearch智能推薦系統用到的二分類模型是怎樣的”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。