循环神经网络
nlp领域并不可少的一个网络
Embedding是神经网络应用到nlp领域一个关键的步骤,他可以把词语转换为数字,从而让神经网络可以读取。
embedding与变长输入处理
使用one-hot编码的embedding。在nlp领域embedding使用很广泛的是dense embedding,词语对应的索引不再是稀疏向量,而是密集向量。
处理变长输入的方法
长度不够填充0。长度过长截断。
导入数据 imdb电影评价数据
imdb = keras.datasets.imdb
vocab_size = 10000
index_from = 3
(train_data, train_labels), (test_data, test_labels) = imdb.load_data(
num_words = vocab_size, index_from = index_from)
查看数据
# 查看第一个样本
print(train_data[0], train_labels[0])
print(train_data.shape, train_labels.shape)
print(len(train_data[0]), len(train_data[1]))
对于每一个train data,每一个样本都是一个向量,对于train label来说,每一个样本对应一个值,他们的shape是25000,train data,第二维度不定长,所以没有给出,
可以看出第一,第二样本是不定长的,一个为218,一个为189.
print(test_data.shape, test_labels.shape)