程序员

text classification with RNN

作者:admin 2021-07-26 我要评论

本教程的目的是带领大家学会用 RNN 进行文本分类 本次用到的数据集是 IMDB,一共有 50000 条电影评论,其中 25000 条是训练集,另外 25000 条是测试集 首先我们...

在说正事之前,我要推荐一个福利:你还在原价购买阿里云、腾讯云、华为云服务器吗?那太亏啦!来这里,新购、升级、续费都打折,能够为您省60%的钱呢!2核4G企业级云服务器低至69元/年,点击进去看看吧>>>)

本教程的目的是带领大家学会用 RNN 进行文本分类

本次用到的数据集是 IMDB,一共有 50000 条电影评论,其中 25000 条是训练集,另外 25000 条是测试集

首先我们需要加载数据集,可以通过 TFDS 很简单的把数据集下载过来,如下代码所示

dataset, info = tfds.load('imdb_reviews', with_info=True, as_supervised=True)
train_dataset, test_dataset = dataset['train'], dataset['test']
train_dataset.element_spec

接下来我们需要创建 text encoder,可以通过 tf.keras.layers.experimental.preprocessing.TextVectorization 实现,如下代码所示

VOCAB_SIZE = 1000
encoder = tf.keras.layers.experimental.preprocessing.TextVectorization(
 max_tokens=VOCAB_SIZE
encoder.adapt(train_dataset.map(lambda text, label: text))

接下来我们需要搭建模型,下图是模型结构图

对应的代码如下所示

model = tf.keras.Sequential([
 encoder,
 tf.keras.layers.Embedding(
 input_dim=len(encoder.get_vocabulary()),
 output_dim=64,
 # Use masking to handle the variable sequence lengths
 mask_zero=True),
 tf.keras.layers.Bidirectional(tf.keras.layers.LSTM(64)),
 tf.keras.layers.Dense(64, activation='relu'),
 tf.keras.layers.Dense(1)
model.compile(loss=tf.keras.losses.BinaryCrossentropy(from_logits=True),
 optimizer=tf.keras.optimizers.Adam(1e-4),
 metrics=['accuracy'])

到这一步,我们就可以开始训练了,以及训练后进行模型评估

history = model.fit(train_dataset, epochs=10,
 validation_data=test_dataset,
 validation_steps=30)
test_loss, test_acc = model.evaluate(test_dataset)
print('Test Loss:', test_loss)
print('Test Accuracy:', test_acc)

上面是训练的结果记录图

代码地址: https://codechina.csdn.net/csdn_codechina/enterprise_technology/-/blob/master/text_classification_rnn.ipynb


本文转自网络,原文链接:https://developer.aliyun.com/article/785750

版权声明:本文转载自网络,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。本站转载出于传播更多优秀技术知识之目的,如有侵权请联系QQ/微信:153890879删除

相关文章
  • text classification with RNN

    text classification with RNN

  • 数智洞察丨云上改革:推动数字创新,政

    数智洞察丨云上改革:推动数字创新,政

  • 一、Rust开发环境搭建

    一、Rust开发环境搭建

  • 你的迷惑,Chia大佬来亲自解开

    你的迷惑,Chia大佬来亲自解开

腾讯云代理商
海外云服务器