Web挖掘技術



一、數據挖掘

數據挖掘是運用計算機及信息技術,從大量的、不完全的數據集中獲取隱含在其中的有用知
識的高級過程。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.相似模式:時態或空間—時態的大量數據存在於計算機中,這些數據庫例子包括:股票價
格指數的金融數據庫、醫療數據庫、多媒體數據庫等等。在時態或空間—時態數據庫中搜索
相似模式的目的是發現和預測風險、因果關系及關聯於特定模式的趨勢。






二、Web挖掘

Web 站點上的數據有其自身的特點,主要的可以歸納為以下幾點:

1 、數據量巨大,動態性極強;2、 異構數據庫環境;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 內容挖掘:

1、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”的關聯規則。當然也可以對多媒體進行分類、聚類等操作。
多媒體數據挖掘的方法主要有:多媒體數據中的相似搜索,主要有兩種多媒體標引和檢索技
術:基於描述的檢索系統和基於內容的檢索系統;多媒體數據的多維分析,可以按傳統的從
關系數據中構造數據立方體的方法,設計和構造多媒體數據立方體;分類和預測分析,主要
應用於天文學、地震學和地理科學的研究,決策樹分類是最常用的方法;多媒體數據的關聯
規則挖掘,關聯規則的挖掘主要包括以下三類規則:圖像內容和非圖像內容之間的關聯、與
空間關系無關的圖像內容的關聯、與空間關系有關的圖像內容的關聯。



3、特征提取

經典的文本表示模型是向量空間模型(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出現的概率。



4、分類

目前文本分類的方法很多,如多元回歸模型、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將實際問題通過非線性變換轉
換到高維的特征空間,在高維空間中構造線性判別函數來實現原空間中的非線性判別函數,
特殊性質能保證機器有較好的推廣能力,同時它巧妙地解決了維數問題,其算法復雜度與樣
本維數無關。



5、網頁分類方法

一般來說,網頁中對於分類有作用的部分首先是核心文本,即網頁中關於網頁內容的文本部
分。其次是結構信息和超鏈接信息,再其次是多媒體信息。多媒體信息的識別涉及圖像檢索、
語音識別等技術,且目前沒有較好的結果,因此很少被考慮。我們進行網頁分類的基本思路
是:

(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 方法發現數據中的特定模式。



6、Web 數據挖掘的四個步驟:

1、 查找資源: 任務是從目標W e b文檔中得到數據。 2、 信息選擇和預處理: 任務是從取
得的W e b 資源中剔除無用信息和將信息進行必要的整理。3 、模式發現: 自動進行模式發
現。可以在同一個站點內部或在多個站點之間進行。4、模式分析: 驗證、解釋上一步驟產
生的模式。



7、Web 挖掘在Internet 上有非常廣泛的應用,比較常見的有:

(1) 幫助尋找用戶感興趣的新聞或其他信息以在Web 站點中提供個性化服務,吸引更多用
戶。

(2) 在搜索引擎上對文檔進行自動分類從而降低在搜索引擎上為組織整理Internet 文檔所需
消耗的人力資源,也可以對Web 頁面進行排序,改進搜索引擎。

(3) Web 日志挖掘在電子商務領域有很廣闊的應用前景,如發現顧客的購買習慣和瀏覽興趣
所在,有針對性調整銷售模式,提高業務量。



8、通常Web挖掘可以分為3個子任務:資源發現、信息提取、概括。

·資源發現:是指從Web上搜索可用的信息;

·信息提取:是從已經發現的資源中提取出有用的信息。對於文本信息而言,不僅要考慮文
本內容,而且也要考慮文本的結構;

·概括:是對Web信息自學習的過程,通過學習抽取一定的規則。

一般來說,Web挖掘的數據來源途徑有兩個:搜索引擎的結果集和Web上的在線信息。這
兩種方式各有所長,需要視具體的應用而定。目前,已經有幾種資源發現模型廣泛應用於
Internet上:目錄/瀏覽模型(WAIS and Gopher)、檢索模型(Archie and AltaVista)、超立方體
(Yahoo and Excite)。許多資源發現工具大都采用了基於Robot的檢索模型,這種方法掃描
Web上的所有文檔,並建立索引,但它同時也將一些不相關的信息和過時的信息包含進來。



9、Web挖掘的發展方向:
目前,在國內外Web 挖掘的研究處於剛起步階段,是前沿性的研究領域。將來幾個非常有
用的研究方向是:

(1)Web 數據挖掘中內在機理的研究;

(2)Web 知識庫(模式庫)的動態維護、更新,各種知識和模式的融合、提升,以及知識
的評價綜合方法;

(3)半結構、非結構化的文本數據、圖形圖像數據、多媒體數據的高效挖掘算法;

(4)Web數據挖掘算法在海量數據挖掘時的適應性和時效性;

(5)基於Web挖掘的智能搜索引擎的研究;

(6)智能站點服務個性化和性能最優化的研究;

(7)關聯規則和序列模式在構造自組織站點的研究;

(8)分類在電子商務市場智能提取中的研究。



10、研究意義和方向:

路徑模式挖掘

在Web中,文檔通過超鏈連接便於用戶瀏覽,用戶為尋找信息經常通過超鏈從一個頁面跳
到另一個頁面。捕捉用戶瀏覽路徑稱為Path analysis。理解用戶瀏覽路徑有助於改進系統設
計,而且有助於作出更好的市場決策,例如在適當的頁面出增加廣告.

Web中的智能查詢

數字 時代 的圖書館並不是一個有組織的信息倉庫,而更象一個又一個雜亂無章的信息倉
庫,Web中的智能查詢包括以下三個方面:1)資源發現:重點是自動生成可查找的索引。2)信
息抽取:發現了資源后,下一個任務就是進行信息的自動抽取。3)信息歸納:利用分類技術可
自動組織和管理數據,也可以發現用戶感興趣的模式。

