王景中 郭兆亮
北方工業(yè)大學信息工程學院 北京 100144
隨著互聯(lián)網(wǎng)的日益普及,Web已成為最重要的新聞媒體之一。然而,由于互聯(lián)網(wǎng)的開放性和無界性,大量的不良信息充斥于網(wǎng)絡,如何針對文本進行過濾成為當務之急。
目前,基于文本的內容過濾算法主要有:關鍵詞匹配法、支持向量機方法、潛在語義索引法、神經網(wǎng)絡法等。Web文本內容過濾有兩個突出特點:實時性和基于內容性。關鍵詞匹配和支持向量機方法都具有速度快的優(yōu)點,但是未考慮語義,故精度有待提高。潛在語義索引法過濾精度較高,但因采用潛在的語義結構,缺乏直觀意義,不易理解,而且算法復雜,執(zhí)行速度慢,所以不適合實際應用。神經網(wǎng)絡法依照人們的長期實踐經驗,模仿人腦對信息進行過濾的原理,結合各種數(shù)學模型來實現(xiàn)它的功能。優(yōu)點是具有很強的自學習和自適應能力,但仍具有算法復雜、執(zhí)行速度慢的缺點。
針對上述情況,本文考慮支持向量機的實時性和基于語義的內容性,提出以向量空間為基礎,并在句子范圍內考慮主題詞之間聯(lián)系的方法。
由于本文處理的對象為HTML文件,傳統(tǒng)意義上處理時忽略了文本內容的層次性,比如標題比正文更能體現(xiàn)主題,標題應該比正文具有更高的層次,計算權值時應具有更高的權值。文獻[2]從文本挖掘的角度對HTML分層進行了研究,說明了其可行性。文獻[3]中采用按照 HTML標簽的權值分配,該文中的權值分配模型過于繁瑣。本文借鑒分層的思想,并對如何分層進行優(yōu)化(根據(jù) HTML結構特征合理地劃分為三層),并對權值分配模型進行簡化,另外,針對主題詞采用改進的權值計算公式,繼而提高查全率和查準率。
(1) 特征提取
如何選取合理的特征值是能否有效處理文本的關鍵。如果以字為單位,一是計算量比較大,二是忽略了字之間的相關性;如果以句子為單位,處理比較困難,計算復雜度比較高。
因此,本文采取詞作為特征項。
每個網(wǎng)頁文檔中有大量的詞,這些詞對網(wǎng)頁文本主題內容的表達程度不同,有的詞比其它詞更能代表文本意思,如果將所有的詞都拿來用作處理文檔的關鍵詞,那么每個文檔所要處理的數(shù)據(jù)將會非常龐大。沒有經過處理的詞有不少屬于噪音,沒有區(qū)分度,對后續(xù)處理沒有幫助,反而會帶來巨大資源的占用和浪費,對過濾產生負面影響。因此需要對文檔通過特征提取進行降維處理。
特征提取時,利用 ICTCLAS系統(tǒng)接口進行分詞,然后進行相關預處理,并提取出名詞、動詞、形容詞、副詞、代詞、處所詞等6類詞,并按照詞的頻數(shù)選取前N維(本文N取1000)作為降維處理之后的文本特征項。
(2) 計算初始權值
特征項提取出來后,每個特征項對表達主題文本的貢獻不同,為了區(qū)分這種差異性,需要給每個特征項賦予一個權值,權值的大小代表了它表示文本的能力的大小。
為特征項賦予權值通常有兩種方法,一是人為給每個特征項賦一個權值,該方法隨意性較大,而且權值大小與人的經驗有關,并不能客觀顯示特征項的權值;另一種是根據(jù)特征項在文本中出現(xiàn)的頻率,以及所在的位置等因素,根據(jù)一定的算法賦予特征項權值,這個方法比較實際,而且準確度較高。
本文采用主題詞的詞頻作為初始權值。
在文字處理中,詞頻指的是某一個給定的詞語在該文件中出現(xiàn)的次數(shù)。為防止它偏向長的文件,這個數(shù)字通常會被正規(guī)化。因此,通常主題詞的詞頻等于該詞在文檔中出現(xiàn)的次數(shù)除以所有詞在文檔中出現(xiàn)的次數(shù)和。
針對正面樣本,經過訓練后,將N(取1000)個主題詞及初始權重(即詞頻)形成二維權重矩陣如下:
其中ki為主題詞,forigin(ki)為ki對應的初始權重。
同理,可對負面樣本建立類似權重矩陣。
一般來說,網(wǎng)頁中不同層次的文本對主題思想的表現(xiàn)力是不同的,因而,不同層次的文本對文章傾向性的支持強度也是不同的。例如,標題比正文對文章的支持強度要大。
因此,本文對HTML文件進行分層處理,不同的層采取不同的權重。
為實現(xiàn)分層,本文進行了以下預處理:對獲取的HTML文本進行清洗、文本提取、分詞、按詞性提取。
網(wǎng)頁是一種半結構化的文檔,本文通過對HTML文檔的深度分析,利用正則表達式對HTML文件進行處理,提取出題目、1-4級標題、網(wǎng)頁關鍵字和正文及超級鏈接。其中題目、1-4級標題、網(wǎng)頁關鍵字作為第一層次,正文作為第二層次,超級鏈接作為第三層。
本文用正則表達式實現(xiàn)分層操作,正則表達式是一種進行高效、準確、簡潔的進行文本字符串處理(模式驗證、搜索替換等)的方法。它用一組特定含義的字符來匹配不同的文本字符串。Boost正則表達式庫是 C++標準委員會庫工作組發(fā)起的一套開放源代碼的、可移植的、基于模版的C++庫。
利用Boost正則表達式,通過研究HTML的基本結構,本文總結出相對而言比較通用的用于文本清洗和文本提取的正則表達式。
(1) 對文本進行清洗
處理目的是為了清洗掉噪音,如腳本和注釋等,文本清洗的核心表達式如表1。
表1 數(shù)據(jù)清洗的核心正則表達式
(2) 文本提取
處理目的是用于獲得三個層的內容,分別用正則表達式提取標題、描述、正文、超級鏈接等內容。用于提取的核心正則表達式如表2。
表2 文本提取的核心正則表達式
至此,已從HTML中獲取三個層中的內容。
(3) 分詞并按詞性提取
提取出各層次的文本內容之后,首先應對文本進行分詞,本文采取中科院研制的ICTCLAS系統(tǒng)接口。
該系統(tǒng)的功能有:中文分詞、詞性標注等。分詞正確率高達97.58%,基于角色標注的未登錄詞識別能取得高于90%召回率,其中中國人名的識別召回率接近98%,分詞和詞性標注處理速度為31.5KB/s。
經過相關的配置后,核心調用程序如下:
為提高處理速度,考慮到在文章中起主要作用的是實詞,虛詞對判斷的文章的傾向性作用不大,但是卻占有相當?shù)钠?,所以本文采取根?jù)詞性提取重點詞匯的方式,主要提取名詞、動詞、形容詞、副詞、代詞、處所詞等6類詞。為方便后續(xù)處理,此步處理時,在程序中實現(xiàn)以句的形式存儲。處理結束后,結果實例如下:
(4) 計算主題詞權值和貢獻值
預處理結束后,開始計算主題詞的權重,在設計權重函數(shù)時,除考慮通過樣本統(tǒng)計獲得的初始權重外,還應考慮以下因素:
層次越高(數(shù)字越小,層次越高),權重越大。顯然對于相同的主題詞,處于第一層次的題目要比第二層次的正文賦予更高的權重。
主題詞的頻數(shù)越高,權重應越大。以往的權重函數(shù),涉及此問題時,均是單純的統(tǒng)計主題詞的頻數(shù)(單純出現(xiàn)的次數(shù)),而忽略了主題詞之間的關聯(lián),本文以句子為單位對主題詞進行加權運算,改進的加權公式如下:
其中num為含有主題詞ki的句子個數(shù);
ni為所處理的句子中含主題詞的個數(shù),如果主題詞出現(xiàn)在同一句,則認為其有關聯(lián)。
舉例如下,如以下句子(此為分詞并標注詞性后的結果):改革/v 開放/v 階段性/n 任務/n 不同/a 。
在該句中“改革”和“開放”在傳統(tǒng)的統(tǒng)計過程中出現(xiàn)一次被賦值為1,本文中假設本句話中,僅有“改革”和“開放”是主題詞(其他詞不是主題詞,對分詞影響不大,故不計算其權值),假設計算“改革”的 fsen(ki)值,此時本句話中ni等于2,以此道理,計算含有主題詞“改革”的其它句中的ni,最后加和。
考慮上述因素后, 改進后的權重計算公式如下:
forigin(ki)表示主題詞ki在訓練階段獲得的初始頻率,即正規(guī)化后的詞頻;
fpos(ki)表示主題詞ki所在相應層次的權值,不同層次采用不同的值,層次越高應該值越大,本文取公式如下:
flen(ki)表示主題詞ki的長度;
fsen(ki)即為升上文提出的考慮句子內主題詞關聯(lián)性的“數(shù)目”計算公式。
當進行過濾時,只需針對正面、負面樣本產生的權重矩陣分別進行以上操作,然后將分別獲得的新權重相加,比較和的大小,數(shù)值比較大的,說明主題詞與該類文本吻合率較高,屬于該類,如果是負面,則過濾掉。
以上操作避免了向量空間模型中計算相似度的問題,減少了計算復雜度。
內容過濾有兩個重要的指標,即查全率和查準率。
查全率=正確過濾/應該過濾;
查準率=正確過濾/實際過濾。
本文從網(wǎng)上收集支持倫敦奧運和反對倫敦奧運的文章各240篇,其中分別取160篇用于訓練,80篇用于測試。測試結果如表3。
表3 算法改進后信息過濾性能對比
通過對比可知,相對于傳統(tǒng)VSM 方法,本文所采用的方法切實提高了文本過濾的查全率和查準率,具有一定的借鑒意義。
本文主要針對中文的 Web文本內容過濾。通過對HTML的分層處理,計算主題詞權重時,在考慮詞頻的同時,還考慮主題詞所在的層次、長度及同一句中主題詞之間的關聯(lián)。實驗結果表明,過濾的查全率和查準率均得到有效提高。
后續(xù)研究中,可考慮將段落中的首句和末句、正文中加粗或強調的部分提取出來加入第一層次,另外本文只是考慮了主題詞之間的簡單聯(lián)系,可考慮深入些研究詞之間的聯(lián)系。
[1]于海燕,陳曉江,馮健房,鼎益.Web文本內容過濾方法的研究.微電子學與計算機.2006.
[2]武洪萍,周國祥.Web文本挖掘研究.計算機技術與應用進展.2007.
[3]魏麗霞,鄭家恒.基于網(wǎng)頁文本結構的網(wǎng)頁去重.計算機應用.2007.
[4]張華平.ICTCLAS簡介.http://ictclas.org/.
[5]孫巖國.基于Internet的中文文本過濾系統(tǒng)的研究與實踐.蘭州理工大學碩士論文.2004.
[6]彭作民.一個基于語義分析的文本過濾方法.計算機與信息技術.2012.
[7]王健.基于 Web 的文本自動摘要技術分析.計算機與信息技術.2007.
[8]李曉微.基于內容的中文內容過濾關鍵技術研究.東北師范大學碩士學位論文.2008.
[9]蒲強,李鑫,劉啟和,楊國緯.一種 Web主題文本通用提取方法.計算機應用.2007.
[10]張志剛,陳靜,李曉明.一種 HTML網(wǎng)頁凈化方法.情報學報.2004.
[11]蒲強,李鑫.一種 Web主題文本通用提取方法.計算機應用.2007.
[12]張紅梅.基于塊的Web網(wǎng)頁信息提取.軟件導刊.2012.