情緒分析:2022 年情緒分析背後的直覺
已發表: 2021-01-02目錄
介紹
文字是人類感知信息的最重要手段。 人類獲得的大部分智能是通過學習和理解周圍文本和句子的含義來獲得的。 到了一定年齡後,人類會發展出一種內在的反射,以在不知道的情況下理解任何單詞/文本的推理。
對於機器來說,這個任務是完全不同的。 為了吸收文本和句子的含義,機器依賴於自然語言處理 (NLP) 的基礎。 自然語言處理的深度學習是應用於單詞、句子和段落的模式識別,就像計算機視覺是應用於圖像像素的模式識別一樣。
這些深度學習模型都沒有真正理解人類意義上的文本。 相反,這些模型可以映射書面語言的統計結構,這足以解決許多簡單的文本任務。 情感分析就是這樣一項任務,例如:將字符串或電影評論的情感分類為正面或負面。
這些在工業中也有大規模的應用。 例如:一家商品和服務公司希望收集其針對特定產品收到的正面和負面評論數量的數據,以處理產品生命週期並改善其銷售數據並收集客戶反饋。
從世界頂尖大學學習機器學習在線課程。 獲得碩士、Executive PGP 或高級證書課程以加快您的職業生涯。
閱讀:機器學習項目理念

預處理
情感分析的任務可以分解為一個簡單的監督機器學習算法,我們通常有一個輸入X ,它進入一個預測函數以獲得然後我們將我們的預測與真實值Y進行比較,這給了我們成本,然後我們用它來更新我們的文本處理模型的參數為了解決從以前看不見的文本流中提取情緒的任務,原始步驟是收集帶有單獨正面和負面情緒的標記數據集。 這些情緒可以是:好評或差評、諷刺性評論或非諷刺性評論等。
下一步是創建一個維度為V的向量,其中這個詞彙向量將包含我們數據集中存在的每個單詞(沒有重複的單詞) ,並將充當我們機器可以引用的詞典。 現在我們預處理詞彙向量以去除冗餘。 執行以下步驟:
- 消除 URL 和其他重要信息(這無助於確定句子的含義)
- 將字符串標記為單詞:假設我們有字符串“I love machine learning”,現在通過標記我們只需將句子分解為單個單詞並將其存儲在列表中為 [I, love, machine, learning]
- 刪除停用詞,如“and”、“am”、“or”、“I”等。
- 詞幹:我們將每個單詞轉換為其詞幹形式。 像“tune”、“tuning”和“tuned”這樣的詞在語義上具有相同的含義,因此將它們簡化為“tun”的詞幹形式將減少詞彙量
- 將所有單詞轉換為小寫
總結預處理步驟,讓我們看一個例子:假設我們有一個正字符串“我喜歡 upGrad.com 的新產品” 。 最終的預處理字符串是通過刪除 URL、將句子標記為單個單詞列表、刪除諸如“I、am、the、at”之類的停用詞,然後將單詞“loving”提取為“lov”和“product”來獲得的轉換為“produ”,最後將其全部轉換為小寫,從而生成列表[lov, new, produ] 。
特徵提取
在對語料庫進行預處理之後,下一步將是從句子列表中提取特徵。 與所有其他神經網絡一樣,深度學習模型不會將原始文本作為輸入:它們僅適用於數字張量。
因此,需要將預處理的單詞列表轉換為數值。 這可以通過以下方式完成。 假設給定帶有正負字符串的字符串彙編,例如(假設這是數據集) :

正弦 | 負字符串 |
|
|
現在要將這些字符串中的每一個轉換為維度為 3 的數字向量,我們創建一個字典來將單詞及其出現的類(正或負)映射到該單詞在其對應類中出現的次數。
詞彙 | 正頻率 | 負頻率 |
一世 | 3 | 3 |
是 | 3 | 3 |
快樂的 | 2 | 0 |
因為 | 1 | 0 |
學習 | 1 | 1 |
自然語言處理 | 1 | 1 |
傷心 | 0 | 2 |
不是 | 0 | 1 |
生成上述字典後,我們分別查看每個字符串,然後將字符串中出現的單詞的正負頻率數相加,留下未出現在字符串中的單詞。 讓我們取字符串“我很傷心,我沒有學習 NLP”並生成 3 維向量。
“我很難過,我沒有學習 NLP”
詞彙 | 正頻率 | 負頻率 |
一世 | 3 | 3 |
是 | 3 | 3 |
快樂的 | 2 | 0 |
因為 | 1 | 0 |
學習 | 1 | 1 |
自然語言處理 | 1 | 1 |
傷心 | 0 | 2 |
不是 | 0 | 1 |
總和 = 8 | 總和 = 11 |
我們看到對於字符串“I am sad, I am not learning NLP”,只有兩個詞“happy,因為”不包含在詞彙表中,現在要提取特徵並創建所述向量,我們將正負頻率相加列分別省略了字符串中不存在的單詞的頻率數,在這種情況下,我們留下“快樂,因為”。 我們得到的總和為正頻率為 8,負頻率為 9。

因此,字符串“I am sad, I am not learning NLP”可以表示為向量索引 0 中出現的數字“1”是偏置單元,對於所有即將出現的字符串將保持為“1”,數字“8”、“11”分別表示正頻率和負頻率的總和。
以類似的方式,可以將數據集中的所有字符串輕鬆地轉換為維度為 3 的向量。
另請閱讀:機器學習模型解釋
應用邏輯回歸
特徵提取可以很容易地理解句子的本質,但機器仍然需要一種更清晰的方法來將看不見的字符串標記為正數或負數。 在這裡,邏輯回歸發揮作用,它利用 sigmoid 函數為每個向量化字符串輸出 0 到 1 之間的概率。
最後的想法
此外,如果您有興趣了解有關機器學習的更多信息,請查看 IIIT-B 和 upGrad 的機器學習和 AI 執行 PG 計劃,該計劃專為工作專業人士設計,提供 450 多個小時的嚴格培訓、30 多個案例研究和作業,IIIT-B 校友身份,5 個以上實用的實踐頂點項目和頂級公司的工作協助。