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

0 評論 7704 瀏覽 29 收藏 13 分鐘

本文為大家簡要介紹了電商算法的形成過程,并將搜索算法分為了分詞算法、類目預測算法、商品排序算法、個性化千人千面四個部分進行介紹。

其實在電商站內搜索領域,其核心的機密基本上就屬于排序算法范圍內了。我在上一章節中夸下??谡f要給大家嘮一嘮電商算法的形成的過程,其實是有點心虛的,因為我壓根不是算法出身,也無法給大家講解什么拉格朗日公式的原理,貝葉斯的變形公式等。但是我能給大家解釋一下這些算法的形成過程,以及在形成過程中運營和產品是如何配合的,以及如何運用一個現成的方案,開發出一套高時間性價比的搜索產品體系。

電商站內搜索其實是以算法為核心,運營為輔助的模塊。說到底,如果搜不準,搜不全,運營的再好也只是空中樓閣,因此我們先講一講算法體系,再講運營方式。

那如果是我,如何從0起步建立起一套經濟實惠,省時省力的搜索邏輯體系(也有可能是我閉門造車,所以謹慎采納,不喜請誠懇地指正)。

說句題外話: 算法聽上去高大上,其實通俗地講,就是解決問題的方法,即便是計算公式再高大上,技術理念再先進,如果解決不了問題,一樣不能叫算法。

其次很多人以為算法其實應該是純計算機來解決,其實這是一種誤解,不可否認,計算機自動化確實是在算法中占舉足輕重的地位,但是算法不僅僅是計算機,還有人工積累的比重,且不可或缺。

因此搜索算法也一樣,離開了人工輔助,算法什么問題都解決不了。好了說正經的,搜索算法主要分為以下幾個核心:

  1. 分詞算法
  2. 類目預測算法(解決準不準的基礎)
  3. 商品排序算法(電商核心機密)
  4. 個性化千人千面(電商數據提升機密)

分詞算法

我們先來了解下分詞算法:目前國內有專門的漢語分詞第三方分詞接口,且功能完善,成本低廉,能夠進行詞干提取,語義分析,甚至情感判斷等。算法方面也是百花齊放,各有優劣,目前有三大主流分詞方法:基于字符串匹配的分詞方法基于理解的分詞方法基于統計的分詞方法。

基于字符串匹配的分詞方法

又稱為機械分詞方法,它需要有一個初始的充分大的詞典,然后將待分詞的字符串與詞典中的元素進行匹配,若能成功匹配,則將該詞切分出來。

按掃描方向的不同,字符串匹配分詞方法可以分為正相匹配和逆向匹配;按照不同長度的匹配優先度可以劃分為最大匹配和最小匹配(細節我就不在這說了,這種分詞方式是屬于最為簡單分詞方式,可以自行百度其工作邏輯和流程).

基于理解的分詞方法

這個就有點技術含量,國內的主要搜索大廠,比如百度、字節跳動等都在開發帶有人工智能模塊的搜索算法。其基本思想就是在分詞的同時進行句法、語義分析,利用句法信息和語義信息來處理歧義現象。它通常包括三個部分:分詞子系統、句法語義子系統、總控部分。

由于漢語語言知識的籠統、復雜性,難以將各種語言信息組織成機器可直接讀取的形式,因此目前基于理解的分詞系統還處在驗證和試用型階段。

基于統計的分詞方法

即每個字都是詞的最小單元,如果相連的字在不同的文本中出現的頻率越多,這就越有可能是一個詞。因此我們可以用相鄰字出現的頻率來衡量組詞的可能性,當頻率高于某個閾值時,我們可以認為這些字可能會構成一個詞。

主要統計模型: N元文法模型(N-gram),隱馬爾可夫模型(Hidden Markov Model,HMM),最大熵模型(ME),條件隨機場(Conditional Random Fields,CRF)等。

優勢:在實際運用中常常將字符串匹配分詞和統計分詞結合使用,這樣既體現了匹配分詞速度快、效率高的優點,同時又能運用統計分詞識別生詞、自動消除歧義等方面的特點。

基于統計的分詞方式&類目預測

我們著重了解一下第三種,基于統計的分詞方式&類目預測。如果說有什么算法是基于統計的,那么這個算法肯定需要一個訓練集,而且這個訓練集需要是正確的,人為校驗的。

因此我們所說的這種算法,則是在人工標注的訓練集上訓練而成的。因此我們接下來將要討論的算法是——類目預測訓練集。

目前從訓練集上來看,收集的方式主要有兩種,第一種是人工中心詞收集,第二種則是機器分析與訓練。

人工中心詞收集

這個方案其實是比較討巧的,基于規范的詞典詞語來進行收集,主要收集物品詞&品牌詞。

之所以要選定物品和品牌詞收集還是基于上一章提過的app購物行為假設,即用戶在購物app中始終是以搜索物品或者品牌的型號/物品為最終目的。

