原標題:產品經理需要了解:推薦系統和搜索引擎的關系
注:本文作者結合自己的實踐經驗來為大家闡述推薦系統和搜索引擎兩者之間的關系、分享自己的體會。
從信息獲取的角度來看,搜索和推薦是用戶獲取信息的兩種主要手段。無論在互聯網上,還是在線下的場景里,搜索和推薦這兩種方式都大量並存,那么推薦系統和搜索引擎這兩個系統到底有什么關系?區別和相似的地方有哪些?
本文作者有幸同時具有搜索引擎和推薦系統一線的技術產品開發經驗,結合自己的實踐經驗來為大家闡述兩者之間的關系、分享自己的體會。
圖1:搜索引擎和推薦系統是獲取信息的兩種不同方式
主動或被動:搜索引擎和推薦系統的選擇
獲取信息是人類認知世界、生存發展的剛需,搜索就是最明確的一種方式,其體現的動作就是“出去找”,找食物、找地點等,到了互聯網時代,搜索引擎(Search Engine)就是滿足找信息這個需求的最好工具,你輸入想要找的內容(即在搜索框里輸入查詢詞,或稱為Query),搜索引擎快速的給你最好的結果,這樣的剛需催生了Google、百度這樣的互聯網巨頭。
但是獲取信息的方式除了搜索外,還有另一類,稱為推薦系統(Recommendation System,簡稱Recsys),推薦也是伴隨人類發展而生的一種基本技能,你一定遇到這樣的場景,初來乍到一個地方,會找當地的朋友打聽“嗨,請推薦下附近有啥好吃好玩的地方吧!”——知識、信息等通過推薦來傳播,這也是一種獲取信息的方式。
搜索和推薦的區別如圖 1 所示,搜索是一個非常主動的行為,並且用戶的需求十分明確,在搜索引擎提供的結果里,用戶也能通過瀏覽和點擊來明確的判斷是否滿足了用戶需求。然而,推薦系統接受信息是被動的,需求也都是模糊而不明確的。以“逛”商場為例,在用戶進入商場的時候,如果需求不明確,這個時候需要推薦系統,來告訴用戶有哪些優質的商品、哪些合適的內容等,但如果用戶已經非常明確當下需要購買哪個品牌、什么型號的商品時,直接去找對應的店鋪就行,這時就是搜索了。
圖2:從搜索詞中可以看出,用戶有大量個性化推薦的需求
很多互聯網產品都需要同時滿足用戶這兩種需求,例如對提供音樂、新聞、或者電商服務的網站,必然要提供搜索功能,當用戶想找某首歌或某樣商品的時候,輸入名字就能搜到;與此同時,也同時要提供推薦功能,當用戶就是想來聽好聽的歌,或者打發時間看看新聞,但並不明確一定要聽哪首的時候,給予足夠好的推薦,提升用戶體驗。
個性化程度的高低
除了主被動外,另一個有趣的區別是個性化程度的高低之分。搜索引擎雖然也可以有一定程度的個性化,但是整體上個性化運作的空間是比較小的。因為當需求非常明確時,找到結果的好壞通常沒有太多個性化的差異。例如搜“天氣”,搜索引擎可以將用戶所在地區的信息作補足,給出當地天氣的結果,但是個性化補足后給出的結果也是明確的了。
用戶對信息的個性化需求
但是推薦系統在個性化方面的運作空間要大得多,以“推薦好看的電影”為例,一百個用戶有一百種口味,並沒有一個“標准”的答案,推薦系統可以根據每位用戶歷史上的觀看行為、評分記錄等生成一個對當前用戶最有價值的結果,這也是推薦系統有獨特魅力的地方。雖然推薦的種類有很多(例如相關推薦、個性化推薦等),但是個性化對於推薦系統是如此重要,以至於在很多時候大家干脆就把推薦系統稱為“個性化推薦”甚至“智能推薦”了。
快速滿足還是持續服務?
開發過搜索引擎的朋友都知道,評價搜索結果質量的一個重要考量指標是要幫用戶盡快的找到需要的結果並點擊離開。在設計搜索排序算法里,需要想盡辦法讓最好的結果排在最前面,往往搜索引擎的前三條結果聚集了絕大多數的用戶點擊。簡單來說,“好”的搜索算法是需要讓用戶獲取信息的效率更高、停留時間更短。
但是推薦恰恰相反,推薦算法和被推薦的內容(例如商品、新聞等)往往是緊密結合在一起的,用戶獲取推薦結果的過程可以是持續的、長期的,衡量推薦系統是否足夠好,往往要依據是否能讓用戶停留更多的時間(例如多購買幾樣商品、多閱讀幾篇新聞等),對用戶興趣的挖掘越深入,越“懂”用戶,那么推薦的成功率越高,用戶也越樂意留在產品里。
所以對大量的內容型應用來說,打造一個優秀的推薦系統是提升業績所不得不重視的手段。
推薦系統滿足難以文字表述的需求
目前主流的搜索引擎仍然是以文字構成查詢詞(Query),這是因為文字是人們描述需求最簡潔、直接的方式,搜索引擎抓取和索引的絕大部分內容也是以文字方式組織的。
因為這個因素,我們統計發現用戶輸入的搜索查詢詞也大都是比較短小的,查詢詞中包含 5 個或 5 個以內元素(或稱Term)的占總查詢量的98%以上(例如:Query“達觀數據地址”,包含兩個元素“達觀數據”和“地址”)。
但另一方面,用戶存在着大量的需求是比較難用精煉的文字來組織的,例如想查找“離我比較近的且價格 100 元以內的川菜館”、“和我正在看的這條裙子同款式的但是價格更優惠的其他裙子”等需求。
一方面幾乎沒有用戶願意輸入這么多字來找結果(用戶天然都是願意偷懶的),另一方面搜索引擎對語義的理解目前還無法做到足夠深入;所以在滿足這些需求的時候,通過推薦系統設置的功能(例如頁面上設置的“相關推薦”、“猜你喜歡”等模塊),加上與用戶的交互(例如篩選、排序、點擊等),不斷積累和挖掘用戶偏好,可以將這些難以用文字表達的需求良好的滿足起來。
形象的來說,推薦引擎又被人們稱為是無聲的搜索,意思是用戶雖然不用主動輸入查詢詞來搜索,但是推薦引擎通過分析用戶歷史的行為、當前的上下文場景,自動來生成復雜的查詢條件,進而給出計算並推薦的結果。