問題描述
用戶特徵:專業排名第 3、2 段實習經驗。資料庫記錄:專業排名第 3、1 段實習。如何量化兩者匹配度?
常用方法
- 加權歐氏距離 / 曼哈頓距離:將類別特徵(排名、實習數)數值化,賦予權重計算距離,距離越小匹配度越高。
score = w1 * |rank_u - rank_d| + w2 * |intern_u - intern_d|
- 協同過濾:基於用戶-物品評分矩陣,找相似用戶/物品推薦。適合隱性反饋(點擊、收藏)。
- 聚類:K-Means、DBSCAN 將用戶/職位分群,同群視為高匹配。
- 內積 / 餘弦相似度:將特徵向量化(One-Hot + 數值),計算向量夾角。
工程落地建議
- 特徵工程:排名歸一化、實習數對數平滑、技能標籤 TF-IDF。
- 線上服務:預先計算向量,使用 Faiss/Annoy 做近似最近鄰檢索(ANN),毫秒級回應。
- 業務規則硬過濾:如地點、薪資門檻先過濾,再算相似度。
參考資源
- 《推薦系統實踐》項亮
- scikit-learn / TensorFlow Recommenders 實作範例