郭威,紀星
(1.湖北汽車工業(yè)學院 經(jīng)濟管理學院,湖北 十堰442002;2.湖北省金螞蟻網(wǎng)絡有限公司,湖北 十堰 442000)
互聯(lián)網(wǎng)的飛速發(fā)展使其成為全球信息傳播與共享的重要資源,Web上的數(shù)據(jù)一直呈爆炸式增長,要想從Web上獲取一條有用信息的難度卻越來越大[1]。搜索引擎就是在這種條件下孕育而生的。而現(xiàn)有的搜索引擎只能提供URL集供用戶瀏覽,但往往不能提供用戶直接所需要的聯(lián)系信息?;诖耍疚南到y(tǒng)地研究借助搜索引擎的結果,通過“實體”判斷、正則表達式、網(wǎng)頁分類、SV值算法結合完成提取和整合聯(lián)系信息,例如電話、郵箱、QQ、地址、傳真等信息。
提取關鍵信息的思路就是借助于搜索引擎提供的經(jīng)過處理的URL結果集,然后使用目前研究的Web信息提取技術,提取出目前指定的9個字段信息。這些信息基本上都是聯(lián)系信息。本系統(tǒng)的實現(xiàn)可以分成3步:1)獲取首頁網(wǎng)址集;2)獲取關鍵網(wǎng)址集;3)提取關鍵信息集。這3步是相互有影響的,每一步都是后一步的基礎,如果沒有前一步,后一步是沒有任何意義的。在計算系統(tǒng)有效的時候,需要計算每一步之間的影響因數(shù),只有這樣,計算出來的才是最有說服力的。
這個過程分2步:1)獲取搜索引擎TOP100結果集;2)處理TOP100得到TOP100中的首頁結果集。
獲取搜索引擎TOP100結果集:本研究所需的數(shù)據(jù)是來自于搜索引擎的結果集,所以把搜索引擎根據(jù)“查詢句”得到的前100個左右的結果集,稱之為“搜索引擎TOP100結果集”。
在第1)步中,通過輸入查詢句后,統(tǒng)計分析搜索引擎返回結果,發(fā)現(xiàn)一個有利于提高系統(tǒng)精度的規(guī)律,即對于某個單位。例如在“google”、“百度”中搜索“湖北汽車工業(yè)學院”,其前10名的結果中有3個以上是來自汽院網(wǎng)站的網(wǎng)頁,根據(jù)此規(guī)律做出假設,只有前10個結果中,來自某一網(wǎng)站的網(wǎng)頁列表大于某個閥值(可以設定為3、5等)那么,這個查詢句就是查詢這個網(wǎng)站的內容,經(jīng)過實驗證明這個方法是可行的,有效提高了精度。如果存在這種情況,一般搜索引擎提供的結果集不會很多。
在第2)步中,獲取TOP100中的首頁結果集:這個步驟主要是處理TOP100的結果集得到這些網(wǎng)址集得首頁。保證了每個網(wǎng)站只會存儲首頁網(wǎng)址與系統(tǒng)中以供下一步提取信息之用,過濾掉返回結果中同一網(wǎng)站的不同網(wǎng)址,達到提高了搜索范圍目的。
關鍵網(wǎng)址集是指含有感興趣的聯(lián)系信息數(shù)據(jù)的網(wǎng)頁的網(wǎng)址集合。經(jīng)過定性分析,發(fā)現(xiàn)絕大多數(shù)關鍵網(wǎng)址集中的網(wǎng)頁使用了關鍵字,例如:“聯(lián)系我們”,“聯(lián)系方式”,“聯(lián)系方法”等于聯(lián)系方式有關的特征詞。而提取的信息正好是關于聯(lián)系信息的,所以這些關鍵字就成為了獲取關鍵網(wǎng)站集的重要線索。同時大部分的網(wǎng)站中有使用一個頁面來顯示聯(lián)系信息,但有少部分網(wǎng)站使用一個文本塊直接顯示?;诖耍疚氖褂昧?種方法來獲取聯(lián)系信息:1)通過獲取聯(lián)系信息的網(wǎng)址獲??;2)通過獲取聯(lián)系信息的文本塊獲取。這2種方法都使用了開源程序html parser協(xié)助解析網(wǎng)站的標簽。方法1)提取的網(wǎng)址就是需要的關鍵網(wǎng)址集,這些網(wǎng)址集會在下一個步驟中使用更復雜的方法處理。方法2)得到的聯(lián)系信息塊可以直接處理。
獲取關鍵網(wǎng)址集的核心操作:分析出網(wǎng)址顯示聯(lián)系信息的共同點,因此要使用開源的HTML Parser處理,根據(jù)這些關鍵字,使用適合大部分網(wǎng)站的處理方式得到網(wǎng)址集和文本塊。
獲取關鍵信息階段共分為3個過程(圖 1):頁面預處理—關鍵信息提取—輸出和存儲。頁面預處理主要完成獲取網(wǎng)頁編碼和判斷關鍵信息的組成任務;關鍵信息提取完成提取指定的9個字段的業(yè)務邏輯處理;輸出和存儲關鍵信息的顯示方式和實現(xiàn)excel存儲方式。
1.3.1 頁面預處理
這個過程需要完成2個任務:獲取網(wǎng)頁的編碼,判斷是網(wǎng)址還是信息塊。其中重要的是獲取網(wǎng)頁的編碼,每個正規(guī)的網(wǎng)站都有自己的編碼,例如“百度”使用的是 GB2312,“google”使用的是 UTF-8。使用不同的編碼就決定了處理方式有所不同,如果獲取編碼出現(xiàn)錯誤,可能會導致提取到得信息是亂碼,也就是垃圾數(shù)據(jù),也有可能導致其他的未知錯誤。當然還要考慮沒有編碼的網(wǎng)站網(wǎng)頁。
1.3.2 關鍵信息的提取
關鍵信息提取的過程是提取“標題”、“關鍵字”、“描述”、“電話”、“傳真”、“郵箱”、“郵編”、“QQ”、“地址”這9個關鍵聯(lián)系信息。所有的核心業(yè)務邏輯處理都是在這個階段完成,其中提取信息是使用正則表達式。下面將詳述本系統(tǒng)特有的處理方式:
1)電話和傳真信息提取 電話和傳真在HTML中沒有固定的標簽,所以需要使用正則表達式的方式匹配內容。由于電話和傳真的格式都是一樣,可以使用相同的正則表達式[2]。
但如何區(qū)分哪些是電話,哪些是傳真,定性研究分析發(fā)現(xiàn)大部分網(wǎng)站會標明電話和傳真的。圖2是新浪的“聯(lián)系我們”頁面的一部分信息。
其實傳真的關鍵詞無論是英語網(wǎng)頁還是中文網(wǎng)頁,無外乎就是“傳真”、“fax”;電話關鍵詞無外乎“電話”、“tel”這4個詞用來標識了。為了達到識別傳真和電話目的,本文使用了“正向追加法”。
2)正向追加法 就是在一段信息文章前追加一些信息,這些信息是原數(shù)據(jù)就有的,只是這個追加的信息不是需要的信息。
例如①電話: ② (86-10)82607501,(86-10)82628888。需要的是后面的電話號碼,正則表達式提取的就是這些電話號碼,而標志關鍵字“電話:”并不是所要提取的信息。但是這類標注關鍵字卻是區(qū)別電話和傳真的核心所在。 “正向追加法”即就是在②的前面盡量把①②之間的信息臨時追加上,判斷這些關鍵字就可以區(qū)分電話和傳真。
1.3.3 輸出和存儲
本系統(tǒng)將提取的信息利用Excel進行存儲。其一是因為Excel使用方便并且內置很多功能;其二是利用Excel提供的 java開源程序JXL可以使用很少的代碼將java table模型轉存在excel中。圖3的table顯示出提取的信息,可以點擊每個信息查看具體內容。
“特征項”在中文文本中主要指分詞處理后得到的詞匯,而特征項的維數(shù)則對應不同詞匯的個數(shù)[3]。比較經(jīng)典的特征項算法有以下幾個:文檔頻率、信息增益、互信息、CHI[4]。
在開發(fā)的系統(tǒng)中,使用了特有的比對算法。比對算法沒有借用網(wǎng)上流行的算法,而是自己使用的統(tǒng)計算法。算法很簡單,就是建立一個特征詞庫權值表,把測試特征詞庫權值表和每個分類的特征詞向量表進行比較,如果測試特征詞庫權值表中有相對高的比例在一個分類中,默認這個測試網(wǎng)頁就是屬于這類?;跇嫿ǖ奶卣鲙鞕嘀当?,設計了網(wǎng)頁分類實現(xiàn)流程(圖4),由訓練部分和測試部分組成。
1)訓練部分 收集網(wǎng)頁集,本文分8個大類,每類大約需要30個網(wǎng)頁,經(jīng)過提取頁面編碼格式,轉化成網(wǎng)頁語料集(語料集來源于“新浪新聞”),也就是訓練網(wǎng)頁集。用HTML Parser解析,可以得到訓練文本庫,然后使用分詞計算得到訓練詞庫,經(jīng)過計算可以得到每類特征詞的詞頻表,經(jīng)過篩選,本文每類大約需要300個特征詞,8類就是2500個左右,整理得到每類的特征詞向量表。例如表示方式是“1/籃球/200”,意思是在體育類中第一個特征詞是“籃球”,詞頻為200。隨即可得到分類文本權重表。
2)測試部分 首先收集網(wǎng)頁集,經(jīng)過Html Parser解析得到測試文本庫,然后進行中文分詞,可以得到測試詞庫,經(jīng)過計算可以得到每類特征詞的詞頻表(圖5),隨即也可以得到特征詞權重表。經(jīng)過比對算法,可以得到測試結果,最后進行結果評價和分析。
這個過程實現(xiàn)過程相對于信息提取和網(wǎng)頁分類來說,比較簡單,思路如下:首先對關鍵字分詞,其次對比較的網(wǎng)站進行分詞,然后統(tǒng)計關鍵字分詞的結果以及每個詞在網(wǎng)頁中出現(xiàn)的次數(shù)。
本過程使用了一個本文特有的計算方法(TMB)。 TMB 表示的意思是 title,meta,body。 TMB算法就是賦予這3個部分不同的權重,用于表示不同的部分在網(wǎng)頁的重要性不同。表達式如下:
式中:TValue,MValue,BValue是常量。
例如:關鍵詞“湖北汽車工業(yè)學院”分詞結果為“湖北”、“汽車”、“工業(yè)學院”。 計算的結果為“湖北:T2M2B3”、“汽車:T1M2B3”、“工業(yè)學院:T2M2B2”。“湖北:T2M2B3”表示“湖北”在title中出現(xiàn)了2次,meta中出現(xiàn)了2次,body中出現(xiàn)了3次。
運行結果如圖6所示。
本系統(tǒng)以關鍵字“HTC”和“google”搜索引擎為例,提取所需要的關鍵信息。運行結果如圖7~8所示。
根據(jù)運行日志,數(shù)據(jù)統(tǒng)計(搜索引擎是“google”,關鍵字是“HTC”)、系統(tǒng)有效性分析如表1所示。
表1 對比表格
從3個表達式不難看出:系統(tǒng)的有效抓取率一點也不高,但是本系統(tǒng)在解決提取集成數(shù)據(jù)提取方面有了個全新的思路。在結合搜索引擎和信息提取的情況下,能取得大約11%結果集應該算是成功;在相關度上本文存在的一些問題將是下一步加入網(wǎng)站分類進行優(yōu)化處理的。
本文闡述了從搜索引擎返回結果中提取聯(lián)系信息的思路,并開發(fā)出系統(tǒng)。通過實驗測試分析,本系統(tǒng)查詢綜合信息方面的精度還有待于進一步提高。造成精度低下原因是本系統(tǒng)對上下級查詢句義理解不足,這也是下一步要進一步研究的方向,即通過日志挖掘來構建上下級和同級句義樹。
[1]胡燕.基于Web信息抽取的專業(yè)知識獲取方法研究[D].武漢:武漢理工大學,2007.
[2] 徐曉哲.基于多Agent的Internet上構件獲取技術研究[D].哈爾濱:哈爾濱工程大學,2006.
[3]周洪翠,莊新妍.基于向量空間模型的文本信息表示[J]. 呼倫貝爾學院學報,2011,19(1):111-116+30.
[4] 趙世奇,張宇,劉挺,等.基于類別特征域的文本分類特征選擇方法[J].中文信息學報,2005(6):23-29.