blog

DeNAのエンジニアが考えていることや、担当しているサービスについて情報発信しています

2020.05.21 技術記事

ゲーム事業における、効率よくAIを活用し成果につなげるための取り組み

by Akira Kikusato

#AI #docker #google-cloud #python

はじめに

はじめまして、分析部の喜久里と申します。様々なゲームサービスや関係部署の課題解決に向けた分析を担当しています。
AIに関連した技術がホットなトピックの1つになって久しいですが、既存の手法やツールと比べてフィージビリティが読みにくい部分があり、様々な場所で適用が試行錯誤されているのが現状です。私たちもこれまで何件もAI関連技術の業務適用を試みており、上手く進められたケースもあればそうでないケースもありました。この記事では、AIを効率よく活用しようという試行錯誤の過程で行った取り組みと工夫を紹介します。
なお、記事全体を通して “AI” という表記を使っていますが、主に機械学習(予測タスクとその周辺技術)やデータサイエンス(施策等の効果検証や説明に関係する技術)のことを指しています。

この記事で扱う内容

この記事で紹介する内容を図1にまとめました。

図1 紹介する内容のサマリ

図1 紹介する内容のサマリ

以下のような流れで説明を進めていきます。

  • 取り組みを行った背景
  • 課題の分析と改善方針
  • 案件推進フローの策定
  • 事例の蓄積と浸透

取り組みを行った背景

私が所属している分析部では、ゲームサービスの改善や様々な部署の課題の解決に向けた意思決定を支援することがミッションの1つです。意思決定やそれに伴うPDCAを適切に行うために、KPIを予測したり、サービスの使われ方などを解像度を上げて可視化することなどが必要になります。分析の過程では下記メンバーと連携して案件を推進していきます。

  • 関係部署メンバー
    • 成果物の導入先
    • プロダクト/マーケ/エンジニア/CSチームなど分析部内外の関係部署
  • データサイエンス(DS)グループ
    • モデル構築/分析内容の相談を行う
    • 関連記事は こちら
  • データエンジニアリング(DE)グループ
    • データパイプラインなどのシステム構築を行う
    • 関連記事は こちら

本記事の冒頭でも触れたようにAIに関連する話題は近年ホットなトピックになっていますが、ゲーム事業部でも2017年頃からAIを活用してサービスや業務プロセスを改善する取り組みが増えてきました。取り組みの中には成果が無事に出て運用まで漕ぎ着けるものもあれば、そこまで至らないものもありました。

課題の分析と改善方針

すでに知られているように、AI関連技術を使った分析や業務改善は、既存手法に比べてフィージビリティが見通しにくい部分があります。元々そういった性質があるとはいえ、成果に結びつく確度が高いに越したことはありません。
そこで、成果に結びつけるにあたって何かボトルネックがあるのではないか、逆にうまく成果に結びつけるコツがあるのではないかと考え、それまでに取り組んだ案件を比較・検証しました。その結果、案件がうまく行かないケースでは、分析やモデル構築そのものというよりはその周辺のプロセスでうまく対応できていないケースが多いことがわかってきました。
分析やモデル構築のプロセスを上手く進められていた理由の1つとして、DSグループと密に連携できる環境が影響しているかもしれません。DSグループには経験豊富なメンバーが在籍しており、彼らに依頼できたり頻繁に相談できる機会があるために分析・モデル構築の質はある程度担保できていたと言えそうです。
一方で、分析以外のプロセスについては、いつ誰に何を働きかけるべきかが体系化されておらず、例えば実際に以下のようなことが起こっていました。

  • 案件担当メンバーが個別に課題を探して分析を行うために、誰が何をやっているか、各案件がどのようなステータスなのかが不透明。
  • 分析やモデル構築は無事できたつもりだったが、業務プロセスへの試験導入時に関係部署メンバーからは “何か違う・・” という反応で導入見送り。
  • 適切な依頼先がわからない or わかっても依頼先の工数に余裕がなく負担を強いることがあった。

その結果、関係部署メンバーやDEグループなど案件に関わるメンバーに、必要以上の負荷がかかるような不健全な状態になっていました。このような状況を改善するために、すなわち案件を効率的に推進して最大限の成果を出せるように、図2のようなステップで目標を設定して仕組みづくりを行いました。この取り組みを開始した時点では以下の 2 までを目標としていましたが、現在はさらなる改善に向けた磨き込みを行いながら 3 や 4 の一部に取り組んでいるところで、次章以降では主に 案件推進フローの策定事例蓄積の促進 について説明していきます。

図2 目標と主な取り組み

図2 目標と主な取り組み

案件推進フローの策定

