红楼梦词云分析

~~~~~~~~~~~~~~~~~~~~步骤~~~~~~~~~~~~~~~~~~~~

~~                         ~~

1):红楼梦文本 

《红楼梦》
曹雪芹  高鄂  著

第一回  甄士隐梦幻识通灵 贾雨村风尘怀闺秀
列位看官:你道此书从何而来?说起根由,虽近荒唐,细按则深有趣味。待在下将此来历注明,方使阅者了然不惑。
原来女娲氏炼石补天之时,于大荒山无稽崖炼成高经十二丈、方经二十四丈顽石三万六千五百零一块。娲皇氏只用了三万六千五百块,只单单剩了一块未用,便弃在此山青埂峰下。谁知此石自经煅炼之后,灵性已通,因见众石俱得补天,独自己无材不堪入选,遂自怨自叹,日夜悲号惭愧。
一日,正当嗟悼之际,俄见一僧一道远远而来,生得骨格不凡,丰神迥别,说说笑笑,来至峰下,坐于石边,高谈快论:先是说些云山雾海、神仙玄幻之事,后便说到红尘中荣华富贵。此石听了,不觉打动凡心,也想要到人间去享一享这荣华富贵,但自恨粗蠢,不得已,便口吐人言,向那僧道说道:“大师,弟子蠢物,不能见礼了!适闻二位谈那人世间荣耀繁华,心切慕之。弟子质虽粗蠢,性却稍通,况见二师仙形道体,定非凡品,必有补天济世之材,利物济人之德。如蒙发一点慈心,携带弟子得入红尘,在那富贵场中,温柔乡里受享几年,自当永佩洪恩,万劫不忘也!”二仙师听毕,齐憨笑道:“善哉,善哉!那红尘中有却有些乐事,但不能永远依恃;况又有‘美中不足,好事多磨’八个字紧相连属,瞬息间则又乐极悲生,人非物换,究竟是到头一梦,万境归空,倒不如不去的好。”这石凡心已炽,那里听得进这话去,乃复苦求再四。二仙知不可强制,乃叹道:“此亦静极思动,无中生有之数也!既如此,我们便携你去受享受享,只是到不得意时,切莫后悔!”石道:“自然,自然。”那僧又道:“若说你性灵,却又如此质蠢,并更无奇贵之处。如此也只好踮脚而已。也罢!我如今大施佛法,助你助,待劫终之日,复还本质,以了此案。你道好否?”石头听了,感谢不尽。那僧便念咒书符,大展幻术,将一块大石登时变成一块鲜明莹洁的美玉,且又缩成扇坠大小的可佩可拿。那僧托于掌上,笑道:“形体倒也是个宝物了!还只没有实在的好处,须得再镌上数字,使人一见便知是奇物方妙。然后好携你到那昌明隆盛之邦、诗礼簪缨之族、花柳繁华地、温柔富贵乡去安身乐业。”石头听了,喜不能禁,乃问:“不知赐了弟子那哪几件奇处?又不知携了弟子到何地方?望乞明示,使弟子不惑。”那僧笑道:“你且莫问,日后自然明白的。”说着,便袖了这石,同那道人飘然而去,竟不知投奔何方何舍。
后来,不知过了几世几劫,因有个空空道人访道求仙,从这大荒山无稽崖青埂峰下经过,忽见一大块石上字迹分明,编述历历。空空道人乃从头一看,原来就是无材补天,幻形入世,蒙茫茫大士、渺渺真人携入红尘,历尽离合悲欢、炎凉世态的一段故事。后面又有一首偈云:
无材可去补苍天,枉入红尘若许年。此系身前身后事,倩谁记去作奇传?
诗后便是此石坠落之乡,投胎之处,亲自经历的一段陈迹故事。其中家庭闺阁琐事,以及闲情诗词倒还全备,或可适趣解闷;然朝代年纪、地舆邦国却反失落无考。
空空道人遂向石头说道:“石兄,你这一段故事,据你自己说有些趣味,故编写在此,意欲问世传奇。据我看来:第一件,无朝代年纪可考;第二件,并无大贤大忠理朝廷、治风俗的善政,其中只不过几个异样女子,或情或痴,或小才微善,亦无班姑、蔡女之德能。我纵抄去,恐世人不爱看呢!”石头笑答道:“我师何太痴耶!若云无朝代可考,今我师竟借汉、唐等年纪添缀,又有何难?但我想,历来野史,皆蹈一辙,莫如我这不借此套者,反倒新奇别致。不过只取其事体情理罢了,又何必拘拘于朝代年纪哉!再者,市井俗人喜看理治之书者甚少,爱适趣闲文者特多。历来野史,或讪谤君相,或贬人妻女,奸淫凶恶,不可胜数。更有一种风月笔墨,其淫秽污臭,屠毒笔墨,坏人子弟,又不可胜数。至若佳人才子等书,则又千部共出一套,且其中终不能不涉于淫滥,以致满纸潘安、子建、西子、文君。不过作者要写出自己的那两首情诗艳赋来,故假拟出男女二人名姓,又必旁出一小人其间拨乱,亦如剧中之小丑然。且鬟婢开口即者也之乎,非文即理。故逐一看去,悉皆自相矛盾、大不近情理之话,竟不如我半世亲睹亲闻的这几个女子,虽不敢说强似前代书中所有之人,但事迹原委,亦可以消愁破闷;也有几首歪诗熟话,可以喷饭供酒。至若离合悲欢,兴衰际遇,则又追踪蹑迹,不敢稍加穿凿,徒为供人之目而反失其真传者。今之人,贫者日为衣食所累,富者又怀不足之心;纵然一时稍闲,又有贪淫恋色、好货寻愁之事,哪里有工夫去看那理治之书!所以,我这一段故事,也不愿世人称奇道妙,也不定要世人喜悦检读,只愿他们当那醉淫饱卧之时,或避世去愁之际,把此一玩,岂不省了些寿命筋力?就比那谋虚逐妄,却也省了口舌是非之害、腿脚奔忙之苦。再者,亦令世人换新眼目,不比那些胡牵乱扯,忽离忽遇,满纸才人淑女、子建、文君、红娘、小玉等通共熟套之旧稿。我师意为何如?”
空空道人听如此说,思忖半晌,将一这《石头记》再检阅一遍,因见上面虽有些指奸责佞、贬恶诛邪之语,亦非伤时骂世之旨;及至君仁臣良、父慈子孝,凡伦常所关之处,皆是称功颂德,眷眷无穷,实非别书之可比。虽其中大旨谈情,亦不过实录其事,又非假拟妄称,一味淫邀艳约,私订偷盟之可比。因毫不干涉时世,方从头至尾抄录回来,问世传奇。因空见色,由色生情,传情入色,自色悟空,空空道人遂易名为情僧,改《石头记》为《情僧录》。至?玉峰题曰《红楼梦》。东鲁孔梅溪则题曰《风月宝鉴》。后因曹雪芹于悼红轩中,披阅十载,增删五次,纂成目录,分出章回,则题曰《金陵十二钗》,并题一绝云:
满纸荒唐言,一把辛酸泪!都云作者痴,谁解其中味?
至脂砚斋甲戌抄阅再评,仍用《石头记》。
出则既明,且看石上是何故事。按那石上书云:
当日地陷东南,这东南一隅有处曰姑苏,有城曰阊门者,最是红尘中一二等富贵风流之地。这阊门外有个十里街,街内有个仁清巷,巷内有个古庙,因地方窄狭,人皆呼作葫芦庙。庙旁住着一家乡宦,姓甄名费,字士隐。嫡妻封氏,情性贤淑,深明礼义。家中虽不甚富贵,然本地便也推他为望族了。只因这甄士隐禀性恬淡,不以功名为念,每日只以观花修竹、酌酒吟诗为乐,倒是神仙一流人品。只是一件不足:如今年已半百,膝下无儿,只有一女,乳名英莲,年方三岁。
一日,炎夏永昼,士隐于书房闲坐,至手倦拋书,伏几少憩,不觉朦胧睡去。梦至一处,不辨是何地方。忽见那厢来了一僧一道,且行且谈。只听道人问道:“你携了这蠢物,意欲何往?”那僧笑道:“你放心,如今现有一段风流公案正该了结。这一干风流冤家,尚未投胎入世。趁此机会,就将此蠢物夹带于中,使他去经历经历。”那道人道:“原来近日风流冤孽又将造劫历世去不成?但不知落于何方何处?”那僧笑道:“此事说来好笑,竟是千古未闻的罕事:只因西方灵河岸上三生石畔有绛珠草一株,时有赤瑕宫神瑛侍者,日以甘露灌溉,这绛珠草便得久延岁月。后来既受天地精华,复得雨露滋养,遂得脱却草胎木质,得换人形,仅修成个女体,终日游于离恨天外,饥则食蜜青果为膳,渴则饮灌愁海水为汤。只因尚未酬报灌溉之德,故其五内便郁结着一段缠绵不尽之意。恰近日这神瑛侍者凡心偶炽,乘此昌明太平朝世,意欲下凡造历幻缘,已在警幻仙子案前挂了号。警幻亦曾问及,灌溉之情未偿,趁此倒可了结的。那绛珠仙子道:‘他是甘露之惠,我并无此水可还。他既下世为人,我也去下世为人,但把我一生所有的眼泪还他,也偿还得过他了。’因此一事,就勾出多少风流冤家来陪他们去了结此案。”那道人道:“果是罕闻。实未闻有‘还泪’之说。想来这一段故事,比历来风月事故更加琐碎细腻了。”那僧道:“历来几个风流人物,不过传其大概,以及诗词篇章而已;至家庭闺阁中一饮一食,总未述记。再者,大半风月故事,不过偷香窃玉,暗约私奔而已,并不曾将儿女之真情发泄一二。想这一干人入世,其情痴色鬼、贤愚不肖者,悉与前人传述不同矣!”那道人道:“趁此你我何不也去下世度脱几个,岂不是一场功德?”那僧道:“正合吾意。你且同我到警幻仙子宫中,将蠢物交割清楚,待这一干风流孽鬼下世已完,你我再去。如今虽已有一半落尘,然犹未全集。”道人道:“既如此,便随你去来。”
却说甄士隐俱听得明白,但不知所云“蠢物”系何东西。遂不禁上前施礼,笑问道:“二仙师请了。”那僧道也忙答礼相问。士隐因说道:“适闻仙师所谈因果,实人世罕闻者。但弟子愚浊,不能洞悉明白,若蒙大开痴顽,备细一闻,弟子则洗耳谛听,稍能警省,亦可免沉伦之苦。”二仙笑道:“此乃玄机不可预泄者。到那时,只不要忘了我二人,便可跳出火坑矣。”士隐听了,不便再问,因笑道:“玄机不可预泄,但适云‘蠢物’,不知为何,或可一见否?”那僧道:“若问此物,倒有一面之缘。”说着,取出递与士隐。士隐接了看时,原来是块鲜明美玉,上面字迹分明,镌着“通灵宝玉”四字,后面还有几行小字。正欲细看时,那僧便说:“已到幻境!”便强从手中夺了去,与道人竟过一大石牌坊,上书四个大字,乃是“太虚幻境”。两边又有一幅对联,道是:
假作真时真亦假,无为有处有还无。
士隐意欲也跟了过去,方举步时,忽听一声霹雳,有若山崩地陷。士隐大叫一声,定睛一看,只见烈日炎炎,芭蕉冉冉,所梦之事,便忘了大半。又见奶母正抱了英莲走来。士隐见女儿越发生得粉妆玉琢,乖觉可喜,便伸手接来,抱在怀内,逗他玩耍一回;又带至街前,看那过会的热闹。方欲进来时,只见从那边来了一僧一道。那僧则癞头跣脚,那道则跛足蓬头,疯疯癫癫,挥霍谈笑而至。及至到了他门前,看见士隐抱着英莲,那僧便大哭起来,又向士隐道:“施主,你把这有命无运、累及爹娘之物,抱在怀内作甚?”士隐听了,知是疯话,也不去睬他。那僧还说:“舍我罢,舍我罢!”士隐不耐烦,便抱女儿撤身进去,那僧乃指着他大笑,口内念了四句言词,道是:
惯养娇生笑你痴,菱花空对雪澌澌。好防佳节元宵后,便是烟消火灭时....

