• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于爬蟲技術(shù)的網(wǎng)絡(luò)負(fù)面情緒挖掘系統(tǒng)設(shè)計與實現(xiàn)

      2016-11-08 08:33:32彭紀(jì)奔黃雷君
      計算機應(yīng)用與軟件 2016年10期
      關(guān)鍵詞:爬蟲帖子詞典

      彭紀(jì)奔 吳 林 陳 賢 黃雷君

      1(溫州大學(xué)物理與電子信息工程學(xué)院 浙江 溫州 325035)2(溫州大學(xué)教師教育學(xué)院 浙江 溫州 325035)3(溫州大學(xué)機電工程學(xué)院 浙江 溫州 325035)4(浙江農(nóng)林大學(xué)信息工程學(xué)院 浙江 臨安 311300)

      ?

      基于爬蟲技術(shù)的網(wǎng)絡(luò)負(fù)面情緒挖掘系統(tǒng)設(shè)計與實現(xiàn)

      彭紀(jì)奔1吳林2陳賢3黃雷君4

      1(溫州大學(xué)物理與電子信息工程學(xué)院浙江 溫州 325035)2(溫州大學(xué)教師教育學(xué)院浙江 溫州 325035)3(溫州大學(xué)機電工程學(xué)院浙江 溫州 325035)4(浙江農(nóng)林大學(xué)信息工程學(xué)院浙江 臨安 311300)

      社交網(wǎng)絡(luò)的興起為人們提供了一個新的情感空間,但是在網(wǎng)絡(luò)中出現(xiàn)心理健康問題的人們通常得不到應(yīng)有的關(guān)注和幫助,甚至受到其他網(wǎng)民的惡意攻擊。為便于在網(wǎng)絡(luò)空間向需要的人群提供及時有效的心理輔導(dǎo)和救助,提出一個基于爬蟲技術(shù)的網(wǎng)絡(luò)負(fù)面情緒挖掘系統(tǒng)CyberCare。在Scrapy爬蟲框架下,對目標(biāo)網(wǎng)絡(luò)進行周期性的自動抓取,對網(wǎng)頁內(nèi)容的負(fù)面情緒進行度量,并為心理工作者的及時介入提供接口。針對國內(nèi)數(shù)個知名網(wǎng)站的實驗結(jié)果顯示,CyberCare能夠?qū)⑿睦砉ぷ髡叩年P(guān)注范圍縮小到網(wǎng)站新帖的千分之一左右,顯著提高了工作效率。對于情感類特定版塊,實驗結(jié)果的精度和召回率分別達(dá)到60%和80%,顯示了該系統(tǒng)的有效性。

      網(wǎng)絡(luò)爬蟲情緒挖掘負(fù)面情緒正則表達(dá)式

      0 引 言

      隨著計算機網(wǎng)絡(luò)的發(fā)展和社交網(wǎng)絡(luò)的大規(guī)模推廣,越來越多的人傾向于在社交網(wǎng)絡(luò)中展示自己的生活狀態(tài)或者抒發(fā)自己的情感。據(jù)2012年10月4日的《華爾街日報》報道,F(xiàn)acebook的活躍用戶數(shù)在2012年9月已達(dá)到10億。在中國,作為中國最大的社交網(wǎng)絡(luò)平臺,QQ空間的活躍用戶數(shù)在2011年就已超過5億。社交網(wǎng)絡(luò)作為一種新生事物,為人們提供了一個自由發(fā)表言論和抒發(fā)情感的平臺。而另一方面,網(wǎng)絡(luò)上也不乏冷漠甚至人身攻擊的現(xiàn)象。比如,2013年8月2日,英國萊斯特郡一位14歲的女孩,不堪網(wǎng)民的辱罵而自殺身亡。類似的悲劇在中國也屢有發(fā)生。針對這種網(wǎng)絡(luò)暴力,社會各界呼吁加強法律監(jiān)管。然而由于網(wǎng)絡(luò)的跨地域性和匿名性,法律監(jiān)管并不一定能夠及時有效地實施。另一方面,對于心理健康出現(xiàn)問題的人,那些有愛心的網(wǎng)民往往也由于缺乏專業(yè)的訓(xùn)練而無法提供有效的救助。

      網(wǎng)絡(luò)空間作為物理空間的延伸,在其中呈現(xiàn)心理健康問題的人,同樣需要得到專業(yè)心理醫(yī)生的救助。本文通過對常用社交網(wǎng)絡(luò)的結(jié)構(gòu)及其內(nèi)容的分析,設(shè)計了一個面向社交網(wǎng)絡(luò)的負(fù)面情緒挖掘系統(tǒng)CyberCare。借助于網(wǎng)絡(luò)爬蟲技術(shù)。CyberCare周期性地自動搜索指定網(wǎng)站,尋找具有負(fù)面情緒的帖子;另一方面,注冊于該系統(tǒng)的專業(yè)心理醫(yī)生根據(jù)搜索的結(jié)果,通過回復(fù)的形式向這類帖子的作者提供心理輔導(dǎo),以幫助對方走出心理困境。

      CyberCare可用于對多個社交網(wǎng)絡(luò)這樣大范圍內(nèi)的網(wǎng)民進行心理關(guān)注和救助,也可為面向特定人群如高校學(xué)生的思想工作者提供實時有效的信息,以便給存在心理問題的人提供及時的幫助。本文分析了針對國內(nèi)數(shù)個主要社交網(wǎng)絡(luò)的實驗結(jié)果。結(jié)果表明,CyberCare能夠及時有效地發(fā)現(xiàn)網(wǎng)絡(luò)中具有負(fù)面、偏激情緒的帖子,為心理醫(yī)生的介入提供重要依據(jù)。

      1 相關(guān)工作

      隨著互聯(lián)網(wǎng)技術(shù)的發(fā)展和Web 2.0的興起,網(wǎng)絡(luò)用戶發(fā)布的內(nèi)容和形式越來越多,網(wǎng)絡(luò)數(shù)據(jù)挖掘成為一個研究熱點。對網(wǎng)絡(luò)的挖掘,包括對網(wǎng)絡(luò)結(jié)構(gòu)的挖掘、網(wǎng)絡(luò)內(nèi)容的挖掘和網(wǎng)絡(luò)使用情況的挖掘[1]。其中,基于網(wǎng)絡(luò)文本內(nèi)容的情感分析作為網(wǎng)絡(luò)內(nèi)容挖掘的一個研究方向,得到研究人員的廣泛研究[2,3]。

      1.1情感分析

      情感分析通過對文本內(nèi)容的研究來了解和衡量人們的觀點、態(tài)度、情緒等主觀屬性。觀點挖掘是情感分析最常見的任務(wù),即研究如何從文本中獲取人們對某一事物的正反情感或觀點。比如對某一商品的好評或差評[4-7],對某一政策的支持或反對[8]或者對某一觀點的認(rèn)同與否[9,10]。目前,觀點挖掘采用的方法可分為兩大類:基于詞典的方法和基于分類的方法?;谠~典的方法通過比對主觀情感詞詞典來確定一篇評論的極性為褒義、貶義或者中性;基于分類的方法則采用支持向量機或者樸素貝葉斯等技術(shù)對評論的極性進行分類[5]。觀點挖掘具有兩個特征:一是有明顯的評價對象,如產(chǎn)品、政策等;二是挖掘的結(jié)果往往只關(guān)注極性,而不關(guān)注強度。

      近年來,隨著社交網(wǎng)絡(luò)的興起,對網(wǎng)絡(luò)上個人情緒的挖掘分析逐漸增多。與觀點挖掘?qū)ο蟛煌氖牵瑐€人情緒的表達(dá)往往沒有明顯的評價對象,而且其強度與正負(fù)極性同樣重要。個人情緒的挖掘大多采用基于詞典的方法。詞典包含了反映各種情緒的詞語以及相應(yīng)的強度,根據(jù)這些詞語在目標(biāo)文本中的出現(xiàn)情況,可計算目標(biāo)文本的情緒極性、類型和強度。如Bollen等人[11]采用經(jīng)典的心理測量學(xué)方法POMS,根據(jù)Twitter上每一篇tweet中包含的情感詞與POMS詞典的匹配情況,計算該tweet的六維心情矢量,分別表示緊張、沮喪、生氣、活躍、疲憊和困惑六類心情的強度。Thelwall等人開發(fā)的SentiStrength軟件[12,13]也采用基于詞典的方法計算社交網(wǎng)絡(luò)上一篇短文的正面情緒強度和負(fù)面情緒強度(該作者假設(shè)一篇短文可同時含有正面情緒和負(fù)面情緒)。而Taboada[14]和Shen等人[15]則只用一個數(shù)綜合表示文本所表達(dá)的情緒,負(fù)數(shù)表示負(fù)面情緒,正數(shù)表示正面情緒;數(shù)字的絕對值越大,表示該文本所表達(dá)的情緒越強烈。其中Shen等人的研究對象為中文微博的內(nèi)容,其構(gòu)造的詞典包含了中、英文情感詞,不同程度的情感詞被賦予不同的權(quán)重,從而可以計算出一條微博的綜合情緒指數(shù)。在此研究基礎(chǔ)上,Shen等人開發(fā)了一個用于分析各種文本內(nèi)容的軟件系統(tǒng),即ROST內(nèi)容挖掘系統(tǒng)[16]。該系統(tǒng)的情感分析功能可用于度量給定文本所表達(dá)的情緒。謝麗星等人則結(jié)合中文微博中的表情符號及內(nèi)容與主題的相關(guān)性,以提高情感分析的準(zhǔn)確性[17]。

      本文采用與Shen等人[16,17]類似的方法,但著重于負(fù)面情緒的分析,因負(fù)面情緒比正面或者中性情緒更應(yīng)引起人們的關(guān)注。同時,采用爬蟲技術(shù),以實現(xiàn)負(fù)面情緒挖掘和分析的自動化,使得設(shè)計的系統(tǒng)更具有實用意義。

      1.2網(wǎng)絡(luò)爬蟲框架Scrapy

      CyberCare系統(tǒng)的設(shè)計基于用Python語言編寫的開源網(wǎng)絡(luò)爬蟲框架Scrapy (http://scrapy.org)。Scrapy的體系結(jié)構(gòu)如圖 1所示,其主要組件包括Scrapy Engine、Scheduler、Downloader、Spider和Item Pipeline。Scheduler將Spider產(chǎn)生的HTTP請求報文放入隊列,并在適當(dāng)?shù)臅r候發(fā)給Downloader。Downloader將HTTP請求報文發(fā)往Internet并接收相應(yīng)的HTTP響應(yīng)報文。Downloader將響應(yīng)報文發(fā)給Spider進行處理。Spider提取報文中的有用信息,生成Item,并將后者輸入給Item Pipeline進行諸如評估和存儲等的處理。Spider也會從報文中提取URL生成新的HTTP請求報文,以對網(wǎng)站內(nèi)容進行進一步的挖掘。Scrapy Engine是該框架的中樞,實現(xiàn)HTTP請求報文、響應(yīng)報文和Item在整個系統(tǒng)中的傳遞。Scrapy框架中的大部分組件是可擴展的。在大多數(shù)應(yīng)用場合,包括CyberCare系統(tǒng),只需要對Spider和Item Pipeline進行擴展。

      圖1 Scrapy體系結(jié)構(gòu)

      2 CyberCare設(shè)計

      CyberCare通過擴展Scrapy組件,對指定網(wǎng)站進行網(wǎng)頁抓取,并對抓取到的網(wǎng)頁內(nèi)容進行情緒評估。對于負(fù)面情緒強烈的帖子,將其相關(guān)信息存入數(shù)據(jù)庫,以供專業(yè)心理工作者針對性地提供及時準(zhǔn)確的心理輔導(dǎo)和救助。

      2.1CyberCare軟件設(shè)計

      CyberCare體系結(jié)構(gòu)如圖 2所示。該系統(tǒng)包含一個或多個挖掘線程、一個中央數(shù)據(jù)庫和一個服務(wù)器(為簡單起見,圖中只顯示了兩個挖掘線程)。每一個挖掘線程的設(shè)計均基于Scrapy框架,包含一個為特定網(wǎng)站設(shè)計的Spider,對該網(wǎng)站進行周期性的挖掘。在挖掘過程中,從網(wǎng)頁中提取的Item(比如,某個論壇中的一個帖子)被送到NemoPipeline進行負(fù)面情緒nemo的計算;nemo值超過預(yù)設(shè)閾值的Item被傳輸給StorePipeline,后者將該Item的相關(guān)信息存入中央數(shù)據(jù)庫中。CyberCare的中央服務(wù)器(圖中的CC_Server)提供兩個功能:一方面為心理醫(yī)生提供注冊服務(wù),并將最新挖掘結(jié)果推送到他們的終端;另一方面為心理醫(yī)生和相關(guān)工作人員提供歷史瀏覽功能。挖掘線程、中央數(shù)據(jù)庫和服務(wù)器可運行于同一臺主機上,也可運行于多臺主機。為提高性能,每一個挖掘線程可獨立運行于不同主機。已在系統(tǒng)中注冊的心理醫(yī)生將根據(jù)nemo值所反映的緊急程度在相應(yīng)的網(wǎng)頁中進行回復(fù),提供實質(zhì)性的心理輔導(dǎo)和救助。

      圖2 CyberCare體系結(jié)構(gòu)

      2.1.1CC_Spiders

      CC_Spiders是CyberCare爬蟲的統(tǒng)稱,每一個Spider都是對Scrapy框架中的CrawlSpider或BaseSpider的擴展,并根據(jù)指定目標(biāo)網(wǎng)站的結(jié)構(gòu)而設(shè)計,以準(zhǔn)確、完整地抓取網(wǎng)站的內(nèi)容。使用CrawlSpider,首先要制定URL鏈接的規(guī)則,只有URL符合給定正則表達(dá)式的網(wǎng)頁才會被處理,以提取其中的內(nèi)容。由于網(wǎng)頁中往往含有通往其他各個頁面的超鏈接,使用CrawlSpider并不能指定抓取的順序,因此適合于針對全站或者網(wǎng)站結(jié)構(gòu)中一部分(比如每一個版塊的第一頁)進行抓取。對于增量式抓取,即每次只抓取新發(fā)布的內(nèi)容,則使用更基本的BaseSpider進行更精準(zhǔn)的控制。

      以CyberCare系統(tǒng)中抓取天涯論壇的TianyaCrawler為例。TianyaCrawler繼承了Scrapy框架中的CrawlSpider類。其start_urls初始化為[′http://bbs.tianya.cn′],即爬蟲進行自動抓取的初始網(wǎng)頁。當(dāng)運行Scrapy框架所提供的scrapy crawl命令啟動TianyaCrawler時,該爬蟲就會抓取http://bbs.tianya.cn網(wǎng)頁內(nèi)容,提取該網(wǎng)頁中的超鏈接,并抓取這些超鏈接所對應(yīng)的網(wǎng)頁內(nèi)容,以此類推。爬蟲的開發(fā)者可以制訂規(guī)則,使爬蟲選擇性地只抓取部分超鏈接的網(wǎng)頁內(nèi)容。比如,TianyaCrawler的以下兩條規(guī)則表示,該爬蟲抓取到每一個版面的首頁后,將進一步抓取其中的超鏈接內(nèi)容(follow=True),這條規(guī)則的目的是為了從版面找到其中的帖子;而在抓取到每一個帖子的首頁后,調(diào)用回調(diào)函數(shù)parse_thread_page對網(wǎng)頁內(nèi)容進行分析,而對帖子中的超鏈接不再進一步抓取(follow=False)。

      rules = (

      Rule(SgmlLinkExtractor(allow=(′/list-[a-z0-9]+-1.shtml′,)), follow=True),

      Rule(SgmlLinkExtractor(allow=(′/post-[a-z0-9]+-d+-1.shtml′,)), callback=′parse_thread_page′, follow=False),

      )

      回調(diào)函數(shù)parse_thread_page的作用是提取HTML文本中的作者、日期以及帖子的文本內(nèi)容,并生成包含這些信息的一個Item對象。根據(jù)CyberCare系統(tǒng)的配置,這個Item對象在Scrapy Engine的驅(qū)動下,被依次傳遞給系統(tǒng)中的各個Pipeline進行處理。

      2.1.2NemoPipeline

      NemoPipeline是CyberCare系統(tǒng)的第一個Pipeline,用于計算Item對象的負(fù)面情緒值。在初始化階段,NemoPipeline將情感詞詞典及否定詞詞典從文件讀入內(nèi)存,保存在Python dict數(shù)據(jù)結(jié)構(gòu)中。在爬蟲運行過程中,NemoPipeline的process_item函數(shù)處理來自爬蟲的Item對象。該函數(shù)的主要功能是利用正則表達(dá)式匹配方法計算Item對象的負(fù)面情緒值(具體算法見2.2節(jié))。負(fù)面情緒值超過預(yù)定閾值的Item對象,被傳遞給下一個Pipeline;未超過預(yù)定閾值的Item對象被拋棄,以節(jié)約后續(xù)Pipeline的處理時間。

      2.1.3StorePipeline

      StorePipeline負(fù)責(zé)將負(fù)面情緒值超過預(yù)定閾值的Item對象存儲于數(shù)據(jù)庫中。并在相應(yīng)爬蟲的本次運行結(jié)束之后,結(jié)合數(shù)據(jù)庫中的歷史數(shù)據(jù),生成以作者為線索和以主題為線索的報告,發(fā)送給中心服務(wù)器CC_Server,由后者進一步推送給相關(guān)人員。以作者為線索的報告,反映了該作者在時間維度上的負(fù)面情緒波動,可比較全面地考察該作者的心理狀態(tài)變化。而以主題為線索的報告,反映了不同人在同一主題下所呈現(xiàn)的負(fù)面情緒,可用于考察人與人之間情緒的影響。

      CyberCare系統(tǒng)包含一個中央數(shù)據(jù)庫系統(tǒng)。在初始化階段,StorePipeline建立與中央數(shù)據(jù)庫的連接。在爬蟲運行過程中,StorePipeline的process_item函數(shù)接收上游Pipeline(即Nemo Pipeline)返回的Item對象,根據(jù)其nemo值,選擇性地將Item對象存儲于數(shù)據(jù)庫中。在爬蟲運行結(jié)束后,StorePipeline的close_spider函數(shù)生成并發(fā)送相應(yīng)的報告。

      2.2負(fù)面情緒評估方法

      CyberCare對網(wǎng)絡(luò)帖子內(nèi)容的情緒評估采用正則表達(dá)式匹配的方式。將中文網(wǎng)絡(luò)上常用的表達(dá)負(fù)面情緒的詞句組織成由多個正則表達(dá)式組成的詞典,每個正則表達(dá)式根據(jù)其表達(dá)的情緒強烈程度賦予一定的權(quán)重。對于CyberCare通過網(wǎng)絡(luò)爬蟲抓取到的網(wǎng)頁內(nèi)容,其負(fù)面情緒的度量基于該網(wǎng)頁內(nèi)容所匹配的正則表達(dá)式及其權(quán)重。

      正則表達(dá)式詞典的構(gòu)造采用知網(wǎng)[18]2007年發(fā)布的“情感分析用詞語集(beta版)”,對其中表達(dá)負(fù)面情感的1254條詞語,由7名研究人員獨立根據(jù)所表達(dá)情感的強弱程度逐一進行打分,情感最強烈的詞語為10分,最弱的為0分。將每一條詞語的7個分?jǐn)?shù)的平均值作為該詞語的權(quán)重。圖 3顯示了這些詞語的權(quán)重分布。從圖中可以看出,該詞語集表達(dá)情感較弱的詞語遠(yuǎn)多于情感較強的詞語,其中情感最弱的詞語(權(quán)重為0)占據(jù)了該詞語集的近25%。因為本研究針對的是表達(dá)強烈負(fù)面情緒的網(wǎng)絡(luò)內(nèi)容,因此從該詞語集中剔除這些情感最弱的詞語,以縮減正則表達(dá)式詞典的規(guī)模,提高對網(wǎng)絡(luò)內(nèi)容的負(fù)面情緒評估速率。而且根據(jù)網(wǎng)絡(luò)自身特點,進一步剔除一些網(wǎng)絡(luò)上罕見的生僻詞。在根據(jù)正則表達(dá)式的語法整合后,得到492條正則表達(dá)式。最后根據(jù)網(wǎng)絡(luò)用語的特點,補充了28條網(wǎng)絡(luò)上常見的表達(dá)負(fù)面情緒的正則表達(dá)式,構(gòu)造了由520條正則表達(dá)式組成的負(fù)面情緒詞典。

      圖3 “情感分析用詞語集(beta版)”權(quán)重分布

      否定詞的存在會消除或減弱詞語所帶來的負(fù)面情緒,比如“我心里難過”表達(dá)了一定程度的負(fù)面情緒,而“我心里不難過”就基本沒有負(fù)面情緒了。另外還需考慮的是,中文的雙重否定表示肯定的意思。為此,CyberCare構(gòu)建了一個否定詞正則表達(dá)式REX。當(dāng)負(fù)面情緒詞典中的一條正則表達(dá)式REi匹配網(wǎng)頁內(nèi)容中的某處(假設(shè)位置為Pj)時,在該處前面一定范圍內(nèi)(比如5個漢字)檢查否定詞正則表達(dá)式REX匹配的數(shù)目。如果該數(shù)目為奇數(shù),則Pj處REi的匹配不計入負(fù)面情緒的統(tǒng)計。

      一個網(wǎng)絡(luò)帖子的負(fù)面情緒用式(1)計算。其中,Oi表示負(fù)面情緒詞典中一條正則表達(dá)式REi的有效匹配次數(shù)(即未被否定的匹配次數(shù)),Wi表示REi的權(quán)重,K為負(fù)面情緒詞典中正則表達(dá)式的數(shù)目(即詞典的大小)。計算結(jié)果η即為該網(wǎng)絡(luò)帖子的nemo值。

      (1)

      計算一個帖子nemo值的過程如算法1所示。對于目標(biāo)文本,該算法考察負(fù)面情緒詞典中每一條正則表達(dá)式REi與該文本的匹配情況。對于每一個匹配之處,檢查目標(biāo)文本中該處之前5個漢字范圍內(nèi)否定正則表達(dá)式REX匹配的次數(shù)。如果次數(shù)為偶數(shù),則根據(jù)REi的權(quán)重增加目標(biāo)文本的nemo值(REX匹配的過程與REi的匹配過程相似,為保持算法的簡潔,在算法1中用一個步驟表示)。算法1的復(fù)雜度為O(MK),其中M為帖子的長度。采用正則表達(dá)式匹配的方式進行情感分析,可以避免分詞等開銷。而且目前已有成熟的硬件加速技術(shù)實現(xiàn)正則表達(dá)式匹配,從而提高情感分析的處理速率。例如采用DFA或NFA硬件引擎,可使nemo值的計算復(fù)雜度降為O(M),即計算的時間成本只與帖子的長度有關(guān),而與負(fù)面情緒詞典的大小無關(guān)。

      算法1負(fù)面情緒度量算法

      輸入:

      Dict:負(fù)面情緒詞典

      REX:否定詞正則表達(dá)式

      Msg:網(wǎng)絡(luò)帖子內(nèi)容,長度為len

      輸出:Msg的負(fù)面情緒

      過程:

      nemo = 0

      for Dict中的每一個正則表達(dá)式REi

      offset=0

      while (offset< len)

      在Msg[offset..len-1]中匹配REi

      if 匹配成功

      設(shè)startp為當(dāng)前匹配的起始位置

      設(shè)endp為當(dāng)前匹配的結(jié)束位置

      設(shè)Wi為REi的權(quán)重

      在Msg[startp-5..startp]中匹配REx

      if 匹配的數(shù)目為奇數(shù)

      //負(fù)面情緒前有否定詞

      continue

      else

      nemo = nemo + Wi

      offset = endp

      continue

      else

      break

      輸出nemo

      3 實驗結(jié)果

      本文基本實現(xiàn)了CyberCare系統(tǒng),并針對國內(nèi)幾個主要的社交網(wǎng)絡(luò),包括天涯論壇(bbs.tianya.cn)和百度貼吧(tieba.baidu.com)等,開發(fā)了爬蟲并進行了多次實驗。

      為考察CyberCare系統(tǒng)的有效性,對天涯論壇上負(fù)面情緒比較強烈的“心靈熱線”版塊進行了多次抓取和分析,并與ROST情感分析工具和人工方式進行比較。例如,在2015年5月12日的一次運行中,抓取了該版塊最新91個主題中的首個帖子。CyberCare對所有91個帖子的負(fù)面情緒進行了計算,結(jié)果顯示有55個帖子的nemo值大于0,最大值為173。對于抓取到的所有帖子內(nèi)容,再用ROST情感分析工具逐個進行分析。由于ROST計算的結(jié)果可為正面情緒、中性情緒和負(fù)面情緒(分別為正數(shù)、0和負(fù)數(shù)),為便于比較,將其結(jié)果中的正面情緒帖子的分?jǐn)?shù)置為0,而對負(fù)面情緒的分?jǐn)?shù)取其絕對值。同時,由7名研究人員對91個帖子根據(jù)各自感受到的負(fù)面情緒強烈程度以百分制打分,均值作為每個帖子的人工負(fù)面情緒值。將三組數(shù)據(jù)分別歸一化后,得到{NCi}、{NRi}、{NMi},分別表示用三種方法計算出來的每個帖子的歸一化負(fù)面情緒值。以人工方法得到的結(jié)果為參考值,按式(2)計算CyberCare與人工方法的均方誤差EC,M。以同樣的方法計算ROST與人工方法的均方誤差ER,M。計算結(jié)果為EC,M=0.058,ER,M=0.075??梢奀yberCare計算帖子負(fù)面情緒的準(zhǔn)確性,與ROST情感分析工具相當(dāng)。

      (2)

      CyberCare與人工和ROST方法對每一個帖子的計算結(jié)果的差異分布如圖 4所示(差異用兩種方法得出的歸一化負(fù)面情緒值的差的絕對值表示)。從圖中可以看出,CyberCare與人工方法計算結(jié)果中,大部分帖子的計算結(jié)果差異很小,差異小于0.1的占60%,差異在0.1~0.2之間的占15%左右。而CyberCare與ROST方法的計算結(jié)果更加相近。多次實驗得到相似的結(jié)果。

      圖4 CyberCare與人工和ROST方法計算結(jié)果差異分布

      將CyberCare的結(jié)果與人工方法的結(jié)果進行比較,并作如下定義:

      True Positive (TP): 兩者得出的負(fù)面情緒值均大于0;

      True Negative (TN): 兩者得出的負(fù)面情緒值均等于0;

      False Positive (FP): CyberCare計算的負(fù)面情緒值大于0,人工方法得出的負(fù)面情緒值等于0;

      False Negative (FN): CyberCare計算的負(fù)面情緒值等于0,人工方法得出的負(fù)面情緒值大于0;

      則對前述CyberCare運行結(jié)果的匯總?cè)绫?所示。作為比較,表中也列出了ROST方法的結(jié)果。從表中可以看出,以人工方法得出的結(jié)果為參照,CyberCare的精度(Precision,即TP/(TP+FP))為67%,召回率(Recall,即TP/(TP+FN))為80%。

      表1 CyberCare和ROST相對于人工方法的準(zhǔn)確性

      CyberCare對天涯論壇進行了多次全站范圍內(nèi)的抓取(每個版塊首頁每個主題的第一個帖子)。根據(jù)其中2015年5月23日的一次運行記錄,共抓取和分析了226 304個帖子,其中nemo值大于0的帖子2316個,占總數(shù)的1%。這2316個帖子的nemo值分布如圖5所示?;谔拥凝嫶髷?shù)量,無法計算該結(jié)果的召回率。對于nemo值大于20的共322個帖子(帖子總數(shù)的0.14%,nemo值大于0的帖子數(shù)的14%),采用人工方法認(rèn)定共有65個帖子真正表達(dá)了負(fù)面情緒,即CyberCare該次運行結(jié)果相對于人工方法的精度為20%。

      圖5 天涯論壇nemo值分布

      多次實驗結(jié)果表明,CyberCare系統(tǒng)能夠從目標(biāo)網(wǎng)站的大量帖子中有效抓取包含負(fù)面情緒的帖子,給心理工作者的及時介入提供了依據(jù),提高了心理工作者的工作效率。系統(tǒng)在精度和召回率方面尚有提高的空間,其原因主要有以下幾點:

      (1) 知網(wǎng)發(fā)布的負(fù)面情感詞典包含了中文文獻中含有負(fù)面情緒的詞語,覆蓋面廣。據(jù)此發(fā)現(xiàn)的很多帖子雖然含有一定的負(fù)面情緒,但是并不都需要引起心理工作者的關(guān)注。

      (2) 網(wǎng)絡(luò)上心靈雞湯類的帖子包含了大量的負(fù)面情緒詞語,但是帖子本身并不表達(dá)任何負(fù)面情緒。因此需要分析帖子的語境,區(qū)分個人情緒的表述和諸如心靈雞湯之類第三人稱的表述。

      (3) 有些帖子雖然表達(dá)強烈的負(fù)面情緒,但是由于用詞婉轉(zhuǎn),沒有被CyberCare系統(tǒng)發(fā)現(xiàn)。因此需要考慮中性詞語之間的關(guān)聯(lián)。雖然單個詞語不表達(dá)負(fù)面情緒,但是當(dāng)多個詞語以一定方式關(guān)聯(lián)在一起的時候,卻能表達(dá)比較強烈的負(fù)面情緒。

      4 結(jié) 語

      本文描述了一個基于爬蟲技術(shù)的網(wǎng)絡(luò)負(fù)面情緒挖掘系統(tǒng)CyberCare的設(shè)計。在Scrapy爬蟲框架下,CyberCare對目標(biāo)網(wǎng)絡(luò)進行周期性的自動抓取,對網(wǎng)頁內(nèi)容的負(fù)面情緒進行度量,并將負(fù)面情緒強烈的帖子存儲于數(shù)據(jù)庫。同時,該系統(tǒng)為心理工作者的介入提供了接口,使得網(wǎng)絡(luò)空間存在心理健康問題的人得到及時的專業(yè)心理救助成為可能。針對天涯論壇和百度貼吧等知名網(wǎng)站的實驗證實了該系統(tǒng)的有效性。

      下一階段的工作將從兩方面展開:一方面將改進負(fù)面情緒詞典及度量算法,提高其準(zhǔn)確性;另一方面將擴充CyberCare系統(tǒng)的爬蟲,改善運行性能,使其在保證實時性的同時能夠覆蓋更大范圍的目標(biāo)網(wǎng)絡(luò)。

      [1] Liu B.Web data mining[M].2nd ed.Berlin:Springer,2011.

      [2] 周立柱,賀宇凱,王建勇.情感分析研究綜述[J].計算機應(yīng)用,2008,28(11):2725-2728.

      [3] 趙妍妍,秦兵,劉挺.文本情感分析[J].軟件學(xué)報,2010,21(8):1834-1848.

      [4] Pang B,Lee L.Opinion mining and sentiment analysis[J].Foundations and Trends in Information Retrieval,2008,2(1-2):1-135.

      [5] Liu B.Sentiment analysis and opinion mining[M].California:Morgan & Claypool Publishers,2012.

      [6] 葉強,張紫瓊,羅振雄.面向互聯(lián)網(wǎng)評論情感分析的中文主觀性自動判別方法研究[J].信息系統(tǒng)學(xué)報,2007,1(1):79-91.

      [7] 李實,葉強,李一軍,等.挖掘中文網(wǎng)絡(luò)客戶評論的產(chǎn)品特征及情感傾向[J].計算機應(yīng)用研究,2010,27(8):3016-3019.

      [8] 楊超,馮時,王大玲,等.基于情感詞典擴展技術(shù)的網(wǎng)絡(luò)輿情傾向性分析[J].小型微型計算機系統(tǒng),2010,31(4):691-695.

      [9] Thelwall M,Wilkinson D,Uppal S.Data mining emotion in social network communication: gender differences in MySpace[J].Journal of the American Society for Information Science and Technology,2010,61(1):190-199.

      [10] Rao Y H,Li Q,Mao X D,et al.Sentiment topic models for social emotion mining[J].Information Sciences,2014,266:90-100.

      [11] Bollen J,Mao H,Pepe A.Modeling public mood and emotion:Twitter sentiment and socio-economic phenomena[C]//Proceedings of the 5th International AAAI Conference on Weblogs and Social Media (ICWSM),July 17-21,2011,Barcelona,Spain.Menlo Park,CA:The AAAI Press,2011:450-453.

      [12] Thelwall M,Buckley K,Paltoglou G,et al.Sentiment strength detection in short informal text[J].Journal of the American Society for Information Science and Technology,2010,61(12):2544-2558.

      [13] Thelwall M,Buckley K,Paltoglou G.Sentiment strength detection for the social web[J].Journal of the American Society for Information Science and Technology,2012,63(1):163-173.

      [14] Taboada M,Brooke J,Tofiloski M,et al.Lexicon-based methods for sentiment analysis[J].Computational Linguistics,2011,37(2):267-307.[15]ShenY,LiSC,ZhengL,etal.Emotionminingresearchonmicro-blog[C]//Proceedingsofthe1stIEEESymposiumonWebSociety(SWS),August23-24,2009,Lanzhou,China.Piscataway,NJ:IEEE,2009:71-75.

      [16]ShenY.ROSTcontentminingsystem:softwareforcontentminingandanalysis[R].Wuhan:WuhanUniversity,2008.

      [17] 謝麗星,周明,孫茂松.基于層次結(jié)構(gòu)的多策略中文微博情感分析和特征抽取[J].中文信息學(xué)報,2012,26(1):73-83.

      [18]DongZ,DongQ.HowNetknowledgedatabase[EB/OL].(2007-10-23).[2015-4-1].http://www.keenage.com/html/c_bulletin_2007.htm.

      DESIGN AND IMPLEMENTATION OF A WEB CRAWLING-BASED NEGATIVE EMOTION MINING SYSTEM

      Peng Jiben1Wu Lin2Chen Xian3Huang Leijun4

      1(CollegeofPhysicsandElectronicInformationEngineering,WenzhouUniversity,Wenzhou325035,Zhejiang,China)2(CollegeofTeacherEducation,WenzhouUniversity,Wenzhou325035,Zhejiang,China)3(CollegeofMechanicalandElectricalEngineering,WenzhouUniversity,Wenzhou325035,Zhejiang,China)4(SchoolofInformationEngineering,ZhejiangA&FUniversity,Linan311300,Zhejiang,China)

      The rise of social networks provides people a new emotional space, but those who show psychological health problems online are usually lack of due attention and help, and sometimes even become the victims of Internet violence. To facilitate offering psychological counselling and assistance to those people in need in cyberspace timely and effectively, we propose a crawling-based web negative emotion mining system called CyberCare. Adopting the Scrapy open-source crawling framework, CyberCare periodically and automatically crawls target websites and measures the negative emotion of crawled web pages. The system also provides an interface to voluntary psychologists for timely intervention. Results of experiments targeted at several known social network websites show that CyberCare can narrow the concerning range of psychologists to one thousandth of all the new posts on websites, thus significantly improves work efficiency. For specific section of emotional class, the precision and recall of experimental results reach approximately 60% and 80% respectively, this shows the effectiveness of the system.

      Web crawlerEmotion miningNegative emotionRegular expression

      2015-05-26。浙江省新苗人才計劃項目(2014R4240 18)。彭紀(jì)奔,本科生,主研領(lǐng)域:網(wǎng)絡(luò)數(shù)據(jù)挖掘。吳林,本科生。陳賢,講師。黃雷君,講師。

      TP3

      A

      10.3969/j.issn.1000-386x.2016.10.003

      猜你喜歡
      爬蟲帖子詞典
      利用網(wǎng)絡(luò)爬蟲技術(shù)驗證房地產(chǎn)灰犀牛之說
      基于Python的網(wǎng)絡(luò)爬蟲和反爬蟲技術(shù)研究
      米沃什詞典
      文苑(2019年24期)2020-01-06 12:06:50
      利用爬蟲技術(shù)的Geo-Gnutel la VANET流量采集
      電子測試(2018年1期)2018-04-18 11:53:04
      評《現(xiàn)代漢語詞典》(第6版)
      詞典例證翻譯標(biāo)準(zhǔn)探索
      大數(shù)據(jù)環(huán)境下基于python的網(wǎng)絡(luò)爬蟲技術(shù)
      電子制作(2017年9期)2017-04-17 03:00:46
      暴力老媽
      《胡言詞典》(合集版)刊行
      情事圈點
      女性天地(2012年11期)2012-04-29 00:44:03
      乌拉特中旗| 安阳市| 阿城市| 连南| 林甸县| 阿图什市| 凤山县| 锡林郭勒盟| 彩票| 炎陵县| 万全县| 九寨沟县| 石首市| 托里县| 宣城市| 小金县| 昌黎县| 望城县| 东山县| 贵州省| 翁源县| 陇西县| 浑源县| 盐池县| 翼城县| 错那县| 武陟县| 凉城县| 彰武县| 烟台市| 大埔县| 什邡市| 盐城市| 永昌县| 元谋县| 铜川市| 垣曲县| 调兵山市| 扶余县| 柳林县| 随州市|