1. 程式人生 > >Python 文字挖掘:使用機器學習方法進行情感分析(一、特徵提取和選擇)

Python 文字挖掘:使用機器學習方法進行情感分析(一、特徵提取和選擇)

def create_word_bigram_scores():

posdata = pickle.load(open('D:/code/sentiment_test/pos_review.pkl','r')) negdata = pickle.load(open('D:/code/sentiment_test/neg_review.pkl','r')) posWords = list(itertools.chain(*posdata)) negWords = list(itertools.chain(*negdata)) bigram_finder = BigramCollocationFinder.from_words(posWords) bigram_finder = BigramCollocationFinder.from_words(negWords) posBigrams = bigram_finder.nbest(BigramAssocMeasures.chi_sq, 5000) negBigrams = bigram_finder.nbest(BigramAssocMeasures.chi_sq, 5000) pos = posWords + posBigrams #詞和雙詞搭配 neg = negWords + negBigrams word_fd = FreqDist() cond_word_fd = ConditionalFreqDist() for word in pos: word_fd.inc(word) cond_word_fd['pos'].inc(word) for word in neg: word_fd.inc(word) cond_word_fd['neg'].inc(word) pos_word_count = cond_word_fd['pos'].N() neg_word_count = cond_word_fd['neg'].N() total_word_count = pos_word_count + neg_word_count word_scores = {} for word, freq in word_fd.iteritems(): pos_score = BigramAssocMeasures.chi_sq(cond_word_fd['pos'][word], (freq, pos_word_count), total_word_count) neg_score = BigramAssocMeasures.chi_sq(cond_word_fd['neg'][word], (freq, neg_word_count), total_word_count) word_scores[word] = pos_score + neg_score return word_scores

相關推薦

Python 文字挖掘使用機器學習方法進行情感分析特徵提取選擇

