逐字稿文字預覽
这期我们重做一版PDF四方测评。不是问哪个工具永远最好,而是问同一份PDF变成MarkDone以后能不能放心交给AI。我先核对了四个工具的官方用法,再在本地跑同一套样本,Mark it down,Duckling,Marker,MinerU。这一次只比较成功输出的效果。运行环境,设备选择,依赖细节,只作为内部诊断。 不拿来做视频结论。样本一共七类,原生文本报告,可填写表单,双栏论文,财报表格,掌技术手册,专利PDF,还有换灯片PDF。每类只切代表页。因为Apple 10K,NASA手册这种长文档,如果直接整本跑,测到的很可能是压力测试,不是抽取质量。脚本做三件事,切样本页,跑四个工具, 最后检查关键词,标题,表格型,图片引用和可读摘录。分数不是绝对真理,它只是一个质检信号。这份输出有没有资格进入下一步?AI上下文。 先看配置边界。Mark it down 用默认离线转换。Darklin输出 Mark down,并把图片设为 Placeholder。Marker 这一轮使用 No OCR, No Image Extraction 的文本层快速配置,所以,它不代表默认 OCR 能力。 Miner U 使用 Pipeline,保留表格,但本轮不评估公式解析。总览结果,Mark it down 七个样本全部完成,平均规则分83,平均耗时1.23秒。它向第一道,速度非常快。Darklin 平均 88.9分,平均 9.31秒。它不是最快,但结构感最稳。 Marker 在这轮文本层快速配置下,平均 88.1分,平均 36.2秒。它的边界要写清楚,适合有文本层,不需要 OCR 的场景。 Miner U 平均 79.1分,平均 27.7分,平均 27.7分。 Darklin 平均耗时1.23,平均耗时1.23秒。它向第一道,速度非常快。Darklin 平均 88.9分,平均 9.31秒。 Darklin 平均 88.9分,平均 9.31秒。 Miner U 平均 79.1分,平均 27.79秒。它更像重型管线,适合你愿意为复杂版面多复配置成本的时候。第一个案例是 Nest 报告。四个工具都能读到目录和 Executive Summary,但结构不一样。Mark it down 把目录更像普通文本串出来。Darklin 和 Marker 更容易形成表格化目录。 Miner U 保留了标题,但表格结构弱一些。第二个案例是 W 四表单。 这里不是看有没有字,而是看 Step 1 姓名、地址、 Worksheet 这些字段还在不在同一个语意块里。Darklin 和 Marker 的结构最完整。 Miner U 给出 HTML Table,Mark it down 很快,但更像线性文本。第三个案例是双栏论文。论文最怕阅读顺序飘移。Mark it down 开头会带一些 AR 14 页面噪声。Darklin, Marker, Minor U 都能稳定抓到标题和作者,但后续图表位置仍然要抽样检查。 第四个案例是财报表格。这里三家都拿到高分,但看真实输出会发现差异。Darklin 的年份列,指标行更规整。Marker 也能保留多列表格。Mark it down 可用,但有些列被拆得更碎。Miner U 输出 HTML Table,不过个别行会有重排噪声。 第五个案例是长技术手册。长文档不要一上来整本入库,先抽目录、图表说明和章节页。Darklin 和 Marker 的目录结构最清楚。Mark it down 适合快速预览。Miner U 保留部分图像线索。 第六个案例是专利,PDF。它看起来像扫描件,但实际带有可抽取文本层。所以,No OCR 配置也能拿到内容。 这就是PDF 制简第一步,先判断有没有文本层,不要只凭页面长相决定要不要 OCR。最后是幻灯片,PDF。所有工具都不算轻松。问题不是读不到字,而是幻灯片的语意藏在布局里,大标题,箭头,左右分组,图形关系。 转成 Mark it down 后,这些关系很容易被压平成段落。所以,这期的结论不是选一个神工具。如果你只是快速读普通 PDF,Mark it down 很适合做第一刀。 如果你要结构、表格和知识库候选,Darklin 更稳。如果你确认 PDF 有文本层,而且不需要 OCR,Marker 的快速配置表现很好,但一定要著名边界。 如果你面对扫描件或复杂版面,Miner U值得保留,不过要接受更重的依赖和参数成本。 真正可靠的流程,是 PDF 入库前做四个检查,有没有文本层,阅读顺序有没有乱,表格行列有没有保住,图片,公式,扫描页有没有抽样。工具不是答案,质检流程才是答案。 下一期如果继续,我们可以把这套测评变成批量 PDF 入库工作流。 不仅看 Mark it down 好不好看,还看尽 Rack hole 能不能引用,能不能追溯,能不能查错。 不仅看 Mark it down 。
本次執行流程與問題處理
下達指令
預期流程
- 自動字幕優先,Whisper 作為備援
- 來源選擇與品質檢查
- 文字校正與句子單元
- 筆記與發布
- 公開網頁發布
1. 下載與語音辨識
工具:videonote-transcribe-url(主辨識管線:下載、Whisper 辨識與選稿)
處理:下載音訊、以 Whisper 辨識並選出最佳逐字稿
產出:yt_dlp_meta.json(影片元資料)、audio_16k_mono.wav(16kHz 單聲道音訊)、transcript.whisper.json(Whisper 辨識結果)、transcript.json(正式逐字稿)、transcript_selection_report.json(來源選擇報告)
耗時:38.4 秒
關係:依序執行
結果:完成
2. 全文快速校讀
工具:videonote_rapid_transcript_review.py
處理:先速讀完整逐字稿,再修正高可信突兀詞句並列出待確認項目
產出:rapid_transcript_review_report.json(產出檔案)
耗時:53.7 秒
關係:依序執行
結果:完成
3. 建立句子單元
工具:videonote-build-sentence-units
處理:將逐字稿切成帶時間軸的句子單元
產出:sentence_units.json(句子單元)
耗時:0.8 秒
關係:依序執行
結果:完成
4. 句子密度平衡
工具:videonote_balance_sentence_units.py
處理:平衡句子長度與密度
產出:sentence_units.json(句子單元)
耗時:0.8 秒
關係:依序執行
結果:完成
5. 時間軸稽核
工具:videonote_timeline_audit.py
處理:檢查時間軸與音訊對齊
產出:timeline_audit_report.json(時間軸稽核)
耗時:0.8 秒
關係:依序執行
結果:完成
6. 品質檢查
工具:videonote_controlled_quality.py(檢查時間軸與品質)
處理:檢查語言、時間軸與可讀性品質
產出:controlled_quality_report.json(品質報告)、language_sanity_report.json(語言檢查)
耗時:0.9 秒
關係:依序執行
結果:完成
7. 播放時間軸回填
工具:videonote_rebase_display_timeline.py
處理:將網頁播放時間軸回填為校正字幕時間
產出:display_timeline_rebase_report.json(時間軸回填報告)
耗時:0.9 秒
關係:依序執行
結果:完成
8. 逐字稿交叉檢查
工具:videonote_cross_check_transcript.py
處理:交叉檢查逐字稿與來源字幕
產出:transcript_crosscheck_report.json(交叉檢查)
耗時:0.9 秒
關係:依序執行
結果:完成
9. 來源句整理
工具:videonote_prepare_source_entries.py
處理:整理來源句子供時間軸與頁面使用
產出:sentence_units.json(句子單元)
耗時:1.0 秒
關係:依序執行
結果:完成
10. 生成筆記摘要
工具:videonote-generate-note(生成筆記摘要)
處理:生成筆記摘要與重點
產出:note.md(筆記 Markdown)、note.html(筆記 HTML)
耗時:125.8 秒
關係:依序執行
結果:完成
11. 建立筆記頁面
工具:videonote-render-html(產生筆記 HTML)
處理:產生可閱讀的筆記 HTML 頁面
產出:note.html(筆記 HTML)
耗時:0.9 秒
關係:依序執行
結果:完成
12. 發布公開頁面
工具:videonote-publish(發布公開頁面)
處理:發布到公開網站與每日列表
產出:公開筆記網址、result.json(管線結果)
耗時:1.0 秒
關係:依序執行
結果:完成
手動來源字幕
- 尚未產生
自動來源字幕
Whisper 字幕
Qwen 字幕
- 尚未產生
Parakeet 字幕
- 尚未產生
MOSS 字幕
- 尚未產生
聲學時間證據(PyAnnote / WhisperX)
- 尚未產生
校正前後逐字稿
- 校正前 transcript.whisper.json 純文字 JSON
- 校正後 transcript.json 純文字 JSON
目前待解決問題與初步改善方向
- 逐字稿全文快速校讀未完成
已保留自動字幕/原始逐字稿並繼續生成筆記。;未完成的全文速讀項目可在精進模式回聽確認。;RAPID_REVIEW_STATUS=REVIEW_REQUIRED_INVALID_OUTPUT
- 逐字稿可先使用,但有待校正清單
segment=88 unnatural_sentence_boundary: 標點出現在句首或停在逗號位置,斷句可能不符合文法/口語;segment=89 unnatural_sentence_boundary: 標點出現在句首或停在逗號位置,斷句可能不符合文法/口語;segment=114 unnatural_sentence_boundary: 標點出現在句首或停在逗號位置,斷句可能不符合文法/口語;segment=143 unnatural_sentence_boundary: 標點出現在句首或停在逗號位置,斷句可能不符合文法/口語
- Qwen3-ASR 未完成,需確認 qwen_asr_lab 環境與音訊後重試精進模式。