聊一聊snownlp源代码中的朴素贝叶斯分类原理
建议拿出小本本,写写画画便于理解
一、情感分析任务
简单来说,给一句话,运用情感分析,判断这句话是积极态度亦或是消极态度,并给出态度的度。(入门阶段我就不研究太高深的啦~)
那么要怎么完成这个任务呢?可以分为一下几个阶段(措辞不够专业,主要是为了简单易懂):
前面两项另写了文章,本篇主要讲结果分类
二、分类原理
首先理解一下贝叶斯分类原理,下面根据该原理做情感分类。
现假设:
所有的句子可以分类两类:积极态度(c1)、消极态度(c2).
一个句子有特征w1,w2,...,wn,这n个特征相互独立.
对于情感分类任务中特征w1,w2,...,wn分别代表该句子中对应的单词
-
由朴素贝叶斯分类器原理P(c1|w1,w2,…,wn) = (P(w1,w2,…,wn|ci) × P(ci)) / (P(w1,w2,…,wn))
-
具有w1,w2,…,wn特征的句子属于ci类的概率 = 【1】 / 【2】
【1】= 如果句子是类ci,那么该句子具有w1,w2,…,wn特征的概率 × 句子是类c1的概率
【2】 = 句子具有w1,w2,…,wn特征的概率 而由全概率公式P(B) = P(B|A)P(A) + P(B|A’)P(A’)
-
句子具有w1,w2,…,wn特征的概率 = 【3】 + 【4】
【3】 = 如果句子是c1类,那么该句子具有w1,w2,…,wn特征的概率 × 句子是类c1的概率
【4】 = 如果句子是c2类,那么该句子具有w1,w2,…,wn特征的概率 × 句子是类c2的概率 综上
- 具有w1,w2,…,wn特征的句子属于ci类的概率 = 【1】 / (【3】 + 【4】) 将上述讲解转换成公式
- P(c1|w1,w2,…,wn) = [P(w1,w2,…,wn|c1) × P(c1)] / [P(w1,w2,…,wn|c1) × P(c1) + P(w1,w2,…,wn|c2) × P(c2) ] 对公式化简 参考
-