閱讀322 返回首頁    go 京東網上商城


智能推薦:“相關性搜索”隻給你最想要的

在過去十年裏,搜索已經變得無處不在——搜索框已然成為各類網站、應用的基礎標配。一個網站或者應用不提供搜索框,這是無法想象的事情。隨著搜索在基礎架構方麵越來越多的難題得到解決,加之解決方案的商品化進程,搜索引擎的競爭已經從如何提供快速、可伸縮的搜索,轉變成如何針對用戶的信息需求提供最相關的匹配。換言之,就是如何正確地理解用戶意圖,提高搜索的相關性,為用戶提供滿意的搜索結果。

什麼是相關性

  所謂相關性,就是根據內容對用戶及業務需求的滿足程度,對搜索內容進行排名的一門學問。它會將搜索引擎打造成一個看似智能的係統,能夠理解用戶和業務的需求。讓搜索引擎理解內容中包含的重要特征(feature):比如餐廳的位置,書中出現的詞匯,或者襯衫的顏色這樣的屬性。有了準確的特征,當用戶在應用內搜索時,就可以計算出什麼對他們而言是重要的:這家餐廳離我有多遠?這本書上講的內容對我有幫助嗎?這件襯衫和我剛買的褲子搭配嗎?這些在搜索期間影響排名的因素,是用來衡量用戶所關心的內容的,稱之為信號(signal)。搜索引擎麵臨的挑戰,就是在不同特征之間做出選擇,並實現能滿足用戶與業務需求的信號。

  然而,技術隻是實現相關性的工具,明白要做什麼可能比知道怎麼做更重要。“相關性”在某個具體應用裏的含義大相徑庭。

在不同的應用中其搜索相關性大不相同

  我們很容易誤以為搜索是一個單一問題。事實上,不同的搜索應用之間,彼此差異非常大。每個應用都有截然不同的相關性預期。

  通用型搜索應用,比如Google,要返回有用而可靠的信息。利用PageRank,Google不僅為用戶返回了與搜索相匹配的內容,而且這些內容還是被網絡上其他地方認為是可靠和可信的。

  電商網站對於被搜索的內容擁有完全的控製,它們較少關注可信度。電商網站為了達成交易,就要根據用戶的搜索行為、曆史數據等信息,為用戶推薦合適的商品,促進銷售。

  醫療、法律和學術研究領域的專家搜索,通過更為深入地挖掘文本來定義相關性。這種專家搜索依賴於對專業人員輸入的行業術語的理解。這類解決方案必須掌握專業領域裏各種事物之間的微妙關聯。比如,“HeartAttack(心髒病)”和“MyocardialInfarction(心肌梗死)”是一回事;或者急性“MyocardialInfarction”是一種特殊類型的“HeartAttack”。

  再往下細分,還會發現更多的不同。比如房產搜索是一種電商搜索嗎?兩者固然有相似之處(讓用戶買得稱心),但對於一名購房者而言,還有許多其他因素需要考慮(所在學區、鄰裏關係、戶型)。本地餐飲的搜索應用呢?就醫的搜索呢?用餐館菜單來訂餐呢?企業內網的搜索呢?

  相關性需求多種多樣,有時候用戶甚至有可能還沒有意識到自己的需求是什麼,但是開發者卻必須通過各種方法,挖掘出其真實需求,迎接業務帶來的挑戰。

信息檢索與相關性

  那麼,搜索的相關性有係統性的基礎和通用的工程性原則嗎?答案是有的。事實上,在相關性的背後藏著一門學問:學術領域裏的信息檢索(informationretrieval)。它包含被普遍接受的各種實踐,可以對廣泛分布在各行各業的相關性加以改進。

  在信息檢索中,相關性被定義為一種返回搜索結果的實踐,它能最大限度地滿足用戶的信息需求。而且,典型的信息檢索關注的是文本排名。信息檢索中的很多發現,都是在試圖衡量給定的文章與用戶的文本查詢在多大程度上具有相關性。這些發現中有很多都已經在開源的搜索引擎中被實現了。

  然而應用的相關性取決於各種因素,有些因素具有廣泛性和普遍性,它們所涉及的就是信息檢索中的文本排名;還有很多因素都是和具體應用息息相關的(比如,用戶距離餐廳有多遠)。經典的信息檢索技術對於解決相關性問題,確實能有所幫助,但是還有一些問題則愛莫能助。這些問題很大程度上遊離於搜索技術之外,且涉及更為廣泛的各種產品策略問題:我們的用戶是誰?他們希望通過這個應用得到什麼?搜索要解決的那些隱含在其中而未加指明的信息需求是什麼?

如何解決相關性

  開源搜索引擎可以通過編程的方式將我們對相關性的理解植入搜索引擎,打造相關性解決方案,使之既滿足用戶需求,又符合業務目標。采用開源引擎怎樣定義出一個框架,既包含狹義的領域特定因素,又用到廣義的信息檢索技術呢?以下幾點是需要考慮的。

  • 識別出能夠刻畫內容、用戶或搜索查詢的關鍵特征。
  • 通過對特征的提取和對內容的豐富,想辦法讓搜索引擎理解這些特征。
  • 在搜索期間,通過構造信號來對用戶搜索的相關性加以度量。
  • 在對結果進行排名時,通過控製排名函數,仔細平衡多個信號之間的影響。

  以上內容節選自《相關性搜索:利用Solr與Elasticsearch創建智能應用》,點此鏈接可在博文視點官網查看此書。
                   圖片描述
  想及時獲得更多精彩文章,可在微信中搜索“博文視點”或者掃描下方二維碼並關注。
                    圖片描述

最後更新:2017-10-27 11:34:28

  上一篇:go  曾鳴:為什麼要讓「聽得見炮火的士兵」做決定?| 幹貨
  下一篇:go  在Entity Framework中使用存儲過程(五):如何通過存儲過程維護多對多關係?