用Python讀紅樓

用Python讀紅樓

最近受到這篇文章用Python讀金庸武俠的啟發(fā)。作為古典文(zhuang)學(xué)(bi)青年打却,一定要用Python來(lái)試試我讀了20年的《紅樓夢(mèng)》。

首先從網(wǎng)上找到了紅樓夢(mèng).txt(不清楚版本接癌,可能是程甲版)和對(duì)應(yīng)的人物表应媚。

把人名加入詞庫(kù),然后用結(jié)巴分詞切分整個(gè)文章(我沒(méi)有區(qū)分前八十回和后四十回)鲁冯,加入gensim的訓(xùn)練中

def tranning():
    with open('hlm.txt') as f:
        data = [line.strip()
                for line in f.readlines()
                if line.strip()]

    sentences = []
    for line in data:
        words = list(jieba.cut(line))
        sentences.append(words)
    model = gensim.models.Word2Vec(sentences,
                                   size=100,
                                   window=5,
                                   min_count=5,
                                   workers=4)
    return model

訓(xùn)練生成一個(gè)以詞向量表示詞的模型拷沸,下面就用代碼來(lái)找找和寶釵相似的人物吧。

    for k, s in model.most_similar(positive=["寶釵"]):
        print('{}:{}'.format(k, s))

探春:0.9595787525177002
紫鵑:0.9429049491882324
黛玉:0.9325058460235596
林黛玉:0.9230709075927734
李紈:0.9200501441955566
湘云:0.9067497253417969
襲人:0.9052997827529907
薛姨媽:0.9024999737739563
賈璉:0.899409294128418
寶玉:0.8973875045776367

電腦認(rèn)為探春和寶釵的相似度最高薯演,回想起第五十六回《敏探春興利除宿弊 賢寶釵小惠全大體》撞芍,都是治家的好手,算是有點(diǎn)道理跨扮。
但是這個(gè)第二相似的是紫鵑序无,為什么不是襲人?看來(lái)還是沒(méi)讀懂衡创?
第三名是黛玉帝嗡,這個(gè)不奇怪,所謂“釵黛一體”璃氢,紅學(xué)家論述很多哟玷。(這里說(shuō)明一下,因?yàn)槟壳斑€沒(méi)法把黛玉和林黛玉這兩個(gè)名字合為一個(gè)人一也,可能結(jié)果有些偏差)

下面用相似關(guān)系的來(lái)試試

find_relationship(model, '黛玉', '紫鵑', '寶玉')
給定“黛玉”與“紫鵑”碗降,“寶玉”和“平兒”有類似的關(guān)系

我本意是晴雯或者襲人吧,不過(guò)這里平兒亂入塘秦,是不是說(shuō)明了寶玉的一些小心思,呵呵动看,耐人尋味尊剔。

下面用K-Means算法,來(lái)聚類試試

類別1:
賈敬, 賈珠, 賈寶玉, 賈琮, 賈菌, 賈芹, 賈菖, 賈菱, 巧姐兒, 王子騰, 
王仁, 王熙鳳, 薛寶釵, 林妹妹, 賈蓉之妻, 甄寶玉, 綺霰, 檀云, 茜雪, 春燕, 
墜兒, 四兒, 佳蕙, 待書(shū), 入畫(huà), 彩屏, 翠墨, 蓮花兒, 珍珠, 玻璃, 
翡翠, 小紅, 金釧, 玉釧, 彩霞, 素云, 翠縷, 寶珠, 小螺, 傻大姐, 
焦大, 李貴, 鋤藥, 墨雨, 來(lái)旺, 隆兒, 昭兒, 喜兒, 王信, 齡官, 
蕊官, 藕官, 寶官, 文官, 葵官, 空空道人, 甄士隱, 小童, 神瑛侍者, 警幻仙子, 
賈雨村, 封肅, 冷子興, 林如海, 李嬤嬤, 門子, 馮淵, 拐子, 劉氏, 板兒, 
青兒, 周瑞, 智能, 詹光, 吳新登, 秦業(yè), 金氏, 戴權(quán), 張材家的, 水溶, 
凈虛, 趙嬤嬤, 程日興, 花自芳, 多渾蟲(chóng), 卜世仁, 倪二, 馬道婆, 周姨娘, 蔣玉菡, 
云兒, 張道士, 傅試, 宋嬤嬤, 鮑二家的, 金文翔, 柳湘蓮, 賴尚榮, 邢岫煙, 李嬸娘, 
李紋, 李綺, 胡君榮, 烏進(jìn)孝, 女先兒, 夏婆子, 柳家的, 佩鳳, 尤三姐, 尤老娘, 
張華, 俞祿, 秋桐, 喜鸞, 王善保家的, 邢德全, 孫紹祖, 王一貼, 
類別2:
黛玉, 寶釵, 賈政, 賈璉, 賈母, 寶玉, 王夫人, 鳳姐, 薛姨媽, 邢夫人, 
尤氏, 李紈, 劉姥姥, 襲人, 晴雯, 麝月, 紫鵑, 鴛鴦, 平兒, 
類別3:
賈赦, 賈珍, 賈環(huán), 賈瑞, 賈蓉, 賈蘭, 賈薔, 賈蕓, 史湘云, 薛蟠, 
薛蝌, 林黛玉, 香菱, 妙玉, 趙姨娘, 秋紋, 司棋, 雪雁, 琥珀, 鶯兒, 
豐兒, 彩云, 寶蟾, 茗煙, 焙茗, 興兒, 芳官, 周瑞家的, 秦鐘, 馮紫英, 
賴大, 林之孝, 林之孝家的, 尤二姐, 

