老板問我,什么是基于內容的推薦?
工程架構方向的程序員,看到推薦/搜索/廣告等和算法相關的技術,心中或多或少有一絲膽怯。但認真研究之后,發現其實沒有這么難。
今天給大家介紹下推薦系統中的“基于內容的推薦”,絕無任何公式,保證大伙弄懂。
什么是基于內容的推薦(Content-based Recommendation)?
答:通過用戶歷史感興趣的信息,抽象信息內容共性,根據內容共性推薦其他信息。
比如,如何通過基于內容的推薦,來對求職者A進行職位推薦?
答:簡要步驟如下:
(1)找到用戶A歷史感興趣的職位集合;
(2)找到職位集合的具化內容;
(3)抽象具化內容的共性內容;
(4)由這些共性內容查找其他職位,并實施推薦;
具體實施步驟如何?
答:簡要步驟如下:
(1)得到求職者A訪問過三個職位,假設分別是{zw1, zw2, zw3},這些數據可以從歷史日志得到。
(2)由職位集合得到職位具化內容
- zw1 -> {程序員, 北京, 月薪8000, 3年經驗, 本科}
- zw2 -> {程序員, 北京, 月薪6000, NULL, 研究生}
- zw3 -> {程序員, 北京, 月薪6000, 5年經驗, NULL}
這些數據可以從職位數據庫里得到。
(3)由職位具化內容抽象出職位共性信息
例如,由上述職位1,職位2,職位3抽象出的共性職位信息為:
- {程序員, 北京, 月薪6000+, NULL, NULL}
(4)由這些共性內容查找其他職位并實施推薦
以{程序員, 北京, 月薪6000+, NULL, NULL}為查詢條件,查詢職位數據庫,并按照一些規則進行排序
(例如,最新發布的職位先推薦,點擊過的職位不推薦等),完成推薦。
如果查詢的結果集過小,可以縮小條件召回,例如可以將查詢條件縮小為{程序員, 北京, 月薪3000+, NULL, NULL}。
基于內容的推薦,原理如上,希望這1分鐘,大家能有收獲。
【本文為51CTO專欄作者“58沈劍”原創稿件,轉載請聯系原作者】