Research on a Tang Poetry automatic generation system based on an evolutionary algorithm
-
摘要: 针对基于演化算法的唐诗自动生成系统展开研究. 研究工作主要有: 使用GloVe(Global Vectors for Word Representation)模型训练词向量, 设计了基于关键词和平仄押韵的初始种群方案、基于语法语义加权值的适应度函数、基于锦标赛算法的选择策略、基于启发式交叉算子和启发式变异算子的演化算法; 给出了基于演化算法的唐诗自动生成模型及系统实现. 实验表明, 根据给定关键词, 该系统初步实现了唐诗的自动生成, 生成的唐诗经人工修改后具有一定的欣赏价值.Abstract: In this paper, research on an automatic generation algorithm for Tang poetry, one of the poetry genres, is carried out. The research work consists of the GloVe(Global Vectors for Word Representation) model to train-word vectors, an initial population scheme based on keywords and peaceful rhymes, a fitness function for grammatical and semantic weights, and a selection strategy used in tournament algorithms; the latter includes heuristic crossover and heuristic mutation operators as well as automatic generation of Tang poetry based on an evolutionary algorithm. Experiments show that by providing keywords the established model and system can achieve the initial goal for automatic generation of Tang poems. After manual modification, the proposed system can generate valuable and appreciable Tang poems.
-
表 1 单字词表
Tab. 1 Word list
字段名 数据类型 长度 描述 ID Integer 4 词语编号 Character Nvarchar 255 词语 Frequency Integer 3 词语频率 Type Nvarchar 255 词语词性 Spell Nvarchar 255 词语拼音 Rhyme Nvarchar 255 词语平仄 表 2 测试数据1
Tab. 2 Test data 1
进化次数/次 初始种群个体数/个 p 关键词 100 20 0.1 花、风、秋、天、春 200 20 0.1 花、风、秋、天、春 300 30 0.3 花、风、秋、天、春 100 30 0.3 花、风、秋、天、春 200 40 0.5 花、风、秋、天、春 300 40 0.5 花、风、秋、天、春 表 3 测试数据2
Tab. 3 Test data 2
进化次数/次 初始种群个体数/个 p 关键词 500 20 0.1 花、风、秋、天、春 1 000 20 0.1 花、风、秋、天、春 1 500 30 0.3 花、风、秋、天、春 500 30 0.3 花、风、秋、天、春 1 000 40 0.5 花、风、秋、天、春 1 500 40 0.5 花、风、秋、天、春 表 4 测试数据3
Tab. 4 Test data 3
进化次数/次 初始种群个体数/个 p 关键词 100 40 0.1 花、风、秋、天、春 200 40 0.1 花、风、秋、天、春 300 60 0.3 花、风、秋、天、春 100 60 0.3 花、风、秋、天、春 200 80 0.5 花、风、秋、天、春 300 80 0.5 花、风、秋、天、春 表 5 测试数据4
Tab. 5 Test data 4
进化次数/次 初始种群个体数/个 p 关键词 100 20 0.2 花、风、秋、天、春 200 20 0.2 花、风、秋、天、春 300 30 0.4 花、风、秋、天、春 100 30 0.4 花、风、秋、天、春 200 40 0.6 花、风、秋、天、春 300 40 0.6 花、风、秋、天、春 表 6 部分候选词表
Tab. 6 Partial candidate vocabulary
关键词 相关候选词数量/个 举例 花 323 蕊、梅、菜、落、叶 风 278 清、浪、雪、雨、笛 秋 151 霜、叶、萧、冷、寥 天 191 白、夜、照、鹭、青 春 279 夏、暖、露、翠、香 表 7 仿唐诗适应度值1
Tab. 7 Assessment of Tang Poetry 1
进化次数/次 初始种群个体数/个 p F 花 风 秋 天 春 100 20 0.1 3 3 2 3 4 200 20 0.1 4 2 3 3 4 300 30 0.3 4 4 2 2 3 100 30 0.3 3 4 4 4 3 200 40 0.5 4 3 3 4 3 300 40 0.5 4 4 4 4 3 表 8 仿唐诗适应度值2
Tab. 8 Assessment of Tang Poetry 2
次数/次 初始种群个体数/个 p F 花 风 秋 天 春 500 20 0.1 4 3 3 4 4 1000 20 0.1 4 4 4 3 4 1500 30 0.3 4 4 4 3 3 500 30 0.3 3 4 4 4 4 1000 40 0.5 4 3 3 4 3 1500 40 0.5 4 4 4 4 4 表 9 仿唐诗适应度值3
Tab. 9 Assessment of Tang Poetry 3
进化次数/次 初始种群个体数/个 p F 花 风 秋 天 春 100 40 0.1 3 3 2 3 4 200 40 0.1 4 3 3 3 4 300 60 0.3 4 4 3 3 4 100 60 0.3 3 4 4 4 3 200 80 0.5 4 3 3 4 4 300 80 0.5 4 4 4 4 3 表 10 仿唐诗适应度值4
Tab. 10 Assessment of Tang Poetry 4
进化次数/次 初始种群个体数/个 p F 花 风 秋 天 春 100 20 0.2 3 3 3 3 4 200 20 0.2 4 3 3 3 4 300 30 0.4 4 4 2 2 3 100 30 0.4 3 3 3 4 3 200 40 0.6 4 3 3 4 3 300 40 0.6 4 2 2 2 3 表 11 生成仿唐诗参数表
Tab. 11 Parameters of Tang Poetry
进化次数/次 初始种群个数/个 p 关键词 F 1 500 30 0.3 花 4 -
[1] 张建华, 陈家骏. 自然语言生成综述 [J]. 计算机应用研究, 2006, 23(8): 1-3, 13. doi: 10.3969/j.issn.1001-3695.2006.08.001 [2] CHENG W F, WU C C, SONG R H, et al. Image inspired poetry generation in XiaoIce[EB/OL]. (2018-08-09)[2019-06-20]. https://arxiv.org/pdf/1808.03090.pdf. [3] YU L T, ZHANG W N, WANG J, et al. SeqGAN: Sequence generative adversarial nets with policy gradient[EB/OL]. (2017-08-25)[2019-06-20]. https://arxiv.org/pdf/1609.05473.pdf. [4] 游维. 基于遗传算法的宋词自动生成研究 [D]. 福建 厦门: 厦门大学, 2007. [5] 周昌乐, 游维, 丁晓君. 一种宋词自动生成的遗传算法及其机器实现 [J]. 软件学报, 2010, 21(3): 427-437. doi: 10.3724/SP.J.1001.2010.03596 [6] 曹卫华. 基于进化策略的仿唐诗自动生成系统 [D]. 广州: 广东工业大学, 2011. [7] 穗志方, 俞士汶, 罗凤珠. 宋代名家诗自动注音研究及系统实现 [J]. 中文信息学报, 1998, 12(2): 44-53. [8] 冯思齐, 吕钢. 利用RNN模型生成中国古典诗歌 [J]. 通讯世界, 2018(2): 361-363. doi: 10.3969/j.issn.1006-4222.2018.02.232 [9] 刘铮扬. 基于深度学习的中国诗歌自动生成算法研究 [D]. 长沙: 湖南师范大学, 2018. [10] 潘正君, 康立山, 陈毓屏. 演化算法 [M]. 北京: 清华大学出版社, 1998. [11] 彭定求, 沈三曾, 杨中讷, 等. 全唐诗 [M]. 北京: 中华书局, 2018. [12] MITCHELL M. An Introduction to Genetic Algorithms [M]. Cambridge: MIT Press, 1998. [13] 葛继科, 邱玉辉, 吴春明, 等. 遗传算法研究综述 [J]. 计算机应用研究, 2008, 25(10): 2911-2916. doi: 10.3969/j.issn.1001-3695.2008.10.008 [14] 俞士汶, 段慧明, 朱学锋, 等. 北京大学现代汉语语料库基本加工规范 [J]. 中文信息学报, 2002, 16(5): 46-64. [15] 张忠纲. 全唐诗大辞典 [M]. 北京: 语文出版社, 2000. [16] 朱武. 基于种群自适应策略的差分演化算法及其应用研究 [D]. 上海: 东华大学, 2013. [17] 叶汝骏. 论唐代的仄韵五律—兼论仄韵律诗的归属问题 [J]. 武陵学刊, 2017, 42(3): 91-95. doi: 10.3969/j.issn.1674-9014.2017.03.017 [18] 张冬茉, 葛永, 姚天昉. 多语种自然语言生成系统中的预映射句子规划器[D]. 北京: 北京大学, 2004 [19] 胡俊峰, 俞士汶. 唐宋始中词汇语义相似度的统计分析及应用 [J]. 中文信息学报, 2002, 16(4): 39-44. doi: 10.3969/j.issn.1003-0077.2002.04.005 [20] 易勇. 计算机辅助诗词创作中的风格辨析及联语应对研究 [D]. 重庆: 重庆大学, 2005.