中文字幕在线观看,亚洲а∨天堂久久精品9966,亚洲成a人片在线观看你懂的,亚洲av成人片无码网站,亚洲国产精品无码久久久五月天

如何用50行代碼構建情感分類器

2018-06-15    來源:

容器云強勢上線!快速搭建集群,上萬Linux鏡像隨意使用
本文介紹了如何構建情感分類器,從介紹自然語言處理開始,一步一步講述構建過程。

自然語言處理簡介

語言把人類聯(lián)系在一起。語言是一種工具,它既可以讓我們把想法和感受傳達給另一個人,也能讓我們理解別人的想法和感受。我們大多數(shù)人從 1 歲半到 2 歲開始說話。人腦是如何在如此年幼的時候掌握如此大量知識的,這仍是未解之謎。但是,人們已經(jīng)發(fā)現(xiàn)大部分語言處理功能發(fā)生在大腦皮層內(nèi)。

情感分析背后的動機

人類自己無法理解語言是如何被大腦處理的。那么,我們能教一臺機器學習我們的語言嗎?通過廣泛研究,人們已經(jīng)開發(fā)了許多方法來幫助機器理解語言。自然語言處理(NLP)是研究人類語言與計算機交互的領域。自然語言處理的一個子問題是情感分析,即把一個語句分類為積極或消極。把語句分類為積極或消極有什么用呢?以亞馬遜網(wǎng)站為例。在亞馬遜上,用戶可以對一個產(chǎn)品發(fā)表評論,說明它是好是壞,甚至可以是中性的。然而,使用人工閱讀所有評論并獲得客戶對產(chǎn)品的總體反饋既昂貴又耗時。再說說我們的機器學習模型。機器學習模型可以通過大量數(shù)據(jù)進行推斷,對評論進行分類。利用這種機器學習模型,亞馬遜可以通過客戶評論改進其產(chǎn)品,從而為公司帶來更多收入。

情感分析并不像看起來那么簡單。如果你認為含有「好的」、「很棒」等詞的評論可歸為積極評論,而含有「壞的」、「苦惱的」等詞的評論可歸為消極評論,那你需要三思。例如,「完全沒有好味道」和「一份好的快餐,但沒有什么特別的」分別代表消極和中立的反饋,即使都有「好」字。因此,這項任務可能沒有看起來那么簡單。接下來讓我們看看即將使用的數(shù)據(jù)。

數(shù)據(jù)集

我們將使用亞馬遜產(chǎn)品評論、IMDB 電影評論和 Yelp 評論來構建情感分析模型。

數(shù)據(jù)下載鏈接:https://www.kaggle.com/marklvl/sentiment-labelled-sentences-data-set/data

所有數(shù)據(jù)都已經(jīng)過注釋,0 表示消極反饋,1 表示積極反饋。亞馬遜的數(shù)據(jù)與下圖相似。

 

 

代碼

我們可以寫一些代碼:

 

 

數(shù)據(jù)存儲于不同的文本文件中。我們打開每個文件并閱讀所有的文本行,文本行還包括每個文本的標簽。然后我們將其存儲在一個名為「lines」的列表中。

 

數(shù)據(jù)集的每一行都包含文本,文本后是四個字符空間,還有該文本的標簽(0 或 1)。因此,我們先將包含文本的第一部分添加到 features(x) 中,然后獲取標簽,標簽的末尾有「\n」。所以標簽被移除,然后添加到我們的標簽列表 labels(y)。

 

 

 

Keras 有一個內(nèi)置的 API,使得準備計算文本變得更容易。tokenizer 類共有 4 個屬性,可用于特征準備。請看下面的示例,了解 tokenizer 的實際功能。

 

 

tokenizer 為句子中的每個單詞分配索引值,并且可以使用該索引值表示新句子。由于我們使用的文本語料庫包含大量不同的單詞,因此我們設置了一個上限,只使用最經(jīng)常出現(xiàn)的 2500 個單詞。

 

 

現(xiàn)在,我們將文本轉(zhuǎn)換為如上所示的數(shù)字序列,并填充數(shù)字序列。因為句子可以有不同的長度,它們的序列長度也會不同。因此,pad_sequences 會找出最長的句子,并用 0 填充其他較短語句以匹配該長度。

 

 

我們將標簽轉(zhuǎn)換為 one hot 編碼,這有助于 LSTM 網(wǎng)絡預測文本的標簽,F(xiàn)在,我們已經(jīng)準備好了文本數(shù)據(jù),可以把它分為訓練樣本和測試樣本。將 80% 的數(shù)據(jù)用于訓練,20% 的數(shù)據(jù)用于測試模型。

 

 

我們現(xiàn)在建立了模型,并對其進行編譯、訓練和測試。該模型具有嵌入層。輸入序列是文本的稀疏表征,因為詞匯表巨大,并且給定單詞將由大向量表示。如果我們能夠構建序列的某種密集表征,那么網(wǎng)絡將更容易進行預測。2500 個單詞的詞嵌入/密集表征是通過嵌入層對模型進行訓練獲得的。然后,我們將 LSTM 和密集層添加到模型中。LSTM 單元負責進行上下文推斷,并幫助預測句子是否積極。密集層輸出每個類的概率。本文不詳細介紹 LSTM,若想了解其更多信息,請參閱此博客:http://colah.github.io/posts/2015-08-Understanding-LSTMs/。

輸出

 

 

訓練

 

 

測試

完成!你剛剛用 50 行代碼構建了一個情感分類器~

原文鏈接:https://towardsdatascience.com/sentiment-analysis-through-lstms-3d6f9506805c

標簽: https 代碼  數(shù)據(jù) 網(wǎng)絡

版權申明:本站文章部分自網(wǎng)絡,如有侵權,請聯(lián)系:west999com@outlook.com
特別注意:本站所有轉(zhuǎn)載文章言論不代表本站觀點!
本站所提供的圖片等素材,版權歸原作者所有,如需使用,請與原作者聯(lián)系。

上一篇:備好數(shù)據(jù)后,數(shù)據(jù)科學家還要做什么?

下一篇:企業(yè)郵箱誰與爭鋒,西部數(shù)碼6折嗨購、京東卡火爆贈送中