如何從0到1搭建電商搜索系統(tǒng)(一)

10 評(píng)論 11428 瀏覽 100 收藏 10 分鐘

夢(mèng)寐以求的在家辦公居然在這種情況下實(shí)現(xiàn)了?!假期越來(lái)越長(zhǎng),眼睛一睜一閉假期又多幾天……閑來(lái)無(wú)事趁著周末把產(chǎn)品如何入門搜索給大家寫寫。

本文會(huì)先簡(jiǎn)單介紹一下搜索系統(tǒng)的結(jié)構(gòu)是怎么樣,幫助產(chǎn)品小白如何快速的入門搜索,做一個(gè)能基本滿足中小型電商平臺(tái)使用的搜索系統(tǒng)。希望可以幫到1到2個(gè)小伙伴。歡迎更多有興趣的小伙伴一起學(xué)習(xí)討論,共同進(jìn)步。

概覽篇

隨著電商商品SPU越來(lái)越多,對(duì)于電商平臺(tái)的搜索商品能力要求越來(lái)越高,各家電商平臺(tái)都開始自己做搜索系統(tǒng)。這樣會(huì)有一個(gè)好處就是可以根據(jù)自身實(shí)際情況調(diào)整商品排序,也比較適合商品價(jià)格競(jìng)爭(zhēng)力保密性比較高的電商平臺(tái)。

1. 核心指標(biāo)

一般電商的搜索的核心指標(biāo)是搜索精度和搜索廣度,精度就是搜索的精確性,廣度就是搜索結(jié)果的范圍。

搜索足夠準(zhǔn)確就行了,為什么還有一個(gè)搜索廣度指標(biāo)?

電商的搜索的關(guān)鍵結(jié)果(Key Result)肯定是“為用戶準(zhǔn)確搜索到想要的商品”。這主要是由于各式各樣的電商平臺(tái)商品雖然越來(lái)越多也不會(huì)面面俱到,所以過(guò)于追求搜索的精確度就會(huì)導(dǎo)致用戶搜索的結(jié)果比較少或者搜索不到的情況多發(fā),這樣的后果往往就會(huì)顯得平臺(tái)商品比較單薄。

用戶搜索不到商品勢(shì)必會(huì)產(chǎn)生流失,一方面要督促采銷同學(xué)增加商品競(jìng)爭(zhēng)里,另外一方面在搜索這個(gè)產(chǎn)品里面可以做的就是需要給用戶暴露一些相關(guān)的商品。

所以搜索做的好不好,其實(shí)是在搜索精度和搜索廣度二者之間做一個(gè)比較好的平衡點(diǎn)。

2. 搜索架構(gòu)

搜索主要包括分詞、數(shù)據(jù)查詢、數(shù)據(jù)排序。

如何從0到1搭建搜索系統(tǒng)(一)

這是我找到一個(gè)比較直觀的搜索架構(gòu),重新畫了一下??梢钥吹接脩羲阉魃唐返臅r(shí)候輸入搜索關(guān)鍵詞,通過(guò)查分搜索的關(guān)鍵詞,將拆分的關(guān)鍵詞在和商品數(shù)據(jù)、庫(kù)存數(shù)據(jù)、營(yíng)銷活動(dòng)、訂單信息等數(shù)據(jù)相匹配,得到查詢結(jié)果,根據(jù)相關(guān)性、銷量、優(yōu)惠程度、用戶以往下單的歷史記錄等因素對(duì)搜索的結(jié)果做合理排序。

分詞篇

很多小伙伴不明白為什么搜索需要分詞?

分詞可以將用戶搜索的關(guān)鍵詞拆解,分析主要關(guān)鍵詞來(lái)快速找到一堆商品,再根據(jù)用戶的形容詞來(lái)篩選這部分商品,得到正確的結(jié)果。