如果用戶進入app不進行物品詞或者品牌詞搜索,這個用戶對該app而言的價值顯然會大打折扣,也許有的人會說,每天搜索的人那么多,保不齊會有人搜索比較范范的詞,那不算嗎。其實是算的,但是我們現在講得是基于統計概率來說,如果95%的人都搜索物品和品牌,那么你現在糾結5%的人不是這樣的情況顯然是沒有意義的。還是那句話,越是想兩全,越是兩遍都不全。好了,言歸正傳。收集的流程如下圖:

道理很簡單,即通過收集站內每個類目所售賣的物品,同時通過拓展這些物品詞的同義詞和上下位詞,來對應這些類目。同時機器也可以通過算法來進行收集,對所有商品標題進行ngram統計切分,統計出每個類目出現頻率最多的詞和詞組等,與人工收集的相對照進行檢驗和補充。這樣我們就得到了一個物品詞-類目的對應表。一個簡單高效的訓練集就誕生了。

那么肯定有人會說“也不行啊,你光收集物品詞了,還有氛圍詞、人群詞呢?比如學校、工地、男士、女士你都不收集了,男士鞋子你怎么辦?”

當然不是,這個物品-類目詞的對應表訓練集只是個基礎。只有在保證訓練集非常準確且覆蓋面全的情況下,才能確保機器進行訓練,且即便我僅僅是打個基礎,也能比較正確的召回,你是不是忽略了全詞匹配的作用了?

在物品詞訓練集整理好之后。接下來可以開始對用戶關鍵詞開始分析了,即通過用戶輸入的關鍵詞統計點擊行為,描述這些點擊落在哪些類目的概率,并分析這些關鍵詞和訓練集中的物品/品牌型號詞的類目關系,進一步進行人工校對和遍歷。

這樣就得到了一個用戶行為和網站商品數據的合集訓練集,在經過人工校對后就形成了一個準確性好,覆蓋面高的訓練集。此時經過不斷的人工校對-機器訓練-再校對-再訓練的過程,直至想要達到的效果。一個類目預測算法就此誕生(以上你們看看就好,當我自嗨好了)。

機器訓練需要切實的關鍵詞進行離線訓練和離線評估,以及在線ab和數據評估。前者是自己在離線環境下,使用用戶輸入的關鍵詞進行訓練并離線人工評估準確度;后者則是將訓練好的模型上線,采用ab測的方式,開一部分小流量進行在線實戰測試,并通過收集測試組的數據指標評估和分析效果。這也是互聯網產品迭代最主要的測試方式之一。

類目預測的人工和機器算法相結合的算法大概就是這樣,其實還有其他便捷的途徑,就是邏輯沒有以上這個清晰,所以我就不單列出來了。

商品排序算法

基本的類目排序邏輯確定好之后,我們其實會發現,用戶的關鍵詞其實是一個巨大的行為數據寶庫,用戶從輸入關鍵詞那一刻起,從點擊商品,到收藏,到加入購物車,到購買行為等,都能透露出其購物偏好。

如何將這些行為有效的記錄并訓練起來也能對商品的排序準確性和購買率起著較大的影響,其實目前各大網站的推薦算法還是有一些問題的,比如我前幾天在淘寶上買了一臺電視,結果接下來的日子里我的首頁都充斥著各種電視的圖片,以及鏈接的外部DSP廣告也給我推送電視的信息(這就是侵犯個人隱私的大數據統計算法所為)。

商品排序算法的輪廓我已經在之前的章節提及,各種維度我就不再贅述,只說說這種排序權重計算規則的由來,一言以蔽之就是不斷調整每個維度權重的數值,并上線ab測試,以產出比最高的一組作為最終的算法排序規則。

當然這一規則和算法并不是恒定不變的,是隨著維度的不斷豐富和數據變化不停調整的。

個性化千人千面

現在各家網站都講求個性化千人千面,這也是我們看到京東、淘寶、蘇寧等電商首頁時,其個性化推薦模塊給你推薦你曾經看到過或者似曾相似的商品。并不是他們聰明了,而是你的行為被收集處理過了,展現給你的,就是你想看的,或者說想買的。(錢包也是這樣被掏空的)

好了,這期就到這吧。其實我有挺多關于人工和機器算法的結合的想法和嘗試,只不過在和工作中的同事交流時,因為各種原因未能付諸實踐,我將其保留在自己的OneNote筆記中。有機會分享給大家。

預告下一期內容:搜索運營溝通和產品如何配合,使搜索影響力最大化。

#專欄作家#

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

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

題圖來自Unsplash,基于CC0協議

更多精彩內容,請關注人人都是產品經理微信公眾號或下載App
評論
評論請登錄
  1. 目前還沒評論,等你發揮!