日日碰狠狠躁久久躁96avv-97久久超碰国产精品最新-婷婷丁香五月天在线播放,狠狠色噜噜色狠狠狠综合久久 ,爱做久久久久久,高h喷水荡肉爽文np肉色学校

睿治

智能數據治理平臺

睿治作為國內功能最全的數據治理產品之一,入選IDC企業數據治理實施部署指南。同時,在IDC發布的《中國數據治理市場份額》報告中,連續四年蟬聯數據治理解決方案市場份額第一。

淺談互聯網搜索

時間:2022-10-18來源:你當我是浮夸吧瀏覽數:345

背景

在互聯網行業搜索無處不在,比如:在百度網站搜索技術文檔、在百度地圖搜索某地點位置、在美團找外賣、在拼多多找商品等都離不開搜索。搜索不同于推薦,需要用戶輸入query,搜索引擎會返回與query相關性最高的幾組點(這里的點可以代表文檔、POI、美食、商品等用戶要搜的事物),這里稱為精確找點,也就是說用戶在使用搜索前,已經有明確的查找目標,而搜索縮短了用戶與點之間的距離,其重要性不言而喻。本文重點介紹互聯網行業搜索的流程、發展和現狀,希望對從事和將要從事搜索行業的人員帶來一些啟發。

搜索流程

搜索系統一般可以抽象為以下幾個維度:離線數據建設、Query理解、召回、排序和展示,在企業中往往也是按照這幾個維度劃分團隊對應開發維護,其中每個維度都可以單獨寫一篇文檔詳細介紹,這里我們暫且介紹整個搜索流程。

數據層:搜索的本質是query與數據的匹配,數據的質量直接決定搜索的質量,所以數據是搜索的根本。數據團隊負責接入多方數據,最后把非結構化的數據處理成易理解的結構化數據存儲(比較復雜繁瑣,比如結構化為標題、內容、類型等字段),方便其他團隊使用。

Query理解:當用戶輸入 query時,首先query理解模塊對query進行分析與解析,比如輸入query [清華大學在哪里],query 理解模塊會對該query進行分詞(清華|大學|在哪里)、term 重要性標注(清華[2]|大學[3]|在哪里[1])、口語化解析(清華大學[normal]|在哪里[oral])等,并將這些信息傳給召回和排序層。

召回:召回的定位是粗篩,粗略的篩選出與query匹配的候選集(量級一般為幾千到幾萬),緩解rank的壓力。召回層拿到query理解的信息之后,會根據term重要性等信息構建多路召回服務,在企業比較常見的兩種召回服務為倒排索引召回和語義召回。倒排索引是對每個詞構建 kv 形式的數據結構;而語義召回是根據用戶輸入的query 與 doc 構建雙塔深度語義模型(常見的模型為 DSSM 等),對 query 和 doc 分別產生語義向量,利用向量進行相似度匹配召回。

Rank:當召回篩選出候選集后,會流轉到排序層排序,排序一般分為粗排、精排、重排。

粗排,是對召回的數據進行粗略排序,主要作用是快速挑選出符合要求的候選集,量級一般為幾百,特點是要求速度快,所以這里常用的模型是樹模型。

精排,是對粗排的數據進一步的排序,如精排名字所述,特點是需求精確的排序,往往在特征層面上會更加豐富,模型也會更加復雜(如 dfm、dcn、mmoe 等),量級一般為幾十,在排序上也最為重要,直接影響用戶體驗。

重排,定位是針對不同的業務需求進行規則調序,比如優先展示某某品牌產品。

展示,是直接呈現給用戶的,包含數據和樣式,比如對某些字體飄藍、展示由策略生產的推薦理由、展示商品的價格等,更多的由前端同學開發維護。

搜索技術應用

在了解搜索的流程之后,本部分聊一下搜索引擎的技術應用,主要是【召回】和【排序】兩部分介紹,這兩部分也是搜索引擎的核心。

召回