舉個(gè)栗子,搜索“進(jìn)口紅鳥鞋油”,如果沒(méi)有分詞的過(guò)程,按照逐個(gè)字來(lái)匹配,“進(jìn)口紅……”搜索引擎就認(rèn)為是口紅,搜索出來(lái)的結(jié)果就會(huì)有口紅,而用戶搜索目標(biāo)商品其實(shí)是鞋油,這顯然就不對(duì)了。加上分詞,“進(jìn)口紅鳥鞋油”被正確識(shí)別品類為屬于鞋油,“進(jìn)口”為普通屬性詞只有0.1的權(quán)重,“紅鳥”其實(shí)是一個(gè)品牌詞,權(quán)重0.8僅次于鞋油。

分詞主要包括建立詞庫(kù)、詞義分析,以及搜索糾錯(cuò)。

用戶搜索關(guān)鍵詞后,通過(guò)搜索監(jiān)控會(huì)對(duì)這些搜索的關(guān)鍵詞做一個(gè)數(shù)據(jù)整理,數(shù)據(jù)經(jīng)過(guò)清洗,去掉一些無(wú)意義的亂碼。有一個(gè)詞庫(kù)會(huì)把這些清洗后的關(guān)鍵詞詞條記錄下來(lái),詞條通過(guò)語(yǔ)義分析(詞義分析)和分詞服務(wù)被拆分成最小顆粒度。根據(jù)拆分后的關(guān)鍵詞,進(jìn)行權(quán)重分析就能得出該關(guān)鍵詞的主次程度;光是有主次關(guān)鍵詞還不夠,會(huì)對(duì)關(guān)鍵詞從平面的一句話拆分成幾個(gè)維度來(lái)看,從多維度多屬性立體查詢商品。

1. 建立詞庫(kù)

一般垂直的電商平臺(tái)會(huì)自建詞庫(kù),用戶搜索的關(guān)鍵詞會(huì)根據(jù)詞庫(kù)里面的詞條來(lái)匹配,將關(guān)鍵詞依照匹配結(jié)果拆分。

舉個(gè)栗子:關(guān)鍵詞如果是“豬肉脯”,如果詞條里面只有“豬肉”,那么“豬肉脯”的分詞結(jié)果就是“豬肉”和“脯”;可以看出形形色色的關(guān)鍵詞很多,建立詞庫(kù)需要大量的用戶數(shù)據(jù)積累,一開始就自建詞庫(kù)往往會(huì)出現(xiàn)搜索搜不準(zhǔn)的情況,這就不奇怪是什么原因了~

所以自建的詞庫(kù)都不僅成本高,見(jiàn)效慢,而且還有經(jīng)常出現(xiàn)搜索不準(zhǔn)的情況。但是為什么垂直電商還是會(huì)自建詞庫(kù)?

這樣做的好處主要是可以更加貼合本平臺(tái)商品,提升搜索精度。再舉個(gè)栗子:一個(gè)賣二手手機(jī)的平臺(tái),就可以增加一些手機(jī)參數(shù)和型號(hào)等數(shù)字作為詞條,比如搜索“A1865”,這個(gè)詞如果在詞庫(kù)里面有,就會(huì)被作為整詞搜索,用戶通過(guò)搜索引擎能比較好的搜索到iPhoneX 國(guó)行和港版。

2. 詞義分析?

詞義分析主要是將用戶輸入的關(guān)鍵詞通過(guò)NLP(Natural Language Processing 自然語(yǔ)言處理)理解詞義,找到輸入關(guān)鍵詞的中心詞,關(guān)鍵詞按照不同的類型進(jìn)行拆分并計(jì)算得分。

根據(jù)某大廠的一個(gè)通用實(shí)體命名接口,我們先將“阿瑪尼臻致絲絨啞光唇釉”作為搜索的關(guān)鍵詞模擬一下分詞情況;可以看的分詞的結(jié)果主要包括品類詞、品牌詞、屬性詞(修飾詞)這三部分,權(quán)重也是依次遞減。

從搜索分詞的結(jié)果來(lái)看,自建詞庫(kù)在選擇網(wǎng)上開源的詞條的,同時(shí)也可以根據(jù)自家電商平臺(tái)商品的屬性來(lái)擴(kuò)充詞庫(kù)。一般包括品牌詞,品類詞以及其他的商品屬性詞。

