《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 通信與網(wǎng)絡(luò) > 設(shè)計(jì)應(yīng)用 > 基于Web Services和插件架構(gòu)的新聞中心平臺(tái)的設(shè)計(jì)
基于Web Services和插件架構(gòu)的新聞中心平臺(tái)的設(shè)計(jì)
來(lái)源:微型機(jī)與應(yīng)用2012年第23期
李 劍1,陳海建2,3
(1.江蘇廣播電視大學(xué),江蘇 南京 210036; 2.上海電視大學(xué) 信息與工程系,上海 20043
摘要: 設(shè)計(jì)并實(shí)現(xiàn)了一個(gè)網(wǎng)頁(yè)插件形式的半自動(dòng)化的網(wǎng)頁(yè)新聞信息搜集中間件,該中間件能將關(guān)注網(wǎng)站的信息搜集并集中。此外,基于該中間件,還設(shè)計(jì)了一個(gè)新聞信息的匯集平臺(tái),并以江蘇城市職業(yè)學(xué)院網(wǎng)站作為應(yīng)用實(shí)例展示了校園新聞中心。
關(guān)鍵詞: Web Services 架構(gòu) 新聞中心
Abstract:
Key words :

摘  要: 設(shè)計(jì)并實(shí)現(xiàn)了一個(gè)網(wǎng)頁(yè)插件形式的半自動(dòng)化的網(wǎng)頁(yè)新聞信息搜集中間件,該中間件能將關(guān)注網(wǎng)站的信息搜集并集中。此外,基于該中間件,還設(shè)計(jì)了一個(gè)新聞信息的匯集平臺(tái),并以江蘇城市職業(yè)學(xué)院網(wǎng)站作為應(yīng)用實(shí)例展示了校園新聞中心。
關(guān)鍵詞: Web Services架構(gòu);新聞中心

    隨著網(wǎng)絡(luò)技術(shù)的迅猛發(fā)展,以網(wǎng)頁(yè)形式發(fā)布的信息、數(shù)據(jù)爆炸性地增長(zhǎng),人們期望能夠及時(shí)有效地關(guān)注、獲取、管理和分析對(duì)比特定行業(yè)的熱點(diǎn)信息和數(shù)據(jù)。尤其在金融和傳媒領(lǐng)域,信息和數(shù)據(jù)變化特別快,能及時(shí)收集來(lái)自不同網(wǎng)站上發(fā)布的信息和數(shù)據(jù)變得尤其重要。但是,絕大多數(shù)網(wǎng)頁(yè)基于HTML格式,其松散的特性使得現(xiàn)有的頁(yè)面提取算法不能較好地與特定領(lǐng)域的業(yè)務(wù)相結(jié)合,分析出信息的語(yǔ)義。例如,對(duì)單個(gè)頁(yè)面而言,如果完全進(jìn)行自動(dòng)化分析,較難在分析結(jié)果中對(duì)與新聞這一特定領(lǐng)域相關(guān)的新聞標(biāo)題、鏈接、發(fā)表時(shí)間和正文等內(nèi)容元素加以區(qū)分;對(duì)于新聞標(biāo)題列表和新聞?wù)姆謩e位于不同網(wǎng)頁(yè)這一典型的多頁(yè)面結(jié)構(gòu),需要聯(lián)合分析多個(gè)網(wǎng)頁(yè)的內(nèi)容,如果沒(méi)有一套完善的提取和分析這些信息的軟件平臺(tái),也難以得到完整信息。
本文針對(duì)Internet上新聞網(wǎng)站的信息,設(shè)計(jì)并實(shí)現(xiàn)了一個(gè)網(wǎng)頁(yè)插件形式的半自動(dòng)化的網(wǎng)頁(yè)信息搜集中間件,對(duì)于不同版式的新聞網(wǎng)站,只需編寫少量相關(guān)代碼實(shí)現(xiàn)中間件,即可完成對(duì)新聞標(biāo)題、鏈接、發(fā)表時(shí)間和正文等信息的提取。新聞生成器插件加入到新聞中心平臺(tái)中,由Web Services提供同構(gòu)的新聞獲取接口,前臺(tái)通過(guò)調(diào)用Web Services即可構(gòu)建匯集各種新聞和通知公告的新聞中心。此外,本平臺(tái)還提供將新聞轉(zhuǎn)換為RSS(Really Simple Syndication)種子的功能,以方便用戶使用RSS閱讀器訂閱新聞。
 基于此種新聞中心平臺(tái)架構(gòu),完全不需要改變現(xiàn)有的新聞網(wǎng)站布局,即可自動(dòng)匯聚多方面的新聞,創(chuàng)建新聞門戶網(wǎng)站。此外,本平臺(tái)還具有高擴(kuò)展性,當(dāng)有新的網(wǎng)站需要關(guān)注時(shí),只需編寫擴(kuò)展插件,即可實(shí)現(xiàn)將關(guān)注的網(wǎng)站加入到視野中。
