• 
    

    
    

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

      基于樸素貝葉斯模型的評(píng)論文本情感分析

      2021-12-13 07:31:46周曉蘭戴香平陳洪龍
      科學(xué)技術(shù)創(chuàng)新 2021年33期
      關(guān)鍵詞:貝葉斯詞典分類

      周曉蘭 戴香平 陳洪龍

      (湖南科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院,湖南湘潭 411201)

      情感分析(Sentiment Analysis)是自然語(yǔ)言處理( Natural Language Processing , NLP )領(lǐng)域中的一個(gè)重要分支。文本情感分析關(guān)鍵是分析一組文本以理解其所表達(dá)的觀點(diǎn),一般使用正值或負(fù)值量化文本所表達(dá)的情緒。近年來(lái),基于網(wǎng)絡(luò)平臺(tái)文本評(píng)論的情感分析越來(lái)越多,論文針對(duì)實(shí)時(shí)發(fā)送的文本數(shù)據(jù)使用樸素貝葉斯模型,對(duì)獲得的文本數(shù)據(jù),利用SnowNLP 進(jìn)行情感分析,得出分析結(jié)果。

      1 相關(guān)研究技術(shù)

      1.1 文本情感分析

      文本情感分析致力于將單詞、句子和文檔映射到一組相對(duì)應(yīng)的情感類別上,繼而得到一個(gè)可用于劃分情感狀態(tài)的心理學(xué)模型。[1]近年來(lái),深度神經(jīng)網(wǎng)絡(luò)取得了極大的進(jìn)展,各個(gè)主流領(lǐng)域,包括圖像分類、機(jī)器翻譯、自然語(yǔ)言處理、語(yǔ)音識(shí)別等,均依賴于深度學(xué)習(xí)技術(shù)提供的高層語(yǔ)義特征及分類方法。

      1.2 SnowNLP 類庫(kù)

      SnowNLP 是適用于中文自然語(yǔ)言處理的Python 類庫(kù),專門針對(duì)中文文本進(jìn)行挖掘,主要可以進(jìn)行中文分詞、詞性標(biāo)注、情感分析、文本分類、轉(zhuǎn)換拼音、繁體轉(zhuǎn)簡(jiǎn)體、提取文本關(guān)鍵詞、提取摘要、分割句子、文本相似。[2]SnowNLP 類庫(kù)中存在已經(jīng)訓(xùn)練好的模型,因此,在實(shí)際使用的過(guò)程中,用戶需要根據(jù)實(shí)際情況,重新訓(xùn)練模型。在重新訓(xùn)練模型的時(shí)候,必須修改調(diào)用模型的位置。

      1.3 樸素貝葉斯模型

      樸素貝葉斯模型是一種基于貝葉斯定理與特征條件獨(dú)立假設(shè)的,非常簡(jiǎn)單、特別有效的分類器,主要應(yīng)用在文本分類、垃圾郵件過(guò)濾、疾病診斷等領(lǐng)域。[3]

      樸素貝葉斯算法具有很多優(yōu)點(diǎn),一是它有著堅(jiān)實(shí)的理論基礎(chǔ);二是在訓(xùn)練和查詢大量數(shù)據(jù)方面效率很高;三是能處理小規(guī)模的數(shù)據(jù);四是即使存在缺失的數(shù)據(jù),對(duì)分析的結(jié)果影響也不大;五是易于進(jìn)行文本分類,分類結(jié)果容易被人理解。

      樸素貝葉斯是基于貝葉斯決策理論的分類方法,對(duì)于樸素貝葉斯總是假設(shè)特征之間互不關(guān)聯(lián)。例如對(duì)于c1 和c2 兩個(gè)類別,其特征w1,w2,……,wn 之間是相互獨(dú)立的,根據(jù)貝葉斯公式可知:

      c1 的貝葉斯模型為:

      P(c1w1,w2,……,wn)=P(w1,w2,……,wn|c1)*P(c1)/P(w1, w2,……,wn)

      C2 的貝葉斯模型為:

      P(c2|w1,w2,……,wn)=P(w1, w2,……,wn|c2)*P(c2)/P(w1, w2,……,wn)

      其中:P(w1, w2,……,wn)=P(w1, w2,……,wn|c1)·P(c1)+P(w1, w2,……,wn|c2)·P(c2)。

      貝葉斯模型訓(xùn)練是統(tǒng)計(jì)每一個(gè)特征出現(xiàn)的正類或負(fù)類的頻次,統(tǒng)計(jì)好正類和負(fù)類數(shù)據(jù)就說(shuō)明模型訓(xùn)練完畢。

      貝葉斯模型預(yù)測(cè)是分別求出P (c1|w1,w2, ……,wn)> 和P(c2|w1,w2,……,wn)的值,然后根據(jù)貝葉斯分類準(zhǔn)則判斷。

      如果P(c1|w1,w2,……,wn)> P(c2|w1,w2,……,wn),則屬于c1類;如果P(c1|w1,w2,……,wn)

      2 情感分析

      2.1 情感分析基礎(chǔ)

      情感分析主要采用SnowNLP 中自然語(yǔ)言處理庫(kù)進(jìn)行核心情感分析。情感分析是在評(píng)論文本數(shù)據(jù)獲取完成,且返回了正確的信號(hào)值后,再對(duì)獲得的評(píng)論文本進(jìn)行情感分析。獲取的實(shí)時(shí)評(píng)論文本先是保存在數(shù)據(jù)庫(kù)中,經(jīng)過(guò)情感分析后,將分析的結(jié)果同樣保存在數(shù)據(jù)庫(kù)中,這些打分結(jié)果可以為其他應(yīng)用提供有用的信息。

      2.2 情感分析過(guò)程

      2.2.1 采用樸素貝葉斯模型進(jìn)行分類

      樸素貝葉斯通過(guò)訓(xùn)練數(shù)據(jù)集的條件概率分布P(x|y)來(lái)學(xué)習(xí)聯(lián)合概率。

      首先用先驗(yàn)概率分布和條件概率分布來(lái)替代聯(lián)合概率。

      給定數(shù)據(jù)集:T={(x1,y1),(x2,y2),…,(xN,yN)};

      輸出的類別:yi∈{c1, c2, ...., ck}

      貝葉斯條件概率是指在事件x 發(fā)生的情況下,事件y 發(fā)生的概率,用P(x|y)表示。先預(yù)估計(jì)一個(gè)“先驗(yàn)概率”,然后加入實(shí)驗(yàn)結(jié)果,看這個(gè)實(shí)驗(yàn)到底是增強(qiáng)還是削弱了“先驗(yàn)概率”,由此得到更接近事實(shí)的“后驗(yàn)概率”。

      先驗(yàn)概率分布:

      對(duì)于樸素貝葉斯模型,各個(gè)特征是相不關(guān)聯(lián)的,可以得出條件概率分布:

      各特征之間相互獨(dú)立,后驗(yàn)概率分布:

      根據(jù)分類公式,模型為:

      貝葉斯模型訓(xùn)練的過(guò)程,實(shí)際上是統(tǒng)計(jì)每一個(gè)特征出現(xiàn)的頻次,在SnowNLP 中,貝葉斯模型訓(xùn)練過(guò)程的核心內(nèi)容是sentiment.train()。情感分析結(jié)果寫入數(shù)據(jù)庫(kù)。

      2.2.2 采用SnowNLP 類庫(kù)進(jìn)行情感分析

      SnowNLP 中支持情感分析的模塊在文件夾sentiment 中,其核心代碼在__init__.py。使用snownpl 類庫(kù)進(jìn)行情感分析時(shí),使用到以下重要代碼:

      S=SnowNLP(source_data)

      Result=S.sentiments

      調(diào)用SnowNLP(source_data)創(chuàng)建了一個(gè)SnowNLP 類實(shí)例S,將需要進(jìn)行情感分析的數(shù)據(jù)data,作為參數(shù)(object 類型)傳入函數(shù)。調(diào)用S.sentiments,主要是通過(guò)類實(shí)例調(diào)用該類中的成員方法sentiments(),在該方法中再調(diào)用sentiment 文件中的classify( )方法,而后在classify( )方法中調(diào)用貝葉斯模型,就可以開始情感分析。

      調(diào)用SnowNPL_analysis.analysis()和read_and_analysis()進(jìn)行情感分析,得出分析結(jié)果。

      在進(jìn)行情感分析之前,根據(jù)業(yè)務(wù)需求確定是否要重新訓(xùn)練模型。業(yè)務(wù)場(chǎng)景要求模糊或者和商品評(píng)論的場(chǎng)景相差不大,可以直接使用已訓(xùn)練的模型進(jìn)行簡(jiǎn)單情感分析,這種情況下得到的結(jié)果的準(zhǔn)確度可以達(dá)到要求。如果業(yè)務(wù)場(chǎng)景非常明確,且要求結(jié)果非常準(zhǔn)確,則需要用典型的語(yǔ)料建立語(yǔ)料庫(kù),重新訓(xùn)練模型,進(jìn)行情感分析,以便達(dá)到更好的分析結(jié)果。系統(tǒng)要求分析直播平臺(tái)的彈幕數(shù)據(jù),彈幕數(shù)據(jù)短小精悍,且含有較多網(wǎng)絡(luò)用語(yǔ),場(chǎng)景非常明確,從而需要用直播平臺(tái)典型的語(yǔ)料建立語(yǔ)料庫(kù)(詞典),重新訓(xùn)練模型。

      3 實(shí)驗(yàn)結(jié)果

      通過(guò)模型訓(xùn)練,初步獲得新訓(xùn)練出來(lái)的適用于系統(tǒng)業(yè)務(wù)場(chǎng)景的新模型。為了對(duì)比訓(xùn)練模型與未訓(xùn)練模型的效果,模塊事先預(yù)留了210 條測(cè)試數(shù)據(jù)(存放在Excel 表中),預(yù)留數(shù)據(jù)中122條來(lái)自網(wǎng)絡(luò)上收集的常見的網(wǎng)絡(luò)彈幕用語(yǔ),另外88 條為直播間隨機(jī)獲取的實(shí)時(shí)彈幕數(shù)據(jù)。對(duì)于這210 條數(shù)據(jù)事先都作了人工情感標(biāo)簽標(biāo)注label(消極為-1,積極為1)。

      在測(cè)試中,設(shè)置打分結(jié)果大于或等于0.5 的為“積極”情感,設(shè)置打分小于0.5 的為“消極”情感,把模型情感分析輸出grade值和模型預(yù)測(cè)的情感標(biāo)簽值predict 保存到到測(cè)試數(shù)據(jù)的Excel表中(1 對(duì)應(yīng)“積極”,-1 對(duì)應(yīng)“消極”),同時(shí)比對(duì)grade 和人工標(biāo)注的label 標(biāo)簽相同的比率(比率越高,說(shuō)明準(zhǔn)確率越高)。對(duì)未經(jīng)訓(xùn)練的模型和進(jìn)過(guò)訓(xùn)練的模型進(jìn)行測(cè)試,并保存結(jié)果。未經(jīng)訓(xùn)練模型的測(cè)試結(jié)果如圖1 所示,進(jìn)過(guò)訓(xùn)練模型的測(cè)試結(jié)果如圖2 所示。

      圖1 未經(jīng)訓(xùn)練模型的測(cè)試結(jié)果圖

      圖2 經(jīng)過(guò)訓(xùn)練模型的測(cè)試結(jié)果圖

      2.3 模型訓(xùn)練

      為了模型更加適應(yīng)系統(tǒng)的應(yīng)用場(chǎng)景,系統(tǒng)需要重新訓(xùn)練模型。模型訓(xùn)練采用基于詞典與機(jī)器學(xué)習(xí)相結(jié)合的方式進(jìn)行。對(duì)于文本分類來(lái)說(shuō),訓(xùn)練語(yǔ)料分類的準(zhǔn)確性決定了情感分析結(jié)果的準(zhǔn)確率,從而系統(tǒng)還要求從直播平臺(tái)語(yǔ)境構(gòu)建情感詞典。

      2.3.1 構(gòu)建基礎(chǔ)情感詞典

      訓(xùn)練模塊從相對(duì)成熟的文本詞典基礎(chǔ)上進(jìn)一步拓展情感詞典,內(nèi)容包括現(xiàn)有成熟情感詞典、直播平臺(tái)彈幕語(yǔ)、流行網(wǎng)絡(luò)用語(yǔ)和其他網(wǎng)絡(luò)詞匯。系統(tǒng)最終采用知網(wǎng)情感詞典和搜集的網(wǎng)絡(luò)詞匯作為情感詞典。對(duì)于搜集的網(wǎng)絡(luò)詞匯,需要有人工情感標(biāo)記,另外對(duì)于知網(wǎng)情感詞典和搜集的網(wǎng)絡(luò)詞匯必須去重后才能作為最終的基礎(chǔ)情感詞典。系統(tǒng)對(duì)于最終詞典分出正面情感(正訓(xùn)練樣本)和負(fù)面情感(負(fù)訓(xùn)練樣本),經(jīng)過(guò)整理系統(tǒng)中正面情感詞典和負(fù)面情感詞典分別超過(guò)四千條。

      2.3.2 訓(xùn)練模型

      系統(tǒng)采用貝葉斯模型訓(xùn)練的方法,操作步驟如下:

      第一步,準(zhǔn)備正負(fù)情感分類的樣本,將基礎(chǔ)情感詞典整理成一個(gè)正樣本(保存為積極訓(xùn)練.txt),和一個(gè)負(fù)樣本(保存為消極訓(xùn)練.txt);

      第二步,利用sentiment.train()方法訓(xùn)練新的模型(正樣本和負(fù)樣本作為sentiment.train()的參數(shù)傳入);

      第三步,利用sentiment.save()方法保存最近一次訓(xùn)練的模型;

      第四步,利用最近一次訓(xùn)練的模型進(jìn)行情感分析,注意在采用最近一次訓(xùn)練模型進(jìn)行后續(xù)情感分析時(shí)需要修改訓(xùn)練模型的路徑(即需要正確傳入最近一次訓(xùn)練好的模型位置)。

      在相同的消極測(cè)試樣本下,未訓(xùn)練的模型輸出的情感分析結(jié)果中,predict 字段標(biāo)注的值(1,-1)與人工標(biāo)注的情感標(biāo)簽值(1,-1)有很多是不一致的,即模型的準(zhǔn)確度不高,說(shuō)明沒(méi)有重新訓(xùn)練的模型(采用SnowNLP 自帶的舊模型)是不適用于本直播平臺(tái)的語(yǔ)境的;而在訓(xùn)練過(guò)后,用同樣的方式去分析,就會(huì)發(fā)現(xiàn)label 字段和predict 字段的一致性有很大的提升,積極的測(cè)試樣本同理。

      通過(guò)9000 多條數(shù)據(jù)的訓(xùn)練,在200 多條數(shù)據(jù)的測(cè)試下,未訓(xùn)練時(shí)情感分析的準(zhǔn)確率為57.1%,經(jīng)過(guò)訓(xùn)練的模型情感分析準(zhǔn)確率達(dá)到85.7%。從這個(gè)結(jié)果可以得出:模型訓(xùn)練過(guò)程是有效的。

      從上文可知,初步的訓(xùn)練是有成效的,后續(xù)需要對(duì)模型進(jìn)行持久的訓(xùn)練,才能讓模型情感分析效果越來(lái)越優(yōu)秀。持續(xù)化訓(xùn)練方式為每次進(jìn)行情感分析后,篩選當(dāng)次情感分析打分結(jié)果中小于0.1 的極端負(fù)面評(píng)論,將其自動(dòng)添加入消極訓(xùn)練文本,然后判斷消極訓(xùn)練文本中有無(wú)通過(guò)情感分析新寫入的語(yǔ)料,有則調(diào)用模型訓(xùn)練的方法進(jìn)行一輪模型訓(xùn)練。通過(guò)這種自動(dòng)化的訓(xùn)練機(jī)制,可以隨著系統(tǒng)的持續(xù)運(yùn)行,持續(xù)提升情感分析模型的準(zhǔn)確度。

      結(jié)束語(yǔ)

      從測(cè)試效果可以看出,系統(tǒng)達(dá)到了情感分析效果,但還是存在一定的局限性,由于實(shí)時(shí)獲取在線數(shù)據(jù)的速度較慢、數(shù)量不夠豐富,導(dǎo)致整體效率和效果理想;另外,樸素貝葉斯模型存在一定的問(wèn)題,比如,在模型中進(jìn)行分類決策時(shí)有差錯(cuò)率;對(duì)輸入數(shù)據(jù)的形式要求較高;它使用了樣本獨(dú)立性假設(shè),但在人們的實(shí)際生活中,樣本的屬性其實(shí)是相關(guān)聯(lián)的。

      當(dāng)前網(wǎng)絡(luò)文本挖掘的研究發(fā)展迅速,其中網(wǎng)絡(luò)評(píng)論情感分析這個(gè)技術(shù)領(lǐng)域也十分熱門。隨著情感分析軟件開發(fā)日漸完善,它能夠?qū)崿F(xiàn)對(duì)網(wǎng)絡(luò)直播平臺(tái)評(píng)論(輿論)的正確引導(dǎo)與控制,情感分析領(lǐng)域前景非常廣闊。

      猜你喜歡
      貝葉斯詞典分類
      分類算一算
      米沃什詞典
      文苑(2019年24期)2020-01-06 12:06:50
      分類討論求坐標(biāo)
      數(shù)據(jù)分析中的分類討論
      評(píng)《現(xiàn)代漢語(yǔ)詞典》(第6版)
      教你一招:數(shù)的分類
      詞典例證翻譯標(biāo)準(zhǔn)探索
      貝葉斯公式及其應(yīng)用
      基于貝葉斯估計(jì)的軌道占用識(shí)別方法
      一種基于貝葉斯壓縮感知的說(shuō)話人識(shí)別方法
      電子器件(2015年5期)2015-12-29 08:43:15
      阳新县| 饶河县| 长顺县| 罗江县| 波密县| 元氏县| 大港区| 曲靖市| 阿拉尔市| 通海县| 辰溪县| 义乌市| 枞阳县| 荥经县| 法库县| 西峡县| 湘潭市| 丹东市| 渝北区| 安龙县| 绥江县| 乌什县| 常山县| 乐山市| 朝阳市| 尼勒克县| 绍兴县| 龙南县| 乌拉特前旗| 客服| 怀集县| 民权县| 城市| 定远县| 凤庆县| 石城县| 什邡市| 汾阳市| 罗源县| 十堰市| 铁岭市|