解讀電商O(píng)2O的搜索系統(tǒng)

2022-06-29    分類: 網(wǎng)站建設(shè)

之前的文章探討過(guò)用戶端背后系統(tǒng)的邏輯和結(jié)構(gòu)情況,后續(xù)我會(huì)考慮逐步解構(gòu)每個(gè)相關(guān)系統(tǒng)的情況。今天跟大家聊一聊搜索系統(tǒng),搜索系統(tǒng)在所有電商系統(tǒng)里面復(fù)雜度和難度是可以排的上前列的。關(guān)于算法方面介紹的文章很多,這里不做贅述,只解構(gòu)下搜索系統(tǒng)的基本邏輯和實(shí)現(xiàn)。對(duì)于產(chǎn)品來(lái)說(shuō)未免溝通時(shí)“露怯”,了解搜索系統(tǒng)的基本知識(shí)和結(jié)構(gòu)是有必要的。

搜索系統(tǒng)的“基本介紹”

搜索系統(tǒng),顧名思義提供大數(shù)據(jù)查找篩選的系統(tǒng)功能。在電商和O2O領(lǐng)域作為一個(gè)主要的流量入口起到了至關(guān)重要的作用。

“基本介紹”:指標(biāo)

對(duì)于搜索來(lái)說(shuō),主要的指標(biāo)為準(zhǔn)確率和召回率。我們以下圖為例解釋下什么叫做準(zhǔn)確率和召回率。

圖中整體的部分為所有商品數(shù)據(jù)的全集,其中包括不相關(guān)和相關(guān)的內(nèi)容。


準(zhǔn)確率:搜索結(jié)果中相關(guān)內(nèi)容的比例,即圖中A的部分

召回率:搜索結(jié)果占整體內(nèi)容的比例,即A+B

由此我們可以看出,最好的結(jié)果是A足夠大且B足夠小,但實(shí)際實(shí)現(xiàn)中會(huì)發(fā)現(xiàn)兩個(gè)指標(biāo)是相反的(召回率越高準(zhǔn)確率會(huì)越低)。需要通過(guò)規(guī)則來(lái)平衡這塊部分。

“基本介紹”:基礎(chǔ)結(jié)構(gòu)

搜索系統(tǒng)主要的組成部分有幾塊:


  1. 切詞邏輯
  2. 詞庫(kù)
  3. 基礎(chǔ)信息
  4. 加權(quán)規(guī)則
  5. 排序展示邏輯
  6. 整體流程如下


名詞解釋:


  • query:是查詢的意思,這里指用戶在搜索框輸入的內(nèi)容。
  • 切詞:又叫分詞,是根據(jù)詞庫(kù)/詞典將一段文本進(jìn)行切分以便機(jī)器識(shí)別的過(guò)程。
  • 詞庫(kù):指用于切詞的詞庫(kù)。
  • 加權(quán):將檢索結(jié)果集按照一定的維度、規(guī)則進(jìn)行打分就叫做加權(quán)。
  • 索引:商品信息存儲(chǔ)時(shí)需要建立索引,索引作為每個(gè)商品的標(biāo)識(shí)方便在大數(shù)據(jù)量的情況下快速查找篩選。

“基本介紹”:應(yīng)用場(chǎng)景

搜索的應(yīng)用一般有兩種:全文檢索和suggest。其中suggest的規(guī)則比全文檢索要簡(jiǎn)單一些。服務(wù)上由于suggest一般支持模糊查詢的情況,所以要考慮服務(wù)上是否要獨(dú)立還是公用一套。

搜索系統(tǒng)的“工作履歷”:流程解構(gòu)

切詞/詞庫(kù)

切詞,又叫分詞。用于將用戶輸入的無(wú)結(jié)構(gòu)化字符變成機(jī)器可識(shí)別的詞組。市面上有很多成熟的切詞組件。切詞邏輯有很多種,根據(jù)字符、概率等,電商和O2O一般使用字符串切詞的方式處理。關(guān)于切詞的方法最基礎(chǔ)的有大正相匹配、大逆向匹配、雙向匹配等,具體的內(nèi)容可以百度查詢。切詞工具根據(jù)詞庫(kù)中的詞典進(jìn)行切分,一般開(kāi)源的切詞工具都有默認(rèn)的詞庫(kù)和自定義詞庫(kù)兩種情況。用戶可通過(guò)添加自定義詞庫(kù)來(lái)完善補(bǔ)充。

這里面需要強(qiáng)調(diào)的是切詞時(shí)候的過(guò)濾,尤其生鮮類非標(biāo)品情況下特別需要注意。