前章で紹介した例のように、様々な案件を進める上で 案件内容の情報の行き来が不十分 , いつ誰に何を働きかけるかが不明瞭 という課題がありました。これらを解決するために、案件推進に必要なプロセスと各プロセスにおける要件や注意点、関係者と合意しておきたい点などを案件の推進フローとしてまとめました。

推進フローの具体的な内容はこちらの スプレッドシート のようにまとめています。案件に関わる上での役割を 案件推進ビジネス分析エンジニア の4つに分け、 課題探索案件立ち上げフィージビリティ検証ビジネス適用成果の定着 という案件のフェーズごとに、誰が中心になって推進するか、注意点は何かなどを集約した内容になっています。どの役割がどのフェーズでアクションを起こすべきかを図3に、各フェーズで何に気を配るべきかを図4にそれぞれまとめました。

図3 案件推進フローの概要

図3 案件推進フローの概要

図4 各フェーズでの要件・注意点

図4 各フェーズでの要件・注意点

この推進フローによって、案件内外のメンバーが案件内容や進捗を確認する際の観点整理を行えること(透明化と共通認識作り)や、類似案件を初めて担当するメンバーが推進のために最低限注意すべき内容を事前に把握すること(案件の質の担保)を目指しています。詳細は後述しますが、案件の推進時や終了時にこのフローに沿って案件内容を記録することで他案件と比較しやすくなること(事例蓄積のサポート)も期待しています。

実際の運用では、案件推進メンバーが推進フローの項目に基づいて案件内容や進捗をまとめ、その内容を関係者が確認して適宜準備やサポートに入る、ということを行っています。
このような取り組みによって、カウンターパートとのすり合わせやシステム構築に必要な工数の確保など、今までは対応が不十分になることがあったことを早い段階から複数メンバーで指摘やサポートできるようになりました。その結果、分析担当者は分析自体に集中できるようになり、同時に関係者への過度な負荷も避けられるようになりました。
また、各案件に関わるメンバーには定期的にアンケートを行い、当初の意図通りの状態を保てているか、軌道修正が必要になりそうかなどをチェックしています。同時に、案件を重ねることで新たなノウハウが蓄積されたり、あまりに当たり前になってしまった場合には、項目の追加変更も行っています。

このようなメリットがあった一方で、案件ごとに規模が様々なため、これらの内容をまとめるほどでもなかったりコスパが悪いケースも出てきます。案件周りの管理やサポートを行うチームとしては、まとめること自体は必須ではなく関係者が増えたり案件が複雑になったりした場合に活用してほしい、という若干の緩さを持たせながら運用しています。

事例蓄積の促進

前章の推進フローを作成・共有したことで、各案件の現在のステータスと関係者が行うべき今後のアクションは概ね把握・検討できるようになりました。しかし、案件推進を効率化するにあたって、できるだけ多くの知見を活用するために過去の教訓も十分に把握する必要がありました。
例えば、サービス運営メンバーや他部署メンバーからの課題の吸い上げと具体化の時に過去事例に気付かずフィージビリティ検討や結果イメージの共有に苦労したり、過去事例を活用すれば手間を省けた分析をゼロからやり直したりすることがありました。
これまでもシェア会やドキュメント化を行うことはあっても、基本的に上手く行くケースの共有が多かったり一元管理されていないことが多く、結果として他メンバーが気付かなかったり、気づいても記載されている情報の粒度が異なっているために事例同士の比較がやりにくい状況でした。

これに対して、前章の推進フローをベースにした分析事例テンプレートを作成し、成果内容に関わらず過去・現在の分析事例はそのテンプレートにまとめ、 Google Drive の共有ドライブに保存するようにしています。これによって、後から誰でも参照でき、分析同士の比較も行いやすい状態での事例蓄積を続けられています。

成果の定着と拡大(取り組み中)

事例を蓄積するケースを対象にした上記のような取り組みとともに、現在は蓄積した事例を使うケースについても別途働きかけを行い、各事例で得られた知見の浸透を図っているところです。具体的には以下のような取り組みを通して、各サービスや部署の課題を吸い上げやすくしたり、AI関係の手法をカジュアルに使って課題解決できるようにすることを狙っています。

  • AI関係の基礎知識や適用事例を把握してもらう
  • 比較的扱いやすく汎用性の高い分析のソースコードを共有する

この部分については現在進行中のため、詳しい説明は別の機会に譲りたいと思います。

最後に

ここまで、弊社のゲーム事業で行っている、AI関連技術を効率的に活用して成果につなげるための工夫と取り組みを紹介しました。
私たちの取り組みもまだまだ道半ばではありますが、本記事が少しでも読者の皆様の参考になれば幸いです。

最後まで読んでいただき、ありがとうございます!
この記事をシェアしていただける方はこちらからお願いします。

recruit

DeNAでは、失敗を恐れず常に挑戦し続けるエンジニアを募集しています。