• 
    

    
    

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

      基于Python爬蟲的多語言社交媒體情感分析研究

      2020-09-28 06:45:22
      關(guān)鍵詞:推文連接詞爬蟲

      薛 濤

      (運(yùn)城師范高等??茖W(xué)校 數(shù)計(jì)系,山西 運(yùn)城 044000)

      互聯(lián)網(wǎng)的發(fā)展使人們進(jìn)入了用戶生成內(nèi)容(User Generated Content,UGC)[1-2]的新時(shí)代,許多互聯(lián)網(wǎng)技術(shù)的應(yīng)用廣泛地使用UGC提供服務(wù)。用戶通過便攜式設(shè)備(如手機(jī))、Web等途徑,輕松地發(fā)表評論、新聞、活動(dòng)以及身邊的其他信息。海量UGC(如文本、視頻、音頻)數(shù)據(jù)的出現(xiàn),使人們面臨著數(shù)據(jù)分析、數(shù)據(jù)抽取等難題。社交網(wǎng)絡(luò)信息數(shù)據(jù)中包含了大量人們對新聞、時(shí)間、產(chǎn)品和服務(wù)等的評價(jià)和感受,研究這些數(shù)據(jù)信息對于輿情分析、互聯(lián)網(wǎng)服務(wù)質(zhì)量的提高等具有理論和實(shí)踐意義。與國內(nèi)的主流社交媒體(如新浪微博)相比,Twitter是一個(gè)用戶遍及全球的社交媒體,具有更大的受眾范圍[3]。由于Twitter的信息數(shù)據(jù)包含了多種語言,擁有多樣的用戶社交圈,因此以Twitter作為研究對象,開展了多語言情感分析的研究。

      本文的多語言社交媒體情感分析系統(tǒng)主要包括三個(gè)部分:預(yù)處理、模式提取和情感分類。該系統(tǒng)將使用三個(gè)不同的數(shù)據(jù)集作為輸入。這三個(gè)不同的數(shù)據(jù)集分別是:評論推文(包含主觀意見)、事實(shí)推文(包含客觀描述)、已分類的推文。其中,事實(shí)推文用來提取情感模式,已分類推文用來構(gòu)建分類模型。所有數(shù)據(jù)集中的數(shù)據(jù)都必須經(jīng)過預(yù)處理階段,將異常數(shù)據(jù)清除,使數(shù)據(jù)格式標(biāo)準(zhǔn)化。為了更好地表示這些集合的數(shù)據(jù)結(jié)構(gòu),將推文轉(zhuǎn)換為圖,即將評論推文轉(zhuǎn)換為評論圖,將事實(shí)推文轉(zhuǎn)換為事實(shí)圖。接下來,對圖進(jìn)行簡化操作。進(jìn)行簡化操作后,事實(shí)圖用來創(chuàng)建評論圖中的權(quán)重,以生成情感圖。然后針對情感圖進(jìn)行節(jié)點(diǎn)中心性和節(jié)點(diǎn)聚類分析,以提取用于構(gòu)建模型的詞匯-句法特征。在提取情感模式后,將情感模式列表和已分類推文相結(jié)合,以構(gòu)造特定的情感模型。最后應(yīng)用矢量建模技術(shù),便能獲得情感分類器。

      1 基于Python爬蟲的數(shù)據(jù)抓取和預(yù)處理

      所使用的數(shù)據(jù)集是通過Python爬蟲收集到的。因此,數(shù)據(jù)收集的時(shí)間越長,數(shù)據(jù)集就會(huì)越大。不同語言的語法、詞匯基礎(chǔ)和其他特征之間具有明顯的差異,因此為了從不同的語言中獲得情感模式,必須獲取相應(yīng)的語言數(shù)據(jù)集。評論推文數(shù)據(jù)集是普通用戶的日常推文,其中包含一些與情感相關(guān)的單詞、主題標(biāo)簽或表情符號。事實(shí)推文是官方媒體所發(fā)布的推文,主要包含已經(jīng)發(fā)生的事件或報(bào)告事物的當(dāng)前狀態(tài)等客觀事實(shí)。通過對官方媒體賬戶進(jìn)行爬蟲就可以獲得事實(shí)推文數(shù)據(jù)集。已分類數(shù)據(jù)集包含了特定情緒相關(guān)的推文。采用Python爬蟲,根據(jù)特定情感所對應(yīng)的主題標(biāo)簽來獲取含有該情感的推文。首先需要在Twitter開放應(yīng)用程序的網(wǎng)站(https://dev.twitter.com/apps)上創(chuàng)建一個(gè)應(yīng)用程序,以獲取Twitter API的權(quán)限。接下來需要?jiǎng)?chuàng)建一個(gè)Token,從開放式授權(quán)驗(yàn)證(OAuth)中獲取Key、Secret、Token和Access Token的信息,并將這些信息填入如表1所示的Python代碼的相應(yīng)位置中。采用Python提供的tweepy進(jìn)行爬蟲實(shí)現(xiàn)。

      表1 獲取應(yīng)用Key

      OAuth是一種開放式身份驗(yàn)證標(biāo)準(zhǔn),Twitter已采用該標(biāo)準(zhǔn)來提供對受保護(hù)信息的訪問。 OAuth使用三向握手為傳統(tǒng)身份驗(yàn)證方法提供了一種更安全的替代方法。在實(shí)現(xiàn)爬蟲功能之前,需要使用Python的import語句來引入相應(yīng)的模塊,如表2所示。

      表2 Python爬蟲所需要的部分模塊

      由于篇幅有限,此處僅展示根據(jù)用戶ID搜索推文的部分實(shí)現(xiàn)Python代碼,如表3所示。

      表3 推文抓取的部分Python代碼

      社交網(wǎng)絡(luò)應(yīng)用允許用戶自由地表達(dá)自己的情感,推文的內(nèi)容具有多種形式、長度、符號用法甚至不同的語言。因此,需要對數(shù)據(jù)集進(jìn)行預(yù)處理,避免噪音對后續(xù)處理產(chǎn)生影響。如果推文太短,將很難表達(dá)出具體的情感,因此需要將其刪除。這是因?yàn)槿狈ψ銐騿卧~的文本可能會(huì)使句法模式更難識(shí)別。在關(guān)鍵字之前添加主題標(biāo)簽“#”有利于社交網(wǎng)絡(luò)應(yīng)用對推文進(jìn)行分組。但是很多用戶會(huì)在推文中濫用主題標(biāo)簽,最終使得該推文缺乏重要內(nèi)容。因此,包含太多標(biāo)簽的推文也將被刪除。另外,也需要?jiǎng)h除轉(zhuǎn)發(fā)的推文。轉(zhuǎn)發(fā)的推文會(huì)造成內(nèi)容重復(fù),而且轉(zhuǎn)發(fā)的推文不一定能反映當(dāng)前用戶的情感。最后,由于包含URL的推文一般不帶有情感,因此需要將其刪除。在預(yù)處理階段之后,首先需要對每個(gè)推文進(jìn)行分詞操作,以獲取多個(gè)獨(dú)立的單詞。然后,通過使用特殊標(biāo)記替換推文中的用戶名、URL、主題標(biāo)簽等來實(shí)現(xiàn)單詞的規(guī)范化。規(guī)范化操作能夠避免可能由于用戶名、標(biāo)簽等而引起的偏差。

      2 模式提取和情感分析

      2.1 模式提取

      模式提取是情感分析的一個(gè)重要過程。不同的語言在語法和句法上有所不同。句子由模式組成,它們提供了表達(dá)的結(jié)構(gòu)。模式提取算法包括兩個(gè)主要部分:基于圖的單詞提取和情感模式提取?;趫D的單詞提取組件是一種無監(jiān)督的方法,可以提取兩種類型的單詞,即連接詞和情感詞,它們是模式的組成部分。情感模式提取組件使用提取的單詞列表來識(shí)別語料庫中的重復(fù)模式。根據(jù)評論推文和事實(shí)推文分別構(gòu)建兩個(gè)不同的加權(quán)圖:Gu(Vu;Au)和Gn(Vn;An)。對于每個(gè)圖,V是節(jié)點(diǎn)的集合,每個(gè)節(jié)點(diǎn)代表一個(gè)單詞;A是一組弧線,用來表示兩個(gè)單詞之間的關(guān)系。為了保留推文的韻律和基礎(chǔ)結(jié)構(gòu),根據(jù)推文中單詞的順序定義弧。用freq(ai)表示弧ai出現(xiàn)的頻率,用w(ai)表示弧ai的權(quán)重,其定義如下:

      (1)

      因此,文本中單詞之間的關(guān)系都可以由圖中的弧表示,而且這些弧具有權(quán)重。為了更準(zhǔn)確地對評論推文數(shù)據(jù)的結(jié)構(gòu)進(jìn)行建模,基于評論推文圖Gu來構(gòu)造情感圖Ge,并根據(jù)事實(shí)推文圖Gn的內(nèi)容對情感圖Ge進(jìn)行調(diào)整。首先,通過包含Gu中的所有節(jié)點(diǎn)和弧來構(gòu)造一個(gè)新圖Ge,并根據(jù)以下的規(guī)則來調(diào)整Ge的權(quán)重。

      (2)

      新圖Ge強(qiáng)調(diào)個(gè)人情感和個(gè)人觀點(diǎn),因此那些僅在評論推文中出現(xiàn)且不在事實(shí)推文中出現(xiàn)的推文的權(quán)重將保持不變。如果一條弧同時(shí)出現(xiàn)在評論圖和事實(shí)圖中,則該弧的權(quán)重會(huì)減少。在新圖Ge中,弧的權(quán)重較高表示單詞序列與評論推文更相關(guān),而具有低權(quán)重的弧則與事實(shí)推文更相關(guān)。在后續(xù)的圖分析過程中,權(quán)重較低的弧具有更低的重要性。因此,當(dāng)弧權(quán)重低于閾值thw時(shí),該弧將被刪除。最后生成的圖稱為情感圖。

      接下來對情感圖進(jìn)行分析,以發(fā)現(xiàn)頻繁且相關(guān)的單詞以構(gòu)建連接單詞集,并查找與情感相關(guān)的單詞。根據(jù)節(jié)點(diǎn)的統(tǒng)計(jì)信息可以對節(jié)點(diǎn)進(jìn)行分類。以前的方法一般依賴于詞性標(biāo)簽或基本的統(tǒng)計(jì)信息(如字?jǐn)?shù)統(tǒng)計(jì))。在多語言的情況下,這些方法并不適用。本研究所提出的方法是基于圖中節(jié)點(diǎn)的中心性來識(shí)別連接詞。在圖分析中,節(jié)點(diǎn)的中心性衡量其在圖中的相對重要性。最佳連接詞不僅是頻繁出現(xiàn)的詞,而且還是圖的中心。節(jié)點(diǎn)相關(guān)性也可以通過考慮其他因素來確定(如節(jié)點(diǎn)鄰居的重要性)。為了達(dá)到這個(gè)目的,采用特征向量中心性對單詞進(jìn)行排序并選擇連接詞。當(dāng)節(jié)點(diǎn)的鄰居具有較高的特征向量中心性時(shí),該節(jié)點(diǎn)也會(huì)擁有較高的中心性。節(jié)點(diǎn)vi的中心性ci的計(jì)算方式如下所示:

      (3)

      其中,λ是特征值。用矩陣M=(mi,j)表示情感圖中節(jié)點(diǎn)之間的關(guān)系:當(dāng)節(jié)點(diǎn)vi和節(jié)點(diǎn)vj在圖Ge中相連接時(shí),mi,j等于1;否則,mi,j等于0。

      然后通過保留特征向量中心度高于閾值φeig的所有單詞來形成連接詞列表。在獲得第一個(gè)單詞列表后,下一步就是創(chuàng)建一個(gè)包含帶有情感單詞的第二個(gè)單詞列表。由于僅基于頻率來選擇情感詞并不可靠,而且一般來說情感詞會(huì)通過相同的連接詞相互連接,因此通過單詞的平均簇系數(shù)來進(jìn)行情感詞的選擇。節(jié)點(diǎn)vi的平均簇系數(shù)cli的計(jì)算方式如下所示:

      (4)

      然后通過保留平均聚類系數(shù)高于閾值φcl的所有單詞來形成情感詞列表。在獲得兩個(gè)單詞列表之后,接下來通過查看連接詞和情感詞的組合來提取模式??紤]帶有兩個(gè)或三個(gè)單詞的短模式,較長的模式可以通過組合短模式來表示。例如,四個(gè)單詞序列可以由兩個(gè)具有兩個(gè)單詞的模式組合來表示。每個(gè)模式必須包含來自連接詞列表和情感詞列表的單詞。這是因?yàn)閮H由連接詞組成的表達(dá)式會(huì)缺少情感模式;而僅包含情感詞的表達(dá)將缺乏足夠的語法來描繪適當(dāng)?shù)暮x。具有相同連接詞、長度和順序的樣式會(huì)被歸為一組。如此一來,能得到多個(gè)組,每個(gè)組都是一組模式實(shí)例。鑒于某些表達(dá)結(jié)構(gòu)更為頻繁,某些組將包含更多的實(shí)例。每個(gè)組中的實(shí)例將根據(jù)其語法結(jié)構(gòu)定義候選模式,然后將每個(gè)組中的情感詞替換為通配符以使該序列能夠匹配其他具有相同模式的單詞序列。這樣一來,就能夠得到表達(dá)不同情感的候選模式列表。

      2.2 情感分析

      使用情感度來反映模式p對特定情感e的重要性,其計(jì)算方式如下所示:

      edp,e=pfp,e×iefp×divp

      (5)

      pfp,e是代表模式頻率,定義為pfp,e=log(f(p,e)+1),其中f(p,e)是模式p在情感e中出現(xiàn)的頻率。iefp是逆情感頻率,其計(jì)算方式為iefp=|E|/|{e∈E∶f(p,e)>0}|。divp是指多樣性,其計(jì)算方式為divp=log(Φ(p,E)),其中Φ(p,E)表示模式p能捕捉的情感數(shù)量。

      3 實(shí)驗(yàn)評估

      所有實(shí)驗(yàn)中使用的數(shù)據(jù)均來自Twitter。為了提取模式,采用基于Python的爬蟲技術(shù)抓取了含有情感的評論推文,其中包括英語、法語和西班牙語的推文各10 000條。而事實(shí)推文數(shù)據(jù)集則是通過抓取官方媒體在Twitter上發(fā)表的推文而獲得的,每種語言各獲得了約500條事實(shí)推文。考慮的情感分別為憤怒、恐懼、希望、喜悅、悲傷和驚奇。

      將本方法與LSTMs(長短期記憶網(wǎng)絡(luò))[4]、Conv-Emb[5]和Conv-Char-S[6]進(jìn)行了比較。表4展示了三種方法的準(zhǔn)確度(accuracy)和F-度量(F-measure),表5展示了三種方法分別應(yīng)用于不同語言下的分析結(jié)果。綜合表4和表5的結(jié)果可知,本方法在多語言的情感分析中具有最好的性能。

      表4 三種方法的準(zhǔn)確度和F-度量對比

      表5 三種方法在不同語言下準(zhǔn)確度對比

      4 結(jié)論

      本研究探討了多語言的社交媒體情感分析問題,首先設(shè)計(jì)并實(shí)現(xiàn)了基于Python爬蟲的數(shù)據(jù)獲取和預(yù)處理,然后提出了一種無監(jiān)督的情感分析方法。最后利用真實(shí)數(shù)據(jù)集驗(yàn)證了本方法的有效性。未來的研究將通過進(jìn)一步改進(jìn)本方法,實(shí)現(xiàn)在線的社交媒體情感分析。

      猜你喜歡
      推文連接詞爬蟲
      利用網(wǎng)絡(luò)爬蟲技術(shù)驗(yàn)證房地產(chǎn)灰犀牛之說
      連動(dòng)結(jié)構(gòu)“VP1來VP2”的復(fù)句化及新興小句連接詞“來”的形成
      基于Python的網(wǎng)絡(luò)爬蟲和反爬蟲技術(shù)研究
      特朗普上任至今發(fā)推文1.1萬條
      利用爬蟲技術(shù)的Geo-Gnutel la VANET流量采集
      電子測試(2018年1期)2018-04-18 11:53:04
      特朗普推文哪條最招人煩
      大數(shù)據(jù)環(huán)境下基于python的網(wǎng)絡(luò)爬蟲技術(shù)
      電子制作(2017年9期)2017-04-17 03:00:46
      英語連接詞:傳統(tǒng)與反思
      英語連接詞的顯功能初探
      麻雀作文
      延庆县| 游戏| 瓦房店市| 无为县| 泰州市| 定陶县| 金湖县| 建德市| 乐山市| 巴东县| 武冈市| 嘉禾县| 胶南市| 龙岩市| 朝阳市| 集安市| 江华| 东明县| 本溪| 察雅县| 若尔盖县| 绥宁县| 西藏| 长武县| 九寨沟县| 襄汾县| 延安市| 大冶市| 梨树县| 平利县| 青州市| 城步| 兴安盟| 巴中市| 沈阳市| 揭阳市| 垣曲县| 赣州市| 九寨沟县| 韩城市| 马龙县|