一、设计实现详细说明

1.1 任务详细描述

以中国四大名著之一——《三国演义》为蓝本,结合python数据分析知识进行本次的文本分析。《三国演义》全书共120回。本次的分析主要基于统计分析、文本挖掘等知识。

1.2 设计思路详细描述数据准备、数据预处理、分词等

全书各个章节的字数、词数、段落等相关方面的关系

整体词频和词云的展示

全书各个章节进行聚类分析并可视化,主要进行了根据IF-IDF的系统聚类和根据词频的LDA主题模型聚类

人物关系网络的探索,这里选取了部分人物之间的关系进行分析,主要探索了各个章节的关系图和人物关系网络图。

1.3 涵盖主要知识点分词包jieba的运用、数据读取、数据预处理

运用wordcloud库进行词云的绘制

文本聚类分析:TF-IDF矩阵、K-Means聚类、MDS降维、PCA降维、HC聚类、t-SNE高维数据可视化

LDA主题模型

人物社交网络分析

Gephi、oracle database visualization desktop工具的使用

二、程序运行效果

2.1 数据预处理

2.1.1《三国演义》全书文本

2.1.2 重新整理行索引

2.1.3 提取标题并切分内容

2.1.4 建立保存数据的数据表

注:为了使程序正确运行,建立了一个null(空)列,但对数据分析并不会产生影响。

2.1.5 计算每章段落、字数及其内容

2.2 可视化展示

2.2.1 章节段数与章节字数

分析:由图中分析可知:在《三国演义》的120回当中,章节段数主要集中在10-20这个区间当中,章节段数中最多的便是第22章的段数最多;而每个章节字数中,字数最多的就是第60章的字数。

本张图与上图的不同之处在于每个点标注所用的文本不同

2.2.2 章节段数、字数与情节发展趋势之间的关系

由章节回数与章节段数可以看出在大概第22回章节段数最多,而章节字数与章节比较时,可以看出大概第60章左右的章节字数最多。

2.2.3 对《三国演义》进行分词

首先将每一章的分词结果作为一个列表,然后转化为pandas中的series(序列),分词后不仅需要去除长度为1的单个字,还要去除没有意义的停用词,然后将每一章的词语组成列表,放入pandas的Dataframe中。

(1)分词之后就可以统计全书的词频,为绘制词云图做准备

(2)制作词云之全书词云图

(3)用字典生成词云图

先生成相关字典:

绘制词云图:

利用图片生成有背景图片的词云

2.2.4 通过绘制词语出现的次数(频数)的直方图,来查看文章中词语的出现情况。

从中可以看出“孔明”出现的次数最多

2.2.5 绘制频数大于250次的词语直方图

发现仍是“孔明”出现次数最多

2.2.6 构建分词TF-IDF矩阵(词频逆文档频率)只截取了部分

2.2.7 K-Means聚类

K-Means聚类:对于给定的样本集A,按照样本之间的距离大小,将样本A划分为K个簇A1、A2、A3........让这些簇内的点尽量紧密地联系在一起,而让簇间的距离尽量最大。K-Means算法是无监督的聚类算法,使得每个点都属于离它最近的均值(即聚类中心)对应的簇Ai中

2.2.8 MDS降维

针对在MDS下每个章节的相对分布情况,章节之间没有很明显的分界线,因为这是一本故事书,讲的是故事,但因为每个章节都是不一样的,相互之间的联系也是不同的

2.2.9 PCA降维

从图中可以得知,有些章节的内容和大部分章节内容还是距离很远的,比如99、100、101章

注意:文章有点长,放在下一页了:拂羽:Python之三国演义(下)​zhuanlan.zhihu.com

