李白对杜甫的感情,远不迭杜甫对李白的深?白居易才是唐诗圈里“大V”中的战斗机?除吟诗作对,数据侠告知你,对于唐诗咱们还可以用数据剖析来激扬笔墨,寻觅那些飘泊在字里行间的人物关系。
文/ 数据侠 前进四师长教员
用CBDB数据库,关上剖析唐朝墨客关系的大门
前段光阴随着《中国诗词大会》的热播,全国人平易近掀起了读唐诗的浪潮。在我还念中学的时候,每一当心情不好,就靠读诗词来排遣。作为一名古典诗词快乐喜爱者,逐步读得多了,就发现唐朝墨客之间存在着玄妙的关系。
比如杜甫异常喜欢李白,到了做梦都想见李白的田地:三夜频梦君,情亲见君意(《梦李白》)。而李白向孟浩然表过白:吾爱孟役夫,风骚世界闻(《赠孟浩然》)。孟浩然的好基友则是王昌龄:数年同笔砚,兹夕间衾裯(《送王昌龄之岭南》)。
出于猎奇心,我一度想理清楚他们之间的关系。然则这件同族儿要有两个异常棘手的点:
全唐诗数量太多了,一共有四万多首。
墨客的别称太多,比如杜甫:按字称为子美,按排行称为杜二,按官职称为杜工部。整顿起来异常费事。
针对第一点,我现在用盘算机来做,即便数量再多也无所谓。
第二点则略微费事一点,咱们使用了哈佛大学编纂的《中国历代人物专辑资料库》(China Biographical Database Project 以下简称CBDB)。CBDB记录了中国历代名人的传记资料,并保存在关系型数据库中。
CBDB由很多张表组成,每一张表记录了人物的不同信息。在咱们此次的剖析中,只用到了个中两张表,人物的主要信息表:BIOG_MAIN以及人物的别名表:ALTNAME_DATA。首先从BIOG_MAIN中查询出人物编号c_personid,接着用c_personid从ALTNAME_DATA中查询出别名,以下图所示:
图中能够看到杜甫有三个别称:子美、杜2、杜工部。
当然也有很多重名的现象。比如咱们查询王维时,会找出一堆叫王维的。
这个时候,咱们就要使用生卒年来剖断:这小我物究竟是否是唐朝的。此次要从数据库中查询人物的生卒年。
唐朝建立于618年,消亡于907年。对照后立刻发现,第二个王维才是咱们要找的墨客王维。
查询别名核实一下:
看到了熟习的王右丞以及摩诘,没错,这正是王维同学。
由于CBDB搜聚的历史人物太多,重名现象异常重大。经由一番探索,我终极设置了以下的排除重名策略:
如果人物生卒年俱全,那么只需生卒区间以及唐朝连续光阴有交加即可。如果存在这样的墨客,那么间接把这小我作为全唐诗中的作者。
如果人物只有生年或许卒年,那么生年或卒年必须在唐朝的连续光阴内。将这样的人加入候选人列表。
如果人物生卒年都不详,那么舍弃之。
经由这三条判断之后:
如果候选人列表为空,那么解释CBDB中没有目标人选,舍弃这位墨客。
如果候选人多于一个,则解释排除重名失败,舍弃这位墨客。
这类策略其实不完美,存在部分注明墨客被舍弃的情形。为此我手动添加了他们:
还有部分墨客的别称比较尴尬,属于唐诗中的经常使用词,须要手动去除。以下:
经由这一番筛选,全唐诗华夏本的2609位作者,只剩下了762位。这就够了,有名的墨客都在这个列表傍边,接上去咱们只关心这762位墨客之间的关系。
李白不如杜甫重情谊,白居易才是真“大V”
利用上面的墨客及别称列表,咱们在全唐诗中来搜索墨客之间的引用关系。规则是:诗的标题以及正文中只需提到过对方,那么两者之间的引用关系加1。一首诗如果提到多次对方,只算一次引用。
经由盘算机一番运行,终极得到了引用关系表。
首先来检讨一下李白以及杜甫之间的引用关系:
不错,杜甫写了12首与李白无关的诗,李白则只有3首与杜甫无关的诗。李白这类同伙,确实差劲了一点啊......
从这张图也能够看出,咱们的程序能够识别出墨客的别名,比如杜甫的《寄李十二白二十韵》以及李白的《鲁郡东石门送杜二甫》都没有间接提到对方的名字。
除此之外,我还给墨客之间的引用关系排了个座次,下面显示了排名前三十的引用关系:
咱们看到,全唐诗中排名第一的好基友绝对是陆龟蒙以及皮日休。这两位互相提到对方的次数都在百次以上,这是因为陆龟蒙以及皮日休特殊喜欢唱以及,你写一首送我,我再回一首赠你,跟现在微博大V之间的互动差不多。这两位常年唱以及,最初将往来的唱以及诗作编写了中国文学史上的第一本唱以及诗集:《松陵集》。为了不辜负他们之间的友情,文学史上通常将两者合称为“皮陆”。
并列第二的则是白居易以及刘禹锡、白居易以及元稹。白居易以及刘禹锡同年(772年)出生,从政途径都是各类被贬谪。两人都很长寿,刘禹锡71岁时去世,白居易则活了75岁。白居易在得悉刘禹锡去世的消息时,写下了千古名句:
“四海齐名白与刘,百年交分两缱绻。同贫同病退闲日,一死一生临老头。”
白居易以及元稹我不想多写了,人人只需知道二人在文学史上被合称为“元白”,就能想见二者的亲密关系了。从排名前三十的引用关系来看,白居易绝对是唐朝墨客同伙圈中的明星,是大V中的大V。
唐朝墨客引用关系的社交网络
只有引用关系列表岂不是有些水灵灵的,接上去才是本文的重头戏。我将使用ECharts来可视化墨客之间的引用关系,终极得到墨客们的社交网络。
因为咱们的样本中一共有762位墨客,为了不画出的图太拥堵,看不清,我只将前一百的引用关系图示化,以下图:
箭头表示墨客们之间的引用关系。比如说白居易引用了元稹,那么就有白居易指向元稹的箭头,元稹引用了白居易,相应的也有元稹指向白居易的箭头。
箭头的粗细程度则表示了墨客们之间引用关系的强弱。白居易引用元稹的数量为167次,元稹引用白居易的数量为88次,那么白居易指向元稹的箭头就要粗一些。
图中清晰的显示除唐朝墨客的两个大型同伙圈:杜甫-李白同伙圈、白居易同伙圈。没错,他们分别是盛唐以及中唐两个时期的核心墨客。
虽然只画出了排名前一百的引用关系,但照样很拥堵。文学史上将唐诗根据光阴划分为4个阶段:初唐、盛唐、中唐、晚唐。接上去咱们就分别画出这四个阶段的社交网络图。
初唐墨客
从箭头的粗细来看,初唐墨客中关系最佳的是宋之问以及沈铨期。这两位正是宫廷墨客的代表,他们两位确定了近体诗的格律,对仗等规则。粗略的说,近体诗的规则便是他们俩发明进去的。对了,他们俩在文学史上一般也合成“沈宋”哦,看来要成为宜基友,没有文学史的认证是不行的。
盛唐墨客
(图片解释:为了制图清晰,盛唐墨客社交网络只画出了引用数大于即是2的关系。)
盛唐墨客的核心无疑是“李杜文章在,光焰万丈长”中提到的李白以及杜甫了。咱们再次看到,杜甫指向李白的箭头比李白指向杜甫的箭头要粗得多。而且盛唐的墨客们显著分为两群,一群以李白-杜甫为核心,一群以皇甫冉以及刘长卿为核心,为甚么有这样的局势?我也不知道,有没有对文学史比较相识的同伙,请在评论里见教。
中唐墨客
(图片解释:为了制图清晰,中唐墨客社交网络只画出了引用数大于即是2的关系。)
中唐墨客社交网的特性很显著,各位墨客紧紧团结在以白居易、元稹、刘禹锡为核心的“文坛政治局”周围,勠力齐心,同舟共济,为唐诗从浪漫主义向现实主义的巨大转折做出了历史性贡献。
晚唐墨客
晚唐墨客的社交网络比较散乱,没有显著的核心。个中最主要的便是李商隐以及杜牧了,他俩得到了文学史认证的“小李杜”好基友名称。
这篇文章写到这里,我突然意想到,即便一小我对唐诗没有任何相识,他只需看这些社交网络图,就能立刻发现哪位墨客是同时期墨客的核心,哪位墨客的影响最大。这些都是颇有用的信息。
而咱们可以用盘算机来剖析任何时期的人物关系。中国正好是历史文献最全的国家,如果能对这些文献统一做系统的剖析,岂不是可以做出随着光阴变化的历史人物关系图?
这在之前是弗成能的事,现在随着盘算机技术的发展以及古典文献的数字化进程,逐渐有可能了。这当然是很大的事情量,任何小我都弗成能完成。我想,有没有可能参考linux的开发过程,用开源的方式,人人一路来完成这件事。
我已经把用到的python源码上传到Github上,迎接感兴趣的同伙共同研究。
(注:本文转载自公号“前进日志”,文章仅代表作者概念,文中数据图表均来自作者。)
数据侠门派
本文数据侠前进四师长教员。他的正经事情是航天工程师,这是一个异常严谨的行业,容不得半点差错。是以,他把多余的脑洞都用于专业快乐喜爱上:数据剖析。他喜欢用各类算法剖析各类好玩的器械,迎接各位同好一路交换。
若何加入数据侠
“数据侠”栏目搜罗环球最IN的数据侠客,利用人工智能、机械进修等各类前瞻算法,从数据的视角洞察花费生活的各个方面,打造理性酷炫、生动有趣的数据剖析盛宴。用大数据,阐述事实及其违地的故事以及逻辑趋势。
DT时期超级英雄正在组队!你也想要成为数据侠吗?请将你脑洞大开的数据作品,发到数据侠联盟盟主程一祥邮箱:chengyixiang@dtcj.com。
本文采集于百度百家,作者整理。