傳統(tǒng)的網(wǎng)絡(luò)數(shù)據(jù)抽取是針對(duì)抽取對(duì)象手工編寫一段專門的抽取程序,這個(gè)程序稱為包裝器(wrapper)。近年來(lái),越來(lái)越多的網(wǎng)絡(luò)數(shù)據(jù)抽取工具被開發(fā)出來(lái),替代了傳統(tǒng)的手工編寫包裝器的方法。目前的網(wǎng)絡(luò)數(shù)據(jù)抽取工具可分為以下幾大類(實(shí)際上,一個(gè)工具可能會(huì)歸屬于其中若干類):
?開發(fā)包裝器的語(yǔ)言(Languages for Wrapper Development):用戶可用這些語(yǔ)言方便地編寫包裝器。例如Minerva,TSIMMIS,Web-OQL,F(xiàn)LORID,Jedi等。
?以HTML為中間件的工具(HTML-aware Tools):這些工具在抽取時(shí)主要依賴HTML文檔的內(nèi)在結(jié)構(gòu)特征。在抽取過程之前,這些工具先把文檔轉(zhuǎn)換成標(biāo)簽樹;再根據(jù)標(biāo)簽樹自動(dòng)或半自動(dòng)地抽取數(shù)據(jù)。代表工具有Knowlesys,MDR。
?基于NLP(Natural language processing)的工具(NLP-based Tools):這些工具通常利用filtering、part-of-speech tagging、lexical semantic tagging等NLP技術(shù)建立短語(yǔ)和句子元素之間的關(guān)系,推導(dǎo)出抽取規(guī)則。這些工具比較適合于抽取那些包含符合文法的頁(yè)面。代表工具有 RAPIER,SRV,WHISK。
?包裝器的歸納工具(Wrapper Induction Tools):包裝器的歸納工具從一組訓(xùn)練樣例中歸納出基于分隔符的抽取規(guī)則。這些工具和基于NLP的工具之間zui大的差別在于:這些工具不依賴于語(yǔ)言約束,而是依賴于數(shù)據(jù)的格式化特征。這個(gè)特點(diǎn)決定了這些工具比基于NLP的工具更適合于抽取HTML文檔。代表工具有:WIEN,SoftMealy,STALKER。
?基于模型的工具(Modeling-based Tools):這些工具讓用戶通過圖形界面,建立文檔中其感興趣的對(duì)象的結(jié)構(gòu)模型,“教”工具學(xué)會(huì)如何識(shí)別文檔中的對(duì)象,從而抽取出對(duì)象。代表工具有:NoDoSE,DEByE。
?基于本體的工具(Ontology-based Tools):這些工具首先需要專家參與,人工建立某領(lǐng)域的知識(shí)庫(kù),然后工具基于知識(shí)庫(kù)去做抽取操作。如果知識(shí)庫(kù)具有足夠的表達(dá)能力,那么抽取操作可以做到*自動(dòng)。而且由這些工具生成的包裝器具有比較好的靈活性和適應(yīng)性。代表工具有:BYU,X-tract。
網(wǎng)絡(luò)數(shù)據(jù)抽取技術(shù)流程的實(shí)現(xiàn)
其具體步驟如下(以zui通用的‘Knowlesys采集’步驟為例)
*步,確立采集目標(biāo),即由用戶選擇目標(biāo)。
第二步:提取特征信息,即根據(jù)目標(biāo)的網(wǎng)頁(yè)格式,提取出采集目標(biāo)數(shù)據(jù)的通性。
第三步:網(wǎng)絡(luò)信息獲取,即利用工具自動(dòng)的把頁(yè)面數(shù)據(jù)把存到數(shù)據(jù)庫(kù)。