SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

【デブサミ2020夏】セッションレポート(AD)

ミクシィのCREが語る、機械学習でのカスタマーサポート改善――モデル開発の工夫とは【デブサミ2020夏】

【C-6】人の仕事、機械の仕事。エンジニアによるカスタマーサポート改善

  • X ポスト
  • このエントリーをはてなブックマークに追加

 ゲームやSNS、スポーツ事業などを展開しているミクシィでは、カスタマーサポート(CS)を全社横断組織として位置づけ、複数サービスのサポートと健全化を行っている。そして同社ではCS業務をサポートすべく、CS専属のエンジニアCRE(Customer Reliability Engineer)を置き、CSのクリエイティビティを最大化することをミッションにシステム開発・運用を行っている。CSではユーザーからの問い合わせがくると、大量のテンプレートの中から適切なものを検索して返答するのだが、その検索に時間がかかっていたという。この課題を解決するため、機械学習を活用し対応を効率化するシステムを構築したという。この施策を進めるにあたってどのような課題があり、どう解決したのか。ミクシィ 統括管理本部 CS部 CREグループの本間光宣氏が解説した。

  • X ポスト
  • このエントリーをはてなブックマークに追加
株式会社ミクシィ 統括管理本部 CS部 CREグループ 本間光宣氏
株式会社ミクシィ 統括管理本部 CS部 CREグループ 本間光宣氏

ミクシィのCSが抱えていた課題とCREの仕事

 ユーザーの疑問や不問などの問い合わせに対応するカスタマーサポート(CS)は、顧客満足度の向上はもちろん、サービスやプロダクトのリピート率を向上させる役割を担っている。ゲームやSNS、スポーツなどの複数事業を展開しているミクシィでは、CSを全社横断組織として位置づけ、サービスのサポートと健全化に取り組んでいる。

 そんなCSをシステム面でサポートしているのが、CRE(Customer Reliability Engineer)である。日本ではまだなじみがないかもしれないが、Googleが2016年に提唱した職種として、注目されている。CREをミクシィではCS専属のエンジニアと位置づけ、CS業務を技術でサポートしている。「主な業務としてはCSの業務に必要なシステムの開発・運用や問い合わせ調査、問い合わせによって見つかったバグ修正などのプロダクト開発、よりよいCSを作るためのCSの問題分析やシステム開発に従事している」と本間氏は説明する。

ミクシィのCSは全社横断組織
ミクシィのCSは全社横断組織

 本間氏が担当しているゲーム事業ではどんな問い合わせが来るのか。

 「仕様についての質問や操作がわからない、エラーになるなど問題解決の方法、機種変更時のデータ変更に関する問い合わせなど、必要な情報を取得するための問い合わせだけではなく、クリアできないことから不満をぶつけるなど、感情を伝えるための問い合わせが来る」(本間氏)

 つまり問い合わせは「必要な情報を取得する」問い合わせと「感情を伝える」問い合わせの2種類に分かれるという。

 「必要な情報を取得する」ために問い合わせるユーザーが期待するのは、正しい情報を素早く受け取れることである。「CSではテンプレートを活用し、素早く正しい情報を返信できるようオペレーションを作っている」と本間氏。つまりこの種の問い合わせは、機械を活用することで効率的・効果的に対応できる。

 一方、「感情を伝える」問い合わせをするユーザーが期待するのは、話をきちんと聞いてくれること。一人ひとりのユーザーが抱いている感情や置かれている状況が異なるので、テンプレートでは対応できない。そこでCSスタッフが1から作文して対応しているという。「これは人にしか対応できない問い合わせだと考えている」と本間氏は言い切る。

 CSのクリエイティビティを最大化することをミッションとしているCREでは、これらの2種類の問い合わせに対して「システムで効率化できるようなシステム開発を進めている」と言う。必要な情報を取得するための問い合わせをシステム化で効率化できれば、ユーザーへの返信も早くなりユーザーの満足度も向上する。「人にしかできない対応に時間を割くことができるようになる」と本間氏。人にしか対応できない問い合わせに対しても、「それをサポートするシステム作りをしている」と本間氏は語る。ユーザーのことをより深く理解するための管理ツールや、過去の案件で得られたナレッジを未来の対応に生かせるようなシステムを開発しているという。

 このようにCS業務をサポートするさまざまなシステム作りをしているCREだが、その中で、本間氏が携わったのが、機械学習を活用してテンプレート対応を効率化する施策である。

機械学習を活用して、ゲームの問い合わせを効率化

 機械学習を活用しようと考えた背景には、ユーザーへの対応時に大量のテンプレートの中から適切なテンプレートを検索することに時間がかかるという課題があった。「テンプレートの数を調査したところ1000件以上あった」と本間氏は明かす。そこでこの課題を機械学習の活用によって解決しようと考えたわけだ。

 だが、この施策を企画した当時、「チームの中に誰も機械学習を利用した人がいない、もちろん詳しい人もいなかった。そこからのスタートだった」と本間氏は吐露する。課題はそれだけではない。問い合わせデータは大量にあるが、活用できる形ではなかったという。「過去5年以上にわたるCSデータはあったが、すべてCRMに保存されており、活用しやすい形で保管されていなかった」と本間氏。

 さらにCSは既存の業務で手一杯、またCREもそれぞれの施策を進めているため、リソースをあまり割くことができない状況だったという。そこで本間氏がメイン開発者として一人で携わり、適宜サポートしてもらうという形で進めることになった。

 開発の方針は、効果は小さくてもよいのでとにかく成果を出すこと。初めて機械学習を活用したシステムにトライするので、どれだけ効果が出るのか見積もりすることはできない。「小さな改善からこつこつ積み重ねることで、最終的に大きな改善につなげていけばよいと考えた」と本間氏は話す。こだわったのは「とにかく成果を早く出すこと」である。そこに焦点を当て、意思決定をしていったという。

 今回、施策を実現する上で作成したのは、新規問い合わせに対してシステムがテンプレートを推薦するシステム。CSスタッフは推薦結果を確認し、正解であればシステムが返信し、不正解の場合はスタッフ自身がテンプレートを検索し、返信するという通常のオペレーションをする。

 実際に本間氏が作ったシステム構成は、下図の通り、AWSを活用している。過去の問い合わせデータや学習モデルの保管はAmazon S3、データの分析や学習の実行、推論エンドポイントの構築など機械学習にまつわるところはすべてAmazon SageMaker、テンプレートの推薦やCSスタッフがOKを選択した問い合わせへの返信など、スクリプトを実行する環境としてAWS CodeBuildを採用している。

