彭圳生,鞏青歌,高志強(qiáng),段妍羽,曾子賢
(1. 武警工程大學(xué) 信息工程學(xué)院,陜西 西安 710086;2. 軍隊(duì)大數(shù)據(jù)與云計(jì)算重點(diǎn)實(shí)驗(yàn)室,陜西 西安 710086)
[1][2]。
相對(duì)于有著成熟研究的Web正文信息抽取技術(shù)[3-5],新聞標(biāo)題抽取技術(shù)的研究相對(duì)較少,其主要難點(diǎn)在于: 對(duì)于大量的復(fù)雜非規(guī)范網(wǎng)頁來說,無法根據(jù)某種統(tǒng)一的網(wǎng)頁結(jié)構(gòu)或規(guī)則進(jìn)行統(tǒng)一抽取,且新聞標(biāo)題的特征不像正文一樣明顯[6],在抽取的過程中,很容易被埋沒在正文中或者被遺漏,無法很好地與正文分開抽取。然而,只有從網(wǎng)頁中準(zhǔn)確抽取出新聞標(biāo)題,才能為后期信息檢索和文本挖掘提供準(zhǔn)確依據(jù)。
雖然新聞標(biāo)題抽取是Web信息抽取中的一個(gè)重要課題,但這方面的研究目前還比較少[7],尤其對(duì)于復(fù)雜不規(guī)范的網(wǎng)頁結(jié)構(gòu),尚未提出一種通用的新聞標(biāo)題抽取方法。目前對(duì)新聞標(biāo)題的抽取技術(shù)主要集中在: ①基于網(wǎng)頁規(guī)則[5,8-12]方法;②基于機(jī)器學(xué)習(xí)[1,7,13-17]方法;③基于相似度[18-21]方法。
針對(duì)基于網(wǎng)頁規(guī)則的新聞標(biāo)題抽取技術(shù)研究,Zhang[9]等通過XPath規(guī)則自動(dòng)抽取Web論壇內(nèi)容,并通過統(tǒng)計(jì)和預(yù)測(cè)的方法自動(dòng)生成抽取規(guī)則。Wang[10]等提出一種基于DOM樹的提取方法,將DOM樹轉(zhuǎn)化為STU-DOM樹,通過信息提取算法自動(dòng)準(zhǔn)確地從HTML文檔中提取有用的相關(guān)內(nèi)容。
針對(duì)基于機(jī)器學(xué)習(xí)方法的新聞標(biāo)題抽取技術(shù)研究,朱青[13]等將HTML格式及DOM樹結(jié)構(gòu)等信息引入機(jī)器學(xué)習(xí)抽取過程中,實(shí)現(xiàn)對(duì)新聞標(biāo)題的抽取。羅永蓮[7]等提出一種基于新聞特點(diǎn)與網(wǎng)頁標(biāo)記信息的方法,將網(wǎng)頁標(biāo)記和文本相似度作為機(jī)器學(xué)習(xí)的特征來提取新聞標(biāo)題。
針對(duì)基于相似度的新聞標(biāo)題抽取技術(shù)研究,李國華[18]等利用網(wǎng)頁標(biāo)題和正文信息之間的關(guān)系,通過計(jì)算句子之間的相似度和對(duì)應(yīng)權(quán)值確定新聞標(biāo)題。Mohammadzadeh[21]等人將每個(gè)文本片段的內(nèi)容與HTML文件中的標(biāo)題進(jìn)行比較,并實(shí)現(xiàn)了四種類型的相似性比較方法。
隨著網(wǎng)頁結(jié)構(gòu)日趨復(fù)雜,網(wǎng)頁元素日趨多樣,網(wǎng)頁噪聲內(nèi)容逐步增多,按照網(wǎng)頁結(jié)構(gòu)和HTML標(biāo)簽編寫規(guī)則并維護(hù)模板的統(tǒng)一抽取網(wǎng)頁信息的方法愈來愈不可行。一方面,隨著HTML和CSS的分離,樣式特征很難具有區(qū)分性質(zhì),重新標(biāo)注網(wǎng)頁訓(xùn)練集,而后再重新訓(xùn)練機(jī)器學(xué)習(xí),模型代價(jià)巨大,基于樣式特征的機(jī)器學(xué)習(xí)方法已經(jīng)不再適用;另一方面,由于網(wǎng)頁編寫規(guī)則不統(tǒng)一,不同網(wǎng)站編寫的隨意性很大,基于網(wǎng)頁DOM結(jié)構(gòu)和XPath的信息抽取方法很難保證抽取效果。因此基于網(wǎng)頁規(guī)則及基于機(jī)器學(xué)習(xí)的抽取方法的實(shí)用性和適用性極大降低。
本文將基于密度的正文抽取方法引入新聞標(biāo)題的抽取方法中,過濾網(wǎng)頁中非文本信息(例如,鏈接、圖片、視頻等非文本網(wǎng)頁噪聲)的干擾,提出一種基于密度和文本特征的語料判定模型,通過判定模型將網(wǎng)頁劃分為語料區(qū)和標(biāo)題候選區(qū),利用Text Rank算法[22]從語料中計(jì)算key-value權(quán)重集合,結(jié)合改進(jìn)的相似度計(jì)算方法從標(biāo)題候選區(qū)域抽取出新聞標(biāo)題。最后通過多源數(shù)據(jù)適應(yīng)性實(shí)驗(yàn)和傳統(tǒng)算法的對(duì)比實(shí)驗(yàn),驗(yàn)證了算法的適用性和有效性。
基于密度及文本特征的新聞標(biāo)題抽取算法(title extraction with density and text-features, TEDT)實(shí)現(xiàn)主要由三部分構(gòu)成: 語料判定模型(corpus decision model, CDM)進(jìn)行區(qū)域劃分;通過TextRank算法構(gòu)建key-value權(quán)重集合,獲得詞(key)和詞對(duì)應(yīng)的權(quán)重(value);利用改進(jìn)的相似度計(jì)算方法,從標(biāo)題候選隊(duì)列中抽取新聞標(biāo)題。
對(duì)語料區(qū)和標(biāo)題候選區(qū)進(jìn)行劃分前,需要過濾Script、Style、Comment標(biāo)簽,去除網(wǎng)頁特殊標(biāo)記(包括空格)并只保留換行符“ ”,最后再過濾掉不包含中文文本信息的行,處理后的HTML網(wǎng)頁源代碼中由含有中文的文本行和換行符“ ”構(gòu)成。新聞的正文區(qū)域和標(biāo)題區(qū)域有如下特征。
(1) 正文一般在標(biāo)題下方,兩者中間一般含有發(fā)布時(shí)間、新聞來源、編輯或者外部鏈接等信息。
(2) 新聞標(biāo)題的文本特征表現(xiàn)為標(biāo)題是對(duì)正文的概括,所以標(biāo)題中關(guān)鍵詞多。此外,由于新聞標(biāo)題的簡潔性,新聞標(biāo)題含有的特殊符號(hào)少且一般沒有分句符。
(3) 正文具有連續(xù)性,即從正文開始到正文結(jié)束之間的內(nèi)容一定為正文。正文部分(即使包含圖片、視頻和鏈接)文本行之間的間隔一般不超過10個(gè)換行符[5];文本行之間如果沒有間隔,則必定屬于正文。
(4) 正文的文本行一般較長且含有分句符。
(5) 正文的頭部和尾部的文本特征表現(xiàn)為阿拉伯?dāng)?shù)字比較多,例如發(fā)布日期、發(fā)布時(shí)間和瀏覽次數(shù)等其它特殊標(biāo)記。由于已經(jīng)不屬于正文部分,所以分句符較少,且一些特殊的詞出現(xiàn)的頻率較高,如,“來源”、“編輯”、“收藏”、“分享”、“評(píng)論”、“閱讀”等。
根據(jù)以上關(guān)于網(wǎng)頁中新聞內(nèi)容密度分布特性和新聞文本特征的分析,總結(jié)出以下特征變量:
(1) 純文本數(shù)(Pure Text Number, PTN): 一個(gè)文本行中包含中文字符的個(gè)數(shù)。
(2) 句數(shù)(Sentence Number, SN): 一個(gè)文本行中句子的個(gè)數(shù),按照“,。;???”的標(biāo)點(diǎn)符號(hào)劃分。
(3) 數(shù)字?jǐn)?shù)(Numerals Number, NN): 一個(gè)文本行中所包含的阿拉伯?dāng)?shù)字的個(gè)數(shù)。
(4) 特殊字符數(shù)(Special Characters Number, SCN): 一個(gè)文本行中“: - |《》”符號(hào)和其他不同于分隔句子的符號(hào)個(gè)數(shù)。
(5) 特殊中文字符(Special Chinese Characters, SCC): 在正文開始前與正文結(jié)束后出現(xiàn)頻率較高的詞語,如“來源、編輯、收藏、分享、評(píng)論、閱讀”等。
(6) 中心間隔(Center Distance,CD): 當(dāng)前文本行與上一個(gè)加入語料區(qū)文本行之間的換行符個(gè)數(shù)。
(7) 字符數(shù)(Characters Number, CN): 每個(gè)文本行中字符的個(gè)數(shù),不管是漢字、英文還是符號(hào)都算作一個(gè)字符。
區(qū)域劃分的關(guān)鍵在于判別語料區(qū)和標(biāo)題候選區(qū),為保證所選取的語料都屬于正文,并在進(jìn)入標(biāo)題候選區(qū)之前語料選取判停,我們引入了風(fēng)險(xiǎn)因子,如式(1) 所示。
(1)
其中,α表示準(zhǔn)備加入到語料區(qū)的文本行的權(quán)值,PTN表示該文本行的純文本數(shù),∑leni*SCCi表示該文本行中所出現(xiàn)的第i個(gè)特殊中文字符數(shù)與該字符長度乘積的和,NN表示當(dāng)前文本行中出現(xiàn)阿拉伯?dāng)?shù)字的個(gè)數(shù),SCN表示當(dāng)前文本行中出現(xiàn)的特殊字符的個(gè)數(shù),SN表示當(dāng)前文本行中分句符的個(gè)數(shù)。以上所有變量均有可能為0,因此ln中的分子、分母同時(shí)加上調(diào)節(jié)常量1。
風(fēng)險(xiǎn)因子ln部分的分母NN+SCN+∑leni*SCCi+1體現(xiàn)為: 加入語料庫中的文本行中,如果當(dāng)前文本行中出現(xiàn)的阿拉伯?dāng)?shù)字、特殊字符數(shù)和特殊中文字符所占比重越大,則越有可能不屬于正文,ln部分的分子PTN-∑leni*SCCi+1體現(xiàn)為,加入語料庫中的文本行中,如果純文本數(shù)越多,特殊中文字符所占比重越小,則該行越有可能屬于正文。此外,當(dāng)前文本行中分句符的個(gè)數(shù)SN體現(xiàn)為,如果加入語料區(qū)中的該行中含有的分句符越多,其越有可能屬于正文。
根據(jù)風(fēng)險(xiǎn)因子的計(jì)算公式,當(dāng)α大于0時(shí),將對(duì)應(yīng)文本行加入語料區(qū),當(dāng)α小于0時(shí)可以認(rèn)為選取的語料不屬于正文。結(jié)合正文連續(xù)性的特征,進(jìn)一步得到語料判定模型(Corpus Decision Model, CDM),如式(2)所示。
(2)
其中,CDMi是對(duì)加入語料庫的第i個(gè)文本行的判斷值,CDi表示當(dāng)前加入語料區(qū)的文本行的中心間隔,即第i行與前一個(gè)加入語料區(qū)的文本行之間換行符“
”的個(gè)數(shù),CNi表示第i個(gè)文本行中字符的個(gè)數(shù);當(dāng)CDi為0且CNi不為0時(shí),CDMi的判定值為1,表明在文本行與文本行之間沒有間隔且加入語料區(qū)的文本行不為空行的情況下,該文本行一定屬于語料區(qū);當(dāng)CDi≥10或CNi為0時(shí),CDMi的判定值為0,表明當(dāng)前文本行與其加于語料區(qū)中的上一文本行間隔距離大于10或者加入語料區(qū)的當(dāng)前文本行為空行的情況下,該行一定不屬于語料區(qū);當(dāng)0 算法1CDM區(qū)域劃分算法偽代碼 程序輸入: HC(Html Code) 程序輸出: corpus, titleCandidateQueue 初始化變量 1: Corpus = [] 2: titleCandidateQueue = [] 3: HC←removeScript/Style/Label(HC) 初始語料選擇 4:Forall textLine in HC 5: PTN←chineseNumber(textLine) 6:EndFor 反向判定 8:FortextLine in HCstart 9: PTN←ChineseNumber (textLine) 10: SN←sentenceNumber (textLine) 11: NN←numeralsNumber (textLine) 12: SCN←specialCharactersNumber(textLine) 13: SCC←specialChineseCharacters (textLine) 14: CN←lenght(textLine) 15: CD←distance (textLine) 16:IfCD=0 and CN≠0 17: Corpus.append(textLine) 18:EndIf 19:IfCD≥10 or CN=0 20:Break(set textLine index as end) 21:EndIf 22:Ifα<0(αrefer to PTN,SN,NN,SCN,SCC) 23:Break(set textLine index as end) 24:Elsedo step 17 25:EndIf 26:EndFor 27: titleCandidateQueue.append(HC0~end) 正向判定 28:FortextLine in HCstart 29: do step 9~25 30:EndFor 為了展示網(wǎng)頁文本行區(qū)劃分的效果,以鳳凰資訊2017年12月26日新聞《技術(shù)創(chuàng)新領(lǐng)導(dǎo)未來: 小間距LED 2018年行業(yè)10大猜想》為例,經(jīng)過算法1處理后,其網(wǎng)頁文本行被劃分成三個(gè)部分,其中第一個(gè)部分為新聞標(biāo)題候選區(qū)(0~287行),第二個(gè)部分為語料區(qū)(288~391行),第三個(gè)部分(392~1 000行)直接舍棄,具體效果如圖1所示。 圖1 網(wǎng)頁文本行區(qū)域劃分效果圖 TextRank[22]是PageRank算法[23]的改進(jìn)版,其算法核心如式(3)所示。 (3) 式(3)中,TextRank利用權(quán)重項(xiàng)ωji,表示兩個(gè)節(jié)點(diǎn)之間的邊連接的重要程度,其中d為阻尼系數(shù),一般取值為0.85。對(duì)于一個(gè)給定的點(diǎn)Vi,ln(Vi)為指向Vi的點(diǎn)集合,Out(Vj)為Vj指向其他點(diǎn)的集合。利用TextRank構(gòu)建單詞權(quán)重集合的具體算法如算法2所示。 算法2TextRank構(gòu)建key-value權(quán)重集合算法偽代碼 在算法2輸出單詞權(quán)重集合的基礎(chǔ)上,根據(jù)改進(jìn)的相似度公式計(jì)算標(biāo)題候選隊(duì)列的相似度。在數(shù)據(jù)挖掘領(lǐng)域,通常采用Jaccard相似系數(shù)計(jì)算兩個(gè)含有布爾值度量對(duì)象之間的距離(相似度),如式(5)所示。 (5) (6) (7) 在對(duì)β進(jìn)行歸一化處理時(shí),式(7)中的βi為標(biāo)題候選隊(duì)列中選取的當(dāng)前文本行的β值,βj(1≤j≤n)是標(biāo)題候選隊(duì)列每個(gè)文本行的β值,n為標(biāo)題候選隊(duì)列的長度值。 從新聞標(biāo)題候選隊(duì)列中抽取新聞標(biāo)題的算法偽代碼如算法3所示。 算法3改進(jìn)Jaccard標(biāo)題抽取算法偽代碼 在算法3中,首先利用改良的風(fēng)險(xiǎn)因子β過濾標(biāo)題候選區(qū)中不具備新聞標(biāo)題文本特性的候選項(xiàng),而后通過改進(jìn)Jaccard標(biāo)題抽取算法抽取新聞標(biāo)題。通過計(jì)算β 圖2 網(wǎng)頁文本行標(biāo)題候選區(qū)密度分布 為了驗(yàn)證本文基于密度及文本特征新聞標(biāo)題抽取算法(算法源代碼https://github.com/pzs741/TEDT)的有效性,設(shè)計(jì)兩組實(shí)驗(yàn): (1) 針對(duì)主流新聞網(wǎng)站和復(fù)雜不規(guī)范新聞網(wǎng)站,測(cè)試算法的適用性。 (2) 與傳統(tǒng)的基于相似度和基于規(guī)則的新聞標(biāo)題抽取算法進(jìn)行對(duì)比,驗(yàn)證算法的有效性。 測(cè)試樣本主要來源于各大主流門戶網(wǎng)站和院校內(nèi)部信息網(wǎng),通過網(wǎng)絡(luò)爬蟲爬取了3 100個(gè)新聞網(wǎng)站并手工摘取并標(biāo)注了新聞標(biāo)題,其中主流門戶網(wǎng)2 050個(gè),院校內(nèi)部信息網(wǎng)1 050個(gè),分為主流網(wǎng)站新聞標(biāo)題和復(fù)雜不規(guī)則網(wǎng)站新聞標(biāo)題兩個(gè)互不重疊數(shù)據(jù)集。 抽取單一網(wǎng)頁新聞標(biāo)題的準(zhǔn)確率P,召回率R和F1值定義如式(8)所示。 (8) 其中,a是自動(dòng)抽取的網(wǎng)頁新聞標(biāo)題的字符序列,b是手工標(biāo)注網(wǎng)頁新聞標(biāo)題的字符序列,LCS(a,b)為a、b的最大公共子序列,.len是序列對(duì)應(yīng)的長度。 為綜合評(píng)價(jià)TEDT算法對(duì)大量復(fù)雜不規(guī)范網(wǎng)頁的性能,采用平均準(zhǔn)確率、平均召回率和平均F1的值作為評(píng)價(jià)指標(biāo),如式(9)所示。 (9) 其中,Pi,Ri,F1i分別是單個(gè)網(wǎng)頁的準(zhǔn)確率、召回率和F1值,N為網(wǎng)頁集合的數(shù)量。抽取新聞標(biāo)題的最終結(jié)果有四種情況,其主要受到TEDT算法中CDM區(qū)域劃分的影響。第一種抽取結(jié)果為準(zhǔn)確的新聞標(biāo)題,出現(xiàn)這種情況表示算法劃區(qū)是準(zhǔn)確的;第二種抽取結(jié)果是含有雜質(zhì)的新聞標(biāo)題(一般為2.2 構(gòu)建單詞權(quán)重集合
2.3 計(jì)算標(biāo)題候選隊(duì)列權(quán)重
3 實(shí)驗(yàn)與結(jié)果分析
3.1 測(cè)試樣本集
3.2 評(píng)價(jià)標(biāo)準(zhǔn)
表1 抽取結(jié)果種類表
測(cè)試樣本源一共10個(gè),5個(gè)主流新聞網(wǎng)頁,5個(gè)復(fù)雜非規(guī)范網(wǎng)頁,各類網(wǎng)站抽取指標(biāo)實(shí)驗(yàn)結(jié)果如表2所示,抽取種類結(jié)果比例如表3所示。
表2 新聞標(biāo)題抽取指標(biāo)結(jié)果
表3 新聞標(biāo)題抽取結(jié)果種類比例/%
表2抽取指標(biāo)的結(jié)果表明,不管是主流網(wǎng)頁還是復(fù)雜非規(guī)范網(wǎng)頁,平均F1值都在90%以上,證明TEDT算法對(duì)于主流網(wǎng)頁和復(fù)雜非規(guī)范網(wǎng)頁具有通用性,這主要是因?yàn)門EDT算法是基于密度和文本特征的,與網(wǎng)頁的標(biāo)簽(包括鏈接、視頻、圖片等)和樣式特征沒有任何關(guān)系,因此TEDT具有廣泛的適用性。
對(duì)表3的進(jìn)一步分析發(fā)現(xiàn),部分平均F1
為了驗(yàn)證TEDT算法抽取新聞標(biāo)題的有效性,與基于DOM樹標(biāo)簽規(guī)則[10](title extraction based on DOM-Tree)的TEBD和基于文本相似度[18](title extraction based on similarity)的TEBS算法進(jìn)行對(duì)比實(shí)驗(yàn),三種算法在各類網(wǎng)站新聞標(biāo)題抽取的平均準(zhǔn)確率、平均召回率和平均F1值實(shí)驗(yàn)結(jié)果分別如圖3~圖5所示。其中數(shù)據(jù)來源的類別順序分別為參考消息、鳳凰資訊、環(huán)球網(wǎng)、中華網(wǎng)、澎湃新聞、深圳大學(xué)新聞網(wǎng)、鄭州大學(xué)新聞網(wǎng)、人民大學(xué)新聞網(wǎng)、中國海洋大學(xué)新聞網(wǎng)和上海交通大學(xué)新聞網(wǎng)。
圖3 三種算法各類網(wǎng)站新聞標(biāo)題抽取準(zhǔn)確率
圖4 三種算法各類網(wǎng)站新聞標(biāo)題抽取召回率
圖5 三種算法各類網(wǎng)站新聞標(biāo)題抽取F1值
由圖3~圖5的實(shí)驗(yàn)結(jié)果可知,TEBS算法對(duì)主流新聞網(wǎng)站和復(fù)雜不規(guī)范新聞網(wǎng)站的抽取效果區(qū)別不大,但其抽取準(zhǔn)確率普遍低于TEDT算法,這主要是由于TEBS算法無法很好地把含雜標(biāo)題和真實(shí)新聞標(biāo)題區(qū)別開來,且網(wǎng)頁中經(jīng)常存在和原新聞標(biāo)題相似的推薦新聞信息,導(dǎo)致算法抽取結(jié)果的準(zhǔn)確率降低;同時(shí)由于新聞網(wǎng)站網(wǎng)頁噪聲信息較多(這種趨勢(shì)還在不斷增大),這些廣告信息對(duì)相似度計(jì)算起到了干擾作用,抽取結(jié)果中出現(xiàn)網(wǎng)頁噪聲的情況增多,導(dǎo)致了算法召回率降低。
TEBD算法對(duì)主流新聞網(wǎng)站和復(fù)雜不規(guī)范新聞網(wǎng)站的抽取效果區(qū)別較大,這主要是由于主流新聞網(wǎng)站的新聞標(biāo)題使用規(guī)范的
由表4各項(xiàng)指標(biāo)綜合分析可知,TEBD算法過于依賴于常規(guī)的網(wǎng)頁結(jié)構(gòu)和標(biāo)簽,因此對(duì)復(fù)雜不規(guī)范網(wǎng)站的抽取效果很差,而TEBS算法根據(jù)整個(gè)網(wǎng)頁正文相似度抽取新聞標(biāo)題,遇到文章主題突出且噪聲較少的網(wǎng)站尚可,一旦網(wǎng)頁噪聲過多將會(huì)嚴(yán)重影響抽取效果。綜上所述,TEDT算法要優(yōu)于TEBD和TEBS的方法,TEDT的CDM模型劃分語料區(qū)和標(biāo)題候選區(qū)對(duì)新聞標(biāo)題的抽取具有借鑒意義。
表4 標(biāo)題抽取算法比較/%
為了應(yīng)對(duì)大量復(fù)雜非規(guī)范網(wǎng)頁自動(dòng)抽取新聞標(biāo)題的問題,本文提出了一種基于密度和文本特征的新聞標(biāo)題抽取方法,該方法融合密度和文本特征構(gòu)建語料判定模型,通過模型將網(wǎng)頁劃分為語料區(qū)和標(biāo)題候選區(qū),使用TextRank算法計(jì)算語料單詞權(quán)重集合,而后采用改進(jìn)的相似度計(jì)算方法從標(biāo)題候選區(qū)域抽取新聞標(biāo)題,避免網(wǎng)頁噪聲干擾,最終抽取出真實(shí)新聞標(biāo)題。
該方法無需人工設(shè)置規(guī)則或者維護(hù)模板,相對(duì)于機(jī)器學(xué)習(xí)反復(fù)訓(xùn)練樣本的方法具有更廣泛的適用性,不僅對(duì)主流新聞網(wǎng)站有效,而且面對(duì)大量復(fù)雜不規(guī)范網(wǎng)頁依舊能保證較高的新聞標(biāo)題抽取準(zhǔn)確率和召回率。本文算法性能仍有待進(jìn)一步提高,例如,當(dāng)新聞的標(biāo)題并不能很好的概括正文或者正文過于分散時(shí),將會(huì)導(dǎo)致語料選取錯(cuò)誤,算法可能無法正確抽取新聞標(biāo)題。下一步的工作重點(diǎn)是加強(qiáng)對(duì)初始語料和語料區(qū)選擇的判定,并進(jìn)一步減少標(biāo)題候選區(qū)噪聲干擾。