◆韓朝陽(yáng)
作者:韓朝陽(yáng),碩士,上海杉達(dá)學(xué)院嘉善校區(qū)副教授,研究方向?yàn)檎Z(yǔ)料庫(kù)語(yǔ)言學(xué)、計(jì)算機(jī)輔助外語(yǔ)教學(xué)(314100)。
網(wǎng)絡(luò)能為語(yǔ)料庫(kù)的構(gòu)建提供豐富實(shí)時(shí)的語(yǔ)料。由于不同網(wǎng)站的結(jié)構(gòu)不盡相同,網(wǎng)頁(yè)內(nèi)容又呈現(xiàn)結(jié)構(gòu)化和半結(jié)構(gòu)化特征,這使得如何從網(wǎng)絡(luò)汲取語(yǔ)料成為基于網(wǎng)絡(luò)構(gòu)建語(yǔ)料庫(kù)的首要問(wèn)題。同時(shí),如何對(duì)汲取后的語(yǔ)料進(jìn)行整合和組織,也是基于網(wǎng)絡(luò)構(gòu)建語(yǔ)料庫(kù)不容忽視的問(wèn)題。以基于網(wǎng)絡(luò)構(gòu)建動(dòng)態(tài)中國(guó)政治新聞?wù)Z料庫(kù)為例,從網(wǎng)站結(jié)構(gòu)分析、網(wǎng)頁(yè)下載以語(yǔ)料汲取的技術(shù)實(shí)現(xiàn)、語(yǔ)料的XML結(jié)構(gòu)化重組等方面,闡述如何在軟件的輔助下從中國(guó)日?qǐng)?bào)網(wǎng)站自動(dòng)汲取語(yǔ)料并構(gòu)建語(yǔ)料庫(kù)的實(shí)現(xiàn)過(guò)程。
政治新聞?wù)Z料庫(kù)不僅要具有時(shí)效性,而且要具有真實(shí)性和權(quán)威性。其時(shí)效性就是指在構(gòu)建語(yǔ)料庫(kù)時(shí)要及時(shí)采集那些實(shí)時(shí)新聞報(bào)道語(yǔ)料;真實(shí)性和權(quán)威性則要求采集的新聞?wù)Z料一定要出自權(quán)威機(jī)構(gòu)。
隨著現(xiàn)代信息技術(shù)的發(fā)展和普及,網(wǎng)絡(luò)(Web)已成為目前容量最大、速度最快的信息傳播平臺(tái)。網(wǎng)絡(luò)語(yǔ)料的時(shí)效性是傳統(tǒng)媒介(如報(bào)紙、期刊等)無(wú)法比擬的,網(wǎng)絡(luò)無(wú)疑應(yīng)為政治新聞?wù)Z料的主要采集地[1]。就政治新聞的權(quán)威性來(lái)講,目前,大家比較認(rèn)可的發(fā)布中國(guó)政治新聞?dòng)⑽膱?bào)道的權(quán)威網(wǎng)站主要有新華網(wǎng)(English.news.cn)、人民網(wǎng)(English.peolopledaily.com.cn)和中國(guó)日?qǐng)?bào)網(wǎng)(Chinadaily.com.cn)等[2]。
通過(guò)對(duì)這三家網(wǎng)站的分析比較,筆者發(fā)現(xiàn):1)就新聞的英文報(bào)道本身的來(lái)源看,這三家網(wǎng)站經(jīng)?;ハ嘁茫瑥亩芍魂P(guān)注一個(gè)網(wǎng)站也能在一定程度上滿(mǎn)足語(yǔ)料采集抽樣的平衡性;2)目前只有中國(guó)日?qǐng)?bào)網(wǎng)有一個(gè)專(zhuān)門(mén)報(bào)道中國(guó)政治新聞的頻道(china/politics),且每篇新聞報(bào)道的HTML頁(yè)面中還包含該篇報(bào)道的摘要、關(guān)鍵字等信息,而這些信息可為采集的語(yǔ)料提供更為豐富的標(biāo)注內(nèi)容。因此,筆者認(rèn)為,對(duì)于中國(guó)政治新聞?wù)Z料庫(kù)的創(chuàng)建,可以基于中國(guó)日?qǐng)?bào)網(wǎng)的中國(guó)政治新聞?lì)l道來(lái)采集語(yǔ)料。
本文將從中國(guó)日?qǐng)?bào)網(wǎng)政治新聞?lì)l道的結(jié)構(gòu)分析、網(wǎng)頁(yè)下載、語(yǔ)料汲取、語(yǔ)料XML結(jié)構(gòu)化重組等方面,詳細(xì)介紹如何基于該網(wǎng)站設(shè)計(jì)開(kāi)發(fā)一個(gè)能夠?qū)崿F(xiàn)自動(dòng)構(gòu)建動(dòng)態(tài)實(shí)時(shí)中國(guó)政治新聞?wù)Z料庫(kù)的計(jì)算機(jī)軟件。
中國(guó)日?qǐng)?bào)的中國(guó)政治新聞?lì)l道(以下簡(jiǎn)稱(chēng)政治新聞?lì)l道)采用“列項(xiàng)頁(yè)(list page)”和“具體內(nèi)容頁(yè)(content page)”的二層結(jié)構(gòu)模式進(jìn)行新聞內(nèi)容的導(dǎo)航。列項(xiàng)頁(yè)中列出每篇新聞的標(biāo)題,通過(guò)鼠標(biāo)單擊其中的一個(gè)標(biāo)題項(xiàng),即可進(jìn)入包含該篇新聞詳細(xì)報(bào)道的具體內(nèi)容頁(yè)。該結(jié)構(gòu)模式也是目前其他新聞?lì)愵l道最常用的模式之一。有些學(xué)者又把“列項(xiàng)頁(yè)”稱(chēng)為“多記錄頁(yè)”,“具體內(nèi)容頁(yè)”稱(chēng)為“單記錄頁(yè)”[3]。
政治新聞?lì)l道采用“先進(jìn)先出”的隊(duì)列原則,即該頻道始終只提供200個(gè)“列項(xiàng)頁(yè)”,除第1頁(yè)的URL地址為“http://www.chinadaily.com.cn/china/governmentandpolicy.html”外,其他頁(yè)面分別按照頁(yè)碼進(jìn)行有規(guī)則編排,如第2頁(yè)的URL(Uniform Resource Locator,指網(wǎng)頁(yè)的鏈接地址)為“http://www.chinadaily.com.cn/china/governmentandpolicy_2.html”,第3頁(yè)的URL為http://www.chinadaily.com.cn/china/governmentandpolicy_3.html。同理,第200頁(yè)的URL為“http://www.chinadaily.com.cn/china/governmentandpolicy_200.html”。以此為規(guī)律,可設(shè)計(jì)軟件實(shí)現(xiàn)自動(dòng)生成每個(gè)“列項(xiàng)頁(yè)”的URL,并循環(huán)下載所有政治新聞?lì)l道的“列項(xiàng)頁(yè)”[1]。
雖然不同網(wǎng)站“列項(xiàng)頁(yè)”的內(nèi)部結(jié)構(gòu)不盡相同,但一般情況下,同一個(gè)網(wǎng)站特別是同一頻道下的所有“列項(xiàng)頁(yè)”的結(jié)構(gòu)相同[4]。同樣,政治新聞?lì)l道的200個(gè)“列項(xiàng)頁(yè)”的內(nèi)部結(jié)構(gòu)框架也是相同的,如每個(gè)頁(yè)面都只有12條列項(xiàng)(標(biāo)題),每個(gè)列項(xiàng)的html標(biāo)簽(tag)也相同等。因此,可設(shè)計(jì)軟件實(shí)現(xiàn)自動(dòng)解析每個(gè)“列項(xiàng)頁(yè)”的內(nèi)容,從而批量獲得各個(gè)“列項(xiàng)頁(yè)”的所有政治新聞報(bào)道的標(biāo)題以及與這些標(biāo)題對(duì)應(yīng)的“具體內(nèi)容頁(yè)”URL。
同理,根據(jù)“具體內(nèi)容頁(yè)”的URL,可設(shè)計(jì)軟件實(shí)現(xiàn)自動(dòng)獲得每個(gè)“具體內(nèi)容頁(yè)”。由于多數(shù)大型網(wǎng)站在上傳文本數(shù)據(jù)(如新聞報(bào)道的內(nèi)容)時(shí)一般都采用確定內(nèi)容格式的上載工具,所以這些同一類(lèi)數(shù)據(jù)內(nèi)容在瀏覽器中展示時(shí)也會(huì)采用相同的HTML結(jié)構(gòu)格式。通過(guò)觀察分析,發(fā)現(xiàn)政治新聞?lì)l道的“具體內(nèi)容頁(yè)”也沒(méi)有例外,它們同樣采用相同的HTML結(jié)構(gòu)格式來(lái)展示新聞內(nèi)容。因此,可設(shè)計(jì)軟件實(shí)現(xiàn)自動(dòng)解析“具體內(nèi)容頁(yè)”的內(nèi)容,并汲取到目標(biāo)語(yǔ)料。
通過(guò)以上的觀察和分析,筆者認(rèn)為通過(guò)設(shè)計(jì)開(kāi)發(fā)軟件來(lái)對(duì)政治新聞?lì)l道提供的語(yǔ)料進(jìn)行自動(dòng)汲取具有一定的可行性。下面是設(shè)計(jì)的通過(guò)軟件實(shí)現(xiàn)自動(dòng)汲取語(yǔ)料并構(gòu)建中國(guó)政治新聞?wù)Z料庫(kù)的主要流程步驟:
步驟1:下載“列項(xiàng)頁(yè)”;
步驟2:汲取“列項(xiàng)頁(yè)”中的信息,創(chuàng)建“具體內(nèi)容頁(yè)”的URL列表;
步驟3:開(kāi)始循環(huán)下載URL列表中每個(gè)列表項(xiàng)對(duì)應(yīng)的“具體內(nèi)容頁(yè);
步驟4:汲取“具體內(nèi)容頁(yè)”中的有用語(yǔ)料信息;
步驟5:按照統(tǒng)一的XML結(jié)構(gòu)重新組合這些語(yǔ)料信息;
步驟6:把包含語(yǔ)料信息的XML文件保存到相應(yīng)的位置;
步驟7:判斷URL列表是否循環(huán)完畢,若沒(méi)有執(zhí)行完畢就繼續(xù)從步驟3開(kāi)始,否則結(jié)束本次操作。
網(wǎng)頁(yè)下載是指軟件根據(jù)給定的URL,自動(dòng)從網(wǎng)絡(luò)上把與該URL對(duì)應(yīng)的網(wǎng)頁(yè)內(nèi)容以數(shù)據(jù)流的形式下載到本地計(jì)算機(jī),然后以文本形式重新編碼并輸出,其機(jī)理為:1)軟件通過(guò)網(wǎng)絡(luò)向給定URL所在的服務(wù)器發(fā)出下載請(qǐng)求并與該服務(wù)器建立數(shù)據(jù)通道;2)服務(wù)器對(duì)下載請(qǐng)求驗(yàn)證審核后,通過(guò)數(shù)據(jù)通道向軟件提供URL對(duì)應(yīng)網(wǎng)頁(yè)內(nèi)容的數(shù)據(jù)流;3)軟件接收數(shù)據(jù)流后,對(duì)數(shù)據(jù)流以文本的形式進(jìn)行重新編碼并輸出[1]。
在網(wǎng)頁(yè)自動(dòng)下載模塊開(kāi)發(fā)過(guò)程中,通過(guò)使用C#程序開(kāi)發(fā)語(yǔ)言,編程并調(diào)用微軟.net平臺(tái)提供的HttpWebRequest[5]和HttpWebResponse[6]兩個(gè)類(lèi)中的Create方法和GetResponse方法,實(shí)現(xiàn)軟件自動(dòng)向中國(guó)日?qǐng)?bào)網(wǎng)站服務(wù)器發(fā)出下載請(qǐng)求、建立數(shù)據(jù)通道以及接收數(shù)據(jù)流等功能,從而實(shí)現(xiàn)軟件自動(dòng)從中國(guó)日?qǐng)?bào)網(wǎng)站下載相應(yīng)的網(wǎng)頁(yè)。
在中國(guó)政治新聞?wù)Z料庫(kù)構(gòu)建過(guò)程中,主要有兩個(gè)地方需要調(diào)用網(wǎng)頁(yè)自動(dòng)下載模塊,分別是下載指定的“列項(xiàng)頁(yè)”和下載指定的“具體內(nèi)容頁(yè)”。以下載政治新聞?lì)l道的第一個(gè)列項(xiàng)頁(yè)為例,在建庫(kù)過(guò)程中,只需向網(wǎng)頁(yè)下載軟件模塊提供表示第一個(gè)列項(xiàng)頁(yè)的URL字符串(http://www.chinadaily.com.cn/china/governmentandpolicy.htm),網(wǎng)頁(yè)下載軟件模塊就會(huì)自動(dòng)向中國(guó)日?qǐng)?bào)網(wǎng)站的服務(wù)器發(fā)出請(qǐng)求并下載到該頁(yè)面的HTML文本[1]。
由網(wǎng)頁(yè)下載軟件模塊下載的“列項(xiàng)頁(yè)”HTML文本和“具體內(nèi)容頁(yè)”的HTML文本不僅包含需要提取的信息,同時(shí)包含HTML標(biāo)簽以及其他信息(如廣告等)。這就要求開(kāi)發(fā)能夠解析這兩種HTML文本的軟件模塊來(lái)自動(dòng)汲取需要的內(nèi)容。HTML文本是有一定結(jié)構(gòu)的文本,找出它們內(nèi)部的結(jié)構(gòu)特征,就可編寫(xiě)軟件,利用正則表達(dá)式自動(dòng)提取出需要的文本內(nèi)容[1]。
圖1 HTML文本中一條新聞標(biāo)題及其相關(guān)信息表示方法
圖2
以圖1所示“列項(xiàng)頁(yè)”的部分HTML文本為例(2013年7月3日 20:08下載),很容易觀察到需要提取的每一條新聞的標(biāo)題以及其相關(guān)信息都是以“
以圖1所示為例,通過(guò)解析軟件,可以得到該條新聞相關(guān)信息:
1)標(biāo)題是“Chinese VP meets with Ugandan PM”;
2)對(duì)應(yīng)“具體內(nèi)容頁(yè)”的URL是“2013-07/03/content_16711033.htm”;
3)發(fā)布時(shí)間是“2013-07-03 00:13”;
4)內(nèi)容摘要是“Chinese Vice President Li Yuanchao met with Uganda's Prime Minister Amama Mbabazi on Tuesday”。
將這些信息以XML節(jié)點(diǎn)的形式重組、整理(如圖2所示)并添加到一個(gè)存儲(chǔ)新聞列表的XML文件(以下稱(chēng)為新聞列表XML)中,解析軟件則完成從當(dāng)前“列項(xiàng)頁(yè)”HTML文本中解析和提取一個(gè)新聞標(biāo)題及相關(guān)內(nèi)容的操作。通過(guò)循環(huán),解析軟件即可完成當(dāng)前整個(gè)“列項(xiàng)頁(yè)”HTML文本中所有新聞標(biāo)題及相關(guān)內(nèi)容的解析和提取。
圖2中節(jié)點(diǎn)“f”的“id”屬性值“201307030013_16711033”是由發(fā)布時(shí)間字符串“2013-07-03 00:13”和URL中的“16711033”組合而成,這樣可以確保該新聞編號(hào)的唯一性;
“download”屬性標(biāo)記該新聞的“具體內(nèi)容頁(yè)”是否已經(jīng)下載過(guò),若已經(jīng)下載,該屬性值將設(shè)為“y”;“token”屬性用來(lái)表示該篇新聞所包含的總單詞數(shù)。軟件完成“列項(xiàng)頁(yè)”HTML內(nèi)容的下載、解析和提取后,就會(huì)自動(dòng)基于新聞列表XML文件自動(dòng)創(chuàng)建將要下載的“具體內(nèi)容頁(yè)”URL列表,并準(zhǔn)備開(kāi)始下載這些URL對(duì)應(yīng)的“具體內(nèi)容頁(yè)”。解析“具體內(nèi)容頁(yè)”的方法與“列項(xiàng)頁(yè)”HTML文本內(nèi)容的方法基本一致,只是某些具體的操作如軟件調(diào)用的正則表達(dá)式、解析提取的內(nèi)容項(xiàng)等不同,因此關(guān)于“具體內(nèi)容頁(yè)”HTML文本內(nèi)容的解析本文就不再贅述[1]。
網(wǎng)頁(yè)下載軟件模塊根據(jù)新聞列表XML文件提供的“具體內(nèi)容頁(yè)”URL下載列表,逐一循環(huán)下載所有包含政治新聞內(nèi)容的“具體內(nèi)容頁(yè)”。當(dāng)對(duì)其中一篇的HTML文本進(jìn)行解析和提取完成后,并自動(dòng)把提取結(jié)果和新聞列表XML文件中與該新聞對(duì)應(yīng)節(jié)點(diǎn)的內(nèi)容進(jìn)行整合,整合后的一篇以XML結(jié)構(gòu)的政治新聞?wù)Z料將以該新聞的編號(hào)作為文件名保存在計(jì)算機(jī)相應(yīng)的位置。
以XML形式表示的一篇政治新聞?wù)Z料包括頭信息和正文兩大部分。頭信息是指這篇政治新聞?wù)Z料的一些基本屬性,如編號(hào)、發(fā)布日期、作者、關(guān)鍵詞、摘要、單詞總數(shù)等。在政治新聞XML文件中,頭信息保存在“head”節(jié)點(diǎn)中。正文是指新聞?wù)Z料的具體內(nèi)容,它記錄在XML文檔的“content”節(jié)點(diǎn)中。同時(shí),正文信息的每個(gè)段落內(nèi)容都用節(jié)點(diǎn)“p”來(lái)標(biāo)注。若以日期作為語(yǔ)料庫(kù)的存儲(chǔ)架構(gòu),那么本篇政治新聞的XML文件,將會(huì)以“201307030013_16711033.xml”作為文件名被保存到計(jì)算機(jī)磁盤(pán)的“2013 临高县| 晋江市| 垣曲县| 邵东县| 那坡县| 五家渠市| 陈巴尔虎旗| 墨玉县| 寿阳县| 彝良县| 通海县| 宣武区| 商都县| 枣阳市| 易门县| 鹤庆县| 北安市| 苏州市| 宁城县| 武宁县| 新乡县| 司法| 兴安盟| 康定县| 武川县| 许昌县| 丰台区| 石嘴山市| 桃江县| 汉川市| 呼伦贝尔市| 白河县| 景宁| 丹江口市| 瓮安县| 荔浦县| 灌阳县| 青州市| 新余市| 临邑县| 余庆县|