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