简单的LSTM问题,能够预测一句话的下一个字词是什么
固定长度的句子,一个句子有3个词。
使用one-hot编码
各种引用
import keras from keras.models import Sequential from keras.layers import LSTM, Dense, Dropout import numpy as np
数据预处理
data = 'abcdefghijklmnopqrstuvwxyz'
data_set = set(data)
word_2_int = {b:a for a,b in enumerate(data_set)}
int_2_word = {a:b for a,b in enumerate(data_set)}
word_len = len(data_set)
print(word_2_int)
print(int_2_word)
一些辅助函数
def words_2_ints(words):
ints = []
for itmp in words:
ints.append(word_2_int[itmp])
return ints
print(words_2_ints('ab'))
def words_2_one_hot(words, num_classes=word_len):
return keras.utils.to_categorical(words_2_ints(words), num_cla

本文介绍了使用Keras实现的简单LSTM模型,用于预测一句包含3个词的句子的下一个字词。通过One-Hot编码处理数据,详细展示了数据预处理、模型构建和训练过程,最终进行预测并得到'e'作为结果。同时,讨论了在处理数据时如何确保训练、测试集的One-Hot编码一致性,推荐使用sklearn的OneHotEncoder以避免编码差异。
订阅专栏 解锁全文
2108

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



