从 CCTV 主页抓取《新闻联播》,下载 → 转 MP3/WAV → 静音切分 → ASR 识别 → LLM 校对 → 切分为单条新闻 → 入库 MySQL。 主要内容: - 全链路:getVideo5 抓取下载、audioRead 转写、deepseek 校对与切分、newsProcess 入库 - 可移植化:配置分层,.env 只放密钥、config.yml 放模型/接入点/路由/参数 - 可换供应商:endpoints(kind/base_url/api_key_env/extra_body)+ routes 按环节选路 - 数据保真:数值事实守卫,校对改动数字/年份/届次则整片回退 ASR 原文; 识别不完整不发布该日精编,避免半天内容被当成完整一天 - 定时任务:systemd 每天 21:00,失败 21:30 / 22:00 重试; 只缺切分时只重跑切分(省掉全部 ASR),用 state/.asr_complete_* 标记判定阶段 - 隧道自愈:13306 不通时自动执行 autossh.sh(所有入口共用,systemd 托管时只等待) - 中间产物每日清理;97 项离线自检(配置/清理/事实守卫/解析/隧道)
7.4 KiB
7.4 KiB
news_raw vs news_improve 评估报告
样本:xwlb_daily 7981 个分片,覆盖 727 天(2024-09-26 ~ 2099-01-01);xwlb_daily_ext 11494 条
1. 校对到底改了什么
| 分类 | 分片数 | 占比 | 平均改动字符数 | 含义 |
|---|---|---|---|---|
| identical | 1094 | 13.7% | 0.0 | 完全没改 |
| punct_only | 1 | 0.0% | 0.0 | 只改标点/空白/断句 |
| numeral_only | 1 | 0.0% | 2.0 | 只改数字写法或标点 |
| word_change | 6885 | 86.3% | 38.5 | 真的改了字词 |
「真的改了字词」的 6885 个分片里,排除标点与数字后的平均改动量只有 29.7 字(占分片平均长度 718 字的 4.1%)
改动最频繁的字符(raw 有而 improve 没有 → improve 新增):
| 被替换掉的字符 | 次数 | 新增的字符 | 次数 |
|---|---|---|---|
。 |
20087 | ⏎ |
38761 |
␠ |
19329 | ” |
16765 |
号 |
10326 | “ |
16763 |
的 |
8440 | , |
12433 |
, |
3649 | 日 |
11487 |
了 |
3457 | 、 |
9422 |
这 |
2780 | ; |
7558 |
个 |
2666 | ␠ |
5625 |
是 |
2640 | 的 |
4465 |
到 |
2478 | 《 |
4254 |
- 校对实际生效的分片:6887/7981(86.3%);完全没动的:1094/7981(13.7%)
- 全天 11 个分片全都没被改的天数:98/727
可读性指标(越大越接近正式书面语)
| 指标 | 原文 news_raw | 校对后 news_improve | 变化 |
|---|---|---|---|
| 标点密度(每百字标点数) | 8.52 | 9.81 | +1.28 |
| 书名号《总数 | 0 | 4254 | +4254 |
| 总字数 | 5675790 | 5810634 | +134844 |
「真的改了字词」的抽样(判断是修错字还是改写)
-
2024-09-26 第0片(改动约 31 字)
- raw: 各位观众晚上好晚上好,今天是9月26号星期四,农历8月24,欢迎收看新闻联播节目。首先为您介绍今天节目的主要内容。中共中央政治局召开会议,分析研究当前经济形势和经济工作,中共中央总书记习近平主持会议。习近平给中国传媒大学全体师生回信,强调突
- imp: 各位观众晚上好,今天是9月26日,星期四,农历八月二十四,欢迎收看新闻联播节目。首先为您介绍今天节目的主要内容:中共中央政治局召开会议,分析研究当前经济形势和经济工作,中共中央总书记习近平主持会议;习近平给中国传媒大学全体师生回信,强调突出
-
2024-09-26 第1片(改动约 10 字)
- raw: 会议强调,要加大财政货币政策逆周期调节力度,保证必要的财政支出,切实做好基层三保工作。要发行使用好超长期特别国债和地方政府专项债,更好发挥政府投资带动作用。要降低存款准备金率,实施有力度的降息。要促进房地产市场止跌回稳,对商品房建设要严控增
- imp: 会议强调,要加大财政货币政策逆周期调节力度,保证必要的财政支出,切实做好基层“三保”工作。要发行使用好超长期特别国债和地方政府专项债券,更好发挥政府投资的带动作用。要降低存款准备金率,实施有力度的降息。要促进房地产市场止跌回稳,对商品房建设
按月的「完全没改」比例(用于识别校对失效的历史区间)
| 月份 | 分片数 | 完全没改 | 占比 |
|---|---|---|---|
| 2024-09 | 61 | 0 | 0% |
| 2024-10 | 322 | 0 | 0% |
| 2024-11 | 321 | 0 | 0% |
| 2024-12 | 334 | 0 | 0% |
| 2025-01 | 327 | 0 | 0% |
| 2025-02 | 289 | 0 | 0% |
| 2025-03 | 363 | 0 | 0% |
| 2025-04 | 332 | 0 | 0% |
| 2025-05 | 324 | 0 | 0% |
| 2025-06 | 305 | 0 | 0% |
| 2025-07 | 334 | 0 | 0% |
| 2025-08 | 325 | 0 | 0% |
| 2025-09 | 326 | 0 | 0% |
| 2025-10 | 359 | 0 | 0% |
| 2025-11 | 334 | 0 | 0% |
| 2025-12 | 330 | 0 | 0% |
| 2026-01 | 340 | 0 | 0% |
| 2026-02 | 309 | 0 | 0% |
| 2026-03 | 384 | 0 | 0% |
| 2026-04 | 334 | 0 | 0% |
| 2026-05 | 347 | 0 | 0% |
| 2026-06 | 343 | 165 | 48% |
| 2026-07 | 344 | 344 | 100% |
| 2026-08 | 331 | 331 | 100% |
| 2026-09 | 261 | 254 | 97% |
| 2099-01 | 2 | 0 | 0% |
2. token 开销:现状 vs 两个替代方案
统计口径:523 天同时有原文与精编的天数,取日均字符数(≈token 数,中文 1 字≈1 token)
| 方案 | 输入 | 输出 | 合计/天 | 相对现状 |
|---|---|---|---|---|
| A 现状(校对 + 切分 两次调用) | 15777 | 15646 | 31423 | — |
| B 合并进切分(一次调用同时校对+切分) | 7787 | 7657 | 15444 | 省 51% |
| C 关掉校对(直接用 ASR 原文切分) | 15444 | 7657 | 15444 | 省 51% |
其中校对这一次调用本身消耗 输入 7787 + 输出 7990 = 15777 token/天,占现状总开销的 50%。
按 523 天累计:校对一项约消耗 8.25 M token。
3. 实测 token 开销(真实 API 返回的 usage,不是估算)
用你当前配置的模型各跑一次真实调用,读 usage 字段(2026-09-23 / 2026-06-08 数据):
| 环节 | 模型 | 输入 | 输出 | 其中推理 | 说明 |
|---|---|---|---|---|---|
| 校对(思考开) | qwen3.8-flash |
487 | 5,932 | 5,616 | 545 字文本 |
| 校对(思考关) | qwen3.8-flash |
451 | 312 | — | 同文本,输出只差一个"的"字 |
| 校对(旧配置对照) | qwen3.7-max |
449 | 2,338 | 2,025 | 原来也在做推理 |
| 切分(思考开) | deepseek-flash |
4,206 | 19,077 | 14,426 | 全天 6,940 字 |
| 切分(思考关) | deepseek-flash |
4,182 | 4,656 | — | 但正文覆盖率掉到 95.34% |
推算到每天(11 个分片 + 1 次切分):
| 方案 | 每天 token | 相对现状 |
|---|---|---|
| 现状(校对思考开 + 切分) | ≈ 100,000 | — |
| 建议(校对思考关 + 切分思考开) | ≈ 33,000 | 省 67% |
| 合并(校对+切分一次调用,思考开) | ≈ 24,000 | 省 76% |
| 关掉校对(只切分) | ≈ 23,000 | 省 77% |
4. 三个方案的实测对比(同一天 2026-09-23)
| 指标 | 现状两次调用 | 合并成一次 | 只切分 |
|---|---|---|---|
| 条数 | 27 | 27 | — |
| 正文覆盖率 | 100% | 99.02% | 95.34%(思考关时) |
| 书名号《 | 0(该日数据是失效期产物) | 3 | 0 |
| 引号 | 0 | 15 | 0 |
| 数值事实漂移 | 无(有按分片守卫) | 有:44.9→44.93、丢失 3、多出 1000/5 |
— |
| 按分片回退保护 | ✅ 有 | ❌ 无(只能整天丢弃) | ❌ 无 |
5. 结论
- 校对有必要,但只值"关掉思考"这一刀。 它的真实产出是标点与格式: 引号 33,524 次、书名号《》4,250 次、日期归一("9月26号"→"9月26日")10,322 次、 段落换行 38,750 次——ASR 原文从来不会产生书名号和引号。
- 不要把 correct 合并进 split。 收益只剩 ~27%(因为校对关思考后已经很便宜),
代价是失去按分片的数值守卫,且实测确实把
44.9改成了44.93、丢了数字。 数值事实一旦被改,事后无法察觉——这正是docs/BUGS.mdB2 那类事故。 - 切分环节不要关思考:省 4 倍 token,但正文覆盖率 99.67% → 95.34%、条数 27 → 20。
- 注意历史欠账:2026-07 与 2026-08 是 100% "完全没改"(校对失效期),
2026-06 有 48%。也就是说 2026-06 中旬至 2026-09 的
news_improve其实等于 ASR 原文, 并没有被校对过。现在校对已修复且成本降低约 13 倍,是否有必要回补这段,见 README「后续可选」。