这篇文章主要在于介绍如何用MATLAB进行深度学习,进而利用训练的网络模型生成文本。对于“预测”的结果,不发表意见(其实就是不准)。
1,数据读取
首先需要准备好要训练的文本,《冰与火之歌》第1-5卷。我从网上找的,删除其中的中文信息(汉字、汉字标点等)。注意,确保文本的编码方式为UTF-8,以免出现乱码。如果不是的话,可以用vs code 另存。
以下代码仅供参考。
function [iceAndFire,XTrain,YTrain] = readData()
parNum = 0; % 段落数
newlineChar = compose("x00B6");
spaceChar = compose("x00B7");
endofTextChar = compose("x2403");
tabChar = char(compose("x3000"));
for ii = 1:5
fid = fopen(['冰与火之歌' num2str(ii) '.txt'],'rt','n','UTF-8');
while(~feof(fid))
tmp = fgets(fid);
% 去掉制表符
tmp(tmp == tabChar) = [];
% 去掉行首的空格
while length(tmp)>=20 && tmp(1) == ' '
tmp(1) = [];
end