2):轮廓清晰地图片  

3):停止词 (字型准备呗,网上挺多的)

4):中文乱码的话,记得设置字体偶,say simhei.ttf

5):代码实现如下:

 1 # -*- coding:utf-8 -*-
 2 # author:zxy
 3 # Date:2018-11-28
 4
 5 from PIL import Image
 6 import numpy as np
 7 from wordcloud import WordCloud, ImageColorGenerator
 8 import jieba
 9
10
11 def stopwordslist(filepath):
12     stopwords = [line.strip() for line in open(filepath, ‘r‘, encoding=‘gb18030‘).readlines()]
13     return stopwords
14
15 stopword = stopwordslist(‘stoplist.txt‘)
16 with open(‘hongloumeng.txt‘, ‘r‘, encoding=‘utf-8‘) as f:
17     txt = f.read()
18     name = f.name
19 words = jieba.lcut(txt,stopword)
20 counts = {}
21 for word in words:
22     if len(word) == 1 or len(word) >=4:
23         continue
24     elif word=="凤姐儿" or word=="王熙凤" or word=="二奶奶" or word=="凤辣子" or word=="二奶" or word=="凤姐":
25         counts["王熙凤"] = counts.get("王熙凤", 0) + 1
26     elif word == "贾琏" or word == "琏二爷" or word=="国舅老爷":
27         counts["贾琏"] = counts.get("贾琏", 0) + 1
28     elif word == "湘云" or word == "史湘云" :
29         counts["史湘云"] = counts.get("史湘云", 0) + 1
30     elif word == "湘云" or word == "史湘云" :
31         counts["史湘云"] = counts.get("史湘云", 0) + 1
32     elif word == "宝钗" or word == "薛宝钗" or word=="宝姐姐" or word=="薛大姑娘" or word=="蘅芜君":
33         counts["薛宝钗"] = counts.get("薛宝钗", 0) + 1
34     elif word=="林妹妹" or word=="黛玉" or word=="林黛玉" or word=="林姑娘" or word=="颦颦":
35         counts["林黛玉"]=counts.get("林黛玉",0)+1
36     elif word=="宝哥哥" or word=="宝二爷" or word=="宝玉" or word=="贾宝玉" or word=="怡红公子":
37         counts["贾宝玉"]=counts.get("贾宝玉",0)+1
38     else:
39         counts[word] = counts.get(word, 0) + 1
40
41 items = list(counts.items())
42 items.sort(key=lambda x: x[1], reverse=True)
43 c = ‘ ‘
44 for i in range(len(items)):
45     a, b = items[i]
46     c += a + ‘ ‘
47
48
49 mark = np.array(Image.open(‘./image/timg.jpg‘))
50
51 stopword = stopwordslist(‘stoplist.txt‘)
52 font=r‘C:\Windows\Fonts\simhei.ttf‘
53
54 wc = WordCloud(
55     mask=mark,
56     background_color=‘white‘,
57     max_words=200,
58     font_path=font,
59     contour_color=‘blue‘,
60     stopwords=stopword
61 )
62 wc.generate(c)
63 name = name.split(‘/‘)[-1].split(‘.‘)[0]
64 wc.to_file(‘image/‘+name+‘.jpg‘)
65 f.close()

