大家好,我是Feng,欢迎和我一起探索使用AI相关技术。
回顾
- 在 AI探索实践1- 使用大模型情感分析 一文中,我们能够利用AI来提供客户关系管理、客户服务自动化等实际的业务帮助。
- 在 AI探索实践2 - 3分钟为视频加上双语字幕 一文中,我们可以利用AI翻译的能力,来帮我们快速生成指定格式的字幕内容。
- 在 AI探索实践3 - 3秒钟生成海量内容指定格式的重点分析、结论 一文中,我们对AI的文本摘要能力做了初步了解。
这篇文章是对今天折腾的一个视频中文字幕的过程回顾,通过解决遇到的问题的过程,进一步了解国内大模型的中国特色。
不过,最大的亮点,在文末。
马斯克的推荐
事情源于看到了一篇资讯,如图: 看到大名鼎鼎的马斯克都推荐,自然想了解一下视频到底在说了啥。当然了,得先加上咱的中文字幕。于是,按照之前的经验【 AI探索实践2 - 3分钟为视频加上双语字幕 】,开始折腾。
折腾字幕
2. 1 提取视频英文字幕
想方设法把视频下载到本地后,首先当然是要把英文字幕提取出来。
2.1.1 打开剪映,导入视频
打开剪映的app,点击 开始创作 按钮,进入软件。
- 导入视频。点击 导入 ,选择文件 当鼠标移动到左上方这个视频缩略图上时,在右下角会出现一个 + 号。点击它。会将视频添加到轨道上。我们暂时不用理解轨道是什么,先这样做就好。
2.1.2 读取视频的字幕
鼠标右键点击在下方的视频轨道上: 会出现在将音频转为文本的过程: 分析音轨、转为文本完毕后,字幕会出现的视频的上方:
2.1.3 导出字幕,交由AI翻译
在软件的右上角,有一个导出按钮,点击它,注意不要导出视频: 导出的是一个srt文件,用vscode(或者记事本也行)打开如下图: 英文字幕:共计2183行。字幕格式比较好理解,3行代表一个画面: 第一行:画面序号,从1开始。 第二行:是这个画面的停留起止时间。 第三行:画面声音对应的英文字幕
2.2 翻译字幕
我的目的是增加一行中文字幕,这样即使翻译的不对,有英文对照也容易更正。
2.2.1 选择 kimi
AI大模型对于字幕的翻译,我选择了kimi。不仅是因为春节期间,🔥了一把的"哄哄模拟器"的后端就是由kimi的官方:【月之暗面】提供的大模型技术支持,也是因为kimi是目前我了解到的,会话上下文支持最长的大模型,其最长支持达到了20万字。相比国内其他大模型的32K长度的2000个汉字长度来说,简直秒杀。而且,它支持上传文件,不再需要在input中粘贴大量的文本。
使用起来很简单,上传文件,发送提示语,然后可以等结果了。
注:kimi对文件格式有要求,不支持srt。因此我将字幕文件的后缀改为 txt 就能符合kimi的要求。kimi马上就能给你返回翻译的结果:
2.2.2 遇到第一个问题
当返回第70个视频画面的翻译后,kimi的响应停止了。从上面导出的字幕文件我们已经了解到,这个视频是由546个画面组成的。为什么只70个的时候就完成了?这不应该。于是我向kimi提问:
原来这是大模型对每次的回答长度都有限制。
这样的限制,我们只能接收和适应。经测试,其他模型也是这样的情况。具体的规则,留待后续探究。
解决办法:其实很简单,你向kimi发送一个提示语:从第58继续,它能够很好的理解你是需要继续翻译的意图。 注意:由于我是多次测试,kimi的返回的限制也在变化。比如我第一次请求翻译结果,返回的是70行左右,而这次的截图,返回的是58行。
无论怎样,我们都需要假设kimi在本次回答中,最后一个画面的翻译是未完成的。(经过多次的验证,的确存在最后一个画面返回的文字被截断的情况)
因此,我们给kimi发送的指令是从本次回答的最后一个画面的序号,即第58开始。
由于是分段翻译,因此我不得不重复这样的动作:将每次返回的结果,追加复制到一个srt文件中
2.2.3 遇到第二个问题
输入了几次提示语:从第xxx继续 ,一直翻译到474画面时,出现了一个很奇怪的问题,无论我怎么调整提示语内容,或者重新上传文件,kimi都拒绝给我返回结果:
其实,kimi先是陆续返回了一些结果,但是当到输出到487个画面内容时忽然一闪,输出的内容被替换为上图的这句话:
尊敬的用户您好,很抱歉由于知识领域尚有所不足导致我无法回答您的这个问题。
这个响应,让我觉着很奇怪。还有大模型不知道的知识吗?
反复"继续"了几次,返回结果都是这样,即使我以重新输入内容的方式也是这样。
于是我将模型换成了百川大模型去尝试,结果是:
继续想办法。
国内的不行,我就试试国外的吧。字节不是有coze吗,后端使用的是ChatGPT4。于是,我进入coze再一次尝试:
这里需要说明的是,ChatGPT4的响应和kimi是一样的处理逻辑,每次响应的内容长度也存在限制。
coze不支持上传文件。而且,我只需要解决最后一部分的内容。于是,我直接从474复制到最后的546:
我们只看页面的右边部分。注意提示语。
结果是一次就成功完成翻译: 这看起来没什么道理,难道是我国的模型比外国的差这多?从逻辑上来说,即使有差距,也应该是响应结果的准确度、相关性有差距,而不应该连执行都无法完成!
由此,我在考虑是不是内容本身有什么问题。因此我目测了474到最后的翻译内容,并经过测试后发现了问题所在: 原来,在第486个画面上,如上图所示有这么一句英文,它的意思竟然具有政治性的含义。
kimi有这样的反馈结果,说明其在处理过程中,考虑到了本土化的文化和政治因素,因此在翻译到这一句时,才会立刻停止处理,并将已返回的内容替换为预先设定好的回答。
注:上图的 *** 是我手动更改的内容。
自此,完成了中英文字幕的完整翻译。下一步是将字幕和视频合并,并且导出。
2.3 合并视频和字幕
将翻译好的字幕,通过文本-本地字幕导入进去。如同添加视频到轨道上去一样,将srt字幕文件也添加到轨道上: 注意:
- 在点击左上角的 + 号之前,必须先将下方的代码起始位置的白色竖线,拖动到最左侧,代表从头开始。这样,拖入的字幕文件才会从头开始加载。
- 将第一次生成的英文字幕的轨道,删除或者隐藏掉。
最后,通过右上角的导出按钮,导出视频即可。
亮点
在将字幕添加到视频上后,我马上看了一遍。越发的感觉漂亮国真是一个奇怪的国度。
从技术角度上看,github上那么多有价值的项目说开源就开源,无论是不是为了全人类等之类的原因,我内心都由衷的钦佩他们的心胸,再看看敝帚自珍的自己,便有些惭愧。
但是看看他们的政党、企业的所作所为,又和我们深恶痛绝的某些人没什么两样,这在视频中多次的提起。就这一点,我也很佩服,他们真实什么话都敢说!
视频中说,有人使用Google前两天发的Gemini Pro,发现2个很有意思的场景:
- 让Gemini生成教皇的图片:生成了4个黑人的教皇
- 让Gemini生成维京人的图片:也是生成了黑人的维京人(貌似维京人都是白人)
然后有人发现了Gemini惊人的一个价值观:Google领导下的AI产品,歧视白人!哈哈,真是搞笑!
不多说,还是看视频吧:
欢迎关注公众号:全栈技术探索 ,和我一起学习探索AI。