文本挖掘实操|用文本挖掘剖析54万首诗歌,我发现了这些(17)
2024-06-15 来源:旧番剧
在文本的诗歌生成任务中,笔者从零到一训练一个诗歌生成的GPT2模型,力求让该模型学习到诗歌数据集中的各类显性特征(题材与诗歌的关系、诗歌与风格的关系、藏头字和诗歌的关系等)和隐性特征(主要是诗歌的韵律),其大致原理如下图所示:
相比3年前笔者写《用文本挖掘剖析近5万首<全唐诗>》时用的LSTM诗歌生成模型,GPT2模型进步巨大:
生成的诗歌更加通顺,每一联的出句和入句的衔接也显得更为自然
能成全局(即整首诗)着眼,记忆能力好,考虑上下文语境,前后生成的诗句紧密关联,不会出现“跳题材”的情况
能学习到诗歌数据中较为隐性的特征,如押韵、平仄、对仗、疑问语气等
因拥有上述3个优势,生成的诗歌“废品率”大大降低
下面,笔者将“花式”呈现GPT2的诗歌生成能力:
1)生成的诗歌可能会和前人写的诗句有一定的相关性,但是GPT2模型可以进行“魔改”,很难看出直接的“抄袭对象”,例如以下由GPT2模型生成的七言律诗,每一联都能在语料库中找到语义最为接近的一句:
战鼙传响彻神州,万里中原一白头。
兵后英雄谁不死,眼前豪杰已无忧。
乾坤纳纳归天地,岁月悠悠老斗牛。
安得扁舟成独往,五湖烟浪是东流。
2)很多生成的诗歌能较好的学习到韵律,比如符合《平水韵》的用韵规则:
上一个示例就是《平水韵》中七律平起(首句入韵)的一个样例:
平平仄仄仄平平(韵)