言語の壁を超える / 多言語音声翻訳アプリケーション開発奮闘記
プロアクシアコンサルティングでオープンソリューション事業部に所属している K.S です。
今回はモバイルデバイス用の多言語音声翻訳アプリケーションの開発について紹介いたします。
プロアクシアでの役割とこれまでの経験について
仕事に従事するようになってからは、アプリケーションの開発を中心に担当してきました。
最初のころは、日本ではまだあまり普及していなかった Windows や OS2 などの OS 上で稼働するワープロソフトや、自治体向けの業務アプリケーションなどの開発に携わりました。
プロアクシアコンサルティングに入社してからは研究所のお客様をメインで担当しており、お客様の研究内容で出てくるアイデアの活用方法を評価するためのデモ用アプリケーション開発などを支援しています。
最近は音声関連の研究のご支援をしており、音声認識と翻訳システムを連携してスマートフォン上で利用できる多言語音声翻訳アプリケーションの開発などを行っています。
多言語音声翻訳アプリケーションの開発を始めたきっかけについて
現在の研究所のお客様を担当させていただくことになったことで、音声研究の分野に携わるようになりました。最初のころは音声認識技術のご支援で、動画の音声をテキスト化し、字幕として付与するアプリケーションの開発を担当しておりました。
その後、別部署が担当していた多言語音声翻訳アプリケーションの開発のお手伝いをする機会があり、それ以降は多言語音声翻訳アプリケーションの開発を担当するようになりました。
多言語音声翻訳アプリケーションの構成について
多言語音声翻訳アプリケーションは、スマートフォンを入出力のインターフェースとして利用して、音声入力したデータをテキスト変換したのちに、他言語への翻訳を行います。
翻訳結果は文字で表示するだけでなく、音声での読み上げにも対応しています。
多言語音声翻訳アプリケーションは音声認識や音声合成などの音声処理機能と、言語翻訳機能で構成されています。音声処理機能や音声翻訳機能はクラウド上で提供されているサービスで行い、スマートフォンのアプリケーションから送信した音声データをテキストに変換した後に他の言語への翻訳を行います。
多言語音声翻訳アプリケーションの特長について
色々なベンダーからスマートフォン上で利用できる多言語音声翻訳アプリケーションがリリースされていますが、私が担当している多言語音声翻訳アプリケーションでは下記の2つの特徴があります。
一つ目は、翻訳エンジンが日本語をベースに開発されている点です。
Google や Microsoft などが提供している翻訳エンジンは英語をベースに開発されています。
このため、英語以外の言語間で翻訳を行う場合は一旦英語を中継するため、2段階で翻訳が実行されます。
日本人が利用する場合、日本語と他言語での翻訳の利用が一番多く、日本語をベースに翻訳エンジンが開発されていると直接翻訳できる頻度が高くなります。
これにより、2段階で翻訳を行うことに比べて、翻訳精度の高い結果を出しやすくなります。
二つ目は、アプリケーション上に翻訳結果だけでなく、再翻訳した結果も表示する点です。
例えば、日本語を英語に翻訳する場合、入力された日本語と翻訳結果の英語を表示するだけでなく、英語を再度日本語に翻訳した結果も表示します。
翻訳前と比べることで、英語の翻訳結果が意図した内容に近い形で翻訳されているのかを確認することができるようになります。
音声翻訳の進化や傾向について
現行の性能を向上させる方向では、翻訳スピード、翻訳精度、未知語対応、対応言語などの進化や拡大がありますが、これらの機能や性能については日々機能改善されることで性能は向上していくと思われます。特に最近はやりの生成 AI との連携が進めば、より自然な文章での翻訳が可能になると思います。
機能面の進化については、同時通訳の機能が実現されてほしいと考えています。
同時通訳の場合、話している内容を翻訳してそのまま相手に伝えるだけでなく、話していた内容をある程度意訳したり言い換えることで、より簡潔で分かりやすく伝えられるようにしている部分があります。
このため、翻訳の機能とは別に文章を再構成する機能も必要となりますので、そういった機能拡張が実現できないか考えています。
今後の多言語音声翻訳アプリケーションについて
現状の多言語音声翻訳アプリケーションでは、翻訳作業を実行する際にマイクボタンを押すなどの操作が必要です。操作方法はシンプルで簡単ですが長い会話の中で何回も操作するのは、どうしても面倒になってきます。
このため、できるだけユーザーの操作を減らし、普通に話していれば自動で翻訳されて結果が表示されるところまで機能改善していきたいと考えています。
開発する際のこだわりや注意している点について
多言語音声翻訳を行うには多くの言語を利用するため、アプリケーション上での各言語の表示について気を付けるようにしています。言語によっては同じフォントサイズでも小さく見えたり、行間が狭くなって文字が重なるなどの問題が発生する場合があるので、言語毎に行間を調整するなどの微調整を行って対応しています。
また、多くの国の人に利用いただくために、アプリケーションの UI で利用する言語についても、多くの言語をサポートするようにしています。システムメッセージも各言語で正確な文章で表示できるように、言語毎にネイティブの方に文章チェックしていもらい不自然な文章にならないようにしています。
開発で苦労したこと、難しかったこと
多言語音声翻訳なので見たこともない言語も多くあり、表示された翻訳結果の文字を見ても全く読めないこともよくあります。
このため、表示された翻訳結果が適切なのか判断が難しく、動作検証するのにとても苦労しました。
特にアラビア語などの右から表示する言語は馴染みが薄いのでさらに大変でした。
それ以外では、 iPhone と Android で個別に開発をしていたプログラムを、Flutter (マルチプラットフォームフレームワーク) を利用してプログラムソースを共通化する作業をしたのですが、新しい開発環境や開発言語を習得するのにとても苦労しました。
開発で良かったこと、成果を感じたことについて
開発したアプリケーションを多くのユーザーの方に利用していただいて「いい評価」をいただけた時や、作成したデモアプリケーションを利用したデモンストレーションの評判が良かった時などがとてもうれしく感じます。
それ以外では、開発をしている際にプログラムソースをうまく纏められて、処理速度が思った以上に向上したり画面表示がきれいになった時などは、プログラマーとして充実感を感じることができます。
今後取り組んでいきたい技術や案件について
新しく取り組んでいきたい案件ではないですが、今まで自分が多くの案件で培った技術や経験を社内にフィードバックしていく取り組みをしていけたらと思っています。
現在はお客様先で開発担当をしていることもあり、自社の若手社員の育成などにあまり携われていないので、今後は若手社員と一緒に案件に参画できる機会を設けて育成に力を入れていきたいです。
今後のエンジニアとしての成長について
今後もアプリケーション開発には携わっていきたいと思っています。今までも案件が変わるたびに新しい分野にチャレンジしてきたので、今後も少し高い目標を目指してチャレンジしていきたいと思っています。
プロアクシアには色々な分野でチャレンジしているメンバーいるので、それらのメンバーの知識を集約して自社製品やサービスの開発にチャレンジしてみるのも面白そうだと思います。
今興味のあることについて
仕事以外では、ガーデニングと編み物に興味があります。
ガーデニングは、ベランダで植物を育てていて剪定して捨てるのがかわいそうだなと思って挿し芽してたら、植木がどんどん増えてきてちょっと困っています。
編み物は、一つのことに集中して取り組むことで気分転換ができるので気に入っています。仕事から気分を変えて頭を空っぽにしたいときになかなかいいです。
今はまっているのは靴下で、つま先、かかと、足首など、いろんな編み方があってうまく纏めるのはたいへんですが、出来上がりを想像すると楽しいです。