Whisperとgpt-3.5-turboで、話した内容を英語に翻訳してくれるChrome拡張機能を作りました!
LLM Advent Calendar 2023 の9日目の記事を担当する「にょす」です!
この記事では、最近開発している「Konnyaku(音声認識の翻訳ツール)」を題材に、LLMを活用したサービス設計と実装について書いていきたいと思います。
開発に至った背景💭
生成AI界隈を追っていると、新しいモデルやツールなど、さまざまな最新情報が流れてきますよね。
ただ普段使いに昇格するものは結構少ない気がしていて、その一つの要因としては「英語プロンプトで入力する必要がある」という状況だと思っています。
画像生成系はやっぱり英語プロンプトの方が有効だし、Llama2や、phindも性能は魅力的だけど、英語で入力するのはちょっとなー、と思う経験を何度もしてきました。(多分英語ネイティブなら数秒で終わることでも、1~2分くらいかかってる…🫠)
ということで、この課題を解決をしようと色々調べてみたのですが、表示されている文字の翻訳ツール(DeepL、Google翻訳など)はあれど、自分が入力したい文章を、手間なく自然な流れで翻訳してくれるツールって意外と見つからなかったので、
作りました!!!🔥🔥🔥
どんなツールか💁♀️
chrome拡張機能「Konnyaku」を使って、ブラウザのどこでも、あなたの伝えたいことを瞬時に英語に翻訳します💪
もし使ってみたいという方は、Waitlistに登録をお願いします!
どのような体験を実現するか🧭
このツールを開発するにあたって、こだわりたい体験を言語化しました。
自分の伝えたいことを英語に翻訳できる
翻訳するための手間が少ない
色々なところで、翻訳できる
これを実現するために、OpenAIのWhisper APIで話した内容を文字起こしして、 それをgpt-3.5-turbo APIを使って瞬時に英語翻訳し、テキストフィールドに文字が出力されるような体験を作り、かつChromeのブラウザでどこでも利用できるChrome拡張機能を実装することにしました。
Chrome拡張機能はサクッと作れる🧑💻
今回の構成は、Chrome拡張機能でUIと音声入力の受け付けを行い、バックエンドサーバ側で、音声の文字起こしと英語翻訳をしています。
Chrome拡張機能は触ったことがありませんでしたが、60点レベルのものであればサクッと作れてびっくりしました。
こちらの記事がとても参考になります!
英語が分からなくても翻訳結果がわかるように🤔
話した内容を英語に翻訳してくれるのは良いのですが、一方で、翻訳された英語が果たして合っているのか?の判断は難しいです。
そこで翻訳結果を生成後に、英語だけではなく、その英語の日本語訳も合わせて表示することで、英語の妥当性を判断することができます!
こういった理想のユーザー体験を起点として、アウトプットに手を加えたい!ということに、LLMであればチューニングがすぐできるのが嬉しいところ。
今回のプロンプト指示では、インプットとして音声認識結果を渡し、それを踏まえて英語の翻訳結果と、併せて英語の日本語直訳を生成してもらってます。
LLMが担う役割✨
今回、翻訳部分には gpt-3.5-turbo を採用しました。理由は、生成速度が早く、コストもお手頃、という2点の理由からです。
ただ「それ既存の翻訳APIでも良くない?」という見方もあるかもしれませんが、LLMはプロンプトによって単純なタスクに加えて、さらに細かい微調整が柔軟にできるというのが魅力だと思ってます。
なので今回のgpt-3.5-turboには英語翻訳をすることに加えて、次のような役割も担ってもらおうと思っています。
文字起こしされた文章の誤字修正
「あー、えー」などのフィラー後の修正
翻訳結果のテイスト変換(カジュアル、フォーマル)
画像生成特有の単語のカンマ区切り変換
ユーザー側でも翻訳結果をカスタマイズ可能に
ここら辺は絶賛検証中ですが、モードを選んで出力結果のチューニングが簡単にできる体験を作れたらいいなと思っています。
終わりに
そのまま翻訳するのではなく、意味を汲み取って、適切な形で翻訳するという体験は、LLMが出てきたからできるようになったことだと思います。
負荷のかからないUX設計にもこだわりましたので、新たな翻訳体験を体験したい方は、waitlistへの登録をお待ちしてます!