程序员大数据智能分析唐诗朋友圈李杜关系如何谁是好

程序员大数据智能分析唐诗朋友圈李杜关系如何谁是好,第1张

唐朝诗人最喜欢的季节是春天,最钟意的动物是龙、马,最喜欢提及的地名是江南……

这不够,他还要告诉你全唐诗中排名第一的“好基友”是哪两位;初唐、盛唐、中唐、晚唐各时期诗坛社交网络如何,分别产生了以谁为中心的“朋友圈”……程序员的文章发表后,引发不凡的阅读量与回应,同时有人文领域的研究者指出其不足之处。高呼“代码改变世界” *** 之过急,技术的进步带给人文社科领域巨大的推力却是不争的事实:跨界研究有益亦有趣。

全唐诗作数量“无名氏”排第四

2017年2月26日,“前进四先生”终于在自己的微信公众号“前进日志”上贴出了《当我们在读唐诗时,我们在读什么》。说起他的职业“航天工程师”,似乎和唐诗没有任何关联,日常工作围着数据分析、写程序转,是标准的“程序员”。用“前进四先生”(以下简称“前进四”)的话来说:“这是一个非常严谨的行业,容不得半点差错。”

能写出这篇文章,和他另一个身份定位有关:古典诗词爱好者。平日对诗词抱有浓厚兴趣,读过不少相关书籍,在心情不好时喜欢读诗的他和千千万万观众一样,在春节期间关注到一档综艺节目《中国诗词大会》。节目的热度刺激了他的职业习惯:用数据分析遇到的各类问题,唐诗也包括在内。“前进四”对记者表示,用科技手段来分析文艺作品在学术界并不新鲜,其之前也读过相关论文,如浙江大学徐永明《中国古典文学研究的几种可视化途径———以汤显祖研究为例》。只不过这些文章多流传在学术圈中,并没有流传开来。

“程序员”开始行动了。为分析唐朝诗歌,他先从网上找来一份全唐诗,其使用的版本共2609位作者,收录42974首诗。通过Python(一种计算机程序设计语言)这种工具,他决定小试牛刀,分析唐诗中出现的字、词,找找有哪些好玩的点。

第一个问题,唐朝诗人谁的作品数量最多?程序统计的结果前三名是:白居易(2643首)、杜甫(1151首)、李白(897首)。而位居第四的是NA(843首),即“无名氏”。“前进四”后来告诉南都记者,这个统计只局限在全唐诗里,存在的不足是各个作者流传至今的诗词数量不一,提醒读者其中可能存在误差:“比如全唐诗中白居易的诗最多,这是因为白居易生前自己编纂过文集,李杜则没有,所以白的文章流传到后世的就比李杜的多一些”。

“难道唐朝诗人也讲龙马精神”

接着,他用计算机统计全唐诗中常见的字、词,例如出现最多的字、季节、颜色、植物、动物等词汇分别是哪些。“前进四”称,这些检索十分简单,只需要几行代码就可以实现;而检索的关键词是他本着对于诗歌常见意象的阅读经验想出来的。让我们看看他得出的结论:唐诗中出现最多的字是“不”字;四季出现的频率中,“春”和“秋”呈现出压倒性的场面;颜色中,诗人用的最多的是“白”色;植物中,“松”“竹”最受诗人喜爱;动物中,“龙”“马”出场次数高于其他种类,对此“前进四”开玩笑———“难道唐朝也讲龙马精神”?

至于以词为单位的分析,他告诉记者,实际与字的分析原理相同,但借助了THULAC这个分词工具。“前进四”解释,THULAC在分词之后,还能同时得到词的词性(同时他提到,此分词工具有缺陷。计算机之所以能分词,是因为它从大量的人工分词结果中学习了规律。THULAC是用现代语文分词的材料训练出来的,相应的,THULAC也就在现代语文材料分词中表现良好,针对古代文献没那么理想)。比如这个词到底是形容词,动词还是名词?THULAC的词性划分得非常细致,其中就有地名词性、时间词性、处所词性等,因此统计唐诗中出现的地名、时间、场景等也较为简单。

根据“前进四”的统计,唐诗中最常出现的地名是“江南”和“长安”,他在文中如是说———“毕竟一个地方环境好,一个地方是首都,想必这两个地方的房价一定也很贵。”那么,什么具体场景能引发诗人们的兴致呢?门前、海上、江边、楼上,“这就跟我们现在到景区门前要合影留念,到海边、河边、高楼上都要拍照发朋友圈是一个意思吧”。

