(黑龍江工商學院 黑龍江 哈爾濱 150025)
隨著商品在線評論數量的驟然增加,消費者要想找出商品評論中的有用信息需要消耗大量精力.因此對這些散落在Html網頁中無結構的信息進行提取、分析,不僅能夠幫助消費者從海量的文本中快速獲得有效的信息,節省人力成本,也可以幫助企業改進產品、提高質量,從而為電子商務產品推薦提供一種新的營銷模式.為有效的抽取互聯網上的信息,網絡文本信息非結構化數據抽取技術、網絡文本信息采集技術和細粒度數據挖掘技術應用而生.信息抽取技術是通過對網頁進行處理,從半結構化或者非結構化的Web頁面中抽取出用戶感興趣的信息和內容,并將其轉化成清晰的結構形式.
信息采集技術是指通過分析網頁Html代碼,獲取網頁內的超鏈接信息,并使用廣度優先遍歷算法、深度優先遍歷算法、增量存儲算法等實現自動連續的分析鏈接、抓取文件、處理和保存數據的過程.細粒度挖掘技術深入到產品特征層面,能夠提取到評價信息中涉及的評價對象、評價詞以及對應的評價傾向等意見要素,從而為一些實際應用提供必要的細節信息.而目前根據抽取技術和依據理論的不同,主要有RAPIERE 、WHISKt 和SRV基于自然語言的信息抽取,STAI KER,SOFTMEAI Y和WINE基于包裝歸納的信息抽取,WebQLE基于Web查詢的信息抽取,基于文檔結構模型和網頁模板的DOM 信息抽取。
面對海量數據,抽取技術的性能是一個十分重要的評價指標,而通過網頁結構分析并使用語言和格式規則進行標簽篩選的技術卻很少.HtmlParser是不依賴于庫文件的輕量級解析器,通過語言與格式規則進行標簽篩選,過濾目標數據,在保持系統抽取效率的基礎上保證抽取算法的準確性.本文首先介紹了URI 采集以及文本抽取的過程,其次給出了URL采集和文本抽取算法的關鍵步驟,再次通過舉例實現了URL采集和文本抽取算法,表明了基于語言和格式規則的HtmlParser標簽解析技術的性能和優勢.采用HtmlParser解析網頁,得到URL采集庫,對庫中URL所指向的頁面進行標簽解析從而實現文本提取的關鍵部分.
1 URL信息采集算法
信息采集過程的算法設計思想是:首先由一個初始URL對隊列進行初始化,然后從隊列中取出一個元素,獲取此元素所指向的Web頁面,對頁面進行網頁源代碼解析,得到目標標簽中的URL,將其入隊,然后重復上面的過程,不斷執行入隊一出隊一解析一獲得URL的循環操作,直到根據采集策略停止算法,具體過程
算法1:URL采集算法
輸入:初始URL
輸出:URL采集庫
1)首先判斷參數URL是否為Null;
2)如果為Null,程序退出;否則,根據URL得
到Html頁面;
3)利用頁面解析器HtmlParser解析網頁;
4)分析Html源代碼中具體URL信息所在節
點< a> 標簽;
5)利用標簽的href屬性,過濾得到下一
頁的網頁URL地址;
6)將步驟5中的URL地址值傳到步驟1,重復
1)~6)的步驟;
7)最后遍歷得到所有的目標URL地址,建成
URL采集庫.
2 網頁文本內容抽取算法
京東網(www.jd.corn)是國內最受歡迎的電子產品商務網站之一,以京東網站上用戶評論數量最多的某數碼相機的評論數據為例,介紹基于HtmlParser的網頁評論文本提取方法,
信息抽取具體過程如算法2所示.
算法2:Web文本信息抽取算法
輸入:產品評論的URL地址
輸出:提取產品的評論文本
1)算法人口接受產品評論的URL地址;
2)判斷URL參數是否滿足Web文本信息提
取算法;
3)若不滿足程序退出;
4)若滿足,分析網頁Html源代碼中評論文
本所在的目標節點class為comment-content的
div標簽;
5)利用HtmlParser的Tag Filter過濾,將抽取
的comment-content的文本用node list容器逐個遍
歷,提取出網頁中的評論文本;
6)將提取出的評論文本通過2.3節的文本內
容去噪算法進行數據清洗;
7)將清洗去噪后的文本信息,存人到評論文本
數據庫.
3 網頁文本內容去噪
網頁去噪包括兩部分:頁面標簽去噪和頁面內容去噪.由于Web頁面包含很多美化頁面的Css、用于頁面渲染的JavaScript腳本以及為突出某一主題思想的Flash動畫,這些噪音內容給網頁信息提取造成了很大的障礙,因此標簽去噪顯得尤為重要.而Web網頁提取出的內容由于瀏覽器解析,或者內容本身的原因,有些是與提取主題無關的內容,所以為了減少數據庫存儲負擔,要對Web網頁進行內容去噪.標簽去噪,在上文中的網頁文本內容爬去的時候通過過濾標簽已經做到,本節著重討論對網頁文本內容去噪,關鍵技術用到sun在jdk1.4中加入了java.util.regex包的正則表達式.定義一個用來匹配噪音字符串的模式PatternPattern,然后一個Mathcer實例在這個給定的Pattern模式的控制下進行字符串匹配工作,從而實現文本去噪,具體過程如算法3所示.
算法3:文本內容去噪算法
輸入:提取出的產品評論文本
輸出:去噪后的產品評論文本
1)算法人口接受產品評論文本;
2)判斷評論文本是否滿足去噪算法的條件,
(commentStr! =nul1) l! (””.equals(commentStr));
3)若不滿足程序退出;
4)若滿足,通過Pattern類的compile方法來編譯正則表達式:Pattern P=Pattern.compile(”^rAza—z]+MYM”),其中”^[A—za—z]-4-MYM”是26個不區分大小寫的英文字母的正則表達式;
5)對傳人的評論文本commentStr以該正則表達式為模開展匹配,Matcher m=P.matcher(corn—mentStr);
6)匹配成功的文本進行清洗替換操作,StringnewStr= m.replaceAll(””);
7)最后輸出去噪后的新文本.
網絡評論的迅速增加,提高了文本抽取的難度,但能輕量解析海量數據的方法卻很少.本文以HtmlParser為理論基礎,通過對網頁結構分析使用語言和格式規則進行標簽篩選,在保持系統性能的基礎上保證了抽取算法的準確率和回召率.本文首先通過有向圖形式關聯的Web網頁數據結構,提出并實現了URL采集算法,然后針對網頁評論文本的Html結構,提出了網頁文本提取算法,并采用模式匹配對提取出的網頁文本進行去噪處理,下一步將繼續完善評論文本的抽取算法,解決由電子商務網站的網頁源代碼風格的不同,而導致網頁解析受限制的問題,從而實現跨網站的通用文本抽取算法.
作者簡介:李春輝(1983.12--),講師,研究方向web信息抽取技術。