1 網(wǎng)頁(yè)信息提取技術(shù)
 對(duì)Web信息提取的研究早在20世紀(jì)80年代就已開始,根據(jù)參考文獻(xiàn)[1],現(xiàn)有的對(duì)Web信息提取分析的方法可以分為多種類型:從自動(dòng)化程度上可劃分為手工、半自動(dòng)和全自動(dòng)提取分析方法;從原理上可劃分為基于自然語(yǔ)言理解、基于本體、基于HTML(HyperText Markup Language)和基于隱馬爾可夫模型等提取分析方法。本文設(shè)計(jì)并實(shí)現(xiàn)的新聞中心平臺(tái),在對(duì)單個(gè)頁(yè)面進(jìn)行分析時(shí)所采用的是基于HTML的半自動(dòng)提取分析方法,也即:在信息提取之前通過(guò)解析器將Web文檔解析成語(yǔ)法樹,通過(guò)半自動(dòng)的方式產(chǎn)生提取規(guī)則,將信息提取轉(zhuǎn)換成對(duì)語(yǔ)法樹的操作實(shí)現(xiàn)信息提取”。
在Web中,信息是以半結(jié)構(gòu)化和無(wú)結(jié)構(gòu)文檔的形式組織存儲(chǔ)的,參考文獻(xiàn)[2]中指出:“這些數(shù)據(jù)沒(méi)有統(tǒng)一的模式,數(shù)據(jù)的內(nèi)容和表示相互交織,數(shù)據(jù)內(nèi)容基本上沒(méi)有語(yǔ)義信息進(jìn)行描述,僅僅依靠HTML語(yǔ)法對(duì)數(shù)據(jù)進(jìn)行描述”。
 當(dāng)前,對(duì)Web信息提取的研究主要有兩個(gè)方向[3]:一種是研究怎樣把網(wǎng)頁(yè)中無(wú)結(jié)構(gòu)或半結(jié)構(gòu)化數(shù)據(jù)轉(zhuǎn)換為結(jié)構(gòu)化數(shù)據(jù),這類研究的主要目的在于提取細(xì)粒度的數(shù)據(jù);另一種研究則是希望通過(guò)信息提取技術(shù),提取標(biāo)題、正文等主題內(nèi)容或興趣區(qū)域。本文設(shè)計(jì)并實(shí)現(xiàn)的新聞中心平臺(tái),主要注重的是對(duì)新聞標(biāo)題、鏈接、發(fā)表時(shí)間和正文等內(nèi)容元素的提取。
 由于現(xiàn)實(shí)中Web頁(yè)面種類繁多,形式各異,在國(guó)內(nèi)外的研究工作中,學(xué)者們提出了多種Web信息提取方式,例如:Finn[4]等人將HTML文檔看作字符和標(biāo)簽組成的序列,在字符集中的區(qū)域提取文字。這種方式適用于以文字為主要內(nèi)容的文檔,而不便于提取文檔中的圖片、鏈接等內(nèi)容;胡國(guó)平等[5]人針對(duì)新聞網(wǎng)站提取了基于統(tǒng)計(jì)的正文的抽取方法,但卻只適合所有正文只有一個(gè)TABLE標(biāo)簽中的文檔;而楊成[6]提出了一種面向由XML描述的Web文檔的、基于用戶主題信息的模式和數(shù)據(jù)提取方法。該方法利用學(xué)習(xí)算法從樣本文檔中提取規(guī)則,然后使用匹配算法從目標(biāo)文檔中訓(xùn)練出模式。
 考慮到新聞?lì)I(lǐng)域相關(guān)的內(nèi)容元素較為簡(jiǎn)單(包括標(biāo)題、正文等),本文認(rèn)為針對(duì)某個(gè)具體的新聞網(wǎng)站,可以由人工編碼完成少量差異化的提取和分析工作,以插件形式加入到整個(gè)新聞提取和分析過(guò)程中,實(shí)現(xiàn)對(duì)各類新聞網(wǎng)站內(nèi)容的準(zhǔn)確高效提取。
