搜尋引擎是怎樣的存在?(三 資訊處理模組)

2021-09-16 21:40:30 字數 1419 閱讀 8569

生活中總有些東西,我們觸手可及,感覺平凡無奇,但卻又實實在在說不出其中的奧妙,搜尋引擎(search engines)便是其一。

資訊檢索實質上是乙個使用者需求與資訊系統匹配的過程。

在上一節,我們把資訊蒐集好了,別人要來找,我們得想辦法把我們蒐集的資訊組織好,讓別人好找,這就是資訊處理的由來。

先來看一下,它的大體流程:

由此可見,資訊處理過程,建立索引庫是乙個核心工程。

所以資訊處理過程主要由以下三步構成:

建立索引

建立索引網頁庫

建立倒排索引詞表

那怎麼弄?

索引針對於網頁內容。索引**於爬取到的原始網頁,搜尋引擎會對網頁進行解析,盡可能地將每個網頁轉換成一組詞的集合(如圖)

意思就是,你輸入的中文詞語、片語全會被轉化為數字,查詢效率當然高了。

這裡就必須用到分詞技術,英文本母有天然的分隔符——空格,漢字比較麻煩,所以中文分詞技術一直是個難點 ,通常有:

基於字串的分詞法

基於統計的分詞法

具體怎麼實現,本篇文章不作深入**。

索引網頁庫是對索引的二次整理。大量網頁的索引詞表集合就形成了索引網頁庫,因為如果不建立網頁索引庫,順序遍歷網頁url,將消耗大量的資源,。

索引網頁庫通過md5演算法,將網頁內容和url摘要資訊,分別記錄為16個位元組的唯一標識,同時為了方便檢視,將這16個位元組轉化為23位元組的ascll碼。最終通過 isam(索引順序訪問模式)來進行儲存,保證資料的緊湊性和檢索能力。同時在網頁索引檔案儲存之後,還會存在url索引檔案,同時通過文件編號,將url摘要資訊和網頁摘要資訊聯絡起來。

解析出詞集的同時,搜尋引擎還會記錄不同詞出現的位置、頻率 賦予不同單詞不同的權重,然後在資料結構中自動地給他們分配id,整個組合起來形成一條記錄,記錄包含文件編號 、索引資訊等等。所以,如果我們知道,某資料存放的id,我們就能找到該資料資訊,但是,我們檢索資訊的時候,一般會輸入自然語言,所以,我們將資料->文件id轉換為文件id->資料,就構成了倒排索引列表(反轉列表)如下圖:

倒排索引是搜尋引擎實現快速、大量反應請求的很重要的乙個資料結構安排。

資訊處理過程實質上是乙個非常冗雜的過程,分析網頁,我們針對不同的格式可能要編寫不同的解析器,運用各種演算法,建立各種語言模型,才能有效地解析資料,表達資訊,為資訊查詢服務提供後台支援。

大資料 搜尋引擎是怎樣思考的?

搜尋引擎是乙個沒有生www.cppcns.com命的程式,它是不能夠像人類一樣進行思考的,它的一切行為都依賴於演算法。搜尋引擎也有它特定的思考方式,我們稱為 機器學習 或 人工智慧 但是這一切的前提是基於大資料。接下來,我通過一些點來說明它是如何思考的。一 跳出率 搜尋跳出率 首先如果你的 沒有放置...

搜尋引擎是怎麼樣的存在?(四 資訊服務模組)

資訊服務有很多種形式,而搜尋引擎的服務主要體現在資訊查詢之上。資訊查詢流程 接收檢索詞 分解檢索詞 匹配 響應 輸出 接收檢索詞需要乙個介面,也就是你們常看到的文字框,它與檢索器相連。使用者輸入檢索詞後,介面獲取資料,自動呼叫分詞模型,將乙個查詢語句分解成多個詞的集合,再與搜尋引擎本身建立的規範化詞...

搜尋引擎是怎麼搜到站內資訊

我看有的電影 比如a電影站裡面的abc資源在a站裡面的搜尋欄可以搜到 但是現在通過直接搜abc就可以搜出來a站裡面的abc的資源 不必再去a站裡面搜尋abc資源 這個是怎麼實現的呢?我看有的電影 比如a電影站裡面的abc資源在a站裡面的搜尋欄可以搜到 但是現在通過直接搜abc就可以搜出來a站裡面的a...