當前位置:首頁 » 操作系統 » 情感挖掘演算法

情感挖掘演算法

發布時間: 2023-05-11 00:29:28

⑴ 數據挖掘十大經典演算法之樸素貝葉斯

樸素貝葉斯,它是一種簡單但極為強大的預測建模演算法。之所以稱為樸素貝葉斯,**是因為它假設每個輸入變數是獨立的。**這個假設很硬,現實生活中根本不滿足,但是這項技術對於絕大部分的復雜問題仍然非常有效。

貝葉斯原理、貝葉斯分類和樸素貝葉斯這三者之間是有區別的。

貝葉斯原理是最大的概念,它解決了概率論中「逆向概率」的問題,在這個理論基礎上,人們設計出了貝葉斯分類器,樸素貝葉斯分類是貝葉斯分類器中的一種,也是最簡單,最常用的分類器。樸素貝葉斯之所以樸素是因為它假設屬性是相互獨立的,因此對實際情況有所約束,**如果屬性之間存在關聯,分類准確率會降低。**不過好在對於大部分情況下,樸素貝葉斯的分類效果都不錯。

樸素貝葉斯分類器依靠精確的自然概率模型,在有監督學習的樣本集中能獲取得非常好的分類效果。在許多實際應用中,樸素貝葉斯模型參數估計使用最大似然估計方法,換而言之樸素貝葉斯模型能工作並沒有用到貝葉斯概率或者任何貝葉斯模型。

樸素貝葉斯分類 常用於文本分類 ,尤其是對於英文等語言來說,分類效果很好。它常用於垃圾文本過濾、情感預測、推薦系統等。

1、 需要知道先驗概率 

先驗概率是計算後驗概率的基礎。在傳統的概率理論中,先驗概率可以由大量的重復實驗所獲得的各類樣本出現的頻率來近似獲得,其基礎是「大數定律」,這一思想稱為「頻率主義」。而在稱為「貝葉斯主義」的數理統計學派中,他們認為時間是單向的,許多事件的發生不具有可重復性,因此先驗概率只能根據對置信度的主觀判定來給出,也可以說由「信仰」來確定。 

2、按照獲得的信息對先驗概率進行修正 

在沒有獲得任何信息的時候,如果要進行分類判別,只能依據各類存在的先驗概率,將樣本劃分到先驗概率大的一類中。而在獲得了更多關於樣本特徵的信息後,可以依照貝葉斯公式對先驗概率進行修正,得到後驗概率,提高分類決策的准確性和置信度。 

3、分類決策存在錯誤率 

由於貝葉斯分類是在樣本取得某特徵值時對它屬於各類的概率進行推測,並無法獲得樣本真實的類別歸屬情況,所以分類決策一定存在錯誤率,即使錯誤率很低,分類錯誤的情況也可能發生。 

第一階段:准備階段

在這個階段我們需要確定特徵屬性,同時明確預測值是什麼。並對每個特徵屬性進行適當劃分,然後由人工對一部分數據進行分類,形成訓練樣本。

第二階段:訓練階段

這個階段就是生成分類器,主要工作是 計算每個類別在訓練樣本中的出現頻率 及 每個特徵屬性劃分對每個類別的條件概率。

第三階段:應用階段

這個階段是使用分類器對新數據進行分類。

優點:

(1)樸素貝葉斯模型發源於古典數學理論,有穩定的分類效率。

(2)對小規模的數據表現很好,能個處理多分類任務,適合增量式訓練,尤其是數據量超出內存時,我們可以一批批的去增量訓練。

(3)對缺失數據不太敏感,演算法也比較簡單,常用於文本分類。

缺點:

(1)理論上,樸素貝葉斯模型與其他分類方法相比具有最小的誤差率。但是實際上並非總是如此,這是因為樸素貝葉斯模型給定輸出類別的情況下,假設屬性之間相互獨立,這個假設在實際應用中往往是不成立的,在屬性個數比較多或者屬性之間相關性較大時,分類效果不好。而在屬性相關性較小時,樸素貝葉斯性能最為良好。對於這一點,有半樸素貝葉斯之類的演算法通過考慮部分關聯性適度改進。

(2)需要知道先驗概率,且先驗概率很多時候取決於假設,假設的模型可以有很多種,因此在某些時候會由於假設的先驗模型的原因導致預測效果不佳。

