郭培銘
(1.上海理工大學(xué)光電信息與計算機工程學(xué)院,上海 200093;2.上海理工大學(xué)圖書館,上海 200093)
社會經(jīng)濟快速發(fā)展的同時互聯(lián)網(wǎng)也隨之快速發(fā)展起來,而Web頁面上的信息資源正在以一種爆炸式的速度增長著,因此,在面對如此海量的信息資源面前,該如何快速地提取及發(fā)現(xiàn)有價值的信息已經(jīng)成為最為重要的任務(wù)。而Web的研究內(nèi)容主要是關(guān)于信息檢索、過濾以及抽取等,而其主要研究對象也是網(wǎng)頁信息。但是在網(wǎng)頁當(dāng)中除了與主題相關(guān)的內(nèi)容還有較多的廣告信息和比較多的無關(guān)緊要的信息,因此,如何有效快速地清除在網(wǎng)頁信息當(dāng)中的噪音,及時提取有效的正文信息,并提升Web程序處理結(jié)果的準(zhǔn)確性,已經(jīng)成為研究Web的信息系統(tǒng)一項必不可少的工作項目[1]。
網(wǎng)頁信息提取已經(jīng)在很多領(lǐng)域中被應(yīng)用,而在圖書文獻服務(wù)中應(yīng)用得并不十分廣泛。最為常用的就是百度搜索引擎中對文獻的檢索功能。對于檢索到需要的文獻時,如何快速地提取文獻信息,始終無法有一個較為可行的方法。而這一點在圖書館文獻傳遞工作中越來越顯得十分必要。
以上海理工大學(xué)圖書館為例,圖書館使用PHP7+MySQL5.5+Apache2.4的系統(tǒng)組合,搭建并自行開發(fā)了網(wǎng)絡(luò)版文獻傳遞服務(wù)系統(tǒng),大大方便了用戶對文獻傳遞服務(wù)的使用,但是用戶如果需要請求文獻時需要將文獻詳細(xì)信息自行輸入系統(tǒng),也由此可知,某一用戶某次的文獻申請數(shù)量與文獻申請的積極性也就成了反比。而且還有可能造成文獻申請的信息不完整,給文獻傳遞工作帶來不必要的麻煩。
在現(xiàn)有的系統(tǒng)基礎(chǔ)上,為文獻傳遞系統(tǒng)引入網(wǎng)頁信息提取技術(shù),能夠極大地提高文獻傳遞工作的效率,同時也可以吸引更多的潛在用戶使用圖書館文獻傳遞服務(wù),建立系統(tǒng)的圖書館文獻傳遞數(shù)據(jù)庫,提升資源使用效率也有極大的幫助。
目前由第三方公司在上海理工大學(xué)范圍內(nèi)提供的QQ文獻服務(wù)群中,大量的文獻需求由用戶在QQ群中直接提出。據(jù)統(tǒng)計,在開始提供服務(wù)的近一年時間中,大約有近千個文獻服務(wù)申請被提出,而用戶選擇在QQ平臺上申請服務(wù)的原因很簡單,就是十分方便,只需提供一個文獻標(biāo)題或文獻鏈接即可。而這種方式對于資源的再利用及規(guī)范使用都會有一定的弊端,而圖書館在文獻傳遞工作中補上這一短板也更為刻不容緩了。
這里的文獻網(wǎng)頁所指的是特定某篇文獻的頁面,即用戶所需要的文獻的所在數(shù)據(jù)庫頁面,在此頁面上對所需的文獻信息進行自動提取。整個算法由PHP語言進行編寫實現(xiàn),對HTML的網(wǎng)頁結(jié)構(gòu)進行提取所需要的結(jié)構(gòu)值,并進行篩選、整理,在提取文獻信息的基礎(chǔ)上,算法還將對所收集的信息進行特征分析判斷,對該文獻的具體性質(zhì)做出準(zhǔn)確的判斷,使信息提取走出只是獲得所需信息,起到向綜合利用信息結(jié)合的橋梁作用。
算法過程:
(1)對網(wǎng)頁信息進行去噪處理,舍棄不需要的標(biāo)識內(nèi)容;
(2)提取網(wǎng)頁信息中標(biāo)識字段;
(3)保留需要的字段內(nèi)容,組成數(shù)據(jù)數(shù)組;
(4)對數(shù)據(jù)數(shù)組進行再去噪,保留有效內(nèi)容;
(5)通過篩選,提取所需文獻信息;
(6)通過文獻信息對文獻類別進行判斷。
要提取網(wǎng)頁內(nèi)容就需要先對網(wǎng)頁信息進行去噪。網(wǎng)頁由功能數(shù)據(jù)與網(wǎng)頁信息共同組成。而網(wǎng)頁HTML文本是自動描述的半結(jié)構(gòu)數(shù)據(jù),數(shù)據(jù)的結(jié)構(gòu)與內(nèi)容與網(wǎng)頁功能模塊混在一起,無明顯的特征區(qū)分。并且在一般情況下,HTML元素是相互交叉嵌套的[1]。因此,需要先對所獲得的網(wǎng)頁信息進行去噪,也就是將HTML文檔轉(zhuǎn)換為DOM樹的過程,將HTML文檔中的元素映射成DOM樹中的節(jié)點[2]。將需要的標(biāo)識字段提取出來,對于文獻數(shù)據(jù)庫來說,與文獻信息相關(guān)的標(biāo)識字段一般是<title>,<h2>,<a>,<li>等,將這些信息從繁雜的網(wǎng)頁內(nèi)容中提取并作結(jié)點處理,有助于提高文獻信息提取的準(zhǔn)確性。其用PHP編寫的關(guān)鍵代碼為:
Gethtml()
{
for(對提取的網(wǎng)頁信息進行篩選)
{
if(是在<>中的標(biāo)識字段名)
{
提取完整的標(biāo)識字段名;
}
if(如果是所需的標(biāo)識字段)
{
$substring1=$substring1.substr($data,$s1,1);
//$substring1為保存標(biāo)識字段內(nèi)容變量
//$data為提取的網(wǎng)頁信息
//$s1為當(dāng)前字符所在位置
}
if(指定標(biāo)識字段內(nèi)容提取完成)
{
將所需內(nèi)容存入指定數(shù)組內(nèi);
}
}
}
(1)相應(yīng)的標(biāo)識字段內(nèi)容篩選
在提取完成所有需要的標(biāo)識字段中的內(nèi)容后,對所提取的信息進行再次去噪,以提高信息提取的準(zhǔn)確率及效率,從不同的文獻數(shù)據(jù)庫的提取過程中,發(fā)現(xiàn)雖然不同的網(wǎng)站在編寫網(wǎng)頁時會有所不同,但也有一些共同的規(guī)律可以被找到。每一篇文獻的頁面信息中,所需要的信息通常位于提取信息的前50%內(nèi)容內(nèi),后50%的內(nèi)容為網(wǎng)頁其他信息,故可以將匹配范圍縮小至50%。再從剩余內(nèi)容中,將一些特別字符組成的無實際意義的修飾符及空格內(nèi)容剔除,以提升提取準(zhǔn)確率與提高效率。則在計算文獻信息初始提取時,其正確提取概率為:
設(shè):原提取概率,數(shù)據(jù)量為n(n ≥1,n∈N+),則信息的提取概率P為公式(1):