單字詞、助詞之類的是否要過(guò)濾掉。如米、面、油等

別名情況的處理,尤其是生鮮類。比如在北京叫油菜,在上海叫上海青,在重慶叫漂兒白

檢索結(jié)果集

根據(jù)切出的詞語(yǔ)進(jìn)行匹配,匹配到的商品信息集合為檢索結(jié)果集。結(jié)果集需要做檢索、過(guò)濾、標(biāo)記三個(gè)步驟。

檢索

檢索項(xiàng)包括但不限于:


  • 商品名稱
  • 商品標(biāo)題、副標(biāo)題
  • 商品描述
  • 商品參數(shù)、規(guī)格
  • 商品品牌(生鮮副食品類尤為重要,比如五得利面粉、鵬程五花肉)
  • 商品品類(一級(jí)類、二級(jí)類)
  • 別名關(guān)聯(lián)商品
  • 促銷類型

成熟的電商系統(tǒng)不僅僅實(shí)現(xiàn)用戶的基本商品檢索,還會(huì)根據(jù)query進(jìn)行意圖分析來(lái)進(jìn)行query轉(zhuǎn)換。以生鮮電商舉例,當(dāng)用戶搜索“豬肉”時(shí),用戶希望獲得的不是含有豬肉詞語(yǔ)的商品,而是豬肉的各個(gè)部位、豬肉級(jí)別等。這時(shí)應(yīng)該轉(zhuǎn)化為后臀尖、前臀尖、里脊,一級(jí)白條等詞語(yǔ)進(jìn)行檢索,而不是匹配豬肉。意圖分析主要有兩個(gè)方面

行為模式分析

用戶畫(huà)像分類

過(guò)濾

獲取的結(jié)果集需要經(jīng)過(guò)去重、過(guò)濾的處理。此部分行為可以在加權(quán)打分后進(jìn)行處理,也可以安排在初選結(jié)果后處理。

同一個(gè)商品被多個(gè)詞語(yǔ)命中需要去重

現(xiàn)實(shí)中的電商搜索可能會(huì)根據(jù)不同的場(chǎng)景構(gòu)建所謂的“小搜索”,如按照類目、按照品類、按照定制化場(chǎng)景等。所以針對(duì)不同的搜索場(chǎng)景可能會(huì)有單獨(dú)的過(guò)濾去重條件,也可以在構(gòu)建數(shù)據(jù)的時(shí)候使用不同的庫(kù)進(jìn)行處理。

O2O場(chǎng)景需要按照一定區(qū)域概念(城市、商圈等)進(jìn)行過(guò)濾

售罄商品需要過(guò)濾

下線商品需要過(guò)濾

標(biāo)記

在檢索完成后需要對(duì)數(shù)據(jù)進(jìn)行標(biāo)記,以便后續(xù)做加權(quán)時(shí)使用。此步也可以在做加權(quán)處理的時(shí)候同步進(jìn)行。

加權(quán)

加權(quán)的目的是為了根據(jù)模型確定結(jié)果集各個(gè)商品的排序優(yōu)先級(jí)。加權(quán)的維度有很多,根據(jù)不同的場(chǎng)景考慮也會(huì)有所區(qū)別。

加權(quán)因子主要分為幾個(gè)維度:

相關(guān)度

商業(yè)化因素

個(gè)性化因素

人為因素

數(shù)據(jù)模型統(tǒng)計(jì)

相關(guān)度

這里指的是分詞的相關(guān)度。包括文本匹配、詞間距、是否是中心詞、品牌詞等。中心詞的概念是是否命中了核心的詞語(yǔ),中心詞和品牌詞也需要有對(duì)應(yīng)的詞庫(kù)進(jìn)行維護(hù)更新。詞間距是計(jì)算相關(guān)性的一個(gè)維度,比如一段文本中包含清華、大學(xué),“清華大學(xué)xxxxxxx”和“清華xxxxxxx大學(xué)”相比肯定是前者相關(guān)性更高一些。

這里面有幾點(diǎn)需要注意:

query被完整匹配和部分匹配的權(quán)重是不同的

單詞命中和多詞命中同一商品也需要考慮權(quán)重情況

商業(yè)化因素

考慮業(yè)務(wù)場(chǎng)景下需要關(guān)注的因素稱之為商業(yè)化因素。

商品庫(kù)存

是否新品(考慮新品的特殊性,也可以將此權(quán)重獨(dú)立打分)

商品銷量

是否促銷商品

銷售額