更进一步,通过word2vec这个工具,实现词到向量的转换,即所有词可转换成一长串数字。由此,计算机以数字之间的相似度可以简单分析诗句中词与词之间的关联。“前进四”向记者解释,这个转化过程非三言两语能说清楚。粗略来讲,不同词的上下文是不一样的,但是又有一定的相关性。比方说“苹果”和“梨”,这两个词出现的语境应该会很相似,比如:“我们去水果店买苹果/梨吧”,“午饭后再吃个苹果/梨”。在这两个句子中,苹果和梨都是可以互换的词。而“苹果”和“猫”就基本不可能出现在相同的上下文语境中。计算机通过分析每个词上下文出现的词,最后可以每个词转换为一串数字。上下文比较接近的词,这串数字就比较接近。

以此手段,“前进四”找出了与“寂寞”关联密切的10个词:唯有、今夜、摇落、怅望、故国、伴、惆怅、深春、明日、旅。他在文中这样写道:“能看出来,诗人们往往在春日的深夜里,在树叶摇落的季节里,在旅途中,怀念故国的时候,最容易寂寞。这也难怪,我写完上个句子,都感觉有点寂寞了呢。”

最热烈“基友”:陆龟蒙和皮日休

3月12日,“前进四”又贴出另一篇分析成果《计算机告诉你,唐朝诗人之间的关系到底是什么样的》,超高的阅读量让他感到惊讶:“最初只是为了好玩,没想到有这么多人喜欢。”他告诉记者,这篇文章写的时候其实很随意,远没有之前写数学类文章那么认真。如果能知道有这么大的传播度,就会更加认真些。

这篇文章,他把关注焦点放在诗人身上,试图理清两个诗人以至于多个诗人间的关系。如何解决呢?借助全唐诗,他把“关系”简化为“引用关系”,即诗的标题和正文中只要提到过对方,那么两者之间的引用关系加1。一首诗如果提到多次对方,只算一次引用。“前进四”对记者说,“这种引用关系的分析只是大体上的分析。如果要认真分析两位诗人之间的关系,势必要按年代顺序来分析两者之间的唱和作品,这工作量有点大,并且不是我擅长的内容”。计算机无法对引用的诗做细微的情感分析,因此文中的诗坛“社交网络”“朋友圈”都只是以“引用关系”为依托。

全唐诗共2000多名作者,诗人的别称又很多,比如杜甫字子美,按排行称为杜二,按官职称为杜工部。为了让他们对号入座、不重复、不遗漏,“前进四”使用CBDB(中国历代人物传记资料库,系统性收录中国历代名人传记资料)查询诗人的主要信息及别名,排除年代不符的重名,手动补充遗漏部分。由于把全唐诗所有诗人关系都理出来会很乱,借助CBDB来的筛选,“前进四”将762位诗人纳入社交网络的关心范围。

范围既定,程序运行。首先,看一下著名的李白与杜甫。全唐诗中,杜甫写了12首与李白有关的诗,李白则只有3首与杜甫有关的诗。虽然“前进四”也调侃“李白这种朋友确实差劲了一点”,但对于近来网上流传的李杜二人的段子,他觉得“看看笑笑就好”。“前进四”表示,杜甫写李白的诗多,一方面因为李白是长辈,比杜甫大了十来岁,成名时间也早得多,更多的是因为杜甫和李白的性格不同:李白飘逸,杜甫深情。

那么,唐代诗人间的唱和互动以哪两人最为频繁呢?排名第一的是晚唐时期陆龟蒙和皮日休,堪称“绝对的好基友”。两人互相提到对方的次数均达百次以上,常年酬唱的成果被集成唱和诗集《松陵集》,文学史上也留下“皮陆”的美名。

并列排名第二的则是白居易和刘禹锡、白居易和元稹。白居易与元稹是文学史上闻名的“元白”二人组,关系之亲密自不待言;白居易和刘禹锡同年(772年)出生,从政道路都是“各种被贬谪”。白居易得知刘禹锡去世的消息后,还写下了悼亡的千古名诗:四海齐名白与刘,百年交分两绸缪。同贫同病退闲日,一死一生临老头。

白居易是“大V中的大V”

另外,从排名前三十的引用关系来看,白居易还与李逢吉、崔玄亮、李建、李绅等名字相连次数很多。“前进四”称,白居易绝对是唐朝诗人朋友圈中的明星,是“大V中的大V”。

两人间关系有了排名,“前进四”利用ECharts将前一百名引用关系图示化,得到诗人们的社交网络圈。依据引用度的强弱,关系图显示出了唐朝诗人的两个大型朋友圈:盛唐杜甫-李白朋友圈、中唐白居易朋友圈。

对于白居易这个“社交核心”,“前进四”向南都记者解释,社交网络圈的核心人物,就是与其他文人发生联系比较多,并且在文坛上有一定名望的人。白居易是其中典型,白与其同时代的其他文人都有联系,并且是当时的诗坛领袖。

除此之外,从初唐、盛唐、中唐、晚唐分阶段看,初唐诗人中关系最好的是宋之问和沈铨期,两位正是宫廷诗人的代表,确定了近体诗的格律,史称“沈宋”;晚唐诗人的社交网络比较散乱,没有明显的核心。其中最重要的就是李商隐和杜牧,文学史也以“小李杜”认证。

