自然语言处理中的字符与词级模型及情感分析
一、字符级RNN模型构建与应用
1.1 数据集准备
对于分类输入特征,通常需要进行编码,这里由于不同字符数量较少(仅39个),使用独热向量对每个字符进行编码。具体操作如下:
dataset = dataset.map(
lambda X_batch, Y_batch: (tf.one_hot(X_batch, depth=max_id), Y_batch))
dataset = dataset.prefetch(1)
1.2 构建和训练字符级RNN模型
为了根据前100个字符预测下一个字符,使用一个包含两个GRU层(每层128个单元)的RNN模型,同时在输入和隐藏状态上都应用20%的Dropout。输出层是一个时间分布的全连接层,有39个单元,并使用softmax激活函数,以输出每个可能字符的概率。
import keras
model = keras.models.Sequential([
keras.layers.GRU(128, return_sequences=True, input_shape=[None, max_id],
dropout=0.2, recurrent_dropout=0.2),
keras.layers.GRU(128, return_sequences=True,
dropout=0
超级会员免费看
订阅专栏 解锁全文
2395

被折叠的 条评论
为什么被折叠?



