Interviews/

中尾 亮太 / AI:音声(Speech)

自己紹介をお願いします。
中尾亮太です。2021年に新卒として入社し、AIカンパニーAI開発室 Speechチームで、音声認識アプリの「CLOVA Note」や電話応対AIサービスの「LINE AiCall」など、音声認識を用いたプロダクトの開発・運用と新規技術の研究開発を行っています。

学生時代は自然言語処理の研究をしていました。LINEは国内の自然言語処理を行っている会社でもトップクラスの会社と認識していたので、就職活動の当初から選択肢に入っていましたが、最終的にLINEを選択した理由は主に2つあります。

1つ目は、ユーザーニーズに応えるような開発をしたいと思っていたことです。修士課程のときに、一時的に休学してスタートアップ企業で働いていたのですが、プロダクトを作り検証するタイミングで、テストユーザーを集めるだけでもかなりの労力がかかることを実感しました。それと同時に「自分の思う最高のプロダクトを作るぞ」という気持ちよりもユーザーニーズを把握し、問題を解決したりより良い機能を実装することの重要性を感じるようになりました。大きな企業やプロダクトを持っていることはユーザーからの生のフィードバックや具現化されたニーズも多いはず。既存ユーザーのいない新規のプロダクト開発の場合であっても、十分なフィードバックが得られる環境があると考えていました。

2つ目は、LINEが主催している「ISUCON」というプログラミングの大会に学生時代から参加していたことです。個人的に大好きなイベントでして、こんなに素敵なイベントを主催するような会社だったら楽しく働けるだろうと、文化的な部分にも大きな期待を持てたことも決め手の一つになりました。

選考の際には、自然言語処理の研究のほかに、サーバーサイドのプログラミング知識があったので、その2軸で業務に取り組める点をアピールして、縁あって今LINEで働いています。
業務内容や具体的な流れを教えてください。
主にLINE AiCallに用いられる音声認識エンジンの改善と、音声認識システムの運用の効率化を担当しています。

私が所属するSpeechチームにはいくつかのサブチームがあり、その中で私はDNN-HMMという技術を用いた音声認識エンジンの開発や運用を行うサブチームに所属しています。他には、近年音声認識の分野で注目を集めているEnd-to-End音声認識システムの開発を担うサブチームや、トップカンファレンスへの論文採択を目指した研究に特化したサブチームもあって、それぞれの役割に分かれて音声認識技術の向上に取り組んでいます。少し古いものですが、2021年の組織紹介インタビューもあるので、読んでいただけると参考になると思います。

業務の流れとしては、LINE AiCallを契約している企業からの要望が企画チームから共有されるところから始まり、問題点の究明・改善を進めることが多いです。改善案を取り込んだモデルを実際に作り、そこから自動評価システムを用いた結果をもとに、問題が改善されているかのテストを何度か繰り返し、十分な精度が保たれている状態になったタイミングで、企画チームと再度すり合わせを行います。最終的な評価を行った後、新しいモデルがサーバー上にデプロイされ、ユーザー企業のもとに届けられる流れが基本的なサイクルになっています。もちろん、企業や企画側からの要望を起点とする案件だけではなく、常に自分たちでも問題を見つけ、改善するサイクルも走らせています。

業務の優先順位整理は、主に改善によるインパクトの大きさで判断しています。たとえば対話の最初の段階でお客様IDを聞き、それをもとに名前などの登録情報を確認していくような使われ方の場合、最初のお客様IDが正しく認識できていないと、その後正しいやり取りが成立せずにシステムとしては非常にクリティカルな問題です。逆に郵便番号や住所や名前を聞いた上で配送先情報を収集するような使われ方の場合、どれかの情報の認識が少し間違えていたとしても恐らく配送は成立します。少し極端な例ですが、こういった案件が同時にあった場合、前者を優先することになります。

簡単な案件であれば、担当者がアサインされ、ひとりで全て対応することもあります。複雑な問題で根本的に現状のシステムでは解決できないような場合は、企画チームも含めたプロジェクトメンバー全体で改善策をすり合わせ、実装にかかる工数を試算する検討会を行うこともあります。
具体的な業務例を挙げると、たとえば住所の認識結果の調整です。認識結果が市区町村名の漢字を間違えているケースがあって、モデルを訓練する用のコーパスを確認するとデータが古く、確認すると市区町村名の変更が行われていたことが原因でした。コーパスの該当箇所を最新データに置き換えると音声認識結果も正しくなります。さらに、それだけでは新しく生まれる地名に対応できないため、住所コーパスを定期的にアップデートする仕組み作りも行いました。現在も、住所という「構造化されている一方で多様な例外が存在するテキストデータ」を効率よくモデル化するために、コーパスをどのように具体化するか、実験を繰り返して方針を決定し改善を進めています。

最近では原因究明と解決のスピードを上げる、モデル改善のプロセスを改善する取り組みがメインになりつつあります。その1つが音声認識システムをKubernetes上で運用できるように移行したプロジェクトです。今まではベアメタルサーバーに直接プログラムが置いてあり運用されている環境でしたが、ログの確認時にサーバーにログインしファイルを1行ずつ確認しなければなりませんでした。 Kubernetes環境に移管するとCPUが足りずサーバーを増やしたいときなどにも柔軟に対応することができ、特定のログ収集サーバーへのログの自動送信や、ログの検索も簡単にできるようになります。運用の効率化にチームで取り組んでいる一つの事例です。

