1、數據挖掘
數據挖掘是運用計算機及信息技術,從大量的、不徹底的數據集中獲取隱含在其中的有用知
識的高級過程。Web 數據挖掘是從數據挖掘發展而來,是數據挖掘技術在Web 技術中的應
用。Web 數據挖掘是一項綜合技術,經過從Internet 上的資源中抽取信息來提升Web 技術的
利用效率,也就是從Web 文檔結構和試用的集合中發現隱含的模式。
數據挖掘涉及的學科領域和方法不少,有多種分類法。
(1)根據挖掘對象分:關係數據庫、面向對象數據庫、空間數據庫、時序數據庫、DNA 數
據庫、多媒體數據庫、異質數據庫、遺產數據庫以及Web數據庫等;
(2)根據挖掘方法分:機器學習方法、統計方法、神經網絡方法和數據庫方法等;
a. 機器學習方法可細分爲:概括學習方法(決策樹、規則概括等)、基於範例學習、遺傳算
法等。
b.統計方法可細分爲:迴歸分析(多元迴歸、自迴歸等)、判別分析(貝葉斯判別、費歇爾
判別、非參數判別等)、聚類分析(系統聚類、動態聚類等)、探索性分析(主元分析法、相
關分析法等)等。
c. 神經網絡方法可細分爲:前向神經網絡(BP 算法等)、自組織神經網絡(自組織特徵映
射、競爭學習等)等。
(3)根據開採任務分:可分爲關聯規則、分類、聚類、時間序列預測模型發現和時序模式
發現等。
a.關聯規則:典型的關聯規則發現算法是Apriori算法,該算法也稱廣度優先算法,是
A.Agrawal和R.Srikandt於1994年提出的,它是目前除AIS 算法、面向SQL的SETM 算
法外幾乎全部頻繁項集發現算法的核心,其基本思想是:若是一個項集不是頻繁集,則其父
集也不是頻繁集,由此大大地減小了須要驗證的項集的數目,在實際運行中它明顯優於AIS
算法。
Apriori算法是關聯規則挖掘中最具備影響的一種算法.所謂關聯規則就是從事務數據庫、關
係數據庫和其餘數據存儲中的大量數據的項集之間發現有趣的、頻繁出現的模式、關聯和相
關性.關聯規則能夠分爲兩步:
1)找出全部頻繁項集.這部分主要由後面介紹的Apriori算法來解決.
2)由頻繁項集產生相關聯規則:這些規則必須知足最小支持度和最小置信度.
b.分類規則:數據挖掘的一個重要任務是對海量數據進行分類。數據分類是基於一組數據的
某些屬性的值進行的。數據分類的方法不少,包括決策樹方法、統計學方法、神經網絡方法、
最近鄰居方法等等。其中,基於決策樹的分類方法與其它的分類方法比較起來,具備速度較
快、較容易轉換成簡單的而且易於被理解的分類規則、較易轉換成數據庫查詢語言、友善、
可獲得更高的準確度等優勢。
c.數據聚類:其基本思想是:對數據進行分析的過程當中,在考慮數據間的「距離」的同時,
更側重考慮某些數據間具備類的共同內涵。數據聚類是對一組數據進行分組,這種分組基於
以下的原理:最大的組內類似性與最小的組間類似性。
d. 時序模式:可用以下的例子描述時序模式:一個顧客先租看影片「Star Wars」,而後租
「Empire Strikes Back」,再租「Return of the Judi」,注意到這些租借事物的發生不必定是連
着的。像這樣一次事件的發生會致使某些事物的相繼發生的事件模式,稱爲時序模式。
e.類似模式:時態或空間—時態的大量數據存在於計算機中,這些數據庫例子包括:股票價
格指數的金融數據庫、醫療數據庫、多媒體數據庫等等。在時態或空間—時態數據庫中搜索
類似模式的目的是發現和預測風險、因果關係及關聯於特定模式的趨勢。
2、Web挖掘
Web 站點上的數據有其自身的特色,主要的能夠概括爲如下幾點:
1 、數據量巨大,動態性極強;二、 異構數據庫環境;3 、半結構化的數據結構。
Web 數據挖掘能夠分爲Web 內容挖掘,Web結構挖掘,Web 使用挖掘三類。Web 內容挖掘是
從文檔內容或其描述中抽取有用信息的過程,Web 內容挖掘有兩種策略:直接挖掘文檔的內
容和在其餘工具搜索的基礎上進行改進。採用第一種策略的有針對Web 的查詢語言
WebLOG,利用啓發式規則來尋找我的主頁信息的AHOY 等。採用第二種策略的方法主要是
對搜索引擎的查詢結果進行進一步的處理, 獲得更爲精確和有用的信息。屬於該類的有
WebSQL ,及對搜索引擎的返回結果進行聚類的技術等。根據挖掘處理的數據能夠將Web 內
容挖掘分爲文本挖掘和多媒體挖掘兩個部分。Web 結構挖掘是從Web 組織結構和連接關係
中推導知識。挖掘頁面的結構和Web 結構,能夠用來指導對頁面進行分類和聚類,找到權威
頁面、中心頁面,從而提升檢索的性能。同時還能夠用來指導頁面採集工做,提升採集效率。
Web 結構挖掘能夠分爲Web 文檔內部結構挖掘和文檔間的超連接結構挖掘。這方面的表明
有Page Rank和CLEVER,此外,在多層次Web數據倉庫( MLDB ) 中也利用了頁面的連接結
構。Web 使用挖掘是從服務器端記錄的用戶訪問日誌或從用戶的瀏覽信息中抽取感興趣的模式,經過分析這些數據能夠幫助理解用戶隱藏在數據中的行爲模式,作出預測性分析,從而
改進站點的結構或爲用戶提供個性化的服務。
Web 挖掘相關技術:
數據挖掘方法一般能夠分爲兩類: 一類是創建在統計模型的基礎上, 採用的技術有決策樹、
分類、聚類、關聯規則等; 另外一類是創建一種以機器學習爲主的人工智能模型,採用的方法有
神經網絡、天然法則計算方法等。
Web 內容挖掘:
一、Web 文本挖掘
Web 文本挖掘能夠對Web 上的大量文檔的集合的內容進行總結、分類、聚類、關聯分析,
以及利用Web 文檔進行趨勢預測。在Internet 上的文本數據通常是一組html 格式的文檔集,
要將這些文檔轉化成一種相似關係數據庫中記錄的規整且能反映文檔內容特徵的表示,通常
採用文檔特徵向量,但目前所採用的文檔表示方法中,都存在一個弊端就是文檔特徵向量具備
很是大的維數,使得特徵子集的選取成爲Internet 上文本數據挖掘過程當中的必不可少的一個
環節。在完成文檔特徵向量維數的縮減後,即可利用數據挖掘的各類方法,如分類、聚類、關
聯分析等來提取面向特定應用的知識模式,最後對挖掘結果進行評價,若評價結果知足必定的
要求則輸出,不然返回到之前的某個環節,分析改進後進行新一輪的挖掘工做。。關聯規則模式
數據描述型模式, 發現關聯規則的算法屬於無監督學習的方法。發現關聯規則一般要通過以
下3個步驟: ①鏈接數據, 作數據準備; ②給定最小支持度和最小可信度, 利用數據挖掘工
具提供的算法發現關聯規則; ③可視化顯示、理解、評估關聯規則。
目前 Web 內容挖掘研究主要集中在基於文本內容的檢索、信息過濾的提煉、重複數據消除、
數據模式抽取、中間形式表示、異構集成、文本分類和聚類、文檔總結和結構提取、數據倉
庫及OLAP等幾個方面,尤爲是基於XML的上述專題研究。
對分類挖掘而言,在預處理階段要作的事情就是把這個Web頁面集合文本信息轉化成一個
二維的數據庫表,其中每一列是一個特徵,每一行爲一個Web頁面的特徵集合。在文本學
習中經常使用的方法是TF工DF向量表示法,它是一種文檔的詞集(bag-of-words)表示法,全部
的詞從文檔中抽取出來,而不考慮詞間的次序和文本的結構。構造這種二維表的方法是:每
一列爲一個詞,列集(特徵集)爲辭典中的全部有區分價值的詞,因此整個列集可能有幾十萬
列之多。每一行存儲一個頁面內詞的信息,這時,該頁面中的全部詞對應到列集(特徵集)上。
列集中的每個列(詞),若是在該頁面中不出現,則其值爲0;若是出現k次.那麼其值就爲k。
這樣就能夠表徵出頁面中詞的頻度。這樣構造的二維表表示的是Web頁面集合的詞的統計
信息,最終就能夠採用Naive Bayesian方法或k-Nearest Neighbor方法進行分類挖掘。
WebSQL 是一個用於Web 頁重構的查詢語言,利用Web 文檔的圖樹表示形式,可從在線的文
檔站點或導遊指南中獲取信息。而Ahoy則利用像搜索引擎一類的互聯網服務來獲取與我的
有關的服務,利用試探法識別文檔中顯示該文檔做爲我的主頁的句法特徵。
分詞
目前已有不少分詞算法,如:正向最大匹配法(MM)、逆向最大匹配法(RMM)、逐詞遍歷匹
配法、設立切分標誌法、正向最佳匹配法和逆向最佳匹配法等。近幾年又提出了不少新的方
法旨在提升分詞的精度和分詞的速度,如:生成測試法經過詞法ATN和語義ATN之間的相
互做用來進行歧分決策,以提升分詞的精確性;改進的MM分詞算法採用正向增字最大匹
配法和跳躍匹配法,結合詞尾語義檢查和歸右原則以消除類型歧義;基於神經網絡的分詞方
法嘗試利用神經網絡來處理歧分問題,但同時又引入一個問題:訓練樣本的選取,因爲天然
語言的複雜性,如何選取訓練樣本還須要做深刻的研究;結合直接匹配算法、後綴分詞算法
和詞表結構支持首字Hash的方法,局部提升了速度,但不能進行標準的二分查找;支持首
字Hash的近鄰匹配算法利用最大增字匹配算法,並支持首字Hash和標準二分查找以提升
分詞速度。
分詞的基本算法有: (1)基於詞典與規則匹配法。基於詞典與規則的方法應用詞典匹配, 漢語
詞法或其它漢語語言知識進行分詞, 這類方法簡單、分詞效率較高,但對詞典的完備性、規則
的一致性等要求比較高。匹配策略有: 最大匹配法、最小匹配法、逆向匹配法、增字或減字
匹配法、雙向掃描法。(2)標誌法。如切分標誌法、統計標引法。(3)詞頻統計法。基於統計
的分詞方法將漢語基於字和詞的統計信息, 完備性較差。(4)語義語用法。如後綴分詞法。目
前使用最多的是基於詞庫的分詞方法。因爲中文在分詞時可能產生二義性, 如「計算機器」
可分紅「計算」「/ 機器」和「計算機」「/ 器」, 這樣必須結合其它分分詞方法, 如基於語
法規則的分詞法、基於樸素貝葉斯分詞法等。在具體的分詞過程當中, 咱們還能夠將單詞變型
歸併, 像同義詞、近義詞可進行歸併, 如「因特網」和「萬維網」可當成一個詞條處理。
語義Web 是下一代的Web 技術,它賦予Web 以計算機可理解的語義信息。
在語義Web技術中,本體起着重要的做用。本體是人們對領域知識達成的共識,是對領域
的形式化與結構化的描述。本項目針對語義Web 目前存在的問題,應用語義Web 技術,
信息集成和信息管理的若干關鍵技術,從多個方面對語義Web 進行研究。
(1)語義信息集成。對本體的語義標註和本體集成方法進行研究,利用基於本體的語義標
注和本體映射技術從異構的資源中抽取出有用信息,並經過映射方法集成多種信息源的的信
息。
(2)語義查詢。實現語義信息的多種查詢方式,包括:本體的可視化導航查詢,針對概念/
實例/屬性的查詢,基於全文檢索技術的查詢,語義關係的查詢。
(3)語義信息挖掘。語義信息的挖掘一直處在一個很淺層的階段,目前的多數研究一直處
在傳統的文本信息挖掘。本項目的研究主要從本體實例聚類、本體分類,本體關聯規則挖掘
以及本體中關鍵詞的抽取。這些技術是語義Web 的應用的基礎,他們能夠用來分析語義信
息的趨勢,語義數據的自動處理等。
(4)語義Web Service。經過系統定義的軟件本體對Web Service 進行描述,從而實現
WebService 的評估、組裝等功能。
(5)基於Peer to Peer 的語義信息管理。這個問題的核心思想是要經過集成已有的Peer to
Peer框架實現語義挖掘平臺在P2P 環境下的應用。
(6)算法解釋。利用定義的基礎數據結構對上述算法的執行過程進行log,從而輕鬆的實現
用戶-算法及開發-算法之間的交互。提供針對算法自己的更友好的接口。
2 、Web 多媒體挖掘
Web 多媒體挖掘與Web 文本挖掘的不一樣點就在於須要提取的特徵不一樣。Web 多媒體挖掘
須要提取的特徵通常包括圖像或視頻的文件名URL 、類型、鍵值表、顏色向量等。而後可
以對這些特徵進行挖掘工做。如關聯分析發現相似「若是圖像是‘大’並且與關鍵詞‘草原’
有關,那麼它是綠色的機率是0. 8」的關聯規則。固然也能夠對多媒體進行分類、聚類等操做。
多媒體數據挖掘的方法主要有:多媒體數據中的類似搜索,主要有兩種多媒體標引和檢索技
術:基於描述的檢索系統和基於內容的檢索系統;多媒體數據的多維分析,能夠按傳統的從
關係數據中構造數據立方體的方法,設計和構造多媒體數據立方體;分類和預測分析,主要
應用於天文學、地震學和地理科學的研究,決策樹分類是最經常使用的方法;多媒體數據的關聯
規則挖掘,關聯規則的挖掘主要包括如下三類規則:圖像內容和非圖像內容之間的關聯、與
空間關係無關的圖像內容的關聯、與空間關係有關的圖像內容的關聯。
三、特徵提取
經典的文本表示模型是向量空間模型(VSM—Vector Space Model),由Salton 等人於60 年
代末提出,併成功地應用於著名的SMART 文本檢索系統。向量空間模型對文本進行簡化
表示,認爲特徵之間是相互獨立的而忽略其依賴性,將文檔內容用它所包含的特徵詞來表示:
D=(t1,t2,?,tN),其中tk 是文檔D 的第k 個特徵詞,1 ≤ k ≤ N 。兩個文檔D1 和
D2 之間內容的類似程度Sim(D1,D2)經過計算向量之間的類似性來度量。最經常使用的類似
性度量方式是餘弦距離。
除了向量空間模型以外,Stephen Robertson 和Spark Jones 等人提出的機率模型獲得了人們
的普遍承認。該模型綜合考慮了詞頻、文檔頻率和文檔長度等因素,把文檔和用戶興趣(查
詢)按照必定的機率關係融合,造成了著名的OKAPI 公式。該模型在信息檢索領域取得了
成功。
降維就是自動從原始特徵空間中提取出部分特徵的過程,通常經過兩種途徑:一是根據對樣
本集的統計信息刪除不包含任何信息的特徵;二是將若干低級的特徵合成一個新特徵。目前
關於特徵提取的方法不少,如文檔頻率法(DF)、信息增益(IG)、互關聯信息(MI)、 x2 統計
法(CHI)、特徵加強(TS)等。DF是指包含某一特徵的文檔數,TS 法經過統計特徵在一組相
近文檔中出現的頻率來估計特徵的重要性,然而,人們在實際應用中發現,某些DF值或
TS值很低的特徵反而是信息相關的,不能從特徵空間中刪去,所以這兩種方法在某些狀況
下不可靠,MI的弱點是受特徵的邊緣機率的影響很大,CHI和IG的使用效果較好。通常用的評估函數有概率比(Odds ratio) 、信息增益( Information Gain) 、指望交叉熵( Expected
CrossEntropy) 、互信息( Mutual Information) 、詞頻( WordFrequency) 等。
(1)IG(Information Gain):即信息贏取。IG值表明了特徵在訓練集上的分佈狀況,它經過統
計特徵在各個類別中的出現次數來計算,公式以下:
其中 t 表明特徵 ,ci表明第i個類別,m爲類別個數,只Pr (cI)表明類別cI的機率,Pr (cI|i)
表明在包含特徵t的條件下類別ci的機率,Pr (cI|-t) 表明在不包含特徵t的條件下類別cI
的機率,Pr(t) 表明特徵t出 現 的 機率,Pr (-t) 表明特徵t不出現的機率。IG值越高表示
該特徵在訓練集中的類別上分佈越集中。IG方法提取IG值較高的特徵,其基本思想爲分佈
越集中的特徵越重要。
(2) MI(Mutual Information):即互信息值,它經過計算特徵t和類別c間 的相關性來完成提取。
計算公式爲: 爲方便計算,簡化爲: 其中N爲訓練集中包含的文本總數,A爲t與c同時出
現的次數,B爲t出現而c不出現的次數,C爲c出現而t不出現的次數。經過該公式就可
以取得特徵與各種別間的互信息值。爲了能取得特徵在數據集上的總體評價,有如下兩種計
算方法:
前 者表明 了 特 徵 和 各種別的平均互信息值,後者則取特徵與各種別互 信 息 值中
的最大值。MI方法提取互信息值較高的特徵,其基本思想爲與類別相關性越高的特徵越重
要。
(3)CHI 具備和MI方法基本類似的思想,一樣經過計算特徵t和類別c間的依賴程度來完
成提取。但兩者的計算細節不一樣,CHI做了更多地考慮 ,有種見解認爲CHI是一種「正規
化」了的MI。CHI的計算公式以下: 其中N爲訓練集中包含的文本總數,A爲t與c同時
出現的次數,B爲t出現而c未出現的次數,C爲c出現而t未出現的次數,D爲兩者都未
出現的次數。與MI相同,CHI也有平均值和最大值兩種方法來取得特徵的總體評價:
CHI 方 法 的基本思想也是與類別關係越緊密的特徵重要性越高。
(4)DF (Document frequency):即文檔頻率,指訓練集中包含該特徵的文本總數。所謂文本包含
特徵是指這個特徵在該文本中出現,忽略其在文本中的出現次數。DF方法提取DF值較高
的特徵,它的目的是去掉在訓練集上出現次數過少的特徵,保留出現達到必定次數、具備一
定影響力的特徵。在各個特徵提取方法中,DF方法的計算是最簡單的。
(5)WEE(Weight Evidence):即文本證據權,其計算公式以下: 其中,t是一個特徵,m是類
別的數量,ci表明第i個類別,表明類別ci的機率,Pr (cI|t)表明在包含特徵t的條件下類別
ci的機率,Pr(t)表明特徵t出現的機率。
四、分類
目前文本分類的方法不少,如多元迴歸模型、K-鄰近方法、神經網絡法、貝葉斯方法、決策樹法、支持向量機等,這些方法基本上能夠分爲兩類:統計分類方法和基於機器學習的分
類方法。支持向量機(SVM)是統計學習理論領域近幾年才提出的新知識,目前仍處於發展階
段,但就目前的應用而言,SVM在不少領域的運用效果都很是理想。
網頁自動分類是Web內容挖掘的主要研究內容之一,採用的主要技術是分本分類技術,這
是由於文本是目前Web內容的主體,而且對文本的處理較音頻、視頻的處理容易。文本分
類首先要進行特徵抽取。所謂特徵是指一個詞或詞組。目前英文分類算法大多以單詞爲特徵,
在分詞的時候利用空格和其它一些標點符號做爲分隔符,從而抽取出文檔中出現的全部特
徵,全部抽取出來的特徵稱爲全特徵集。特徵抽取完畢後通常還要進行特徵提取。特徵提取
是指從全特徵集中提取一個子集的過程。提取出來的子集稱爲特徵子集。根據John Pierre
的理論,用來表示文本的特徵理論上應具備以下特色;(1)數量上儘可能少;(2)出 現頻率適中;(3)
冗餘少;(4)噪音少;(5)與其所屬類別語義相關;(6)含義儘可能明確;從全特徵集中提取特徵子集
時一般根據特徵的權值進行取捨,權值的計算方 法有多種,好比信息贏取(Information
Gain),互信息(Mutual Information)等。特徵提取後就能夠用特徵子集來表示文本,而後就可
以構造用不一樣分類方法用來分類。常見的分類模型有:(1)K一 近鄰模型,(2)Rocchio模型,
(3)貝葉斯模型,(4)神經網絡模型,(5)決策樹模型。目前研究人員己經提出了許多文本分類
方法,如向量空間法(VSM)、迴歸模型、K近鄰法、貝葉斯機率方法、決策樹、神經網絡、
在線學習、支持向量機等。
在完成特徵提取以後,咱們就能夠使用這些特徵來表示一個文本。具體的表示方法因分類方
法而異。每種分類模型都會採用本身的方法來表示一個文本,並將這種表示方法歸入到本身
的體系中去。全部的分類模型大致上均可分爲訓練和分類兩個步驟。通常來講,訓練例越多
分類的準確度越有保證,但也並非越多越好。
(1) 基於TFIDF的Rocchio算法
Rocchio 算法來源於向量空間模型理論,向量空間模型(Vector space model)的基本思想爲採
用向量來表示一個文本,以後的處理過程就能夠轉化爲空間中向量的運算。基於TFIDF的
Rocchio是這種思想的一種實現方法,其中文本以一個N維向量來表示,向量維數N即特徵
數,向量份量是特徵的某種權重表示,該權值的計算方法稱爲TFIDF方法,步驟以下:
經過 TFIDF方法首先將訓練集中的文本表示爲向量,而後生成類別特徵向量(便可以用來代
表一個類別的向量)。類別特徵向量取值爲該類中全部文本向量的平均值。Rocchio算法訓練
的過程其實就是創建類別特徵向量的過程。分類的時候,給定一個未知文本,先生成該文本
的向量,而後計算該向量與各種別特徵向量的類似度,最後將該文本分到與其最類似的類別
中去。向量的類似度度量方法有兩種:(以x,y表明向量,xi,yi表明向量份量):
整體來看 ,Rocchio算法簡單易行,運行速度尤爲是分類速度較快。
(2) 樸素貝葉斯模型
貝葉斯分類是一種統計學分類方法,它基於貝葉斯定理,能夠用來預測類成員關係的可能性,給出文本屬於某特定類別的機率。分類時根據預測結果將該樣木分到機率最高的類別中去即
可。假定有m個類c1,c2,c3?Cm,給定未知文本X,貝葉斯分類將給出條件X下具備最高後
驗機率的類別,即最大化P(Ci|X)根據貝葉斯定理可得:
顯而易見,P(X)對於全部類是個常數,則只需最大化P(X|Ci )P(Ci)便可。P(ci)能夠根據訓練
集中的類別分佈來計算,即 ,其中|Ci|爲類別Ci包含的文本數,|D|爲訓練集中的文本總數。
在一個具備許多屬性的事例中,計算P(X|Ci)的開銷會很是大,爲了下降這種開銷而引出了
稱爲類條件獨立的樸素假定:假定文檔的一個屬性對於分類的影響獨立於其餘屬性,即文檔
的屬性之間是不相關的。這就是樸素貝葉斯(Na?ve Bayes)的由來。這樣就能夠簡單的以各個
屬性在類別Ci上出現的機率來推算P(X|Ci)。一般使用拉普拉斯估計(Laplacean prior)來推算。
又因實現細節的不一樣有兩種樸素貝葉斯模型,多元模型(Multi-variate Bernoulli Model)只考慮
了特徵在文本中是否出現(出現記爲1,不然記爲。),多項式模型(Multinomial Model)考慮了
特徵在文本中的出現次數:
樸素貝葉斯分類模型訓練的過程其實就是統計每個特徵在各種中出現規律的過程。從理論
上講,貝葉斯分類的出錯率最小,就試驗結果來看,樸素貝葉斯在大型的數據集上表現出來
可貴的速度和準確度。
(3) 決策樹
決策樹(Decision Tree)是一個相似於流程圖的樹結構,其中每一個節點表明一個屬性上的測試,
每一個分支表明一個測試輸出,最後的葉結點表明類別。決策樹方便改寫爲形如if-then的分
類規則,易於理解。決策樹的核心算法是一種貪心算法,它以自頂向下的方式在訓練集的基
礎上構造決策樹,以後取未知文本的屬性在決策樹上測試,路徑由根結點到葉結點,從而得
到該文本的所屬類別。決策樹的算法有C4.5(發展於ID3),CART,CHAID等,他們的區別在
於構造決策樹與樹枝剪除的算法細節不一樣。決策樹能夠很好的抵抗噪聲。最大的缺點在於不
適應大規模的數據集,此種狀況下決策樹的構造會變得效率低下。
(4) 神經網絡
神經網 (Neural Network)的學習結果爲目標函數,根據這個目標函數的輸出做爲分類的依
據。輸入即爲文本在各個特徵上的各份量值。神經網絡其實是一組鏈接的輸入/輸出單元,
其中每個鏈接都具備必定的權值。經過訓練集來訓練的過程就是調整這些權值的過程,使
得神經網絡能夠正確的預測類別。神經網絡的訓練是針對訓練例逐個進行的,因此神經網絡
的訓練集能夠隨時添加,不須要從新進行訓練就可完成網絡的調整。同時有實驗結果代表,
在訓練例過少的狀況下,神經網絡的分類準確率較低。由於可經過訓練來針對特徵取必定的
合適的權值,神經網絡能夠較好地抵禦噪音的干擾。
(5) K近鄰
K近鄰分類(K-nearest neighbor)的思想也來源於向量空間模型,一樣採用將文本轉化爲向量
的思想。KNN是一種基於類比的分類方法。在訓練的過程當中KNN會生成全部訓練例的特
徵向量,並將其保存下來。給定一個未知文本,首先生成它的特徵向量,以後KNN會搜索全部的訓練例,經過向量類似度比較從中找出K個最接近的訓練例,而後將未知文本分到
這K個近鄰中最廣泛的類別中去。類似度能夠經過歐幾里德距離或向量間夾角來度量。根
據經驗x通常取45。KNN是一種懶散的方法,即它沒有學習過程,只是存放全部的訓練例,
直到接到未知文本的時候才創建分類。ON的訓練過程較快,並且能夠隨時添加或更新訓練
例來調整。但它分類的開銷會很大,由於須要很大的空間來保存訓練例,並且分類效率不好。
有見解認爲在小數據集上KNN的表現優異。
(6) SVM方法
SVM方法是創建在統計學習理論的VC維理論和結構風險最小原理基礎上的,根據有限的
樣本信息在模型的複雜性(即對特定訓練樣本的學習精度)和學習能力(即無錯誤地識別任意
樣本的能力)之間尋求最佳折中,以期得到較好的綜合能力。SVM專門針對有限樣本,其目
標是獲得現有信息下的最優解而不只僅是樣本數趨於無窮大時的最優值(KNN和Naive
Bayes方法基於樣本數趨於無窮大),從理論上說,SVM獲得的將是全局最優勢,從而解決
了在神經網絡方法中沒法避免的局部極值問題。此外,SVM將實際問題經過非線性變換轉
換到高維的特徵空間,在高維空間中構造線性判別函數來實現原空間中的非線性判別函數,
特殊性質能保證機器有較好的推廣能力,同時它巧妙地解決了維數問題,其算法複雜度與樣
本維數無關。
五、網頁分類方法
通常來講,網頁中對於分類有做用的部分首先是核心文本,即網頁中關於網頁內容的文本部
分。其次是結構信息和超連接信息,再其次是多媒體信息。多媒體信息的識別涉及圖像檢索、
語音識別等技術,且目前沒有較好的結果,所以不多被考慮。咱們進行網頁分類的基本思路
是:
(1 ) 利用自行研製的網頁解析器分離出目標網頁的核心純文本。
(2 ) 利用自行研製的分類系統TCS對目標網頁的核心純文本部分進行分詞、特徵提取等操
做,併產生目標網頁的初始特徵向量。
(3) 根據特徵向量進行分類,肯定目標網頁的類別。
一般採用如下五種標準在不一樣的方面來評價一個分類器: (1) 精 度 (precision) (2)查全率
(recall) (3) F標準綜合了精度和查全率,將二者賦予一樣的重要性來考慮,即 ,其中r表明
查全率,p表明精度。這三 個 標 準都只用於分類器在單個類別上分類準確度的評價。(4)
宏觀平均值(macro-averaged score) (5)微觀平均值(micro-averaged score)。
Web 結構挖掘:
整個Web 空間中,有用知識不只包含在Web頁面內容中, 也包含在Web 頁間超連接結構與
Web 頁面結構之中。挖掘Web 結構的目的是發現頁面的結構和Web 間的結構,在此基礎上
對頁面進行分類和聚類,從而找到權威頁面,這種方法能夠用來改進搜索引擎。
在搜索引擎中存貯了數以億計的頁面,很容易獲得它們的連接結構。須要作到的是尋找一種
好的利用連接結構來評價頁面重要性的方法。Page Rank 的基本思想是: 一個頁面被屢次引
用,則這個頁面極可能是重要的;一個頁面儘管沒有被屢次引用,但被一個重要頁面引用,該頁
面也多是很重要的;一個頁面的重要性被均分並被傳遞到它所引用的頁面。在Page Rank
方法中,Page Rank被定義爲: 設u爲一個Web頁。Fu爲全部的u指向的頁面的集合,Bu
爲全部的指向u的頁面的集合。設Nu={Fu}爲從u發出的連接的個數,C(C1)爲一個歸一化
的因子(所以全部頁面的總的Page Rank爲一個常數),那麼u頁面的Page Rank被定義爲(簡
化的版本): 即一 個 頁 面的PageRank被分配到全部它所指向的頁面:每個頁面求和全部
指向它的連接所帶來的PageRank獲得它的新的PageRank。該公式是一個遞歸公式,在計算
時能夠從任何一個頁面開始,反覆計算直到其收斂。對於 搜 索 引擎的鍵值搜索結果來講,
PageRank是一個好的評價結果的方法,查詢的結果能夠按照PageRank從大到小依次排列。
從 we b結 構挖掘的現狀來看,純粹的網絡結構挖掘研究不多,多數是和其它web挖掘形
式結合起來。主要的研究集中在網絡虛擬視圖生成與網絡導航、信息分類與索引結構重組、
文本分類、文本重要性肯定等幾個方面。
關鍵頁/ 權威頁(Hub/ Authority) 方法
頁面的超連接關係十分複雜, 例如: 有的連接是爲了導航, 所以不能簡單認爲超連接便是引
用關係; 此外因爲商業的須要,不多有頁面會把其競爭對手的頁面做爲連接。正是因爲超連接
結構中存在着以上的缺陷, 出現了關鍵頁/ 權威頁方法。關鍵頁/ 權威頁方法的思想是: Web
上存在着一種重要的頁面。所謂關鍵頁指的是自身不必定爲多個頁面所連接, 可是它的頁面
上存在着就某個專業領域而言最重要的站點連接。對於這種關鍵頁, 它起到了隱含說明其餘
Web文檔頁面重要性的做用。一個權威頁應當是被多個關鍵頁所連接的, 而一個關鍵頁應當
包含不少權威頁的連接。將關鍵頁與權威頁的這種聯繫按照算法計算出來, 就是關鍵頁/ 權
威頁方法的主要思想。
HITS和Page Rank、以及在連接結構中增長了Web內容信息的HITS改進算法等,主要用
於模擬Web站點的拓撲結構,計算Web頁面的等級和Web頁面之間的關聯度,典型的例子
是Clever System和Google.
Web 使用挖掘:
Web 使用挖掘又叫Web 使用記錄挖掘,是指經過挖掘Web 日誌記錄來發現用戶訪問Web
頁面的模式。能夠經過分析和研究Web 日誌記錄中的規律,來識別電子商務的潛在客戶;可
以用基於擴展有向樹模型來識別用戶瀏覽模式,從而進行Web 日誌挖掘;能夠根據用戶訪問
Web 的記錄挖掘用戶的興趣關聯規則,存放在興趣關聯知識庫中,做爲對用戶行爲進行預測
的依據,從而爲用戶預取一些Web 頁面,加快用戶獲取頁面的速度。Web 日誌挖掘過程通常分爲3 個階段: 預處理階段、挖掘算法實施階段、模式分析階段。Web 服務器日誌記錄了
用戶訪問本站點的信息,其中包括IP 地址、請求時間、方法、被請求文件的URL 、返回碼、
傳輸字節數、引用頁的URL 和代理等信息。這些信息中有的對Web 挖掘並無做用,所以
要進
行數據預處理。預處理包括數據淨化、用戶識別、事務識別等過程。經過對Web 日誌預處
理後,就能夠根據具體的分析需求選擇訪問模式發現的技術,如路徑分析、關聯分析、時序模
式識別以及分類和聚類技術等。模式挖掘出來之後還要進行分析,使之獲得很好的利用。
經常使用有兩種方法發現用戶使用記錄信息。一種方法是經過對日誌文件進行分析, 包含兩種方
式, 一是訪問前先進行預處理, 即將日誌數據映射爲關係表並採用相應的數據挖掘技術, 如
關聯規則或聚類技術來訪問日誌數據, 二是對日誌數據進行直接訪問以獲取用戶的導航信
息; 另外一種是經過對用戶點擊事件的蒐集和分析發現用戶導航行爲。從研究目標的角度看,
已有的基於Web 服務器日誌數據的研究大體能夠分爲3 類: ①以分析系統性能爲目標; ②
以改進系統設計爲目標; ③以理解用戶意圖爲目標。因爲各目標針對的功能不一樣, 採起的主
要技術也不一樣。用戶使用記錄的挖掘一般要通過下面3 個步驟: ①數據預處理階段。這是使
用記錄信息挖掘最關鍵的階段, 數據預處理包括: 關於用戶使用記錄的預處理、關於內容預
處理和結構的預處理; ②模式識別階段。該階段採用的方法包括: 統計法、機器學習和模式
識別等方法。實現算法能夠是: 統計分析、聚類、分類、關聯規則、序列模式識別等; ③模
式分析階段。該階段的任務是從上一階段收集的數據集中過濾掉不感興趣和無關聯的數據及
模式。具體的實現方法要依具體採用Web 挖掘技術而定,一般採用的方法有兩種: 一種採用
SQL 查詢語句進行分析; 另一種將數據導人多維數據立方體中, 然後利用OLA P 工具進
行分析並提供可視化的結構輸出。對挖掘用戶使用記錄的研究早期多采用的是統計的方法,
當用戶經過瀏覽器對Web 站點進行訪問時, 創建統計模型對用戶訪問模式進行多種簡單的
統計, 如頻繁訪問頁、單位事件訪問數、訪問數據量隨時間分佈圖等。早期使用的方法爲以
廣度優先算法爲主的統計模型, 還有一種啓發式的HPG(hypertext probabilistic grammar) 模
型用於用戶導航行爲的發現, 它也是一種基於統計的方法, 因爲HPG 模型與k 階馬爾可夫
模型至關, 因此近來也有人提出用馬爾可夫模型挖掘用戶使用記錄。
Web日誌的挖掘的方法能夠分爲 (1)以JiaWei Han爲表明的基於數據立方體(data cube)的
方法:將Web 日誌保存爲數據立方體,而後在其上進行數據挖掘和OLAP操做;(2)以
Ming-Syan Chen爲表明的基於Web 事物的方法:他們首先提出了最大向前引用序列(MFR)
的概念,用MFR將用戶會話分割成一系列的的事務,而後採用與關聯規則類似的方法挖掘
頻繁瀏覽路徑。
Web 行爲挖掘在電子商務中獲得了普遍的應用, 在對事務進行了劃分後, 就能夠根據具體
的分析需求選擇訪問模式發現的技術(路徑分析、關聯、規則挖掘、時序模式以及聚類和分
類技術等)
Web 使用挖掘中的模式分析,主要是爲了在模式發現算法找到的模式集合中發現有趣模式。
開發各類Web 分析技術和工具,可輔助分析人員加深理解並使各類挖掘方法獲得的模式獲
得充分利用。如Webwiz (pitkow) 系統可將www 的訪問模式可視化;Webminer則採用類SQL
語言的知識查詢機制;另外也能夠利用存儲Web 使用數據的數據倉庫,採用OLAP 方法發現數據中的特定模式。
六、Web 數據挖掘的四個步驟:
一、 查找資源: 任務是從目標W e b文檔中獲得數據。 二、 信息選擇和預處理: 任務是從取
得的W e b 資源中剔除無用信息和將信息進行必要的整理。3 、模式發現: 自動進行模式發
現。能夠在同一個站點內部或在多個站點之間進行。四、模式分析: 驗證、解釋上一步驟產
生的模式。
七、Web 挖掘在Internet 上有很是普遍的應用,比較常見的有:
(1) 幫助尋找用戶感興趣的新聞或其餘信息以在Web 站點中提供個性化服務,吸引更多用
戶。
(2) 在搜索引擎上對文檔進行自動分類從而下降在搜索引擎上爲組織整理Internet 文檔所需
消耗的人力資源,也能夠對Web 頁面進行排序,改進搜索引擎。
(3) Web 日誌挖掘在電子商務領域有很廣闊的應用前景,如發現顧客的購買習慣和瀏覽興趣
所在,有針對性調整銷售模式,提升業務量。
八、一般Web挖掘能夠分爲3個子任務:資源發現、信息提取、歸納。
·資源發現:是指從Web上搜索可用的信息;
·信息提取:是從已經發現的資源中提取出有用的信息。對於文本信息而言,不只要考慮文
本內容,並且也要考慮文本的結構;
·歸納:是對Web信息自學習的過程,經過學習抽取必定的規則。
通常來講,Web挖掘的數據來源途徑有兩個:搜索引擎的結果集和Web上的在線信息。這
兩種方式各有所長,須要視具體的應用而定。目前,已經有幾種資源發現模型普遍應用於
Internet上:目錄/瀏覽模型(WAIS and Gopher)、檢索模型(Archie and AltaVista)、超立方體
(Yahoo and Excite)。許多資源發現工具大都採用了基於Robot的檢索模型,這種方法掃描
Web上的全部文檔,並創建索引,但它同時也將一些不相關的信息和過期的信息包含進來。
九、Web挖掘的發展方向:
目前,在國內外Web 挖掘的研究處於剛起步階段,是前沿性的研究領域。未來幾個很是有
用的研究方向是:
(1)Web 數據挖掘中內在機理的研究;
(2)Web 知識庫(模式庫)的動態維護、更新,各類知識和模式的融合、提高,以及知識
的評價綜合方法;
(3)半結構、非結構化的文本數據、圖形圖像數據、多媒體數據的高效挖掘算法;
(4)Web數據挖掘算法在海量數據挖掘時的適應性和時效性;
(5)基於Web挖掘的智能搜索引擎的研究;
(6)智能站點服務個性化和性能最優化的研究;
(7)關聯規則和序列模式在構造自組織站點的研究;
(8)分類在電子商務市場智能提取中的研究。
十、研究意義和方向:
路徑模式挖掘
在Web中,文檔經過超鏈鏈接便於用戶瀏覽,用戶爲尋找信息常常經過超鏈從一個頁面跳
到另外一個頁面。捕捉用戶瀏覽路徑稱爲Path analysis。理解用戶瀏覽路徑有助於改進系統設
計,並且有助於做出更好的市場決策,例如在適當的頁面出增長廣告.
Web中的智能查詢
數字 時代 的圖書館並非一個有組織的信息倉庫,而更象一個又一個雜亂無章的信息倉
庫,Web中的智能查詢包括如下三個方面:1)資源發現:重點是自動生成可查找的索引。2)信
息抽取:發現了資源後,下一個任務就是進行信息的自動抽取。3)信息概括:利用分類技術可
自動組織和管理數據,也能夠發現用戶感興趣的模式。
Web智能工具
We b上 的 用戶須要藉助與軟件系統來抽取、定位和管理Web文檔,才能跟上信息的改變
速度。這種軟件系統叫作Web工具.現有的Web工具缺少識別和使用深層語義的能力,查詢
語言描述能力有限。新一代 的 智能Web工具,利用智能Agent幫助用戶發現新的信息。
它能夠自動地獲取用戶的興趣主題,發現用戶的瀏覽模式和信息資源的修改模式。能更有效地利用網絡資源,將多個用戶的查詢要求聚成組,減小查詢次數。將抽取的文檔及其全文索
引保存在數據庫中,並發現各類有用的模式。
提升網絡響應速度
傳統 解 決 網絡響應速度慢的途徑,通常都基於客戶端:如優化傳輸,減小阻塞;根據預測,
預先傳輸某些頁面。在服務器端利用關聯規則挖掘,不只能夠提升網絡的響應速度並且能夠
有效地調度網絡代理的緩存。當用戶瀏覽某個頁面時,網絡代理可根據關聯規則預先下載與
該頁面相關聯的頁面,即用戶極可能訪問到的頁面,從而提升網絡的響應速度,由於關聯規
則是基於統計規律的,反映了大多數用戶的興趣。
十一、基於Web挖掘的個性化技術的發展
(1) 與人工智能技術的結合
個性化系統領域的許多問題最終均可歸結到機器學習、知識發現等問題上。用戶建模過程用
一般都應用到代理和多代理技術。所以人工智能技術與Web挖掘技術的結合將會促進Web
個性化系統的飛速發展。
(2) 與交互式多媒體Web技術的結合
隨着下一代Internet技術的飛速發展與應用,將來的Web的將是多媒體的世界。Web個性化
技術和Web多媒體系統結合出現了交互式個性化多媒體Web系統。支持海量多媒體數據流
的內容挖掘將成爲Web挖掘技術的基本功能之一。因爲這種基於內容的交互式個性化多媒
體Web系統更能知足用戶須要,所以也將成爲Web個性化系統的發展方向之一。
(3) 與數據庫等技術的結合
十二、數據挖掘和知識發現的發展方向:
一、挖掘算法的效率和可擴放性。目前數據庫數據量大,維數高,使得數據挖掘的搜索空間
增大,發現知識的盲目性提升。如何充分利用領域的知識,剔除與發現任務無關的數據,有
效地下降問題的維數,設計出高效率的知識發現算法是下一步發展的重點。
二、數據的時序性。在應用領域的數據庫中,數據在不斷地更新,隨着時間的推移,原先發
現的知識將再也不有用,咱們須要隨時間逐步修正發現模式來指導新的發現過程。
三、和其它系統的集成。知識發現系統應該是數據庫、知識庫、專家系統、決策支持系統、
可視化工具、網絡等多相技術集成的系統。
四、交互性。能夠利用貝葉斯肯定數據的可能性及其分佈來利用之前的知識,再就是利用演
繹數據庫自己的演繹能力發現知識,並用於指導知識發現的過程。
五、發現模式的精煉。能夠利用領域知識進一步提煉發現模式,從中提取有用的知識。
六、互聯網上知識的發現。WWW正日益普及,從中能夠找到不少新的知識,已有一些資源
發現工具來發現含有關鍵字的文本,但對在WWW上發現知識的研究很少。加拿大的HAN
等人提出利用多層次結構化的方法,經過對原始數據的通常化,構造出多層次的數據庫。例
如可將WWW上的圖象描述而不是圖像自己存儲在高層數據庫中。如今的問題是如何從復
雜的數據(例如多媒體數據)中提取有用的信息,對多層數據庫的維護,如何處理數據的異類
性和自主性等等。
1三、文本挖掘面臨許多新的研究課題:
( 1) 文本挖掘算法的可擴展性問題Internet 的發展, 電子商務和數字圖書館的興起和普遍應
用, 永久存儲設備價格的不斷下降, 全部這些都使得各單位儲存的文本信息規模空前龐大。
要對如此之大的文本集合進行處理, 必須有快速高效的文本挖掘算法。
( 2) 文本表示文本挖掘處理的是天然語言表示的文本, 是無結構或半結構化數據, 缺少計算
機可理解的含義, 在進行文本挖掘以前,須要對文本進行預處理及特徵提取, 將其表示爲計
算機可讀的一種中間形式。目前, 雖然天然語言處理領域的研究已取得較大進展, 但尚未
一種可以徹底表示文本語義的中間形式。對於不一樣的挖掘目的, 須要使用不一樣複雜度的中間
表示形式。對於細粒度的、領域特定的知識發現任務, 須要進行語義分析, 以獲得足夠豐富
的表示, 抓住文本中對象或概念之間的關係。可是語義分析計算量大, 如何更快速地進行語
義分析而且對於大文本集合具備可擴展性是一個挑戰性的問題。
( 3) 跨語言問題因爲天然語言的多樣性, 各類語言各有其特色,在一種語言中有效的文本挖
掘功能卻極可能不適用於其它語言, 尤爲是印歐語系語言與漢語之間。而且隨着經濟的全球
化, 待處理的文本集合中可能存在多種語言寫成的文本, 所以, 文本挖掘功能要考慮到多種
語言之間的語義轉換。
( 4) 算法的選擇面對多種多樣的文本挖掘算法, 不一樣算法各有其特色, 如何從中選擇一個合
適的算法是一個尚待研究的問題。由於做爲通常用戶來講, 他們很難搞懂每一個算法的原理和
要求。
( 5) 算法運行中參數的設定不少算法運行時須要用戶設定參數, 有些參數的含義較難理解,
於是也很難正確設定。如何讓算法自動地選擇相對較好的參數值, 而且在算法運行的過程當中
自行調節參數的取值, 是不少算法可否被廣大使用的一個關鍵問題。
( 6) 模式的理解和可視化顯示文本挖掘算法所發現的知識模式形式多樣。提升這些模式的可
理解性也是研究者們不得不面對的問題。提升可理解性的解決方法一般包括以圖形方式顯示
結果, 提供相對少許的規則, 或者生成天然語言以及利用可視化技術等。而目前的文本挖掘系統, 其面對的用戶大可能是有經驗的專家, 通常用戶很難使用。
( 7) 領域的知識集成當前的文本挖掘系統大都未採用領域知識。領域知識頗有用, 它能夠提
高文本分析效率, 有助於取得更緊湊的表示形式等, 所以, 能夠考慮把領域知識集成到文本
挖掘系統中。
( 8) 中文文本分詞技術在印歐語系語言中, 詞與詞之間有空格做爲固定的分隔符, 所以很容
易進行分詞。而在中文中, 詞與詞之間沒有分隔符, 一個句子是由一串連續的漢字組成, 加
之漢語中的詞具備不一樣的長度, 相同的字可出如今許多不一樣的詞中, 還有許多詞由單個字組
成, 這使得對中文文本進行正確分詞面臨較多挑戰。
儘管文本挖掘領域還存在許多亟待解決的問題, 可是在需求的強烈推進下, 許多計算機廠商
紛紛推出文本挖掘軟件, 典型的應用領域包括將文本挖掘應用於網站管理, 信息分流和過濾;
應用於市場管理,質量管理和顧客關係管理以及利用文本挖掘技術發現的知識引導投資的方
向, 預測股票行情等。這些成功的案例都已經給許多人帶來了可觀的經濟利潤。
1四、搜索結果處理
對搜索引擎返回的結果進行挖掘可提供給用戶更爲準確的查詢結果。如WebSQL 系統訪問
搜索引擎獲取文檔,並從文檔內部採集URL 標題、內容類型、內容長度、修改日期及連接等
信息。而類SQL聲明式語言則提出了從搜索結果中獲取相關文檔的能力。
基於加權統計的Web搜索結果挖掘實現智能元搜索引擎的結果去雜和排序。
個性化服務系統根據其所採用的信息推薦技術能夠分爲兩種:基於規則的系統和信息過濾系
統。信息過濾系統又可分爲基於內容過濾的系統和協做過濾系統。基於規則的系統容許系統
管理員根據用戶的靜態特徵和動態屬性來制定規則,一個規則本質上是一個If-Then語句,
規則決定了在不一樣的狀況下如何提供不一樣的服務。基於規則的系統其優勢是簡單、直接,缺
點是規則質量很難保證,並且不能動態更新,此外,隨着規則的數量增多,系統將變得越來
越難以管理。基於內容過濾的系統利用資源與用戶興趣的類似性來過濾信息。基於內容過濾
的系統其優勢是簡單、有效,缺點是難以區分資源內容的品質和風格,並且不能爲用戶發現
新的感興趣的資源,只能發現和用戶己有興趣類似的資源。協做過濾系統利用用戶之間的相
似性來過濾信息,基於協做過濾系統的優勢是能爲用戶發現新的感興趣的信息,缺點是存在
兩個很難解決的問題,一個是稀疏性,亦即在系統使用初期,因爲系統資源還未得到足夠多
的評價,系統很難利用這些評價來發現類似的用戶。另外一個是可擴展性,亦即隨着系統用戶
和資源的增多,系統的性能會愈來愈低。還有一些個性化服務系統同時採用了基於內容過濾
和協做過濾這兩種技術結合這兩種過濾技術能夠克服各自的一些缺點,爲了克服協做過濾的
稀疏性問題,能夠利用用戶瀏覽過的資源內容預期用戶對其餘資源的評價,這樣能夠增長資
源評價的密度,利用這些評價再進行協做過濾,從而提升協做過濾的性能。
網頁推薦算法
假定 網頁集爲I={},當前滑動窗口W={pl,p2,... pm, |W|=m。從Web日誌中挖掘的關聯規則
集爲R={X=>Y|X,Y屬於I且|Y|=1},假設客戶本次訪問的網頁序列爲<pl,..., pn>,其中
pi是一個URL,任意兩個URL都互不相同。設挖掘出的關聯規則集爲R={X->Y, s},活動
窗口的大小爲s,活動窗口爲:W=<pm,?, pn >,其中(n-m)=s ,那麼推薦算法的原理爲:從R
中查找這樣的規則:規則的前端與w匹配的最好,而後將規則的後端推薦給客戶。具體算法
以下:
3、相關應用論文
Web 挖掘及其在競爭情報系統的應用
介紹了Web 挖掘的分類、特色和實現技術, 並對Web 挖掘在競爭情報系統中的應用進行了
闡述。
Web 挖掘技術在電子商務中的應用研究
基於國內外最新研究成果對電子商務中應用的Web 挖掘技術進行了研究。對於個性化電子
商務網站中難以發現用戶行爲特徵問題,給出了基於Web 日誌的客戶羣體聚類算法及Web
頁面聚類算法。利用這些Web 挖掘技術可有效挖掘用戶個性特徵,從而指導電子商務網站資
源的組織和分配。電子商務中利用Web 日誌的聚類算法: 客戶羣體的模糊聚類算法, K-Paths
聚類方法,客戶羣體聚類的Hamming 距離算法,神經網絡方法,基於模糊理論的Web 頁面
聚類算法,Web 頁面聚類的Hamming 距離算法,
Web 挖掘技術在搜索引擎中的應用
對於搜索引擎而言, 經過借鑑Web 挖掘技術, 能夠提升查準率與查全率, 改善檢索結果的
組織, 加強檢索用戶的模式研究, 從而使得檢索效率獲得改善。
Web挖掘系統的設計與實現
介紹了Web挖掘理論,包括Web挖掘定義、Web挖掘任務、Web挖掘分類3個方面,並簡
單介紹了實現Web文本挖掘系統WTMiner (Web Text Miner)的幾個關鍵技術:分詞,特徵提
取,分類器的設計。在分詞中採用了支持首字Hash和二分查找從而提升了分詞速度,分類
器的設計中考慮到SVM的訓練算法速度慢的缺點,用近鄰法以減小訓練樣本集中樣本的數
量,從而大大提升了算法速度。
Web 挖掘在網絡營銷中的應用研究
闡述了網絡營銷的特色和Web 挖掘的概念,並探討了如何將Web 挖掘技術應用於網絡營銷,
介紹了一種客戶羣體和Web 頁面的模糊聚類算法。
Web 文本數據挖掘關鍵技術及其在網絡檢索中的應用
在分析Web 文本信息特徵的基礎上,揭示了Web 文本數據挖掘的目標樣本的特徵提取、分
詞處理與Web 文本分類等關鍵技術,以Google 爲例討論了該技術在網絡信息檢索中的應
用。
電子商務公共服務平臺下的Web挖掘系統研究
針對我國電子商務的發展示狀,將數據挖掘技術應用到提升電子商務公共服務平臺的服務質
量上來,設計了電子商務公共服務平臺下的Web挖掘系統,並提出了系統的評價指標體系,
爲電子商務公共服務平臺和我國電子商務的發展提供了一種新的思路和方法。研究了電子商
務公共服務平臺下的Web挖掘系統中點擊流預處理及利用XML解決電子商務異構數據源集
成的問題。
多關係數據挖掘研究綜述
多關係數據挖掘是近年來快速發展的重要的數據挖掘領域之一。傳統的數據挖掘方法只能完
成單一關係中的模式發現,多關係數據挖掘可以從複雜結構化數據中發現涉及多個關係的復
雜模式。該文綜述了多關係數據挖掘的研究情況。首先分析了多關係數據挖掘領域發生的原
因和背景,其次總結了多關係數據挖掘研究的通常方法,而後介紹、分析了最具表明性的多
關係數據挖掘算法。最後總結了多關係數據挖掘未來發展需重點解決的問題和麪臨的挑戰。
分詞技術研究及其在Web文本挖掘中的應用
本文闡述了漢語自動分詞技術在中文Web文本挖掘中的應用,對有關理論進行了論述,討
論了Web文本挖掘系統的結構和技術.本文的工做集中在如下幾點:
(1 )研究的重點在於中文關鍵信息提取,其中的難點就是中文自動分詞。本文重點討論的算
法是基於自動創建詞庫的最佳匹配方法來進行中文分詞,同時採用基於改進型馬爾可夫N
元語言模型的統計處理方法來處理分詞中出現的歧義問題,從而提升精度。
(2 )基於特定的分詞系統,設計了相應的分詞詞典,該分詞詞典支持詞條首字快速查找算法,
並應用於Web挖掘系統中,分析結果代表,此分詞方法在處理速度上,仍是歧義處理上都
有較大提升。
(3 )在未登陸詞識別方面,引入決策樹方法,使得未登陸詞識別能力有必定提升。
(4 )在分詞的切分排歧方面,咱們採起了一種基於N一最短路徑的策略。在分詞早期階段召
回N個最佳結果做爲候選集,目的是覆蓋儘量多的歧義字段,最終的結果會在完成識別以後從N個最有潛力的候選結果中選優獲得。
(5 )針對其餘算法對系統資源佔用比較大的問題,採起了改進分詞算法中用到的數據結構,
精簡字典文件等方法。收效最明顯的作法是:將程序運行賽程所須要的各類數據文件建成一
個索引文件,大大節省了程序運行時所需內存空間, 而且大大提升了分詞處理速度。
基於Web使用挖掘的個性化服務系統
個性化服務系統是一種由多種WEB挖掘技術構成的基於用戶使用的站點個性化系統。該系
統使用事務聚類、使用聚類和關聯規則技術等數據挖掘技術分析用戶訪問模式,並結合用戶
當前訪問狀況提供實時化個性服務。實驗結果說明,個性化服務系統具備較好的性能。
基於Web挖掘的智能門戶搜索引擎的研究
搜索引擎是人們在Internet上快速得到信息的重要工具之一,可是因爲中文自身的特色,使
得檢索結果的準確性和相關性不是很高,將Web挖掘技術應用到搜索引擎領域,從而產生
智能搜索引擎,將會給用戶提供一個高效、準確的Web檢索工具。文章首先介紹了搜索引
擎的工做原理和相關概念,而後介紹了Web挖掘的定義、分類和應用。最後,詳細討論了
Web挖掘技術在智能搜索引擎的重要應用。
基於Web挖掘技術的信息檢索系統設計與實現
詳細介紹了一個基於Web文本挖掘技術的信息檢索系統的設計與實現。基於Web文本挖掘
技術的信息檢索技術融合了文本挖掘的思想,它將單一的資源發現或者單一的信息提取的傳
統信息檢索方法結合起來,從而達到在WWW發現資源並將其中的信息提取出來進行處理
的目的。
基於XML的Web數據挖掘技術
在經濟全球化形勢下,充分利用Web資源,從中挖掘出有決策意義的信息,對企業的自主
發展有着不可估量的意義。本文在分析了Web數據挖掘技術的難點後,根據互聯網技術的
發展趨勢,介紹了基於XML的Web數據挖掘技術並提出了一個基於XML的評判信息數據
挖掘系統的實現框架。
基於XML的個性化Web內容挖掘研究
基於XML的Web內客挖掘逐漸成爲Web數據挖掘的重要研究課題。論文定義了用戶模型,
經過三種途徑創建用戶模型。將XML和個性化技術應用到Web內容挖掘,設計了一個基於
XML的個性化Web內容挖掘系統(PWCMS).並討論了PWCMS的關鍵技術及實現。實踐
證實,將XML和個性化技術應用到Web內容挖掘是有效的。
基於數據挖掘的Web個性化信息推薦系統
基於數據挖掘的Web個性化信息推薦日益成爲一個重要的研究課題。文章設計了一個基於數據挖掘的Web個性化信息推薦系統(WBIRS)在WBIRS中"提出了推薦策略"在推薦策略中
考慮針對不一樣類型的用戶採用不一樣的推薦算法。根據用戶是否有新穎信息的需求WBIRS採
用了兩種推薦算法。
基於搜索引擎的知識發現
數據挖掘通常用於高度結構化的大型數據庫,以發現其中所蘊含的知識。隨着在線文本的增
多,其中所蘊含的知識也愈來愈豐富,可是,它們卻難以被分析利用。於是。研究一套行之
有效的方案發現文本中所蘊含的知識是很是重要的,也是當前重要的研究課題。該文利用搜
索引擎GOOGLE獲取相關Web 頁面,進行過濾和清洗後獲得相關文本,而後,進行文本聚類,
利用Episode進行事件識別和信息抽取,數據集成及數據挖掘,從而實現知識發現。最後給出
了原型系統,對知識發現進行實踐檢驗,收到了很好的效果。
數據抽取及語義分析在Web 數據挖掘中的應用
把複雜的網絡站點做爲多個業務數據源,採用數據倉庫及數據挖掘技術,從中抽取並淨化數
據到挖掘數據庫,從而將數據抽取及語義分析應用於Web 數據挖掘中。在此基礎上又提出
了運用數據抽取進行數據結構轉換並把語義分析技術應用到數據抽取的過程當中的思想,使數
據提取更加準確。
文本挖掘中運用自組織特徵映射算法分析中國人類工效學研究情況
文本挖掘是抽取有效、新穎、有用、可理解的、散佈在文本文件中的有價值知識, 而且利用
這些知識更好地組織信息的過程。利用文本挖掘中的自組織特徵映射( SOM)算法,對中國《人
類工效學》期刊數據庫的大量文檔進行聚類分析,獲得當前國內人類工效學研究領域裏的主
要研究類別、趨勢,而後將聚類結果與國際人類工效學協會( IEA)公佈的研究領域進行對比分
析。
現代遠程教育個性化Web挖掘研究
從Web上異質的、非結構化的數據中發現有用的知識或者模式是目前數據挖掘研究中的一
個重要內容。Web挖掘就是從Web文檔和Web活動中抽取感興趣的、潛在的有用模式和隱
藏的信息。介紹了Web挖掘基本狀況,在此基礎上對基於Web的文本挖掘進行了分析研究,
給出了一個基於Web的文本挖掘的結構模型圖。重點介紹了網頁聚類算法,實現了遠程教學
的按需學習和因材施教的要求。提出了一個基於Web挖掘的智能化、個性化的現代遠程教
育系統結構模型。
一種基於天然語言理解的Web 挖掘模型
如何從網上海量信息中發現有用的知識, 知足使用者的須要是一個迫切須要研究的課題。但
現有的方法很難從W eb 上把大量非結構信息抽取到數據庫中, 並且通常的搜索引擎也只是
簡單地把關鍵字匹配做爲查詢依據, 命中率較低。文章提出了將天然語言理解技術與Web
數據挖掘相結合, 根據用戶的須要定製個性化的Web 數據挖掘模型。初步試驗結果代表該
方案是可行的, 能很好的知足用戶須要, 且模型的通用性和適用性強。 Lucene 是一個基於 Java 的全文檢索工具包,你能夠利用它來爲你的應用程序
加入索引和檢索功能。Lucene 目前是著名的 Apache Jakarta 家族中的一個開
源項目,下面咱們即將學習 Lucene 的索引機制以及它的索引文件的結構。
在這篇文章中,咱們首先演示如何使用 Lucene 來索引文檔,接着討論如何提升
索引的性能。最後咱們來分析 Lucene 的索引文件結構。須要記住的是,Lucene
不是一個完整的應用程序,而是一個信息檢索包,它方便你爲你的應用程序添加
索引和搜索功能。 架構概覽
圖一顯示了 Lucene 的索引機制的架構。Lucene 使用各類解析器對各類不一樣類
型的文檔進行解析。好比對於 HTML 文檔,HTML 解析器會作一些預處理的工做,
好比過濾文檔中的 HTML 標籤等等。HTML 解析器的輸出的是文本內容,接着
Lucene 的分詞器(Analyzer)從文本內容中提取出索引項以及相關信息,好比索
引項的出現頻率。接着 Lucene 的分詞器把這些信息寫到索引文件中。
Lucene
用Lucene索引文檔
接下來我將一步一步的來演示如何利用 Lucene 爲你的文檔建立索引。只要你能
將要索引的文件轉化成文本格式,Lucene 就能爲你的文檔創建索引。好比,如
果你想爲 HTML 文檔或者 PDF 文檔創建索引,那麼首先你就須要從這些文檔中
提取出文本信息,而後把文本信息交給 Lucene 創建索引。咱們接下來的例子用
來演示如何利用 Lucene 爲後綴名爲 txt 的文件創建索引。
1. 準備文本文件
首先把一些以 txt 爲後綴名的文本文件放到一個目錄中,好比在 Windows 平臺
上,你能夠放到 C:\\files_to_index 下面。
2. 建立索引
清單1是爲咱們所準備的文檔建立索引的代碼。 html
package lucene.index; import java.io.File; import java.io.FileReader; import java.io.Reader; import java.util.Date; import org.apache.lucene.analysis.Analyzer; import org.apache.lucene.analysis.standard.StandardAnalyzer; import org.apache.lucene.document.Document; import org.apache.lucene.document.Field; import org.apache.lucene.index.IndexWriter; /** * This class demonstrates the process of creating an index with Lucene * for text files in a directory. */ public class TextFileIndexer { public static void main(String[] args) throws Exception { //fileDir is the directory that contains the text files to be indexed File fileDir = new File("C:\\files_to_index "); //indexDir is the directory that hosts Lucene's index files File indexDir = new File("C:\\luceneIndex"); Analyzer luceneAnalyzer = new StandardAnalyzer(); IndexWriter indexWriter = new IndexWriter(indexDir,luceneAnalyzer,true); File[] textFiles = fileDir.listFiles(); long startTime = new Date().getTime(); //Add documents to the index for (int i = 0; i < textFiles.length; i ++) { if (textFiles[i].isFile() >> textFiles[i].getName().endsWith(".txt")) { System.out.println("File " + textFiles[i].getCanonicalPath() + " is being indexed"); Reader textReader = new FileReader(textFiles[i]); Document document = new Document(); document.add(Field.Text("content",textReader)); document.add(Field.Text("path",textFiles[i].getPath())); indexWriter.addDocument(document); } } indexWriter.optimize(); indexWriter.close(); long endTime = new Date().getTime(); System.out.println("It took " +(endTime - startTime) + " milliseconds to create an index for the files in the directory " + fileDir.getPath()); } }
正如清單
1所示,你能夠利用 Lucene 很是方便的爲文檔建立索引。接下來咱們
分析一下清單1中的比較關鍵的代碼,咱們先從下面的一條語句開始看起。前端
Analyzer luceneAnalyzer = new StandardAnalyzer();
這條語句建立了類 StandardAnalyzer 的一個實例,這個類是用來從文本中提取
出索引項的。它只是抽象類 Analyzer 的其中一個實現。Analyzer 也有一些其
它的子類,好比 SimpleAnalyzer 等。
咱們接着看另一條語句:java
IndexWriter indexWriter = new IndexWriter(indexDir,luceneAnalyzer,true);
這條語句建立了類
IndexWriter 的一個實例,該類也是 Lucene 索引機制裏面
的一個關鍵類。這個類能建立一個新的索引或者打開一個已存在的索引併爲該所
引添加文檔。咱們注意到該類的構造函數接受三個參數,第一個參數指定了存儲
索引文件的路徑。第二個參數指定了在索引過程當中使用什麼樣的分詞器。最後一
個參數是個布爾變量,若是值爲真,那麼就表示要建立一個新的索引,若是值爲
假,就表示打開一個已經存在的索引。
接下來的代碼演示瞭如何添加一個文檔到索引文件中。web
1 Document document = new Document(); 2 3 document.add(Field.Text("content",textReader)); 4 document.add(Field.Text("path",textFiles[i].getPath())); 5 indexWriter.addDocument(document);
首先第一行建立了類
Document 的一個實例,它由一個或者多個的域(Field)組
成。你能夠把這個類想象成表明了一個實際的文檔,好比一個 HTML 頁面,一個
PDF 文檔,或者一個文本文件。而類 Document 中的域通常就是實際文檔的一些
屬性。好比對於一個 HTML 頁面,它的域可能包括標題,內容,URL 等。咱們可
以用不一樣類型的 Field 來控制文檔的哪些內容應該索引,哪些內容應該存儲。
若是想獲取更多的關於 Lucene 的域的信息,能夠參考 Lucene 的幫助文檔。代
碼的第二行和第三行爲文檔添加了兩個域,每一個域包含兩個屬性,分別是域的名
字和域的內容。在咱們的例子中兩個域的名字分別是"content"和"path"。分別
存儲了咱們須要索引的文本文件的內容和路徑。最後一行把準備好的文檔添加到
了索引當中。
當咱們把文檔添加到索引中後,不要忘記關閉索引,這樣才保證 Lucene 把添加
的文檔寫回到硬盤上。下面的一句代碼演示瞭如何關閉索引。 indexWriter.close();
利用清單1中的代碼,你就能夠成功的將文本文檔添加到索引中去。接下來咱們
看看對索引進行的另一種重要的操做,從索引中刪除文檔。
從索引中刪除文檔
類IndexReader負責從一個已經存在的索引中刪除文檔,如清單2所示。 算法
1 File indexDir = new File("C: 2 \\luceneIndex"); 3 IndexReader ir = IndexReader.open(indexDir); 4 ir.delete(1); 5 ir.delete(new Term("path","C:\\file_to_index\lucene.txt")); 6 ir.close();
在清單2中,
第二行用靜態方法 IndexReader.open(indexDir) 初始化了類 數據庫
IndexReader 的一個實例,這個方法的參數指定了索引的存儲路徑。類
IndexReader 提供了兩種方法去刪除一個文檔,如程序中的第三行和第四行所
示。第三行利用文檔的編號來刪除文檔。每一個文檔都有一個系統自動生成的編號。
第四行刪除了路徑爲"C:\\file_to_index\lucene.txt"的文檔。你能夠經過指定
文件路徑來方便的刪除一個文檔。值得注意的是雖然利用上述代碼刪除文檔使得
該文檔不能被檢索到,可是並無物理上刪除該文檔。Lucene 只是經過一個後
綴名爲 .delete 的文件來標記哪些文檔已經被刪除。既然沒有物理上刪除,我
們能夠方便的把這些標記爲刪除的文檔恢復過來,如清單 3 所示,首先打開一
個索引,而後調用方法 ir.undeleteAll() 來完成恢復工做。 apache
File indexDir = new File("C:\\luceneIndex"); IndexReader ir = IndexReader.open(indexDir); ir.undeleteAll(); ir.close();
你如今也許想知道如何物理上刪除索引中的文檔,方法也很是簡單。清單 4 演
示了這個過程。
4後端
1 File indexDir = new File("C:\\luceneIndex"); 2 Analyzer luceneAnalyzer = new StandardAnalyzer(); 3 IndexWriter indexWriter = new 4 IndexWriter(indexDir,luceneAnalyzer,false); 5 indexWriter.optimize(); 6 indexWriter.close();
在清單4 中,第三行建立了類 IndexWriter 的一個實例,而且打開了一個已經瀏覽器
存在的索引。第 4 行對索引進行清理,清理過程當中將把全部標記爲刪除的文檔
物理刪除。
Lucene 沒有直接提供方法對文檔進行更新,若是你須要更新一個文檔,那麼你
首先須要把這個文檔從索引中刪除,而後把新版本的文檔加入到索引中去。
提升索引性能
利用 Lucene,在建立索引的工程中你能夠充分利用機器的硬件資源來提升索引
的效率。當你須要索引大量的文件時,你會注意到索引過程的瓶頸是在往磁盤上
寫索引文件的過程當中。爲了解決這個問題, Lucene 在內存中持有一塊緩衝區。
但咱們如何控制 Lucene 的緩衝區呢?幸運的是,Lucene 的類 IndexWriter 提
供了三個參數用來調整緩衝區的大小以及往磁盤上寫索引文件的頻率。
1.合併因子(mergeFactor)
這個參數決定了在 Lucene 的一個索引塊中能夠存放多少文檔以及把磁盤上的
索引塊合併成一個大的索引塊的頻率。好比,若是合併因子的值是 10,那麼當
內存中的文檔數達到 10 的時候全部的文檔都必須寫到磁盤上的一個新的索引
塊中。而且,若是磁盤上的索引塊的隔數達到 10 的話,這 10 個索引塊會被合
併成一個新的索引塊。這個參數的默認值是 10,若是須要索引的文檔數很是多
的話這個值將是很是不合適的。對批處理的索引來說,爲這個參數賦一個比較大
的值會獲得比較好的索引效果。
2.最小合併文檔數
這個參數也會影響索引的性能。它決定了內存中的文檔數至少達到多少才能將它
們寫回磁盤。這個參數的默認值是10,若是你有足夠的內存,那麼將這個值盡
量設的比較大一些將會顯著的提升索引性能。
3.最大合併文檔數
這個參數決定了一個索引塊中的最大的文檔數。它的默認值是
Integer.MAX_VALUE,將這個參數設置爲比較大的值能夠提升索引效率和檢索速
度,因爲該參數的默認值是整型的最大值,因此咱們通常不須要改動這個參數。
清單 5 列出了這個三個參數用法,清單 5 和清單 1 很是類似,除了清單 5 中
會設置剛纔提到的三個參數。
緩存
經過這個例子,咱們注意到在調整緩衝區的大小以及寫磁盤的頻率上面
Lucene
給咱們提供了很是大的靈活性。如今咱們來看一下代碼中的關鍵語句。以下的代
碼首先建立了類 IndexWriter 的一個實例,而後對它的三個參數進行賦值。 int mergeFactor = 10;
int minMergeDocs = 10;
int maxMergeDocs = Integer.MAX_VALUE;
IndexWriter indexWriter = new
IndexWriter(indexDir,luceneAnalyzer,true);
indexWriter.mergeFactor = mergeFactor;
indexWriter.minMergeDocs = minMergeDocs;
indexWriter.maxMergeDocs = maxMergeDocs; 下面咱們來看一下這三個參數取不一樣的值對索引時間的影響,注意參數值的不一樣
和索引之間的關係。咱們爲這個實驗準備了 10000 個測試文檔。表 1 顯示了測
試結果。
1 經過表
你能夠清楚地看到三個參數對索引時間的影響。在實踐中,你會常常
的改變合併因子和最小合併文檔數的值來提升索引性能。只要你有足夠大的內
存,你能夠爲合併因子和最小合併文檔數這兩個參數賦儘可能大的值以提升索引效
率,另外咱們通常無需更改最大合併文檔數這個參數的值,由於系統已經默認將
它設置成了最大。
Lucene
索引文件結構分析
在分析 Lucene 的索引文件結構以前,咱們先要理解反向索引(Inverted index)
這個概念,反向索引是一種以索引項爲中心來組織文檔的方式,每一個索引項指向
一個文檔序列,這個序列中的文檔都包含該索引項。相反,在正向索引中,文檔
佔據了中心的位置,每一個文檔指向了一個它所包含的索引項的序列。你能夠利用
反向索引輕鬆的找到那些文檔包含了特定的索引項。Lucene正是使用了反向索
引做爲其基本的索引結構。
索引文件的邏輯視圖
在Lucene 中有索引塊的概念,每一個索引塊包含了必定數目的文檔。咱們可以對
單獨的索引塊進行檢索。圖 2 顯示了 Lucene 索引結構的邏輯視圖。索引塊的
個數由索引的文檔的總數以及每一個索引塊所能包含的最大文檔數來決定。
2
/** * This class demonstrates how to improve the indexing performance * by adjusting the parameters provided by IndexWriter. */ public class AdvancedTextFileIndexer { public static void main(String[] args) throws Exception { //fileDir is the directory that contains the text files to be indexed File fileDir = new File("C:\\files_to_index"); //indexDir is the directory that hosts Lucene's index files File indexDir = new File("C:\\luceneIndex"); Analyzer luceneAnalyzer = new StandardAnalyzer(); File[] textFiles = fileDir.listFiles(); long startTime = new Date().getTime(); int mergeFactor = 10; int minMergeDocs = 10; int maxMergeDocs = Integer.MAX_VALUE; IndexWriter indexWriter = new IndexWriter(indexDir,luceneAnalyzer,true); indexWriter.mergeFactor = mergeFactor; indexWriter.minMergeDocs = minMergeDocs; indexWriter.maxMergeDocs = maxMergeDocs; //Add documents to the index for (int i = 0; i < textFiles.length; i ++) { if (textFiles[i].isFile() >> textFiles[i].getName().endsWith(".txt")) { Reader textReader = new FileReader(textFiles[i]); Document document = new Document(); document.add(Field.Text("content",textReader)); document.add(Field.Keyword("path",textFiles[i].getPath())); indexWriter.addDocument(document); } } indexWriter.optimize(); indexWriter.close(); long endTime = new Date().getTime(); System.out.println("MergeFactor: " + indexWriter.mergeFactor); System.out.println("MinMergeDocs: " + indexWriter.minMergeDocs); System.out.println("MaxMergeDocs: " + indexWriter.maxMergeDocs); System.out.println("Document number: " + textFiles.length); System.out.println("Time consumed: " +(endTime - startTime) + " milliseconds"); } }
Lucene 中的關鍵索引文件
下面的部分將會分析Lucene中的主要的索引文件,可能分析有些索引文件的時候沒有包含文件的全部的字段,但不會影響到對索引文件的理解。 1.索引塊文件 這個文件包含了索引中的索引塊信息,這個文件包含了每一個索引塊的名字以及大小等信息。表 2 顯示了這個文件的結構信息。 2 .域信息文件 咱們知道,索引中的文檔由一個或者多個域組成,這個文件包含了每一個索引塊中的域的信息。表 3 顯示了這個文件的結構。 3 .索引項信息文件 這是索引文件裏面最核心的一個文件,它存儲了全部的索引項的值以及相關信息,而且以索引項來排序。表 4 顯示了這個文件的結構。 4.頻率文件 這個文件包含了包含索引項的文檔的列表,以及索引項在每一個文檔中出現的頻率信息。若是Lucene在索引項信息文件中發現有索引項和搜索詞相匹配。那麼 Lucene 就會在頻率文件中找有哪些文件包含了該索引項。表5顯示了這個文件的一個大體的結構,並無包含這個文件的全部字段。 5 5.位置文件 這個文件包含了索引項在每一個文檔中出現的位置信息,你能夠利用這些信息來參與對索引結果的排序。表 6 顯示了這個文件的結構 6 到目前爲止咱們介紹了 Lucene 中的主要的索引文件結構,但願能對你理解 Lucene 的物理的存儲結構有所幫助。 總結 目前已經有很是多的知名的組織正在使用 Lucene,好比,Lucene 爲 Eclipse 的幫助系統,麻省理工學院的 OpenCourseWare 提供了搜索功能。經過閱讀這篇文章,但願你能對 Lucene 的索引機制有所瞭解,而且你會發現利用 Lucene 建立索引是很是簡單的事情。