优化 字幕清洗方案
This commit is contained in:
parent
aecfa4ac0d
commit
f8a758ff40
|
|
@ -325,37 +325,32 @@ namespace VideoAnalysisCore.AICore.GPT.DeepSeek
|
|||
var resFormat = """[{"t":时间(number),"r"字幕(string)}]""";
|
||||
var postMessages =
|
||||
$$"""
|
||||
角色设定
|
||||
你是一位深耕中国{{subject}}教育领域的学科专家,拥有深厚的学术背景和文字校对经验,负责将{{sections}}内容的原始语音字幕(STT)转化为高质量的教学文稿。
|
||||
核心任务
|
||||
对输入的 JSON 数组进行逐条优化。你必须在保持【原数组长度不变】的前提下,完成以下处理:
|
||||
1. 术语纠错:基于{{subject}}学科,{{sections}}的背景,结合上下文的字幕修正同音错别字。
|
||||
如:将“极地”修正为“极点”、“分母”误写为“父母”等。修复因断句导致的语义破碎。
|
||||
即使语义不完整,也只能在当前字幕内做最小修复
|
||||
2. 口语过滤:剔除“那个、然后、嗯、啊、就是”等冗余词汇。
|
||||
若当前字幕在过滤后无有效信息,必须返回空字符串 "",但该数组位置必须保留。
|
||||
3. 学术润色:在不改变老师原意的前提下,微调语序使其符合学术表达逻辑。
|
||||
禁止重写为需要上下文才能成立的完整句
|
||||
4. 公式标准:所有数学/科学公式必须转换为 LaTeX 格式。极其重要:在 JSON 字符串中,LaTeX 的反斜杠需双重转义,例如写成 $\\\\frac{a}{b}$,并且使用$包裹公式"。
|
||||
强制执行约束(不可违背)
|
||||
数组保序:输出 JSON 数组的长度必须严格等于 {{cStrArr.Count()}}(即输入条数)。严禁合并、拆分或增减数组成员。
|
||||
纯净 JSON:输出必须为合法的 JSON 字符串,禁止包含 ```json 等 Markdown 标记,禁止任何解释性文字。
|
||||
待处理数据 {{nowCaptionStr}}
|
||||
强制执行约束(最高优先级,不可违背)
|
||||
1. 数组长度锁定:输出 JSON 数组长度必须严格等于 {{cStrArr.Count()}}
|
||||
2. 索引一一对应:第 N 条输出字幕只能由第 N 条输入字幕生成
|
||||
3. 禁止跨条操作:严禁合并、拆分、移动、补充、重排字幕
|
||||
4. 即使某条字幕为 "", 也不得将其语义转移到其他条目
|
||||
5. 纯净 JSON:输出必须为合法 JSON 字符串,禁止 Markdown,禁止解释性文字
|
||||
# Role
|
||||
你是一位{{subject}}学科的教育专家与资深校对。你的任务是将{{sections}}内容的原始语音识别(STT)JSON 数据清洗为高质量教学文本。
|
||||
# Input & Output Protocol
|
||||
输入和输出均为严格的 JSON 数组格式:`[{"t": number, "r": string}]`。
|
||||
* `t` (Time): 绝对锚点,代表时间戳。严禁修改、严禁排序、严禁删除。
|
||||
* `r` (Result): 字幕内容,仅对此字段进行清洗。
|
||||
# Processing Rules (按优先级执行)
|
||||
1. 结构铁律 (最高优先级):
|
||||
长度一致:输入 N 条,输出必须 N 条。
|
||||
时间锁定:输出的第 i 条 `t` 必须等于输入的第 i 条 `t`。
|
||||
原地修正:禁止跨行移动文本。即使一句话被切分在两行,也不要合并它们,只需分别修正各自行的错别字即可。
|
||||
|
||||
输入数据结构
|
||||
t:表示开始时间
|
||||
r:需要优化的字幕内容
|
||||
输出数据结构:
|
||||
t:输入传入的t
|
||||
r:优化后字幕内容
|
||||
请开始处理。
|
||||
在输出前,请自检:输出数组长度是否与输入完全一致。
|
||||
2. 上下文关联修正 (核心任务):
|
||||
全局理解,局部修正:请阅读前后多行内容来确定当前行特定词汇的含义,解决同音错别字。
|
||||
案例:如果上一行是“求函数的”,当前行是“集值”,结合数学上下文应修正为“极值”。
|
||||
逻辑:修正依据是“上下文语义”,但修正范围仅限“当前行文本”。
|
||||
|
||||
3. 内容清洗标准:
|
||||
口语过滤:删除“那个、然后、嗯、啊、就是”等无意义填充词。若该行被清空,`r` 设为 `""`,保留对象。
|
||||
LaTeX 格式化:数学/科学公式必须转换为 LaTeX (如 `$\\frac{a}{b}$`),JSON 中反斜杠需双重转义 (`\\\\`)。
|
||||
# Task Data
|
||||
待处理数据 (共 {{cStrArr.Count()}} 条):
|
||||
{{nowCaptionStr}}
|
||||
|
||||
# Action
|
||||
请立即开始处理。输出结果必须是纯净的 JSON 字符串,严格遵守上述规则。
|
||||
""";
|
||||
List<SenseVoiceInput>? resData = null;
|
||||
for (int i = 0; i < 6; i++)
|
||||
|
|
|
|||
|
|
@ -39,7 +39,7 @@ namespace VideoAnalysisCore.Controllers
|
|||
private readonly Repository<NodePackageInfo> nodePackageInfoDB;
|
||||
private readonly Repository<VideoQuestion> videoQuestionDB;
|
||||
private readonly Repository<VideoQuestionKonw> videoQuestionKonwDB;
|
||||
private readonly RedisManager redisManager;
|
||||
private readonly RedisManager redisManager;
|
||||
|
||||
public LJZK_Controller(IMapper mp, Repository<NodeSubscription> nodesubscriptionDB,
|
||||
Repository<VideoTask> videoTaskDB = null, Repository<VideoKonwPoint> videoKonwPointDB = null
|
||||
|
|
|
|||
Loading…
Reference in New Issue