国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

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

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

薛 濤

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

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

本文的多語言社交媒體情感分析系統(tǒng)主要包括三個部分:預(yù)處理、模式提取和情感分類。該系統(tǒng)將使用三個不同的數(shù)據(jù)集作為輸入。這三個不同的數(shù)據(jù)集分別是:評論推文(包含主觀意見)、事實推文(包含客觀描述)、已分類的推文。其中,事實推文用來提取情感模式,已分類推文用來構(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)換為評論圖,將事實推文轉(zhuǎn)換為事實圖。接下來,對圖進行簡化操作。進行簡化操作后,事實圖用來創(chuàng)建評論圖中的權(quán)重,以生成情感圖。然后針對情感圖進行節(jié)點中心性和節(jié)點聚類分析,以提取用于構(gòu)建模型的詞匯-句法特征。在提取情感模式后,將情感模式列表和已分類推文相結(jié)合,以構(gòu)造特定的情感模型。最后應(yīng)用矢量建模技術(shù),便能獲得情感分類器。

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

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

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

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

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

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

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

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

2 模式提取和情感分析

2.1 模式提取

模式提取是情感分析的一個重要過程。不同的語言在語法和句法上有所不同。句子由模式組成,它們提供了表達的結(jié)構(gòu)。模式提取算法包括兩個主要部分:基于圖的單詞提取和情感模式提取。基于圖的單詞提取組件是一種無監(jiān)督的方法,可以提取兩種類型的單詞,即連接詞和情感詞,它們是模式的組成部分。情感模式提取組件使用提取的單詞列表來識別語料庫中的重復(fù)模式。根據(jù)評論推文和事實推文分別構(gòu)建兩個不同的加權(quán)圖:Gu(Vu;Au)和Gn(Vn;An)。對于每個圖,V是節(jié)點的集合,每個節(jié)點代表一個單詞;A是一組弧線,用來表示兩個單詞之間的關(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)進行建模,基于評論推文圖Gu來構(gòu)造情感圖Ge,并根據(jù)事實推文圖Gn的內(nèi)容對情感圖Ge進行調(diào)整。首先,通過包含Gu中的所有節(jié)點和弧來構(gòu)造一個新圖Ge,并根據(jù)以下的規(guī)則來調(diào)整Ge的權(quán)重。

(2)

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

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

(3)

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

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

(4)

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

2.2 情感分析

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

edp,e=pfp,e×iefp×divp

(5)

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

3 實驗評估

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

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

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

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

4 結(jié)論

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

猜你喜歡
推文連接詞爬蟲
利用網(wǎng)絡(luò)爬蟲技術(shù)驗證房地產(chǎn)灰犀牛之說
連動結(jié)構(gòu)“VP1來VP2”的復(fù)句化及新興小句連接詞“來”的形成
基于Python的網(wǎng)絡(luò)爬蟲和反爬蟲技術(shù)研究
賓語從句的語序
特朗普上任至今發(fā)推文1.1萬條
大數(shù)據(jù)背景下校園輿情的爬蟲應(yīng)用研究
特朗普推文哪條最招人煩
大數(shù)據(jù)環(huán)境下基于python的網(wǎng)絡(luò)爬蟲技術(shù)
吸引閱卷老師的“連接詞”
麻雀作文