最常見的召回方式是倒排索引,所謂倒排索引是離線對數據進行切詞,然后按照詞粒度構建 kv 格式進行存儲,比如有三個短文本:北京郵電大學、清華大學、北京大學,先用分詞工具對三個文本進行切詞,結果為:北京|郵電|大學、清華|大學、北京|大學,每個詞分別作為 key,包含這個key的文本作為 value,這里最終 kv 格式為:北京(key) -> [北京郵電大學、北京大學](value),郵電(key) -> [北京郵電大學](value),大學(key) -> [北京郵電大學、北京大學、北京大學](value),清華(key) -> [清華大學](value),共4組數據。當用戶輸入[大學]的時候,找到對應的key也就是大學,拉取對應的文本,這里是[北京郵電大學、清華大學、北京大學]三組數據,達到了召回的目的。

構建倒排索引示意圖

然而,僅僅依靠倒排索引召回會存在召回能力不足的問題,用戶輸入往往存在多樣化的情況,對于同義、錯誤輸入、簡稱輸入等倒排索引召回無法命中其中的key,也就影響召回效果。近年來,隨著深度學習的興起,越來越多的深度學習技術在工業界落地,大大提升了用戶體驗。其中,以 DSSM (Deep Structured Semantic Models)為代表的深度語義模型為為計算語義相似度提供了一種思路,該架構為雙塔結構, query 和 doc各輸入到雙塔模型產生對應向量,并對doc向量構建離線緩存;當用戶輸入query,在線產生query向量,用近鄰算法(常見fassi、hnsw等)從向量庫中檢索相似度最高的topN作為語義召回候選集,如下圖所示。

當然在召回方式上,還有其他的補充召回,比如個性化召回、統計共現召回,這里不一一詳細介紹。

Rank

從規則排序到線性回歸演進

在機器學習不火的時候,最開始甚至使用人工規則,每個特征以人工經驗給與一定的權重,優點是模型可控、也具有可解釋性,缺點也很明顯這樣的“人工模型”可泛化能力、自動化能力很差,需要人工根據badcase去調整。后來出現線性回歸,能夠根據數據自動學習排序的內部規律,優點是解決了人工調整權重的問題,同時也具備強的可解釋性,但因為是線性模型,表達和泛化能力、以及缺失數據的處理仍然不足。

從線性回歸到樹模型的演進

隨著 GBDT、XGB等樹模型的發展,越來越多的排序算法應用樹模型(至今很多企業仍然使用樹模型),主要得益于樹模型能夠表達非線性空間,泛化能力好,可解釋性強,收斂速度快,使其能夠在企業中對策略快速迭代,甚至在很多場景要優化NN模型(樹模型有很多優點,后續可以展開講)。

從樹模型到NN模型演進

當一個服務流量起來之后,積累的海量數據就會有用武之地,而樹模型的容量比較小,當數據達到一定的閾值之后,再增加數據就無法提高相應指標,而DNN因為海量參數具有更大的模型容量,為樹模型升級到NN模型提供了可能。

另一個應用DNN模型的邏輯是,樹模型往往對連續的數值型輸入處理比較好(得益于樹模型對特征的排序和信息的分裂),而對本身沒有數值大小關系的離散變量表現往往較差,這時NN模型的對離散變量的embedding化往往會起到比較的效果,例如dfm、dcn的embedding交叉,后續可以對排序展開講講。

總結與展望

本文介紹了搜索的發展歷程以及搜索的整個流程,搜索流程共分為5個維度,每個維度都可以單獨開展一篇甚至幾篇進行詳細介紹。雖然搜索系統整個架構在行業中比較穩定,但近期有一些觀點對整個行業帶來一些啟發,比如利用海量數據對大模型(常見的Bert、Ernie等)進行預訓練,分別應用兩個大模型對召回和排序進行端到端的應用。總之,隨著新技術和新想法的不斷涌現,搜索引擎還有很多可以完善的地方,需要你我共同建設。

(部分內容來源網絡,如有侵權請聯系刪除)
立即申請數據分析/數據治理產品免費試用 我要試用
customer

在線咨詢

在線咨詢

點擊進入在線咨詢