Web智能工具

We b上 的 用戶需要借助與軟件系統來抽取、定位和管理Web文檔,才能跟上信息的改變
速度。這種軟件系統叫做Web工具.現有的Web工具缺乏識別和使用深層語義的能力,查詢
語言描述能力有限。新一代 的 智能Web工具,利用智能Agent幫助用戶發現新的信息。
它可以自動地獲取用戶的興趣主題,發現用戶的瀏覽模式和信息資源的修改模式。能更有效地利用網絡資源,將多個用戶的查詢要求聚成組,減少查詢次數。將抽取的文檔及其全文索
引保存在數據庫中,並發現各種有用的模式。

提高網絡響應速度

傳統 解 決 網絡響應速度慢的途徑,一般都基於客戶端:如優化傳輸,減少阻塞;根據預測,
預先傳輸某些頁面。在服務器端利用關聯規則挖掘,不僅可以提高網絡的響應速度而且可以
有效地調度網絡代理的緩存。當用戶瀏覽某個頁面時,網絡代理可根據關聯規則預先下載與
該頁面相關聯的頁面,即用戶很可能訪問到的頁面,從而提高網絡的響應速度,因為關聯規
則是基於統計規律的,反映了大多數用戶的興趣。



11、基於Web挖掘的個性化技術的發展

(1) 與人工智能技術的結合

個性化系統領域的許多問題最終都可歸結到機器學習、知識發現等問題上。用戶建模過程用
通常都應用到代理和多代理技術。因此人工智能技術與Web挖掘技術的結合將會促進Web
個性化系統的飛速發展。

(2) 與交互式多媒體Web技術的結合

隨着下一代Internet技術的飛速發展與應用,未來的Web的將是多媒體的世界。Web個性化
技術和Web多媒體系統結合出現了交互式個性化多媒體Web系統。支持海量多媒體數據流
的內容挖掘將成為Web挖掘技術的基本功能之一。由於這種基於內容的交互式個性化多媒
體Web系統更能滿足用戶需要,因此也將成為Web個性化系統的發展方向之一。

(3) 與數據庫等技術的結合



12、數據挖掘和知識發現的發展方向:

1、挖掘算法的效率和可擴放性。目前數據庫數據量大,維數高,使得數據挖掘的搜索空間
增大,發現知識的盲目性提高。如何充分利用領域的知識,剔除與發現任務無關的數據,有
效地降低問題的維數,設計出高效率的知識發現算法是下一步發展的重點。

2、數據的時序性。在應用領域的數據庫中,數據在不斷地更新,隨着時間的推移,原先發
現的知識將不再有用,我們需要隨時間逐步修正發現模式來指導新的發現過程。

3、和其它系統的集成。知識發現系統應該是數據庫、知識庫、專家系統、決策支持系統、
可視化工具、網絡等多相技術集成的系統。
4、交互性。可以利用貝葉斯確定數據的可能性及其分布來利用以前的知識,再就是利用演
繹數據庫本身的演繹能力發現知識,並用於指導知識發現的過程。

5、發現模式的精煉。可以利用領域知識進一步提煉發現模式,從中提取有用的知識。

6、互聯網上知識的發現。WWW正日益普及,從中可以找到很多新的知識,已有一些資源
發現工具來發現含有關鍵字的文本,但對在WWW上發現知識的研究不多。加拿大的HAN
等人提出利用多層次結構化的方法,通過對原始數據的一般化,構造出多層次的數據庫。例
如可將WWW上的圖象描述而不是圖像本身存儲在高層數據庫中。現在的問題是如何從復
雜的數據(例如多媒體數據)中提取有用的信息,對多層數據庫的維護,如何處理數據的異類
性和自主性等等。



