在過去十年裡,搜尋已經變得無處不在——搜尋框已然成為各類**、應用的基礎標配。乙個**或者應用不提供搜尋框,這是無法想象的事情。隨著搜尋在基礎架構方面越來越多的難題得到解決,加之解決方案的商品化程序,搜尋引擎的競爭已經從如何提供快速、可伸縮的搜尋,轉變成如何針對使用者的資訊需求提供最相關的匹配。換言之,就是如何正確地理解使用者意圖,提高搜尋的相關性,為使用者提供滿意的搜尋結果。所謂相關性,就是根據內容對使用者及業務需求的滿足程度,對搜尋內容進行排名的一門學問。它會將搜尋引擎打造成乙個看似智慧型的系統,能夠理解使用者和業務的需求。讓搜尋引擎理解內容中包含的重要特徵(feature):比如餐廳的位置,書中出現的詞彙,或者襯衫的顏色這樣的屬性。有了準確的特徵,當使用者在應用內搜尋時,就可以計算出什麼對他們而言是重要的:這家餐廳離我有多遠?這本書上講的內容對我有幫助嗎?這件襯衫和我剛買的褲子搭配嗎?這些在搜尋期間影響排名的因素,是用來衡量使用者所關心的內容的,稱之為訊號(signal)。搜尋引擎面臨的挑戰,就是在不同特徵之間做出選擇,並實現能滿足使用者與業務需求的訊號。
然而,技術只是實現相關性的工具,明白要做什麼可能比知道怎麼做更重要。「相關性」在某個具體應用裡的含義大相徑庭。
在不同的應用中其搜尋相關性大不相同
我們很容易誤以為搜尋是乙個單一問題。事實上,不同的搜尋應用之間,彼此差異非常大。每個應用都有截然不同的相關性預期。
通用型搜尋應用,比如google,要返回有用而可靠的資訊。利用pagerank,google不僅為使用者返回了與搜尋相匹配的內容,而且這些內容還是被網路上其他地方認為是可靠和可信的。
醫療、法律和學術研究領域的專家搜尋,通過更為深入地挖掘文本來定義相關性。這種專家搜尋依賴於對專業人員輸入的行業術語的理解。這類解決方案必須掌握專業領域裡各種事物之間的微妙關聯。比如,「heartattack(心臟病)」和「myocardialinfarction(心肌梗死)」是一回事;或者急性「myocardialinfarction」是一種特殊型別的「heartattack」。
再往下細分,還會發現更多的不同。比如房產搜尋是一種電商搜尋嗎?兩者固然有相似之處(讓使用者買得稱心),但對於一名購房者而言,還有許多其他因素需要考慮(所在學區、鄰里關係、戶型)。本地餐飲的搜尋應用呢?就醫的搜尋呢?用餐館選單來訂餐呢?企業內網的搜尋呢?
相關性需求多種多樣,有時候使用者甚至有可能還沒有意識到自己的需求是什麼,但是開發者卻必須通過各種方法,挖掘出其真實需求,迎接業務帶來的挑戰。
那麼,搜尋的相關性有系統性的基礎和通用的工程性原則嗎?答案是有的。事實上,在相關性的背後藏著一門學問:學術領域裡的資訊檢索(informationretrieval)。它包含被普遍接受的各種實踐,可以對廣泛分布在各行各業的相關性加以改進。
在資訊檢索中,相關性被定義為一種返回搜尋結果的實踐,它能最大限度地滿足使用者的資訊需求。而且,典型的資訊檢索關注的是文字排名。資訊檢索中的很多發現,都是在試圖衡量給定的文章與使用者的文字查詢在多大程度上具有相關性。這些發現中有很多都已經在開源的搜尋引擎中被實現了。
然而應用的相關性取決於各種因素,有些因素具有廣泛性和普遍性,它們所涉及的就是資訊檢索中的文字排名;還有很多因素都是和具體應用息息相關的(比如,使用者距離餐廳有多遠)。經典的資訊檢索技術對於解決相關性問題,確實能有所幫助,但是還有一些問題則愛莫能助。這些問題很大程度上游離於搜尋技術之外,且涉及更為廣泛的各種產品策略問題:我們的使用者是誰?他們希望通過這個應用得到什麼?搜尋要解決的那些隱含在其中而未加指明的資訊需求是什麼?
開源搜尋引擎可以通過程式設計的方式將我們對相關性的理解植入搜尋引擎,打造相關性解決方案,使之既滿足使用者需求,又符合業務目標。採用開源引擎怎樣定義出乙個框架,既包含狹義的領域特定因素,又用到廣義的資訊檢索技術呢?以下幾點是需要考慮的。
搜尋相關性
今天學習了同事總結的搜尋相關性計算方法,整理如下 相關性指搜尋query和頁面之間的相關程度,衡量的維度有 文字相關性 權威性 查詢需求滿足。其中權威性要求同等條件下選擇更優質 權威的結果 需求滿足側重了搜尋個性化,同乙個搜尋詞有多種不同含義,搜尋引擎應該能夠分析出使用者的意圖和需求,然後返回適合的...
6 1 使用者相關性推薦,python
單純的練手專案,電影的時間沒考慮,使用者的口味隨時間的變化之類的因素都沒考慮,單純的練手import pandas as pd import numpy as np import copy 這塊是自己寫的乙個personr相關係數的演算法,最好別用這個,我在學習,一堆坑 from scipy.sta...
關於引擎對網頁的相關性的搜尋問題
關於乙個站點其網頁的相關性,指的是 資訊符合搜尋引擎搜尋條件的程度。當乙個 建設好了以後,就要開始著手推廣的事情了。於是在搜尋引擎的搜尋推廣方面,搜尋引擎在判斷頁面的關聯性時,基本上就是根據網頁中關鍵詞的 匹配 位置 頻次 原則,也就是說 內容中的字詞 片語或短語與使用者輸入的關鍵詞越匹配,搜尋出現...