当前位置:   article > 正文

用于NLP的Python:使用Keras进行深度学习文本生成_文本生成 深度学习代码

文本生成 深度学习代码

 文本生成是NLP的最新应用之一。

最近我们被客户要求撰写关于NLP的研究报告,包括一些图形和统计输出。

深度学习技术已用于各种文本生成任务,例如写作诗歌,生成电影脚本甚至创作音乐。但是,在本文中,我们将看到一个非常简单的文本生成示例,其中给定输入的单词字符串,我们将预测下一个单词。我们将使用莎士比亚著名小说《麦克白》的原始文本,并根据给定的一系列输入单词来预测下一个单词。

完成本文之后,您将能够使用所选的数据集执行文本生成

导入库和数据集

第一步是导入执行本文中的脚本所需的库以及数据集。以下代码导入所需的库:

  1. import numpy as np
  2. from keras.models import Sequential, load_model
  3. from keras.layers import Dense, Embedding, LSTM, Dropout

下一步是下载数据集。我们将使用Python的NLTK库下载数据集。

download('gutenberg') 

您应该看到以下输出:

['austen-emma.txt', 'austen-persuasion.txt', 'austen-sense.txt', 'bible-kjv.txt', 'blake-poems.txt', 'bryant-stories.txt', 'burgess-busterbrown.txt', 'carroll-alice.txt', 'chesterton-ball.txt', 'chesterton-brown.txt', 'chesterton-thursday.txt', 'edgeworth-parents.txt', 'melville-moby_dick.txt', 'milton-paradise.txt', 'shakespeare-caesar.txt', 'shakespeare-hamlet.txt', 'shakespeare-macbeth.txt', 'whitman-leaves.txt']

该文件包含小说“ Macbeth”的原始文本。要从此文件读取文本,可以使用类中的raw方法:

macbeth_text = corpus.gutenberg.raw('shakespeare-macbeth.txt')

让我们从数据集中输出前500个字符:

print(macbeth_text[:500])

这是输出:

  1. Actus Primus. Scoena Prima.
  2. Thunder and Lightning. Enter three Witches.
  3. 1. When shall we three meet againe?
  4. In Thunder, Lightning, or in Raine?
  5. 2. When the Hurley-burley's done,
  6. When the Battaile's lost, and wonne
  7. 3. That will be ere the set of Sunne
  8. 1. Where the place?
  9. 2. Vpon the Heath
  10. 3. There to meet with Macbeth
  11. 1. I come, Gray-Malkin
  12. All. Padock calls anon: faire is foule, and foule is faire,
  13. Houer through

您会看到文本包含许多特殊字符和数字。下一步是清理数据集。

数据预处理

要删除标点符号和特殊字符,我们将定义一个名为的函数pr

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家小花儿/article/detail/785352
推荐阅读
相关标签
  

闽ICP备14008679号