馮海濤,李 琳,黃炎一,余小婷
(1.武漢理工大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,湖北 武漢430070;2.空軍預(yù)警學(xué)院黃陂士官學(xué)校,湖北 武漢430021;3.華中科技大學(xué) 管理學(xué)院,湖北 武漢430074)
微博內(nèi)容自動(dòng)抽取方法研究
馮海濤1,2,李 琳1,黃炎一3,余小婷1
(1.武漢理工大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,湖北 武漢430070;2.空軍預(yù)警學(xué)院黃陂士官學(xué)校,湖北 武漢430021;3.華中科技大學(xué) 管理學(xué)院,湖北 武漢430074)
在采用分類機(jī)器學(xué)習(xí)算法的基礎(chǔ)上,提出有效的特征集,實(shí)現(xiàn)不同微博平臺(tái)上內(nèi)容的自動(dòng)抽取。根據(jù)對(duì)微博頁面的預(yù)處理粒度不同,討論了token和line兩種粒度。在特征選取方面沿用了傳統(tǒng)的Text-to-Tag Ratio,并結(jié)合微博內(nèi)容文本的相關(guān)特性,提出了Text-to-Text Relation和Post-Social特征。實(shí)驗(yàn)結(jié)果表明,支持向量機(jī)與Text-to-Tag Ratio、Text-to-Text Relation和Post-Social 3個(gè)特征相結(jié)合的抽取結(jié)果最佳。
微博內(nèi)容抽??;機(jī)器學(xué)習(xí);特征選擇
微博是互聯(lián)網(wǎng)時(shí)代的主要信息傳播途徑,對(duì)其進(jìn)行文本內(nèi)容分析和檢索成為研究熱點(diǎn)[1-3]。微博內(nèi)容抽取主要是從一個(gè)HTML頁面中提取微博的主要文本內(nèi)容的過程。傳統(tǒng)的方法通過人工分裝器(handcrafted wrapper)從HTML頁面中提取內(nèi)容的方法十分脆弱,一旦網(wǎng)頁的格式發(fā)生變化就無法工作[4]。Finn等[5]提出了Body Text Extraction(BTE)算法,通過識(shí)別文本比標(biāo)簽出現(xiàn)更頻繁的區(qū)域來抽取一個(gè)單獨(dú)連續(xù)的塊。為解決BTE只能識(shí)別單一連續(xù)文本塊的問題,Gottron[6]應(yīng)用了Document Slope Curves(DSC)算法。BTE和DSC的要旨在某種程度上與基于line的CETR方法[7]相似,二者都考慮了標(biāo)簽和文本的相關(guān)性。Pasternack等[8]介紹了Maximum Subsequence Segmentation(MSS),結(jié)合了token級(jí)別的樸素貝葉斯分類器和最大得分序列(maximum scoring sequence)來預(yù)測(cè)文檔的主要內(nèi)容區(qū)域。
Weninger等[7]提出了Content Extraction via Tag Ratios(CETR),使用Text-to-Tag Ratio(TTR)和k-means聚類方法從web頁面中抽取文本內(nèi)容。但是在微博領(lǐng)域,用戶發(fā)布的微博內(nèi)容都很簡(jiǎn)短,跟非主要內(nèi)容區(qū)域的TTR的值可能重疊得很多,因此不能單一地根據(jù)每一行的TTR來判斷是否是文本塊。Debnat等[9]提出了FeatureExtractor(FE)和K-FeatureExtractor(KFE)。KFE方法采用了k-means聚類來選擇多個(gè)內(nèi)容塊,彌補(bǔ)了FE只能選取一個(gè)單一的內(nèi)容塊的缺點(diǎn)。微軟亞洲學(xué)院提出了Vision-based Page Segmentation(VIPS)?;谝曈X的分塊方法的思想是通過分析頁面的可視布局獲知內(nèi)容的相干性,將一個(gè)web頁面劃分成塊[10]。Gibson等人[11]將內(nèi)容識(shí)別視為一系列標(biāo)注問題,這些序列即HTML塊。條件隨機(jī)場(chǎng)(CRF)[12]、最大熵分類器和最大熵馬爾可夫模型(MEMM)[13]這3個(gè)序列標(biāo)注模型也被應(yīng)用于抽取web頁面的內(nèi)容。
當(dāng)前的內(nèi)容抽取技術(shù)較依賴于web頁面的結(jié)構(gòu)與內(nèi)容,導(dǎo)致適應(yīng)性較差[14]。因此,本文提出了Text-to-Text Relation和Post-Social特征,并結(jié)合分類機(jī)器學(xué)習(xí)算法實(shí)現(xiàn)微博內(nèi)容自動(dòng)抽取,可以應(yīng)用于不同頁面結(jié)構(gòu)的微博平臺(tái)。
Text-to-Tag Ratio(TTR)是和計(jì)算每一行的文本與標(biāo)簽的比率。在文獻(xiàn)[15]中結(jié)合了TTR與K-means方法,用于從web頁面中抽取文本信息。它不考慮網(wǎng)頁的多媒體形式,著重考慮文本-標(biāo)簽的關(guān)系。特征計(jì)算方法如下。
計(jì)算TTR之前,需要將HTML文檔中的script、remark標(biāo)簽,否則這些標(biāo)簽中的內(nèi)容會(huì)被當(dāng)作非標(biāo)簽文本計(jì)算,從而影響抽取結(jié)果。HTML文檔中的空行也要清除,以免給算法的性能帶來不好的影響。在計(jì)算過程中,如果存在某行的標(biāo)簽數(shù)量為0,那么將比率的值設(shè)為該行的文本的長(zhǎng)度。
Text-to-Text Relation描述的是微博正文內(nèi)容(即post)與其上下文的關(guān)系。上下文就是指跟隨在post后面的發(fā)布時(shí)間和“來自…….(客戶端)”的屬性信息和“轉(zhuǎn)發(fā)”、“評(píng)論”、“贊”、“收藏”等功能標(biāo)簽。Text-to-Text Relation的取值為0或1。在一個(gè)樣本頁面中,若某個(gè)文本塊后面鄰近的文本塊中分別出現(xiàn)“來自”、“轉(zhuǎn)發(fā)”、“評(píng)論”、“贊”、“收藏”等關(guān)鍵字至少4次,那么該行的Text-to-Text Relation特征值為1。之所以設(shè)置為4次,是因?yàn)樵谛吕?、騰訊、網(wǎng)易的3種頁面中,post后面所跟隨的上下文的具體內(nèi)容存在差異。
考慮到微博的特有社會(huì)屬性,提出了Post-Social的特征,也就是判斷一個(gè)文本塊是否具有post文本的特有屬性。Post文本的特有屬性在不同的微博平臺(tái)表現(xiàn)的形式也略有差異??傮w來說,post文本的特有屬性就是包含“@”、“#.......#(話題標(biāo)簽)”等特殊符號(hào)。若當(dāng)前文本塊中包含特有符號(hào),則標(biāo)記該P(yáng)ost-Social屬性的值為1,否則該特征值為0。本文主要圍繞Text-to-Tag Ratio、Text-to-Text-Relation和Post-Social這3個(gè)特征討論抽取算法的精度。
對(duì)于微博內(nèi)容自動(dòng)抽取,不管是基于token,還是基于line,其算法的基本流程是相似的。主要概括為:
(1)獲取微博頁面集,并對(duì)其做預(yù)處理,過濾HTML標(biāo)簽并完成人工標(biāo)注。
(2)選取特征,構(gòu)建特征向量。
(3)構(gòu)建訓(xùn)練集和測(cè)試集
(4)通過相應(yīng)的機(jī)器學(xué)習(xí)的方法來對(duì)訓(xùn)練數(shù)據(jù)進(jìn)行學(xué)習(xí)得到模型。
(5)對(duì)測(cè)試數(shù)據(jù)進(jìn)行類別預(yù)測(cè),獲取屬于數(shù)據(jù)。
考慮的數(shù)據(jù)粒度不同,本文對(duì)基于token的微博內(nèi)容抽取分別應(yīng)用了樸素貝葉斯(NB)[15-16]和條件隨機(jī)場(chǎng)(CRF)[17-19]2個(gè)方法。基于line的微博內(nèi)容抽取方法主要使用了樸素貝葉斯和支持向量機(jī)(SVM)[18]2種方法。
5.1 實(shí)驗(yàn)數(shù)據(jù)集
本文的實(shí)驗(yàn)數(shù)據(jù)來自新浪、騰訊和網(wǎng)易三大平臺(tái),分別按照板藍(lán)根、奔跑吧兄弟、習(xí)大大、快遞小哥、廣場(chǎng)舞大媽、Google解封等100個(gè)熱門話題來采集微博頁面。然后獲得純文本數(shù)據(jù)集,選取相應(yīng)的特征,組成特征向量。對(duì)于每一條數(shù)據(jù),都事先進(jìn)行人工標(biāo)注,標(biāo)記其類別(post或則non-post)。
實(shí)驗(yàn)數(shù)據(jù)集按照訓(xùn)練和測(cè)試的用途分別放入各自的文件夾。源數(shù)據(jù)在劃分訓(xùn)練樣本集以及測(cè)試樣本集的時(shí)候,依據(jù)相應(yīng)的比例隨機(jī)劃分訓(xùn)練樣本集及測(cè)試樣本集。本文中采用了40%~60%,60%~40%和80%~20%3類比例各異的訓(xùn)練-測(cè)試樣本集作為實(shí)驗(yàn)數(shù)據(jù)。在同一種比例下,隨機(jī)生成5組不同訓(xùn)練-測(cè)試樣本集。最終每個(gè)方法所對(duì)應(yīng)的各項(xiàng)指標(biāo)是取5組實(shí)驗(yàn)結(jié)果所得的平均值。這樣可避免個(gè)別因素的影響,對(duì)算法的評(píng)估更具有可靠性。
5.2 基于Token的實(shí)驗(yàn)結(jié)果
表1~表3中涉及到3種特征集,其中單個(gè)特征的1F-1是指Text-to-Tag Ratio,1F-2是指Text-to-Text Relation,而2F是指Text-to-Tag Ratio和Text-to-Text Relation 2個(gè)特征的組合。從表中的數(shù)據(jù)來看,在同一個(gè)機(jī)器學(xué)習(xí)方法的條件下,采用不同特征集進(jìn)行分類,2個(gè)特征組合的分類效果會(huì)比單個(gè)特征的好。在CRF中,相比較1F-1、1F-2以及2F特征下的類別預(yù)測(cè)的結(jié)果,準(zhǔn)確率和召回率都逐一提高了,呈現(xiàn)階梯形變化,而且基于兩個(gè)特征2F的分類效果明顯超越了單個(gè)特征1F-1和1F-2,表現(xiàn)出的分類性能最佳。在樸素貝葉斯分類器中,若只用Text-to-Tag Ratio和Text-to-Text Relation中的1個(gè)特征作為分類依據(jù),分類效果不好。正如表中記錄的結(jié)果,其準(zhǔn)確率和召回率都的值為0。
表1 基于Token的算法實(shí)驗(yàn)結(jié)果(40%~60%)
表2 基于Token的算法實(shí)驗(yàn)結(jié)果(60%~40%)
表3 基于Token的算法實(shí)驗(yàn)結(jié)果(80%~20%)
因此對(duì)于樸素貝葉斯分類器,2個(gè)特征才能對(duì)類別預(yù)測(cè)效果起作用。比較2F特征情況下樸素貝葉斯和條件隨機(jī)場(chǎng)的分類性能,從表中數(shù)據(jù)可知,條件隨機(jī)場(chǎng)表現(xiàn)的準(zhǔn)確率、召回率都比樸素貝葉斯的高出25%左右。可見在同一特征條件下,選用條件隨機(jī)場(chǎng)算法比基于token的微博分類效果好。
5.3 基于Line的實(shí)驗(yàn)結(jié)果
在表4~表6中3F是指將social-post特征與前面2種特征融合。從實(shí)驗(yàn)結(jié)果可以看到,基于3F特征的分類所表現(xiàn)的性能明顯優(yōu)于2F。而對(duì)于同一個(gè)特征集為算法輸入的條件下,基于支持向量機(jī)方法的2F和3F表現(xiàn)出的性能分別高于樸素貝葉斯的2F和3F的分類效果。在3組不同比例的實(shí)驗(yàn)中,采用基于3F的SVM算法,準(zhǔn)確率都超過90%,召回率都接近于88%,F(xiàn)1值也達(dá)到了90%左右,表現(xiàn)出較好的識(shí)別精度。
表4 基于Line的算法實(shí)驗(yàn)結(jié)果(40%~60%)
表5 基于Line的算法實(shí)驗(yàn)結(jié)果(60%~40%)
表6 基于Line的算法實(shí)驗(yàn)結(jié)果(80%~20%)
總之,在基于Line的內(nèi)容抽取中,采用80%~20%的訓(xùn)練-測(cè)試集,結(jié)合傳統(tǒng)的Text-to-Tag Ratio特征和提出的Text-to-Text Relation和Post-Social特征,將3個(gè)特征和SVM算法結(jié)合,能夠得到最好的內(nèi)容提取精度。同時(shí)由于token粒度偏細(xì)小,無法提取post-social特征,整體精度不如line粒度的處理方法。
本文將對(duì)不同微博平臺(tái)帖子內(nèi)容的抽取問題轉(zhuǎn)化成對(duì)微博頁面純文本塊的分類問題,從而減少了頁面結(jié)構(gòu)不同對(duì)抽取算法的影響[20]。對(duì)于基于Token的數(shù)據(jù)集,條件隨機(jī)場(chǎng)表現(xiàn)出的對(duì)微博頁面中post的識(shí)別性能較好,特別是它與Text-to-Tag Ratio、Text-to-Text Relation特征相結(jié)合的效果。而基于Line的數(shù)據(jù)集,采用支持向量機(jī),使用Text-to-TagRatio、Text-to-TextRelation和Post-Social這3個(gè)特征的分類結(jié)果最佳。本文實(shí)驗(yàn)的范圍有限,只是針對(duì)新浪、騰訊和網(wǎng)易3個(gè)微博平臺(tái),而且由于人工標(biāo)記難度大,所采用的微博數(shù)據(jù)量也相對(duì)較少。以后可以進(jìn)一步拓寬微博樣本數(shù)據(jù),提高算法的可靠性。
[1]張劍峰,夏云慶,姚建民.微博文本處理研究綜述[J].中文信息學(xué)報(bào),2012,26(4):21-27,42.
[2]文坤梅,徐帥,李瑞軒,等.微博及中文微博信息處理研究綜述[J].中文信息學(xué)報(bào),2012,26(6):27-37.
[3]王燦輝,張敏,馬少平.自然語言處理在信息檢索中的應(yīng)用綜述[J].中文信息學(xué)報(bào),2007,21(2):35-45.
[4]劉軍,張凈.基于DOM的網(wǎng)頁主題信息的抽取[J].計(jì)算機(jī)應(yīng)用與軟件,2010,27(5):188-190.
[5]Finn A,Kushmerick N,Smyth B.Fact or fiction:Content classification for digital libraries[C].DELOS Workshops, 2001:110-115.
[6]Gottron T.Content extraction-identifying the main content in HTML documents[J].Universit?t Mainz,2008:I-XII, 1-252.
[7]Weninger T,Hsu W H,Han J.CETR:content extraction via tag ratios[C].International Conference on World Wide Web, 2010:971-980.
[8]Pasternack J,Dan R.Extracting article text from the web with maximum subsequence segmentation[C].International Conference on World Wide Web,WWW 2009,Madrid, Spain,April,2009:971-980.
[9]Debnath S,Mitra P,Giles C L.Automatic extraction of informative blocks from webpages[C].ACM Symposium onApplied Computing,2005:1722-1726.
[10]Liu W,Meng X,Meng W.ViDE:A Vision-Based Approach for Deep Web Data Extraction[J].IEEE Transactions on Knowledge&Data Engineering,2010, 22(3):447-460.
[11]Gibson J,Wellner B,Lubar S.Adaptive web-page content identification[C].ACM International Workshop on Web Information and Data Management,2007:105-112.
[12]Sutton C,Mccallum A.An Introduction to Conditional Random Fields[J].Foundations&Trends?in Machine Learning,2015,4(4):93-127.
[13]Rosenberg D S,Dan K,Taskar B.Mixture-of-Parents Maximum Entropy Markov Models[C].the Twenty-Third Conference on Uncertainty in Artificial Intelligence,2007: 317-325.
[14]Weninger T,Hsu W H.Text Extraction from the Web via Text-to-Tag Ratio[C].DEXAWorkshops,2008:23-28.
[15]李志義,沈之銳,義梅練.貝葉斯分類算法在社交網(wǎng)站信息過濾中的應(yīng)用分析[J].圖書情報(bào)工作,2014,58(13): 100-106.
[16]林江豪,陽愛民,周詠梅,等.一種基于樸素貝葉斯的微博情感分類[J].計(jì)算機(jī)工程與科學(xué),2012,34(9): 160-165.
[17]Yu D,Wang S,Deng L.Sequential Labeling Using Deep-Structured Conditional Random Fields[J].IEEE Journal of Selected Topics in Signal Processing,2010, 4(6):965-973.
[18]張傳巖,洪曉光,彭朝暉,等.基于SVM和擴(kuò)展條件隨機(jī)場(chǎng)的Web實(shí)體活動(dòng)抽取[J].軟件學(xué)報(bào),2012,23(10): 2612-2627.
[19]張春元.基于條件隨機(jī)場(chǎng)的文本分類模型[J].計(jì)算機(jī)技術(shù)與發(fā)展,2011,1(7):77-80.
[20]羅一紓.微博爬蟲的相關(guān)技術(shù)研究[D].哈爾濱:哈爾濱工業(yè)大學(xué),2013.
責(zé)任編校:孫 林
Automatically Extracting Microblog Posts From Different Service Platforms
FENG Hai-tao1,2,LI Lin1,HUANG Yan-yi3,YU Xiao-ting1
(1.School of Computer Science and Technology,Wuhan University of Technology,Wuhan 430070,China; 2.Air Force Early Warnming Academy,Wuhan 430021,China; 3.School of Management,Huazhong University of Science and Technology,Wuhan 430070,China)
This paper aims at studying efficient algorithms to extract the microblog posts in a HTML page,based on machine learning algorithm.According to the different granularities of the web page prepossessing,we consider token and line based text blocks.Then in terms of feature selection,we propose the Text-to-Text Relation and Post-Social features that are combined with the traditional Text-to-Tag Ratio feature.Our experimental results show that SVM with the three features has the best performance in terms of precision.
microblog content extraction;machine learning;feature selection
TP31
A
1674-3261(2017)01-0013-04
2015-06-26
國家社會(huì)科學(xué)基金(15BGL048);國家863計(jì)劃項(xiàng)目(2015AA015403)
馮海濤(1980-),男,吉林遼源人,助教,碩士。
10.15916/j.issn1674-3261.2017.01.004