經(jīng)篩選后,信息提取概率P0成為公式(2):

(2)以文獻特征提取文獻信息
對于體現(xiàn)文獻特征屬性的內(nèi)容描述,一般由文獻標(biāo)題、所屬出版物、頁碼、卷期號、責(zé)任者、出版時間等幾個主要的特性來組成,而它們之間各自又具有一定的區(qū)別于對方的明顯特征。
以責(zé)任者為例,中文姓名,其表現(xiàn)為特定的字符長度與其他網(wǎng)頁文字內(nèi)容相區(qū)別,漢字組成可將非漢字字符內(nèi)容排除,重復(fù)出現(xiàn)的字符可視為網(wǎng)頁的特定內(nèi)容而去除,再將所提取的信息前端內(nèi)容與系統(tǒng)內(nèi)保留的中文姓氏字庫進行匹配來提取所需的信息,獲得了較好的提取效果。
對于英文字符的姓名,除應(yīng)用基本的英文姓氏及中文拼音姓氏字庫進行匹配外,英文姓名中往往還包含特殊字符“.”,可以以此特征來進一步判斷是否為責(zé)任者信息。同時,在提取時也要注意電子郵箱名稱中具有與姓名類似的特征,所以要將郵箱的特殊符號“@”加以考慮,以過濾掉郵箱地址。
通過不斷細(xì)化總結(jié)文獻各類信息的不同特征,使所需要的文獻信息能夠較為準(zhǔn)確地得到提取。分類判斷關(guān)鍵代碼:
Getmessage()
{
for(檢索整個提取的內(nèi)容集合)
{
條件性質(zhì)細(xì)化判斷處理過程;
if(符合特征項0的條件)
{
$arr[0]=$sub1;//將文獻信息保存入指定數(shù)組字段
$sub1="";//清空變量,準(zhǔn)備保存下一個信息
}
i(f符合特征項n的條件)
{
$arr[n]=$sub1;
$sub1=””;
}
}
完成處理過程后輸出結(jié)果至指定位置;
}
所謂文獻類型的判斷,就是要判斷所選定的這篇文獻是期刊文獻、會議文獻還是其他類型的文獻。一般網(wǎng)頁信息提取過程中不會有明確的類型提示,而對從單一信息中提取的內(nèi)容來進行判斷也無法保證其正確性。基于這些情況,可以從所提取的文獻信息出發(fā),對多個特征的結(jié)合分析來進行判斷。各類文獻的特征可見表1所示。

表1 各類文獻的特征
從表1可知,期刊與其他文獻的最大區(qū)別為有卷期號、頁碼的表示方法以及刊名的獨特性;會議文獻則是其會議名稱和頁碼表示方法是其最大的特點。從總結(jié)文獻的特征性信息,就可以判斷出所獲得的文獻信息是哪一種,較為容易做出準(zhǔn)確的結(jié)論。也可以看出,對文獻特征屬性的準(zhǔn)確提取是對文獻類型進行精確判斷的最為關(guān)鍵的保證。
結(jié)合對HTML結(jié)構(gòu)抽取的方法通過對文獻特征的分析來對其信息進行網(wǎng)頁提取,能夠取得較好的提取準(zhǔn)確率。由于不同文獻數(shù)據(jù)庫的表達形式以及網(wǎng)頁標(biāo)識字段可能會有所不同,但是形式不會過于多樣,因此,通過對更多數(shù)據(jù)庫的提取實踐,可以使文獻信息的提取準(zhǔn)確性和效率不斷提高,使算法的適用性不斷增強。
同時,讓信息提取技術(shù)用于圖書館對計算機及互聯(lián)網(wǎng)技術(shù)的深度應(yīng)用上,也能夠起到促進其他技術(shù)在圖書館工作中的應(yīng)用與實踐,使之成為圖書館工作不斷深入發(fā)展的催化劑。