三国演义python分析系统_Python之三国演义(上)相关推荐

  1. 三国演义python分析系统_用python分析四大名著之三国演义

    点击上方"程序人生",选择"置顶公众号" 第一时间关注程序猿(媛)身边的故事 项目起因及意义 起初在浏览知乎时看见一篇文章觉得很有意思(用 Python 分析& ...

  2. Python分析离散心率信号(上)

    Python分析离散心率信号(上) 一些理论和背景 心率包含许多有关信息.如果拥有心率传感器和一些数据,那么当然可以购买分析包或尝试一些可用的开源产品,但是并非所有产品都可以满足需求.也是这种情况.那 ...

  3. python制作成绩分析系统_python实现学生成绩测评系统

    本文实例为大家分享了python实现学生成绩测评系统的具体代码,供大家参考,具体内容如下 1.问题描述(功能要求): 根据实验指导书要求,完成相关软件系统的设计,要求内容翔实,条理清晰,图文并茂(流程 ...

  4. 用python分析小说_Python语言之用Python分析一下当年看金庸小说最爱的主角是谁

    本文主要向大家介绍了Python语言之用Python分析一下当年看金庸小说最爱的主角是谁,通过具体的内容向大家展示,希望对大家学习Python语言有所帮助. jieba用起来非常简单,短短几行代码就完 ...

  5. python足球分析系统_python分析欧洲足球赛事

    数据来源:kaggle数据准备 import pandas as pd import matplotlib.pyplot as plt import numpy as np import scipy ...

  6. python数据分析系统_Python数据分析,系统步骤介绍!

    原标题:Python数据分析,系统步骤介绍! 摘要 在用Python做数据分析的过程中,有一些操作步骤和逻辑框架是很固定的,只需要记住其用法即可.本节内容介绍Pandas模块在数据分析中的常用方法. ...

  7. python 通讯录系统_Python下的通讯录

    Python 下的通讯录 1 .课题需求 1.1 系统开发的目标和思想 随着社会的发展 , 人际关系变得越来越重要,为了保持良好的人际关系,必须经常与亲 戚.朋友.同学.同事保持联系,但是有时候存在着 ...

  8. 测试python安装成功_Python在Windows上安装配置测试

    Python是跨平台的,它可以运行在Windows.Mac和各种Linux/Unix系统上.在Windows上写Python程序,放到Linux上也是能够运行的. 2.x还是3.x 目前,Python ...

  9. python分析就业率_Python就业行情和前景分析之一

    Python就业行情和前景分析之一爬取数据 最近Python大热,就想要分析一下相关的市场需求,看一下Python到底集中在哪些城市,企业对Python工程师的一些需求到底是怎样的,基于此,爬取了国内 ...

  10. python投票系统_python实时投票系统的课设

    季元峰脸色铁青,秦齐竟然敢这么跟他说话,实在是不知死活,难道秦齐现在还没有看清局势不成?python实时投票系统的课设 巴小琪如今的神志,显然已经被尼德霍格所侵蚀,连他都是不认识了. "这是 ...

最新文章

  1. 全面理解python中self的用法
  2. Python学习笔记:循环语句
  3. CLR via C# 3 读书笔记(2):第1章 CLR执行模型 — 1.2 将托管模块组合为程序集
  4. php 基础 判断类型
  5. 链路追踪php,easyswoole链路追踪
  6. 2016年《大数据》高被引论文Top10
  7. flask 导出excel
  8. myeclipse中tomcat热部署设置
  9. 电脑小白须知!N卡和A卡有什么区别?A卡和N卡的区别,一个动图秒懂!
  10. OneZero——Review会议(2013.5.20)
  11. 汇编语言里 eax ebx ecx edx esi edi ebp esp这些都是什么意思啊
  12. 从前有座山,山上有两台计算机
  13. spp_solver
  14. matlab 读ctl,用matlab将nc数据读出来,写成二进制文件,然后用grads画图
  15. 学生免费申请JetBrains许可
  16. 海峰五笔 8.0 下载
  17. VS系统找不到指定文件怎么解决
  18. 树莓派3使用红外遥控器模拟鼠标和键盘
  19. 理解conda install -c conda-forge some-package 命令
  20. 酷狗音乐鸿蒙os,酷狗音乐鸿蒙OS

热门文章

  1. UML之包图(Package Diagram)
  2. “计算机诺贝尔奖”的首位华人得主姚期智
  3. 英语:逆向忠言(转载)
  4. 任天堂Switch最优DNS测试
  5. IP地址冲突问题的解决方法
  6. 神剑轩辕java,上古十大神剑有哪些 有一把居然是专门用来弑君杀父的
  7. NYOJ 独木舟上的旅行
  8. 【超硬核】秒杀活动技术方案,Redis申请32个G,被技术总监挑战了...
  9. 区块链DAO vs. 股份制:生产关系革命的原因和意义
  10. mac磁盘清理的方法大全