智慧推薦:“相關性搜尋”只給你最想要的
在過去十年裡,搜尋已經變得無處不在——搜尋框已然成為各類網站、應用的基礎標配。一個網站或者應用不提供搜尋框,這是無法想象的事情。隨著搜尋在基礎架構方面越來越多的難題得到解決,加之解決方案的商品化程式,搜尋引擎的競爭已經從如何提供快速、可伸縮的搜尋,轉變成如何針對使用者的資訊需求提供最相關的匹配。換言之,就是如何正確地理解使用者意圖,提高搜尋的相關性,為使用者提供滿意的搜尋結果。
什麼是相關性
所謂相關性,就是根據內容對使用者及業務需求的滿足程度,對搜尋內容進行排名的一門學問。它會將搜尋引擎打造成一個看似智慧的系統,能夠理解使用者和業務的需求。讓搜尋引擎理解內容中包含的重要特徵(feature):比如餐廳的位置,書中出現的詞彙,或者襯衫的顏色這樣的屬性。有了準確的特徵,當使用者在應用內搜尋時,就可以計算出什麼對他們而言是重要的:這家餐廳離我有多遠?這本書上講的內容對我有幫助嗎?這件襯衫和我剛買的褲子搭配嗎?這些在搜尋期間影響排名的因素,是用來衡量使用者所關心的內容的,稱之為訊號(signal)。搜尋引擎面臨的挑戰,就是在不同特徵之間做出選擇,並實現能滿足使用者與業務需求的訊號。
然而,技術只是實現相關性的工具,明白要做什麼可能比知道怎麼做更重要。“相關性”在某個具體應用裡的含義大相徑庭。
在不同的應用中其搜尋相關性大不相同
我們很容易誤以為搜尋是一個單一問題。事實上,不同的搜尋應用之間,彼此差異非常大。每個應用都有截然不同的相關性預期。
通用型搜尋應用,比如Google,要返回有用而可靠的資訊。利用PageRank,Google不僅為使用者返回了與搜尋相匹配的內容,而且這些內容還是被網路上其他地方認為是可靠和可信的。
電商網站對於被搜尋的內容擁有完全的控制,它們較少關注可信度。電商網站為了達成交易,就要根據使用者的搜尋行為、歷史資料等資訊,為使用者推薦合適的商品,促進銷售。
醫療、法律和學術研究領域的專家搜尋,通過更為深入地挖掘文字來定義相關性。這種專家搜尋依賴於對專業人員輸入的行業術語的理解。這類解決方案必須掌握專業領域裡各種事物之間的微妙關聯。比如,“HeartAttack(心臟病)”和“MyocardialInfarction(心肌梗死)”是一回事;或者急性“MyocardialInfarction”是一種特殊型別的“HeartAttack”。
再往下細分,還會發現更多的不同。比如房產搜尋是一種電商搜尋嗎?兩者固然有相似之處(讓使用者買得稱心),但對於一名購房者而言,還有許多其他因素需要考慮(所在學區、鄰里關係、戶型)。本地餐飲的搜尋應用呢?就醫的搜尋呢?用餐館選單來訂餐呢?企業內網的搜尋呢?
相關性需求多種多樣,有時候使用者甚至有可能還沒有意識到自己的需求是什麼,但是開發者卻必須通過各種方法,挖掘出其真實需求,迎接業務帶來的挑戰。
資訊檢索與相關性
那麼,搜尋的相關性有系統性的基礎和通用的工程性原則嗎?答案是有的。事實上,在相關性的背後藏著一門學問:學術領域裡的資訊檢索(informationretrieval)。它包含被普遍接受的各種實踐,可以對廣泛分佈在各行各業的相關性加以改進。
在資訊檢索中,相關性被定義為一種返回搜尋結果的實踐,它能最大限度地滿足使用者的資訊需求。而且,典型的資訊檢索關注的是文字排名。資訊檢索中的很多發現,都是在試圖衡量給定的文章與使用者的文字查詢在多大程度上具有相關性。這些發現中有很多都已經在開源的搜尋引擎中被實現了。
然而應用的相關性取決於各種因素,有些因素具有廣泛性和普遍性,它們所涉及的就是資訊檢索中的文字排名;還有很多因素都是和具體應用息息相關的(比如,使用者距離餐廳有多遠)。經典的資訊檢索技術對於解決相關性問題,確實能有所幫助,但是還有一些問題則愛莫能助。這些問題很大程度上游離於搜尋技術之外,且涉及更為廣泛的各種產品策略問題:我們的使用者是誰?他們希望通過這個應用得到什麼?搜尋要解決的那些隱含在其中而未加指明的資訊需求是什麼?
如何解決相關性
開源搜尋引擎可以通過程式設計的方式將我們對相關性的理解植入搜尋引擎,打造相關性解決方案,使之既滿足使用者需求,又符合業務目標。採用開源引擎怎樣定義出一個框架,既包含狹義的領域特定因素,又用到廣義的資訊檢索技術呢?以下幾點是需要考慮的。
- 識別出能夠刻畫內容、使用者或搜尋查詢的關鍵特徵。
- 通過對特徵的提取和對內容的豐富,想辦法讓搜尋引擎理解這些特徵。
- 在搜尋期間,通過構造訊號來對使用者搜尋的相關性加以度量。
在對結果進行排名時,通過控制排名函式,仔細平衡多個訊號之間的影響。
以上內容節選自《相關性搜尋:利用Solr與Elasticsearch建立智慧應用》,點此連結可在博文視點官網檢視此書。
想及時獲得更多精彩文章,可在微信中搜尋“博文視點”或者掃描下方二維碼並關注。
相關文章
- ES 筆記十八:搜尋的相關性算分筆記
- 淘寶API介面:獲得關鍵詞搜尋推薦API
- 直播系統程式碼,常用搜尋中搜尋歷史,搜尋推薦功能
- 語義搜尋相關配置
- 只推薦一本 JavaScript 書,你推薦哪本?JavaScript
- 解讀論文《Agglomerative clustering of a search engine query log》,以解決搜尋推薦相關問題
- 好用的檔案搜尋工具推薦:ProFind for MacMac
- 怎樣做好搜尋下拉最佳化?百度搜尋推薦詞的推廣方式
- 推薦幾個高效文章搜尋網站網站
- 網盤資源搜尋網站推薦網站
- 搜尋外貿客戶軟體推薦
- 拼多多獲得搜尋詞推薦 APIAPI
- Bootstrap相關專案推薦boot
- 大眾點評搜尋相關性技術探索與實踐
- 叮!給你尋找最優解的思路
- CSS 實現搜尋相關互動CSS
- MySQL單詞搜尋相關度排名MySql
- Idea全域性搜尋關鍵字Idea
- 阿里推薦與搜尋引擎-AI·OS綜述阿里AI
- Netflix 推薦系統(Part Four)-搜尋體驗
- Thinkphp TPM 職位搜尋和職位推薦PHP
- 相見恨晚!開源的傻瓜搜尋引擎,幫你快速實現搜尋功能
- 推薦幾款MySQL相關工具MySql
- win10搜尋欄廣告怎麼關閉 win10熱門搜尋裡的推薦怎麼隱藏Win10
- 推薦免費 CDN 、雲端儲存和搜尋
- 五款網盤資源搜尋網站推薦網站
- LinkedIn 招聘之搜尋和推薦系統背後的 AIAI
- 搜狐新聞推薦演算法原理 | “呈現給你的,都是你所關心的”演算法
- 騰訊雲相關產品推薦
- 松下相機相關軟體推薦
- 搜尋和線上閱讀 Github 程式碼的外掛推薦Github
- mac搜尋軟體推薦:HoudahSpot 補丁啟用版Mac
- 感謝你給我推薦這個websiteWeb
- 推薦系統相關術語知多少
- oracle最佳化相關書籍推薦Oracle
- 為什麼搜尋引擎搜不到我們想要的東西LEL
- 百度的搜尋流量開放給了自家智慧小程式
- 推薦兩個Python開發相關崗位Python
- 工具推薦:搜尋和刪除Windows上重複檔案的神器:AllDupWindows