導(dǎo)語
在Python分析紅樓夢關(guān)鍵詞一文中寡键,我們利用jieba分詞工具,提取了《紅樓夢》120回中的出現(xiàn)次數(shù)較高的詞雪隧,然后用詞云工具將結(jié)果畫了出來西轩。
這一次我們將會(huì)更細(xì)致分析紅樓夢员舵,而且由于jieba分詞工具是基于現(xiàn)代白話文而進(jìn)行分詞,可能對紅樓夢這種半白半古的文風(fēng)分析起來有偏差藕畔。這里我們借鑒知乎的一篇文章马僻,手動(dòng)建立分詞。
分詞詞頻統(tǒng)計(jì)
什么是分詞注服?
眾所周知中文是以字為單位韭邓,句子中所有的字連起來才能描述一個(gè)意思。例如我是一個(gè)學(xué)生溶弟。計(jì)算機(jī)不能很容易明白“學(xué)”女淑、“生”兩個(gè)字合起來才表示一個(gè)詞。把中文的漢字序列切分成有意義的詞辜御,就是中文分詞鸭你,有些人也稱為切詞。我是一個(gè)學(xué)生擒权,分詞的結(jié)果是:我是 一個(gè) 學(xué)生袱巨。
為了查看分詞隨著章節(jié)的變化,除了分析整本紅樓夢菜拓,我們還將紅樓夢120章回分開來瓣窄,逐章進(jìn)行分詞分析。我們調(diào)取紅樓夢中葬花吟的分詞結(jié)果:
事實(shí)上纳鼎,這和人工分詞結(jié)果對比準(zhǔn)確率有75%左右,但是由于詩詞本身分詞難度較大裳凸,加上我們對分詞準(zhǔn)確率要求也不比太高贱鄙,因而我們暫時(shí)相信這個(gè)分詞結(jié)果。
利用分詞程序得到整本紅樓夢以及每一個(gè)章節(jié)的分詞結(jié)果后姨谷,下一步就是詞頻統(tǒng)計(jì)逗宁,這個(gè)過程相當(dāng)于給每個(gè)詞進(jìn)行計(jì)數(shù)出現(xiàn)頻率最大的前16名的單詞:
你可能會(huì)問,為什么黛玉的出場率要比襲人還要低梦湘。其實(shí)黛玉還有一個(gè)單詞分身瞎颗,叫林黛玉,有294次出場捌议。如果將林黛玉出現(xiàn)的頻率加到黛玉身上哼拔,那么她會(huì)超過襲人。這一點(diǎn)同用jieba分詞的結(jié)果是一致的瓣颅。
情節(jié)變化
現(xiàn)在我們利用每個(gè)章節(jié)的分詞結(jié)果倦逐,來考察不同關(guān)鍵詞隨著小說情節(jié)變化而發(fā)生著怎樣的變化。為了排除干擾因素宫补,我們只選詞頻率最高的100個(gè)詞中進(jìn)行分析檬姥。
我們首先分析幾個(gè)人物出場的變化:
可以看出來賈母的出場一直都很高曾我,在第一百一十回史太君壽終歸地府,王鳳姐力詘失人心健民,賈母死亡后出場率迅速下降抒巢。
薛寶釵大致有兩個(gè)階段出場率比較高,一個(gè)是前25回到65回左右秉犹,這段期間正值賈府勢力鼎盛蛉谜,寶玉和姐妹們在大觀園里快樂地生活中。另一個(gè)階段就是95回后凤优,大家安排寶玉和寶釵的婚事悦陋,而這時(shí)候賈府已然走下沒落。
探春的出場在前八十回和后四十回有顯著的不同筑辨,在八十回俺驶,相較于寶玉賈母等人,探春顯得相對透明棍辕。而在八十回以后出場次數(shù)增多暮现,在賈府日漸衰落之際,探春卻發(fā)揮著越來越重要的作用楚昭。這的確驗(yàn)證了探春的一段自白:
作為紅樓夢中的搞笑擔(dān)當(dāng)栖袋,劉姥姥的出場三個(gè)階段十分明顯,第6回劉姥姥一進(jìn)榮國府抚太、39回劉姥姥是信口開河塘幅、41回劉姥姥醉臥怡紅院、113回懺宿冤鳳姐托村嫗尿贫。雖然劉姥姥出身低微电媳,也因?yàn)闆]見過大場面鬧出很多笑話,卻在最終挺身而出庆亡,患難見真情匾乓。
我們還找到了反應(yīng)情節(jié)變化的一個(gè)關(guān)鍵詞:
Python作為一門不斷發(fā)展與普及的語言,還在不斷更新中又谋。在學(xué)習(xí)時(shí)拼缝,建議找一些學(xué)習(xí)伙伴一起來學(xué)習(xí)和討論,效果更佳彰亥。如果想學(xué)習(xí)Python咧七,歡迎加入Python學(xué)習(xí)交流群(627012464),一起督促剩愧,一起學(xué)習(xí)猪叙。里面有開發(fā)工具,很多干貨和技術(shù)資料分享!
這個(gè)笑道可謂是見證了賈府興衰榮辱的核心詞匯穴翩。在前八十回賈府勢盛犬第,大家有說有笑,其樂融融芒帕。而之后隨著賈府衰敗歉嗓,眾人笑聲迅速較少,隨之而來必是哀嚎嗟嘆背蟆。
是否是同一個(gè)作者
能不能通過詞頻變化來驗(yàn)證紅樓夢是否為同一個(gè)作者呢鉴分?要想這么做,我們有一個(gè)比較靠譜的思路带膀。找到和情節(jié)無關(guān)的一些典型用詞志珍,從而分析作者的用詞習(xí)慣來觀察是否發(fā)生了明顯的變化。
通過計(jì)算一些詞匯的方差垛叨,我們找到了幾個(gè)和情節(jié)關(guān)系很小的詞匯:
我們先通過畫出頻率統(tǒng)計(jì)圖伦糯,初步觀察一下:
可以發(fā)現(xiàn),沒有這個(gè)詞在八十回前后有明顯頻率變化嗽元,但是這也有可能是情節(jié)需要敛纲。
聽見這個(gè)詞在八十回以后迅速增多,由于它和情節(jié)并沒有太大關(guān)聯(lián)剂癌,似乎是因?yàn)閾Q了作者而改變了用詞風(fēng)格導(dǎo)致淤翔。
所以這個(gè)詞可以看出來前四十回用的相對較少,而從50回之后頻率增多佩谷,但不太能看出來八十回前后的重要差距旁壮。
從上面舉的例子可以看出來,一些用詞的確在八十回前后發(fā)生了改變谐檀,但這不足以證明換了作者這一說寡具。為了更加全面研究,我們并不打算一個(gè)個(gè)列舉這些詞匯的變化圖稚补,而是采樣一種叫做“主成分分析法”的技術(shù)來提取和情節(jié)無關(guān)的詞匯的主要特征。通過觀察這些特征是否在八十回前后有區(qū)別框喳,來判斷作者更換一事课幕。
通俗解釋主成分分析法,就是假如我們選定的詞匯是一幅畫的很多碎片片段五垮,通過將這些碎片拼起來乍惊,提取主要特征,觀察整幅畫畫的是鹿還是馬放仗。
我們提取了三個(gè)主要特征润绎,并把每個(gè)章回都畫在了同一個(gè)圖上,其中紅色的是1-40回,綠色的是41-80回莉撇,而藍(lán)色的是81-120回呢蛤。
從圖上可以看出來,藍(lán)色小球有更加聚集的趨勢棍郎,但這個(gè)聚集度其障,和紅色小球的聚集度相比并不是特別明顯。所以涂佃,我們可以保守稱励翼,數(shù)據(jù)分析結(jié)果顯示,有可能更換了作者辜荠。從這一點(diǎn)可以看出來汽抚,高鶚的確花了不少功夫續(xù)寫紅樓夢,至少在用詞上面沒有讓差距太大伯病。當(dāng)然造烁,還有一種解釋是,由于高鶚要統(tǒng)籌全書狱从,他會(huì)把前面章節(jié)一些不符合自己用詞習(xí)慣的詞匯進(jìn)行改寫膨蛮,同時(shí)也不影響情節(jié)。