当前位置:首页|资讯|OpenAI|编程|ChatGPT|Whisper

如何用AI高速翻译公开课

作者:想太多的小马发布时间:2023-03-09


总耗时:16小时
时间分配:
OpenAI Whisper Large:挂机3小时生成字幕,不花我的时间
python编程:6小时
和chatgpt磨合:4小时
和chatgpt复制黏贴:3小时
三倍数校对字幕,局部修改:3小时
上传到bilibili,填写信息:0.5小时

25分钟每一课,8堂课。时长200分钟
如果去掉一次性的耗时,则耗时/视频时长 比例 = 6.5/3.33 = 2
如果用Chat GPT 的api,那么复制黏贴的时间也可以挂机,理论可优化到只需要3.5/3.33 = 1.1
人的校对和局部修改是最后的瓶颈。


所以我最近翻译了勒贝格积分的整个讲座课程。 我想分享一下我是如何做到的。

https://space.bilibili.com/628609616/channel/collectiondetail?sid=1174957

  1. 通过 youtube-dl 下载整个播放列表

  2. 通过 OpenAI Whisper Large 推送每个视频,以生成字幕。 它们几乎是完美的,只是一些字幕由于某种神秘原因移动了大约 0.4 秒。 我不得不手动修复它。

  3. 使用我的自定义 python 代码读出字幕文件,将短行合并为一个,将“step function”等特殊词的翻译替换为“阶梯函数”等等。 然后将处理过的字幕注入prompt,写入如下所示的文件中。

  4. 我将prompt复制粘贴到 ChatGPT,每次翻译完成后重置对话(通过刷新页面)。 这极大地加速了 ChatGPT,因为我不需要它来记住之前的对话。 如果我继续使用同一个对话,ChatGPT 会因为它试图记住我们之前谈过的内容而严重减慢。

  5. 我使用 python 删除了 ChatGPT 响应中的行号,然后使用另一个 python 函数将生成的中文翻译合并到一个 srt 文件中,逐行包含英文和中文。

  6. 我在 Subtitles Edit 中打开 srt 文件以手动检查错误并修复它们。

  7. 我将 srt 文件拆分为中文版和英文版。

项目的Python源代码:

https://pastebin.com/998vtxx8

prompt举例:
--------------------------------------------------------------------------------

从现在开始,您将把我说的话翻译成简体中文,目标受众为数学本科生。您必须保留所有换行符。您必须不添加新的换行符。您必须只使用简体中文。你必须一行字对应一行字。你必须不可以复制黏贴英文原句。您绝不要使用LaTeX,只能使用简体汉字、数字、拉丁字母、希腊字母。
0 : These two conditions in the case of 阶梯函数 were the fact that an increasing sequence of 阶梯函数 with bounded integrals only diverges on a 零测集.
1 : And the second condition was the 丹尼尔 condition that a decreasing sequence of 阶梯函数, decreasing to 0, has an integral which decreases to 0.
2 : Now, when you go on to study the 丹尼尔 integral in the last units, you'll see that all the theorems that held for the 勒贝格 integral also hold good for the 丹尼尔 integral, too.
3 : And that ought to help you in your revision of the 勒贝格 integral.

--------------------------------------------------------------------------------

解释为什么propmt是这样的

  • 如果不加句首数字,ChatGPT就肯定会把某些两句缩成一句,这样的话中英字幕对照就没办法同步,就不能自动合并中英字幕。

  • 骂ChatGPT完全没用.只能引导。 加句首数字后ChatGPT就可以一行对应一行。尽管偶尔还是会缩句。据我观察,如果英文语法上的一个完成句被拆成了两行,ChatGPT一定会把两行缩成一行。加了句首数字也没用。无论我怎么解释都没用。只能我自行修改。

  • 某些专有名词和一般名词过于相似,比如dominated老是被翻译为【支配】,尽管在这里它只出现在【控制收敛定理】中。ChatPGT有时不知道该不该翻译人名,结果有时用Riemann有时用黎曼。所以我就在第一步用python来word replace。

  • null set直接被翻译错了,成了【空集】,所以我word replace成【零测集】。

ChatGPT翻译很流畅,比任何免费(包括Google)翻译器都流畅。我试过用Google翻译器,快很多,但需要很多修改。ChatGPT的翻译基本一遍过。25分钟的演讲课,翻译成中文约5000字,我只需要修改大约20字。也就是说99.5%可以直接使用。

So I recently translated a whole lecture course on Lebesgue Integral. I would like to share a bit about how I did it.

https://space.bilibili.com/628609616/channel/collectiondetail?sid=1174957

  1. Download the whole playlist by youtube-dl

  2. Push everey video through OpenAI Whisper Large, to generate subtitles. They are almost perfect except that a few subtitles are shifted by about 0.4 seconds for some mysterious reason. I had to fix it manually.

  3. Use my custom python code to read out the subtitle file, merge short lines into one, substitute in the translations of special words like "step function" for "step function". The processed subtitles are then injected with prompts, written out into a file that looks like this:

  4. I copy-pasted the prompts to ChatGPT, resetting the conversation (by refreshing the page) every time one translation is done. This greatly accelerates ChatGPT, because I don't need it to remember previous dialogue. If I keep using the same conversation, the ChatGPT would slow down severely due to its attempt to keep in mind what we talked about previously.

  5. I used python to remove the line numbers from ChatGPT's responses, then used another python function to combine the resulting Chinese translation into one srt file, containing both English and Chinese, line-by-line.

  6. I open the srt file in Subtitles Edit to check for errors manually, and fix them.

  7. I split the srt file into a Chinese-only version and an English-only version.

The Python source code for the project:

https://pastebin.com/998vtxx8




Copyright © 2024 aigcdaily.cn  北京智识时代科技有限公司  版权所有  京ICP备2023006237号-1