1.提取文件字幕内容

在字幕网站下载完整字幕,这里发现一个1-7季的合集,网址在此:http://subhd.com/ar0/347588

下载后先来看看原始文件,一共67个文件,字幕均是在含有subtitle的行,那要做的就是遍历文件列表,打开文件后用正则表达式提取

这里遇到两个问题:

(1)文件的编码问题,字幕文件没有编码规范,用chardet.detect可以获取文件编码,然后正确打开;
(2)提取字幕,开始的想法是匹配中文,结果忽略了标点符号,所以改成匹配”0,,”与”\N{\fs16}”之间的所有字符,这里还会有少量不符合规则的字幕,写入新文件时strip去除即可,最后的提取格式有两种,一种只有字幕,另一种除了字幕还保留了字幕的出处,这里贴出守夜人誓词,请见下图:

2.对提取字幕条数作图

1-7季一共有46546条字幕,这里只是用matplotlib作了一个简单的柱形图,从第二季开始对话都是递减的,这里没有做进一步的探究了,忽略第七季不谈(只有7集),猜想是因为后面有越来越多的大规模战争场景?

3.tf-idf算法提取关键词并统计词频

jiba分词自带tf-idf和textrank两种算法,都会过滤掉词长小于2的词,对比过发现最后结果还是第一种比较好。因为这部剧里有很多专有名词,以及提取的关键词会包含很多停用词或者出现次数很多但作用不大的词,例如“大人”,“小姐”等称谓词,所以必须使用自定义词典和自定义停用词库,最后结果对词频作降序排列并只显示词频大于50的词,发现“hodor”也出现了107次!

4.生成词云图

这里需要注意的是WordCloud默认不支持中文,所以这里需要加载中文字库,另外也找到了一张很有标志性的底图来生成云图

 def wordcloud(worddict):"""生成词云图"""words = []font = r'C:\Windows\Fonts\simfang.ttf'for word in worddict:words.append(word[0])wordstring = " ".join(words)image = Image.open(file)  # 初始化图片graph = np.array(image)wc = WordCloud(font_path=font,background_color='white', collocations=False, mask=graph)wc.generate(wordstring)image_color = ImageColorGenerator(graph)plt.imshow(wc.recolor(color_func=image_color))plt.axis("off")plt.show()

对话语料

因为想到如果提取到的字幕用作对话语料也会挺有意思的,满满的权游风,下面是基于粗糙的句子相似度计算得出匹配度最高的一句话以及下一句话

关注公众号了解更多

权力的游戏中文字幕词云图相关推荐

  1. Jieba中文分词下如何画词云图?

    配置:anaconda3 + Pycharm 文章目录 WordCloud 关于Jieba分词 Jieba中文分词 +绘制词云图 案例 WordCloud 英文文本 导入第三方模块 from word ...

  2. Python 之 Matplotlib 散点图、箱线图和词云图

    文章目录 一.散点图 1. scatter() 函数 2. 设置图标大小 3. 自定义点的颜色和透明度 4. 可以选择不同的颜色条,配合 cmap 参数 5. cmap 的分类 5.1 Sequent ...

  3. python中的词云图

    词云图 wordcloud 是什么? 词云图,也叫文字云,是对文本中出现频率较高的"关键词"予以视觉化的展现词云图过滤掉大量的低频低质的文本信息使得浏览者只要一眼扫过文本就可领略文 ...

  4. 生成中文词云图的制作:带有不同的背板

    简 介: 使用Python中的响应软件软件包制作应用与中文的词云图片.使用jieba用于中文词语划分.文中对于程序的背景图片以及不同的字体所确定的词云的表现进行了测试. 关键词: 词云,字体,背景 # ...

  5. python删除中文停用词_python词云 wordcloud+jieba生成中文词云图

    简介 Python+jieba+wordcloud+txt+gif生成动态中文词云 本文基于爬虫爬取某微信号三个月的文章为例,展示了生成中文词云的完整过程.本文需要的两个核心Python类库: jie ...

  6. python文本聚类 词云图_有哪些软件可以进行中文词频分析?

    在现实生活中,人想做词云,也有了关键词的数据但自己又不会做词云可怎么办,我给大家推荐几款词云制作工具,让你瞬间呈现美观.酷炫的词云可视化.我们先来看看国外的词云制作工具: 1.Wordle Wordl ...

  7. python生成中文词云图

    jieba库是一个非常优秀的中文分词软件,其中一个应用就是来完成一个词云图的设计 首先你需要准备这些库 import jieba import matplotlib.pyplot as plt imp ...

  8. Python生成中文词云图(二):不可指定词云特定的形状和颜色。

    Python生成中文词云图(二):不可指定词云特定的形状和颜色. 什么是词云? 首先,什么是词云呢?词云又叫文字云,是对文本数据中出现频率较高的"关键词"在视觉上的突出呈现,形成关 ...

  9. 利用python绘制简易词云图(使用jieba进行中文分词)

    词云(wordcloud)图能过滤掉大量的文本信息,使我们能抓住问题的集中点(一般集中点就是经常提到的点,也就是词频数会比较高).其实制作词云没什么技术含量,主要就是将用于绘制词云的所有词都传给软件, ...

  10. python中文词云图代码_python词云图与中文分词

    2019-12-12中文文本分词和词云图具体功能介绍与学习代码: import jieba a="由于中文文本的单词不是通过空格或者标点符号来进行分割" #jieba.lcut() ...

最新文章

  1. eclipse可以写前端吗_Python 竟然也可以写网页前端了!
  2. 转载:Linux查看设置系统时区
  3. 2018年第九届蓝桥杯C/C++ C组国赛 —— 第四题:约瑟夫环
  4. PostgreSQL在何处处理 sql查询之六
  5. Java Spring ClassPathXmlApplicationContext是如何判断容器内包含某个Bean的
  6. 【渝粤教育】国家开放大学2018年春季 7140-22T危急重症护理学(本) 参考试题
  7. spring mvc学习(48):java判断系统是linux还是windows系统
  8. 知识图谱最新权威综述论文解读:知识表示学习部分
  9. bzoj 4372 烁烁的游戏 —— 动态点分治+树状数组
  10. 大数据之-Hadoop3.x_MapReduce_数据压缩---大数据之hadoop3.x工作笔记0138
  11. 原来这么简单就可以实现无纸化办公
  12. IDEA 2019.3新建项目找不到Maven的解决方法
  13. Guava之EventBus使用总结
  14. ACM图论在线画图工具分享 【csacadmy app Graph Editor】
  15. pr剪辑视频转码问题以及子剪辑
  16. matlab读取多张fig图然后合并为一张图(子图的形式)
  17. 浅谈Unity中的rotation和Quaternion的乘法
  18. Dfinity (ICP)开发基本操作-4
  19. 小米盒子为什么搜不到电视家?电视安装包解析错误解决方案
  20. transform 属性 实现3D立体相册

热门文章

  1. CF - 1156D - 0-1-Tree
  2. 6款CSS特效边框样式
  3. SUDA歌单管理软件,支持Spotify\Tidal\QQ\网易云导入导出歌单
  4. Python学习笔记 | 编码和文件读写
  5. [MIT]微积分重点 第三课 极值和二阶导数 学习笔记
  6. myexcel初步使用
  7. 非常精美的唐诗,无与伦比哦
  8. Unity实现换装功能
  9. css加号图标_excel单元格加号展开折叠
  10. 九阴服务器延迟高怎么解决,6月24日部分互通升级服务器延迟开服公告