使用Keras 构建基于 LSTM 模型的故事生成器(一)

简介: 使用Keras 构建基于 LSTM 模型的故事生成器(一)

什么是 LSTM 网络?

LSTM (Long Short Term Memory, 长短期神经网络)是一种特殊的循环神经网络(RNN, Recurrent neural networks)。LSTM 能够通过更新单元状态来学习参数间的长期依赖关系,目前在机器翻译、语言识别等领域有着广泛应用。

image.png

LSTM 网络工作示意图

LSTM 的使用背景

当你读这篇文章的时候,你可以根据你对前面所读单词的理解来理解上下文。你不会从一开始或者从中间部分阅读就能够直接理解文本意义,而是随着你阅读的深入,你的大脑才最终形成上下文联系,能够理解文本意义。

传统神经网络的一个主要不足在于不能够真正地像人类大脑的神经元一样工作运行,往往只能够利用短期记忆或者信息。一旦数据序列较长,就难以将早期阶段信息传递至后面阶段

考虑下面两个句子。如果我们要预测第一句中“<..>”的内容,那么最好的预测答案是“Telugu”。因为根据上下文,该句谈论的是 Hyderabad 的母语。这样的预测对于人类来说是很基础的,但是对于人工神经网络而言则非常困难。

image.png

“Hyderabad” 单词指明其语言应该是“Telugu”。但是“Hyderabad”出现在句首。所以神经网络要准确进行预测,就必须记忆单词的所以序列。而这正是 LSTM 可以做到的。

编程实现 LSTM

本文将通过 LSTM 网络开发一个故事生成器模型。主要使用自然语言处理(NLP)进行数据预处理,使用双向LSTM进行模型构建。

Step 1:数据集准备

创建一个包含有各种题材类型的短篇小说文本库,保存为“stories.txt”。文本库中的一个片段如下:

Frozen grass crunched beneath the steps of a shambling man. His shoes were crusted and worn, and dirty toes protruded from holes in the sides. His quivering eye scanned the surroundings: a freshly paved path through the grass, which led to a double swingset, and a picnic table off to the side with a group of parents lounging in bundles, huddled to keep warm. Squeaky clean-and-combed children giggled and bounced as they weaved through the pathways with their hot breaths escaping into the air like smoke.  


目录
相关文章
|
2月前
|
机器学习/深度学习 自然语言处理 数据处理
大模型开发:描述长短期记忆网络(LSTM)和它们在序列数据上的应用。
LSTM,一种RNN变体,设计用于解决RNN处理长期依赖的难题。其核心在于门控机制(输入、遗忘、输出门)和长期记忆单元(细胞状态),能有效捕捉序列数据的长期依赖,广泛应用于语言模型、机器翻译等领域。然而,LSTM也存在计算复杂度高、解释性差和数据依赖性强等问题,需要通过优化和增强策略来改进。
|
11天前
|
机器学习/深度学习 算法 算法框架/工具
数据分享|PYTHON用KERAS的LSTM神经网络进行时间序列预测天然气价格例子
数据分享|PYTHON用KERAS的LSTM神经网络进行时间序列预测天然气价格例子
28 0
|
8天前
|
机器学习/深度学习 算法 算法框架/工具
PYTHON用KERAS的LSTM神经网络进行时间序列预测天然气价格例子
PYTHON用KERAS的LSTM神经网络进行时间序列预测天然气价格例子
14 0
|
8天前
|
机器学习/深度学习 编解码 算法
R语言用FNN-LSTM假近邻长短期记忆人工神经网络模型进行时间序列深度学习预测4个案例
R语言用FNN-LSTM假近邻长短期记忆人工神经网络模型进行时间序列深度学习预测4个案例
13 0
|
11天前
|
机器学习/深度学习 算法框架/工具
数据分享|R语言用Keras长短期记忆LSTM神经网络分类分析问答文本数据
数据分享|R语言用Keras长短期记忆LSTM神经网络分类分析问答文本数据
22 1
|
17天前
|
机器学习/深度学习 Python 数据处理
Python中利用长短期记忆模型LSTM进行时间序列预测分析 - 预测电力负荷数据
Python中利用长短期记忆模型LSTM进行时间序列预测分析 - 预测电力负荷数据
43 0
Python中利用长短期记忆模型LSTM进行时间序列预测分析 - 预测电力负荷数据
|
17天前
|
机器学习/深度学习 传感器 自然语言处理
R语言KERAS用RNN、双向RNNS递归神经网络、LSTM分析预测温度时间序列、 IMDB电影评分情感
R语言KERAS用RNN、双向RNNS递归神经网络、LSTM分析预测温度时间序列、 IMDB电影评分情感
17 0
|
18天前
|
机器学习/深度学习 存储 测试技术
使用PYTHON中KERAS的LSTM递归神经网络进行时间序列预测
使用PYTHON中KERAS的LSTM递归神经网络进行时间序列预测
25 0
|
18天前
|
机器学习/深度学习 存储 自然语言处理
用于NLP的Python:使用Keras的多标签文本LSTM神经网络分类
用于NLP的Python:使用Keras的多标签文本LSTM神经网络分类
13 0
|
18天前
|
机器学习/深度学习 自然语言处理 算法
python在Keras中使用LSTM解决序列问题
python在Keras中使用LSTM解决序列问题
31 0

热门文章

最新文章