0
雷鋒網(wǎng)按:本文作者 RobTomb,原載于作者個人博客,雷鋒網(wǎng)經(jīng)授權(quán)發(fā)布。
相對于「 基于詞典的分析 」,「 基于機器學習 」的就不需要大量標注的詞典,但是需要大量標記的數(shù)據(jù),比如:
還是下面這句話,如果它的標簽是:
服務質(zhì)量 - 中 (共有三個級別,好、中、差)
╮(╯-╰)╭,其是機器學習,通過大量已經(jīng)標簽的數(shù)據(jù)訓練出一個模型,
然后你在輸入一條評論,來判斷標簽級別
寧馨的點評 國慶活動,用62開頭的信用卡可以6.2元買一個印有銀聯(lián)卡標記的冰淇淋,
有香草,巧克力和抹茶三種口味可選,我選的是香草口味,味道很濃郁。
另外任意消費都可以10元買兩個馬卡龍,個頭雖不是很大,但很好吃,不是很甜的那種,不會覺得膩。
標簽:服務質(zhì)量 - 中
假設對于某個數(shù)據(jù)集,隨機變量C表示樣本為C類的概率,F(xiàn)1表示測試樣本某特征出現(xiàn)的概率,套用基本貝葉斯公式,則如下所示:
上式表示對于某個樣本,特征F1出現(xiàn)時,該樣本被分為C類的條件概率。那么如何用上式來對測試樣本分類呢?
舉例來說,有個測試樣本,其特征F1出現(xiàn)了(F1=1),那么就計算P(C=0|F1=1)和P(C=1|F1=1)的概率值。前者大,則該樣本被認為是0類;后者大,則分為1類。
對該公示,有幾個概念需要熟知:
先驗概率(Prior)。P(C)是C的先驗概率,可以從已有的訓練集中計算分為C類的樣本占所有樣本的比重得出。
證據(jù)(Evidence)。即上式P(F1),表示對于某測試樣本,特征F1出現(xiàn)的概率。同樣可以從訓練集中F1特征對應樣本所占總樣本的比例得出。
似然(likelihood)。即上式P(F1|C),表示如果知道一個樣本分為C類,那么他的特征為F1的概率是多少。
對于多個特征而言,貝葉斯公式可以擴展如下:
分子中存在一大串似然值。當特征很多的時候,這些似然值的計算是極其痛苦的?,F(xiàn)在該怎么辦?
為了簡化計算,樸素貝葉斯算法做了一假設:“樸素的認為各個特征相互獨立”。這么一來,上式的分子就簡化成了:
P(C)P(F1|C)P(F2|C)...P(Fn|C)。
這樣簡化過后,計算起來就方便多了。
這個假設是認為各個特征之間是獨立的,看上去確實是個很不科學的假設。因為很多情況下,各個特征之間是緊密聯(lián)系的。然而在樸素貝葉斯的大量應用實踐實際表明其工作的相當好。
其次,由于樸素貝葉斯的工作原理是計算P(C=0|F1...Fn)和P(C=1|F1...Fn),并取最大值的那個作為其分類。而二者的分母是一模一樣的。因此,我們又可以省略分母計算,從而進一步簡化計算過程。
另外,貝葉斯公式推導能夠成立有個重要前期,就是各個證據(jù)(evidence)不能為0。也即對于任意特征Fx,P(Fx)不能為0。而顯示某些特征未出現(xiàn)在測試集中的情況是可以發(fā)生的。因此實現(xiàn)上通常要做一些小的處理,例如把所有計數(shù)進行+1(加法平滑 additive smoothing,又叫拉普拉斯平滑 Laplace smothing)。而如果通過增加一個大于 0 的可調(diào)參數(shù) alpha 進行平滑,就叫 Lidstone 平滑。
原始數(shù)據(jù)集,只抽了10條
讀取excel文件,用的pandas庫的DataFrame的數(shù)據(jù)類型
對每個評論分詞,分詞的同時去除停用詞,得到如下詞表
每個列表是與評論一一對應的
這里統(tǒng)計什么呢?統(tǒng)計兩種數(shù)據(jù)
1. 評論級別的次數(shù)
這里有三個級別分別對應
c0 → 好 2
c1 → 中 3
c2 → 差 5
2. 每個詞在句子中出現(xiàn)的次數(shù)
得到一個字典數(shù)據(jù)
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分別對應好,中,差
以上工作完成之后,就是把模型訓練好了,只不過數(shù)據(jù)越多越準確
比如輸入一個句子
世紀聯(lián)華(百聯(lián)西郊購物中心店)的點評 一個號稱國際大都市,收銀處的人服務態(tài)度差到極點。銀聯(lián)活動30-10,還不可以連單。
得到結(jié)果
c2-差
相關(guān)代碼的 GitHub 地址:
雷鋒網(wǎng)相關(guān)閱讀:
睡前兩小時打字最活躍,搜狗大數(shù)據(jù)通過機器學習分析你的網(wǎng)絡行為
雷峰網(wǎng)原創(chuàng)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。