為什么要利用NLP做情感分析?
多數人不能準確把握人類的情感變化,我也不例外,但是計算機卻可以做到這一點。基于上面的事實,我們要講述一件你也許已經熟知的機器學習分支——自然語言處理(NLP),這聽起來很像計算機試圖學習并理解我們平時說的“自然語言”。但是我們并不滿足于此,我們要做一件神奇的事,那就是“情感分析”。聽到計算機能分析人類情感這件事,很多人肯定會覺得有些不可思議,但這正是我們下面要談論的。
自然語言處理
我們稍微回顧一下,很多程序員都知道人與人和人與計算機交流的方法有很大的區別。例如,當我們寫程序的時候必須嚴格遵守語法和格式的要求,但人與人交流就會自由很多。人與人交流的過程中,可以用不同長度的句子表達相同的含義,同樣長度的句子表達不同的含義。你應該意識到這對計算機來說是很復雜的。
隨著人工智能技術越來越多的應用到我們的工作和日常生活中,用我們熟悉的語言與計算機交互變的越來越重要。雖然我們總是可以要求“碼農”寫更多的代碼,但是我們不能要求顧客以寫代碼的方式向Siri咨詢天氣狀況。很顯然,顧客用自然語言與Siri交流更高效。
情感分析
自然語言處理只是冰山一角,這是因為人與人交流不是文字或文字堆砌的句子所能表達的,而是一個微妙且復雜的過程。在生活中,你可以根據朋友問問題的語氣來判斷他的情緒,是無聊、生氣或者好奇。即使是在純文字的聊天中,你也可以根據顧客的用詞和標點判斷他是否憤怒。又或者,當你讀一本書的評論時,雖然評論者沒有明確說出他對書的態度,但你可以根據評論內容判斷出讀者喜歡或者不喜歡這本書。
情感就像是將聲調、配套的文字以及語言風格雜糅在一起。要讓計算機真正理解人類日常交流用語,單單了解單詞的定義是遠遠不夠的,計算機還要理解人類的情感,只有這樣才能最終理解人每天的交流方式。
深度學習
在深度學習中,將大量自然語言實例標定為正樣本或負樣本,然后用這些實例訓練網絡參數,最后我們會得到識別新樣本實例的情感分析模型。互聯網論壇越來越受歡迎(基于語音的虛擬助手也日益流行),這給我們提供了充足的語料去訓練我們的模型,一旦模型訓練好了,就可以用來解決新的問題。
舉個例子,一般情況下,假設你是在網絡課堂學習的學生,你會將困擾自己的問題放到課程相關的論壇上。人工智能的客服就不僅可以確定你困惑的主題,還可以分析你因此沮喪或氣餒的程度,并給出合理的反饋。因為人工智能的存在,上面的想法已經變成現實。
情感分析的應用
情感分析可以應用的地方有很多,假如你是一名媒體工作者,你可以爬取網上大量有關電影的評論,訓練情感分析模型來了解人們喜歡和不喜歡的電影。假如你在投資部門工作,可以構建有助于預測股票市場的模型,通過人們在論壇中的留言來評估他們對股票的樂觀程度。假如你在政府部門工作,情感分析模型會評估人們看推特的演講時情感變化情分析他們對演講內容的愛憎程度。難以想象情感分析模型對我們的影響。
深度學習工具使得這些變成現實,對于動態預測任務,甚至可以做到實時預測。你可以實現一個演講者可以看到演講現場數據分析的界面,這樣演講者可以得到及時反饋,演講的內容才可能更大限度地引起共鳴。你也可以實現一個自動投資的模型,它根據對不同股票漲跌的持續觀察來自主進行投資。你還可以實現一個課堂助手,可以實時提醒老師課堂氛圍是活躍還是低迷。
這些是深度學習最令人驚奇的地方,我會在這個領域繼續走下去。當然人們很難解釋深度學習的深層原理,但是當你想象這項技術的應用時,這些事情就變得非常令我們期待。如果你掌握了深度學習,那將取決于你如何利用它去改變世界。所以,你還在等什么,快加入這場革命吧。