91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何使用Python進行社交媒體情感分析

發布時間:2021-10-26 18:04:28 來源:億速云 閱讀:350 作者:柒染 欄目:編程語言

這篇文章給大家介紹如何使用Python進行社交媒體情感分析,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

學習自然語言處理的基礎知識并探索兩個有用的 Python 包。

自然語言處理(NLP)是機器學習的一種,它解決了口語或書面語言和計算機輔助分析這些語言之間的相關性。日常生活中我們經歷了無數的 NLP 創新,從寫作幫助和建議到實時語音翻譯,還有口譯。

本文研究了 NLP 的一個特定領域:情感分析。重點是確定輸入語言的積極、消極或中性性質。本部分將解釋 NLP 和情感分析的背景,并探討兩個開源的 Python 包。第 2 部分將演示如何開始構建自己的可擴展情感分析服務。

在學習情感分析時,對 NLP 有一個大體了解是有幫助的。本文不會深入研究數學本質。相反,我們的目標是闡明 NLP 中的關鍵概念,這些概念對于將這些方法實際結合到你的解決方案中至關重要。

自然語言和文本數據

合理的起點是從定義開始:“什么是自然語言?”它是我們人類相互交流的方式,溝通的主要方式是口語和文字。我們可以更進一步,只關注文本交流。畢竟,生活在 Siri、Alexa 等無處不在的時代,我們知道語音是一組與文本無關的計算。

數據前景和挑戰

我們只考慮使用文本數據,我們可以對語言和文本做什么呢?首先是語言,特別是英語,除了規則還有很多例外,含義的多樣性和語境差異,這些都可能使人類口譯員感到困惑,更不用說計算機翻譯了。在小學,我們學習文章和標點符號,通過講母語,我們獲得了尋找直覺上表示唯一意義的詞的能力。比如,出現諸如  “a”、“the” 和 “or” 之類的文章,它們在 NLP 中被稱為停止詞,因為傳統上 NLP 算法是在一個序列中找到這些詞時意味著搜索停止。

由于我們的目標是自動將文本分類為情感類,因此我們需要一種以計算方式處理文本數據的方法。因此,我們必須考慮如何向機器表示文本數據。眾所周知,利用和解釋語言的規則很復雜,輸入文本的大小和結構可能會有很大差異。我們需要將文本數據轉換為數字數據,這是機器和數學的***方式。這種轉變屬于特征提取的范疇。

在提取輸入文本數據的數字表示形式后,一個改進可能是:給定一個文本輸入體,為上面列出的文章確定一組向量統計數據,并根據這些數據對文檔進行分類。例如,過多的副詞可能會使撰稿人感到憤怒,或者過度使用停止詞可能有助于識別帶有內容填充的學期論文。誠然,這可能與我們情感分析的目標沒有太大關系。

詞袋

當你評估一個文本陳述是積極還是消極的時候,你使用哪些上下文來評估它的極性?(例如,文本中是否具有積極的、消極的或中性的情感)一種方式是隱含形容詞:被稱為  “disgusting”(惡心) 的東西被認為是消極的,但如果同樣的東西被稱為  “beautiful”(漂亮),你會認為它是積極的。從定義上講,俗語給人一種熟悉感,通常是積極的,而臟話可能是敵意的表現。文本數據也可以包括表情符號,它帶有固定的情感。

理解單個單詞的極性影響為文本的詞袋bag-of-words(BoW)模型提供了基礎。它分析一組單詞或詞匯表,并提取關于這些單詞在輸入文本中是否存在的度量。詞匯表是通過處理已知極性的文本形成稱為標記的訓練數據。從這組標記數據中提取特征,然后分析特征之間的關系,并將標記與數據關聯起來。

“詞袋”這個名稱說明了它的用途:即不考慮空間位置或上下文的的單個詞。詞匯表通常是由訓練集中出現的所有單詞構建的,訓練后往往會被修剪。如果在訓練之前沒有清理停止詞,那么停止詞會因為其高頻率和低語境而被移除。很少使用的單詞也可以刪除,因為缺乏為一般輸入實例提供的信息。

但是,重要的是要注意,你可以(并且應該)進一步考慮單詞在單個訓練數據實例之外的情形,這稱為詞頻term frequency(TF)。你還應該考慮輸入數據在所有訓練實例中的單詞計數,通常,出現在所有文檔中的低頻詞更重要,這被稱為逆文本頻率指數inverse document frequency(IDF)。這些指標一定會在本主題系列的其他文章和軟件包中提及,因此了解它們會有所幫助。

詞袋在許多文檔分類應用程序中很有用。然而,在情感分析中,當缺乏情境意識的問題被利用時,事情就可以解決。考慮以下句子:

  • 我們不喜歡這場戰爭。

  • 我討厭下雨天,好事是今天是晴天。

  • 這不是生死攸關的問題。

這些短語的情感對于人類口譯員來說是有難度的,而且通過嚴格關注單個詞匯的實例,對于機器翻譯來說也是困難的。

在 NLP 中也可以使用稱為 “n-grams”  的單詞分組。一個二元組考慮兩個相鄰單詞組成的組而不是(或除了)單個詞袋。這應該可以緩解諸如上述“不喜歡”之類的情況,但由于缺乏語境意思,它仍然是個問題。此外,在上面的第二句中,下半句的情感語境可以被理解為否定前半部分。因此,這種方法中也會丟失上下文線索的空間局部性。從實用角度來看,使問題復雜化的是從給定輸入文本中提取的特征的稀疏性。對于一個完整的大型詞匯表,每個單詞都有一個計數,可以將其視為一個整數向量。大多數文檔的向量中都有大量的零計數向量,這給操作增加了不必要的空間和時間復雜度。雖然已經提出了許多用于降低這種復雜性的簡便方法,但它仍然是一個問題。

