一種基于大規(guī)模語料特征學習的微博情感分析方法
【技術(shù)領域】
[0001] 本發(fā)明涉及互聯(lián)網(wǎng)信息搜索技術(shù)領域,尤其是一種基于大規(guī)模語料特征學習的微 博情感分析方法。
【背景技術(shù)】
[0002] 在信息爆炸的今天,微博作為一款社交工具,對人們生活的影響越來越大。不管你 做了什么,看到了什么,聽到了什么,你都希望和他人分享,微博提供了這樣的一個平臺,讓 用戶可以將自己的想法、經(jīng)歷等自由地分享給其他人。微博情感分析是指對微博中的觀點 進行抽取、分析,例如對于某條包含對某部電影評價的微博,微博情感分析就是要分析出這 條微博中對這部電影評價的情感傾向,即判斷這個觀點是正面的,還是負面的(分類問題)。 由于微博平臺承載著海量的用戶主觀想法,對微博進行自動化的情感分析,可以幫助企業(yè)、 政府等更好地把握用戶的偏好,從而對自己的產(chǎn)品或者工作上的改進產(chǎn)生良好的指導作 用。
[0003] 目前,主流的微博情感分析方法有兩類,分別是基于特征工程的方法和基于特征 學習的方法。基于特征工程的方法是首先人工設計一系列特征,例如微博中所用的詞、短語 以及它們在情感詞典中的情感傾向,或微博中包含的表情數(shù)、話題數(shù)等等,然后將每一條微 博都轉(zhuǎn)化成一個對應的特征向量,包含了上述人工設計的所有特征,最后利用某個已標注 好情感傾向的微博集合,通過上述方式轉(zhuǎn)化成特征向量集合后,訓練一個情感分類器,再用 這個分類器去預測新微博的情感傾向。基于特征工程的方法由于依賴于人工設計特征的 好壞,所以需要豐富的領域相關(guān)知識以及大量的人力物力投入。與基于特征工程的方法不 同的是,基于特征學習的方法是訓練一個神經(jīng)網(wǎng)絡,使得它能夠輸入一條原始微博文本后 輸出一個它對應的特征向量,該向量可用于情感分類器的訓練和預測,此過程中無需任何 人工設計特征,節(jié)省成本。對于基于特征學習的方法,一個重要的環(huán)節(jié)是訓練詞向量,而現(xiàn) 有的詞向量訓練算法都只考慮語法上下文,這對情感分析來說是存在問題的,例如"好"與 "壞"這兩個語法上下文相似,但是情感傾向完全相反的詞被映射到相鄰的詞向量上,因此 訓練詞向量時還需要考慮詞的情感傾向。此外,否定關(guān)系處理也是微博情感分析的一個重 要環(huán)節(jié),因為否定關(guān)系直接改變了情感傾向。
[0004] 現(xiàn)有微博情感分析方法需人工設計特征,工作量大,成本高,網(wǎng)絡結(jié)構(gòu)復雜,無法 結(jié)合語法上、下文和情感傾向,有效處理否定關(guān)系,,情感分析準確率低。
【發(fā)明內(nèi)容】
[0005] 本發(fā)明的目的是針對現(xiàn)有技術(shù)的不足而設計的一種基于大規(guī)模語料特征學習的 微博情感分析方法,采用神經(jīng)網(wǎng)絡將微博中的每一個詞,根據(jù)它的語法上下文、當前上下文 中的情感傾向以及它是否被否定,映射到它對應的詞向量上,得到一個由微博所對應的詞 向量組成的矩陣,在該矩陣上做詞向量間的合成,從而得到微博所對應的特征向量,將獲得 的特征向量用于情感分類器的訓練和預測時,對每條新微博就可得到一個較為準確的情感 分析結(jié)果無需人工設計特征,節(jié)省成本,尤其適合大規(guī)模語料,訓練速度快,結(jié)合語法上下 文和情感傾向,有效處理否定關(guān)系,情感分析準確率高。
[0006] 本發(fā)明的目的是這樣實現(xiàn)的:一種基于大規(guī)模語料特征學習的微博情感分析方 法,包括基于W〇rd2VeC的神經(jīng)網(wǎng)絡和基于監(jiān)督學習的分類器,其特點是利用微博文本訓練 一個基于Word2Vec的神經(jīng)網(wǎng)絡,將微博文本輸入完成訓練的神經(jīng)網(wǎng)絡,該神經(jīng)網(wǎng)絡將輸入 的微博,根據(jù)語法上下文、當前上下文中的情感傾向以及它是否被否定映射到對應的詞向 量上,從而得到一個與微博文本所對應的微博詞向量矩陣,在微博詞向量矩陣上做詞向量 間的合成,得到與微博文本所對應的微博特征向量,將微博特征向量對基于監(jiān)督學習的分 類器進行訓練后得到情感分類器,使用情感分類器對微博文本進行情感分析,可較為準確 的預測微博情感傾向;所述神經(jīng)網(wǎng)絡為輸入層、并行詞向量層和輸出層組成的三層網(wǎng)絡結(jié) 構(gòu),所述并行詞向量層由肯定上下文的詞向量矩陣和否定上下文的詞向量矩陣組成;所述 輸入層將輸入詞以未被否定和被否定詞分別輸入并行詞向量層中所對應的詞向量矩陣;所 述輸出層將兩詞向量矩陣轉(zhuǎn)換成未被否定和被否定的情感傾向輸出兩個特征向量。
[0007] 所述神經(jīng)網(wǎng)絡的訓練按下述步驟進行: 第一步:設定詞向量的維度并以微博的輸入詞為中心的窗口大小; 第二步:隨機初始化,將并行詞向量層中的兩個詞向量矩陣,使它們保持一致;Hierarchicalsoftmax層的參數(shù),該層用于預測以輸入詞為中心的窗口內(nèi)的一個詞;Full softmax層的參數(shù),該層用于預測輸入詞的情感傾向; 第三步:輸入微博并進行分詞,分詞后去掉其中的@用戶和URL,然后進行否定關(guān)系檢 測,標記出哪些詞被否定,最后利用現(xiàn)有的情感詞典、表情符號和帶有情感傾向的話題線 索,對每一個詞在該微博上下文中的情感傾向進行自動化標注; 第四步:對微博中的每一個詞,根據(jù)它是否被否定,使用相應的詞向量層將它映射到它 對應的詞向量,使用隨機梯度下降算法更新該詞向量、Hierarchicalsoftmax層的參數(shù)和 Fullsoftmax層的參數(shù),使得給定該詞向量,能準確地預測中心窗口內(nèi)每一個詞及其情感 傾向; 第五步:重復第三~第四步驟,對大規(guī)模語料中的所有微博都進行神經(jīng)網(wǎng)絡訓練。
[0008] 所述完成訓練的神經(jīng)網(wǎng)絡按下述步驟得到微博特征向量: 第一步:輸入微博,對該微博進行分詞并去掉@用戶和URL,然后進行否定檢測,標記出 哪些詞被否定; 第二步:對微博中的每一個詞,根據(jù)它是否被否定,使用相應的詞向量層將它映射到對 應的詞向量,并存入微博詞向量矩陣中的一列; 第三步:對微博詞向量矩陣的每一行,分別取最大值、最小值和平均值得到三個向量; 第四步:將上述三個向量首尾相接成一個微博特征向量輸出。
[0009]第五步:對大規(guī)模語料中的每一條微博重復第一 ~第四步驟,得到與之對應的微 博特征向量。
[0010] 所述基于監(jiān)督學習的分類器的訓練按下述步驟進行: 第一步:輸入神經(jīng)網(wǎng)絡訓練中已標注情感傾向的微博以及使用該神經(jīng)網(wǎng)絡得到的該微 博特征向量; 第二步:重復第一步驟,對神經(jīng)網(wǎng)絡訓練集中的每一條已標注好情感傾向的微博和該 微博特征向量都進行輸入,得到微博特征向量集合及其與之對應的情感傾向集合; 第三步:將上述特征向量集合和情感傾向集合對基于監(jiān)督學習的分類器進行訓練后得 到情感分類器。
[0011] 所述情感分類器使用微博特征向量對輸入的微博文本進行情感分析,輸出微博情 感傾向的預測結(jié)果。
[0012] 本發(fā)明與現(xiàn)有技術(shù)相比具有以下優(yōu)點: a)、無需人工設計特征,節(jié)省成本:輸入一條微博,通過完成訓練的神經(jīng)網(wǎng)絡就可得到 該微博對應的特征向量,該特征向量的每一維都是自動計算出來的,并非人工設計,因此節(jié) 省了人工設計特征的各種成本。
[0013] (2)、適合大規(guī)模語料,訓練速度快:神經(jīng)網(wǎng)絡訓練時只有三層結(jié)構(gòu),并使用了隨機 梯度下降、Hiericalsoftmax等算法來加快詞向量的訓練,從而使得即使在單機環(huán)境下也 可在短時間內(nèi)完成大規(guī)模語料(百萬條微博以上)的訓練。
[0014] (3)、結(jié)合語法上下文和情感傾向,有效處理否定關(guān)系,情感分析準確率高:神經(jīng)網(wǎng) 絡訓練的過程中更新詞向量時要盡可能準確地預測語法上下文和情感傾向,解決了現(xiàn)有技 術(shù)的詞向量訓練算法把語法上下文相似但情感傾向相反的詞映射到相鄰的詞向量的問題, 進一步提高了情感分析的準確率。此外,根據(jù)輸入詞是否被否定,使用相應的詞向量層將它 映射到它對應的詞向量,并在訓練時更新,從而得到輸入詞在肯定環(huán)境和否定環(huán)境下的兩 套詞向量,從特征向量中體現(xiàn)否定關(guān)系改變情感傾向的程度,使得情感分析的準確率再度 提升。
【附圖說明】
[0015] 圖1為本發(fā)明流程圖; 圖2為神經(jīng)網(wǎng)絡結(jié)構(gòu)示意圖; 圖3為神經(jīng)網(wǎng)絡訓練流程圖; 圖4為使用完成訓練的神經(jīng)網(wǎng)絡得到微博特征向量的流程圖; 圖5為分類器訓練流程圖; 圖6為使用情感分類器預測微博的情感傾向流程圖。
【具體實施方式】
[0016] 參閱附圖1,本發(fā)明包括基于W〇rd2VeC的神經(jīng)網(wǎng)絡和基于監(jiān)督學習的分類器,利 用微博文本訓練一個基于Word2Vec的神經(jīng)網(wǎng)絡,將微博文本輸入完成訓練的神經(jīng)網(wǎng)絡,該 神經(jīng)網(wǎng)絡將輸入的微博,根據(jù)語法上下文、當前上下文中的情感傾向以及它是否被否定,映 射到對應的詞向量上,從而得到一個與微博文本所對應的微博詞向量矩陣,在微博詞向量 矩陣上做詞向量間的合成,得到與微博文本所對應的微博特征向量,將微