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