同時通訳に近づくリアルタイム翻訳─読みやすさにこだわったリスニングアシスタント開発の裏側
Photo by Markus Winkler on Unsplash
音声翻訳部でシニアリサーチエンジニアとして活躍するjoseこと松岡にインタビューを行い、今年正式提供開始したサービス「リスニングアシスタント(会議翻訳)」(※)について、開発の裏側や工夫、そしてjoseが思い描く未来の姿についてお話しいただきました。
※リスニングアシスタント(会議翻訳):会議中の音声をリアルタイムに翻訳(和訳・英訳)するサービス
所属と業務内容について簡単に教えてください
jose:音声翻訳部に所属し、シニアリサーチエンジニアとして技術開発全般を担当しています。
携わっているプロダクトとしては、リスニングアシスタントとAI動画字幕(※)です。両者は技術的に共通する部分が多く、各プロダクトの知見を活かしながら開発を並行して進めています。
※みらい翻訳 AI動画字幕:動画ファイルや音声ファイルを瞬時に翻訳し字幕にできるサービス
リスニングアシスタントの正式提供開始までを振り返って、印象に残っていることや苦労したことはどのようなことでしたか?
jose:当社はもともと文書翻訳が中心だったこともあり、音声を扱うノウハウがあまりありませんでした。研究レベルでは扱えても、それを商用サービスとしてどう実装するか、どうアーキテクチャを組んでいくかという部分は、ほぼゼロからのスタートでした。その点に関してはプラットフォーム開発部のチームを初めとするみなさんのおかげで徐々にノウハウが蓄積されてきたと感じています。コンセプト段階から開発に関わってきましたが、どういう技術で何を実現するかをゼロから考えるプロセスはとてもやりがいがあり、今も楽しく開発を進めています。本当に皆さんの力があってこそ、ここまで来られたと思っています。
元々コンセプトがあったということですが、どのようにプロダクト化されたのでしょうか?
また、こだわったポイントも教えてください
jose:当社には当初から「音声会議をリアルタイムで翻訳したい」というコンセプトはあったんです。そこでまずは自分でプロトタイプを作るところから始めました。そもそも「これって実現できるのかな?」という手応えを確かめる意味もありましたし、やはり動くものを見ないと、本当の価値はわからないんですよね。コンセプトだけでは一見良さそうに見えても、いざ作ってみると上手くいかないこともあります。
だからこそ、自分でまずはつくってみることを大事にしています。そういった実際に手を動かして形にすることは、自分の得意な部分でもありますね。
その中で強く感じたのが、「読みやすさ」の重要性でした。実際に世の中のリアルタイム翻訳サービスを使ってみた際に、翻訳はできているけど、すごく読みづらいなと感じたんです。発言がなかなか表示されなかったり、かと思えばある時突然長文がまとめて表示されたり、また読んでいる途中で文字が更新されたりすると読みづらかったりします。だからこのリスニングアシスタントでは「読みやすさ」に強くこだわりました。発言を読みやすい自然な単位で切って、テンポよくパッパッパと表示される。そんな体験を目指して開発しました。
技術的に難しかった部分はどんなところでしょうか?
jose:こだわったポイントでもあるテンポの良い表示―つまり“リアルタイム性”の実現が、技術的には一番難しかったポイントでもあります。最終的に同時通訳に近い体験を目指してきたため、いかにリアルタイムで表示されるかを重視しました。ただ、リアルタイムに処理するというのは想像以上に難易度が高い領域です。音声認識も翻訳も、可能な限り未来の情報まで見て処理をした方が精度は高くなりますが、それだと応答に遅延が生じるため、リアルタイム性と正確性はトレードオフの関係にもなります。このトレードオフカーブのどこを狙うのか、またどう超えるのか、ここには大きな価値があると感じていますし、自分にとってもチャレンジしがいがあって面白い部分です。 その意味でも、リスニングアシスタントで実現しているようなテンポの良いリアルタイム表示は、他社ではなかなか真似できない差別化ポイントになっています。
また、翻訳自体も読みやすくする工夫をしていています。文書翻訳では、完結した一文ごとに翻訳をしていますが、リスニングアシスタントでは、リアルタイムで表示する必要があるため、「一文が終わるのを待つ」ということができません。つまり、文章の途中でも翻訳を出さなければならない。そして発言の続きが入ってきた時に、ちゃんとつながるように訳さなければならない。この難しい部分をしっかりと実現させているのが、当社のエンジニアリング部で開発している翻訳エンジンです。非常に優秀なエンジンなので、リアルタイムに区切っても大丈夫なんです。日本語と英語は語順が大きく異なるため、単純に区切って訳すと不自然になりがちですが、当社エンジンは続きも自然に翻訳してくれます。
冒頭、音声翻訳ソリューションであるリスニングアシスタントとAI動画字幕では同じ技術を使っているとお話がありましたが、具体的にはどこが共通しているのでしょうか?
jose:「文分割エンジン」というエンジンを共通で使っていることが挙げられます。
例えば動画に字幕をつけるとき、字幕の長さには制約があります。ひとつの字幕は2行以内、表示時間は7秒まで、など。文字がだらだら流れてくるだけだと、それをどこで切って字幕にすればいいのか分からないんですよね。そこを、文分割エンジンが上手くやってくれます。
リスニングアシスタントでは、リアルタイムで字幕をテンポよく表示するためにこのエンジンを使っています。一方、AI動画字幕では字幕として「適切な長さ」に文章を区切る目的で使っています。用途は少し違いますが、同じ文分割エンジンが活躍しているんです。
文分割エンジンについて補足すると、喋った音声がテキスト化されていく時、どこで文を区切るかって、実はすごく難しい問題なんです。句読点が入っていればまだ判断しやすいんですが、私たちが使っている音声認識エンジンでは、必ずしも句読点がいいタイミングで入ってくるとは限らないため、句読点がない状態でも「ここで切るべきだ」という判断をする必要があります。それを推定してくれるのが、当社で開発した文分割エンジンです。
これまでリスニングアシスタントの開発に携わってきた中で、やりがいや面白さを感じた部分はどのようなところでしょうか?
jose:私は開発までしかやっていないですが、実際にどういうプロダクトにして、どうやって売っていくのかという重要な部分については、PdMを中心に皆でやってきました。そうした一連のプロセスを間近で見られるのはとても勉強になります。また、商談の場に出させていただくこともあります。お客様がどう思っているのかをリアルに感じられるのは、とても貴重な経験です。R&Dだけをやっていると、どうしても想像上のお客様に向けて開発してしまいがちです。厳しい現実を突きつけられることもありますが、リアルなお客さまの意見を聞けるということは本当にありがたいことだと感じています。
周りから、作ってほしい!という期待やプレッシャーを感じることはありませんか?
それなりのプレッシャーは、もちろんあります。でも、私にとっては“嬉しいプレッシャー”なんです。
一方で、「作ったものが売れるかどうか」の方が、正直苦しいプレッシャーです。とはいえ、私はやっぱり“作ること”が得意なので、そこは全力で取り組みたいと思っていますし、むしろ他にできることがないくらいだと感じていますので、自分が担うべき役割は全うしないと、という気持ちで取り組んでいます。
少し楽観的かもしれませんが、「作ることができる」というだけでも本当にありがたいと感じていますし、そのありがたさに応えたいという思いが、日々の原動力になっています。
今後、リスニングアシスタントをどのように進化させていきたいと考えていますか?
jose:ストレスフリーな同時通訳ができるようにしたいですね。イヤホンをつけているだけで、例えばスペイン人と話しているときにスペイン語がそのまま日本語で聞こえてくる。そして、自分が日本語で喋ると、相手にはリアルタイムでスペイン語が届く。そんな世界を2028年までに実現したいと思っています。
実は、現時点でも「ワンテンポ遅れる程度」なら実現できそうではあります。それでも十分な価値があると思っているので、まずはそこを目指しています。ただ、最終的に目指すのは、“ストレスのない”音声コミュニケーションです。今のままだと、どうしても人間の方が相手やシステムに合わせて気を使わなければならない場面があります。そうではなく、まるで同じ言語で話しているかのような、自然なテンポで会話できる状態をつくりたいです。そのためには何をすればいいのか、そこから考えるのが面白いとも感じています。
ありがたいことに周囲の技術の進化スピードもものすごく速くて。私たちもその流れに乗りながら、自社の技術を重ねてゴールに近づいていっていると感じています。
昔なら無理だと思われていたことも、今は全然夢じゃなくなってきていると思うので、みらい翻訳が一番にそれを実現できるような状態になりたいですね。
最後に
最後までご覧いただきありがとうございました。記事を通して、当社の音声翻訳ソリューションへの挑戦や技術を大切にするカルチャーに少しでも興味を持ってもらえていたら嬉しいです。
実はこの記事の作成にも、リスニングアシスタントを使ってインタビュー音声を文字起こしし、その結果を活用しています。
今後も、技術力を活かしながらより良いプロダクトを目指して挑戦を続けていきます。ぜひご期待ください!