水浒传里谁是主角Python帮你找答案

标签:
python词频统计水浒传人工智能程序 |
分类: python |
作为四大名著之一,“水浒传”人人皆知。它是一部描写水泊梁山108位好汉史迹的长篇小说。书中人物个个形象鲜明,栩栩如生。可是,究竟哪些人物是书中的主角呢?梁山领头大哥宋江当仁不让,肯定是男一号了。其他还有哪些呢?一时也让人答不上来。
让我们请Python来帮忙吧。Python是一种计算机语言,当前十分流行。其应用领域非常广泛,特别是在涉及人工智能方面。有人称它为人工智能语言。
通常认为,一部小说中出场次数最多的人物就是作品中的主角。因此,根据作品文本中人物出现的频度,按照从大到小的顺序排列,就可以判断出谁是主角谁是次要角色了。然而, “水浒传”全文近百万字。用人工统计的方法将是十分繁琐的。但是,使用Python语言,编写40余行程序,运行半分钟就可以完成这个任务。
下面是步骤:
1.
可以从网上搜索获得,需要使用TXT格式文本。
2.
汉字不像英文,单词之间没有用空格隔开。单词的要根据上下文来判断,这叫做“分词”。分词工作很麻烦,有专门的软件来完成。这里使用的是jieba(结巴)。
3.
在统计词频时,有些频繁使用的单词,例如“因为”,“所以”, “但是”,“而且”之类,必须忽略。此项工作由Python程序完成。
4.
有时,一个人物有几个称呼,例如,“宋江”也叫“宋公明”“宋押司”, “鲁智深”又叫“鲁达”“鲁提辖”等等。因此,这些不同的人名应该归并到一个人名,以确保统计准确。此任务以及下面第5项和第6项任务也由Python完成。
5.
6.
对人名出现频率统计以后,按照从多到少的顺序排序。最前面的就可以认为是主要人物了。
最后的结果出来了。和你的预想一样吗?
本文使用软件环境:windows7