6):效果如下图所示

原文地址:https://www.cnblogs.com/z-712/p/11074031.html

时间: 2024-11-09 03:39:56

红楼梦词云分析的相关文章

用Python绘制红楼梦词云图,竟然发现了这个!

Python在数据分析中越来越受欢迎,已经达到了统计学家对R的喜爱程度,Python的拥护者们当然不会落后于R,开发了一个个好玩的数据分析工具,下面我们来看看如何使用Python,来读红楼梦,绘制小说中的词云. 首先当然要导入我们需要用到的包,下面import进来的包,都是我们将在接下来的程序中使用到的包,如果大家还没有安装它们,那么尽快安装它们吧. import jieba import numpy import codecs import pandas import matplotlib.p

词云分析《天龙八部》人物出现次数

一.需要的三方库 1.安装词云: pip install wordcloud 2.安装结巴 pip install jieba 3.安装matplotlib pip install matplotlib 二.实现代码 1 import jieba # 分词函数 2 from scipy.misc import imread # 这是一个处理图像的函数 3 from wordcloud import WordCloud, STOPWORDS, ImageColorGenerator 4 impor

词云分析

“词云”这个概念由美国西北大学新闻学副教授.新媒体专业主任里奇·戈登(Rich Gordon)提出.戈登做过编辑.记者,曾担任迈阿密先驱报(Miami Herald)新媒体版的主任.他一直很关注网络内容发布的最新形式——即那些只有互联网可以采用而报纸.广播.电视等其它媒体都望尘莫及的传播方式.通常,这些最新的.最适合网络的传播方式,也是最好的传播方式.词云图,也叫文字云,是对文本中出现频率较高的“关键词”予以视觉化的展现,词云图过滤掉大量的低频低质的文本信息,使得浏览者只要一眼扫过文本就可领略文

