レコメンドや最適化の仕事は、モデルの精度を上げることだと思われがちです。しかし、実サービスではそれだけで価値になるとは限りません。
ユーザー体験を良くしたい。セッション数を伸ばしたい。広告収益も維持したい。レイテンシや計算資源の制約もある。こうした条件が同時に存在する環境では、「理論的に正しいこと」や「精度が高いこと」が、そのまま採用されるわけではありません。何を最適化すべきかを整理し、その問いをサイエンスの課題に落とし込み、さらに実装と運用に耐える形へ変えていく必要があります。
今回話を聞いたのは、LINEヤフーで長くメディア領域のデータ活用に携わってきた大倉 俊平さんです。Yahoo! JAPANアプリのトップページ改善や、広告収益の拡大に向けた広告配信量最適化、天気・災害、Mitsumame、ヤフコメタイムラインなど、複数の案件に関わる中で、一貫して取り組んできたのは「サービスやユーザーの実現したいことを、適切にサイエンスの課題に落としこむ」ことでした。
この記事では、大倉の仕事を、理論・実装・事業制約のあいだを行き来しながら、実際に価値へつなげていく仕事として見ていきます。
「セッションを伸ばしたい」をそのまま受け取らない。要望の裏にある「真の問い」への翻訳
─ まず、現在の仕事について教えてください。
大倉:
今は、広告収益の拡大に向けた取り組みの中で広告とメディアの連携部分を見たり、Yahoo! JAPANアプリのトップページ改善の中でトピックや記事推薦、記事配信ロジックの改善に関わったりすることが多いです。ほかにも、天気・災害、Mitsumame、ヤフコメタイムラインなどにも関わっています。
自分の仕事を一言でいうと、サービスやユーザーが実現したいことを、適切にサイエンスの課題に落としこむことだと思っています。
─ 「サービスやユーザーが実現したいことを、サイエンスの課題に落としこむ」とは、具体的にはどういう仕事なのでしょうか。
大倉:
企画側やサービス側から「トップページのセッション数を増やしたい」といった要望が出てくることがあります。ただ、その言葉をそのまま受け取って実装するわけではありません。
本当に見たいのは何か、どの指標がその目的に近いのか、その指標を上げること自体が本当にユーザーにとって価値なのかを整理して、課題として置き直します。そこをちゃんとやらないと、想定していない方法で指標だけ上がったけれど、実態としては何も嬉しくない、ということが起きます。
─ いまのような役割に至るまで、どんなキャリアを歩んできたのでしょうか。
大倉:
2012年に数学科の大学院を修了してヤフーに入社しました。最初は広告の属性ターゲティングのシステム移植に関わっていて、システム開発だけではなく、広告効果分析やターゲティングロジックの開発にも参加していました。
その後、広告とレコメンドのバックエンドチームが近い組織になったことをきっかけにレコメンド領域にも関わるようになって、2014年以降はトップページのレコメンド改善を中心に、メディア領域のサイエンス業務全般へと範囲が広がっていきました。

精度が上がっても、それだけではリリースできない
─ レコメンドや意思決定支援の案件で、単純な精度改善だけでは解けないと感じた課題は何でしたか。
大倉:
新しい案件ほど、まず「案件の目的に合った指標を置けているか」が重要です。ここがずれると、指標だけ上がったけれど、実態としては何も嬉しくない、ということが起きます。
特にメディア領域では、メディアと広告の利益相反があります。記事のレコメンド精度が上がると、記事のクリックが増えてスクロールが減ることがあります。そうすると広告の露出機会が下がって、収益にマイナスの影響が出ることがあります。
実際に、レコメンド精度は改善したのに、収益への影響を理由にリリースできなかったこともありました。
─ そのような利益相反に対しては、どのように向き合ってきたのでしょうか。
大倉:
モデルの改善だけで解けるわけではないので、プロダクト側の工夫も含めて考えます。たとえば、記事を読んでトップページへ戻るときに広告を差し込む「スワイプバック広告」のような仕組みで、一部を緩和できたケースもありました。
重要なのは、レコメンド精度だけを見て良し悪しを判断しないことです。記事を読ませる体験を改善したい一方で、収益面の成立も必要なので、レコメンド面だけで閉じず、プロダクト全体 の導線の中でどう補えるかまで含めて関係者と考えます。
ユーザー体験だけ、あるいは収益だけを見るのではなく、全体としてどう成り立たせるかを見ることが大事だと思っています。
実装できない精度は、プロダクトでは採用されない
─ モデル側で解くことと、システム側で解くことは、どう切り分けていますか。
大倉:
レコメンドは、基本的に全部切り分けが必要だと思っています。最新の記事在庫と最新のユーザー情報を使って、リッチで大きなモデルを計算すれば精度が上がるのは当然です。でも、そうするとレイテンシは伸びますし、計算資源も足りなくなります。
そのため、事前に計算して準備しておくものと、オンタイムで計算するものを分けて設計する必要があります。特徴量についても、実際にオンラインで構築可能かどうかを考えて設計しなければいけません。
逆に、実験上とても強く効く特徴量があるのに今は取れないのであれば、それを取得するためのシステムを作る必要があることもあります。
─ 設計や開発の判断で、特に重視していることは何でしょうか。
大倉:
システム負荷と精度のバランスです。精度が高くても、システム開発や運用の負荷が重すぎると、結局は実装されません。理論的に良い案を考えるだけではなく、実際に成立する形にしないと意味がないと思っています。
