搜尋引擎(1) 概述與功能架構

2022-08-02 18:42:08 字數 1384 閱讀 3711

做搜尋引擎有有2年時間了,算是有個基本的入門。決定寫乙個系列部落格,記錄下自己所認識的搜尋引擎,也希望對新入行的朋友有些幫助。

搜尋與推薦

網際網路上有海量的資訊,從網際網路上獲取資訊或娛樂,最主要的2個途徑就是搜尋推薦

搜尋與推薦的最大差異,就是主動被動

搜尋領域

當前搜尋推薦都涉及網際網路的各個領域,可以簡單的粗分成這2類

除此之外,還有像地圖、酒店、機票等各種垂直領域的搜尋。每個領域都有自己的一些特殊業務訴求。

搜尋功能

一般搜尋產品都至少包括2個功能:

幾個基本概念

首先介紹幾個縮寫基本概念:

垂搜與大搜的架構基本一致。相比大搜,垂搜在某些模組上會簡化。比如摘要,垂蒐會比大搜簡單很多。

下面簡單介紹下每個模組的功能

編排模型會依次呼叫查詢理解、基礎檢索、精排、摘要這4個模組,每乙個模組的輸出,作為下乙個模組的輸入。

qu的功能,是對使用者輸入的query進行分析,以支撐後續的搜尋排序效果。

qu的主要功能包括:

qu中很多模組的效果,依賴於nlp能力,例如分詞、實體識別、意圖識別等。像糾錯、改寫等,也強依賴於使用者的行為日誌。

基礎檢索(粗排)是做第一輪檢索,從全量索引中召回網頁候選集(例如top1000),並做乙個排序。整個搜尋的過程,就像是乙個漏斗篩選的過程,基礎檢索是第一次篩選,如果沒有被篩選出來,就不會成為本次的搜尋結果。

由於基礎檢索涉及的網頁量非常大,對效能要求高,所以一般只用少量最重要的特徵,相對簡單的策略來做召回。不亦使用太多的特徵和太複雜的模型。

檢索的過程主要分2步,

精排是對基礎檢索召回的結果,做乙個更精準的排序。由於基礎檢索召回的數量有限(1000條以內),相比粗排,精排需要處理的doc數量少了很多,就可以用更豐富的特徵,更複雜的演算法模型(ltr),以得到更精準的排序效果。

除了使用排序模型,精排也可以使用一些人工策略來調權。

在精排之後,也會根據運營干預的策略,對結果做進一步的調整干預。

最終,根據翻頁引數,只返回10或15條結果給上游。

精排返回的結果,還要補充些資訊,才能在終端介面上展示。例如**搜尋結果,需要展示商品的、標題、銷量等一系列資訊。

一般的垂直領域,只要把doc的幾個屬性展示出來即可。網頁搜尋比較特殊,一般網頁正文很長,但是最終展示的只有簡短的三兩行文字片段。這個片段,就是網頁的摘要資訊。摘要模組的主要目標,主要就是從網頁正文中,抽取出匹配最好的那一兩個片段,並把與query匹配的那些詞標紅,讓使用者直觀的看到這個網頁與query的匹配關係。

搜尋引擎概述

對資訊檢索的評價 準確率和召回率。準確率,precision 檢索出來的文件中,相關文件所佔比例。召回率,recall 全部相關文件中,被檢索出來的文件的比例。垂直搜尋,vertical search 針對某一主題 行業 應用 的特殊搜尋。評價 使用者與操作引擎互動的日誌是很有價值的資訊源。doc ...

搜尋引擎架構

最近對研究搜尋引擎有濃厚的興趣,在這裡總結如下 搜尋引擎的資訊 於網際網路網頁,通過網路爬蟲將整個網際網路的資訊獲取到本地,因為網頁中有相當大比例的內容是完全相同或近似重複的,網頁去重模組會對此進行檢測,並去除重複內容。之後搜尋引擎會對網頁進行解析,抽取出網頁主體內容,以及頁面包含的指向其他頁面的鏈...

搜尋引擎架構

搜尋引擎獲取並儲存海量的網頁相關資訊,不需要實時計算,可看做搜尋引擎的後台計算系統。搜尋引擎的最重要目的是為使用者提供準確全面的搜尋結果。當搜尋引擎接收到使用者的查詢詞後,首先需要對查詢詞進行分析,希望能夠結合查詢詞和使用者資訊來正確推導使用者的真正搜尋結果,如果能夠在快取系統找到滿足使用者需求的資...