最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊

拓端tecdat|Matlab用深度學(xué)習(xí)長短期記憶(LSTM)神經(jīng)網(wǎng)絡(luò)對文本數(shù)據(jù)進(jìn)行分類

2021-08-06 11:15 作者:拓端tecdat  | 我要投稿

原文鏈接:http://tecdat.cn/?p=23151?

原文出處:拓端數(shù)據(jù)部落公眾號(hào)

?這個(gè)例子展示了如何使用深度學(xué)習(xí)長短期記憶(LSTM)網(wǎng)絡(luò)對文本數(shù)據(jù)進(jìn)行分類。

文本數(shù)據(jù)是有順序的。一段文字是一個(gè)詞的序列,它們之間可能有依賴關(guān)系。為了學(xué)習(xí)和使用長期依賴關(guān)系來對序列數(shù)據(jù)進(jìn)行分類,可以使用LSTM神經(jīng)網(wǎng)絡(luò)。LSTM網(wǎng)絡(luò)是一種遞歸神經(jīng)網(wǎng)絡(luò)(RNN),可以學(xué)習(xí)序列數(shù)據(jù)的時(shí)間順序之間的長期依賴關(guān)系。

要向LSTM網(wǎng)絡(luò)輸入文本,首先要將文本數(shù)據(jù)轉(zhuǎn)換成數(shù)字序列。你可以使用單詞編碼來實(shí)現(xiàn)這一點(diǎn),該編碼將文件映射為數(shù)字指數(shù)的序列。為了獲得更好的結(jié)果,還可以在網(wǎng)絡(luò)中加入一個(gè)詞嵌入層。詞匯嵌入將詞匯映射為數(shù)字向量,而不是標(biāo)量索引。這些嵌入發(fā)現(xiàn)了單詞的語義細(xì)節(jié),因此具有相似含義的單詞具有相似的向量。它們還通過向量算術(shù)來模擬單詞之間的關(guān)系。例如,"羅馬之于意大利就像巴黎之于法國 "的關(guān)系由方程式意大利-羅馬+巴黎=法國來描述。

在這個(gè)例子中,訓(xùn)練和使用LSTM網(wǎng)絡(luò)有四個(gè)步驟。

  • 導(dǎo)入并預(yù)處理數(shù)據(jù)。

  • 使用單詞編碼將單詞轉(zhuǎn)換為數(shù)字序列。

  • 創(chuàng)建并訓(xùn)練一個(gè)帶有單詞嵌入層的LSTM網(wǎng)絡(luò)。

  • 使用訓(xùn)練好的LSTM網(wǎng)絡(luò)對新的文本數(shù)據(jù)進(jìn)行分類。

導(dǎo)入數(shù)據(jù)

導(dǎo)入工廠報(bào)告數(shù)據(jù)。該數(shù)據(jù)包含對工廠事件的標(biāo)簽化文本描述。要把文本數(shù)據(jù)導(dǎo)入為字符串,指定文本類型為 "字符串"。


  1. head(data)

這個(gè)例子的目的是通過類別欄中的標(biāo)簽對事件進(jìn)行分類。為了將數(shù)據(jù)劃分為類別,將這些標(biāo)簽轉(zhuǎn)換為分類的。?

Category = categorical(Category);

使用直方圖查看數(shù)據(jù)中的類別分布。

  1. figure

  2. histogram(Category);

下一步是將其劃分為訓(xùn)練和驗(yàn)證的集合。將數(shù)據(jù)劃分為一個(gè)訓(xùn)練分區(qū)和一個(gè)用于驗(yàn)證和測試的保留分區(qū)。指定保留的百分比為20%。?

cvp = cv(Category,'Holdout',0.2);

從分區(qū)的表中提取文本數(shù)據(jù)和標(biāo)簽。?

  1. DataTrain = Description;

  2. DataValidation = Description;

為了檢查你是否正確地導(dǎo)入了數(shù)據(jù),可以用詞云來可視化訓(xùn)練文本數(shù)據(jù)。?

wordcloud(DataTrain);

預(yù)處理文本數(shù)據(jù)

創(chuàng)建一個(gè)函數(shù),對文本數(shù)據(jù)進(jìn)行標(biāo)記和預(yù)處理。列在例子末尾的函數(shù)preprocessText,執(zhí)行這些步驟。
?

  • 使用tokenizedDocument對文本進(jìn)行標(biāo)記。

  • 使用lower將文本轉(zhuǎn)換為小寫。

  • 使用 erasePunctuation 擦除標(biāo)點(diǎn)符號(hào)。

對訓(xùn)練數(shù)據(jù)和驗(yàn)證數(shù)據(jù)進(jìn)行預(yù)處理。?

Train = preprocessText(DataTrain);

查看最初幾個(gè)預(yù)處理的訓(xùn)練文件。?

documentsTrain(1:5)

將文件轉(zhuǎn)換為序列

為了將文檔輸入到LSTM網(wǎng)絡(luò)中,使用一個(gè)單詞編碼將文檔轉(zhuǎn)換為數(shù)字指數(shù)序列。

創(chuàng)建一個(gè)詞的編碼?

下一個(gè)轉(zhuǎn)換步驟是對文件進(jìn)行填充和截?cái)?,使它們的長度都相同。