13、文本挖掘面臨許多新的研究課題:

( 1) 文本挖掘算法的可擴展性問題Internet 的發展, 電子商務和數字圖書館的興起和廣泛應
用, 永久存儲設備價格的不斷降低, 所有這些都使得各單位儲存的文本信息規模空前龐大。
要對如此之大的文本集合進行處理, 必須有快速高效的文本挖掘算法。

( 2) 文本表示文本挖掘處理的是自然語言表示的文本, 是無結構或半結構化數據, 缺乏計算
機可理解的含義, 在進行文本挖掘之前,需要對文本進行預處理及特征提取, 將其表示為計
算機可讀的一種中間形式。目前, 雖然自然語言處理領域的研究已取得較大進展, 但還沒有
一種能夠完全表示文本語義的中間形式。對於不同的挖掘目的, 需要使用不同復雜度的中間
表示形式。對於細粒度的、領域特定的知識發現任務, 需要進行語義分析, 以得到足夠豐富
的表示, 抓住文本中對象或概念之間的關系。但是語義分析計算量大, 如何更快速地進行語
義分析並且對於大文本集合具有可擴展性是一個挑戰性的問題。

( 3) 跨語言問題由於自然語言的多樣性, 各種語言各有其特點,在一種語言中有效的文本挖
掘功能卻很可能不適用於其它語言, 尤其是印歐語系語言與漢語之間。並且隨着經濟的全球
化, 待處理的文本集合中可能存在多種語言寫成的文本, 因此, 文本挖掘功能要考慮到多種
語言之間的語義轉換。

( 4) 算法的選擇面對多種多樣的文本挖掘算法, 不同算法各有其特點, 如何從中選擇一個合
適的算法是一個尚待研究的問題。因為作為一般用戶來說, 他們很難搞懂每個算法的原理和
要求。

( 5) 算法運行中參數的設定很多算法運行時需要用戶設定參數, 有些參數的含義較難理解,
因而也很難正確設定。如何讓算法自動地選擇相對較好的參數值, 並且在算法運行的過程中
自行調節參數的取值, 是很多算法能否被廣大使用的一個關鍵問題。

( 6) 模式的理解和可視化顯示文本挖掘算法所發現的知識模式形式多樣。提高這些模式的可
理解性也是研究者們不得不面對的問題。提高可理解性的解決方法通常包括以圖形方式顯示
結果, 提供相對少量的規則, 或者生成自然語言以及利用可視化技術等。而目前的文本挖掘系統, 其面對的用戶大多是有經驗的專家, 一般用戶很難使用。

( 7) 領域的知識集成當前的文本挖掘系統大都未采用領域知識。領域知識很有用, 它可以提
高文本分析效率, 有助於取得更緊湊的表示形式等, 因此, 可以考慮把領域知識集成到文本
挖掘系統中。

( 8) 中文文本分詞技術在印歐語系語言中, 詞與詞之間有空格作為固定的分隔符, 因此很容
易進行分詞。而在中文中, 詞與詞之間沒有分隔符, 一個句子是由一串連續的漢字組成, 加
之漢語中的詞具有不同的長度, 相同的字可出現在許多不同的詞中, 還有許多詞由單個字組
成, 這使得對中文文本進行正確分詞面臨較多挑戰。

盡管文本挖掘領域還存在許多亟待解決的問題, 但是在需求的強烈推動下, 許多計算機廠商
紛紛推出文本挖掘軟件, 典型的應用領域包括將文本挖掘應用於網站管理, 信息分流和過濾;
應用於市場管理,質量管理和顧客關系管理以及利用文本挖掘技術發現的知識引導投資的方
向, 預測股票行情等。這些成功的案例都已經給許多人帶來了可觀的經濟利潤。



14、搜索結果處理

對搜索引擎返回的結果進行挖掘可提供給用戶更為准確的查詢結果。如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匹配的最好,然后將規則的后端推薦給客戶。具體算法
如下:






三、相關應用論文

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是為我們所准備的文檔創建索引的代碼。

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 等。
我們接着看另外一條語句:

 IndexWriter indexWriter = new IndexWriter(indexDir,luceneAnalyzer,true); 

 

這條語句創建了類
IndexWriter 的一個實例,該類也是 Lucene 索引機制里面
的一個關鍵類。這個類能創建一個新的索引或者打開一個已存在的索引並為該所
引添加文檔。我們注意到該類的構造函數接受三個參數,第一個參數指定了存儲
索引文件的路徑。第二個參數指定了在索引過程中使用什么樣的分詞器。最后一
個參數是個布爾變量,如果值為真,那么就表示要創建一個新的索引,如果值為
假,就表示打開一個已經存在的索引。
接下來的代碼演示了如何添加一個文檔到索引文件中。

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() 來完成恢復工作。

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 創建
索引是非常簡單的事情。



免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM