有那麼多的網頁和關鍵詞,搜尋引擎是怎樣建索引的?

時間 2021-05-11 14:09:47

1樓:

第一步:一些要索引的原文件(Document)。

第二步:將原文件傳給分次元件(Tokenizer)。

第三步:將得到的詞元(Token)傳給語言處理元件(Linguistic Processor)

第四步:將得到的詞(Term)傳給索引元件(Indexer)。

第一步:一些要索引的原文件(Document)。

為了方便說明索引建立過程,用兩個檔案為例:

檔案一:Students should be allowed to go out with their friends, but not allowed to drink beer.

檔案二:My friend Jerry went to school to see his students but found them drunk which is not allowed.

第二步:將原文件傳給分次元件(Tokenizer)。

分詞元件(Tokenizer)會做以下幾件事情( 此過程稱為Tokenize) :

1. 將文件分成乙個乙個單獨的單詞。

2. 去除標點符號。

3. 去除停詞(Stop word) 。

經過分詞(Tokenizer) 後得到的結果稱為詞元(Token) 。

在我們的例子中,便得到以下詞元(Token):

「Students」,「allowed」,「go」,「their」,「friends」,「allowed」,「drink」,「beer」,「My」,「friend」,「Jerry」,「went」,「school」,「see」,「his」,「students」,「found」,「them」,「drunk」,「allowed」。

第三步:將得到的詞元(Token)傳給語言處理元件(Linguistic Processor)

語言處理元件(linguistic processor)主要是對得到的詞元(Token)做一些同語言相關的處理。

對於英語,語言處理元件(Linguistic Processor) 一般做以下幾點:

1. 變為小寫(Lowercase) 。

2. 將單詞縮減為詞根形式,如「cars 」到「car 」等。這種操作稱為:stemming 。

3. 將單詞轉變為詞根形式,如「drove 」到「drive 」等。這種操作稱為:lemmatization 。

語言處理元件(linguistic processor)的結果稱為詞(Term) 。

在我們的例子中,經過語言處理,得到的詞(Term)如下:

「student」,「allow」,「go」,「their」,「friend」,「allow」,「drink」,「beer」,「my」,「friend」,「jerry」,「go」,「school」,「see」,「his」,「student」,「find」,「them」,「drink」,「allow」。

也正是因為有語言處理的步驟,才能使搜尋drove,而drive也能被搜尋出來。

第四步:將得到的詞(Term)傳給索引元件(Indexer)

索引元件(Indexer)主要做以下幾件事情:

1. 利用得到的詞(Term)建立乙個字典。

2. 對字典按字母順序進行排序。

3. 合併相同的詞(Term) 成為文件倒排(Posting List) 鍊錶。 * Document Frequency 即文件頻次,表示總共有多少檔案包含此詞(Term)。

* Frequency 即詞頻率,表示此檔案中包含了幾個此詞(Term)。

綜上,這個只是搜尋引擎的簡單實現,真正的肯定比這個複雜,特別是中文處理方面。

2樓:大茗

參考該文《分詞與索引庫》http://www.

如果想更詳細了解,可以看一些搜尋引擎相關原理的書籍。

excel如何將搜尋關鍵詞的所在行,進行排序?

高亮 再提供乙個傻瓜一點的方法 1 假設表有N列,在N 1列中用 將前N列連線起來,類似A1 B1 C1 得到每一行的字串集合 中間加個分隔符更保險 2 開啟篩選,篩選關鍵字串,將結果貼上出來3 篩選不包含關鍵字串,將剩餘結果貼上在下面。手工排序成功 史學楷 Apollogt 建個輔助列,find ...

2018 年健身行業的關鍵詞有哪些?反映了怎樣的行業趨勢?

ARK創新諮詢 2014年,keep運動健身社群上線,並在短短一年內收穫1千萬使用者量。2015年,出現以樂刻 超級猩猩為代表的24小時健身平台出現,全智慧型運作,並打破 年卡預售 的付費模式。之後,傳統年卡制健身房 私教工作室等陸續開始更新智慧型健身硬體。過去,如果運動小白想要健身,他可能是因為小...

2019 年機械人行業的關鍵詞有哪些?反映了怎樣的行業趨勢?

王大傑 1 替代 人工智慧的發展歸根結底是為人類服務,而我們人類8成的工作都是充滿抱怨與機械化的,這是最急切的需要,也是最容易單點突破的關鍵。2 意識 機械人是否需要意識呢?我們能給機械人意識嗎?未來人類是向著機械人進化,還是生化人進化呢,這是人類面對基礎生理需求的迫切問題,為什麼這麼說?疾病,壽命...