マンガアプリ「GANMA!」のAI導入、たった1人のデータサイエンティストが2カ月で実装できたワケ【特集】Transborder 〜デジタル変革の旗手たち〜(2/4 ページ)

» 2018年12月17日 08時00分 公開
[柴佑佳ITmedia]

 もともとGANMA!にも、読後にお薦めの作品を表示するレコメンドシステムはあったものの、「ロジックもシンプルで、効果もそれほど高くなかった」という。DataRobot側の提案に従う形でモデルの開発を進めることにした大藪さんだったが、この時点ではDataRobotを導入しなかったという。

 「導入したいのは山々だったのですが、先方が契約させてくれなかったんです。こちらはお金を払うと言っているのに(笑)。『導入前にデータを作り込んだ方がいい』と勧められ、トランスコスモスのデータサイエンティストにも相談に乗ってもらいながら、データマートを作るところから始めました」(大藪さん)

ユーザーの属性ではなく、読書の“経路”に着目

 こうして2018年1月から、レコメンドモデル用のデータマートを作り始めた大藪さん。「普通なら作らないような形のデータだった」と当時を振り返る。

 デジタルコンテンツでユーザーの行動予測を行う場合、ユーザーの属性(性別や年代など)や閲読作品、アクセス時間といったデータを変数にし、予測に生かす方法が一般的だ。しかし、単純に人気の作品を薦めたとしても、既に読了しているケースは少なくない。そこで大藪さんは「ユーザーが読む作品の経路」のデータを学習させたという。

 「ユーザーが読んだ作品の経路、つまりユーザーの複雑な行動そのものに焦点を当てたのが今回作ったデータマートの特徴になると思います。経路を分解していくとデータ量は大幅に増えて、効率的な学習ができ、ユーザーの作品嗜好に合ったレコメンドができるようになります」(大藪さん)

 ユーザーの行動単位で情報を登録すると、1つの行動が多くのレコードに分解される。例えば、A→B→Cという順番に作品を読んだユーザー(ID:001)の場合、

  • 001は、AのあとにBを読んだ
  • 001は、BのあとにCを読んだ
  • 001は、A、BのあとにCを読んだ
  • 001は、AのあとにCを読まなかった
  • 001は、AのあとにAを読まなかった
  • 001は、BのあとにAを読まなかった

 といったように、ユーザーIDが重複した状態で多くのレコードが生成される。これらのデータを学習した後に別のユーザーが作品Bを読むと、「作品Bを読んだ人は、次にAではなくCを選ぶ確率が高い」という予測が立つことになる。

photo データマートに登録したデータの一例。ユーザーの1つの行動が多くのレコードに分解される
photo データマートから予測できる行動の例。読了作品も勘案した予測ができている

 とはいえ、月間35億ものPVがあるGANMA!でこの学習を行おうとすると、学習データだけでも膨大な量になる上に、予測のための作品経路を作成する際には、数十億行のデータの結合を繰り返す必要がある。こうした膨大な量のデータ処理を解決する上で役に立ったのが、Googleのビッグデータ解析プラットフォーム「BigQuery」だった。

Copyright © ITmedia, Inc. All Rights Reserved.

注目のテーマ