同時通訳システムについて
プロアクシアコンサルティングでオープンソリューション事業部に所属しています T.M です。
今回は私が開発を担当していました、同時通訳システムについて紹介したいと思います。
プロアクシアコンサルティングでの役割とこれまでの経験を教えてください
業務経歴としましては、オープン系での業務システムを中心に開発を担当してきました。
プロアクシアコンサルティングに入社してからは、アジャイル開発手法を取り入れたスマートフォン向けのアプリケーションの開発や音声関係の開発を担当しています。
通訳方式について
通訳の方式は大きく分けて下記の2つの方式があります。
- 逐次通訳:発話者の発言の区切りごとに翻訳を行う
- 同時通訳:発話者の発言と翻訳をほぼ同時に行う
一般的に利用されているのは逐次通訳で、音響的に言葉が途切れたことを検知したタイミングで翻訳を実行します。音響的に言葉が途切れるタイミングの多くは文章が完結したタイミングになるので、比較的正確に翻訳することが可能です。
翻訳結果が表示されるタイミングが少し遅くなりますが、インタビューや質疑など発言の区切りが明確に出やすい場面での通訳に適しているかと思います。
同時通訳の場合、逐次通訳やターン・テイキングな翻訳 (入力後に翻訳ボタンを押したら翻訳されるような形態) とは異なり、システムを一度起動させると音声入力と並行して通訳を行います。このため、話者が話している最中に発言内容の言語的な区切りを見つけ出し、そのタイミングで翻訳を実行します。
ライブ配信や Web 会議などでは、発表者の動作やコンテンツとあわせてリアルタイムに翻訳結果が表示された方が内容が伝わりやすいため、同時通訳の方が適しているかと思います。
同時通訳システムについて
同時通訳は以下の4つの処理で実現します。
- 音声認識:PC に接続したマイクから入力した音声を認識する
- 分 割:認識結果を言語的な区切りに分割する
- 翻 訳:認識結果を翻訳する
- 音声合成:翻訳結果を合成音声として再生する
弊社ではクラウド上に構築した、音声認識・翻訳・音声合成サーバーのシステムを使用するソリューションを提供しております。しかしながら、今回のテーマである同時通訳システムではリアルタイムに翻訳結果を表示するために高レスポンスを実現する必要があったため、クラウドとの通信のオーバーヘッドのないスタンドアロン環境でシステムを構築しています。
音声認識、翻訳、音声合成のエンジン部分については、NICT(国立研究開発法人 情報通信研究機構)様が開発された物を利用しております。これらのエンジン類の実行環境を Docker 上に構築し、音声デバイスの設定や Docker とのやり取りなどの部分を Windows PC 上で動くクライアントアプリケーションにて実現しております。
実行環境につきましては、翻訳を実行するのに GPU へ高負荷がかかるため、市販のゲーミングノート PC 程度の構成が必要になってきます。
同時通訳システムは独立したシステムとして稼働するため、ネットワーク環境の整っていない場所での利用や、セキュリティ要件で外部へのデータ送信を行いたくない環境でも翻訳が行えます。また、Zoom や Teams などの通話アプリやシステムに依存せずに利用することが可能です。
翻訳結果については、クライアントアプリケーション上に表示するだけでなく、字幕として映像に合成することも可能で Zoom や Teams などのカメラ映像上に表示することができます。
通訳対象の言語については、現状は日→英、英→日に対応しており、2台のマイクを利用して双方国の通訳を同時並行で行うことも可能です。なお、各種エンジンは日本語・英語・中国語など 15 言語をサポートしているため、今後必要に応じて多言語での同時通訳システムを開発することは可能です。
同時通訳システムの利用想定環境について
昨今はビジネスのグローバル化やインバウンド需要の高まりにより、多くの場面で通訳の需要が高まってきています。その中でも、スタンドアロン環境で動作する利点を生かして、下記のような場所での利用を期待しています。
- 通信が難しい環境
例) 国立公園における案内等 - 機器の利用範囲が制限される環境
例) 官公庁、自治体等
開発時に困ったことについて
同時通訳システムを開発するにあたり、一番重要だったのはユーザーへのレスポンス速度でした。
開発当初の実装方法では、音声認識から翻訳処理を行うまでの処理で思ったような速度が出ずに、認識してから表示するまでに4,5秒程度の時間を要していました。このため、既存の通訳システムをそのまま利用するのではなく、新たに別のコンポーネントを組み込んで速度向上の対策を行っています。
また、翻訳結果を表示する仕方についても工夫を行っています。
分割・翻訳結果はある程度認識結果が溜まってから出力されるため、処理中はユーザーには何も表示さず、実際の時間以上に体感的に長く感じてしまっていました。この部分を改善するために、音声入力の認識結果は順次表示し、分割・翻訳結果が得られた段階で置き換えるように変更しました。
これにより、ユーザーには動作状況が見えるようになることで、体感的な遅さを改善しています。
それ以外にも、エンジン性能やハードスペックを十全に発揮できるように環境面の調整を実施したり、音声認識と翻訳処理を並行で実行できるように調整することで、全体的なレスポンスを向上させています。
今後改善していきたい点について
今後改善していきたい点としては、以下の3点があります。
- 操作性の向上
- メンテナンス性の向上
- さらなる速度向上
操作性の向上は、同時通訳システムの起動から利用を開始するまでの操作や、環境設定の操作の部分をストレスなく利用できるようにしていきたいです。
メンテナンス性の向上については、スタンドアロン構成のためアップデートなどは個別対応が必要になる部分を、遠隔からでも容易に更新できる方法を検討していきたいです。
さらなる速度向上については、エンジン部分の更新も含めて、より効率的な処理方式がないか模索していきたいと思います。
プロアクシアコンサルティングのつよみについて
大きな部隊ではないですが、それぞれのメンバーが多様な方向性で特徴を持った人が多く、様々な方向の知見が得られることが強みだと思います。
また、開発メンバーだけでなく営業含めて話しやすいメンバーが多いため、プロジェクトの雰囲気も良くとても仕事がしやすいです。
今後どのような案件に携わっていきたいですか
音声認識の機能は多くの分野での利用が進んできていますし、今後も AI や VR などと連携してさらに利用が促進されると思っています。
今後も色々な分野で利用者に喜ばれるシステム作りに携わっていきたいと思います。
今後エンジニアとして、どのように成長していきたいですか
最近は開発だけでなくプロジェクト管理も担当するようになってきました。今後は上流工程やマネージメント部分も含めて、プロジェクト全体を担当していけるようになりたいです。
また、会社として新卒などの若いエンジニアの拡充を進めていますので、よい指導者となれるよう若手の育成にも積極的に参画していきたいと思っています。