誰還沒看過幾本金庸小說?用Python分析一下當年最愛看的主角是誰

誰還沒看過幾本金庸小說?用Python分析一下當年最愛看的主角是誰

誰還沒看過幾本金庸小說?用Python分析一下當年最愛看的主角是誰

  • jieba用起來非常簡單,短短几行代碼就完成了分詞工作(下圖),可是...仔細一看發現哪裡不對了
  • “段譽”作為一個姓名沒有被單獨分出來,而是和其他一些動詞連在一起,另外也有一些角色名字被拆分成了兩個甚至更多的單詞,例如“神仙姊姊”被分成了“神仙”和“姊姊”兩個詞
  • 不過這也難怪,中文的靈活性太強,一個詞往往有多層含義和多種用法,看來直接使用jieba分詞還是會有不小的誤差,我們得想辦法來解決這個問題,不然會對分析結果造成干擾。
誰還沒看過幾本金庸小說?用Python分析一下當年最愛看的主角是誰

誰還沒看過幾本金庸小說?用Python分析一下當年最愛看的主角是誰

誰還沒看過幾本金庸小說?用Python分析一下當年最愛看的主角是誰

現在是不是有一種“我為刀俎,它為魚肉”的感覺了。經過簡單的數據處理,我們得到了每個人物的名字在小說中出現的頻次,由於蕭峰和喬峰是同一個人,為了方便統計將兩個名字的出場次合併。

然後取出場率排名前30位的角色數據,用圖表的形式展示出來。

誰還沒看過幾本金庸小說?用Python分析一下當年最愛看的主角是誰

誰還沒看過幾本金庸小說?用Python分析一下當年最愛看的主角是誰

其實《天龍八部》的中心思想就是“求不得”:

  • 段譽不想學武功卻練成了絕世神通
  • 一心追求王語嫣最終美人對慕容復不離不棄
  • 蕭峰立志保衛大宋沒想到自己居然是契丹人
  • 決定與阿朱塞外牧馬,然而造化弄人,心愛的人卻死在自己手上
誰還沒看過幾本金庸小說?用Python分析一下當年最愛看的主角是誰

這裡我們僅提取詞長度不小於4的成語、俗語和短語進行分析。同時,考慮到某些人名(例如:上官婉兒、澹臺滅明)等專有名詞會對分析結果造成干擾,在分詞取詞的時候可以一併過濾掉,最終得到這樣一份詞語文件:

誰還沒看過幾本金庸小說?用Python分析一下當年最愛看的主角是誰

2.雲圖

對用詞習慣的分析更傾向於定性分析,我們這裡使用詞雲圖來作展示,首先繪製《萍蹤俠影錄》的詞雲圖。

誰還沒看過幾本金庸小說?用Python分析一下當年最愛看的主角是誰

我們可以看到在這篇小說中“微微一笑”、“哈哈大笑”、“大吃一驚”、“非同小可”等詞語使用頻率非常高,再來看另一部作品《女帝奇英傳》,詞雲圖如下:

誰還沒看過幾本金庸小說?用Python分析一下當年最愛看的主角是誰

誰還沒看過幾本金庸小說?用Python分析一下當年最愛看的主角是誰


分享到:


相關文章: