功能設計之搜索背后的邏輯處理
搜索應該是我們日常使用最多的一項功能了。在產品設計中,搜索也是非常重要的,但其邏輯又相對比較復雜。這篇文章,作者帶我們來梳理一下搜索的產品邏輯。
搜索場景無處不在,主要包括搜索引擎的搜索、平臺商品搜索、平臺文章搜索,還有一些數據庫的簡單搜索。但萬變不離其宗,接下來主要介紹一下以商品/文章類搜索等為主的搜索流程及細節。
一、搜索流程
二、搜索入口
移動端的搜索入口常見于以下4種模式
1、位于底部導航欄
適用于搜索需求極高或者搜索是核心流量入口的產品,如微博、花瓣等
2、位于頁面頂部
適用于搜索是重要流量入口的產品,如淘寶、知乎等。并會通過頻繁變化的占位詞引導搜索
3、放大鏡搜索圖標
適用于當前頁搜索功能并非高頻操作的頁面,將頂部、底部導航欄等位置讓渡給更重要的功能,搜索功能弱化為icon圖標,如知乎的關注頁、招行的財富頁等
4、隱藏式搜索入口
不常用。目前僅在手機系統交互中出現,比如iPhone的下拉搜索
三、搜索方式
常見的搜索方式主要包括文本搜索、語音搜索、掃碼搜索、拍照搜索
為了提高搜索的便捷性和轉化率,又衍生出歷史搜索、猜你想搜、熱門搜索、鏈接搜索、復制搜索等
四、分析器
用戶輸錯了怎么辦?用戶輸入的這個關鍵詞究竟是什么含義?分析器的作用就是對用戶輸入的關鍵詞進行預處理、語義解析,實現對關鍵詞的聯想和優化系統對用戶輸入內容的理解。
1、預處理
1)長度截斷:為了避免超長字符對分詞搜索的壓力,一般會限制關鍵詞的字數,比如百度搜索控制在38個漢字以內
2)移除無意義字符:包括emoji、特殊符號、顏文字等
3)格式轉換:包括大小寫轉換、繁簡體轉換、全角半角轉換等
2、語義解析
1)分詞:根據分詞詞庫將關鍵詞進行拆分,如果輸入的是詞庫未收錄的關鍵詞,可能就無法檢索到關鍵內容了(除非完全拆成單字)
2)糾錯:根據糾錯詞對用戶輸入的可能錯誤的關鍵詞進行糾正,主要包括以下兩種
① Non-word-Error:不存在數據庫的錯誤字符
- 數字錯誤:2202→2022
- 英文錯誤:fght→fight
- 拼音錯誤:ping’pag→乒乓
- 首字母簡拼:cpjl→產品經理
- 混合錯誤:cha品ji理→產品經理
② Real-word-Error:由多個漢字組成的錯誤語句(拼寫正確,但結合上下文語境表意錯誤)
- 漏字:產品理→產品經理
- 多字:產品經理理→產品經理
- 顛倒:經理產品→產品經理
- 同諧音:產品經歷→產品經理
- 模糊音:產品盡力→產品經理
- 形近字:產品經哩→產品經理
當然,具體的糾錯效果跟糾錯詞的可信度有關,可信度高時,會直接使用糾錯詞查詢(提供原詞備選),可信度低時,還是會使用原詞查詢
3)拼音轉文字:比如將“kangshifu方便面”轉換成“康師傅方便面”
4)歸一:中文中很多詞的含義是一致的,因此會通過近義詞詞庫將不同的輸入理解成相同的含義,比如“價格”、“售價”、“多少錢”等表達的都是價格的含義
5)停止詞過濾:比如會將非法詞、敏感詞、指定的無意義詞匯過濾掉
6)聯想:調用關鍵詞統計接口,實時獲取排名靠前的數據。具體的query候選集的生成策略還會受用戶歷史記錄、熱搜記錄和運營人工干預的影響,以便幫助用戶盡快找到他們想要的內容
7)實體識別:借助實體詞庫,對輸入的關鍵詞進行實體含義的分析,比如將【康師傅紅燒牛肉面】解析為【Brand:康師傅;Taste:紅燒;SPU &CATEGORY:方便面】。當然,不同行業不同領域都會有自己的詞庫,差別比較大,因此詞庫一般都是不互通的
8)跳轉規則匹配:比如輸入到某個特定關鍵詞時,跳轉到特定的頁面,比如某品牌的官網等等,且通常這種跳轉是有時效限制的
五、召回
召回指的是將解析后的關鍵詞與數據庫文檔進行匹配的過程。這個過程需要用到后端的倒排索引技術(構建單詞與文檔的關聯關系)。一般來說,倒排索引建設得越合理,查詢效率就越高。
六、排序
同樣是在商城中搜索“水”,你覺得以下哪種排序更好?
結論:
- 左圖:好,大眾熟知的產品排在最前面。
- 中圖:中,小眾產品排在最前面。
- 右圖:差,將僅包含“水”的汽水、爽膚水等排在前面。
下面以電商為例進行排序策略的介紹
1、粗排
考慮召回結果與query之間的相關性,并按照相關性模型進行打分,最終根據相關性從高到低排序。如果兩個召回結果的得分一致,則按ES索引自行排序,因此每次搜索結果都有可能不同。
2、精排
在粗排基礎上,考慮銷量、收藏、點擊、加購、促銷等業務因素對排序的影響。
比如銷量收藏高的靠前,比如最近門店正在跟某個品牌搞合作,則這個品牌靠前等等。
但是,這些因素要怎么量化呢?比如銷量,不同商品之間無法直接比較個數,統計周期、門店等等也會對統計造成影響。所以這里就需要引入一個歸一化公式,計算出一個業務因素的調整系數。比如初始銷量是50,系數是0.5,那么最終得分是25分。再將此分數與相關性得分相加,得到最終的綜合得分。
歸一化公式參考:(商品訂單數 — 門店最少的商品訂單數 )/ (門店最高的商品訂單數 — 門店最少的商品訂單數 )
3、排序模型
粗排和精排都是建立在“業務規則”的基礎上,利用的是專家對市場的了解;而排序模型則是利用機器學習、深度學習等技術構造千人千面的模型。不過這種方式只適用于用戶數據量比較大的平臺。
七、結果呈現
1、搜索結果的清晰呈現
2、個性化設計
作者:D.lemon,公眾號:檸檬的產品小記
本文由 @D.lemon 原創發布于人人都是產品經理。未經許可,禁止轉載。
題圖來自Unsplash,基于CC0協議。
該文觀點僅代表作者本人,人人都是產品經理平臺僅提供信息存儲空間服務。
感謝檸檬姐,非常好的干貨
很棒!挖掘的很深度 關注了
贊個,學習了
很棒的文章,言簡意賅的概述了搜索產品背后的邏輯,點贊