def create_word_bigram_scores(): posdata = pickle.load(open('D:/code/sentiment_test/pos_review.pkl','r')) negdata = pickle.load(open('D:/code/senti

基於機器學習的NLP情感分析---- 分類問題

基於機器學習的NLP情感分析(二)—- 分類問題 前文提到了如何把一個文字轉換為相應的詞向量,本文討論的是如何進行分類。 feature相關性 首先,需要看看我之前選出來的feature,是否能夠滿足需求。 這裡其實有很多引數沒有顯示出來

Python 文字挖掘使用gensim進行文字相似度計算

index = similarities.MatrixSimilarity(corpus_tfidf)#把所有評論做成索引 sims = index[vec_tfidf]#利用索引計算每一條評論和商品描述之間的相似度 similarity = list(sims)#把相似度儲存成陣列,以便寫入txt 文件

新聞上的文字分類:機器學習大亂鬥 王嶽王院長 王嶽王院長 5 個月前 目標 從頭開始實踐中文短文字分類,記錄一下實驗流程與遇到的坑 運用多種機器學習(深度學習 + 傳統機器學習)方法比較短文字分類處

目標 從頭開始實踐中文短文字分類,記錄一下實驗流程與遇到的坑 運用多種機器學習(深度學習 + 傳統機器學習)方法比較短文字分類處理過程與結果差別工具 深度學習:keras 傳統機器學習:sklearn參與比較的機器學習方法 CNN 、 CNN + word2vec LSTM 、 LSTM + word

自然語言處理系列-2-文字分類-傳統機器學習方法

文件分類是指給定文件p(可能含有標題t),將文件分類為n個類別中的一個或多個,本文以人機寫作為例子,針對有監督學習簡單介紹傳統機器學習方法。 文件分類的常見應用: 新聞分類: 也就是給新聞打標籤,一般標籤有幾千個,然後要選取k個標籤,多分類問題,可見2017知乎

Python 文字挖掘jieba中文分詞詞性標註

#! /usr/bin/env python2.7 #coding=utf-8 import jieba import jieba.posseg #需要另外載入一個詞性標註模組 string = '其實大家買手機就是看個心情,沒必要比來比去的。' seg = jieba.posseg.cut(string

機器學習演算法的Python實現 (1)logistics迴歸 與 線性判別分析LDA

本文為筆者在學習周志華老師的機器學習教材後,寫的課後習題的的程式設計題。之前放在答案的博文中,現在重新進行整理,將需要實現程式碼的部分單獨拿出來,慢慢積累。希望能寫一個機器學習演算法實現的系列。 本文主要包括: 1、logistics迴歸 2、線性判別分析(LDA) 使

搜狐新聞文字分類機器學習大亂鬥

目標從頭開始實踐中文短文字分類,記錄一下實驗流程與遇到的坑運用多種機器學習(深度學習 + 傳統機器學習)方法比較短文字分類處理過程與結果差別工具深度學習:keras傳統機器學習:sklearn參與比較的機器學習方法CNN 、 CNN + word2vecLSTM 、 LSTM + word2vecMLP(多層

Python 新手實戰之機器學習實現簡單驗證碼識別()用PIL簡單繪製驗證碼

驗證碼生成 from PIL import Image, ImageDraw, ImageFont import random, os def draw(): #隨機生成背景顏色 (RGB顏色範圍為0-255,越高越接近白色),背景顏色不宜過深,

第11章使用Apriori演算法進行關聯分析從頻繁項集中挖掘關聯規則

原理: 根據頻繁項集找關聯規則,如有一個頻繁項集{豆奶,萵苣},那麼可能有一條關聯規則是豆奶->萵苣,即一個人購買了豆奶,則大可能他會購買萵苣,但反過來一個人購買了萵苣,不一定他會購買豆奶,頻繁項集使用支援度量化,關聯規則使用可信度或置信度量化。一條規則P->H的可信度定義為支援

未明學院活動機器學習熱門專案開始報名,次收穫資料探勘&機器學習技能行業專案經歷!

隨著大資料時代的到來,金融、通訊、網際網路等越來越多的行業需要資料科學方面的人才。在數聯尋英2016年釋出的《大資料人才報告》中表明,現階段我國大資料人才僅有 46 萬,在未來 3-5 年內大資料人才缺口將高達 150 萬。 缺口的逐漸增大,大資料人才的薪資也跟著水漲船高。據某權威招聘

科學蹭熱點python獲取熱門微博評論並進行情感分析

在我埋頭學習mysql、scrapy、django準備下一波吹水的時候,有人說,你去爬下老薛的微博呀,還能蹭個熱點,這讓勤(mo)奮(mo)學(kou)習(jiao)的我停下了寄幾敲程式碼的手。 然後我趕緊去關注了一下最近老薛的新聞…在感受了劇情的複雜和案情的撲朔迷離之後…我默默地學習瞭如

Python機器學習依賴庫的安裝numpyscipysklearn

說到機器學習,相信大部分的研究者都是使用python來完成的,因為是實在太方便了,幾行程式碼就搞定了,比較前人做的研究都積累在那邊,所以今天我又重新安裝了python(還不是因為要做機器學習方面的實驗和luwn論文),so開始吧! 1、常用Python機器學習包 Numpy:用於科學計算的包

機器學習如何進行誤差分析

前言 在上一篇文章如何快速提高機器學習模型的效能中我們介紹了只要當你的模型效能比人類水平要低的時候,就可以通過人工誤差分析來提高模型的效能,誤差分析是指通過人工來檢查模型預測錯誤的資料,來幫助你判斷下一

讀書筆記機器學習實戰(5)——章6的支援向量機程式碼個人理解與註釋

時隔好久,前幾章部落格是去年看的時候寫的,後來只看書沒有繼續寫,再後來忙著專案,連書都很少看了。然後是忙完專案後的空白期的瘋狂看書,看了很多資料結構演算法,設計模式,程式碼整潔,專案可重構方面的書。年後重新把《機器學習實戰》後面的章節讀完,現在開始整理筆記。

少說話多寫程式碼之Python學習032——迴圈語句02如何迭代-排序反轉

引入兩個函式,排序和反轉,它們作用於序列上,並不修改原序列的值,只是返回排序後或反轉後的值。 下面看看具體的使用, 對序列排序,可以根據指定條件升序和降序排序。具體函式使用可自行查詢。 s=[23,17,31,7,11] sa = sorted(s,reverse=False) print(

如何使用python對資料夾中的檔案進行批量改名改字串欄位

【時間】2018.10.12 【題目】如何使用python對資料夾中的檔案進行批量改名(增、刪、改字串欄位)   【問題描述】今天需要對資料夾中的檔案進行批量改名,主要是因為名字中多出了自己不想要的字元段“data”想要將其刪除。這裡便以刪除名字中的字元段為例,至於增、改道理類

機器學習實戰--酒店情感分析分類

Python爬蟲人工智慧大資料(公眾號) 資料集: 正面評價:2000_pos.txt 商務大床房,房間很大,床有2M寬,整體感覺經濟實惠不錯! 早餐太差,無論去多少人,那邊也不加食品的。酒店應該重視一下這個問題了。 賓館在小街道上,不大好找,但還好北京熱心同胞很多~ 前臺

第11章使用Apriori演算法進行關聯分析計算頻繁項集

目的:找到資料集中事務的關係,如超市中經常一起出現的物品集合,想找到支援度超過0.8的所有項集 概念: 頻繁項集:指經常出現在一起的物品集合; 關聯規則:指兩個物品之間可能存在很強的關係,如一個人買了什麼之後很大可能會買另一種東西; 支援度:資料集中包含該項集的記錄所佔的比例;保

機器學習中 常見問題彙總

深度學習框架TensorFlow中都有哪些優化方法? 梯度下降演算法針對凸優化問題原則上是可以收斂到全域性最優的,因為此時只有唯一的區域性最優點。而實際上深度學習模型是一個複雜的非線性結構,一般屬於非凸問題,這意味著存在很多區域性最優點(鞍點),採用梯度下降演算法可能會陷入