作为一个程序员,看纪录片不只是看剧情
我突发奇想:能不能用技术手段"拆解"一部纪录片?
于是有了这个项目——用Python对《问道武当》9集纪录片做全量文本分析
🔧 完整技术栈一览:
第一步:视频 → 音频提取
MKV格式的9集纪录片,每集约44分钟
用ffmpeg批量抽取音频为WAV文件
这一步最简单,一条命令搞定
第二步:音频 → 文字转换
这是核心技术环节!用的是faster-whisper
OpenAI Whisper的优化版本,速度提升4倍以上
关键配置:GPU加速 + CUDA float16精度
RTX 5060 Ti跑下来,每集约55秒完成识别
第三步:繁体 → 简体中文
Whisper输出的是繁体中文(纪录片原声是粤语配音)
用zhconv库一键转换,超轻量级方案
不需要任何额外数据文件
第四步:中文分词 + 词性标注
jieba分词大家应该都用过
但这里用了jieba.posseg做词性标注
能区分名词、动词、地名、人名等20多种词性
这对后续分析至关重要——比如只统计"人名"就能提取所有历史人物
第五步:统计分析 + 可视化
词频统计、Zipf定律验证、词性饼图
pyecharts生成交互式图表(鼠标悬浮看详情)
matplotlib生成静态图(词云、柱状图)
wordcloud生成艺术化词云图
第六步:知识图谱构建
基于词语共现关系构建网络
用networkx计算节点中心度
再用pyecharts Graph渲染交互式知识图谱
最终发现武当山是整个网络的绝对核心节点
📊 最终成果数据:
9集纪录片 → 52,475字符纯文本
分词后14,350个有效词汇
独立词汇5,803个
产出7张图表 + 2个交互式HTML + 1份知识图谱
🤯 最有价值的发现:
通过数据分析发现"皇帝"出现140次断层第一
永乐帝被提及45次,是武当山最大的"项目投资人"
知识图谱显示武当山同时连接政治、宗教、建筑、历史四大领域
这不是简单的数据处理
而是用代码的方式重新"阅读"一部纪录片
看到肉眼看不到的模式和关联 ✨