• 
    

    
    

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

      基于中文微博的情感分析方法研究

      2020-01-16 03:00:54李大舟
      關(guān)鍵詞:傾向性維特馬爾可夫

      劉 陽, 高 巍, 李大舟

      (沈陽化工大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院, 遼寧 沈陽 110142)

      隨著微博的快速發(fā)展,越來越多的人習(xí)慣用微博來發(fā)表自己對事物的看法.在微博上,人們有一定的言論自由,各抒己見,因此,如果我們想要得到一個(gè)正確的觀點(diǎn),就需要對大量的微博文本進(jìn)行情感分析.而且隨著輿情信息越來越多,輿情的監(jiān)控也變得更加困難,所以,對微博情感分析的研究具有重要意義.

      情感分析又稱傾向性分析,它是對帶有情感色彩的主觀性文本進(jìn)行分析、處理、歸納和推理的過程[1].情感傾向性分析主要有以下幾個(gè)方面:中文語料處理,抽取情感詞、程度副詞及否定詞,計(jì)算情感得分.其中在中文語料處理方面,基于詞典的分詞方法雖然算法簡單,運(yùn)算效率高,但是隨著互聯(lián)網(wǎng)的發(fā)展,對一些新的詞匯或符號等的加入,詞典不能及時(shí)自動更新,其弊端也逐漸暴露[2].所以,本文采用基于隱馬爾可夫模型(HMM)的維特比算法做中文分詞處理[3].在語義分析方面,基于情感詞典的情感分析方法因具有簡單、易于理解、處理速度快、情感傾向性判斷準(zhǔn)確等優(yōu)勢利用率比較高.因此,本文利用知網(wǎng)開放的情感分析用詞語集[4]進(jìn)行語義分析,計(jì)算情感得分,判斷情感傾向.

      1 中文分詞

      1.1 隱馬爾可夫模型

      馬爾可夫模型是由俄國化學(xué)家Markovnikov于1870年提出的一種統(tǒng)計(jì)模型,在語音識別、詞性自動標(biāo)注、音字轉(zhuǎn)換、概率文法等各個(gè)自然語言處理領(lǐng)域有著廣泛的應(yīng)用.馬爾可夫模型本質(zhì)上是一種隨機(jī)過程,即表示在某事件發(fā)展的過程中,每一次狀態(tài)的轉(zhuǎn)移都取決于前一時(shí)刻的狀態(tài),與過去的狀態(tài)無關(guān),這樣的狀態(tài)鏈稱為馬爾可夫鏈.而馬爾可夫預(yù)測法就是一種基于馬爾可夫鏈去預(yù)測事件發(fā)生概率的方法[5].

      隱馬爾可夫模型是一個(gè)二重馬爾可夫隨機(jī)過程,包括具有狀態(tài)轉(zhuǎn)移概率的馬爾可夫鏈和輸出觀測值的隨機(jī)過程,其狀態(tài)只有通過觀測序列的隨機(jī)過程才能表現(xiàn)出來.隱馬爾可夫模型提供了一種基于訓(xùn)練數(shù)據(jù)的概率自動構(gòu)造識別系統(tǒng),在信息抽取領(lǐng)域己經(jīng)表現(xiàn)出很好的發(fā)展勢頭.

      隱馬爾可夫模型可以用5個(gè)元素來描述,包括2個(gè)狀態(tài)集合和3個(gè)概率矩陣.

      (1) 可觀測狀態(tài)O:在模型中與隱含狀態(tài)相關(guān)聯(lián),可通過直接觀測得到.

      O={o1,o2,…,on}.

      (1)

      其中n為可觀測值的個(gè)數(shù).

      (2) 隱含狀態(tài)S:這些狀態(tài)之間滿足馬爾可夫性質(zhì),是馬爾可夫模型中實(shí)際所隱含的狀態(tài).這些狀態(tài)通常無法通過直接觀測得到.

      S={s1,s2,…,sm}.

      (2)

      其中m為隱含狀態(tài)個(gè)數(shù).

      (3) 初始狀態(tài)概率矩陣П={πi},表示隱含在初始時(shí)刻的概率矩陣.

      (3)

      其中πi表示狀態(tài)si在初始時(shí)刻的概率.

      (4) 隱含狀態(tài)概率矩陣A:描述了HMM模型中各個(gè)狀態(tài)之間的轉(zhuǎn)移概率.

      A=[aij]M×M,aij=Q(pt+1=sj|pt=st),

      1≤i,j≤N.

      (4)

      其中:A是一個(gè)M×M階的狀態(tài)轉(zhuǎn)移概率矩陣;aij表示狀態(tài)si到sj之間的轉(zhuǎn)換概率.

      (5) 觀測狀態(tài)轉(zhuǎn)移概率矩陣B.

      B=[bj(k)]M×N,bj(k)=Q(Ht=

      Ok|Pt=Sj), 1≤i≤M, 1≤k≤N.

      (5)

      bj(k)表示在狀態(tài)sj時(shí)刻觀測值OK的概率.

      通過以上內(nèi)容可知:隱含狀態(tài)概率矩陣A和觀測狀態(tài)轉(zhuǎn)移概率矩陣B中皆有對可觀測狀態(tài)O和隱含狀態(tài)S的說明,因此,將隱馬爾可夫模型表示為λ=(П,A,B).

      1.2 維特比算法

      維特比算法由安德魯·維特比(Andrew Viterbi)于1967年提出,是一個(gè)特殊但應(yīng)用最廣的動態(tài)規(guī)劃算法.其用于尋找最有可能產(chǎn)生觀測事件序列的維特比路徑-隱含狀態(tài)序列,特別是在馬爾可夫信息源上下文和隱馬爾可夫模型中,利用動態(tài)規(guī)劃,可以解決任何一個(gè)圖中的最短路徑問題.而維特比算法是針對一個(gè)特殊的圖——籬笆網(wǎng)絡(luò)(Lattice)的有向圖的最短路徑問題提出的[6],使用HMM描述的問題都可以用它來解碼,中文分詞即是其中一個(gè).

      算法實(shí)現(xiàn)主要步驟如下:

      (1) 初始化,計(jì)算t=1時(shí)刻的概率,參數(shù)δt(i)表示在t時(shí)刻到狀態(tài)為i的各個(gè)節(jié)點(diǎn)的最大概率,即最短路徑

      δ1(i)=πibi(o1),φ1(i)=0 .

      (6)

      (2) 迭代計(jì)算,計(jì)算t=2時(shí)刻的概率,參數(shù)φt(i)表示在t時(shí)刻到i狀態(tài)經(jīng)過的最大概率的路徑之前的一個(gè)節(jié)點(diǎn),并且它將經(jīng)過的最短路徑的節(jié)點(diǎn)依次保存.

      δ1(j)=max1?i?N[δi-1(i)aij]bj(ot),

      2i?t?T, 1?j?N,

      (7)

      2?t?T, 1?j?N.

      (8)

      (9)

      (10)

      (4) 回溯,根據(jù)最終得出的最短路徑,依次向前回溯每個(gè)節(jié)點(diǎn).

      t=T-1,T-2,…,1.

      (11)

      1.3 利用維特比算法求解中文分詞問題

      以“小明碩士畢業(yè)于中國科學(xué)院計(jì)算所”為例,將初始狀態(tài)概率矩陣Π、隱含狀態(tài)概率矩陣A和觀測狀態(tài)轉(zhuǎn)移概率矩陣B利用維特比算法求解,根據(jù)表1得到兩個(gè)矩陣δ[4][15]和φ[4][15].

      δ[4][15],其中4是狀態(tài)數(shù)(0:B,1:E,2:M,3:S),15代表句子的總字?jǐn)?shù).φ[4][15]同δ[4][15]一樣,4是狀態(tài)數(shù)(0:B,1:E,2:M,3:S),15代表句子的總字?jǐn)?shù).這里對最大概率的前一個(gè)字的狀態(tài)做記錄,就是為了下一步利用維特比算法計(jì)算完整矩陣δ[4][15]之后,對之前輸入的句子進(jìn)行反向回溯,即得出最優(yōu)的狀態(tài)序列.

      表1 各分詞初始狀態(tài)表Table 1 Initial state table of each participle

      先對δ進(jìn)行初始化,使用初始狀態(tài)概率矩陣Π和觀測狀態(tài)轉(zhuǎn)移概率矩陣B對δ二維數(shù)組進(jìn)行初始化.由觀測狀態(tài)轉(zhuǎn)移概率矩陣B可以得出表2所示概率.

      表2 下標(biāo)0觀測狀態(tài)轉(zhuǎn)移概率矩陣Table 2 Subscript 0 observation state transition probability matrix

      接下來初始化δ[i][0] 的值如表3所示.

      表3 對0初始化Table 3 Initialization of 0

      最后遍歷找出δ的最大值,并且記錄出φ的值:

      for(size_ti=1;i<15;i++)//遍歷句子,對0已初始化結(jié)束,即從1開始

      {

      for(size_tj=0;j<4;j++)//遍歷可能的狀態(tài)

      {δ[j][i]=MIN_DOUBLE;

      φ[j][i]=-1;

      for(size_tk=0;k<4;k++)//遍歷前一個(gè)字可能的狀態(tài)

      {

      double tmp=δ[k][i-1]+_transProb[j][sentence[i]];

      If 9tmp>δ[j][i])//找出最大的δ[j][i]值

      {

      δ[j][i]=tmp;

      φ[j][i]=k;

      }

      }

      }

      }

      算法執(zhí)行完畢后,δ[4][15]和φ[4][15]的值計(jì)算完成,接下來就是要找到最優(yōu)序列.對于每個(gè)輸入的句子,根據(jù)中文分詞的規(guī)則,最后一個(gè)字的狀態(tài)只可能是 E 或者 S.本文中只要比較δ[4][15]和φ[4][15]的大小.δ[1][14]=-102.492,φ[3][14]=-101.632 ,因此,最優(yōu)路徑的起點(diǎn)是φ[3][14],對此路徑進(jìn)行回溯,得到序列“SEBEMBEBEMBEBEB”,進(jìn)行倒序可得“BEBEBMEBEBMEBES”,進(jìn)行切詞可得“BE/BE/BME/BE/BME/BE/S”,最終可得分詞結(jié)果為“小明/碩士/畢業(yè)于/中國/科學(xué)院/計(jì)算/所”.

      2 情感分析

      2.1 情感詞典

      使用知網(wǎng)的情感分析用詞語集進(jìn)行語義分析,并計(jì)算得分,根據(jù)得分的正負(fù)來判斷情感的傾向性.其中得分大于0的為正向情感、小于0的為負(fù)向情感,等于0的為中性情感.表4、表5為知網(wǎng)發(fā)布的“情感分析用詞語集(beta版)”,共12個(gè)文件.其中“中文情感分析用詞語集”與“英文情感分析用詞語集”各6個(gè),一共包含詞語 17887個(gè).文件中已經(jīng)將根據(jù)情感傾向分為6類,分別為“正面評價(jià)”詞語、“負(fù)面評價(jià)”詞語、“正面情感”詞語、“負(fù)面情感”詞語、“主張” 詞語、“程度級別”詞語.

      2.1.1 情感詞

      情感詞,是主體對于某一客體表示內(nèi)在評價(jià)的詞語,帶有強(qiáng)烈的情感色彩.情感詞有兩個(gè)屬性:情感極性(Emotional polarity)和強(qiáng)度(intensity),其中情感極性又分為正向情感、中性情感和負(fù)向情感,見表4.正向情感和負(fù)向情感分別賦值2分和-2分.

      表4 情感詞Table 4 Emotional words

      2.1.2 程度副詞

      程度副詞是對一個(gè)形容詞或者副詞在程度上加以限定或修飾的副詞,其本身沒有情感傾向性,但被程度副詞修飾的情感詞的情感強(qiáng)度會被程度副詞影響.如果忽略程度副詞對情感詞的影響,即使文本的傾向性不變,但情感傾向性的強(qiáng)度一定會有所偏差.程度副詞及權(quán)值見表5.

      表5 程度副詞及權(quán)值Table 5 Degree adverbs and weights

      2.1.3 否定詞

      否定詞本身沒有情感傾向性,但否定詞能夠改變情感的傾向性,知網(wǎng)給出的詞集中沒有否定詞集,本文對日常使用的一些常用的否定詞做了匯總并將其構(gòu)建為否定詞詞典:

      沒 沒有 不 不要 不曾 毋 非 莫 弗 勿 否 別 無 休 無 難以 未 未曾 未必

      2.2 設(shè)計(jì)計(jì)分方法

      計(jì)分方法如下:

      (1)如果某語句中有情感詞,那么該語句的情感得分為:

      Score=Emotional polarity×intensity

      (2)如果情感詞前有程度副詞,那么該語句的情感得分將受程度副詞的影響,得分為:

      Score=Score×weight

      (3)如果情感詞前有否定詞,否定詞能改變語句的極性,此時(shí)的情感得分為:

      Score=-Score

      這里將(2)中的情感得分加負(fù)號是因?yàn)榉穸ㄔ~會改變語義的極性.如:“開心”,“不開心”,多了一個(gè)“不”字,整個(gè)句子的傾向性就變得完全相反了.

      (4)當(dāng)一個(gè)句子中同時(shí)出現(xiàn)否定詞和程度副詞時(shí),依次根據(jù)否定詞與程度副詞出現(xiàn)的先后順序計(jì)算得分.

      3 情感傾向性分析過程

      利用基于HMM的維特比算法對“這樣的酒店配這樣的價(jià)格著實(shí)不錯(cuò),我很滿意!”這句話進(jìn)行中文分詞并且去除停用詞,即得到:

      酒店/配/價(jià)格/著實(shí)/不錯(cuò),很/滿意

      依次將處理后得到的單詞與知網(wǎng)情感詞典進(jìn)行逐個(gè)查找,如果能找到,則是情感詞,記錄該情感詞的位置,表示為(詞語位置,情感詞,得分).然后以每個(gè)情感詞為基準(zhǔn),向前依次尋找程度副詞、否定詞,并作相應(yīng)分值計(jì)算.隨后對分句中每個(gè)情感詞的得分作求和運(yùn)算.每個(gè)句子的得分再求和即得到文章的情感得分,根據(jù)分值即可分析情感傾向性.

      得分計(jì)算過程如下:

      (1)依次從左至右掃描詞語,得到情感詞“不錯(cuò)”,得分+2并記錄詞語位置,(5,“不錯(cuò)”,2).

      向前依次尋找否定詞或程度副詞,找到一個(gè)程度副詞“著實(shí)”,該程度副詞的權(quán)值為1.3,計(jì)算得分1.3×2=2.6 ,更新情感得分為:(5,“著實(shí)”,2.6 ).

      (2)從第5個(gè)詞繼續(xù)向后掃描詞語,得到情感詞“滿意”,得分+2并記錄詞語位置,(7,“滿意”,2 ).

      (3)從位置7向前尋找否定詞或程度副詞,找到一個(gè)程度副詞“很”,該程度副詞的權(quán)值為1.3,計(jì)算得分 1.3×2=2.6 ,更新情感得分為:(7,“滿意”,2.6 ).

      (4)然后從第7個(gè)位置向后尋找情感詞,直至結(jié)束.

      最終這個(gè)句子的情感得分為2.6+2.6=5.2 ,為正向情感.

      4 實(shí)驗(yàn)結(jié)果與分析

      文章主要研究的是怎樣判斷文本的情感傾向性.重點(diǎn)介紹了如何進(jìn)行中文分詞,以及計(jì)算情感得分的方法,并通過得分來判斷情感的傾向性.通過實(shí)驗(yàn)驗(yàn)證了算法的有效性.實(shí)驗(yàn)利用Python爬取的新浪微博文章進(jìn)行測試,共計(jì)200篇文章,得分分布情況如圖1所示,情感傾向匯總?cè)鐖D2所示.

      圖1 情感得分分布Fig.1 Emotional score distribution

      圖2 情感傾向匯總Fig.2 Summary of emotional tendencies

      由圖2可知:正向情感128篇,中性情感20篇,負(fù)向情感52篇.實(shí)驗(yàn)表明:通過基于HMM的維特比算法以及基于情感詞典的情感傾向性分析方法,能有效判斷微博文本的情感傾向性,這為未來微博輿情分析提供了有效方法.

      5 結(jié) 論

      采用基于情感詞典的情感傾向性分析方法,有效利用了詞典中各個(gè)詞語之間的語義聯(lián)系,挖掘出情感詞,得到大量的情感詞語.但是隨著科技的發(fā)展,情感的表達(dá)方式多種多樣,比如利用表情或者符號等,因此,不能只靠單純的文本分析方法確定文章中所有情感的傾向性.未來對于這一方面還要做出很多改進(jìn),完善情感詞典,利用標(biāo)點(diǎn)符號或表情符號等改進(jìn)計(jì)分策略.

      猜你喜歡
      傾向性維特馬爾可夫
      詩意街頭
      中外文摘(2022年8期)2022-05-17 09:13:36
      基于模糊數(shù)學(xué)法的阿舍勒銅礦深部巖體巖爆傾向性預(yù)測
      長安鈴木維特拉
      保費(fèi)隨機(jī)且?guī)в屑t利支付的復(fù)合馬爾可夫二項(xiàng)模型
      關(guān)于醫(yī)患沖突報(bào)道的傾向性分析——以“湘潭產(chǎn)婦死亡案”為例
      基于SOP的核電廠操縱員監(jiān)視過程馬爾可夫模型
      改變!拉力賽版維特拉
      越玩越野(2015年2期)2015-08-29 01:05:06
      “沒準(zhǔn)兒”“不一定”“不見得”和“說不定”的語義傾向性和主觀性差異
      語言與翻譯(2015年4期)2015-07-18 11:07:43
      應(yīng)用馬爾可夫鏈對品牌手機(jī)市場占有率進(jìn)行預(yù)測
      一種面向博客群的主題傾向性分析模型
      南丹县| 文山县| 上栗县| 陇西县| 博客| 台湾省| 三明市| 堆龙德庆县| 鲁山县| 临武县| 岳普湖县| 柘城县| 高台县| 鄂州市| 湟中县| 浏阳市| 建始县| 彩票| 灌南县| 犍为县| 兰考县| 榕江县| 江北区| 吴川市| 泸州市| 保定市| 兴化市| 巨鹿县| 山西省| 秦皇岛市| 遵义县| 宝应县| 高雄县| 鄂伦春自治旗| 南宁市| 鹿泉市| 凤庆县| 晋中市| 滁州市| 平凉市| 桦川县|