1 前言

两个月以来,我通过互联网自学了一些文本处理的知识,用自然语言处理和机器学习算法对《红楼梦》进行了一些分析。这个过程中我找到了一些有趣的发现,所以我想写一篇文章,既㲌与大家分享和讨论实验结果,也顺便做一个整理和总结。(其实虽说是两个月,但是中间停顿了一段时间,真正在做的时间大概是两周左右)

我开始做这件事情是因为之前看到了一篇挺好玩的文章,大概内容是,作者用“结巴分词”这个开源软件统计了红楼梦中各词汇的出现次数(也就是词频),然后用词频作为每个章回的特征,最终用“主成份分析”算法把每个章回映射到三维空间中,从而比较各个章回的用词有多么相似。(文章:用机器学习判定红楼梦后40回是否曹雪芹所写)作者的结论是后四十回的用词和前八十回有明显的差距。

看完文章之后,我觉得有两个小问题:首先,作者用的结巴分词里的词典是根据现代文的语料获得的(参见“结巴分词”开发者之前对网友的回复:模型的数据是如何生成的? · Issue #7 · fxsjy/jieba),而《红楼梦》的文字风格是半文半白的,这样的分词方法准确性存疑;其次,虽然作者用《三国演义》做了对比,但是依然没有有力地证明用词差异没有受到情节变化的影响。于是我决定自己做一遍实验,用无字典分词的方法来分词,并且尝试剔除情节对分析的影响,看看结果会不会有所不同。

本来开始写的时候觉得 5000 字就差不多了,结果最后成文的时候竟然达到了 1.3 万字。即使这样,我也只能解释一下算法的大

用 Python 分析《红楼梦》(1)相关推荐

  1. python分析红楼梦出现的虚词词频统计,python对红楼梦的每一章节进行词频统计

    python对红楼梦的每一章节进行词频统计 python对红楼梦的每一章节进行词频统计 import jieba f=open("G:\\红楼梦.txt","r" ...

  2. python分析红楼梦出现的虚词词频统计_用Python分析红楼梦,见证贾府的兴衰

    分词词频统计 什么是分词?众所周知中文是以字为单位,句子中所有的字连起来才能描述一个意思.例如我是一个学生.计算机不能很容易明白"学"."生"两个字合起来才表示 ...

  3. python红楼梦人物词频统计_用Python绘制红楼梦词云图,竟然发现了这个!

    原标题:用Python绘制红楼梦词云图,竟然发现了这个! Python在数据分析中越来越受欢迎,已经达到了统计学家对R的喜爱程度,Python的拥护者们当然不会落后于R,开发了一个个好玩的数据分析工具 ...

  4. 用Python读红楼梦之——一、词云绘制

    原文连接 Python在数据分析中越来越受欢迎,已经达到了统计学家对R的喜爱程度,Python的拥护者们当然不会落后于R,开发了一个个好玩的数据分析工具,下面我们来看看如何使用Python,来读红楼梦 ...

  5. python红楼梦词云_用Python读红楼梦之——二、词云美化

    原文链接 咱们书接上回,讲到我们使用Python把红楼梦中的核心词汇给绘画出来了,但是,红楼梦这么唯美的书,给我们乌漆麻黑的搞了一张词云,宝宝们肯定接受不了. 我们先来找照片,这张照片不错,不过还是要 ...

  6. 代码实现 | LDA方法分析红楼梦各回主题

    文章目录 1 数据预处理 1.1 准备工作 1.2 读入文本 1.3 分词.去停词 2 基本情况 2.1 全文词频及词云图 2.2 人物出场情况 2.3 宝玉的cp 3 LDA分析红楼梦各回的主题 3 ...

  7. python对红楼梦的每一章节进行词频统计

    python对红楼梦的每一章节进行词频统计 import jieba f=open("G:\\红楼梦.txt","r",encoding="utf-8 ...

  8. 用Python读红楼梦之——二、词云美化

    原文连接 咱们书接上回,讲到我们使用Python把红楼梦中的核心词汇给绘画出来了,但是,红楼梦这么唯美的书,给我们乌漆麻黑的搞了一张词云,宝宝们肯定接受不了. 我们先来找照片,这张照片不错,不过还是要 ...

  9. Gephi简易学习[六]———— 拓展分析红楼梦数据

    拓展分析:我们需要在下面操作流程某一步进行改动,然后看看对结果有什么影响 操作流程 统计分析→外观→布局→过滤 Gephi简易学习[五]---- 分析红楼梦数据,了解Gephi操作流程中的 最终结果 ...

  10. python红楼梦人物统计_Python分析红楼梦,宝玉和十二钗的人物关系

    红楼梦出场人物很多,人物关系极其复杂,这次我们用Python来分析主人公贾宝玉和他的姐妹们,金陵十二钗之间的关系,做一个简要的分析. 出场率 由于我们只统计宝玉和十二钗(正册)这些人物,因此我们需要实 ...

最新文章

  1. OpenCV+python:ROI与泛洪填充
  2. linux中使用scp远程拷贝文件及文件夹
  3. .NET Core竟然无法在Mac下进行build
  4. 如何保护自己的android app
  5. SQL四种语言:DDL,DML,DCL,TCL
  6. 其他系统 对外接口设计_领导:项目有个接口要对外开放,小张你来设计一下?...
  7. 【转载】SAP参数文件简介
  8. linux关路由器,安全关闭 Linux 的方式
  9. Netweaver和Windows,Ubuntu的数据共享
  10. 树莓派使用STEP2:设置网络
  11. android检查可用网络的代码
  12. 2021年6月Python小屋编程比赛获奖名单
  13. oracle 数据库由Linux平台向Windows平台迁移
  14. Atitit ati擅长领域总结 目录 1.1. 要点::文化 教育 祭祀(spec ,bp ??) 2 1.2. 项目提取共同特点》》产品》》内部产品+tool》》sdk》》spec》》准则
  15. Android中添加手心默认输入法,并能卸载
  16. 正斜杠,又称左斜杠,符号是/;反斜杠,也称右斜杠,符号是\。
  17. 华为hcip认证考试内容是什么?hcip认证有哪些方向
  18. 几种能让Mac“飞”起来的系统空间清理方法
  19. ERROR: Could not build wheels for mujoco-py which use PEP 517 and cannot be installed directly
  20. 数值微分25 - Poisson 泊松方程(一维、二维):已知一些自定义的二阶导数点,得到一条曲线,即原方程平滑地通过它们)

热门文章

  1. 英语学习打卡day6
  2. 给姐姐的英语学习计划【专】#【例句】
  3. 微信H5游戏 小说公众号域名被拦截之解决
  4. torch matric operation
  5. python 深度学习合并推理出来的txt标签,并生成json
  6. Docker 使用超详细 (精通级)
  7. android安卓开发好网推荐
  8. GPU-Z的像素填充率、纹理填充率、显存带宽计算公式
  9. 史上最浅的ios面试题,重复了
  10. Delphi 2007 “配置系统未能初始化” 错误处理