亚洲无人区一区二区三区_农村玉米地少妇野战亚洲_国产欧美日韩VA另类在线播放_免费人成视频网站在线_国产在线精品一区二区高清不卡

SEO搜索引擎優(yōu)化密碼

作者:草根香蕉皮 瀏覽:194 發(fā)布時(shí)間:2017-06-21
分享 評(píng)論 0

基礎(chǔ)知識(shí) 一個(gè)簡單例子

假如有四個(gè)文檔,分別代表四部電影的名字:

The Shawshank Redemption Forrest Gump The Godfather The Dark Knight

如果我們想根據(jù)這四個(gè)文檔建立信息檢索,即輸入查找詞就可以找到包含此詞的所有電影,最直觀的實(shí)現(xiàn)方式是建立一個(gè)矩陣,每一行代表一個(gè)詞,每一列代表一個(gè)文檔,取值1/0代表該此是否在該文檔中。如下:

  

如果輸入是Dark,只需要找到Dark對(duì)應(yīng)的行,選出值為1對(duì)應(yīng)的文檔即可。當(dāng)輸入是多個(gè)單詞的時(shí)候,例如:The Gump,我們可以分別找到The和Gump對(duì)應(yīng)的行:1011和0100,如果是想做AND運(yùn)算(既包括The也包括Gump的電影),1011和0100按位與操作返回0000,即沒有滿足查詢的電影;如果是OR運(yùn)算(包括The或者包括Gump的電影),1011和0100按位與操作返回1111,這四部電影都滿足查詢。

實(shí)際情況是我們需要檢索的文檔很多,一個(gè)中等規(guī)模的bbs網(wǎng)站發(fā)布的帖子可能也有好幾百萬,建立這么龐大的一個(gè)矩陣是不現(xiàn)實(shí)的,如果我們仔細(xì)觀察這個(gè)矩陣,當(dāng)數(shù)據(jù)量急劇增大的時(shí)候,這個(gè)矩陣是很稀疏的,也就是說某一個(gè)詞在很多文檔中不存在,對(duì)應(yīng)的值為0,因此我們可以只記錄每個(gè)詞所在的文檔id即可,如下:

  

查詢的第一步還是找到每個(gè)查詢?cè)~對(duì)應(yīng)的文檔列表,之后的AND或者OR操作只需要按照對(duì)應(yīng)的文檔id列表做過濾即可。實(shí)際代碼中一般會(huì)保證此id列表有序遞增,可以極大的加快過濾操作。上圖中左邊的每一個(gè)詞叫做詞項(xiàng),整張表稱作倒排索引。

實(shí)際搜索過程

如果要實(shí)現(xiàn)一個(gè)搜索功能,一般有如下幾個(gè)過程

搜集要添加索引的文本,例如想要在知乎中搜索問題,就需要搜集所有問題的文本。

文本的預(yù)處理,把上述的收集的文本處理成為一個(gè)個(gè)詞項(xiàng)。不同語言的預(yù)處理過程差異很大,以中文為例,首先要把搜集到的文本做分詞處理,變?yōu)橐粋€(gè)個(gè)詞條,分詞的質(zhì)量對(duì)最后的搜索效果影響很大,如果切的粒度太大,一些短詞搜索正確率就會(huì)很低;如果切的粒度太小,長句匹配效果會(huì)很差。針對(duì)分詞后的詞條,還需要正則化:例如濾除停用詞(例如:的把并且的

根據(jù)上一步的詞項(xiàng)和文檔建立倒排索引。實(shí)際使用的時(shí)候,倒排索引不僅僅只是文檔的id,還會(huì)有其他的相關(guān)的信息:詞項(xiàng)在文檔中出現(xiàn)的次數(shù)、詞項(xiàng)在文檔中出現(xiàn)的位置、詞項(xiàng)在文檔中的域(以文章搜索舉例,域可以代表標(biāo)題、正文、作者、標(biāo)簽等)、文檔元信息(以文章搜索舉例,元信息可能是文章的編輯時(shí)間、瀏覽次數(shù)、評(píng)論個(gè)數(shù)等)等。因?yàn)樗阉鞯男枨蟾鞣N各樣,有了這些數(shù)據(jù),實(shí)際使用的時(shí)候就可以把查詢出來的結(jié)果按照需求排序。

查詢,將查詢的文本做分詞、正則化的處理之后,在倒排索引中找到詞項(xiàng)對(duì)應(yīng)的文檔列表,按照查詢邏輯進(jìn)行過濾操作之后可以得到一份文檔列表,之后按照相關(guān)度、元數(shù)據(jù)等相關(guān)信息排序展示給用戶。

相關(guān)度

文檔和查詢相關(guān)度是對(duì)搜索結(jié)果排序的一個(gè)重要指標(biāo),不同的相關(guān)度算法效果千差萬別,針對(duì)同樣一份搜索,百度和谷歌會(huì)把相同的帖子展示在不同的位置,極有可能就是因?yàn)橄嚓P(guān)度計(jì)算結(jié)果不一樣而導(dǎo)致排序放在了不同的位置。

基礎(chǔ)的相關(guān)度計(jì)算算法有:TF-IDF,BM25 等,其中BM25 詞項(xiàng)權(quán)重計(jì)算公式廣泛使用在多個(gè)文檔集和多個(gè)搜索任務(wù)中并獲得了成功。尤其是在TREC 評(píng)測(cè)會(huì)議上,BM25 的性能表現(xiàn)很好并被多個(gè)團(tuán)隊(duì)所使用。由于此算法比較復(fù)雜,我也是似懂非懂,只需要記住此算法需要詞項(xiàng)在文檔中的詞頻,可以用來計(jì)算查詢和文檔的相關(guān)度,計(jì)算出來的結(jié)果是一個(gè)浮點(diǎn)數(shù),這樣就可以將用戶最需要知道的文檔優(yōu)先返回給用戶。