成人av在线资源一区,亚洲av日韩av一区,欧美丰满熟妇乱XXXXX图片,狠狠做五月深爱婷婷伊人,桔子av一区二区三区,四虎国产精品永久在线网址,国产尤物精品人妻在线,中文字幕av一区二区三区欲色
    您正在使用IE低版瀏覽器,為了您的雷峰網賬號安全和更好的產品體驗,強烈建議使用更快更安全的瀏覽器
    此為臨時鏈接,僅用于文章預覽,將在時失效
    人工智能開發者 正文
    發私信給AI研習社
    發送

    0

    詳解基于樸素貝葉斯的情感分析及 Python 實現

    本文作者: AI研習社 2017-07-11 11:37
    導語:基于樸素貝葉斯的情感分類。

    詳解基于樸素貝葉斯的情感分析及 Python 實現

    雷鋒網按:本文作者 RobTomb,原載于作者個人博客,雷鋒網經授權發布。

    相對于「 基于詞典的分析 」,「 基于機器學習 」的就不需要大量標注的詞典,但是需要大量標記的數據,比如:

    還是下面這句話,如果它的標簽是:

    服務質量 - 中 (共有三個級別,好、中、差)

    ╮(╯-╰)╭,其是機器學習,通過大量已經標簽的數據訓練出一個模型,

    然后你在輸入一條評論,來判斷標簽級別

    寧馨的點評 國慶活動,用62開頭的信用卡可以6.2元買一個印有銀聯卡標記的冰淇淋,

    有香草,巧克力和抹茶三種口味可選,我選的是香草口味,味道很濃郁。

    另外任意消費都可以10元買兩個馬卡龍,個頭雖不是很大,但很好吃,不是很甜的那種,不會覺得膩。

    標簽:服務質量 - 中

      樸素貝葉斯

    1、貝葉斯定理

    假設對于某個數據集,隨機變量C表示樣本為C類的概率,F1表示測試樣本某特征出現的概率,套用基本貝葉斯公式,則如下所示:

    詳解基于樸素貝葉斯的情感分析及 Python 實現

    上式表示對于某個樣本,特征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的概率是多少。

    對于多個特征而言,貝葉斯公式可以擴展如下:

    詳解基于樸素貝葉斯的情感分析及 Python 實現

    分子中存在一大串似然值。當特征很多的時候,這些似然值的計算是極其痛苦的。現在該怎么辦?

    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 平滑

    詳解基于樸素貝葉斯的情感分析及 Python 實現

      基于樸素貝葉斯的情感分類

    原始數據集,只抽了10條

    詳解基于樸素貝葉斯的情感分析及 Python 實現

    讀數據

    讀取excel文件,用的pandas庫的DataFrame的數據類型

    分詞

    對每個評論分詞,分詞的同時去除停用詞,得到如下詞表

    每個列表是與評論一一對應的

    詳解基于樸素貝葉斯的情感分析及 Python 實現

    統計

    這里統計什么呢?統計兩種數據

    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-差

    相關代碼的 GitHub 地址:

    http://t.cn/RKfemBM

    雷鋒網相關閱讀:

    手把手教你如何用 Python 做情感分析

    睡前兩小時打字最活躍,搜狗大數據通過機器學習分析你的網絡行為

    雷峰網原創文章,未經授權禁止轉載。詳情見轉載須知

    詳解基于樸素貝葉斯的情感分析及 Python 實現

    分享:
    相關文章

    編輯

    聚焦數據科學,連接 AI 開發者。更多精彩內容,請訪問:yanxishe.com
    當月熱門文章
    最新文章
    請填寫申請人資料
    姓名
    電話
    郵箱
    微信號
    作品鏈接
    個人簡介
    為了您的賬戶安全,請驗證郵箱
    您的郵箱還未驗證,完成可獲20積分喲!
    請驗證您的郵箱
    立即驗證
    完善賬號信息
    您的賬號已經綁定,現在您可以設置密碼以方便用郵箱登錄
    立即設置 以后再說