lishangyin.txt是诗词文件。诗分两种,一种是七言的,比如“相见时难别亦难,东风无力百花残”。一种是五言的,比如“八岁偷照镜,长眉已能画”。如下图
LishangyinPre.py是数据预处理用的。由于笔者已经做了这一步,读者朋友们可以跳过。它的作用是生成两个文件words.txt和sample.txt。对于七言诗句,第一第二个字成一个词,第三第四个字成一个词,第五、第六、第七个字单独成词,所以七言诗句可以用5个词表示。对于五言诗句,每个字单独成词,所以五言诗句也是用5个词表示。比如“相见时难别亦难,东风无力百花残”可以切分为10个词“相见/时难/别/亦/难,东风/无力/百/花/残”,比如“八岁偷照镜,长眉已能画”可以切分为10个词“八/岁/偷/照/镜,长/眉/已/能/画”。然后给这些词赋予id。比如“相见”的id是1,“别难”的id是2。LishangyinPre.py的作用是遍历所有诗句,对每句诗切分出来的词赋予id,如果看到这个词已经被赋予过id,则跳过这个词(代码里用一个字典存储)。它将“id-词”对写进了文件words.txt里。LishangyinPre.py还做了一件事,它再次遍历所有诗句,将两句诗歌表示成了10个词的id序列,比如“相见时难别亦难,东风无力百花残”被换成了“1 2 3 4 5 6 7 8 9 10”,每个词用它的id换掉。将结果写进了文件sample.txt里(一行就表示了两句诗哦)。