- 1、本文档共4页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
基于Python技术的《红楼梦》文本分析研究
摘要:随着互联网技术的普及,信息呈指数级增长,如何从大量文本中挖掘有价值的信息一直是文本分析研究的主题。本文使用Python技术对《红楼梦》从基本信息统计、词频云图绘制、人物关系分析、章回聚类分析等方面做可视化分析,挖掘小说文本中隐蔽性信息。与传统文学作品分析方法相比,该数据挖掘的定量分析方法可以高效获取文本文献中有潜在性的信息,具有一定的普适性和应用价值。
中图分类号:I207.411文献标识码:A
随着计算机技术不断发展,世界上的主要语言都建立了许多对应不同规模和类型的语料库,语料库语言学在近些年也得到了快速发展,并不断趋于成熟、完善。国内AntConc、TreeTagger语料库在文本分析方面使用较为广泛,但是这些软件不能对中文文本的研究提供精确支持[1]。随着大数据技术的普及,研究者开始应用数据挖掘等技术解决中文文本分析遇到的问题。数据挖掘技术典型的代表之一就是Python语言的出现,Python相对于其他专用的文本分析软件更具有灵活性[2],可以利用Pyecharts、Networkx等第三方库对文本数据进行可视化分析。
《红楼梦》作为古典四大名著之一,塑造了许多经典人物形象,是五千年文化传统沉淀的百科全书。传统文学作品文本分析主要是发现文学作品的价值,判断小说当中的社会结构与实际社会结构的相似度,而这种分析依靠的是读者自身对文学作品的理解与思考,仅仅采用梳理方式完成,对于文本数据潜在的信息无法探知,采用文本数据挖掘技术正是弥补这一问题的有效手段之一。本研究使用Python数据挖掘技术对《红楼梦》文本潜在信息进行简要可视化分析与展示,有助于读者更好去理解小说的文本内容。
1《红楼梦》文本基本信息统计
导入“红楼梦.txt”文件数据,首先对数据进行清洗预处理。随后,可以通过编写代码实现提取出自己需要的信息,例如输入相关代码,统计整个文本中出现“笑”或“喜”“悲”或“哭”的频数,如图1所示。通过梳理可以看到,后三十回文中出现的笑和喜明显减少,悲和哭的次数明显增加。可以看到《红楼梦》在后三十回中的人物命运开始逐步走向悲惨,整个作品情感基调出现了转折,不再是前八十回中那些欢快场景描写中的喜,行文思路出现转折,更值得研究者去探究、去思考,符合脂砚斋的批语:“按此回之文固妙,然未见后之三十回,犹不见此之妙。”这样直观统计分析更加清楚明了,让读者了解文章整体思路,便于对文学作品的理解与掌握。
2《红楼梦》文本词频统计
《红楼梦》整本书字数是731017字,这么多文字中,哪些词语出现的次数多呢?如果单纯依靠读者自己梳理,需要大量的时间去整理。利用Python中第三方jieba库进行分词统计,可以快速梳理出一些词频信息。同时,由于《红楼梦》中人物的各种称谓较多,同一人出现多种称谓,例如“宝钗”“薛宝钗”等称谓指的是同一人。因此,需要研究者将分词后的词语导出来,进行合并或者实体链接。为了更加进一步让读者清楚直观地看到文中出现频率较高的词语,可以借助Python的第三方Wordcloud库完成文本数据分析的云图绘制。通过绘制云图可视化展示,更加清楚直观地展示出高频词汇,具体如图2所示。从绘制出云图结果可以清晰地看到,文中出现频率最高的是宝玉、王夫人(王熙凤的姑姑)、贾母、贾琏、凤姐等词语。云图中字体字号越大,说明其出现频率越高。
3《红楼梦》文本人物关系分析
一部好的作品大多是塑造了典型的人物形象,在进行文学作品分析研究时,除了要发现文学作品的价值,还需要分析文学作品中人物的关系。优秀的小说中人物社会结构能够反映当时现实世界的特征,同时反映出人物在整个社会网络中关系紧密度、社会地位和主次关系等。《红楼梦》是一本鸿篇巨著,里面出现了900多位人物,重点人物129位,人物关系错综复杂,每个人物各具特色。全书这些人物谁出场最多、人物之间又存在什么样的关系等一直是读者关注的话题。数据挖掘技术可以清晰客观地表现出人物关系网络的真实面貌,例如,林峰等使用社会网络分析法把《红楼梦》文本中出现的主要人物名字位置当做人际关系距离量化指标,采用Pajek软件绘制人物关系网络图[3];李卓宇等将《红楼梦》小说采用复杂网络方法对人物关系进行建模,利用Networkx软件包计算网络指标分析网络的结构特性[4]。本研究选择Python的第三方库Networkx库对数据实现网络建模,该库能够对特性文本进行处理和分析,利用共现关系获取一些人物关键词之间的网络关系。
对《红楼梦》整个文本的社交网络分析后发现,其中人物的社交网络有3240人,如果安排传统的文本研究者把这些人物节点以及之间的关系绘制出来,实现起来是十分艰难的,但利用Python技术可以简单快速地将其呈现出来,输出社交网络结果如图3所示。从图中的节点可以看出
文档评论(0)