詳解基於樸素貝葉斯的情感分析及Python實現
AI 研習社按:本文作者 RobTomb,原載於作者個人博客,AI 研習社經授權發布。
相對於「 基於詞典的分析 」,「 基於機器學習 」的就不需要大量標註的詞典,但是需要大量標記的數據,比如:
還是下面這句話,如果它的標籤是:
服務質量 - 中 (共有三個級別,好、中、差)
╮(╯-╰)╭,其是機器學習,通過大量已經標籤的數據訓練出一個模型,
然後你在輸入一條評論,來判斷標籤級別
寧馨的點評 國慶活動,用62開頭的信用卡可以6.2元買一個印有銀聯卡標記的冰淇淋,
有香草,巧克力和抹茶三種口味可選,我選的是香草口味,味道很濃郁。
另外任意消費都可以10元買兩個馬卡龍,個頭雖不是很大,但很好吃,不是很甜的那種,不會覺得膩。
標籤:服務質量 - 中
樸素貝葉斯
1、貝葉斯定理
假設對於某個數據集,隨機變數C表示樣本為C類的概率,F1表示測試樣本某特徵出現的概率,套用基本貝葉斯公式,則如下所示:
上式表示對於某個樣本,特徵F1出現時,該樣本被分為C類的條件概率。那麼如何用上式來對測試樣本分類呢?
舉例來說,有個測試樣本,其特徵F1出現了(F1=1),那麼就計算P(C=0|F1=1)和P(C=1|F1=1)的概率值。前者大,則該樣本被認為是0類;後者大,則分為1類。
對該公示,有幾個概念需要熟知:
先驗概率(Prior)。P(C)是C的先驗概率,可以從已有的訓練集中計算分為C類的樣本占所有樣本的比重得出。
證據(Evidence)。即上式P(F1),表示對於某測試樣本,特徵F1出現的概率。同樣可以從訓練集中F1特徵對應樣本所佔總樣本的比例得出。
似然(likelihood)。即上式P(F1|C),表示如果知道一個樣本分為C類,那麼他的特徵為F1的概率是多少。
對於多個特徵而言,貝葉斯公式可以擴展如下:
分子中存在一大串似然值。當特徵很多的時候,這些似然值的計算是極其痛苦的。現在該怎麼辦?
2、樸素的概念
為了簡化計算,樸素貝葉斯演算法做了一假設:「樸素的認為各個特徵相互獨立」。這麼一來,上式的分子就簡化成了:
P(C)P(F1|C)P(F2|C)...P(Fn|C)。
這樣簡化過後,計算起來就方便多了。
這個假設是認為各個特徵之間是獨立的,看上去確實是個很不科學的假設。因為很多情況下,各個特徵之間是緊密聯繫的。然而在樸素貝葉斯的大量應用實踐實際表明其工作的相當好。
其次,由於樸素貝葉斯的工作原理是計算P(C=0|F1...Fn)和P(C=1|F1...Fn),並取最大值的那個作為其分類。而二者的分母是一模一樣的。因此,我們又可以省略分母計算,從而進一步簡化計算過程。
另外,貝葉斯公式推導能夠成立有個重要前期,就是各個證據(evidence)不能為0。也即對於任意特徵Fx,P(Fx)不能為0。而顯示某些特徵未出現在測試集中的情況是可以發生的。因此實現上通常要做一些小的處理,例如把所有計數進行+1(加法平滑additive smoothing,又叫拉普拉斯平滑Laplace smothing)。而如果通過增加一個大於 0 的可調參數 alpha 進行平滑,就叫Lidstone 平滑。
基於樸素貝葉斯的情感分類
原始數據集,只抽了10條
讀數據
讀取excel文件,用的pandas庫的DataFrame的數據類型
分詞
對每個評論分詞,分詞的同時去除停用詞,得到如下詞表
每個列表是與評論一一對應的
統計
這裡統計什麼呢?統計兩種數據
1. 評論級別的次數
這裡有三個級別分別對應
c0 好 2
c1 中 3
c2 差 5
2. 每個詞在句子中出現的次數
得到一個字典數據
evalation [2, 5, 3]
半價 [0, 5, 0]
划算 [1, 1, 0]
不錯 [0, 2, 0]
·········
不滿 [0, 1, 0]
重要 [0, 1, 0]
清楚 [0, 1, 0]
具體 [0, 1, 0]
每個詞(特徵)後的 list坐標位:0,1,2分別對應好,中,差
以上工作完成之後,就是把模型訓練好了,只不過數據越多越準確
測試
比如輸入一個句子
世紀聯華(百聯西郊購物中心店)的點評 一個號稱國際大都市,收銀處的人服務態度差到極點。銀聯活動30-10,還不可以連單。
得到結果
c2-差
---------------------------
來聊聊吧
Python用起來還順手么?
有沒有什麼想吐槽的?
歡迎在評論區分享
點擊展開全文
※專為滲透測試人員設計的Python工具大合集
※用 Python 進行貝葉斯模型建模(1)
※為什麼Python開發越來越火?
※原來Python能做這樣的簡歷
※這些提高Python開發效率的小方法你知道嗎?
TAG:Python |
※Python實現評論情感分析案例
※表現自己的想法和情感的Alexandre Monntoya精細的寫實
※美容話題 | Peter Philips 顏色是情感的化身
※利用AllenNLP,百行Python代碼訓練情感分類器
※Marc Grandbois透過色彩豐富的變化,傳達思想和情感
※關於寬恕 About Forgiveness/馴服情感-寬恕與自愛的練習課
※人的情感經驗與存在情境——秘魯畫家Alberto Vargas 經典回顧
※Sn-gram模型及其在情感分析中的應用
※Stella McCartney 以古董織物點出當代懷舊情感
※Ayawawa公司前員工:淺談Ayawawa情感理論
※Craig Green,現代男性情感和內心渴望的先驅探險家
※Ivana Besevic情感肖像——悲傷還有什麼?
※有關於Ayawawa的情感操作
※解構情感教主Ayawawa的事件營銷
※《Eastward》:想在像素遊戲中構建好的情感體驗
※在 Netflix 評論中做情感分析的深度學習模型
※人類情感伴侶 Anki推出Vector智能機器人
※Sarah Moon 將攝影作為一種情感語言
※當代封建情感教主——ayawawa
※生命意象——Susannah Zucker將個人的情感透過雕塑創作呈現