テンプレート推薦システム構成
テンプレート推薦システム構成

モデルを開発するための工夫

 できるだけ早く利用可能なモデルを開発するために行った工夫として、本間氏は次の3つを挙げる。第一は取り組む問題を簡単にすること。「問題をシンプルにし、要求される精度を下げるように問題を設定した」と本間氏。こうすることで初めて機械学習を扱うチームでもハードルを低く設定できるようになる。具体的にはモデルへのインプットは問い合わせ本文のみとし、まずは一つのテンプレートを対象にして、テンプレートの推薦のみを行うシステムを作ることにしたという。

 第二の工夫は試行回数を増やすこと。そのために社内外のエンジニアに相談し、自走するために必要な知識を身につけたという。「社内外のエンジニアに相談する際も、答えを聞くのではなく考え方を教えてもらうように意識した」と本間氏は言う。例えばモデルの精度を上げる方法について相談すると、データ量を増やした方がよい、パラメータの設定をこういう風に調整した方がよいなどのアドバイスがもらえる。それをそのまま実践するのではなく、どのような選択肢の中から今回のアドバイスを選択したのか、そのアドバイスが効果的だと考えた背景にどういった理論的な実証があるのかなど、考え方を聞いたという。

 「このようなことは掘り下げて聞かないと出てこない。知識を身につけるにはどういう質問をすればよいか。コミュニケーションの仕方はすごく考えた」(本間氏)

 第三の工夫はドメイン知識を身につけ、明確な仮説を持って試行すること。「ドメイン知識は機械学習の知識と同等以上に大切」と本間氏は力強く語る。そこで実際に問い合わせデータの傾向を見たり、オペレーションの様子を見てCSの考え方を理解したりすることに努めたという。

 このような工夫を行うことで、機械学習における課題を解決し、必要なモデルを開発することに成功したという。また少ないリソースでできるだけ早くシステム開発をするという課題に対しては、シンプルな構成で作るものを減らし、マネージドサービスを活用することで解決した。

 今回のシステムで必要なのは、「CRMにある過去データを利用する仕組み」「モデルの学習・推論を行うための環境構築」「CRMにテンプレートの推薦・返信をする仕組み」の3つである。

 CRMにある過去データを利用するための仕組みとしては、Amazon Athenaを活用。「S3にJSONファイルを保存するだけで、そのJSONファイルに対してクエリを実行できるようになる」と本間氏。通常データベースにデータを保存しようとすると、JSONファイルをデータベースで保管できるように加工処理する必要があるが、Athenaを活用すればその必要がなく、ただデータを保存するという単純な実装のみで今回の仕組みが構築できたという。

過去データを利用するための仕組み
過去データを利用するための仕組み

 次にモデルの学習・推論を行うための環境構築では、SageMakerをフルに活用。「こちらで用意するのは学習モデルを記述したコードのみ」と本間氏。学習環境の構築、学習したモデルの管理、推論エンドポイントの構築などを用意する必要がないため、「モデルの学習や推論モデルの構築に集中できることができた」と語る。

 第三のCRMにテンプレ推薦・返信をする仕組みとしては、バッチ処理でテンプレの推薦、返信処理を実装。具体的には新規問い合わせに対しテンプレートを推薦する時は、CRMから問い合わせを取得してSageMakerに推論リクエストを投げ、その推論結果をCRMに反映するというスクリプトを定期的に実行。一方の返信処理については、CRMから問い合わせを取得し、その中でCSスタッフが正解と判断したものに対して、返信を行うといった処理を実装している。

 「シンプルな構成で作るものを減らし、さらにマネージドサービスをできるだけ活用することで、少ないリソースでも早くシステム開発ができた。そしてシステム開発に時間をかけなくてもよい分、機械学習に時間を割けた」と本間氏は振り返る。

 この施策を実現したことで得られた効果について本間氏は、「問い合わせの約1%をシステムで対応できるようになった。1件あたり約3分の効率化が実現した」と話す。効果はそれだけではない。CSスタッフの中でAIに興味を持ってくれる人が増えたことも効果だという。

 「今後AIを活用するためにはどのようなデータを蓄積すればよいのか、どのようなオペレーションを設計すればよいのかといった視点が生まれた」(本間氏)

 得られた成果はまだまだ小さいが、「リリースし、目に見えるものができることで周りの考え方が大きく変わる。これも大きな成果だと思う」と本間氏は最後に語り、セッションを締めた。

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加

【AD】本記事の内容は記事掲載開始時点のものです 企画・制作 株式会社翔泳社

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/12728 2020/09/15 12:26

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング