摘要

一句话总结 本文介绍了如何利用大语言模型(LLM)和提示词工程,通过已校对的文稿来修正视频字幕(srt/vtt)错误,同时保持字幕时间轴不变。

关键要点

  • 核心原理:通过明确输入和期望的输出格式,并提供完整上下文,让 LLM 自动修正字幕,无需使用思维链(CoT)等复杂提示词技巧。
  • 文件格式:字幕文件需采用 srt 或 vtt 等简单文本格式。
  • 分段处理:需将字幕和文稿分页/分段对应输入,建议每次处理的文本长度控制在 800 个单词左右。
  • 输出格式建议:若使用 API,建议要求模型输出 XML 格式以便代码解析;若使用 ChatGPT 网页端,建议要求输出在代码块中以便一键复制。
  • 提示词结构:提示词应包含“任务(Task)”、“输出格式(Output Format)”和“输入(Input)”三个明确的部分。
  • 数据隔离:在输入部分,需使用特定的 XML 标签(如 <correct-text><subtitle>)将正确的文稿与待修正的字幕包裹起来,以便模型有效区分数据类型。
  • 模型表现:该方法在 GPT-4o 模型下测试效果良好。

风险/不足

  • 幻觉风险:如果单次输入的内容过长,大语言模型容易出现幻觉,导致输出质量下降。
  • 模型兼容性:对于能力较弱的模型,直接使用该提示词可能无法达到预期效果,需要额外提供 1-2 个示例(Few-shot)来帮助模型理解任务。

正文

问:我做了个讲解视频,手里有英文稿,但是 Whisper 或者 YouTube 生成的字幕有很多错误,我该如何用文稿纠正字幕错误?

答:

可以借助提示词工程,让 LLM(大语言模型)来修正字幕错误,并且保留时间轴不变。提示词并不复杂,主要是要让 LLM 明白你的输入格式和你期望的输出格式,并提供所有的上下文信息,甚至不需要 CoT(思维链)这样高级的提示词技巧。

但是要注意的是,要输入的内容不要太长,因为大语言模型容易出现幻觉,输出质量会下降,按我的经验,每次 800 左右单词是一个比较合适的长度。具体需要测试对比一下。

方法如下:

  1. 字幕需要用 srt/vtt 这样的简单文本格式,然后要将字幕分页,每一页包含原始文稿和字幕文件。
  2. 可以使用 API 或者 ChatGPT 都可以,如果使用 API,建议输出 XML 格式,方便代码解析,如果是 ChatGPT,可以将输出内容放在代码块中,方便复制出来。

参考提示词:

Task

Here is a transcript of a video, it was generated by an AI speech recognition tool and may contain some errors/infelicities. Your task is to correct any spelling discrepancies in the transcribed text.

I’ll provide you with the corrected text and the subtitles, please return the corrected subtitles only, use only the context provided.

Output Format

Input

「略」

「略」

这段提示词结构很简单,就是要求 LLM 完成的任务、期望输出的格式,然后是输入,由于输入部分包含两种不同类型的数据:文稿和字幕,所以需要用两个标签包裹起来,这样 LLM 就能有效区分你输入的内容。

提示词中文参考:

任务

这是一段视频的转录文本,由 AI 语音识别工具生成,可能包含一些错误或不合适的地方。你的任务是纠正转录文本中的拼写差异。

我会提供给你纠正后的文本和字幕,请仅返回纠正后的字幕,只使用提供的上下文。

输出格式

输入

「略」

「略」

注意:这个提示词仅作为参考,在 GPT-4o 下测试效果很好,但是其他模型可能需要调整,对于能力弱的模型,可能要提供 1-2 个示例,让模型更好的理解你的任务。

Image 1

Image 2

关联主题