モデルの改善も、プロセスの改善もどちらも実際に取り組んでみると双方重要だと気づきました。細かいケースを見ていく中で気付ける全体的なこともありますし、全体を俯瞰したプロセスの改善を行い、その影響範囲を他に応用できることもあります。両方経験できる環境だからこそ、どちらも疎かにはしたくないですね。
仕事を進める上で、意識していることはありますか
できるだけ素早いコミュニケーションを心がけています。問題発見から原因究明・改善のサイクルをいかに早く回せるかに日々取り組んでいるので、自分のレスポンスが遅れることでコミュニケーションのサイクルに影響が出てしまうのは本末転倒だと感じています。素早くやり取りを進めることは、改善サイクルの質的な向上にもつながると考えています。

個人の成長という観点だと、問題を解決する際には可能な限り複数案の検討を意識しており、複数案を比較検討する中で最善策を選ぶようにしています。また、複数案を検討した際は必ず全てのパターンをメモしているので、そのときに使わなかった案も後々役立てていくための資産になっていくと思います。その場での正しい判断はもちろん大事ですが、改善を繰り返していく立場として選択肢を持つようにすることは、すごく意義のあることだと思っています。
おもしろいことや難しいことなど、働く中でこれまでに得た感触を教えてください。
会社を選ぶときに期待していたことですが、実際のユーザー課題を把握してそれを解決できるサイクルを回せている実感があり、すごく楽しい仕事だと思えています。自分自身でモデルの改善を行うタスクと、モデル修正のプロセスを改善するタスクの両方に取り組んでいて、特に後者は自分自身で改善のニーズを出し、それに応えているので、自問自答しながら取り組むおもしろさがあります。

また、複雑で大きな問題はもちろん大変ですが、解決できたときは大きな達成感を感じますね。Kubernetes化でシステム全体を移行するような規模の大きいプロジェクトでは、細かいステップを踏んで問題を解決する必要があったのですが、複数のポイントがつながり、うまく動くようになったときはとても嬉しかったです。大きな問題に取り組む機会が徐々に増えてきているので、入社当初よりもステップを踏んで問題を解決できるようになった実感があります。

大きな仕事に取り組む際は、事前に特に綿密に計画を立てて目的や達成条件を整理し、タスクに落として優先度をつけながら、複数のステップに分けて実行する方法が身についたように思います。計画立案と優先度の整理方法は、チームのテックリードの方に学びました。先の問題を見越して指摘してくれるので、とても尊敬しています。

機械学習にはブラックボックス的な難しさがあり、日々問題に向き合い、解決に向けて取り組まなければなりません。「なぜ間違った認識結果になってしまうのか」という問いに対して、仮説を立てられてもすぐに確証が得られるわけではないので、そのような部分には難しさを感じています。原因究明をしやすくするためのサポートツールをはじめとした環境整備にも取り組んでいるのですが、まだ根本的な解決には至っていないので、地道な試行錯誤を重ねています。

機械学習の知識とサーバーサイドの知識の両軸で仕事を進められる点は私の強みでもあるのですが、プロダクトづくりをする上での革新的なアイデアや、誰も着目していないような問題点を見つける能力はまだまだ習得していく必要があると感じています。1つの分野に対して広く深い知識を探求し続けていきたいという点でも、まだまだ改善の余地があると思っています。
LINEに入社して良かったと感じることはなんですか
チームメンバーとのコミュニケーションが取りやすく、とても働きやすい点です。自分自身もメンバーに助けられていますし、自分の担当外のタスクでも手伝えることがあれば積極的にフォローしていきたいと思えるようなメンバーに囲まれていると思います。相互補完的な動きが高い次元でかつ当たり前に行い合える環境は、心理的な安全性も高く刺激も多いです。同じチームのメンバーから自分には思いつかなかった着眼点が出てくることも多く、学びを得られています。

任せられる業務も、私自身のステップアップをしっかり考えてもらえているように思います。多彩な経歴かつ高い専門性を持った方々と有意義な課題に取り組めること、少しでもメンバーやプロダクトやユーザーに貢献できることは誇りに感じられています。
最後にメッセージを
日々の改善業務を行う中で、今あるシステムを全て受け入れず問題を見出していくような、ある種の批判的思考力はとても重要だと感じています。機械学習に対する知識はもちろんですが、何かを本質的に考え続けることが好きな方には向いている仕事かなと。

LINEのSpeechチームは、技術や知識を吸収できて楽しく仕事ができるだけではなくチャレンジできる環境です。改善すべき課題がたくさんあるので、たくさんの有意義なチャレンジをしてみたい方には理想的だと思います。経験豊富な先輩から学ぶことも多いですし、本当に早くから大きな仕事を任せてもらえます。こういった環境に魅力や興味を感じていただけていたら、ぜひ選考に参加してみてください。