• 從輸入到輸出,帶你快速了解搜索全流程

    /2019-05-22 17:37:47/

  • \

    搜索功能作為產品設計中的基礎且重要的功能,已經伴隨著產品的發展歷經了數十年。筆者向我們分析了整個搜索的流程,并做了一個簡單的概述。

    第一部分:搜索功能是什么?

    通過用戶的輸入,從海量的數據中能夠找到與之匹配的信息的功能,稱之為搜索。

    搜索出生的原因是信息過載,只有大量的數據情況下,搜索才能發揮出應有的價值。假設整個世界只有10條新聞,你想知道標題中含有“中國”的新聞,掃一眼就知道結果了,搜索的功能反而雞肋。

    搜索功能是篩?。玆anking,根據用戶的輸入確定篩選條件,再根據一定的策略進行Ranking。隨著信息的爆炸性以及用戶人群的細分,隨之誕生了搜索千人千面,結果列表的來源不僅僅跟你的輸入相關,還會考慮用戶畫像,比如你最近的行為帶來的一些標簽。

    為什么需要千人千面?

    因為搜索所得的數據量實在是太大了,如果不同人群看到的結果都是一樣的,是極其沒有效率的。想象一下,一個輸入條件有10W 條結果,大多數人看到前三頁就極其困難了。

    這個時候,用戶要么選擇放棄搜索;要么選擇更精準條件的搜索。第二種方法對用戶不是很友好,原因在于用戶如何確定真實的搜索意圖,不知道該輸入什么,無法表述等等。倘若機器可以根據用戶的歷史進行預測推薦,那么用戶的體驗會有極大的提升。

    第二部分:搜索流程

    下圖是搜索的流程圖,虛線框中的主要是偏后臺的工作,需要產品經理有適當的技術積累;剩余部分是會和產品、前端有交互的部分,需要產品經理進行產品設計。

    接下來我們就一個個地講:

    \

    第一節:功能確認

    第一步:需要確認是否需要該功能【做不做?】

    請大家回頭看下搜索之所以產生的原因——信息過載,在這里其實就已經隱含了哪些產品需要有搜索功能?;氐悖盒畔?。

    因此,但凡涉及到有信息度的,數據量較大的,則可以有搜索功能。比如看視頻,視頻有發布者、視頻名稱、參演人等等;比如商品,有風格、有品牌、有類型等等;再比如新聞網站,信息量更直觀些,也是可以有搜索功能的。

    那么哪些產品不需要有呢?常見的是工具屬性偏強,主操作信息量較少的產品,比如鬧鐘、拍照類的產品。

    第二步:確認重要性【入口確定、資源確定等】

    非常重要: 數據量過大,用戶目的相對明確,有某一主題或者更具體的要求,搜索可以極大的提高用戶體驗,比如:搜索引擎、電商網站。

    次級重要: 用戶隨意性較高,并無較強的目的性,比如:新聞資訊類網站,該部分實效性的要求遠高于搜索。

    第三步:確認目的【搜索形式、搜索算法】

    分析用戶使用搜索的目的是什么,對結果的定義是什么。

    總結出這幾點:決定,搜索的輸入(類型)、形式以及輸出(主準確?主召回?)。

    在這里,再簡單給大家介紹一下準確和召回的含義:

    下圖中的0,1分別代表否、是:Actual是實際情況中的數據,Predict是機器預測的數據。

    準確率=在所有的數據中,機器預測正確的占比;換句話說,對所有數據來說,機器對了多少?

    召回率=在所有準確的數據中,機器預測正確的占比;換句話說,對應該對的數據來說,機器找到了多少個對的?

    \

    第二節:輸入

    輸入的類型:文本、語音、圖片、二維碼等等,由于不同的輸入內容,我們對信息的解析,以及后續檢索排序都有不同的方法,本文主要講基于文本(自然語言處理NLP)相關的內容。

    其他的我們這邊簡單講講:

    如果用戶輸入是語音的話,那么第一步需要將語音轉化為文本語言,然后繼續走NLP相關的路徑。

    如果用戶輸入時圖片,那么需要對圖片提取特征,理解并進行搜索。如果是二維碼的話,直接跳轉到頁面,或者直接給結果即可。

    輸入優化

    在用戶進行輸入的時候,為了方便用戶的收入,或者明確用戶的搜索意圖,我們可以采用以下方法,這些方法可根據實際的產品形態,選擇適合自己的。每個方法帶來的效果,相信大家都能自己領悟,我們這里不做詳細說明。

    • 搜索框內展示搜索格式內容的幫助;
    • 提供搜索建議(自動填充可能搜索的內容);
    • 將部分詳情展示出來(多用于電商類產品);
    • 自動糾錯;
    • 有搜索結果的相似詞;
    • 熱門搜索詞語;
    • 基于該用戶推薦的詞語。

    第三節:意圖識別

    判斷類型

    • 結果型,搜索的內容有明確的結果的,比如:愛因斯坦出生于什么時候?
    • 段落型,搜索的結果需要用大段文字來表述,比如:人工智能是什么?
    • 展示型,搜索的結果是一些信息的展示,比如商品,職位……

    判斷意圖

    意圖通常與知識圖譜,或者說字典交相輝映。

    字典一般包含:詞干化,停用詞,同義詞,一詞多義,上下位詞語,這些內容。

    其中,詞干化常常出現在英文的信息中,中文中不太常見;停用詞是指詞語沒有明確含義,比如:了,呢;同義詞,比如:自然語言處理與NLP;一詞多義,比如:蘋果【公司/一種水果】;上下位詞,比如互聯網是互聯網游戲的上位詞。

    那么字典是用來干嘛的呢,用最通俗的理解就是撞詞,如果這個詞出現在詞表中的,那么這個詞所代表的意義就被我們所知道(更厲害一點的就是知識圖譜了,這個詞的屬性,與其他詞的關系都可以知道,知識圖譜我們之后再講)。

    通過對詞語的理解,我們可以去進行信息檢索和排序。當然實際應用中,它不僅僅是撞詞那么簡單,有更多更深的算法來提高對意圖識別的準確度。

    第四節:檢索和排序

    檢索
    基于向量的信息檢索中,標準的做法:余弦相似度,通過計算兩個向量的余弦來確定兩個文本的相似度。

    結果型

    該這種類型的問題,一般是依靠知識圖譜來查詢相關的結果的,這部分的內容我們在知識圖譜中再詳細講。

    段落型

    根據用戶的輸入,通過查找文檔–>查找段落–>根據需求決定是否需要段落摘要

    最簡單的段落摘要,就是高亮,將命中的前后多少字作為段落摘要的內容,復雜點,可以通過AI來自動生成一些段落摘要。

    展示型:確定搜索范圍,進行搜索。

    排序

    排序在整個流程中,分為兩種:一種是算法排序,在進行信息篩選的時候,算法已經給了每個結果的數值;第二種是人工干預排序,主要展示在頁面中的排序。

    算法的排序結果是機器給的,不同產品時期,算法功力都會對排序產生影響。作為PM,可以把希望的結果以及一些bad case給到,來進行算法的優化。

    頁面中的排序,主要是PM根據需求來定的,通過對業務的了解、用戶需求的把握,篩選出合理的排序條件。

    第五節:輸出

    有結果:

    在有結果的情況下,作為PM,只需要定義好輸出字段即可。目前展示的形式有3種類型:

    (1)卡片展示:

    • 卡片適合每塊信息量較少的情況;
    • 整體來看,卡片的展示數量較列表來說是多的。
    • 在卡片中,用戶操作不宜過多。

    (2)列表展示:

    • 由于列表占用空間較多,因此如果有更多的操作或者信息的展示,可以列表來展示;
    • 整體來看,展示數量少于卡片的展示。

    (3)個性展示:比如地圖找房

    無結果:

    最簡單直觀做法:展示沒有任何結果頁面,再加上提示“抱歉沒有您要搜索的內容,請換個詞語試試看”。

    整個流程優化的做法:

    1. 預防:防止無結果的情況發生

    可采用的方法:

    • 搜索框內展示搜索格式內容的幫助;
    • 提供搜索建議(自動填充可能搜索的內容);
    • 更好的理解用戶的輸入,建立自己的字典(停用詞、同義詞等,詳見意圖識別部分);
    • 將部分詳情展示出來(多用于電商類產品)。

    2. 恢復:在無結果的情況下,幫助用戶回到正軌。

    可采用的方法:

    • 自動糾錯;
    • 提示有搜索結果的相似詞;
    • 幫助文檔,應當如何搜索。

    變通:將錯誤變成新的機會。

    可采用的方法:

    • 展示類似的結果;
    • 熱門搜索詞語;
    • 基于該用戶推薦的詞語;
    • 提供用戶反??;
    • 允許用戶貢獻內容(常見UGC產品);
    • 當有內容時告知用戶(常見于實效性不強且用戶在某方面敏感型的產品,比如地產類、機票低價提醒)

    第六節:結果優化【產品層】

    我們講,在搜索的時候,假如結果不如意,如何讓用戶繼續留在頁面上,并找到自己想要的結果。

    篩選

    篩選是一個有力的交互過程,意味著用戶的需求明確,要求的結果更加精準。我們最怕的是用戶不知道自己要什么,因此我們在設計的時,希望通過一系列的小功能,比如篩選比如提示,來讓用戶明確自己的需求。

    通用辦法:可以通過Tab鍵切換,或者篩選框來對結果進行一個初步篩選。

    Pinterest的篩?。赫飧鑫沂竅氳ザ瀾步駁?,這真的是我很喜歡的一個設計。當你輸入查詢條件后,會自動彈出你的輸入+另外一個組合詞,真的是比普通的篩選牛了很多。

    • 頁面比其他頁面就篩選而言,空間占用更少,更多的留給信息展示。
    • 組合詞比結構化的篩選更多,有些詞是用戶更常用更多搜索的,但比較難歸類到某個類別進行展示。
    • 組合詞的更新可以在后臺完成,不需要對頁面做過多更改。

    當然,你也可以說,在輸入時直接自動出來讓用戶選擇,這個當然也沒啥問題。面對一些未知數量且模糊的搜索時,用戶的輸入會先從大到小,Pinterest的做法相當于結果——反饋——新的結果,不斷循環,對用戶的感知更順暢更友好,且用戶本身對事物的掌控也一直沒有被削弱。

    輸入輸出改進

    詳情參照上文第二節:輸入;第四節:輸出-無結果-整個流程優化的做法。

    第七節:結果評估&優化【數據算法層】

    我們講,在搜索的時候,假如結果不如意,如何讓用戶繼續留在頁面上,并找到自己想要的結果。

    分析輸入,了解用戶

    我們可以通過分析入口,分析Query,并結合用戶畫像、用戶分類,進行輸入分析,了解用戶在我們的產品上,輸入較多的是哪些類別、哪些內容。接下來的算法策略就可以根據這部分進行一些參考。

    評估輸出,優化算法

    常用評估輸出的辦法有3種:

    • 通過業務指標來評估,比如CTR、業務指標的轉化率等。
    • 通過A/B testing來做不同算法間的比較。
    • 通過人工來評估。

    由于A/B testing需要耗費的技術資源較多,大家可以根據自己公司的進度以及資源程度決定是否要做;剩下兩個是建議一起做。業務指標來看總的效果,人工評估來發現一些明顯的典型case。

    結束語

    由于時間關系,我們這次的文章中,主要對整個搜索的流程有了一個簡單的概述,至于里面的細節,大家可以參考其他文檔來做知識的補充?;隊蠹乙黃鹛教?。

    備注:關于第四節:輸出-無結果-整個流程優化的做法,我是參考woshipm上一位朋友寫的。由于時間久遠,沒有找到鏈接,如果大家有誰知道的,可以把鏈接貼到評論中。

<
上一篇: Material Design 深色主題設計組件規范 下一篇: 清理“格式化”,轉變你的思維

聯系我們

一個新的需求,從這里開始?;隊钚幢碭窕蚍⑺禿獻饔始粒? [email protected] [email protected] 加微信: 13765801787

13765801787
在線留言
5分快三精准计划网址 重庆时时开彩结果记录 pk10免费永久计划软件 2017北京pk10直播视频 广东11选5技巧稳赚公式 快三人工计划三期必中全开 欢乐生肖开奖网址 合乐888计划软件 新疆时时截止 超级赛车计划公式 四川时时诈骗案例 pk10最牛稳赚单双 排九牌大小顺序口诀 分分彩混买方法稳赚 21点技巧16点碰到17点 3d彩票计划软件