用用Keras开发字符级神经网络语言模型开发字符级神经网络语言模型
语言模型可根据序列中出现的特定单词来预测下一个单词。可以使用神经网络在字符级别上开发语言模型。基于字符的语言模
型有一个最大的优点,就是在处理单词、标点符号和其他文档结构的时候,能保持较小的词汇量和较强的灵活性。但所付出的
代价是模型较大、训练较慢。然而,在神经网络语言模型领域,基于字符的模型为语言建模提供了一种通用、灵活和强大的方
法。
在本教程中,你将了解到如何开发基于字符的神经网络语言模型。
学习完本教程,你将学会:
1.如何针对基于字符的语言建模准备文本。
2.如何使用LSTM开发基于字符的语言模型。
3.如何使用训练过的基于字符的语言模型来生成文本。
教程概述
本教程分为四个部分:
1.Sing a Song of Sixpence(译者注:一首英文童谣)
2.数据准备
3.训练语言模型
4.生成文本
Sing a Song of Sixpence
童谣“Sing a Song of Sixpence”在西方人人都会唱。我们将用它来开发基于字符的语言模型。
这首童谣很短,所以模型的拟合会很快,但不能太短,那样我们就不会看到任何有意思的东西。下面是这首童谣完整歌词:
Sing a song of sixpence,
A pocket full of rye.
Four and twenty blackbirds,
Baked in a pie.
When the pie was opened
The birds began to sing;
Wasn’t that a dainty dish,
To set before the king.
The king was in his counting house,
Counting out his money;
The queen was in the parlour,
Eating bread and honey.
The maid was in the garden,
Hanging out the clothes,
When down came a blackbird
And pecked off her nose.
复制这段文本,并将其保存到当前工作目录中的一个新文件中,文件名为“rhyme.txt”。