詞嵌入

詞嵌入Word embedding是一種分布式表示,它允許具有相似含義的單詞具有相似的表示。這是基于使用實值向量來與它們周圍相關聯。重點在于使用單詞的方式,而不僅僅是它們的存在與否。此外,詞嵌入的一個巨大實用優勢是它們關注于密集向量。通過擺脫具有相應數量的零值向量元素的單詞計數模型,詞嵌入在時間和存儲方面提供了一個更有效的計算范例。

以下是兩個優秀的詞嵌入方法。

Word2vec

***個是 Word2vec,它是由 Google 開發的。隨著你對 NLP 和情緒分析研究的深入,你可能會看到這種嵌入方法。它要么使用一個連續的詞袋continuous bag of words(CBOW),要么使用一個連續  skip-gram 模型。在 CBOW 中,一個單詞的上下文是在訓練中根據圍繞它的單詞來學習的。連續 skip-gram  學習傾向于圍繞給定的單詞學習單詞。雖然這可能超出了你需要解決的問題,但是如果你曾經面對必須生成自己的詞嵌入情況,那么 Word2vec  的作者就提倡使用 CBOW 方法來提高速度并評估頻繁的單詞,而 skip-gram 方法更適合嵌入稀有單詞更重要的嵌入。

GloVe

第二個是用于詞表示的全局向量Global Vectors for Word Representation(GloVe),它是斯坦福大學開發的。它是  Word2vec 方法的擴展,試圖通過將經典的全局文本統計特征提取獲得的信息與 Word2vec  確定的本地上下文信息相結合。實際上,在一些應用程序中,GloVe 性能優于 Word2vec,而在另一些應用程序中則不如  Word2vec。最終,用于詞嵌入的目標數據集將決定哪種方法***。因此,***了解它們的存在性和高級機制,因為你很可能會遇到它們。

創建和使用詞嵌入

***,知道如何獲得詞嵌入是有用的。在第 2  部分中,你將看到我們通過利用社區中其他人的實質性工作,站到了巨人的肩膀上。這是獲取詞嵌入的一種方法:即使用現有的經過訓練和驗證的模型。實際上,有無數的模型適用于英語和其他語言,一定會有一種模型可以滿足你的應用程序,讓你開箱即用!

如果沒有的話,就開發工作而言,另一個極端是培訓你自己的獨立模型,而不考慮你的應用程序。實質上,你將獲得大量標記的訓練數據,并可能使用上述方法之一來訓練模型。即使這樣,你仍然只是在理解你輸入文本數據。然后,你需要為你應用程序開發一個特定的模型(例如,分析軟件版本控制消息中的情感價值),這反過來又需要自己的時間和精力。

你還可以對針對你的應用程序的數據訓練一個詞嵌入,雖然這可以減少時間和精力,但這個詞嵌入將是特定于應用程序的,這將會降低它的可重用性。

可用的工具選項

考慮到所需的大量時間和計算能力,你可能想知道如何才能找到解決問題的方法。的確,開發可靠模型的復雜性可能令人望而生畏。但是,有一個好消息:已經有許多經過驗證的模型、工具和軟件庫可以為我們提供所需的大部分內容。我們將重點關注 Python,因為它為這些應用程序提供了大量方便的工具。

SpaCy

SpaCy  提供了許多用于解析輸入文本數據和提取特征的語言模型。它經過了高度優化,并被譽為同類中最快的庫。最棒的是,它是開源的!SpaCy  會執行標識化、詞性分類和依賴項注釋。它包含了用于執行此功能的詞嵌入模型,還有用于為超過 46  種語言的其他特征提取操作。在本系列的第二篇文章中,你將看到它如何用于文本分析和特征提取。

vaderSentiment

vaderSentiment 包提供了積極、消極和中性情緒的衡量標準。正如 原論文  的標題(《VADER:一個基于規則的社交媒體文本情感分析模型》)所示,這些模型是專門為社交媒體文本數據開發和調整的。VADER  接受了一組完整的人類標記過的數據的訓練,包括常見的表情符號、UTF-8 編碼的表情符號以及口語術語和縮寫(例如 meh、lol、sux)。

對于給定的輸入文本數據,vaderSentiment 返回一個極性分數百分比的三元組。它還提供了一個單個的評分標準,稱為 vaderSentiment 復合指標。這是一個在 [-1, 1] 范圍內的實值,其中對于分值大于 0.05 的情緒被認為是積極的,對于分值小于 -0.05 的被認為是消極的,否則為中性。

關于如何使用Python進行社交媒體情感分析就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

肥乡县| 邯郸县| 同心县| 鄂温| 宁武县| 宝坻区| 花莲县| 稻城县| 阆中市| 开化县| 子洲县| 左权县| 开远市| 新河县| 枣强县| 岑巩县| 嘉义县| 肃南| 津南区| 南通市| 衡阳市| 东莞市| 年辖:市辖区| 汾阳市| 名山县| 海原县| 新竹县| 屏东县| 资兴市| 开化县| 白朗县| 泰来县| 苗栗市| 湖口县| 顺平县| 佛冈县| 繁峙县| 登封市| 神木县| 元氏县| 金寨县|