一部指導搜尋引擎理論的書
引言,打算業餘的時間將這本書的骨架寫出來,至於其中的血肉,有空了再補充上。這裡基本上最主要的內容是數學+資訊學,基本上是我這幾年的工作。
因此基本上以理論知識為主,當然也會有一些實用的例子,如果您問「如何提高**的排名?」或者「如何提高被搜尋到的次數?」,抱歉,這些問題不在我的回答範圍內,我這裡要寫的是關於搜尋的理論,已經被搜尋引擎用到的和沒有用的到,已經公開的或者未公開的知識。
第一章 數字資訊概述
講述數字資訊的歷史,特徵。。。(略)
第二章 資訊的相關性
correlation = (ab_n)/(a_n + b_n - ab_n)
第三章:資訊的表達
本章講述兩個問題:資訊的夾角和資訊的表達
1] 資訊的夾角
theta(i_a, i_b) = sqrt(arccos( relation(i_a, i_b)))
0度,表明資訊平行,或者乘平行的資訊,說明資訊之間完全相關。
90度,表明資訊正交,正交的資訊,說明資訊之間沒有相關性。
由此推算unix 和 linux 之間的夾角為:73度。
2] 資訊的表達:
資訊失的概念:
對於任何資訊失,對其取模可以得到資訊失的長度,m_a=||i_a|| ,那麼單位資訊失表達為:
i_a = i_a/m_a = i_a/||i_a||
適當的選取資訊失,從而可以選擇單位資訊失,那麼任何的資訊向量可以通過單位資訊失的組合得到。
我們首先來假設建立如下的一組資訊失:
i_1, i_2, i_3,... i_n. 即整個資訊空間有n 維,並由資訊失(i_1,..,i_n)來構造,那麼任何這個資訊空間的資訊失a可以寫成如下的格式:
a = a_1 * i_1 + a_2 * i_2 +..+ i_n*a_n
其中 a_j = a點乘i_j , j從1到n。
第四章:資訊的形狀
本章主要介紹資訊空間和資訊的形狀
keywords: 資訊空間 information space, 資訊的形狀 information shape
1] 什麼是資訊空間
資訊空間是由一組資訊失 (information base vector) 構成的乙個能夠將需要表達的資訊完全含概其中的乙個多維向量空間。
正如上一章所闡述的概念,任何乙個資訊向量可以通過資訊基失的組合得到,也就是說資訊在資訊空間裡具有線性的表達方式。
2] 什麼是資訊的形狀
the shape of information 是對乙個資訊在資訊空間裡的乙個總體概括。資訊的形狀與資訊所表達的內容息息相關,我在這裡對資訊的形狀進行如下的分類:
以資訊a 為例
a = a_1 * i_1 + a_2 * i_2 +..+ i_n*a_n
其中 a_j = a點乘i_j , j從1到n。
(1) 直線型資訊
這類資訊表示這個資訊基本上投影在乙個資訊基失上,表象為整個資訊同乙個資訊基失平行。
a = i*||a||
(2) 平面型資訊
這類資訊可以通過兩個基失進行表達,因此是平面型的:
a = ||a||(sin(theta) * i + cos(theta) * j )
(3) 錐型資訊
這類資訊投影在3個或者3個以上的基失空間
(4) 球形型資訊
這類資訊投影在所有的基失空間,且基本均勻分布。
現實中的資訊都是有以上4類的組合而成,真正完全屬於以上(1,2,4)類的資訊並不多見,而屬於錐形的資訊就比較常見。
第五章:資訊的分類
資訊依照體特徵進行分類,通常有兩種分類方法:
1] 資訊分類按照定義好的人為的劃分進行分類,例如:教育,娛樂,商業等等。
2] 自動類聚依照資訊在空間的夾角,並且對資訊進行 cluster 的尋找。
分類方法的;例項:
採用的方法比較常用的是」sliding-window「的做法,就是用乙個大小合適的視窗在資訊空間的球表面進行移動,當這個window裡包涵了較大的資訊向量個數的話,就說明這裡是乙個資訊cluster,或者叫做 info-jet.
這個window在這個位置一定是乙個最大值,掃瞄到了資訊cluster的中心,擴充套件可以得到整個cluster.
第六章:資訊的聚類
對自動聚類又進行了測試,發現sliding window可以進行簡化,實現簡併演算法,算是乙個突破吧,因此重寫這一章。
ll 2004/11/22
有了良好的分類機制,才能夠對資訊進行有效的聚類。
聚類採取自動的方法基本上基本上有三種:
1] 現有的依靠大量樣本進行n***訓練後進行單次模糊模式識別的方法。
方法的特長是能夠快速的準確的進行自動聚類,缺點是需要大量的樣本進行預先的訓練。
防止過度訓練和如何處理誤差等變得非常關鍵。
類似的機制還有 knn,svm和貝葉斯統計法,回頭細緻介紹。
2] 平移演算法,或者也叫卷積(自相關)演算法。
corr= intergal( f(x)*f(x-t) dt )
clusty
的自動聚類就是採用的平移演算法。
平移演算法的特點是計算迅速,簡單易用。
缺點是計算的次數和資訊的數量的平方成正比:n^2/2
3] sliding window以及兼併演算法
sliding window方法根據資訊間的夾角,能非常有效的發現一簇資訊,並且控制視窗的大小可以來訂製聚類後資訊的相識度。
sliding window的優點是非常精確,可調節性強。
缺點是非常繁瑣,所計算的次數和資訊空間的維數的階數成正比,例如1000維,大約要計算10^1000 次,天文數字。
簡併演算法:在對sliding window進行了分析後,可以採用一種簡併演算法來快速收斂。簡併演算法是先找到任何兩個資訊之間的最小夾角,然後進行簡併,成為乙個資訊向量,這樣經過若干次的簡併後就收縮到非常少的資訊向量上。而這些較少的資訊向量的夾角都比較大,是不同類別的資訊向量,即實現自動聚類。
舉例說明:1000組的資訊進行簡併處理,六次就可以收縮到15個分類裡面,而六次所需要的計算量大約為60萬次,基本上不會有難處了。
搜尋引擎 索引
正排索引 文件編號,單詞編號,單詞的數量,單詞出現的位置。倒排索引 1,單詞詞典,儲存單詞以及統計資訊,單詞在記錄表中的便宜,可常駐記憶體,用雜湊表儲存。2,記錄表,單詞對應的文件集合,記錄單詞出現的數目 位置。文件採用差分變長編碼。其中文件可按編號公升序排列 可利用差分編碼 也可按出現次數排列,可...
MySQL搜尋引擎程式 mysql搜尋引擎
mysql是我們比較常用的一種資料庫軟體。它有著諸多的優點,如開源的,免費的等等。其實它還有乙個很好的特點,那就是有多種引擎可以供你選擇。如果賽車手能根據不同的路況,地形隨手更換與之最適宜的引擎,那麼他們將創造奇蹟。然而目前他們還做不到那樣便捷的更換引擎,但是我們卻可以 所謂知己知彼方可百戰不殆,要...
開源搜尋引擎
從1992年北京開設第一家辦事處至今,微軟在進入中國15年內進一步本土化的過程中,逐漸制定了與中國軟體產業共同發展,構築 生態系統 的目標。近期,微軟不斷加大同中國軟體產業的合作,其中發展了五家 全球戰略合作夥伴 繼神州數碼 山東浪潮 中軟軟體 創智國際之後,微軟於3月8日找到了第五家 浙大網新。微...