商品分類

商品品牌

CTR(廣告類的商品要考量)

所屬平臺(tái)(POP、自營(yíng))

區(qū)域(020屬性)

終端情況(手機(jī)、PC)

個(gè)性化因素

按照個(gè)人使用的情況進(jìn)行個(gè)性化排序,做到所謂的“千人千面”。包括下單數(shù)據(jù)分析等。這部分同意圖分析的情況類似。

人為因素

在日常運(yùn)營(yíng)過(guò)程中,有很多需要做強(qiáng)制人為干預(yù)的事情(如人工置頂)。所以在加權(quán)的時(shí)候需要考慮此類行為。

數(shù)據(jù)模型統(tǒng)計(jì)

可以根據(jù)用戶的一些行為數(shù)據(jù)或者埋點(diǎn)數(shù)據(jù)分析,提供綜合排名靠前的商品或者分類做單獨(dú)加權(quán)權(quán)重。包括:

用戶點(diǎn)擊

用戶收藏

購(gòu)買(mǎi)數(shù)

排序處理

根據(jù)加權(quán)的情況和一些特殊的處理,需要對(duì)最終輸出的結(jié)果做排序調(diào)整。

這里提供兩種方法供大家參考

可以按照加權(quán)打分的分值之和做排序。這樣做比較直接,但在后續(xù)調(diào)整的過(guò)程中驗(yàn)證規(guī)則時(shí)容易混淆不清晰。

將不同的權(quán)重維度單獨(dú)計(jì)算,生成一個(gè)長(zhǎng)位數(shù)的標(biāo)識(shí)符,每個(gè)權(quán)重在標(biāo)識(shí)符上有自己的位置。按照優(yōu)先級(jí)的順序從左到右依次排列??紤]到機(jī)器計(jì)算的易用性上,可以在加權(quán)時(shí)使用十進(jìn)制,然后統(tǒng)計(jì)時(shí)轉(zhuǎn)換成二進(jìn)制即可。類似下圖這樣,位數(shù)和排序可以根據(jù)具體業(yè)務(wù)場(chǎng)景制定。


最后要說(shuō)下,在算法中要考慮相同因子下的打散,比如同一個(gè)商家店鋪下的商品排序需要按照一定比例分布在不同地方,避免一次性展示過(guò)多同類商品。

如果系統(tǒng)能力富足,也可以增加單獨(dú)的反作弊模塊來(lái)處理一些惡意刷單刷榜的情況。

搜索與“大家”的關(guān)聯(lián)

搜索系統(tǒng)主要為用戶端提供搜索結(jié)果的輸出,輸入方面來(lái)自于相關(guān)的下游系統(tǒng)。

當(dāng)搜索場(chǎng)景進(jìn)一步細(xì)分時(shí),要考慮更多數(shù)據(jù)的對(duì)接和分類。

在設(shè)計(jì)時(shí)有幾個(gè)需要注意的地方:

搜索數(shù)據(jù)比較龐大,直接使用API調(diào)用實(shí)時(shí)數(shù)據(jù)對(duì)于系統(tǒng)壓力過(guò)大,一般可采取搜索自建索引庫(kù),定時(shí)(比如15分鐘)從相關(guān)系統(tǒng)拉取數(shù)據(jù)的方式。

基于不同的場(chǎng)景可以提供單獨(dú)的索引庫(kù)來(lái)實(shí)現(xiàn),避免邏輯耦合不好分離做個(gè)性化。

用戶端在調(diào)用suggest時(shí)考慮到服務(wù)壓力,建議延遲幾秒請(qǐng)求數(shù)據(jù)。

分詞詞庫(kù)的維護(hù)也依賴于定期從相關(guān)系統(tǒng)中獲取補(bǔ)充。


結(jié)語(yǔ)

搜索系統(tǒng)的核心是算法,從產(chǎn)品層面來(lái)說(shuō)更多是關(guān)注業(yè)務(wù)邏輯規(guī)則以及上下游的依賴情況。本文對(duì)搜索的一些通用情況做了簡(jiǎn)單介紹,更深入的內(nèi)容還需要大家在日常過(guò)程中進(jìn)一步的深挖。

網(wǎng)頁(yè)題目:解讀電商O(píng)2O的搜索系統(tǒng)
網(wǎng)址分享:http://www.bm7419.com/news4/173204.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供Google、外貿(mào)網(wǎng)站建設(shè)網(wǎng)站設(shè)計(jì)公司、企業(yè)建站、定制開(kāi)發(fā)、小程序開(kāi)發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)