【python数据挖掘】使用词云分析来分析豆瓣影评数据

概述: 制作词云的步骤: 1.从文件中读取数据 2.根据数据追加在一个字符串里面,然后用jieba分词器将评论分开 3.设置WordCloud词云参数 4.保存最后的结果 数据:使用爬取的豆瓣影评数据 第一步:引入依赖库 # 1.表格库 import csv # 2.jieba分词器 import jieba # 3.算法运算库 import numpy # 4.图像库 from PIL import Image # 5.词云库 from wordcloud import WordCloud 第

词云分析之英文

from pyecharts import WordCloud import jieba import re import nltk with open(r'F:\算法\others\merry.txt', 'r', encoding='utf-8') as f: text = f.readlines() word_list = [] word_dic = {} for line in text: if re.findall('([a-zA-Z])', line.strip()): result

用R进行文本分析初探——以《红楼梦》为例

刚刚接触R语言和文本分析,为了将二者结合,试着对<红楼梦>进行分析,首先对<红楼梦>进行分词处理,并统计词频,同时画出标签云. 其实文本分析还可以分析其它很多东西,我的下一步打算分析新浪微博.现在先写一个小的分析,作为学习用. 文本分析是指对文本的表示及其特征项的选取:文本分析是文本挖掘.信息检索的一个基本问题,它把从文本中抽取出的特征词进行量化来表示文本信息. 一.需要加载的包 需要用到rJava,Rwordseg,wordcloud 安装步骤: 1.安装java: http:/