2 新聞中心平臺(tái)的設(shè)計(jì)
2.1 新聞生成器插件的設(shè)計(jì)

 中間件是新聞中心平臺(tái)的核心,是進(jìn)行半自動(dòng)化信息提取的部分。中間件主要類的UML類圖如圖1所示。

 圖中,IGenerator接口對(duì)提取新聞的主要方法(獲得標(biāo)題及正文等)進(jìn)行了定義,凡是具有實(shí)現(xiàn)了IGenerator接口的類的插件均可以加入到平臺(tái)中作為針對(duì)某個(gè)新聞網(wǎng)站的生成器,為平臺(tái)提供來(lái)自某一特定網(wǎng)站的新聞??紤]到流行的新聞網(wǎng)站的架構(gòu)具有一些相似之處,本新聞平臺(tái)事先設(shè)計(jì)了一些實(shí)現(xiàn)IGenerator接口的基類,使用戶在開發(fā)某些類型的新聞網(wǎng)站生成器插件時(shí),無(wú)需從頭開始編碼工作,只需由這些基類派生,并實(shí)現(xiàn)一些差異化的工作即可。例如,TitleListNewsGenerator基類對(duì)如圖2所示類型的新聞網(wǎng)站提供了支持。

 TitleListNewsGenerator基類對(duì)提取這類新聞網(wǎng)站信息的功能做了進(jìn)一步的封裝和優(yōu)化(例如并行分析多個(gè)新聞?wù)捻?yè)),如需從某個(gè)具體的、如圖2所示的新聞網(wǎng)站提取信息,只需編寫派生自TitleListNewsGenerator基類的實(shí)例,再對(duì)特定網(wǎng)頁(yè)的少量特殊內(nèi)容進(jìn)行人工編碼實(shí)現(xiàn)(例如若新聞鏈接地址是通過(guò)JavaScript事件生成的,則需要對(duì)這種鏈接進(jìn)行轉(zhuǎn)換)即可。提取這類新聞網(wǎng)站的信息的流程如圖3所示。

 針對(duì)不同類型的新聞網(wǎng)站,新聞生成器插件平臺(tái)可以開發(fā)多種不同的基類,將其中可以自動(dòng)化完成的工作預(yù)先實(shí)現(xiàn),而插件制作人員只需對(duì)所針對(duì)的網(wǎng)站的特殊部分(例如與網(wǎng)頁(yè)版面美化有關(guān)的少量特殊內(nèi)容可能需要過(guò)濾)加以處理即可。
 新聞生成器插件中包括至少一個(gè)直接或間接實(shí)現(xiàn)IGenerator接口的類,該接口定義新聞生成器必須實(shí)現(xiàn)的功能,包括獲得新聞標(biāo)題和新聞描述等。新聞生成器插件針對(duì)不同的新聞網(wǎng)站,采取不同的分析頁(yè)面源代碼和抓取分析策略,最終實(shí)現(xiàn)在IGenerator接口中規(guī)定必須實(shí)現(xiàn)的功能。
    新聞生成器插件在分析頁(yè)面源代碼的過(guò)程中,需要注意的是將頁(yè)面圖片、附件所使用的相對(duì)路徑或由JavaScript在事件中生成的路徑均轉(zhuǎn)換為絕對(duì)路徑,使其在從新聞網(wǎng)站獨(dú)立出來(lái)后仍能正常使用。此外,在處理過(guò)程中若發(fā)生錯(cuò)誤,應(yīng)將異常交由日志記錄模塊進(jìn)行記錄,并由異常處理模塊做相應(yīng)處理。
2.2 新聞中心平臺(tái)的設(shè)計(jì)
 基于半自動(dòng)化提取新聞的設(shè)計(jì)思想,為江蘇城市職業(yè)學(xué)院實(shí)現(xiàn)了一套可擴(kuò)展的新聞中心平臺(tái)。其平臺(tái)由歸檔數(shù)據(jù)庫(kù)、新聞生成器插件平臺(tái)、服務(wù)層、RSS種子生成模塊、日志記錄和異常管理模塊以及多種類型的新聞中心表示層(客戶端、網(wǎng)站、RIA等)組成,其整體架構(gòu)如圖4所示。

 

 

