手机版 欢迎访问人人都是自媒体网站
编辑导语:诗词的创作需要遵循很多的规矩,因此诗歌是有规律的。本文作者运用多种文本挖掘方法,对手头的诗歌语料库进行了深入的挖掘和分析,让我们一起来看看作者是如何完成文本数据的探索任务。
楔子:
许多年之后,面对书桌上的两句残词,贬居黄州的东坡居士将会回想起,他在故乡眉山见到朱姓老尼的那个遥远的下午。彼时的东坡还不是东坡,还只是一个七岁孩童。有一天,他在家附近偶遇一位年约九十的朱姓老尼。
老尼看到苏轼天资聪颖,就跟他聊起自己年轻时的经历。她曾跟随师父进入后蜀主孟昶的宫中。一日,天酷热,孟昶和他的妃子花蕊夫人深夜纳凉于摩诃池上。面对此情此景,蜀主即兴赋词一首,老尼将她印象中仅存的打头两句告诉了苏轼.
四十年后,苏轼贬居于黄州,想起这段往事,遗憾于孟昶的词只余两句,突发奇想要将这两句词续写完整。他先猜测出这首词的词牌名——“洞仙歌令”,但要还原整首词作,必须深刻结合写词人当时之心情以及伴随而来的意境。
苏轼因而循着仅存的两句词,根据老尼给他的描述,竭力在脑海中还原蜀主当时的创作场景和心境,最终将词续完,成就名作《洞仙歌》:
冰肌玉骨,自清凉无汗。水殿风来暗香满。绣帘开,一点明月窥人,人未寝,倚枕钗横鬓乱。
起来携素手,庭户无声,时见疏星渡河汉。试问夜如何,夜已三更,金波淡,玉绳低转。但屈指西风几时来,又不道流年暗中偷换。
以上就是文学史上有名的“东坡续词”,虽说是文学史上的一段佳话,但笔者从中隐约看到了数理思维的影子。
诗词的创作过程有如在求解一个“最优化问题”:在一定的约束条件下,如诗词要遵守的平仄、押韵、对仗/对偶、五七变式、词谱、情境等,诗词创作者用文字将自己内心的真实感动用语言文字表达出来;在“戴着镣铐在跳舞”的情况下,竭力达到音韵美、精炼美、言辞美、朦胧美、情感美、绘画美和形式美的至臻境界。
此时,诗词之精美和数理之严密是可以完美结合的。
既然诗歌的创作是有规律的,那么,通过一定的数据挖掘手段,我们是能够从中发现一些insight的。
在本文中,笔者循着这个思路,将运用若干文本挖掘方法对手头的诗歌语料库(该诗歌原始语料库地址为https://github.com/Werneror/Poetry)进行深入挖掘和分析,该诗歌语料库的基本统计数据如下:
从上表可以看到,该诗歌语料库中共计近85万余首诗歌,诗歌作者数量达29377位之多;其中,字段包括“题目”、“朝代”、“作者”和“内容(诗歌)”。
为了方便后续的分析,笔者仅取其中的律诗和绝句,且仅取其中的五言和七言,排律(如《春江花月夜》、《长恨歌》等)、杂言(如李白的将进酒)等就不在本文的分析范围之内。
经过数据清洗后,最终得诗544,443,占到原数据库的59.1%,以下分别是清洗后的诗歌数据统计结果和部分样例:
针对上述数据,笔者在本文中主要有两个大目标:
构建一个包含热门题材标签的诗歌语料库,用于后续的诗歌题材分类和诗歌生成任务;
基于上述诗歌语料库的各类文本挖掘和语义分析,以期得到有趣味的发现。
针对上述目标,本文的实现路线图,同时也是本文的行文脉络,如下所示(点击图片可放大查看):
值得注意的是,上述实现路径中,涉及到自然语言处理的两大组成部分,即自然语言理解(分词、语义建模、语义相似度、聚类和分类等)和自然语言生成(诗歌生成和诗歌翻译),看完也会对自然语言处理有一定的了解。
信息量大,请耐心享用。
1. 诗歌分词和热词发现给定一首诗歌文本,在其中随机取一个片段,如何判断这个片段是否是一个有意义的词汇呢?
Copyright © 2018 DEDE97. 织梦97 版权所有 京ICP