-
文化的背景
- StarCraft: Brood War(以下、BW)は韓国で非常に重要なゲームであり、ほとんどのプロ選手、チーム、大会が韓国を拠点としている。
- BWはチェスに似た戦略ゲームで、プレイするだけでなく研究することも重要である。
- チェスのオープニングのように、BWにも特定の戦略やビルドがあり、これはコミュニティ内で発展したドメイン特化言語となっている。
-
海外コミュニティの知識ギャップ
- 海外コミュニティの大半は韓国語に堪能ではない。
- 韓国語を流暢に話す外国人は少なく、そのため海外コミュニティは韓国コミュニティと比べて情報アクセスが制限されている。
- 機械翻訳にはドメイン特化言語を翻訳するうえで限界があり、これが海外コミュニティが韓国コミュニティに後れを取る要因となっていた。
-
新しい翻訳プロセス
- 新しい機械翻訳プロセスにより、より正確な翻訳を提供できるようになった。
- 1日に約7本の動画を翻訳でき、以前よりはるかに速くなった。
-
技術スタック
- 字幕を生成する部分と消費する部分の2つに分かれている。
- yt-dlp と OpenAI Whisper を使って動画の音声トラックをダウンロードし、それをもとに字幕を生成する。
- Google Colab を使って Whisper を実行し、動画URLを入力として韓国語のSRTファイルを生成する。
- LLM と スラング辞書 を使って翻訳の精度を高める。
-
字幕の利用
- TamperMonkey を使って YouTube 動画にボタンを追加し、翻訳済み字幕をダウンロードできるようにする。
- Pastebin と Google Sheets + Apps Script を使って字幕を共有・管理する。
-
改善点
- 複数言語をサポートする機能を追加できる可能性がある。
- 技術的な改善点として、特定の動画にだけボタンを表示する機能を追加できる可能性がある。
-
最後に
- パフォーマンス、スケーラビリティ、レイテンシなどは重要ではなく、既存のソリューションを組み合わせてプロジェクトを完成させた。
- ユーザースクリプトと Colab ノートブックの Python コードは短く、保守しやすい。
- このプロジェクトは最もシンプルな CRUD システムであり、複雑さが大きく増す理由はない。
1件のコメント
Hacker News のコメント
韓国のBWプレイヤーであり音声認識研究者でもある立場から、この記事は面白かった。元の韓国語書き起こしには多くの誤りがあったが、LLMはそれを見事に修正していた。たとえば、「12 アンマダンビルド」は実際には「12 前方拡張ビルド」だった。「トゥエチョリビルド」は「トゥヘチョリビルド」と書き起こされるべきだった。
タイトルに惑わされないでほしい。この記事は、StarCraftの実況解説を翻訳し、アクセシビリティを高めるための非常に徹底的で創造的なアプローチだ。
非英語話者として、この記事を読みながらコンピュータ関連記事やソフトウェア開発の翻訳の難しさを思い出した。
Google Translate版は十分よく理解できた。BWとzerg 12hatchオープナーに慣れているからだ。
翻訳に関する記事で、signal-to-noise ratioを完全に逆に理解していたのが面白かった。高いsignal-to-noise ratioは良いものだ。
yt-dlpを使えば、帯域幅を節約するために低品質の動画をダウンロードできる。yt-dlp -f "bv[height<=720]" <url>子どものころにマネーマップを遊んでいた者として、建物の前にある数字が何を意味するのか気になっていた。
Google Translateは良くなったが、囲碁に関する中国語や日本語のテキストはうまく翻訳できなかった。
この記事は気に入った。World Cyber Gamesのアメリカ地域大会に挑戦したとき、他の人たちの速さに驚いた。
"natural expansion" を "courtyard" と訳したのは「誤訳」だが、気に入った。