re · Counter · 文本分析
第5课:AI课堂视频转写官
把视频转写成文本后,自动分析发言人、提问句、课程关键词和课堂互动评分。
课堂规则:只分析公开信息和老师提供的数据,不绕登录,不抓付费内容。
模块规则:
- re.match(pattern, text):只从开头匹配,适合判断一行字幕是否以时间开头。
- re.split(r'[::]', text, maxsplit=1):按中英文冒号拆分发言人和内容,只拆一次。
- re.sub(r'<[^>]+>', '', text):删除字幕里的HTML标签。
- 正则 \d 表示数字,\s 表示空白,+ 表示出现1次或多次,(...) 表示提取分组。
当前讲解:
逐行解释
选择左侧步骤后,这里会显示当前要讲的代码含义。
PBL讲课提示:先告诉学生“这一阶段要给作品增加什么能力”,再讲本阶段用到的模块、变量和函数,最后运行看结果。
展开完整逐行解释
- raw_data = input(...):从输入区读取转写文本,可能是 Zoom VTT,也可能是普通课堂记录。
- input_text = raw_data.strip():去掉首尾空白,判断用户到底有没有输入真实数据。
- csv_to_transcript():如果输入的是CSV,就转成统一的 时间+发言人+内容 格式。
- clean_transcript():过滤 WEBVTT、时间轴、空行和HTML标签,得到干净字幕行。
- parse_turn():用正则把每一行拆成 time、speaker、text 三个字段。
- speaker_role():根据名字里是否包含“老师/学生”等词,判断发言角色。
- is_question():用问号和疑问词识别课堂提问。
- analyze():汇总发言次数、提问数、关键词命中和互动评分。
- CSV_EXPORT / HTML_PREVIEW:一个负责导出表格,一个负责右侧生成可视化报告。
main.py
自定义 Python 代码区
终端输出
这里是独立 CodeMirror 实验室:你可以运行任意 Python 自定义代码。