(3)由於我們是通過先驗和數據來決定後驗的概率從而決定分類,所以分類決策存在一定的錯誤率。

(4)對輸入數據的表達形式很敏感。

參考:

https://blog.csdn.net/qiu__liao/article/details/90671932

https://blog.csdn.net/u011067360/article/details/24368085

⑵ 情感分析之TF-IDF演算法

http://mini.eastday.com/bdmip/180414224336264.html

在這篇文章中,主要介紹的內容有:

1、將單詞轉換為特徵向量

2、TF-IDF計算單詞關聯度

文本的預處理和分詞。

如何將單詞等分類數據轉成為數值格式,以方便我們後面使用機器學習來訓練模型。

一、將單詞轉換為特徵向量

詞袋模型(bag-of-words model):將文本以數值特徵向量的形式來表示。主要通過兩個步驟來實現詞袋模型:

1、為整個文檔集(包含了許多的文檔)上的每個單詞創建一個唯一的標記。

2、為每個文檔構建一個特徵向量,主要包含每個單詞在文檔上的出現次數。

注意:由於每個文檔中出現的單詞數量只是整個文檔集中很少的一部分,因此會有很多的單詞沒有出現過,就會被標記為0。所以,特徵向量中大多數的元素就會為0,就會產生稀疏矩陣。

下面通過sklearn的CountVectorizer來實現一個詞袋模型,將文檔轉換成為特徵向量

通過count.vocabulary_我們可以看出每個單詞所對應的索引位置,每一個句子都是由一個6維的特徵向量所組成。其中,第一列的索引為0,對應單詞"and","and"在第一和二條句子中沒有出現過,所以為0,在第三條句子中出現過一些,所以為1。特徵向量中的值也被稱為原始詞頻(raw term frequency)簡寫為tf(t,d),表示在文檔d中詞彙t的出現次數。

注意:在上面詞袋模型中,我們是使用單個的單詞來構建詞向量,這樣的序列被稱為1元組(1-gram)或單元組(unigram)模型。除了一元組以外,我們還可以構建n元組(n-gram)。n元組模型中的n取值與特定的應用場景有關,如在反垃圾郵件中,n的值為3或4的n元組可以獲得比較好的效果。下面舉例說明一下n元組,如在"the weather is sweet"這句話中,

1元組:"the"、"weather"、"is"、"sweet"。

2元組:"the weather"、"weather is"、"is sweet"。

在sklearn中,可以設置CountVecorizer中的ngram_range參數來構建不同的n元組模型,默認ngram_range=(1,1)。

sklearn通過CountVecorizer構建2元組

二、TF-IDF計算單詞關聯度

在使用上面的方法來構建詞向量的時候可能會遇到一個問題:一個單詞在不同類型的文檔中都出現,這種類型的單詞其實是不具備文檔類型的區分能力。我們通過TF-IDF演算法來構建詞向量,從而來克服這個問題。

詞頻-逆文檔頻率(TF-IDF,term frequency-inverse document frequency):tf-idf可以定義為詞頻×逆文檔頻率

其中tf(t,d)表示單詞t在文檔d中的出現次數,idf(t,d)為逆文檔頻率,計算公式如下

其中,nd表示文檔的總數,df(t,d)表示包含單詞t的文檔d的數量。分母中加入常數1,是為了防止df(t,d)=0的情況,導致分母為0。取log的目的是保證當df(t,d)很小的時候,不會導致idf(t,d)過大。

通過sklearn的TfidfTransformer和CountVectorizer來計算tf-idf

可以發現"is"(第二列)和"the"(第六列),它們在三個句子中都出現過,它們對於文檔的分類所提供的信息並不會很多,所以它們的tf-idf的值相對來說都是比較小的。

注意:sklearn中的TfidfTransformer的TF-IDF的計算與我們上面所定義TF-IDF的公式有所不同,sklearn的TF-IDF計算公式

通常在計算TF-IDF之前,會對原始詞頻tf(t,d)做歸一化處理,TfidfTransformer是直接對tf-idf做歸一化。TfidfTransformer默認使用L2歸一化,它通過與一個未歸一化特徵向量L2范數的比值,使得返迴向量的長度為1,計算公式如下:

下面通過一個例子來說明sklearn中的TfidfTransformer的tf-idf的計算過程,以上面的第一句話"The sun is shining"為例子

