基于詞典的情感分析——簡單實例

? ? ? ?基于詞典的情感分析方法非常容易被理解,主要利用情感詞判斷一句話或者一篇文章的情感傾向,下面的程序利用BosonNLP情感詞典(從https://bosonnlp.com/dev/resource?下載情感詞典)計算情感傾向。在BosonNLP情感詞典中,每個詞有一個情感極性得分。得分大于0,表示為正向情感傾向,得分越高,傾向越強;得分小于0,表示為負向情感傾向,得分越低,傾向越強。

——————————————————————————————————

import re

import jieba# pip install jieba==0.39

class DictBasedSentAnal:

def __init__(self):

self.__root_dir ='dict/'

? ? ? ? self.__sent_dict__ =self.__read_dict(self.__root_dir+'BosonNLP_sentiment_score.txt')

def analyse(self, sentence):

score =0.0

? ? ? ? for wordsin jieba.cut(sentence):

score +=self.__sent_dict__.get(words, 0)

return score

@staticmethod

? ? def __read_dict(path, encoding='utf-8'):

sent_dict = {}

with open(path, encoding=encoding)as input_file:

for linein input_file:

array = re.split('\s+', line.strip())

if len(array) ==2:

sent_dict[array[0]] =float(array[1])

return sent_dict

if __name__ =='__main__':

sentAnal = DictBasedSentAnal()

print('情感得分\t' +'%.2f' % sentAnal.analyse('這個時候反應太慢了!'))

print('情感得分\t' +'%.2f' % sentAnal.analyse('這本書真好,內容特別精彩。'))

——————————————————————————————————

輸出結果:

情感得分 -1.56

情感得分 7.11

——————————————————————————————————

? ? ? ?從上面的例子,可以看出:“這個時候反應太慢了!”判斷為負向情感傾向,“這本書真好,內容特別精彩。”判斷為正向情感傾向,這與我們的認知一致。雖然基于詞典的情感分析方法比較簡單,但是在實際中也證明有價值。以上實現還比較簡答,還有很大的改進空間。

來源:基于詞典的情感分析——簡單實例 - 嘉陵長風

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • jieba分詞,學習,為了全面了解該模塊,,預設學習路線:官方文檔——優秀博客文章——實踐學習 官方文檔部分 (文...
    竹林徒兒閱讀 4,215評論 1 12
  • 情感傾向可認為是主體對某一客體主觀存在的內心喜惡,內在評價的一種傾向。它由兩個方面來衡量:一個情感傾向方向,一個是...
    mlion閱讀 2,497評論 1 11
  • 大一,聽著指揮幫桌椅,搬各種物資,就覺得很累,但是看晚會很開心?? 大二,準備好幾十個帳篷和100多套桌椅分配給各個...
    bd4ecc9147dd閱讀 188評論 0 0
  • 我是一所私立中學的歷史教師,大學畢業后,便在遠離故鄉的一所中學任教。今年是我工作后的第一個暑假。老家的母親早已催促...
    子木先生的閱讀 317評論 0 3
  • 清晨有白色大霧,終于不是霧霾,純白色的霧氣,有著時光的印記,青色的小麥和農作物都染上了一層白霜,一輪橙紅色的...
    隨入夢深閱讀 180評論 0 0