Python数据挖掘-词云美化

1.语料库构建 由于不像之前是对很多个文件进行词频统计,所以不需要使用os.walk()方法遍历每一个文件: 只需使用codecs.open()打开相应的文件,(记得close): 然后使用jieba模块中的load_userdict()方法导入词库 import jieba import numpy import codecs import pandas file=codecs.open( "C:\\Users\\Jw\\Desktop\\python_work\\Python数据挖掘实战课程

如何用Python做词云(收藏)

看过之后你有什么感觉?想不想自己做一张出来? 如果你的答案是肯定的,我们就不要拖延了,今天就来一步步从零开始做个词云分析图.当然,做为基础的词云图,肯定比不上刚才那两张信息图酷炫.不过不要紧,好的开始是成功的一半嘛.食髓知味,后面你就可以自己升级技能,进入你开挂的成功之路. 网上教你做信息图的教程很多.许多都是利用了专用工具.这些工具好是好,便捷而强大.只是它们功能都太过专一,适用范围有限.今天我们要尝试的,是用通用的编程语言Python来做词云. Python是一种时下很流行的编程语言.你不仅

使用Python定制词云

一.实验介绍 1.1 实验内容 在互联网时代,人们获取信息的途径多种多样,大量的信息涌入到人们的视线中.如何从浩如烟海的信息中提炼出关键信息,滤除垃圾信息,一直是现代人关注的问题.在这个信息爆炸的时代,我们每时每刻都要更新自己的知识储备,而网络是最好的学习平台.对信息过滤和处理能力强,学习效率就会得到提高."词云"就是为此而诞生的."词云"是对网络文本中出现频率较高的"关键词"予以视觉上的突出,形成"关键词云层"或"