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




















