主頁 > 快速排名 > 常見問題 > 五分鐘了解搜索原理

五分鐘了解搜索原理

POST TIME:2018-12-03 21:46

 

本篇文章是對(duì)于搜索系統(tǒng)工作原理一個(gè)整體的介紹,對(duì)于原理的理解,是設(shè)計(jì)系統(tǒng)舉重若輕的基礎(chǔ)。

1. 信息和信息量

在介紹搜索之前,先介紹兩個(gè)概念:信息和信息量。

(采用的均是自以為比較通俗易懂的解釋,如果感興趣可以讀相關(guān)書籍)

1.1 信息是減少不確定性的東西,信息也是增加確定性的東西。

前半句是香農(nóng)信息定義,后半句是逆香農(nóng)信息定義。舉個(gè)栗子,回想下,和一個(gè)異性交往的過程。在你遇到TA之前,你不知道這個(gè)世界上有這個(gè)人的存在,后來你看到了TA的樣子,后來你了解了TA的性格、口頭禪,往事。然后一步一步,你對(duì)TA從絲毫不了解,到逐漸熟識(shí)。這期間就是一個(gè)你不停獲取TA信息的過程,正是這些信息,讓你從完全不確定TA是怎樣的人,到完全確定TA很適合你。

1.2 信息量是一個(gè)信息能減少不確定性的度量,信息量也是一個(gè)信息能增加確定性的度量。

關(guān)于信息量,有很多數(shù)學(xué)的描述,但是通俗來講,可以這么簡(jiǎn)單理解。舉個(gè)栗子,證人描述嫌疑犯。A證人的信息是“他是個(gè)男人”。B證人的信息是“TA是個(gè)高中男生”,C證人的信息是“TA是個(gè)長發(fā)170擺布的高中生?!盌證人的信息是“我認(rèn)識(shí)他,他是學(xué)校的扛把子陳浩南”。我們直覺能感受到信息量的大小關(guān)系為:A

翻譯為計(jì)算機(jī)可以理解的數(shù)學(xué)邏輯:本地男人的比例是50%,本地高中男生的比例為8%,本地長發(fā)170擺布的高中男生的比例是4%,本地叫陳浩南的扛把子的比例是0.0001%。因?yàn)镻(A)>P(B)>P(C)>P(D),所以信息量的大小關(guān)系為:A

2. 搜索的產(chǎn)品邏輯

搜索滿足了用戶迅速找到本身感興趣內(nèi)容的需求。用戶輸入一個(gè)query,搜索系統(tǒng)按照用戶的輸入的信息,篩選出系統(tǒng)認(rèn)為用戶感興趣的內(nèi)容,同時(shí)根據(jù)系統(tǒng)認(rèn)定的重要性進(jìn)行排序展示。請(qǐng)注意這個(gè)表述,簡(jiǎn)單而言,搜索可以分為三步。

Step1:對(duì)用戶輸入信息的解讀Step2:按照用戶輸入信息對(duì)內(nèi)容進(jìn)行篩選Step3:對(duì)篩選后的結(jié)果進(jìn)行排序

而要了解這三步怎么在搜索系統(tǒng)中完成,就需要先了解搜索的辦事器怎么存儲(chǔ)信息。

3. 搜索數(shù)據(jù)的存儲(chǔ)原理

上一張圖,假設(shè)我們做了一個(gè)新聞網(wǎng)站,那么它的結(jié)構(gòu)就是下圖。內(nèi)容進(jìn)行了簡(jiǎn)化,假設(shè)一個(gè)新聞,文本只有標(biāo)題,導(dǎo)語,正文。數(shù)據(jù)只有閱讀量,評(píng)論數(shù),分享數(shù)。

圖1-1

差不久不多就是上圖右邊的這種結(jié)構(gòu)。右邊標(biāo)識(shí)的是新聞內(nèi)容的存儲(chǔ):就像圖書館的書一樣,整整齊齊按挨次排好,便利查找(這個(gè)存儲(chǔ)結(jié)構(gòu)的名字叫做索引,就是來自于圖書館的用語)。左邊是詞庫:只要一次搜索的輸入詞能匹配到詞庫,就可以快速的查找詞庫到對(duì)應(yīng)的內(nèi)容。

