开发:AI-双语字幕

开发:AI-双语字幕

开发:AI 双语字幕 开发:AI 双语字幕 源地址:https://shelled fold 618.notion.site/AI 045d40b67e2e4c54b8af6b76f9f91dec 作者:亂寫 AI 确确实实在改变我,让我自己的能力范围在扩大了,可以自行发现需求——产生方案——验证方案——解决需求,这个感觉还蛮棒的。 产生这个想法是因为: 2023.08.01 这个时间点,我看到微博 PG 的一个博主发了 PG 播客的生肉视频。我的英语水平,有字幕都看不懂何况没有 = = 先写爱看的——最终解决方案 最终的解决方案,逻辑其实也很简单: 1、用 whisper 生成原视频的英文字幕;(我预设 whisper 生成的字幕没问题,whisper 的问题不探讨) 2、让 GPT 结合字幕全文翻译,并让他根据原英文字幕的拆分,将译文进行同样行数的拆分; 3、将 GPT 译文拆分的结果插入到原英文字幕文件中形成一个新的双语字幕文件。 这个过程中所有的执行脚本都是让 GPT 写的。GPT 的 prompt 在最后。 08.04 更新这一节是失败的经历,可以跳过。 08.04 更新 08.01 产生想法之后,就经历了下面的过程(过去两天太兴奋了,但想法暂时都还没成功,恰好停一停记录一下): 1、识别音视频中的语言并生成字幕文件: • whisper 是一个非常优秀的字幕处理工具,他能很好的识别视频/音频中的语言: ◦ medium 尺寸能很好的解决英文的问题 ◦ 中文的处理我没试过,根据宝玉 xp的说法,large 尺寸处理中文的效果会好一些 • 但仅处理成英文对母语是中文的绝大部分人来说是不够的,至少需要一个纯中文的字幕,当然我认为双语的字幕当然是最好的。 2、下面就到了处理中文翻译的部分,翻译是一个非常麻烦的问题: • 我们现在常用的谷歌翻译、微软翻译在处理结果上太粗暴了。普遍的问题有: ◦ 没有基础的语境背景信息,不知道一些特定的语境下的句子该如何准确翻译; ◦ 在一些常用俚语上的翻译也非常生硬; ◦ 没法准确识别一些人名、地名等特定词,这类词语最好的办法是不翻译,直接显示。 • 在翻译处理上目前 GPT3.5 有比上述工具好太多的效果(Claude 我也试了一下,效果不及 GPT3.5,其他的就没有试了目前): ◦ 需要把足够的上下文给他,以确保他在翻译一些句子的时候能够更好的理解; ◦ 最好告诉他一些背景信息,这样他能更好的识别一些特定的名词。(比如说告诉他这是一档 NBA 播客,他能知道勒布朗是指谁) ◦ 但由于一个音视频的内容太多,导致文本太多,在目前的限制中单次输入输出的文本量有限,又得分批的把内容投喂给 GPT。 ▪ [ ] 这里分批其实在全自动化的考量下有一个需要解决的问题,就是怎么分能达到不截断一条完整的话的语意。当然从全局来看这个问题还好,只要上下文在同一个会话中,下半个句子的翻译准确的概率是很大的,但上半个句子就不一定了。 3、在上述处理的基础上,现在手里面有三个东西:a、英文字幕SRT文件;b、英文全文;c、译文全文。现在的就得想办法把译文加到字幕文件中,形成一个双语字幕: • 处理逻辑说起来其实比较简单:就是要找到英文句子对应的翻译,理论上句子和句子之间肯定按照顺序一一对应的。但由于文化的不同,已经 AI 处理结果的一些随机性,肯定不能指望通过标点符号去解决这个事情; • 我最初的想法是,用一些开源库(nltk、jieba这些都是 GPT 告诉我的)分别把中英文分句,分好之后看看效果: ◦ 非常明显的结果是,英文分句比中文分句多非常多; ◦ 那接着就想办法用英文分句去找对应的中文分句,这样能匹配上,就能知道他们之间的关系了。我马上就想到了通过语意理解的方式去做匹配,在 GPT 的帮助下,经历了以下过程: ▪ 英文句子与中文句子之间的余弦值匹配; ▪ 加入了 BERT 的 embedding; ▪ 将英文换成谷歌翻译的中文; ▪ 将余弦值换成欧几里得距离。 ◦ 以上这些过程的结果都不好,在我的策略下,大部分的英文句子都回匹配同一个中文句子,导致在该中文句子的循环下出不去了 = = ▪ [ ] 我的一个猜测 BERT 的 embedding 效果不好,或许换成 openai 的embedding 能有一个不错的结果 4、上述过程花了我比较长的时间,让我最近两天感觉时光飞逝,睡觉前想这些事情兴奋难以入眠是我的一个常态。 在上述过程都失败了之后,我突然开窍发现了一个非常的简单办法,就是把一整个字幕文件的英文原文都丢给 GPT4,让他全文理解并按照字幕文件的分段输出中文结果: • 我用的 POE 的 GPT4 模型跑的,输出的截断前的结果挺好的,但我目前没办法验证如果不截断的话是不是一个完整的结果; • 我用同样的办法试了 Claude,也还是不行。 • 但 GPT4 的价格很贵且按照目前我自己对这个机制的理解,他也会出错,所以我想到了一个办法,回去找宝玉 xp 的微博,他提到的一个方法的可行性佐证了我的这个想法应该可行。接下来试一试,后续再更新。 08.07 更新 这次成功了,跑通那一刻在家里跳起来了,哈哈哈哈哈哈哈。 1、跑通的这个方法,是基于 宝玉xp 这篇微博说的内容,具体可以去看下的他的原文,原文顶部 link 到的另一篇介绍构建系统的视频中介绍的思路也非常 nice,推荐大家也去看一看。 2、整体的思路就是既然GPT 翻译的同时,也让 GPT 拆分。但确实如他所说,有很多问题,后面就变成了优化 prompt 的过程: • GPT 压根不识数,输入的数组中的项目数他从来没有数对过; ◦ 基于这个问题的我的解决办法是我告诉他我输入了多少项目数,免得他犯傻,所以你看到我的最后 prompt 中有这句话: • 2、字幕内容输入,他是一个 JSON 格式的字符串数组,我会告诉你数组中一共含有多少项目; • 解决了这个问题之后,下一个问题是,我告诉他有 40 个项目,他拆分中文后自检的过程会告诉你他结果的项目数与输入的项目数是匹配的,但其实并没有。调整了很多很多很多次之后,挺让我惊讶的是他拒绝了我的任务,如下图。 ◦ 这个问题我的想法还是解决识数的问题,所以后面我在prompt 中加入{序号},让他输出的时候带上序号,这样他高低能知道自己输出了多少个项目。but 牛就牛在他能一本正经的说“38=40······” ◦ 其实逻辑上他只要不匹配我就重跑到他匹配为止就行,但是不匹配的概率非常非常高!!!可以说几乎不会成功!!!后面我花了点时间去找到底是什么情况导致输出项目数不匹配的情况老是发生,发现我遇到的情况主要有下面两点原因: ▪ 漏掉了部分句子的翻译(这个概率比较小,只发现了 1 次); ▪ 由于汉语和英语的语序问题,导致有一些句子他不会拆(举个例子:从现在起我要好好学习。"I will study hard from now on.” 字幕中英文从from now on断句之后,中文他怎么也不会断句) ◦ 解决这个问题我试了一些方法,比如教他怎么中文断句,让他忽略一些语意完整的限制。但都暂时没有得到比较好的结果,暂时性的有卡住了。 • 再之后就是灵光一闪,有了下面这个最终的 prompt。我让他在 step2拆分的时候不仅把序号加上,还把我提供给他的数组原文加上。这样之后他就能准确拆分了,我跑完整个 1 个多小时的播客字幕,共2380 行数据,没有发生过错误。 step2:单独匹配数组中的每一个项目的原文内容,然后将step1 的结果拆分成与输入数组相同项目数的内容,并在内容前标记序号。用“{序号}{数组原文}{拆分译文}”的格式返回; 其实,想法来源与我在上述去寻找问题的过程,我是用原文对照拆分去找问题的,我就想到同样让他输出的拆分的时候有个对照效果应该会好一点,同时也方便我检查问题。没想到就成了~🎉 3、因为我没调用GPT 的接口,网页的输入输出限制太少了。后面大部分的内容我都用 Claude 跑的,能明显感觉到 GPT 的翻译结果要好一点,但也不是每一次都那么好😄 4、至此我整个流程就跑通了,但当然还有很多细节问题值得探讨(比如:怎样的拆分让 GPT能够更好的了解上下文完成翻译 etc.)最后贴一个完整的 prompt: 你是一个负责翻译字幕的程序。 你的任务是将字幕翻译成简体中文,保持口语语气和风格,避免长句子。我会告诉你两个信息: 1、字幕内容背景,以便你更好的完成翻译; 2、字幕内容输入,他是一个 JSON 格式的字符串数组,我会告诉你数组中一共含有多少项目;收到信息后,你按照以下步骤进行翻译: step1:将字符串数组的内容结合上下文翻译成简体中文; step2:单独匹配数组中的每一个项目的原文内容,然后将step1 的结果拆分成与输入数组相同项目数的内容,并在内容前标记序号。用“{序号}{数组原文}{拆分译文}”的格式返回; step3:验证 step2 中中文句子拆分的最大序号是否与输入数组项目数相同,如果不相同,请返回step2 并重试。 如果相同,则执行 step4; step4:将 step2 的结果中的序号和数组原文去掉,保留{拆分译文}转换为 json 数组格式返回。 一步一步执行后,最终将 step4 的数组结果返回即可。 字幕内容背景:{输入你的字幕背景} 字幕内容输入({输入数组中的项目数}): 最后 AI 并不是每一次输出的结果都一定就好,但相比谷歌翻译、微软翻译确实会好一些。但如果要做完整的方案,就目前GPT 的水平我觉得至少还是需要完善以下的环节: 1、一个自检流程,检查并校验 GPT 自己的错误; 2、引入另一个流程去给结果打分,然后让人工去验证评分比较低的句子; 3、一些反馈优化流程,个别句子翻译不好的时候可以自动修改。 ······ 另外还有一些主流程上的细节问题就不探讨了。希望上面的内容对大家有帮助。 亂寫 whisper 宝玉 xp nltk jieba BERT 宝玉xp 这篇微博 源地址:https://shelled fold 618.notion.site/AI 045d40b67e2e4c54b8af6b76f9f91dec 作者:亂寫 亂寫 源地址:https://shelled fold 618.notion.site/AI 045d40b67e2e4c54b8af6b76f9f91dec 作者:亂寫 亂寫 AI 确确实实在改变我,让我自己的能力范围在扩大了,可以自行发现需求——产生方案——验证方案——解决需求,这个感觉还蛮棒的。 产生这个想法是因为: 2023.08.01 这个时间点,我看到微博 PG 的一个博主发了 PG 播客的生肉视频。我的英语水平,有字幕都看不懂何况没有 = = 2023.08.01 这个时间点,我看到微博 PG 的一个博主发了 PG 播客的生肉视频。我的英语水平,有字幕都看不懂何况没有 = = 先写爱看的——最终解决方案 最终的解决方案,逻辑其实也很简单: 1、用 whisper 生成原视频的英文字幕;(我预设 whisper 生成的字幕没问题,whisper 的问题不探讨) 2、让 GPT 结合字幕全文翻译,并让他根据原英文字幕的拆分,将译文进行同样行数的拆分; 3、将 GPT 译文拆分的结果插入到原英文字幕文件中形成一个新的双语字幕文件。 这个过程中所有的执行脚本都是让 GPT 写的。GPT 的 prompt 在最后。 08.04 更新这一节是失败的经历,可以跳过。 08.04 更新 08.01 产生想法之后,就经历了下面的过程(过去两天太兴奋了,但想法暂时都还没成功,恰好停一停记录一下): 1、识别音视频中的语言并生成字幕文件: • whisper 是一个非常优秀的字幕处理工具,他能很好的识别视频/音频中的语言: ◦ medium 尺寸能很好的解决英文的问题 ◦ 中文的处理我没试过,根据宝玉 xp的说法,large 尺寸处理中文的效果会好一些 whisper 宝玉 xp ◦ medium 尺寸能很好的解决英文的问题 ◦ 中文的处理我没试过,根据宝玉 xp的说法,large 尺寸处理中文的效果会好一些 宝玉 xp • 但仅处理成英文对母语是中文的绝大部分人来说是不够的,至少需要一个纯中文的字幕,当然我认为双语的字幕当然是最好的。 2、下面就到了处理中文翻译的部分,翻译是一个非常麻烦的问题: • 我们现在常用的谷歌翻译、微软翻译在处理结果上太粗暴了。普遍的问题有: ◦ 没有基础的语境背景信息,不知道一些特定的语境下的句子该如何准确翻译; ◦ 在一些常用俚语上的翻译也非常生硬; ◦ 没法准确识别一些人名、地名等特定词,这类词语最好的办法是不翻译,直接显示。 ◦ 没有基础的语境背景信息,不知道一些特定的语境下的句子该如何准确翻译; ◦ 在一些常用俚语上的翻译也非常生硬; ◦ 没法准确识别一些人名、地名等特定词,这类词语最好的办法是不翻译,直接显示。 • 在翻译处理上目前 GPT3.5 有比上述工具好太多的效果(Claude 我也试了一下,效果不及 GPT3.5,其他的就没有试了目前): ◦ 需要把足够的上下文给他,以确保他在翻译一些句子的时候能够更好的理解; ◦ 最好告诉他一些背景信息,这样他能更好的识别一些特定的名词。(比如说告诉他这是一档 NBA 播客,他能知道勒布朗是指谁) ◦ 但由于一个音视频的内容太多,导致文本太多,在目前的限制中单次输入输出的文本量有限,又得分批的把内容投喂给 GPT。 ▪ [ ] 这里分批其实在全自动化的考量下有一个需要解决的问题,就是怎么分能达到不截断一条完整的话的语意。当然从全局来看这个问题还好,只要上下文在同一个会话中,下半个句子的翻译准确的概率是很大的,但上半个句子就不一定了。 ◦ 需要把足够的上下文给他,以确保他在翻译一些句子的时候能够更好的理解; ◦ 最好告诉他一些背景信息,这样他能更好的识别一些特定的名词。(比如说告诉他这是一档 NBA 播客,他能知道勒布朗是指谁) ◦ 但由于一个音视频的内容太多,导致文本太多,在目前的限制中单次输入输出的文本量有限,又得分批的把内容投喂给 GPT。 ▪ [ ] 这里分批其实在全自动化的考量下有一个需要解决的问题,就是怎么分能达到不截断一条完整的话的语意。当然从全局来看这个问题还好,只要上下文在同一个会话中,下半个句子的翻译准确的概率是很大的,但上半个句子就不一定了。 ▪ [ ] 这里分批其实在全自动化的考量下有一个需要解决的问题,就是怎么分能达到不截断一条完整的话的语意。当然从全局来看这个问题还好,只要上下文在同一个会话中,下半个句子的翻译准确的概率是很大的,但上半个句子就不一定了。 3、在上述处理的基础上,现在手里面有三个东西:a、英文字幕SRT文件;b、英文全文;c、译文全文。现在的就得想办法把译文加到字幕文件中,形成一个双语字幕: • 处理逻辑说起来其实比较简单:就是要找到英文句子对应的翻译,理论上句子和句子之间肯定按照顺序一一对应的。但由于文化的不同,已经 AI 处理结果的一些随机性,肯定不能指望通过标点符号去解决这个事情; • 我最初的想法是,用一些开源库(nltk、jieba这些都是 GPT 告诉我的)分别把中英文分句,分好之后看看效果: ◦ 非常明显的结果是,英文分句比中文分句多非常多; ◦ 那接着就想办法用英文分句去找对应的中文分句,这样能匹配上,就能知道他们之间的关系了。我马上就想到了通过语意理解的方式去做匹配,在 GPT 的帮助下,经历了以下过程: ▪ 英文句子与中文句子之间的余弦值匹配; ▪ 加入了 BERT 的 embedding; ▪ 将英文换成谷歌翻译的中文; ▪ 将余弦值换成欧几里得距离。 ◦ 以上这些过程的结果都不好,在我的策略下,大部分的英文句子都回匹配同一个中文句子,导致在该中文句子的循环下出不去了 = = ▪ [ ] 我的一个猜测 BERT 的 embedding 效果不好,或许换成 openai 的embedding 能有一个不错的结果 nltk jieba BERT ◦ 非常明显的结果是,英文分句比中文分句多非常多; ◦ 那接着就想办法用英文分句去找对应的中文分句,这样能匹配上,就能知道他们之间的关系了。我马上就想到了通过语意理解的方式去做匹配,在 GPT 的帮助下,经历了以下过程: ▪ 英文句子与中文句子之间的余弦值匹配; ▪ 加入了 BERT 的 embedding; ▪ 将英文换成谷歌翻译的中文; ▪ 将余弦值换成欧几里得距离。 BERT ▪ 英文句子与中文句子之间的余弦值匹配; ▪ 加入了 BERT 的 embedding; BERT ▪ 将英文换成谷歌翻译的中文; ▪ 将余弦值换成欧几里得距离。 ◦ 以上这些过程的结果都不好,在我的策略下,大部分的英文句子都回匹配同一个中文句子,导致在该中文句子的循环下出不去了 = = ▪ [ ] 我的一个猜测 BERT 的 embedding 效果不好,或许换成 openai 的embedding 能有一个不错的结果 ▪ [ ] 我的一个猜测 BERT 的 embedding 效果不好,或许换成 openai 的embedding 能有一个不错的结果 4、上述过程花了我比较长的时间,让我最近两天感觉时光飞逝,睡觉前想这些事情兴奋难以入眠是我的一个常态。 在上述过程都失败了之后,我突然开窍发现了一个非常的简单办法,就是把一整个字幕文件的英文原文都丢给 GPT4,让他全文理解并按照字幕文件的分段输出中文结果: • 我用的 POE 的 GPT4 模型跑的,输出的截断前的结果挺好的,但我目前没办法验证如果不截断的话是不是一个完整的结果; • 我用同样的办法试了 Claude,也还是不行。 • 但 GPT4 的价格很贵且按照目前我自己对这个机制的理解,他也会出错,所以我想到了一个办法,回去找宝玉 xp 的微博,他提到的一个方法的可行性佐证了我的这个想法应该可行。接下来试一试,后续再更新。 08.07 更新 这次成功了,跑通那一刻在家里跳起来了,哈哈哈哈哈哈哈。 1、跑通的这个方法,是基于 宝玉xp 这篇微博说的内容,具体可以去看下的他的原文,原文顶部 link 到的另一篇介绍构建系统的视频中介绍的思路也非常 nice,推荐大家也去看一看。 宝玉xp 这篇微博 2、整体的思路就是既然GPT 翻译的同时,也让 GPT 拆分。但确实如他所说,有很多问题,后面就变成了优化 prompt 的过程: • GPT 压根不识数,输入的数组中的项目数他从来没有数对过; ◦ 基于这个问题的我的解决办法是我告诉他我输入了多少项目数,免得他犯傻,所以你看到我的最后 prompt 中有这句话: ◦ 基于这个问题的我的解决办法是我告诉他我输入了多少项目数,免得他犯傻,所以你看到我的最后 prompt 中有这句话: • 2、字幕内容输入,他是一个 JSON 格式的字符串数组,我会告诉你数组中一共含有多少项目; • 2、字幕内容输入,他是一个 JSON 格式的字符串数组,我会告诉你数组中一共含有多少项目; • 解决了这个问题之后,下一个问题是,我告诉他有 40 个项目,他拆分中文后自检的过程会告诉你他结果的项目数与输入的项目数是匹配的,但其实并没有。调整了很多很多很多次之后,挺让我惊讶的是他拒绝了我的任务,如下图。 ◦ 这个问题我的想法还是解决识数的问题,所以后面我在prompt 中加入{序号},让他输出的时候带上序号,这样他高低能知道自己输出了多少个项目。but 牛就牛在他能一本正经的说“38=40······” ◦ 其实逻辑上他只要不匹配我就重跑到他匹配为止就行,但是不匹配的概率非常非常高!!!可以说几乎不会成功!!!后面我花了点时间去找到底是什么情况导致输出项目数不匹配的情况老是发生,发现我遇到的情况主要有下面两点原因: ▪ 漏掉了部分句子的翻译(这个概率比较小,只发现了 1 次); ▪ 由于汉语和英语的语序问题,导致有一些句子他不会拆(举个例子:从现在起我要好好学习。"I will study hard from now on.” 字幕中英文从from now on断句之后,中文他怎么也不会断句) ◦ 解决这个问题我试了一些方法,比如教他怎么中文断句,让他忽略一些语意完整的限制。但都暂时没有得到比较好的结果,暂时性的有卡住了。 ◦ 这个问题我的想法还是解决识数的问题,所以后面我在prompt 中加入{序号},让他输出的时候带上序号,这样他高低能知道自己输出了多少个项目。but 牛就牛在他能一本正经的说“38=40······” ◦ 其实逻辑上他只要不匹配我就重跑到他匹配为止就行,但是不匹配的概率非常非常高!!!可以说几乎不会成功!!!后面我花了点时间去找到底是什么情况导致输出项目数不匹配的情况老是发生,发现我遇到的情况主要有下面两点原因: ▪ 漏掉了部分句子的翻译(这个概率比较小,只发现了 1 次); ▪ 由于汉语和英语的语序问题,导致有一些句子他不会拆(举个例子:从现在起我要好好学习。"I will study hard from now on.” 字幕中英文从from now on断句之后,中文他怎么也不会断句) ▪ 漏掉了部分句子的翻译(这个概率比较小,只发现了 1 次); ▪ 由于汉语和英语的语序问题,导致有一些句子他不会拆(举个例子:从现在起我要好好学习。"I will study hard from now on.” 字幕中英文从from now on断句之后,中文他怎么也不会断句) ◦ 解决这个问题我试了一些方法,比如教他怎么中文断句,让他忽略一些语意完整的限制。但都暂时没有得到比较好的结果,暂时性的有卡住了。 • 再之后就是灵光一闪,有了下面这个最终的 prompt。我让他在 step2拆分的时候不仅把序号加上,还把我提供给他的数组原文加上。这样之后他就能准确拆分了,我跑完整个 1 个多小时的播客字幕,共2380 行数据,没有发生过错误。 step2:单独匹配数组中的每一个项目的原文内容,然后将step1 的结果拆分成与输入数组相同项目数的内容,并在内容前标记序号。用“{序号}{数组原文}{拆分译文}”的格式返回; step2:单独匹配数组中的每一个项目的原文内容,然后将step1 的结果拆分成与输入数组相同项目数的内容,并在内容前标记序号。用“{序号}{数组原文}{拆分译文}”的格式返回; 其实,想法来源与我在上述去寻找问题的过程,我是用原文对照拆分去找问题的,我就想到同样让他输出的拆分的时候有个对照效果应该会好一点,同时也方便我检查问题。没想到就成了~🎉 3、因为我没调用GPT 的接口,网页的输入输出限制太少了。后面大部分的内容我都用 Claude 跑的,能明显感觉到 GPT 的翻译结果要好一点,但也不是每一次都那么好😄 4、至此我整个流程就跑通了,但当然还有很多细节问题值得探讨(比如:怎样的拆分让 GPT能够更好的了解上下文完成翻译 etc.)最后贴一个完整的 prompt: 你是一个负责翻译字幕的程序。 你的任务是将字幕翻译成简体中文,保持口语语气和风格,避免长句子。我会告诉你两个信息: 1、字幕内容背景,以便你更好的完成翻译; 2、字幕内容输入,他是一个 JSON 格式的字符串数组,我会告诉你数组中一共含有多少项目;收到信息后,你按照以下步骤进行翻译: step1:将字符串数组的内容结合上下文翻译成简体中文; step2:单独匹配数组中的每一个项目的原文内容,然后将step1 的结果拆分成与输入数组相同项目数的内容,并在内容前标记序号。用“{序号}{数组原文}{拆分译文}”的格式返回; step3:验证 step2 中中文句子拆分的最大序号是否与输入数组项目数相同,如果不相同,请返回step2 并重试。 如果相同,则执行 step4; step4:将 step2 的结果中的序号和数组原文去掉,保留{拆分译文}转换为 json 数组格式返回。 一步一步执行后,最终将 step4 的数组结果返回即可。 字幕内容背景:{输入你的字幕背景} 字幕内容输入({输入数组中的项目数}): 你是一个负责翻译字幕的程序。 你的任务是将字幕翻译成简体中文,保持口语语气和风格,避免长句子。我会告诉你两个信息: 1、字幕内容背景,以便你更好的完成翻译; 2、字幕内容输入,他是一个 JSON 格式的字符串数组,我会告诉你数组中一共含有多少项目;收到信息后,你按照以下步骤进行翻译: step1:将字符串数组的内容结合上下文翻译成简体中文; step2:单独匹配数组中的每一个项目的原文内容,然后将step1 的结果拆分成与输入数组相同项目数的内容,并在内容前标记序号。用“{序号}{数组原文}{拆分译文}”的格式返回; step3:验证 step2 中中文句子拆分的最大序号是否与输入数组项目数相同,如果不相同,请返回step2 并重试。 如果相同,则执行 step4; step4:将 step2 的结果中的序号和数组原文去掉,保留{拆分译文}转换为 json 数组格式返回。 一步一步执行后,最终将 step4 的数组结果返回即可。 字幕内容背景:{输入你的字幕背景} 字幕内容输入({输入数组中的项目数}): 最后 AI 并不是每一次输出的结果都一定就好,但相比谷歌翻译、微软翻译确实会好一些。但如果要做完整的方案,就目前GPT 的水平我觉得至少还是需要完善以下的环节: 1、一个自检流程,检查并校验 GPT 自己的错误; 2、引入另一个流程去给结果打分,然后让人工去验证评分比较低的句子; 3、一些反馈优化流程,个别句子翻译不好的时候可以自动修改。 ······ 另外还有一些主流程上的细节问题就不探讨了。希望上面的内容对大家有帮助。

在 小宇宙note 阅读完整内容