原文链接:http://tecdat.cn/?p=5673

约瑟夫·海勒的《第二十二条军规》是我最喜欢的小说。我最近读完了 ,并喜欢整本书中语言的创造性使用和荒谬人物的互动。对于我的可视化类,选择文本作为我的最终项目“数据集”是一个简单的选择。

数据集

该文有大约175,000个单词,分为42章。我在网上找到了这本书的原始文本版本并开始工作。

我使用正则表达式和简单字符串匹配的组合在Python中解析文本。

我shiny在R中以交互方式可视化这些数据集。

地中海旅行

这种可视化映射了整本书中提到的地中海周围位置的提及。

人物形象

该图基本上代表了书中提到不同字符的时间序列。

我将数据绘制为标准散点图,章节为x轴(因为它与时间相似),字符为离散y轴,垂直条为标记。

人物共同出现

用于构建此可视化的数据与前一个中使用的数据完全相同,但需要进行大量转换才能将其转换为可表示这些模式的形式。

聚类为此图添加了另一个维度。在整本书上应用分层聚类方案,以尝试在角色中找到社区。再次,使用章节(1表示现在,0表示不存在)和42维欧几里德距离用于使用完整链接AGNES算法对字符进行聚类。对不同聚类方案和距离测量的树状图进行人工检查发现,这是最“水平”,因为更频繁出现的角色占主导地位的方案最少。这是六个簇的树形图:

当用户选择通过聚类对图进行着色时,用于共享相同聚类的字符的共同位置的单元用唯一颜色填充,而显示来自不同社区的字符的共同位置的那些单元用灰色阴影。应该注意,聚类是在整个文本上执行的,而不是由应用程序的用户放大的章节。我觉得动态改变聚类会让人分心。

字母或频率排序将群集“爆炸”成无法识别的空间,但按群集排序会将它们带入紧密的社区,让观众也可以看到群集之间的某些交互。

我对共同位置的编码和应用于每个单元的阴影的映射肯定会引起争论,而其他聚类方法导致找到非常不同的社区。也就是说,从定性上讲,我花了很多时间用我自己的文本知识来评估结果,发现当前的实现比我测试的任何其他实现更令人满意。

我发现书中的每个主角在某些时候与几乎所有其他角色互动都非常有趣。我不会期望这么多重叠。与Les Mis相比,情节更加密集,我怀疑这是由于聚集的章节数量的10倍差异。

特色词

这个图可能是四个图中最常规的图,但可能显示了对文本的很多见解。

我可以选择为此可视化选择堆叠条形图或堆积区域图。我喜欢堆积区域图更好地显示单词突出的连续章节,但是承认当章节之间存在高度可变性时,三角形形式会扭曲关系。

结论

我在这个过程中学到了很多东西,无论是在使用方面,还是在shiny本身方面。

python小说文本挖掘_Python小说文本挖掘正则表达式分析案例相关推荐

  1. python 小说 云_python小说网站

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! python爬虫之小说网站--下载小说(正则表达式)思路:1. 找到要下载的小说 ...

  2. python考勤记录_python连接中控考勤机分析数据

    用python连接中控考勤机. 下载并分析数据,把结果邮件给人事. SDK包建议用32位的,在win7 64位系统上用64位开发包不行,用32可以. python还要pywin32 注意版本,我这用的 ...

  3. python 数组升序_python简单数据清洗和分析

    利用python学习了简单一维数组和二维数组,明白了集合.数组.字典大概的关联,并学会从中点用不同的数组类型进行更好的分析. 读取excel文件,开始进行最简单的数据清洗. 将购药时间重新命名为销售时 ...

  4. python星号正方形_Python星号*与**用法分析

    本文实例分析了Python星号*与**用法.分享给大家供大家参考,具体如下: 1. 加了星号(*)的变量名会存放所有未命名的变量参数,不能存放dict,否则报错. 如: def multiple(ar ...

  5. python 标签数量_python实现的批量分析xml标签中各个类别个数功能示例

    本文实例讲述了python实现的批量分析xml标签中各个类别个数功能.分享给大家供大家参考,具体如下: 文章目录 需要个脚本分析下各个目标的数目 顺带练习下多进程,自用,直接上代码: # -*- co ...

  6. python 装机配置_Python实现自动装机功能案例分析

    前言 提示:在管理服务器的过程中,发现有很多服务器在启动的过程中默认以PXE方式启动,这就导致我们无法将PXE装机程序放开到所有的交换机端口中,本文是以Python对dell服务器进行了一些控制,更多 ...

  7. python 映射表_python映射列表实例分析

    本文实例讲述了python映射列表.分享给大家供大家参考.具体分析如下: 列表映射是个非常有用的方法,通过对列表的每个元素应用一个函数来转换数据,可以使用一种策略或者方法来遍历计算每个元素. 例如: ...

  8. python 估值模型_Python实现LRFM模型分析客户价值

    1. 分析背景 这是一份某电商平台的销售数据,数据包含2010年4月22到2014年7月24的销售数据.分析该销售数据,可以发现客户价值. 现利用KMeans聚类实现LRFM模型来分析客户的价值,便于 ...

  9. python错误捕获例程_python 错误捕获机制分析

    python语言是编程中使用率在Top 3之内的语言.python语言以灵活与简单著称,那么越是灵活的语言越需要判断出错的功力. 简单示例 以下是一个简单的错误程序,被除数不可为0,那么看看该代码的执 ...

最新文章

  1. 简单的文本片段替换器
  2. [C++11]共享智能指针shared_ptr指定删除器
  3. 秘密潜入2小辣椒_短暂潜入2次,我显然不知道自己作为开发人员正在做什么
  4. extjs 日期不显示
  5. mvvm怎么让光标制定属性的文本框_Word怎么快速制作斜线表头?10秒搞定,表格颜值直线上升...
  6. 数组(array)(小谈)
  7. 修改表名的sql语句_SQL第一关——入门
  8. Liunx/Unix scp命令详解(转)
  9. SQL各个关键字的顺序
  10. 基于ASP.NET的数据库连接技术研究
  11. matlab 正则化表达式_MatLab归一化(正则化)函数
  12. 百度地图行政区域划分镂空
  13. 【C语言】输出华氏-摄氏温度转换表
  14. 【已完美解决】由于找不到MSVCR100.dll,无法继续执行代码。重新安装程序可能会解决此问题。DirectX修复工具下载
  15. 姜小白的python日记Day4 列表和元组
  16. 科研—画图图片处理1
  17. 一篇文章让你搞懂,Python文件操作
  18. 用python3实现MD5withRSA数字签名的验证
  19. Spring Boot从0开始学的个人笔记11 --安全security
  20. 基于javaweb+mysql的二手交易平台二手商城二手物品(前台、后台)

热门文章

  1. 简单聊聊分布式系统架构
  2. mysql如果有值返回true_关于mysql的tinyint字段调用返回true/false的问题
  3. dede实现手机wap浏览
  4. 计算机桌面运行程序exp,电脑开机为何显示exp|orer.exe
  5. 分享一个国内可用的免费ChatGPT网站
  6. IOS11 光标错位问题
  7. dev-C++五子棋
  8. Intellij IDEA Messages报Information:java: javacTask: 源发行版 8 需要目标发行版 1.8 Information:java: Errors occu
  9. 场景应用移动支付的另类体验
  10. 智能家居主要实现了什么功能,提供了哪些基本服务?