科技博客|新聞博客 - 國內最強大的博客網站 ? 人工智能 ? 為了理解你,機器比你想象中更努力

為了理解你,機器比你想象中更努力

?為什么需要NLP情感分析?

看了最新一期奇葩說,很觸動。

辯題:

TA真的很努力是不是一句好話

辯手們從表達者的意圖、傾聽者的心態、傳播學語境等各種角度論證自己的觀點,意圖拉攏受眾站到自己這一邊,而受眾的立場在一波又一波的針鋒相對中左右搖擺。辯手們出色的語言能力,成功感染了大家的情緒,引發共鳴。

我也從中受到很多啟發,特別是有兩句話,與最近在做的一個項目有關。

被誤解是表達者的宿命。

不確定是傾聽者的宿命。

我們人類似乎很難準確把握他人的情感變化。但是我想,機器是不是可以做到這一點。基于這個論點,下面給大家分享一個機器學習的分支研究——自然語言處理(NLP)

或許你已經很熟悉這個概念了,但是我們并不滿足于只是讓機器簡單處理我們平時說的話,我們要做更深層次的研究,那就是教計算機理解我們的情緒,做“情感分析”

或許你會覺得有些不可思議,感到懷疑,而這正是值得探討的。

自然語言處理

自然語言處理(Natural Language Processing),簡稱 NLP,是人工智能領域的一個重要組成部分,旨在讓計算機理解并處理人類語言。

(圖片來源于網絡,如有侵權請聯系刪除)

由于理解自然語言,需要關于外在世界的廣泛知識以及運用操作這些知識的能力,所以自然語言處理,也被視為解決人工智能完備性的核心問題之一。

眾所周知,人與人和人與計算機交流的方法有很大區別。程序員經過專業學習和訓練,在與機器對話時,必須嚴格遵守特定的語法和格式要求,而人與人的交流,從牙牙學語開始,一切都顯得自然隨意得多。

同樣的句子可以表達不同的含義,不同的句子還能表達相同的含義。

為什么?引起這種差異的原因是什么?

情感!情緒!情境!

如此,你也就明白,讓計算機做自然語言處理,尤為艱難的就是情感分析了。

情感分析

情感是將表情、聲調、文字以及語言風格雜糅在一起,是一個表達過程,而非結論。情感分析(Sentimental Analysis)有基于文本和語言之分。相比文本,語言更為復雜,涉及語音識別,甚至人臉識別等。本文今天主要探討基于文本的情感分析。

(圖片來源于網絡,如有侵權請聯系刪除)

文本情感分析是對文本中的某段已知文字的兩極性進行分類,判斷出此文字中表述的觀點是積極的、消極的、還是中性的情緒。

對于我們人來說,看懂一段文字是消極的還是積極的,很容易。但是要教會機器看懂并且對文字進行情感分類,還有很多工作要做。

下面簡單介紹下NLP情感分析的工作流程:

1,分詞

首先,認字!把文本拆分成單個的詞。在英文的文本中,簡單的拆分方法是,每一個空格之后是一個新的單詞,逗號、句號、感嘆號、問號這一類的標點符號隔開的也是新的單詞。對所有的文字這樣做之后,就可以得到文本中用到的所有單詞。

2,特征向量

然后,我們要把句子轉變為特征向量。常見的特征向量有兩類。其一為one-hot編碼,計算單句中不同詞的詞頻,建立與詞典長度等大小的向量,當然,所有的向量都需要歸一化;其二為word-to-vector,通過全量語料的訓練得到的副產品,每個詞都能表征成等長數值向量。

3,模型訓練

接下來,就是訓練模型的時候了。你需要為機器建立自己的學習模型,以此來判斷句子的情感。我們將具備正確label的特征向量作為樣本數據,喂入特定的分類器,比如常見的SVM(Support Vector Machine)、深度神經網絡(Deep Neural Network)等。在每一個批次的迭代過程中,依據梯度下降的算法對需要優化的目標函數做一定程度的逼近。

當目標函數殘差收斂時,分類器即完成了用“曲面”在超平面中劃分開兩類樣本點的工作,而樣本點對“曲面”的距離即表示其情感積極或消極的程度。需要注意的是,并不是訓練時間越久、迭代輪次越多效果就一定會更優,很多時候我們需要引入終止條件、甚至在目標函數中加入懲罰項來防止過擬合現象。

4,測試

最后,訓練好的模型就可以用來判斷文

相關文章

彩票快速赛车网站