電商運營之站內搜索全面指南(五)

2 評論 10273 瀏覽 42 收藏 10 分鐘

上一章給大家安利了一下搜索結果頁優化的原理,或者叫個人看法。搜索結果頁的引流和轉化。各個模塊的優化運營方式與指標。那么這一章就來好好探討下,站內搜索的流程,用戶的搜索詞是經過怎樣一個流程最后變成呈現在我們面前的搜索結果頁的。

為了便于大家理解,這里還是用一張通俗易懂的流程圖給大家瞧瞧,有個大概的脈絡,我也會依照此脈絡給大家介紹。話不多說,上圖?。榱孙@得不那么有產品味道,通俗易懂,我將其簡化了很多)

一般而言,干劈流程是沒啥味道的,所以我們就帶著例子進去走一遍,差不多就了解了,先聲明一下,我說的不一定對,切勿盲從。

我們先從漢語開始,關鍵詞為“男士的印花T恤”

首先會進入預處理環節,此環節會將該關鍵詞的無用部分進行去除,比如停用詞。其中“的”就是我們要砍掉的部分,其實在預處理階段還會有剔除一些左右兩邊無用的空格等,那么如何確定停用詞呢,在漢語里面任何詞可能都有用,但是在特定的語言環境下,許多的詞組就成為了停用詞,比如淫穢詞,極限敏感詞(參考廣告法)等。

經過預處理環節之后,進入智能糾錯或者人工改寫環節,需要判斷這個關鍵詞是否有錯別字(算法/人工詞庫),是否命中人工改寫的詞庫(暴君功能)。

經過這一環節處理后,進入到語種識別環節,國內電商也是支持英語環境的,此時會對該關鍵詞進行語種識別,確認該詞應該在哪種語言環境里搜索,有的電商是沒有這個環節的,因為確實沒有必要。對于出口型跨境電商而言就顯得很有必要,像速賣通,蝦皮,亞馬遜等。

此時進入詞性還原階段,詞性還原顧名思義,針對英語就是單復數還原,時態還原,詞干提取等,對于漢語而言則是識別其中關鍵詞主干,男士印花T恤(預處理已經把“的”給去掉了),整個詞都是主干。

隨后進入分詞階段,此時分詞系統會對“男士印花T恤”進行分詞,一般而言漢語會進行n-gram多粒度分詞。分詞結果如下:男/士/印/花/t/恤/男士/印花/T恤/男士印花/印花T恤/男士T恤/。

對于上面的ngram不了解的也沒關系,后續專門的算法章節會講到。對于一些音型文字比如英語,法語,印尼語等使用的空格分詞法,就是按照關鍵詞之間的空格比如 “women dress”分詞結果則直接從空格處進行切詞。

為啥和漢語不同呢,其實英語也有多粒度切詞,和漢語的切詞方式都是基于詞典里的詞組合理性進行的,但是漢語與音型語言有著些許區別。

這里延展一下:音型語言與結構形語言在語言含義上有著兩種決然不同的含義容量與精度。即單詞含義容量單個單詞語言含義表達范圍;精度:單個單詞語言精準描述的范圍值,范圍值越小精度值越高。

結構形語言的起源來自于象形文字,即以物品的形狀來結構文字,排除文學性的表達,基本的文字的表達內容需要多個單詞組成完整精確的意義,單個文字的含義容量廣泛,缺乏精度。

音型語言文字起源于對于字母拼接,較少的字母組合形成字根,用以作為語言延伸的基礎。通過較少的字根來擴展獲得更多的語義詞匯,以此作為層級來拓展詞匯分支。由詞根變化向外擴展,變形越小含義越接近詞根,變形越大含義越遠離詞根

因此得出個假設結論

  • 音型文字:音型文字單詞含義容量范圍較低,精度值高;
  • 漢語:象形結構形文字,單詞含義容量范圍高,精度值低。

漢語搜索采用多粒度詞組切詞的分詞方式很大程度上是基于漢語搜索的單詞含義容量較大造成精度不準,所以需要用多個單字組成詞來確認搜索詞的具體含義。

我們來體驗一下:

  • query(漢語):男士印花T恤。切詞:男/士/印/花/t/恤/男士/印花/T恤/男士印花/印花T恤/男士T恤/;
  • query(英語):Men Print T-Shirt? 切詞:?men/print/t-shirt/men t-shirt/print t-shirt/。

兩者的原理都大致相同,額外的說這些,只是想讓大家明白不同語言之間分詞是有些許差異的,并不能“一招鮮吃遍天”。

接下來經過分詞之后,系統進入到同義詞擴展環節,詞典以及人工維護的同義詞詞庫用來擴展分詞之后的關鍵詞,具體例子,印花與印染為同義詞,男士與男生和男人是同義詞,那么這些同義詞將一道加入該分詞進入匹配召回環節。

進入匹配召回階段,那么先看下這張圖,同樣我偷懶也用我前同事的ppt截圖作為展示,他這萬年不變的例子截圖我都看膩了,你們將就下看吧? ?相信你們一看就能明白,使用的是全詞匹配召回。

什么意思?

男士印花T恤的分詞結果,同一粒度下需要全部與商品名稱或者屬性描述匹配才能將該商品召回,少一個匹配補上也不行。

而且多詞粒度的權重>單詞粒度的權重,也就是說詞組匹配要優先于單詞匹配。

當詞組沒有匹配時,再去匹配單詞,當然漢語匹配單詞是沒有什么意義的,一般漢語基本上匹配詞組。(我漢語分詞的例子有些不是很恰當)

匹配召回結束后進入到“點人頭”環節,也叫確認商品是否是“無結果”還是“少結果”無結果就是這個關鍵詞搜不到商品,少結果表示這個關鍵詞搜到小于等于8個產品,有的電商將少結果定為4個 或者12個以內,反正大家知道這個意思就行。

在點完人頭之后,進入到大范圍的排序階段,類目排序。

我們將這一環節叫類目預測,將與該關鍵詞最相關的類目放在最前面(需要知道的是,這些類目的商品集合也是要與關鍵詞全詞匹配的。不是指所有類目的商品都會被放在前面)。

類目預測一般通過算法進行,人工干預進行補足。此時也確認了篩選項參數的顯示范圍(即該類目下的參數),頂部分類也會在此時確認是否激發展示。

類目預測結束后,開始進行商品排序,預測的類目與非預測的類目分開排序。排序的算法多種多樣,基于用戶行為數據,商品綜合得分算法進行排序。進而經過網觀渲染之后,就是我們看到的搜索結果頁啦,

你瞧,簡單吧,今天就先到這。

預告下一章內容:站內搜索類目預測的全面解析

#專欄作家#

作者:王歡,微信:wanghuan314400,運營小灰一枚。

本文由 @王歡 原創發布于人人都是產品經理,未經許可,不得轉載。

題圖來自Unsplash,基于CC0協議

更多精彩內容,請關注人人都是產品經理微信公眾號或下載App
評論
評論請登錄
  1. 大佬,請問停用詞,關鍵詞提取,分詞這些都是在query前代碼里處理嗎?還是在建索引時設置,如果在代碼里處理,就要在項目里引入詞庫什么的,會不會很麻煩?

    回復
  2. 回復