如何從0到1搭建搜索系統(tǒng)(一)

3. 搜索糾錯(cuò)

上圖分詞結(jié)果圖中,可以看到?? “synonym”: “amani;阿媽尼;armani jeans;阿碼尼;emporio armani;armani” “amani”、“阿媽尼”、“阿碼尼”這個(gè)就是“搜索糾錯(cuò)”的一個(gè)過(guò)程。主要是為了避免用戶因?yàn)檩斎敕ā⒖诒畟鞑バ畔⒉町惖惹闆r,導(dǎo)致搜索不到用戶期望的結(jié)果。

搜索糾錯(cuò)分為同義詞、近義詞、錯(cuò)別字、屏蔽詞。

同義詞: 一般包括品牌的中英文、別名等。armani和阿瑪尼是同義詞,以及上圖返回結(jié)果里面的【synonym】里面第一個(gè)“amani”其實(shí)是全拼,可以算在同義詞里面;或者“楊樹林”也是ysl的同義詞。

近義詞:商品的近義詞邊界其實(shí)不太好定義,因?yàn)槊總€(gè)人對(duì)詞的理解都不一樣;近義詞的應(yīng)用場(chǎng)景其實(shí)是為了增加搜索的廣度,可能商城里面獼猴桃比較少或者買完了,搜索結(jié)果展示一下奇異果也不足為奇。所以為了搜索廣度,那么我們比較將相近的兩個(gè)詞也加上關(guān)聯(lián)關(guān)系,來(lái)減少搜索結(jié)果較少、搜索不到帶來(lái)的不好的體驗(yàn)。

錯(cuò)別字:這是為了避免輸入法在輸入的時(shí)候,難免輸入一些錯(cuò)別字,沒(méi)有搜索自動(dòng)糾錯(cuò)就會(huì)把“阿碼尼”在分詞環(huán)節(jié),拆分成“阿”、“碼”、“尼”,而不會(huì)被認(rèn)為是一個(gè)品牌詞“阿瑪尼”。

屏蔽詞:在搜索關(guān)鍵詞的時(shí)候,用戶可能會(huì)因?yàn)榧訕?biāo)點(diǎn)符合等加了一些亂碼等,避免這些亂碼或者標(biāo)點(diǎn)符號(hào)影響搜索結(jié)果,擾亂搜索結(jié)果的權(quán)重。所以在遇到亂碼和標(biāo)點(diǎn)符號(hào)的時(shí)候就先屏蔽掉。

由于搜索作為較為龐大的系統(tǒng),再三思索,本文將根據(jù)搜索系統(tǒng)的分詞、數(shù)據(jù)查詢、數(shù)據(jù)排序會(huì)拆成多篇介紹。

欲知后事如何,請(qǐng)聽(tīng)下回分解~

 

本文由 @戴大寶 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理,未經(jīng)作者許可,禁止轉(zhuǎn)載。

題圖來(lái)自Unsplash,基于CC0協(xié)議。

更多精彩內(nèi)容,請(qǐng)關(guān)注人人都是產(chǎn)品經(jīng)理微信公眾號(hào)或下載App
評(píng)論
評(píng)論請(qǐng)登錄
  1. 使用的是什么分詞API

    來(lái)自美國(guó) 回復(fù)
  2. 寫的超贊,還能期待更新嘛

    來(lái)自上海 回復(fù)
  3. 大佬,后續(xù)更新發(fā)了嗎?您寫的文章很棒,渴望看到后續(xù)內(nèi)容呀

    來(lái)自上海 回復(fù)
  4. 在哪里更新了

    來(lái)自江蘇 回復(fù)
  5. 趕緊跟新呀 ?。?!

    來(lái)自北京 回復(fù)
  6. 求更新呀

    來(lái)自廣東 回復(fù)
  7. 求更新

    來(lái)自上海 回復(fù)
    1. 好的

      來(lái)自江蘇 回復(fù)
    2. 更新在哪里了,想看續(xù)篇

      來(lái)自廣東 回復(fù)
  8. ??

    來(lái)自江蘇 回復(fù)