每個(gè)搜索系統(tǒng)都有本身的詞庫,無法對(duì)應(yīng)到分詞的搜索行為就會(huì)沒有結(jié)果。每個(gè)搜索系統(tǒng)都會(huì)按照目標(biāo)用戶的差別,有對(duì)應(yīng)的一套詞庫,就像字典一樣,《冶金專業(yè)詞典》和《生物學(xué)大辭典》收錄的詞條是差別的,知乎的詞庫和淘寶的詞庫也差別。搜索的很多優(yōu)化都是集中在詞庫的優(yōu)化上。

簡(jiǎn)單總結(jié)下,搜索的存儲(chǔ)原理就是:一個(gè)系統(tǒng)詞庫,一個(gè)擺列整齊的內(nèi)容索引庫,同時(shí)系統(tǒng)詞庫和內(nèi)容索引庫之間可以快速關(guān)聯(lián)。

在這個(gè)搜索系統(tǒng)的儲(chǔ)存結(jié)構(gòu)的基礎(chǔ)上,我們提到的搜索三步驟將依次展開。

4. Step1:對(duì)用戶輸入信息的解讀

前面提到,搜索的詞庫是有限的,但是用戶的輸入?yún)s是沒有限制的。那么怎么把無限制的搜索轉(zhuǎn)化為有限的詞庫,而且匹配到對(duì)應(yīng)的結(jié)果呢?這里需要介紹一個(gè)新的概念:分詞,簡(jiǎn)單來說就是對(duì)輸入字符串進(jìn)行分拆。

同樣以【圖1-1】中的新聞搜索系統(tǒng)為例。如果用戶輸入的query為“中國的轉(zhuǎn)基因食物”,系統(tǒng)中其實(shí)沒有這個(gè)詞。如果沒有分詞功能,這個(gè)搜索就會(huì)立即結(jié)束,,即使系統(tǒng)里確實(shí)有對(duì)應(yīng)的內(nèi)容。分詞的工作原理是在無法精確匹配的情況下,會(huì)對(duì)用戶的輸入進(jìn)行進(jìn)一步的拆分。于是我們得到了下面的結(jié)果。

“中國的轉(zhuǎn)基因食物”——“中國”、“的”、“轉(zhuǎn)基因”、“食物”。

并不是所有的詞都有信息量,如果召回“的‘’的結(jié)果,那么幾乎所有的新聞內(nèi)容里面都會(huì)有這個(gè)字,召回這么多結(jié)果顯然是分歧錯(cuò)誤的。好比這個(gè)query里的“的”,這個(gè)詞實(shí)際上在分詞系統(tǒng)中會(huì)被直接忽略掉。正是因?yàn)槌霈F(xiàn)在內(nèi)容中的概率差別,一個(gè)詞出現(xiàn)的新聞越多,這個(gè)詞的信息量就越小,信息量太小的詞會(huì)被忽略,也就是停用詞。同時(shí)包羅信息量越大的詞的新聞內(nèi)容,會(huì)更更要。那么去掉停用詞之后,結(jié)果就進(jìn)一步簡(jiǎn)化。

“中國的轉(zhuǎn)基因食物”——“中國”、“轉(zhuǎn)基因”、“食物”。

經(jīng)過處理,用戶非尺度的query就被轉(zhuǎn)化為尺度的詞庫,就可以快速找到對(duì)應(yīng)的內(nèi)容了。如【圖1-1】所示。

5. Step2:按照用戶輸入信息對(duì)內(nèi)容進(jìn)行篩選

經(jīng)過對(duì)用戶的query解讀之后,其實(shí)就得到了一些尺度化的詞,而這些詞就會(huì)對(duì)應(yīng)一些搜索目標(biāo)內(nèi)容,接下來就是對(duì)于內(nèi)容的篩選。

標(biāo)簽:九江 烏魯木齊 鹽城 東營 林芝



收縮
  • 微信客服
  • 微信二維碼
  • 電話咨詢

  • 400-1100-266