实验室/实验室CodeMirror

实验室CodeMirror

取消写死关卡,改成真正的通用 Python 编辑器。右侧数据换什么,代码就分析什么。

re · Counter · 文本分析

第5课:AI课堂视频转写官

把视频转写成文本后,自动分析发言人、提问句、课程关键词和课堂互动评分。

课堂规则:只分析公开信息和老师提供的数据,不绕登录,不抓付费内容。
模块规则:
  • re.match(pattern, text):只从开头匹配,适合判断一行字幕是否以时间开头。
  • re.split(r'[::]', text, maxsplit=1):按中英文冒号拆分发言人和内容,只拆一次。
  • re.sub(r'<[^>]+>', '', text):删除字幕里的HTML标签。
  • 正则 \d 表示数字,\s 表示空白,+ 表示出现1次或多次,(...) 表示提取分组。
当前讲解:

逐行解释

选择左侧步骤后,这里会显示当前要讲的代码含义。

PBL讲课提示:先告诉学生“这一阶段要给作品增加什么能力”,再讲本阶段用到的模块、变量和函数,最后运行看结果。

展开完整逐行解释
  1. raw_data = input(...):从输入区读取转写文本,可能是 Zoom VTT,也可能是普通课堂记录。
  2. input_text = raw_data.strip():去掉首尾空白,判断用户到底有没有输入真实数据。
  3. csv_to_transcript():如果输入的是CSV,就转成统一的 时间+发言人+内容 格式。
  4. clean_transcript():过滤 WEBVTT、时间轴、空行和HTML标签,得到干净字幕行。
  5. parse_turn():用正则把每一行拆成 time、speaker、text 三个字段。
  6. speaker_role():根据名字里是否包含“老师/学生”等词,判断发言角色。
  7. is_question():用问号和疑问词识别课堂提问。
  8. analyze():汇总发言次数、提问数、关键词命中和互动评分。
  9. CSV_EXPORT / HTML_PREVIEW:一个负责导出表格,一个负责右侧生成可视化报告。

main.py

自定义 Python 代码区

终端输出

这里是独立 CodeMirror 实验室:你可以运行任意 Python 自定义代码。