R深度学习——文本分类问题
这一节用一个实例介绍怎么对文本信息进行二项分类,使用的是IMDB数据集,将其中对电影的评价进行正面和负面的分类:
library(keras)
library(dplyr)
library(ggplot2)
library(purrr)
下载数据集:
imdb <- dataset_imdb(num_words = 10000)
c(train_data, train_labels) %<-% imdb$train
c(test_data, test_labels) %<-% imdb$test
同样还有一个单词对应数字的字典:
word_index <- dataset_imdb_word_index()
对数据集进行建模时首先要了解下数据特征:
paste0("Training entries: ", length(train_data), ", labels: ", length(train_labels))
[1] “Training entries: 25000, labels: 25000”
所有评价的文本信息都被转化成了整型格式,每一个数字代表了字典中的一个单词:
train_data[[1]]
[1] 1 14 22 16 43 530 973 1622 1385 65 458 4468 66 3941 4 173
[17] 36 256 5 25 100 43 838 112 50 670 2 9 35 480 284 5
[33] 150 4 172 112 167 2 336 385 39 4 172 4536 1111 17 546 38
[49] 13 447 4 192 50 16 6 147 2025 19 14 22 4 1920 4613 469
[65] 4 22 71 87 12 16 43 530 38 76 15 13 1247 4 22 17
[81] 515 17 12 16 626 18 2 5 62 386 12 8 316 8 106 5
[97] 4 2223 5244 16 480 66 3785 33 4 130 12 16 38 619 5 25
[113] 124 51 36 135 48 25 1415 33 6 22 12 215 28 77 52 5
[129] 14 407 16 82 2 8 4 107 117 5952 15 256 4 2 7 3766
[145] 5 723 36 71 43 530 476 26 400 317 46 7 4 2 1029 13
[161] 104 88 4 381 15 297 98 32 2071 56 26 141 6 194 7486 18
[177] 4 226 22 21 134 47