其它相關(guān)文章整理:https://zhuanlan.zhihu.com/p/51015148
當然還有很多因素也會去影響這個閉環(huán),如用戶(歷史行為犁嗅,性別啊央、年齡等)、地域但金、天氣韭山,一個宏觀、長周期的鏈路等冷溃。
? ? ? 根據(jù)搜索的過程钱磅,可以拆解用戶的搜索流程如下:搜索入口-搜索觸發(fā)-內(nèi)容輸入-點擊搜索-反饋結(jié)果。我們從這個流程的各個環(huán)節(jié)上來看四大電商app(京東似枕、天貓盖淡、手淘、拼多多)的搜索功能凿歼,進行對比分析褪迟。
? ? 前文已經(jīng)介紹了搜索前的一些產(chǎn)品及技術(shù)方案;本文還是電商搜索為例答憔,以用戶搜索過程中輸入搜索詞(點擊“搜索“按鈕到按下”回車“之間發(fā)生的事)的過程為切入點味赃,結(jié)合產(chǎn)品及技術(shù)方案展開,結(jié)合相關(guān)搜索詞功能進行論述虐拓。
搜索詞自動補全產(chǎn)品形態(tài)
關(guān)鍵詞匹配/補全/聯(lián)想/糾錯的作用主要有三個:引導心俗、糾錯和高效。
? ? 通過統(tǒng)計發(fā)現(xiàn)侯嘀,用戶在第一次查詢中得到預期搜索結(jié)果的概率非常低另凌,所以需要引導查詢自動建議可以減少用戶搜索的工作量谱轨,并通過數(shù)據(jù)挖掘(群體行為和智慧)來給出高頻恰當?shù)乃阉鹘ㄗh。
? ? ? 四個電商均使用了前綴匹配吠谢,但是手淘和天貓使用了拓展icon土童,可快速將推薦詞黏貼至搜索框,京東使用了屬性工坊、標簽献汗、類目擴展 (除了對輸入內(nèi)容做聯(lián)想,還會展示出與關(guān)鍵詞相關(guān)的維度王污,自動補全關(guān)鍵詞罢吃,增加用戶的選擇),拼多多則相對搜索詞產(chǎn)品探索較少昭齐。不過目的都是幫助用戶快速鎖定意圖尿招,并開展搜索。
? ? 用戶在搜索框輸入字符時阱驾,會在搜索框下面實時顯示下拉提示詞給用戶就谜,方便用戶選擇±锔玻可以幫助用戶快速輸入和優(yōu)化搜索條件丧荐,且避免輸入錯誤;在此基礎上很多電商app也出現(xiàn)了篩選功能喧枷,在當前搜索建議詞基礎上進行擴展虹统,進一步減少用戶操作。一般在用戶搜索的不夠具體隧甚,會推薦該搜索詞更細的分類车荔。淘寶的輔助多重篩選搜索,輸入時展現(xiàn)的一系列聯(lián)想內(nèi)容呻逆,點擊右邊的一個拓展icon夸赫,就可以采用聯(lián)想出的內(nèi)容,在此基礎上繼續(xù)縮小范圍篩選咖城,從而幫助用戶獲得最接近需求的內(nèi)容。
通過當前實時輸入的詞去匹配候選詞呼奢,一般查詢頻度和同查詢詞的歷史查詢記錄為重要參考依據(jù)宜雀。
? ? ? 在搜索詞補全和聯(lián)想數(shù)量上,淘寶為10條握础,拼多多為10條辐董,京東/天貓超過10條,但是不能過多禀综,過多的選擇會給用戶造成記憶負擔简烘,并且占據(jù)空間苔严,有損用戶體驗,所以需要控制數(shù)量以便信息不會過載孤澎。
? ? 當然部分電商在歷史的版本迭代中會嘗試在搜索輸入階段進行糾錯届氢,比如輸入聯(lián)衣群,下拉框中自動糾正為連衣裙的一些選項覆旭,目前四個電商app均并無此功能退子,而是在搜索結(jié)果展示內(nèi)做糾錯及提醒;自動容錯功能型将,將極大地提升用戶體驗寂祥,并提升用戶的購買率。
技術(shù)方案
? ? ? 主旨:前綴匹配原則七兜,完整詞未出現(xiàn)時一般使用補全/聯(lián)想功能丸凭,品類引導詞為主;當出現(xiàn)明顯品類詞后開始出現(xiàn)更細粒度屬性及標簽篩選詞腕铸。一般從query log中挖掘出大量候選query贮乳,并且保證前綴相同,然后根據(jù)某種計算模型給候選query 計算一個分數(shù)恬惯,最后按照分數(shù)選出topK作為最終結(jié)果向拆。
? ? 主要考慮因素:當前搜索詞,用戶(性別酪耳、年齡等特征)浓恳,日志中的群體智慧
極簡版:
? ? 常見搜索引擎均帶有suggestion功能,直接使用
統(tǒng)計版:
? ? 使用前綴匹配后的候選詞(Trie樹 + TopK算法,回溯算法遍歷trie樹)碗暗,使用用戶搜索頻度最高的topK個搜索詞,但是這樣會使長尾詞無法得到曝光機會颈将。
trie樹
? AC算法
簡單模型版:
? ? ? 在用戶進行搜索商品時,通過用戶與搜索詞信息進行意圖預測言疗,并輔之以類目晴圾、性別預測,前綴匹配后最終將某個性別和類目下的共現(xiàn)最高的topK熱搜詞作為搜索框下拉框提示詞噪奄。
復雜模型版1:
? ? ? 復雜模型版死姚,使用前綴匹配算法進行候選集召回(若召回量過少,考慮非前綴匹配結(jié)果)勤篮,并做簡單截斷都毒;然后使用用戶特征(性別、年齡碰缔、行為序列)账劲、context特征(季節(jié)、天氣、溫度瀑焦、地理位置)進行腌且、當前搜索詞的embedding vector,然后候選搜索詞也有一個embedding vector榛瓮,三個vector分別與候選vector計算cosine similarity铺董,最終使用一個線性模型融合三個分數(shù),最終的排序結(jié)果會進行語義去重再選擇topK(這里也可以用生成模型來做排序)榆芦。
context embedding的方式
這里可以將用戶柄粹、context均視為搜索詞,就可以用日志數(shù)據(jù)構(gòu)造doc匆绣,最終使用doc2vec或word2vec驻右。
? 生成式-user-embedding-《云棲社區(qū)-query生成與推薦》
生成式-query generate-《云棲社區(qū)-query生成與推薦》
復雜模型版2:
主要針對復雜模型版1的排序特征上,繼續(xù)增加特征,并考慮更多的維度
? ? 通過語義崎淳、行為堪夭、session log等挖掘出query間相似分,并加入用戶拣凹、搜索詞森爽、context類特征及其交叉特征。多維度相似融合再排序: 按照點擊相似度嚣镜、文本相似度爬迟、Session相似度衡量Query之間的相似度,得到候選的Pair(可選)交給重排序模塊菊匿,對Query pair的優(yōu)先級做優(yōu)化付呕,生成Top K的改寫結(jié)果。
query2query召回
基于行為: item cf/swing跌捆、simrank++
? 基于session: word2vec徽职、seq2seq
? 基于內(nèi)容: query2vec(類似word2vec,構(gòu)建query序列)
query排序
模型: LR/GBDT
? 樣本: 用戶日志佩厚,行為加權(quán)(展現(xiàn):1,點擊:5,購買:50)
? 特征: 搜索詞的pv/ctr/cvr姆钉,用戶是否活躍,用戶畫像/特征抄瓦,用戶+候選詞(查詢詞/瀏覽詳情頁與熱搜候選詞相似度)潮瓶,context特征(地理位置,溫度闺鲸,天氣等)
其它算法&產(chǎn)品模塊
糾錯
? ? ? 針對糾錯筋讨,還可以做一個模型,但是上述query方式可以一定程度上避免了很多的輸入有誤問題摸恍。針對糾錯可以考慮如下2種:
? ? ? Non-word糾錯(準備一個電商語料庫字典,輸入詞不在整體字典中,即可以判定為錯詞)
? ? ? Real-word糾錯HMM(噪聲信道模型,利用unigram+bigram+trigram立镶,選擇最優(yōu)的token組合,Query pair壁袄,正確及錯誤詞候選集合訓練轉(zhuǎn)移矩陣)
語義歸一
針對候選詞進行語義歸一,一般將候選query相對搜索query的擴展部分進行相似度計算媚媒,以高于某個閾值后嗜逻,只保留得分高的一個候選詞,這樣可以節(jié)省有限的坑位資源缭召。
產(chǎn)品模塊
清除的icon: 輸入內(nèi)容時栈顷,引導信息消失,有的還會伴隨在搜索框中出現(xiàn)清除的icon嵌巷,清除的icon主要方便用戶進行二次搜索時一鍵清空當前信息萄凤,省去了逐字刪除的麻煩;根據(jù)輸入內(nèi)容搪哪,進行關(guān)鍵詞的匹配靡努。
聯(lián)想詞下商品數(shù)量: 產(chǎn)品層面還可以做一個事情,就是將關(guān)鍵詞對應的搜索結(jié)果數(shù)量前置晓折,便于用戶控制搜索詞的顆粒度惑朦,也避免出現(xiàn)無結(jié)果或者少結(jié)果的情況,特別是針對相對稍長尾的搜索詞而言漓概。
后續(xù)文章主題:《國內(nèi)主流電商搜索功能對比》漾月、《電商搜索-數(shù)據(jù)分析》、《搜索算法-QR》胃珍、《搜索算法-QU》梁肿、《搜索算法-相關(guān)性》、《搜索算法-排序》堂鲜。
前幾篇文章:
對電商搜索感興趣栈雳,并想深入了解算法的小伙伴,可參與我的live:
其它相關(guān)文章及l(fā)ive整理:
謝謝大家的支持缔莲!