看見(jiàn)類別2都是主角菱皆,類別3是配角须误,類別1就是跑龍?zhí)椎牧?/p>

再采用層級(jí)聚類的方式
得到如下的圖

關(guān)系圖

這幅圖綠色的線都是主角,有些聚類比較準(zhǔn)確仇轻,比如賈政京痢、賈赦屬于兄弟倆。
藕官篷店、小紅祭椰、春燕臭家、墜兒都在丫頭的分類里面。
有些比較搞笑方淤,薛姨媽和李紈歸為一類钉赁,難道因?yàn)槎际枪褘D的緣故嗎(:-D)?
薛蟠和妙玉分在一類携茂,這是什么鬼你踩?難道預(yù)示了妙玉"無(wú)瑕白玉遭泥陷"的結(jié)局嗎?
以上就是我的分析, gensim都是初學(xué),就一個(gè)小時(shí)讳苦,一個(gè)新的紅學(xué)家就誕生了带膜,??
需要代碼的請(qǐng)看這里 (https://github.com/JoeCao/PythonHLM)
嚴(yán)肅的來(lái)說(shuō),因?yàn)榧t樓夢(mèng)屬于明清小說(shuō)鸳谜,行文有很多和現(xiàn)代文不一樣的地方膝藕,結(jié)巴分詞不能很好的切詞,導(dǎo)致學(xué)習(xí)效果比較差卿堂。
以上分析純屬逗樂(lè)束莫,不能當(dāng)真。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末草描,一起剝皮案震驚了整個(gè)濱河市览绿,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌穗慕,老刑警劉巖饿敲,帶你破解...
    沈念sama閱讀 223,002評(píng)論 6 519
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異逛绵,居然都是意外死亡怀各,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,357評(píng)論 3 400
  • 文/潘曉璐 我一進(jìn)店門术浪,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)瓢对,“玉大人,你說(shuō)我怎么就攤上這事胰苏∷队迹” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 169,787評(píng)論 0 365
  • 文/不壞的土叔 我叫張陵硕并,是天一觀的道長(zhǎng)法焰。 經(jīng)常有香客問(wèn)我,道長(zhǎng)倔毙,這世上最難降的妖魔是什么埃仪? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 60,237評(píng)論 1 300
  • 正文 為了忘掉前任,我火速辦了婚禮陕赃,結(jié)果婚禮上卵蛉,老公的妹妹穿的比我還像新娘颁股。我一直安慰自己,他們只是感情好毙玻,可當(dāng)我...
    茶點(diǎn)故事閱讀 69,237評(píng)論 6 398
  • 文/花漫 我一把揭開(kāi)白布豌蟋。 她就那樣靜靜地躺著,像睡著了一般桑滩。 火紅的嫁衣襯著肌膚如雪梧疲。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 52,821評(píng)論 1 314
  • 那天运准,我揣著相機(jī)與錄音幌氮,去河邊找鬼。 笑死胁澳,一個(gè)胖子當(dāng)著我的面吹牛该互,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播韭畸,決...
    沈念sama閱讀 41,236評(píng)論 3 424
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼宇智,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了胰丁?” 一聲冷哼從身側(cè)響起随橘,我...
    開(kāi)封第一講書(shū)人閱讀 40,196評(píng)論 0 277
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎锦庸,沒(méi)想到半個(gè)月后机蔗,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,716評(píng)論 1 320
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,794評(píng)論 3 343
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了辽聊。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,928評(píng)論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡牙言,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出怪得,到底是詐尸還是另有隱情嬉挡,我是刑警寧澤,帶...
    沈念sama閱讀 36,583評(píng)論 5 351
  • 正文 年R本政府宣布汇恤,位于F島的核電站,受9級(jí)特大地震影響拔恰,放射性物質(zhì)發(fā)生泄漏因谎。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,264評(píng)論 3 336
  • 文/蒙蒙 一颜懊、第九天 我趴在偏房一處隱蔽的房頂上張望财岔。 院中可真熱鬧风皿,春花似錦、人聲如沸匠璧。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,755評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)夷恍。三九已至魔眨,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間酿雪,已是汗流浹背遏暴。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,869評(píng)論 1 274
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留指黎,地道東北人朋凉。 一個(gè)月前我還...
    沈念sama閱讀 49,378評(píng)論 3 379
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像醋安,于是被迫代替她去往敵國(guó)和親杂彭。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,937評(píng)論 2 361

推薦閱讀更多精彩內(nèi)容