欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

谁还没看过几本金庸小说?用Python分析一下当年最爱看的主角是谁

程序员文章站 2022-05-21 16:44:07
jieba用起来非常简单,短短几行代码就完成了分词工作(下图),可是...仔细一看发现哪里不对了 “段誉”作为一个姓名没有被单独分出来,而是和其他一些动词连在一起,另外也有一些角色名字被拆分成了两个甚至更多的单词,例如“神仙姊姊”被分成了“神仙”和“姊姊”两个词。 不过这也难怪,中文的灵活性太强,一 ......
谁还没看过几本金庸小说?用Python分析一下当年最爱看的主角是谁

 

谁还没看过几本金庸小说?用Python分析一下当年最爱看的主角是谁

 

  • jieba用起来非常简单,短短几行代码就完成了分词工作(下图),可是...仔细一看发现哪里不对了
  • “段誉”作为一个姓名没有被单独分出来,而是和其他一些动词连在一起,另外也有一些角色名字被拆分成了两个甚至更多的单词,例如“神仙姊姊”被分成了“神仙”和“姊姊”两个词。
  • 不过这也难怪,中文的灵活性太强,一个词往往有多层含义和多种用法,看来直接使用jieba分词还是会有不小的误差,我们得想办法来解决这个问题,不然会对分析结果造成干扰。
谁还没看过几本金庸小说?用Python分析一下当年最爱看的主角是谁

 

谁还没看过几本金庸小说?用Python分析一下当年最爱看的主角是谁

 

谁还没看过几本金庸小说?用Python分析一下当年最爱看的主角是谁

 

现在是不是有一种“我为刀俎,它为鱼肉”的感觉了。经过简单的数据处理,我们得到了每个人物的名字在小说中出现的频次,由于萧峰和乔峰是同一个人,为了方便统计将两个名字的出场次合并。

然后取出场率排名前30位的角色数据,用图表的形式展示出来。

谁还没看过几本金庸小说?用Python分析一下当年最爱看的主角是谁

 

谁还没看过几本金庸小说?用Python分析一下当年最爱看的主角是谁

 

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

  • 段誉不想学武功却练成了绝世神通
  • 一心追求王语嫣最终美人对慕容复不离不弃
  • 萧峰立志保卫大宋没想到自己居然是契丹人
  • 决定与阿朱塞外牧马,然而造化弄人,心爱的人却死在自己手上
谁还没看过几本金庸小说?用Python分析一下当年最爱看的主角是谁

 

这里我们仅提取词长度不小于4的成语、俗语和短语进行分析。同时,考虑到某些人名(例如:上官婉儿、澹台灭明)等专有名词会对分析结果造成干扰,在分词取词的时候可以一并过滤掉,最终得到这样一份词语文件:

谁还没看过几本金庸小说?用Python分析一下当年最爱看的主角是谁

 

2.云图

对用词习惯的分析更倾向于定性分析,我们这里使用词云图来作展示,首先绘制《萍踪侠影录》的词云图。

谁还没看过几本金庸小说?用Python分析一下当年最爱看的主角是谁

 

我们可以看到在这篇小说中“微微一笑”、“哈哈大笑”、“大吃一惊”、“非同小可”等词语使用频率非常高,再来看另一部作品《女帝奇英传》,词云图如下:

谁还没看过几本金庸小说?用Python分析一下当年最爱看的主角是谁

 

谁还没看过几本金庸小说?用Python分析一下当年最爱看的主角是谁

 

进群:125240963   即可获取数十套PDF哦!