2.2.1 新聞生成器插件平臺(tái)
 基于2.1節(jié)插件的設(shè)計(jì)思想,新聞生成器插件平臺(tái)負(fù)責(zé)將各插件集成到新聞中心平臺(tái)中,為新聞中心平臺(tái)提供來(lái)自不同網(wǎng)站的新聞信息。插件加載引擎通過(guò)讀取插件配置文件定位插件并加載。插件配置文件是一個(gè)XML文件,該文件定義了各新聞生成器插件所屬的新聞?lì)悇e、插件文件路徑和生成器類的完整路徑,其格式如下所示:
<?xml version="1.0" encoding="utf-8"?>
 <categories>
   <category name="c1" title="t1" description="d1">
     <generator>
        <name>g1</name>
        <path>g1.dll</path>
        <class>G1</class>
    </generator>
    <generator>
    …
    </generator>
    …
 </category>
 <category name=”c2” title=”t2” description=”d2”>
 …
 </category>
    …
 </categories>
 要為新聞中心平臺(tái)增加新的新聞生成器插件,只需在插件配置文件中增加該插件的配置信息以及插件加載引擎即可定位到該插件,并通過(guò)調(diào)用相關(guān)方法,向新聞中心平臺(tái)提供來(lái)自新來(lái)源的新聞信息。
2.2.2 歸檔數(shù)據(jù)庫(kù)
 歸檔數(shù)據(jù)庫(kù)負(fù)責(zé)存放保留由各新聞生成器通過(guò)分析新聞所在網(wǎng)站源代碼而抓取生成的新聞內(nèi)容。
2.2.3 RSS種子生成模塊
 在新聞生成器插件平臺(tái)的基礎(chǔ)上,RSS種子生成模塊能夠?yàn)槊總€(gè)新聞來(lái)源生成一個(gè)RSS種子,以便用戶使用RSS閱讀器訂閱新聞。
由于RSS文件是XML格式的,因此在生成RSS種子時(shí),需要轉(zhuǎn)換或過(guò)濾與XML文檔不兼容的字符。另外,根據(jù)RSS標(biāo)準(zhǔn)的規(guī)范定義,需要將日期時(shí)間轉(zhuǎn)換為RFC822規(guī)定的格式。
2.3 服務(wù)層
 在新聞生成器插件平臺(tái)的基礎(chǔ)上,服務(wù)層進(jìn)一步將功能抽象為一個(gè)個(gè)平臺(tái)無(wú)關(guān)的Web Services方法,以適合為多種類型的表示層提供功能。
服務(wù)層主要提供以下服務(wù):獲得新聞?lì)悇e列表、獲得新聞?lì)l道列表、獲得新聞標(biāo)題列表和獲得新聞?wù)牡取?br /> 2.4 日志記錄模塊和異常管理模塊
    日志記錄和異常管理模塊貫穿整個(gè)新聞中心平臺(tái)的服務(wù)周期,用以記錄平臺(tái)的工作狀況,并在發(fā)生異常時(shí)及時(shí)采取措施。
2.5 多種類型的新聞中心表示層
 通過(guò)調(diào)用服務(wù)層提供的Web Services,新聞中心的表示層可以使用不同技術(shù),并設(shè)計(jì)成為多種不同的表現(xiàn)形式,從而滿足不同用戶的需要。
3 新聞中心平臺(tái)的實(shí)現(xiàn)和運(yùn)用
3.1 運(yùn)行環(huán)境與實(shí)現(xiàn)

 新聞中心平臺(tái)基于.NET Framework 4.0構(gòu)建,除表示層因具體技術(shù)不同而有所區(qū)分外,新聞中心平臺(tái)的其余部分最終均部署于Dell PowerEdge R900服務(wù)機(jī)上使用VMWare ESX 3i劃分的一臺(tái)安裝有Windows Server 2008操作系統(tǒng)的虛擬機(jī)上。
新聞中心平臺(tái)的客戶端可以多種不同形式(網(wǎng)站、PC或手機(jī)應(yīng)用程序等)向用戶提供新聞。圖5是江蘇城市職業(yè)學(xué)院新聞中心客戶端的運(yùn)行效果圖。圖中的新聞均由新聞中心平臺(tái)通過(guò)提取與分析江蘇城市職業(yè)學(xué)院網(wǎng)站的內(nèi)容自動(dòng)整理生成,并與網(wǎng)站更新保持同步,用戶通過(guò)使用新聞中心平臺(tái),能夠便捷地集中瀏覽原本散落于網(wǎng)站各個(gè)頁(yè)面學(xué)院的新聞。
3.2 新聞中心平臺(tái)的優(yōu)勢(shì)
 除使用本文實(shí)現(xiàn)的新聞中心平臺(tái)的方式外,還可通過(guò)設(shè)計(jì)門戶網(wǎng)站或設(shè)計(jì)搜索引擎的方式方便對(duì)信息的獲得,與此二種方式相比,新聞中心平臺(tái)有其特有的優(yōu)勢(shì)。
3.2.1 與門戶網(wǎng)站相比的優(yōu)勢(shì)
 新聞門戶網(wǎng)站能夠分類發(fā)布和整理新聞,但重新架構(gòu)一套門戶網(wǎng)站,意味著需要完全放棄現(xiàn)有的所有新聞網(wǎng)站,重新組織來(lái)自眾多院系部門的新聞維護(hù)人員,成本極高。此外,各院系部門并非完全不需要一個(gè)展示自身的網(wǎng)站平臺(tái),完全廢棄這些網(wǎng)站而統(tǒng)一使用門戶網(wǎng)站將使各院系部門的形象千篇一律,流程僵化,而保留這些網(wǎng)站并同時(shí)使用門戶網(wǎng)站又將造成信息的冗余。
 而新聞中心平臺(tái)是利用插件半自動(dòng)化地從各院系部門現(xiàn)有網(wǎng)站中提取新聞,避免了重復(fù)建設(shè),并只由歸檔數(shù)據(jù)庫(kù)做適當(dāng)緩存,隨時(shí)可以刪除,不存在大量冗余。與建設(shè)門戶網(wǎng)站相比,使用新聞中心平臺(tái)能有效降低成本投入,且更加靈活。
3.2.2 與搜索引擎相比的優(yōu)勢(shì)
 可以使用搜索引擎,通過(guò)關(guān)鍵詞檢索新聞。然而檢索的范圍和粒度都難以控制,也不能滿足一般的新聞瀏覽需要。而新聞中心平臺(tái)將新聞分門別類,在方便統(tǒng)一瀏覽的同時(shí),可以足夠快速地找到所需的新聞,在必要的時(shí)候還可以加入搜索功能作為輔助。
 本文設(shè)計(jì)并實(shí)現(xiàn)了一套基于插件架構(gòu)的新聞中心平臺(tái),該平臺(tái)在新聞中心網(wǎng)站和客戶端的設(shè)計(jì)中進(jìn)行了實(shí)踐,通過(guò)插件提取新聞網(wǎng)站的內(nèi)容進(jìn)行分析匯總,解決了新聞來(lái)源混亂而不易于獲得的問(wèn)題,且具有較好的擴(kuò)展性。今后將進(jìn)一步分析新聞網(wǎng)站的特點(diǎn),有針對(duì)性地提高信息提取的自動(dòng)化程度。
參考文獻(xiàn)
[1] 王宇寧.隱馬爾可夫模型在信息抽取中的應(yīng)用研究[D].大連:大連理工學(xué)院,2007.
[2] 袁宇麗.基于HTML網(wǎng)頁(yè)的Web信息提取研究[D].成都:電子科技大學(xué),2005.
[3] 謝德輝.面向刑偵網(wǎng)頁(yè)的信息抽取與主題爬蟲應(yīng)用研究[D].大連:大連理工學(xué)院,2007.
[4] FINN A, KUSHMERICK A, SMYTH B. Fact or fiction: content classification for digital libraries[C]. The 2nd DELOS Network of Excellence Workshop on Personalisation and Recommender Systems in Digital Libraries, Dublin, Ireland, 2001: 110-115
[5] 胡國(guó)平,張巍,王仁華.基于雙層決策的新聞網(wǎng)頁(yè)正文精確抽取[J].中文信息學(xué)報(bào),2006,20(6):1-10.
[6] 楊成.基于XML的網(wǎng)頁(yè)信息提取系統(tǒng)的研究與設(shè)計(jì)[J]. 電腦知識(shí)與技術(shù),2009,5(25):7327-7329.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。