1、計算原始詞頻

a、單詞所對應的下標

b、計算第三句話的原始詞頻tf(t,d)

c、計算逆文檔頻率idf(t,d)

注意:其他的詞在計算tf-idf都是0,因為原始詞頻為0,所以就不需要計算idf了,log是以自然數e為底。

d、計算tf-idf

所以,第一個句子的tf-idf特徵向量為[0,1,1.29,1.29,0,1,0]

e、tf-idf的L2歸一化

⑶ 怎樣通過句法分析分析句子情感演算法例子

怎樣通過句法分析分析句子情感演算法例子?現階段主要的情感分析方法主要有兩類:
基於詞典的方法
基於機器學習的方法
基於詞典的方法主要通過制定一系列的情感詞典和規則,對文本進行段落拆借、句法分析,計算情感值,最後通過情感值來作為文本的情感傾向依據。
基於機器學習的方法大多將這個問題轉化為一個分類問題來看待,對於情感極性的判斷,將目標情感分類2類:正、負。對訓練文本進行人工標標注,然後進行有監督的機器學習過程。例如想在較為常見的基於大規模語料庫的機器學習等。

⑷ 情感分析器的研究方法

監督學習
目前,基於監督學習的情感分析仍然是主流,除了(Li et al.,2009)基於非負矩陣三分解(Non-negative Matrix Tri-factorization),(Abbasi et al.,2008)基於遺傳演算法(Genetic Algorithm)的情感分析之外,使用的最多的監督學習演算法是樸素貝葉斯,k最近鄰(k-Nearest Neighbor,k-NN),最大熵和支持向量機的。而對於演算法的改進主要在對文本的預處理階段。
基於規則/無監督學習
和基於監督學習的情感分析相比,基於規則和無監督學習方面的研究不是很多。除了(Turney,2002)之外,(朱嫣嵐 et al.,2002)利用HowNet對中文詞語語義的進行了情感傾向計算。(婁德成 et al.,2006)利用句法結構和依存關系對中文句子語義進行了情感分析,(Hiroshi et al.,2004)通過改造一個基於規則的機器翻譯器實現日文短語級情感分析,(Zagibalov et al.,2008)在(Turney,2002)的SO-PMI演算法的基礎上通過對於中文文本特徵的深入分析以及引入迭代機制從而在很大程度上提高了無監督學習情感分析的准確率。
跨領域情感分析
跨領域情感分析在情感分析中是一個新興的領域,目前在這方面的研究不是很多,主要原因是目前的研究還沒有很好的解決如何尋找兩個領域之間的一種映射關系,或者說如何尋找兩個領域之間特徵權值之間的平衡關系。對於跨領域情感分析的研究開始於(Blitzer et al.,2007)將結構對應學習(Structural Correspondence Learning,SCL)引入跨領域情感分析,SCL是一種應用范圍很廣的跨領域文本分析演算法,SCL的目的是將訓練集上的特徵盡量對應到測試集中。(Tan et al.,2009)將SCL引入了中文跨領域情感分析中。(Tan2 et al.,2009)提出將樸素貝葉斯和EM演算法的一種半監督學習方法應用到了跨領域的情感分析中。(Wu et al.,2009)將基於EM的思想將圖排序(Graph Ranking)演算法應用到跨領域的情感分析中,圖排序演算法可以認為是一種迭代的k-NN

熱點內容
安卓手機相機出故障怎麼辦 發布:2025-05-16 06:47:11 瀏覽:456
華為如何給特定軟體設置密碼 發布:2025-05-16 06:44:09 瀏覽:468
內存和緩存的區別 發布:2025-05-16 06:42:42 瀏覽:188
配電車編程 發布:2025-05-16 06:41:22 瀏覽:370
安卓微信淺色模式怎麼恢復 發布:2025-05-16 06:27:53 瀏覽:240
美嘉演算法口訣 發布:2025-05-16 06:03:15 瀏覽:953
c程序編譯連接 發布:2025-05-16 06:02:36 瀏覽:965
腳本魔獸 發布:2025-05-16 06:01:52 瀏覽:331
文件夾python 發布:2025-05-16 06:01:43 瀏覽:628
電腦我的世界伺服器游戲幣 發布:2025-05-16 05:27:25 瀏覽:491