實(shí)例拆解搜索中的相關(guān)性推薦
編輯導(dǎo)語:如今這個(gè)大數(shù)據(jù)時(shí)代,可以根據(jù)你的興趣愛好、最近搜索、地理位置等進(jìn)行一個(gè)相關(guān)性推薦,提高轉(zhuǎn)化率;比如冬天,你平常喜歡在網(wǎng)上買買衣服,那系統(tǒng)就有可能給你推薦冬季的衣服;本文作者利用實(shí)例拆解了搜索中的相關(guān)性推薦,我們一起來看一下。
一、推薦在搜索中的作用
搜索與推薦是信息分發(fā)的重要手段,從用戶視角觀察,搜索更多是一種主動(dòng)行為,一般帶有用戶明確的查詢意圖;而推薦是一種被動(dòng)的行為,是在用戶“閑逛”的場景下,結(jié)合用戶歷史與偏好預(yù)測,給用戶安利可能感興趣的內(nèi)容。
某些時(shí)候,用戶的想法也是模糊的,比如昨天剛從視頻直播中看到了一款產(chǎn)品還不錯(cuò),而此時(shí)用某寶搜索卻無法想起準(zhǔn)確的名字;這時(shí)在搜索中植入推薦功能可以幫助用戶更準(zhǔn)更快的查詢,甚至還可以幫助企業(yè)長尾的內(nèi)容進(jìn)行更多曝光。
一般搜索中的相關(guān)性推薦主要有以下幾種場景:搜索發(fā)現(xiàn)、信息流相關(guān)搜索詞推薦、無少結(jié)果推薦。
- 搜索發(fā)現(xiàn)出現(xiàn)在搜索第一屏,此時(shí)用戶還沒有輸入明確的query,通過用戶歷史偏好預(yù)測內(nèi)容進(jìn)而推薦給用戶;
- 信息流相關(guān)搜索詞推薦,出現(xiàn)在搜索結(jié)果頁,通常是在結(jié)果信息流的第10條內(nèi)容以后植入與用戶輸入的搜索詞相關(guān)的搜索同義詞、擴(kuò)展詞等,因用戶下滑很多條結(jié)果仍無點(diǎn)擊,那么可能當(dāng)前的搜索詞無法很好匹配用戶意圖,就引導(dǎo)用戶換個(gè)詞查詢;
- 無少結(jié)果推薦,是查詢的詞比較冷門、生僻,或搜索系統(tǒng)的數(shù)據(jù)內(nèi)容較少,沒有匹配到用戶查詢的相關(guān)內(nèi)容,這時(shí)避免用戶體驗(yàn)挫敗感,就需提供原始query相關(guān)的詞語(電商則可以直接推薦相關(guān)商品)引導(dǎo)用戶繼續(xù)搜索。
二、實(shí)例拆解:搜索發(fā)現(xiàn)
下來我們通過電商行業(yè)搜索中的“搜索發(fā)現(xiàn)”這個(gè)場景,拆解需求分析過程。
分析步驟基于以下思路:
- 確立目標(biāo),在當(dāng)前需求背景下要達(dá)成什么目的;
- 確定輸入,梳理對(duì)需求策略能夠產(chǎn)生影響的因子;
- 設(shè)計(jì)策略,在給定輸入范圍內(nèi)通過怎樣的處理邏輯達(dá)成期望。
1. 目標(biāo)
搜索發(fā)現(xiàn)是在用戶還未給定明確意圖之前,希望幫助用戶減少輸入路徑,直達(dá)搜索結(jié)果;通常系統(tǒng)借助行為數(shù)據(jù),預(yù)測用戶偏好,為其推薦可能感興趣的內(nèi)容,同時(shí)有機(jī)會(huì)曝光更多長尾商品。
從產(chǎn)品指標(biāo)上講,可以關(guān)注兩個(gè)維度:
- 業(yè)務(wù)轉(zhuǎn)化,即從搜索渠道帶來的用戶交易(搜索GMV/UV),考察功能對(duì)業(yè)務(wù)價(jià)值的助益效果;
- 點(diǎn)擊率,搜索發(fā)現(xiàn)模塊點(diǎn)擊量/曝光量,考察功能的用戶使用效果。
2. 輸入
搜索發(fā)現(xiàn)是基于用戶特征,系統(tǒng)推薦可能感興趣的搜索詞,因此影響策略的輸入因子就可以從用戶與搜索詞兩個(gè)維度著手。
用戶的維度,首先是基礎(chǔ)的靜態(tài)畫像特征,如人口統(tǒng)計(jì)學(xué)類的年齡、性別、婚姻狀況、居住城市等;其次,系統(tǒng)要利用用戶的歷史行為建模,在搜索場景下可以考慮上一次的搜索詞,以及最常瀏覽的頻道、收藏、加購的商品等衡量用戶喜好的指標(biāo);另外,從交易特征考慮,可以看用戶的交易資格如是否會(huì)員、賬戶等級(jí)等,還可以參考RFM的思想,從近期交易、交易頻次、交易額度去考慮指標(biāo)影響因子。
搜索關(guān)鍵詞的維度,一般可采用搜索詞統(tǒng)計(jì)類特征如近期內(nèi)(一周/一月等)搜索次數(shù)/曝光次數(shù)/點(diǎn)擊次數(shù)最多的搜索詞;另外就是搜索本身的文本特征如TF-IDF、BM25分值等。
下圖是筆者整理過的一部分影響因子:
3. 策略
因搜索發(fā)現(xiàn)的前提需要有用戶數(shù)據(jù),所以對(duì)訪問的用戶角色要按新戶、存量戶進(jìn)行分客群的處理邏輯。
1)新用戶
新用戶是推薦模塊常遇到的冷啟動(dòng)問題,這里的新用戶除了是缺乏行為數(shù)據(jù)的新注冊(cè)用戶,還包括以游客身份訪問的白用戶(諸如拿不到設(shè)備ID及設(shè)備ID無法匹配上身份的用戶)。
對(duì)于這類客群,常用的做法是提供一套由運(yùn)營人員配置好的關(guān)鍵詞作為兜底策略;另外亦可結(jié)合熱度算法提取搜索系統(tǒng)的熱門搜索點(diǎn)擊詞作為混合的推薦關(guān)鍵詞;當(dāng)然,還可以通過地域、季節(jié)等上下文信息設(shè)置一套推薦詞組合,比如進(jìn)入秋冬季推薦毛衣、雪地靴等搜索詞。
2)存量戶
系統(tǒng)對(duì)存量戶已經(jīng)有了一定的數(shù)據(jù)基礎(chǔ),就可以通過常見的推薦召回算法如ALS算法、協(xié)同過濾等提取一批用戶可能有關(guān)聯(lián)的搜索詞(對(duì)于什么是ALS算法、協(xié)同過濾的介紹可以參考本文末尾的相關(guān)閱讀了解)。
算法召回的關(guān)鍵詞數(shù)量可以很多,而“搜索發(fā)現(xiàn)”模塊容納內(nèi)容有限,往往不超過10個(gè)推薦詞,對(duì)召回內(nèi)容合理排序就可以設(shè)計(jì)一套混合策略。
首先,通過ALS算法初步召回一批數(shù)據(jù),接下來如果團(tuán)隊(duì)有條件的話,可以利用機(jī)器學(xué)習(xí)(比如GBDT+LR算法)建模,將用戶靜態(tài)屬性、行為屬性、交易屬性以及搜索詞的屬性作為特征,輸入模型進(jìn)一步獲取考慮了以上特征的精細(xì)排序結(jié)果。
其次,用戶的歷史搜索詞也很有用,在一段時(shí)間內(nèi)反應(yīng)了用戶關(guān)注的商品,那么就可以把用戶歷史搜索最靠近的三個(gè)query,借助協(xié)同過濾算法召回最相關(guān)的3~4個(gè)關(guān)鍵詞;這里對(duì)于“時(shí)間窗口”要做一些限制,對(duì)于超過這個(gè)時(shí)間范圍的搜索詞就可以停用丟棄,畢竟太久遠(yuǎn)的歷史搜索詞可能就已經(jīng)不是用戶當(dāng)前的心頭好。
另外,如果能加入實(shí)時(shí)反饋的邏輯就更好了,比如找商品系統(tǒng)對(duì)用戶有“加購”、“收藏”行為時(shí),通過實(shí)時(shí)接口將商品告知搜索推薦系統(tǒng),再利用協(xié)同過濾算法召回最相關(guān)商品的簡稱作為搜索詞推薦。
之后,把協(xié)同過濾召回的3~4個(gè)搜索詞與ALS等機(jī)器學(xué)習(xí)算法召回的排名前列的5、6條數(shù)據(jù)混排,進(jìn)行內(nèi)容去重后(內(nèi)容重復(fù)則繼續(xù)從ALS召回序列中往后取數(shù)),組成10個(gè)搜索詞隨機(jī)排列呈現(xiàn)給到用戶。
三、尾聲
以上就是“搜索發(fā)現(xiàn)”的案例拆解思路,對(duì)于其他相關(guān)性推薦在搜索中的應(yīng)用,流程也是類似的,只不過把用戶屬性換成了具有明確搜索意圖的query詞特征。
總的來說,搜索中應(yīng)用推薦其實(shí)無外乎兩個(gè)目的:讓搜索更準(zhǔn)、幫商品更多曝光進(jìn)而帶動(dòng)銷售。
然而我們有時(shí)候也常會(huì)聽到大家抱怨,為什么我都買過的商品,我來搜索的時(shí)候還給我重復(fù)推薦;事實(shí)上,做好搜索推薦仍然是一項(xiàng)比較復(fù)雜的任務(wù),在技術(shù)和策略方面都可以結(jié)合業(yè)務(wù)不斷深入細(xì)化的。
相關(guān)閱讀:
作者:策略伽;公眾號(hào):策略伽
本文由 @策略伽 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理,未經(jīng)作者許可,禁止轉(zhuǎn)載。
題圖來自Unsplash,基于CC0協(xié)議。
每一篇文章都是精華!