“这个数据统计很有趣但还流于简单”

以“前进四”这个程序员的思维,计算机不仅可以分析唐诗,还可以解剖其他时代的文献,梳理时代人物关系。当然前提是这种分析需要“对当时的时代有一定的了解”。伴随着计算机技术的发展和古典文献的数字化进程,他对做出中国历史人物关系图的愿景抱有期待。

就程序员的思路,南都记者请教了一位人文领域研究者刘锐。刘锐现在香港教育大学中国语言学系做词汇语义学、语料库语言学方面的研究。他评价两篇文章称:这种文理之间、文科和工程科学之间的跨界,在大众看来还比较新奇,想必这和教育体制的文理分科在大众中形成的观念有关。这样的文章虽然算不上学术研究(其实很多是程序员的“练笔之作”),但是对于向大众普及文理合流、文理相通的观念很有帮助。由此可以看到跨界和学术走入生活的趋势。通过一些计算机技术,从宏观的方面揭示诗词歌曲的特点,并通过现代人熟知的一些概念表达出来,比如“社交网络”、朋友圈等,能够引发大众对现象的思考,和对学术的兴趣。

刘锐告诉南都记者,之前他看过另一篇很火的文章《我分析了42万字的歌词,为了搞清楚民谣歌手们在唱些什么》,是用计算机方法分析歌词。相比之下,“前进四”的文章所用材料数量更大,分析较为严谨。不过,就学术研究而言,失之简单。做诗歌研究绕不过文学史。诗人社交网络、诗坛核心,考量的维度很多,“除了诗歌的互引,还比如各种史料记载的诗人交游的情况,诗人对文学风格的影响,贡献等。如果文章根据制图得出结论后再查查文学史,若能互相印证,会更有说服力”。

同时他认为,基于字词统计的方法是语言学中常用的方法,比如汉语中哪些是常用词,就用统计方法加一些语言学原理来确定。但是“前进四”的字词统计还是流于简单。“诗歌精细的意义不说,单说这个字词统计没有考虑到多义词、多义字的情况,这就不是很可靠了。而且他用的分词软件是不是适用于古汉语呢?古今汉语的分词是非常不同的”。

刘锐表示,整体而言他很乐见这种“跨界研究”。据他介绍,学术领域有一门计算语言学,专门用计算机研究语言。由此能验证出不少有趣的结论,最著名的便是“齐普夫定律”。此定律有点像所谓的“二八定律”,是最省力法则在语言中的体现。

“数据挖掘”在历史研究中大有可为

实际上,程序员的这次“跨界”也得到不少人文领域读者的关注。“有些不会写代码的朋友,他们想知道有没有现成的工具可以对其他文献进行分析”;还有一些读者和“前进四”交流对话,由此他听说了数字史学(digital history)这一概念,才明白自己的文章用计算机分析、展示历史,可以算作“数字史学”的范畴。

“前进四”口中的数字史学,据南京大学历史系王涛的论文《挑战与机遇:“数字史学”与历史研究》介绍,早在上个世纪90年代就有了这一概念。信息技术革命与“大数据”时代的到来,为史学研究史料整理、分析思路造成了不小的冲击。论文认为,计算机“数据挖掘”的特长在历史研究中大有可为。王涛提到,2007年开始,哈佛大学由谷歌公司支持,借助电脑“阅读”百万计电子书,利用n-grams分析书籍中出现的重要词汇,获悉不少有趣的结果。例如,对著名历史人物的成名过程有了定量的描述,而且发现成名的准备期从20世纪中期开始变得越来越短;对历史上出现的瘟疫流行路线有了清晰的描绘;主流文化对技术进步的接纳,在19世纪初平均需要66年,而在1880—1920年间,则只需27年。

无论是“计算语言学”还是“数字史学”,离普通人还是有些距离。不过,善用搜索工具、用程序处理人文,总能带给你意想不到的结论。毕竟,依照计算机分析,现代民谣歌手在歌词中最喜欢春天,最爱念叨“南方”,和全唐诗中诗人的偏爱有那么一丝接近呢。

计算机中,溢出是什么意思?

1。数据过大。 数据超过了预定类型的界限,就会出现的数据溢出。

2。数据量过大。 如定义数组 Array[10], 而在调用时使用 Array[11]! 内存缓冲区就可能会溢出。

溢出原因分析

1。程序员经验不足。 导致内存溢出,程序错乱,甚至死机。

2。程序员水平太高。 超范围 *** 作内存,以达到不可告人的目的。

以上就是关于程序员大数据智能分析唐诗朋友圈李杜关系如何谁是好全部的内容,包括:程序员大数据智能分析唐诗朋友圈李杜关系如何谁是好、什么是溢出_溢出的原因分析、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9378371.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-27
下一篇 2023-04-27

发表评论

登录后才能评论

评论列表(0条)

保存