見出し画像

入社1年目の若手エンジニアが語る文字起こしサービス開発の裏側

BONXでは、2020年4月30日(木)に法人向け音声コミュニケーションシステム「BONX for BUSINESS(以下、B4B)」のプロフェッショナルプランに音声データをテキスト化する「文字起こし機能」を追加しました。これにより、「録音データの文字起こしが不要になる」「文字起こしされた音声の読み上げ」「会話ログが残せるため、途中から参加した人にも過程を把握が容易になる」など、さらなる業務の効率化を図ることができるようになりました。

本機能の開発メンバーの一人である若手エンジニアの内藤は、AndroidエンジニアとしてBONXに入社しましたが、全体で最適なサービス開発をするために入社1年目からサーバーサイドの業務も担当し、活躍のフィールドの幅を広げています。今回はそんな期待の若手エンジニアの内藤に、開発者の視点から文字起こし機能の可能性や開発における思いを語ってもらいました。

開発の中心は、入社1年目のエンジニア

私は2019年5月にAndroidエンジニアとしてBONXに入社し、もうすぐ2年目を迎えます。前職もエンジニアとして仕事をしていましたが、BONXではさまざまな業務を任せてもらえていて、大変ではありますが充実していますし、やりがいを感じながら仕事を楽しんでいます。

今回リリースした「文字起こし機能」については、自社開発ではなく外部サービスを活用することで機能を付加させようとしていたので、主に外部サービスの事前調査や簡単な設計のたたき台を制作したり、コードを書いたりしていました。

事前調査というのは、GoogleやNTTなど各社が提供するSTT(Speech To Text)サービスを比較し、BONXメンバーが日常会話など、さまざまな人たちの発話がどれくらい適格に文字起こしされているのかを検証しましたね。B4Bには、マイクロソフト社の音声サービスを採用しました。

また設計については、アプリケーションの基本的な設計を行い、そこからチーム全員で「インフラの構成」や「音声をどのようにBONXのサービスから受け取り、どのように外部サービスに連携させ、音声を保存するのか」など、業務仕様に耐えうる設計まで引き上げていきました。……


BONX流、スクラム開発

開発には、バックエンド側のBONX社員3名がコアメンバーとして進めていたほか、外部委託しているエンジニア10名程度が携わってくれました。2019年12月のβ版のリリースを経て、検討開始から約半年間で正式リリースすることができました。

非常に大変だったことのひとつが、チーム開発という点ですね。メンバーのまとまりを意識しながら試行錯誤の日々でした。
チーム開発のノウハウがなかったので、進捗管理のひとつでも手こずったり、どのように進めていくことがベストなのかということに悩みましたね。「スクラム」というフレームワークの開発手法を使って、チーム強化を図りながら進めていきました。当然、メンバーそれぞれに役割はありますが、週に1度は必ずミーティングを行って、互いの状況を共有しながら、課題が見つかればアプローチ方法をみんなで思考するようにしていましたね。

文字起こし機能の可能性

B4Bに搭載した「文字起こし機能」は、マイクロソフト社の音声サービスを使用しています。周辺の環境によって文字起こしの精度にも差が出るので一概には言えませんが、個人的な体感としては70%程の認識率はあると思います。
文字起こしの認識率を上げるコツとしては、標準語のイントネーションでハキハキと話すとよいと思います。アナウンサーになった気持ちで話してみてください(笑)。

今回の機能搭載では、会話のログがアプリ上で画面左から右にスワイプすることで確認することができ、音声の読み上げに対応、またPCのブラウザから管理画面にログインすれば会話内容をCSVデータでダウンロードすることも可能になっています。

技術的には多言語翻訳の機能を導入することも可能で、今後は「文字起こし+翻訳」といったこともできていくのではないでしょうか。
また、BONXがB4Bに採用しているマイクロソフト社の音声サービスは、専門用語を学習させることができるので、先々に企業や業種毎に環境に応じてカスタマイズさせることも可能となり、企業様のさらなる業務効率につながっていくと思っています。

画像1

新たな設計手法を、取り入れる

設計にあたって、BONXがこれまで実装・運用のノウハウがなかったソフトウェアの設計手法である「マイクロサービス」を新たに取り入れることにしました。これは、複数の小さなサービスをAPI(自己のソフトウェアやアプリケーションを一部公開して、他のソフトウェアと機能を共有できるようにしたもの)で連携させる設計手法です。

「マイクロサービス」を開発に取り入れるメリットとして、

・アプリケーションが小さく分かれているので、一つの変更でおこる副作用が小さく、デプロイする範囲も小さいので機能の修正や変更が容易になる
・小さなサービスに区切って開発を進められるため、開発効率があがりユーザーの要望にも迅速に応えることができる。

といったことが挙げられます。
「マイクロサービス」を実装するために、サービス全体の中にあるいくつかの機能を機能毎にアプリケーションを分割することで実現しました。そして、分割したアプリケーション群を実行する基盤には、「Kubernetes (クバネテス、略称は k8s)」というオープンソースのプラットフォームを採用しています。

つまり、「マイクロサービス」の実装や「Kubernetes」を採用したことで、迅速なアプリケーション開発をすることができるようになったんです。

画像2

開発するメンバーへ配慮することを忘れない

開発手法として「マイクロサービス」を新たに取り入れたのは、BONXのサービスを使用するお客様のことだけではなく、リリース後も開発者側がよりアップデートしやすくするためにという意図があります。
人間はどこかでミスをする生き物だと思います。だから、私が開発するうえで大切にしているのは、「あとから入るエンジニアメンバーが、極力何も考えずに修正や変更が加えられるようなコードになっていること」。コードを使う側の人に間違える余地を与えないように意識して開発に取り組むようにしています。


B4Bに「文字起こし機能」が搭載され、話した内容が文字になるだけでさまざまな労力をなくすことができます。仕事の効率化を図るためのツールとして、企業のみなさまの選択肢のひとつになると思います。ぜひ、ご利用ください!

BONX for BUSINESSの文字起こし機能のご利用方法


①初めてBONX for BUSINESSを利用される企業様
お申し込みは下記のURLにおいて、右下の「今すぐ無料でお試し」からお申し込みください。
https://bonx.co.jp/
お申し込み時に「BONX for BUSINESSをどこでお知りになりましたか?」という質問がありますので、“その他“を選択の上、詳細欄に「文字起こし機能希望」と記載いただけますようお願いいたします。

②すでにBONX for BUSINESSを利用されている企業様
テナント管理者様より、弊社の営業担当までご連絡ください。


*******************************************************************************
BONXでは現在、一緒に働くメンバーを募集しています!
採用・応募に関するお問い合わせはこちらまでお気軽にご連絡ください!
recruiting@bonx.jp
*******************************************************************************