要填充和截?cái)辔募?,首先要選擇一個(gè)目標(biāo)長度,然后截?cái)啾人L的文件,左移比它短的文件。為了達(dá)到最佳效果,目標(biāo)長度應(yīng)該很短,而不會(huì)丟棄大量的數(shù)據(jù)。為了找到一個(gè)合適的目標(biāo)長度,可以查看訓(xùn)練文檔長度的直方圖。


  1. histogram(documentLengths)

大多數(shù)的訓(xùn)練文件都少于10個(gè)標(biāo)記。將此作為截?cái)嗪吞畛涞哪繕?biāo)長度。

將文檔轉(zhuǎn)換為數(shù)字索引序列。要截?cái)嗷蛳蜃筇畛湫蛄械拈L度為10,將 "長度 "選項(xiàng)設(shè)置為10。

  1. doc2sequence(enc,'Length');


使用相同的選項(xiàng)將驗(yàn)證文件轉(zhuǎn)換為序列。?

sequence(Length);

創(chuàng)建和訓(xùn)練LSTM網(wǎng)絡(luò)

定義LSTM網(wǎng)絡(luò)結(jié)構(gòu)。為了向網(wǎng)絡(luò)輸入序列數(shù)據(jù),包括一個(gè)序列輸入層,并將輸入大小設(shè)置為1。接下來,包括一個(gè)維度為50的詞嵌入層,詞的數(shù)量與詞的編碼相同。接下來,包括一個(gè)LSTM層,并將隱藏單元的數(shù)量設(shè)置為80。最后,添加一個(gè)與類的數(shù)量相同的全連接層,一個(gè)softmax層,以及一個(gè)分類層。?

  1. inputSize = 1;

  2. Dimension = 50;

  3. HiddenUnits = 80;

指定訓(xùn)練選項(xiàng)

  • 使用Adam優(yōu)化器進(jìn)行訓(xùn)練.

  • 指定一個(gè)16的小批處理量。

  • 每隔一段時(shí)間對數(shù)據(jù)進(jìn)行隨機(jī)化。

  • 通過設(shè)置 "Plots "選項(xiàng)為 "training-progress "來監(jiān)測訓(xùn)練進(jìn)度。

  • 使用'ValidationData'選項(xiàng)指定驗(yàn)證數(shù)據(jù)。

  • 通過將'Verbose'選項(xiàng)設(shè)置為false來抑制輸出。

默認(rèn)情況下,如果有GPU,會(huì)使用GPU(需要并行計(jì)算工具箱?和支持CUDA?的計(jì)算能力3.0以上的GPU)。否則,它將使用CPU。在CPU上訓(xùn)練的時(shí)間可能比在GPU上訓(xùn)練的時(shí)間長很多。?

  1. options('adam', ...

  2. 'BatchSize',16, ...

  3. 'Shuffle','every-epoch', ...);

訓(xùn)練LSTM網(wǎng)絡(luò)。

使用新數(shù)據(jù)進(jìn)行預(yù)測

對三個(gè)新報(bào)告的事件類型進(jìn)行分類。創(chuàng)建一個(gè)包含新報(bào)告的字符串?dāng)?shù)組。?

使用預(yù)處理步驟對文本數(shù)據(jù)進(jìn)行預(yù)處理,作為訓(xùn)練文檔。?

preprocessText(New);

將文本數(shù)據(jù)轉(zhuǎn)換為序列,選項(xiàng)與創(chuàng)建訓(xùn)練序列時(shí)相同。

sequence(enc,sequenceLength);

使用訓(xùn)練好的LSTM網(wǎng)絡(luò)對新序列進(jìn)行分類。?

  1. classify(XNew)


最受歡迎的見解

1.探析大數(shù)據(jù)期刊文章研究熱點(diǎn)

2.618網(wǎng)購數(shù)據(jù)盤點(diǎn)-剁手族在關(guān)注什么

3.r語言文本挖掘tf-idf主題建模,情感分析n-gram建模研究

4.python主題建??梢暬痩da和t-sne交互式可視化

5.疫情下的新聞數(shù)據(jù)觀察

6.python主題lda建模和t-sne可視化

7.r語言中對文本數(shù)據(jù)進(jìn)行主題模型topic-modeling分析

8.主題模型:數(shù)據(jù)聆聽人民網(wǎng)留言板的那些“網(wǎng)事”

9.python爬蟲進(jìn)行web抓取lda主題語義數(shù)據(jù)分析


拓端tecdat|Matlab用深度學(xué)習(xí)長短期記憶(LSTM)神經(jīng)網(wǎng)絡(luò)對文本數(shù)據(jù)進(jìn)行分類的評論 (共 條)

分享到微博請遵守國家法律
高台县| 叶城县| 芒康县| 泸州市| 永和县| 土默特左旗| 米泉市| 昌吉市| 武冈市| 邹平县| 衡山县| 旬邑县| 科技| 兴海县| 台北市| 千阳县| 金秀| 黔西县| 安岳县| 科技| 张家界市| 南汇区| 德安县| 汉沽区| 绥江县| 濉溪县| 博乐市| 井陉县| 黔西| 喀喇沁旗| 合水县| 伊吾县| 宣城市| 丰台区| 青海省| 中阳县| 安岳县| 金门县| 云霄县| 霸州市| 洱源县|