(五)基於商品屬性的相似商品推薦算法——算法調優及其他


系列隨筆:

(總覽)基於商品屬性的相似商品推薦算法

(一)基於商品屬性的相似商品推薦算法——整體框架及處理流程

(二)基於商品屬性的相似商品推薦算法——Flink SQL實時計算實現商品的隱式評分

(三)基於商品屬性的相似商品推薦算法——批量處理商品屬性,得到屬性前綴及完整屬性字符串

(四)基於商品屬性的相似商品推薦算法——推薦與評分高的商品屬性相似的商品

(五)基於商品屬性的相似商品推薦算法——算法調優及其他

 

 

2020.04.15  補充:協同過濾推薦算法.pptx

 

提取碼:4tds

 

 

算法調優及其他


 

一、屬性的選擇

根據 (三)基於商品屬性的相似商品推薦算法——批量處理商品屬性,得到屬性前綴及完整屬性字符串 ,我目前的屬性選擇是:

// 屬性前綴為:適用人群-佩戴場合-機芯類型-價格區間-表盤形狀-表盤直徑,后面的屬性排列順序可以隨意
$needs = [31=>'適用人群', 40=>'佩戴場合', 1=>'機芯類型', 39=>'價格區間', 9=>'表盤形狀', 11=>'表盤直徑', 13=>'表盤刻度', 17=>'表帶材質', 14=>'表盤顏色', 25=>'防水', 3=>'外殼材質', 38=>'表盤寬度', 3=>'表盤厚度', 12=>'鏡面材質', 16=>'表殼底蓋', 19=>'表帶顏色'];

再根據 (四)基於商品屬性的相似商品推薦算法——推薦與評分高的商品屬性相似的商品,可以看出屬性前綴的作用具體就是第一步篩選商品(前綴相同的商品,大概有40%-50%的相似);

 

所以,屬性前綴的選擇原則就很簡單了:第一步篩選把關。什么屬性相同時,能確定兩個商品是基本相似的?屬性前綴的選擇不宜太簡單,也不宜太嚴格;

假設,屬性前綴我只取"適用人群-佩戴場合",條件過於簡單,那么屬性前綴相同的商品就會很多很多,增加后期的計算量;

再假設,我把”品牌-表盤顏色-表帶顏色“放入屬性前綴中,條件過於嚴格,只能篩選同品牌同顏色的其他表款。那么能推薦的商品數量就會很少很少。不同品牌,但相似的其他商品就完全沒有機會。

總結:品牌、顏色之類的屬性,屬性於加分項。不要強制一定相同,放在屬性前綴后面,作為相似系數的加分項。

 

二、屬性加權

1)默認的相似系數計算公式為:

相似系數 = 相同屬性位個數/總屬性位個數

注:這里所以的屬性權重相同,都是1;

 

2)如果你覺得,品牌相同是比較重要的,它的權重應該比較高(例如權重設為5);表盤顏色相同也是很重要的(例如權重設為3);其他屬性權重為1

那么,新的相似系數計算公式為:

相似系數 = 相同屬性位權重和/總屬性位權重和

 

三、推薦文章、視頻

如果想在瀏覽某商品(或其他什么頁面)的時候,想推薦與商品相送的文章或視頻:

1)文章和視頻關聯了商品;

2)查詢當前商品(或瀏覽記錄)相似的商品,取得它們的 goodsCodes;

3)查詢關聯了 goodsCodes 的文章或視頻。

 

四、其他。。。

 

上一節:(四)基於商品屬性的相似商品推薦算法——推薦與評分高的商品屬性相似的商品

下一節:完


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM