從輸入到輸出,帶你快速了解搜索全流程
搜索功能作為產(chǎn)品設(shè)計(jì)中的基礎(chǔ)且重要的功能,已經(jīng)伴隨著產(chǎn)品的發(fā)展歷經(jīng)了數(shù)十年。筆者向我們分析了整個(gè)搜索的流程,并做了一個(gè)簡(jiǎn)單的概述。
第一部分:搜索功能是什么?
通過(guò)用戶的輸入,從海量的數(shù)據(jù)中能夠找到與之匹配的信息的功能,稱之為搜索。
搜索出生的原因是信息過(guò)載,只有大量的數(shù)據(jù)情況下,搜索才能發(fā)揮出應(yīng)有的價(jià)值。假設(shè)整個(gè)世界只有10條新聞,你想知道標(biāo)題中含有“中國(guó)”的新聞,掃一眼就知道結(jié)果了,搜索的功能反而雞肋。
搜索功能是篩選+Ranking,根據(jù)用戶的輸入確定篩選條件,再根據(jù)一定的策略進(jìn)行Ranking。隨著信息的爆炸性以及用戶人群的細(xì)分,隨之誕生了搜索千人千面,結(jié)果列表的來(lái)源不僅僅跟你的輸入相關(guān),還會(huì)考慮用戶畫像,比如你最近的行為帶來(lái)的一些標(biāo)簽。
為什么需要千人千面?
因?yàn)樗阉魉玫臄?shù)據(jù)量實(shí)在是太大了,如果不同人群看到的結(jié)果都是一樣的,是極其沒(méi)有效率的。想象一下,一個(gè)輸入條件有10W 條結(jié)果,大多數(shù)人看到前三頁(yè)就極其困難了。
這個(gè)時(shí)候,用戶要么選擇放棄搜索;要么選擇更精準(zhǔn)條件的搜索。第二種方法對(duì)用戶不是很友好,原因在于用戶如何確定真實(shí)的搜索意圖,不知道該輸入什么,無(wú)法表述等等。倘若機(jī)器可以根據(jù)用戶的歷史進(jìn)行預(yù)測(cè)推薦,那么用戶的體驗(yàn)會(huì)有極大的提升。
第二部分:搜索流程
下圖是搜索的流程圖,虛線框中的主要是偏后臺(tái)的工作,需要產(chǎn)品經(jīng)理有適當(dāng)?shù)募夹g(shù)積累;剩余部分是會(huì)和產(chǎn)品、前端有交互的部分,需要產(chǎn)品經(jīng)理進(jìn)行產(chǎn)品設(shè)計(jì)。
接下來(lái)我們就一個(gè)個(gè)地講:
第一節(jié):功能確認(rèn)
第一步:需要確認(rèn)是否需要該功能【做不做?】
請(qǐng)大家回頭看下搜索之所以產(chǎn)生的原因——信息過(guò)載,在這里其實(shí)就已經(jīng)隱含了哪些產(chǎn)品需要有搜索功能。劃重點(diǎn):信息。
因此,但凡涉及到有信息度的,數(shù)據(jù)量較大的,則可以有搜索功能。比如看視頻,視頻有發(fā)布者、視頻名稱、參演人等等;比如商品,有風(fēng)格、有品牌、有類型等等;再比如新聞網(wǎng)站,信息量更直觀些,也是可以有搜索功能的。
那么哪些產(chǎn)品不需要有呢?常見(jiàn)的是工具屬性偏強(qiáng),主操作信息量較少的產(chǎn)品,比如鬧鐘、拍照類的產(chǎn)品。
第二步:確認(rèn)重要性【入口確定、資源確定等】
非常重要: 數(shù)據(jù)量過(guò)大,用戶目的相對(duì)明確,有某一主題或者更具體的要求,搜索可以極大的提高用戶體驗(yàn),比如:搜索引擎、電商網(wǎng)站。
次級(jí)重要: 用戶隨意性較高,并無(wú)較強(qiáng)的目的性,比如:新聞資訊類網(wǎng)站,該部分實(shí)效性的要求遠(yuǎn)高于搜索。
第三步:確認(rèn)目的【搜索形式、搜索算法】
分析用戶使用搜索的目的是什么,對(duì)結(jié)果的定義是什么。
總結(jié)出這幾點(diǎn):決定,搜索的輸入(類型)、形式以及輸出(主準(zhǔn)確?主召回?)。
在這里,再簡(jiǎn)單給大家介紹一下準(zhǔn)確和召回的含義:
下圖中的0,1分別代表否、是:Actual是實(shí)際情況中的數(shù)據(jù),Predict是機(jī)器預(yù)測(cè)的數(shù)據(jù)。
準(zhǔn)確率=在所有的數(shù)據(jù)中,機(jī)器預(yù)測(cè)正確的占比;換句話說(shuō),對(duì)所有數(shù)據(jù)來(lái)說(shuō),機(jī)器對(duì)了多少?
召回率=在所有準(zhǔn)確的數(shù)據(jù)中,機(jī)器預(yù)測(cè)正確的占比;換句話說(shuō),對(duì)應(yīng)該對(duì)的數(shù)據(jù)來(lái)說(shuō),機(jī)器找到了多少個(gè)對(duì)的?
第二節(jié):輸入
輸入的類型:文本、語(yǔ)音、圖片、二維碼等等,由于不同的輸入內(nèi)容,我們對(duì)信息的解析,以及后續(xù)檢索排序都有不同的方法,本文主要講基于文本(自然語(yǔ)言處理NLP)相關(guān)的內(nèi)容。
其他的我們這邊簡(jiǎn)單講講:
如果用戶輸入是語(yǔ)音的話,那么第一步需要將語(yǔ)音轉(zhuǎn)化為文本語(yǔ)言,然后繼續(xù)走NLP相關(guān)的路徑。
如果用戶輸入時(shí)圖片,那么需要對(duì)圖片提取特征,理解并進(jìn)行搜索。如果是二維碼的話,直接跳轉(zhuǎn)到頁(yè)面,或者直接給結(jié)果即可。
輸入優(yōu)化
在用戶進(jìn)行輸入的時(shí)候,為了方便用戶的收入,或者明確用戶的搜索意圖,我們可以采用以下方法,這些方法可根據(jù)實(shí)際的產(chǎn)品形態(tài),選擇適合自己的。每個(gè)方法帶來(lái)的效果,相信大家都能自己領(lǐng)悟,我們這里不做詳細(xì)說(shuō)明。
- 搜索框內(nèi)展示搜索格式內(nèi)容的幫助;
- 提供搜索建議(自動(dòng)填充可能搜索的內(nèi)容);
- 將部分詳情展示出來(lái)(多用于電商類產(chǎn)品);
- 自動(dòng)糾錯(cuò);
- 有搜索結(jié)果的相似詞;
- 熱門搜索詞語(yǔ);
- 基于該用戶推薦的詞語(yǔ)。
第三節(jié):意圖識(shí)別
判斷類型
- 結(jié)果型,搜索的內(nèi)容有明確的結(jié)果的,比如:愛(ài)因斯坦出生于什么時(shí)候?
- 段落型,搜索的結(jié)果需要用大段文字來(lái)表述,比如:人工智能是什么?
- 展示型,搜索的結(jié)果是一些信息的展示,比如商品,職位……
判斷意圖
意圖通常與知識(shí)圖譜,或者說(shuō)字典交相輝映。
字典一般包含:詞干化,停用詞,同義詞,一詞多義,上下位詞語(yǔ),這些內(nèi)容。
其中,詞干化常常出現(xiàn)在英文的信息中,中文中不太常見(jiàn);停用詞是指詞語(yǔ)沒(méi)有明確含義,比如:了,呢;同義詞,比如:自然語(yǔ)言處理與NLP;一詞多義,比如:蘋果【公司/一種水果】;上下位詞,比如互聯(lián)網(wǎng)是互聯(lián)網(wǎng)游戲的上位詞。
那么字典是用來(lái)干嘛的呢,用最通俗的理解就是撞詞,如果這個(gè)詞出現(xiàn)在詞表中的,那么這個(gè)詞所代表的意義就被我們所知道(更厲害一點(diǎn)的就是知識(shí)圖譜了,這個(gè)詞的屬性,與其他詞的關(guān)系都可以知道,知識(shí)圖譜我們之后再講)。
通過(guò)對(duì)詞語(yǔ)的理解,我們可以去進(jìn)行信息檢索和排序。當(dāng)然實(shí)際應(yīng)用中,它不僅僅是撞詞那么簡(jiǎn)單,有更多更深的算法來(lái)提高對(duì)意圖識(shí)別的準(zhǔn)確度。
第四節(jié):檢索和排序
檢索
基于向量的信息檢索中,標(biāo)準(zhǔn)的做法:余弦相似度,通過(guò)計(jì)算兩個(gè)向量的余弦來(lái)確定兩個(gè)文本的相似度。
結(jié)果型
該這種類型的問(wèn)題,一般是依靠知識(shí)圖譜來(lái)查詢相關(guān)的結(jié)果的,這部分的內(nèi)容我們?cè)谥R(shí)圖譜中再詳細(xì)講。
段落型
根據(jù)用戶的輸入,通過(guò)查找文檔–>查找段落–>根據(jù)需求決定是否需要段落摘要
最簡(jiǎn)單的段落摘要,就是高亮,將命中的前后多少字作為段落摘要的內(nèi)容,復(fù)雜點(diǎn),可以通過(guò)AI來(lái)自動(dòng)生成一些段落摘要。
展示型:確定搜索范圍,進(jìn)行搜索。
排序
排序在整個(gè)流程中,分為兩種:一種是算法排序,在進(jìn)行信息篩選的時(shí)候,算法已經(jīng)給了每個(gè)結(jié)果的數(shù)值;第二種是人工干預(yù)排序,主要展示在頁(yè)面中的排序。
算法的排序結(jié)果是機(jī)器給的,不同產(chǎn)品時(shí)期,算法功力都會(huì)對(duì)排序產(chǎn)生影響。作為PM,可以把希望的結(jié)果以及一些bad case給到,來(lái)進(jìn)行算法的優(yōu)化。
頁(yè)面中的排序,主要是PM根據(jù)需求來(lái)定的,通過(guò)對(duì)業(yè)務(wù)的了解、用戶需求的把握,篩選出合理的排序條件。
第五節(jié):輸出
有結(jié)果:
在有結(jié)果的情況下,作為PM,只需要定義好輸出字段即可。目前展示的形式有3種類型:
(1)卡片展示:
- 卡片適合每塊信息量較少的情況;
- 整體來(lái)看,卡片的展示數(shù)量較列表來(lái)說(shuō)是多的。
- 在卡片中,用戶操作不宜過(guò)多。
(2)列表展示:
- 由于列表占用空間較多,因此如果有更多的操作或者信息的展示,可以列表來(lái)展示;
- 整體來(lái)看,展示數(shù)量少于卡片的展示。
(3)個(gè)性展示:比如地圖找房
無(wú)結(jié)果:
最簡(jiǎn)單直觀做法:展示沒(méi)有任何結(jié)果頁(yè)面,再加上提示“抱歉沒(méi)有您要搜索的內(nèi)容,請(qǐng)換個(gè)詞語(yǔ)試試看”。
整個(gè)流程優(yōu)化的做法:
1. 預(yù)防:防止無(wú)結(jié)果的情況發(fā)生
可采用的方法:
- 搜索框內(nèi)展示搜索格式內(nèi)容的幫助;
- 提供搜索建議(自動(dòng)填充可能搜索的內(nèi)容);
- 更好的理解用戶的輸入,建立自己的字典(停用詞、同義詞等,詳見(jiàn)意圖識(shí)別部分);
- 將部分詳情展示出來(lái)(多用于電商類產(chǎn)品)。
2. 恢復(fù):在無(wú)結(jié)果的情況下,幫助用戶回到正軌。
可采用的方法:
- 自動(dòng)糾錯(cuò);
- 提示有搜索結(jié)果的相似詞;
- 幫助文檔,應(yīng)當(dāng)如何搜索。
變通:將錯(cuò)誤變成新的機(jī)會(huì)。
可采用的方法:
- 展示類似的結(jié)果;
- 熱門搜索詞語(yǔ);
- 基于該用戶推薦的詞語(yǔ);
- 提供用戶反饋;
- 允許用戶貢獻(xiàn)內(nèi)容(常見(jiàn)UGC產(chǎn)品);
- 當(dāng)有內(nèi)容時(shí)告知用戶(常見(jiàn)于實(shí)效性不強(qiáng)且用戶在某方面敏感型的產(chǎn)品,比如地產(chǎn)類、機(jī)票低價(jià)提醒)
第六節(jié):結(jié)果優(yōu)化【產(chǎn)品層】
我們講,在搜索的時(shí)候,假如結(jié)果不如意,如何讓用戶繼續(xù)留在頁(yè)面上,并找到自己想要的結(jié)果。
篩選
篩選是一個(gè)有力的交互過(guò)程,意味著用戶的需求明確,要求的結(jié)果更加精準(zhǔn)。我們最怕的是用戶不知道自己要什么,因此我們?cè)谠O(shè)計(jì)的時(shí),希望通過(guò)一系列的小功能,比如篩選比如提示,來(lái)讓用戶明確自己的需求。
通用辦法:可以通過(guò)Tab鍵切換,或者篩選框來(lái)對(duì)結(jié)果進(jìn)行一個(gè)初步篩選。
Pinterest的篩選:這個(gè)我是想單獨(dú)講講的,這真的是我很喜歡的一個(gè)設(shè)計(jì)。當(dāng)你輸入查詢條件后,會(huì)自動(dòng)彈出你的輸入+另外一個(gè)組合詞,真的是比普通的篩選牛了很多。
- 頁(yè)面比其他頁(yè)面就篩選而言,空間占用更少,更多的留給信息展示。
- 組合詞比結(jié)構(gòu)化的篩選更多,有些詞是用戶更常用更多搜索的,但比較難歸類到某個(gè)類別進(jìn)行展示。
- 組合詞的更新可以在后臺(tái)完成,不需要對(duì)頁(yè)面做過(guò)多更改。
當(dāng)然,你也可以說(shuō),在輸入時(shí)直接自動(dòng)出來(lái)讓用戶選擇,這個(gè)當(dāng)然也沒(méi)啥問(wèn)題。面對(duì)一些未知數(shù)量且模糊的搜索時(shí),用戶的輸入會(huì)先從大到小,Pinterest的做法相當(dāng)于結(jié)果——反饋——新的結(jié)果,不斷循環(huán),對(duì)用戶的感知更順暢更友好,且用戶本身對(duì)事物的掌控也一直沒(méi)有被削弱。
輸入輸出改進(jìn)
詳情參照上文第二節(jié):輸入;第四節(jié):輸出-無(wú)結(jié)果-整個(gè)流程優(yōu)化的做法。
第七節(jié):結(jié)果評(píng)估&優(yōu)化【數(shù)據(jù)算法層】
我們講,在搜索的時(shí)候,假如結(jié)果不如意,如何讓用戶繼續(xù)留在頁(yè)面上,并找到自己想要的結(jié)果。
分析輸入,了解用戶
我們可以通過(guò)分析入口,分析Query,并結(jié)合用戶畫像、用戶分類,進(jìn)行輸入分析,了解用戶在我們的產(chǎn)品上,輸入較多的是哪些類別、哪些內(nèi)容。接下來(lái)的算法策略就可以根據(jù)這部分進(jìn)行一些參考。
評(píng)估輸出,優(yōu)化算法
常用評(píng)估輸出的辦法有3種:
- 通過(guò)業(yè)務(wù)指標(biāo)來(lái)評(píng)估,比如CTR、業(yè)務(wù)指標(biāo)的轉(zhuǎn)化率等。
- 通過(guò)A/B testing來(lái)做不同算法間的比較。
- 通過(guò)人工來(lái)評(píng)估。
由于A/B testing需要耗費(fèi)的技術(shù)資源較多,大家可以根據(jù)自己公司的進(jìn)度以及資源程度決定是否要做;剩下兩個(gè)是建議一起做。業(yè)務(wù)指標(biāo)來(lái)看總的效果,人工評(píng)估來(lái)發(fā)現(xiàn)一些明顯的典型case。
結(jié)束語(yǔ)
由于時(shí)間關(guān)系,我們這次的文章中,主要對(duì)整個(gè)搜索的流程有了一個(gè)簡(jiǎn)單的概述,至于里面的細(xì)節(jié),大家可以參考其他文檔來(lái)做知識(shí)的補(bǔ)充。歡迎大家一起探討。
備注:關(guān)于第四節(jié):輸出-無(wú)結(jié)果-整個(gè)流程優(yōu)化的做法,我是參考woshipm上一位朋友寫的。由于時(shí)間久遠(yuǎn),沒(méi)有找到鏈接,如果大家有誰(shuí)知道的,可以把鏈接貼到評(píng)論中。
本文由 @杜佳琦Cathy?原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理。未經(jīng)許可,禁止轉(zhuǎn)載
題圖來(lái)自 Unsplash,基于 CC0 協(xié)議
內(nèi)容很豐富,我最近也在研究搜索,正好學(xué)習(xí)了,謝謝
很有水平的一篇文章,表達(dá)搜索功能和運(yùn)行機(jī)制足夠完善……作者懂得算法。
挺好