食べログにおけるMachine Learningの全体像について

はじめまして。
食べログでデータサイエンスチームのマネージャーをしている宮島です。

現在食べログではMachine Learningを活用した取り組みを強化しています。
そこで、今回は食べログにおけるMachine Learning活用の全体像をお伝えしたいと思います。

なぜMachine Learningの取り組みを強化し始めたのか?

理由は以下の2つになります。
 1. データ基盤が完成しMachine Learning活用のための下地が整った。
 2. Machine Learning活用の白地がある。

それぞれ掘り下げてお伝えします。

データ基盤が完成しMachine Learning活用のための下地が整った

食べログでは下記のような多様なデータを大量に保持していますが、これらのデータを有効活用出来ていませんでした。
 ・ユーザー数:約1.2億人 (月間)
 ・行動ログデータ:約19億件 (月間)
 ・口コミデータ:約2900万件 (累積)
 ・写真データ:約6400万枚 (累積)

データソースが分散していた事に加え、大規模データ処理に特化したマシンを保持していなかったのが主な原因でした。

そこで、これらの課題を解決するためにTreasure Dataの導入を行い、サービスDBの主要データとアクセス解析ツール内の行動ログデータをTreasure Dataに集約しました。(現在は日次で同期しています)

その結果、大量データから特徴量抽出を行うための計算リソースを確保出来て、Machine Learningを容易に実現出来る下地が整いました。

Machine Learning活用の白地がある

これまでMachine Learningを活用出来ていなかった事もあり、食べログ内での活用の白地はたくさんあります。

例えば、Machine Learningの典型的な問題であるレコメンド、画像分類などでも適用余地は非常に多いと考えています。
(計画中のものも多いので詳細が記載できないのですが。。)

チームのミッションについて

大きく2つのミッションを持っています。
 1.お店探しのコア機能開発
 2.利益向上への貢献

1の例としては、レコメンドモデルの開発や検索機能の精度改善などがあります。
2の例としては、コンバージョンファネルにおける離脱率の改善やユーザー投稿コンテンツの審査効率化などがあります。

また、実現難易度は高いが実現出来たときのインパクトが大きいモデルについても取り組むようにしており、そういった案件はR&D枠として長期目線で基礎研究を進行するようにしています。

チーム内のRoleについて

現在は以下3つのRoleを定義しています。
 1.機械学習エンジニア
 2.データエンジニア
 3.プロジェクトマネージャー

各々の詳細な定義については下記表の通りですが、人によっては複数のRoleを兼任する事もあります。

Machine Learningの開発環境について

データ基盤は前述のようにクラウドのTreasure Dataを利用していますが、Machine Learningの開発環境(以下MLサーバー)はオンプレミスで構築しています。
深層学習が必要になる事を想定し、NVIDIAのTesla V100を搭載しています。

開発用と本サービス用の2種類のサーバーを用意する事で、実験中のモデル開発と本サービスの推論処理の計算リソースが干渉しないようにしています。
 ・開発用MLサーバー:モデル開発、プロトタイプ開発、バッチ開発などで利用。
 ・本サービス用MLサーバー:推論実行のためのバッチ処理を行う。

モデル開発の際には各機械学習エンジニアがJupyterコンテナを立ち上げ、画像サーバーやTreasure Dataからデータを取ってくる事でモデル開発を行っています。
(特徴量計算はTreasure Data上で実行するケースが多いです。)

また、モデルが完成した際のサービス適用は、データ受け渡し用のファイルサーバにデータを書き込み、そのデータをサービス開発部門が取り込むというオフラインでのデータ連携で実現しています。
(データ共有用ファイルサーバーがサービス開発部門との責任分界点になります。)

開発プロセスについて

開発プロセスは下記表のような形にしています。
Machine Learning PJTは実施してみないと成果が見えにくいという特性があるので、A/Bテストからスタートし、効果が立証される事を確認してから本適用という進め方を強く意識しています。

さいごに

以上が食べログにおけるMachine Learningの全体像になります。

これまではデータ基盤、MLサーバー構築といった下地を整える事が中心でしたが、現在は利益向上やお店探しのコア機能開発のためのモデル開発やサービス適用PJTの進行にフォーカスしています。

いよいよMachine Learningを強力に推進していくフェーズになってきましたので、企画立案やPJT推進をリードして頂くプロダクトマネージャーを絶賛募集しております!

少しでも興味を持って頂けたようでしたら、ぜひ気軽に話を聞きに来て下さい!

株式会社カカクコム's job postings
14 Likes
14 Likes

Weekly ranking

Show other rankings