高 玲, 李春生, 楊冬黎
(1.大慶油田圖書館,黑龍江大慶163300;2.東北石油大學(xué),黑龍江大慶,163318)
Web為用戶提供海量信息的同時,也帶來了大量的噪聲,用戶對大量的無關(guān)信息淹沒對自己有價值的信息已經(jīng)無法忍受[1]。所以即時的處理大量信息,提高信息檢索系統(tǒng)的準(zhǔn)確率,使用戶可以快速找到自己所需要的信息已經(jīng)變得勢在必行,Web信息檢索受到越來越多的重視[2]。Web信息檢索與傳統(tǒng)信息檢索有所不同:一是信息資源海量,用戶對查全率的追求降低,查準(zhǔn)率要求越來越高;二是文檔之間的超鏈接結(jié)構(gòu)是Web信息檢索和傳統(tǒng)信息檢索的又一區(qū)別[3],鏈接描述文檔對網(wǎng)頁主題的概括有高度的精確性,由此產(chǎn)生了基于超鏈接結(jié)構(gòu)的檢索技術(shù);三是Web上的文本數(shù)據(jù)大部分用HTML書寫,使用HTML標(biāo)簽對網(wǎng)頁的修飾作用進行信息檢索。
本文以石油安全信息檢索為例,應(yīng)用分類算法和中文分詞的關(guān)鍵技術(shù),研究了信息檢索模型及其實現(xiàn)。具體包括:⑴以石油安全生產(chǎn)方面的Web頁為例,將大量分散無序的Web頁信息集中起來,經(jīng)過加工整理,使之形成有序化、系統(tǒng)化的語料庫;⑵結(jié)合信息檢索模型的相關(guān)理論、關(guān)鍵技術(shù),選擇在檢索模型中應(yīng)用概率的計算方法[4];⑶通過運用統(tǒng)計的學(xué)習(xí)方法,實現(xiàn)模型對檢索結(jié)果的優(yōu)化與完善。用已知的石油安全生產(chǎn)方面的文檔,對模型的檢索結(jié)果不斷地進行訓(xùn)練,從而使模型在多次交互操作之后,得到的檢索結(jié)果逐步接近用戶提問的理想命中結(jié)果。
建立信息檢索模型是實現(xiàn)檢索系統(tǒng)的基礎(chǔ),基本設(shè)計要求如下:⑴語料庫足夠大,檢索到的數(shù)據(jù)能滿足一般用戶需求;⑵用戶操作界面簡單,用戶可以很方便地輸入檢索請求;⑶檢索出的信息能夠達到用戶的要求,并能按照合理的順序顯式給用戶,并且可以對顯示的信息進行分類處理。
信息檢索是利用一定的檢索算法,借助于特定的檢索工具,針對用戶的檢索需求,從結(jié)構(gòu)化或非結(jié)構(gòu)化的數(shù)據(jù)中獲取有用信息的過程。把整個信息檢索過程刻畫為三個方面:信息的存儲與組織,信息的檢索,信息的展示[5]。圖1給出了信息檢索過程的框架結(jié)構(gòu)。
圖1 基于Web的信息檢索框架結(jié)構(gòu)Fig.1 Web-based framework for information retrieval
根據(jù)圖1的框架結(jié)構(gòu),可以設(shè)計基于Web的信息檢索模型,對Web頁的分類處理分兩個階段完成。第一階段是利用自動搜索程序,通過輸入一個短查詢式的問題,進行初始檢索,然后將檢索出的Web頁面經(jīng)過頁面清洗,去掉噪聲,最后以文本文檔的形式存入專門設(shè)計的后臺數(shù)據(jù)庫(包含檢索出的題目、上傳時間、內(nèi)容等)。所謂Web頁面清洗,是從Web頁面中劃分出精確的信息單位,并根據(jù)Web頁面信息加工的后續(xù)應(yīng)用的需求,將頁面中不需要的部分去除,將需要的部分提取出來。噪聲是指Web頁中大量的諸如導(dǎo)航條、廣告鏈接、版本信息、更新日期等。本文采用一種新的“HTML頁面清洗壓縮算法”,該方法是把頁面對應(yīng)的HTML文檔,轉(zhuǎn)化成對應(yīng)的HTML樹,然后再對樹進行頁面清洗。經(jīng)過清洗后,Web頁面在結(jié)構(gòu)和語義上都被劃分成細粒度的信息塊,為后續(xù)的信息加工工作順利進行提供了方便。由于在初始檢索結(jié)果中會得到數(shù)目相當(dāng)龐大的結(jié)果,包含的信息質(zhì)量也會良莠不齊,大量的與用戶意圖不相關(guān)的文檔也混雜在其中,這樣就造成檢索結(jié)果不夠準(zhǔn)確。因此需要對這些文檔再進行第二次檢索,即進入檢索的第二階段。第二階段主要任務(wù)是對文本文檔加以歸類,利用文本分類方法來組織信息,最終實現(xiàn)按類顯示用戶查找信息的要求。
第二階段信息檢索模型分成前臺用戶查詢處理和后臺文檔信息處理兩大部分,結(jié)構(gòu)如圖2所示。
前臺部分:給用戶提供查詢界面,用戶在該界面輸入查詢請求后,調(diào)用后臺信息,界面中會顯示查詢結(jié)果。用戶點擊查詢到的文檔標(biāo)題后,又彈出一個界面。界面的上方顯示這篇文檔屬于第幾類,界面的下方會顯示這篇文章的詳細內(nèi)容。
圖2 模型的組織結(jié)構(gòu)Fig.2 Structure of the model
后臺部分:利用第一階段從Web上收集來的用戶初次查詢請求資料,將其轉(zhuǎn)化為統(tǒng)一格式的文本文檔。然后對所有文檔采用停用詞處理,也就是刪掉沒有意義的代詞、助詞、副詞。再采用信息檢索模型對所有文檔進行檢索,先提取特征項。我們選取能正確反映文檔重要內(nèi)容的文檔標(biāo)題、摘要部分進行關(guān)鍵詞及詞組提取,然后這些詞形成了文檔的關(guān)鍵詞組集合。再計算每篇文檔中關(guān)鍵詞出現(xiàn)的頻數(shù),將詞頻數(shù)高的關(guān)鍵詞也存儲到文檔特征項庫中去。將查詢式詞組、特征項及已知的數(shù)據(jù)字典中的類特征項進行匹配,使用分類算法公式計算概率值,依據(jù)數(shù)值進行歸類處理。
為了對模型進行訓(xùn)練,將文本集分為兩個部分:訓(xùn)練集和測試集。所謂訓(xùn)練集是由一組已經(jīng)分好類(即已給定類別標(biāo)號)的文本組成,用于歸納出各個類別的特性以構(gòu)造分類器。測試集是用于測試分類效果的文檔的集合。其中每個文本都通過分類器分類,然后與正確決策的分類結(jié)果相對比,從而得到對分類器效果的評價,其中,測試集不參與分類器的訓(xùn)練。
本文采用貝葉斯分類方法對文檔進行分類。由于真實文本的一個屬性對給定類的影響?yīng)毩⒂谄渌麑傩缘募僭O(shè)并非總是成立,我們選取了貝葉斯網(wǎng)絡(luò)分類器。這種模型考慮到了屬性之間的依賴關(guān)系,更能反映文本的真實情況。但代價是計算復(fù)雜度比樸素貝葉斯高。貝葉斯分類算法的基本思路是計算文本屬于類別的概率,文本屬于類別的概率等于文本中每個特征項屬于類別的概率的綜合表達式。其具體算法步驟如下:輸入訓(xùn)練集文本文檔,每個文檔都包含特定的特征的詞。
第一步:先對訓(xùn)練集中的每個文本文檔進行分詞處理,提取關(guān)鍵詞。依次計算出每個關(guān)鍵詞在這個文檔di中出現(xiàn)的次數(shù)ni和頻度fi。頻度:
其中N為每個關(guān)鍵詞在文檔di中出現(xiàn)的次數(shù)的和。頻度高的這些關(guān)鍵詞放到文本特征項庫中。
第二步:用下列公式計算特征項庫中每個特征詞屬于每個類別的概率。
其中:
P(Wk|Cj)為特征詞 Wk在類 Cj中出現(xiàn)的比重,|DJ|為該類的訓(xùn)練文本數(shù),N(Wk,di)為特征詞Wk在文檔di中的詞頻,|V|為特征文檔庫中的總詞數(shù)(Wx,di)為該類所有詞的詞頻和。
第三步:文本到達時,根據(jù)特征詞,按下面的公式計算該文本di屬于類Cj的概率:
P為類的總數(shù),N(Wk,di)為Wk在di中的詞頻,n為特征詞總數(shù)。
第四步:比較測試文檔屬于所有類的概率,將文本分到概率最大的那個類中。
第五步:確定閾值。根據(jù)訓(xùn)練集中文檔的概率和頻率,算出每一類的閾值。
第六步:當(dāng)有新文檔出現(xiàn)時,只需要用它第二步計算出P(Wk|Cj)和每一類的閾值進行比較,大于閾值的認為是相關(guān)文檔,把它歸入該類中。省去第三步到第五步的計算過程,節(jié)約了時間也減少了計算工作量。
在基于中文分詞和文本分類算法相結(jié)合的信息檢索模型的基礎(chǔ)上,針對石油安全領(lǐng)域的Web信息檢索設(shè)計了一個智能信息檢索系統(tǒng),該系統(tǒng)在查找準(zhǔn)確率、文檔分類方面均取得了較好的結(jié)果。
本文利用網(wǎng)絡(luò)蜘蛛自動搜索程序從百度網(wǎng)上采集了與石油相關(guān)的Web頁400個。其中200個作為訓(xùn)練集,剩下的200個作為測試集。為了保證訓(xùn)練數(shù)據(jù)的正確性,訓(xùn)練集里的Web頁是由人工提取的。
數(shù)據(jù)處理基于語料庫。語料庫主要由文檔特征項庫、類特征項庫、關(guān)鍵詞組集合三大部分組成。文檔特征項庫是從由特征提取中詞頻高的關(guān)鍵詞組成的(可以選擇字、詞或詞組來作為特征項,但是根據(jù)做實驗顯示的結(jié)果來看,選取“詞”作為特征項要優(yōu)于字和詞組,所以文檔特征庫是由詞構(gòu)成的);關(guān)鍵詞組集合是從每篇文本文檔的標(biāo)題、摘要、關(guān)鍵詞信息中獲取的;類特征項庫是利用數(shù)據(jù)字典中的數(shù)據(jù)獲得的。
數(shù)據(jù)處理的目的是讓系統(tǒng)最終實現(xiàn)智能分類,要分類就得先分詞。對于一篇經(jīng)過預(yù)處理后的文本文檔,根據(jù)它出現(xiàn)的標(biāo)點符號位置,先將它切分成句子。遇到逗號、問號、感嘆號、分號、冒號、省略號和回車換行符,就認為是一個句子的結(jié)束標(biāo)志。另外,如果句子中存在括號,被一對括號括起的部分認為是一個獨立的句子。然后對句子再進行切分,得到詞。這主要是因為考慮到自然語言處理技術(shù)的影響,選擇詞作為文本組成的特征,更符合人們的思維習(xí)慣。因此本文中文檔特征項庫中的關(guān)鍵詞、關(guān)鍵詞組集合中的特征項都是用文本分詞的方法獲得的。本文采用的中文分詞算法是基于分詞詞典(常用詞詞典)的字符串匹配算法,其分詞過程如3所示。
圖3 中文分詞流程Fig.3 Flow chart of Chinese Word Segmentation
現(xiàn)以石油安全生產(chǎn)領(lǐng)域的一篇名叫《石油庫帶掩體油罐防護安全距離的確定》的文檔D1和《加油站與加氣站安全距離要求》的文檔D2為例,說明對文檔的智能分類過程。
表1 D1和D2關(guān)鍵詞統(tǒng)計Table 1 Keywords statistics of Documents D1 and D2
石油庫帶掩體油罐防護安全距離的確定。摘要:油庫安全距離有兩個不同的概念,一個是防火安全距離;另一個是防護安全距離。針對如何科學(xué)地確定油庫防護安全距離這一問題,對炸彈的破壞因素和建筑物的破壞等級進行了分析與劃分,從而根據(jù)建筑物的重要性和抗沖擊波破壞能力,確定其允許破壞的等級,再由投彈的裝藥量計算出沖擊波的設(shè)防安全距離。對于帶有掩體的油罐,其防護安全距離的確定應(yīng)根據(jù)允許破壞等級、爆炸位置以及有掩體的兩油罐間防護安全距離的計算來確定。關(guān)鍵詞:油庫,油罐,安全,距離。
加油站與加氣站安全距離要求。根據(jù)《汽車加油站、加氣站設(shè)計與施工規(guī)范》,加氣機與加油站、加氣站房的最小防火距離為5米。
從文檔D1和D2的標(biāo)題、摘要(或者主要敘述內(nèi)容)、關(guān)鍵詞信息中我們?nèi)〕鱿鄬χ匾脑~放到關(guān)鍵詞組集合中,如表1所示。
由于“安全”和“距離”這兩個詞在文檔D1和D2中全出現(xiàn)了,所以這連個詞的NDocuments=2,其余詞的NDocuments=1。如下圖4所示。
圖4 “距離”關(guān)鍵詞統(tǒng)計Fig.4 Statistics of the keyword“Distance”
從圖4可知,關(guān)鍵詞“距離”出現(xiàn)在D1與D2兩篇文檔中,“距離”在文檔D1中一共出現(xiàn)了9次,第一次出現(xiàn)的位置為29,第二次出現(xiàn)的位置離第一次出現(xiàn)位置的相對的位移為26(這里采用的是一個漢字占2個字符的算法來計算詞在文檔中的位置的)。“距離”在文檔D2中僅出現(xiàn)了2次。從圖4顯示的內(nèi)容來看,關(guān)鍵詞“距離”這個詞在文檔D1中的出現(xiàn)的頻率是很高的,所以把它存入到文檔特征項庫中。類特征項庫的數(shù)據(jù)是從已知的石油安全數(shù)據(jù)字典中獲得的。
在面向用戶的信息檢索系統(tǒng)的檢索詞提交框中,用戶輸入想查詢的關(guān)鍵詞,或者在下拉列表框中選擇已知的類別中的某一類,點擊“搜索”按鈕提交給系統(tǒng)。經(jīng)過計算處理后,查到的與用戶輸入相關(guān)的文檔結(jié)果會按相關(guān)度展示給用戶。通過對系統(tǒng)測試,文檔對應(yīng)分類的查準(zhǔn)率穩(wěn)定在62%到71%之間。如圖5所示。
圖5 不同類別查準(zhǔn)率的比較Fig.5 Comparison of accuracy of different categories
提出了分階段對Web頁的檢索方法。第一階段,通過在Web站點上安裝程序獲取Web頁,應(yīng)用頁面清洗技術(shù),使之變成文本文檔,實現(xiàn)了模型中數(shù)據(jù)導(dǎo)入前的預(yù)處理;第二階段,把分類算法運用到信息檢索模型中,在計算文檔與用戶需求相關(guān)度的同時,對文檔進行了分類。通過概率模型實現(xiàn)了文檔的分類,并且把這種方法應(yīng)用到了石油安全生產(chǎn)領(lǐng)域,取得了良好的分類效果。
[1]WANGNENGBIN.Databasesystemtutorial[M].Beijing:Publishing houseof Electronics Industry,2004.
[2]張德海,沙月林.基于本體與工作流的知識服務(wù)系統(tǒng)[J].計算機工 程,2009,35(19):75~77,80.
[3]MENGXIAO-FENG,ZHOULONG-XIANG,WANGSHAN.Stateof theart and trends in databaseresearch[J].Journal of software,2004,15(12):1822~I836.
[4]杜小勇,李曼,王珊.本體學(xué)習(xí)研究綜述[J].北京軟件學(xué)報,2006,17(9):l837~1847.
[5]王珊,薩師煊.數(shù)據(jù)庫系統(tǒng)概論[M].北京:高等教育出版社,2005.