糞糞糞ネット弁慶

読んだ論文についてメモを書きます.趣味の話は http://repose.hatenablog.com

CXSimulator: A User Behavior Simulation using LLM Embeddings for Web-Marketing Campaign Assessment (CIKM 2024) 読んだ

[2407.21553] CXSimulator: A User Behavior Simulation using LLM Embeddings for Web-Marketing Campaign Assessment

「ユーザの行動ログから何らかのモデルを構築し,ユーザの行動をシミュレートしたい」という気持ちはよくあることでしょう.たとえば,EC サイトにおけるユーザの閲覧・購買ログを用いて「どのようにユーザは購買に至るのか?」を明らかにする,といったものです.

その際,既存の行動ログに含まれない未知の介入 (e.g. 新たな商品を追加する,値引きクーポンを配布する) を行った際,ユーザの行動がどのように変化するのかがシミュレーションできるとなお嬉しいでしょう.なぜならば,未知の介入によるユーザ行動の変化とそれによる効果を測定するには A/B テストなどを行わなければならず,これには時間的・金銭的なコストが発生するためです.

この論文では

  • ユーザ行動のシミュレートをイベント間の遷移確率行列として捉える
  • その後,遷移確率行列の各要素 (イベント間の遷移確率) を推定する trainsition probability prediction モデルを構築する
    • これはイベント間の link prediction とみなせる
  • 「未知の施策によるユーザ行動の変化」を trainsition probability prediction モデルに未知の施策を入力して得られる予測値を遷移確率行列に追加することで表現する

というモデルを提案しています.

short paper なのでかなり記述が割愛されていますが,わかる範囲でまとめます.

(タイトルに LLM と入っていたため,大規模言語モデルによりシミュレーションを行っているのか? と早とちりしましたが実際にはそうではありません)

(以下の見出しは Figure 1 に沿っています)

入力データ

  • 「ユーザが何をしたか」のそれぞれ (e.g. 「ページ A を見る」「クーポン B を獲得する」「アイテム C をカートに追加する」など) を「イベント」と呼び,その集合であるユーザ行動ログがあるとする
    • イベントには {"actionType": "Product detail views", "pageTitle": "Office", "pagePath": "/store.html/quickview" , "productName": "Colored Pencil Set", "localProductPrice": "$3.99"}. といった構造化されたメタ情報が付属しているとする
  • ユーザにも {"country": "United States", "browser": "Chrome", "source": "Direct"}. といったセグメント情報が付属しているとする

(a) ユーザ行動を遷移確率行列として捉える

  • 全てのログについて「イベント v_i から イベント v_j に何回遷移するか」を全て数え上げることでイベント間の遷移確率行列が推定できる
    • 得られる遷移確率行列は |ユニークなイベント数| x |ユニークなイベント数| の形である
    • またこの時,遷移確率行列はユーザのセグメントごとに推定する

(b) Transition Probability Prediction モデルの構築

  • セグメントごとの遷移確率行列の各要素 (v_i, v_j) を目的変数に取る,Transition Probability Prediction モデルを学習する
  • 説明変数には以下を用いる
    • v_i のメタ情報に対して LLM を用いることで得られる embedding vector
    • v_j のメタ情報に対して LLM を用いることで得られる embedding vector
    • セグメントに対して LLM を用いることで得られる embedding vector
  • Transition Probability Prediction モデル推定については,直接遷移確率行列の値を推定せずに,以下のように段階的に推定することで精度が改善する (らしい)
    • ふたつのイベント間に遷移が発生するか否かの link prediction (classification)
    • 遷移が発生している場合の遷移確率の推定 (regression)

(c) キャンペーン効果の推定

  • まずは,効果を検証したい未知のイベント v_new (のメタデータ) を準備する
  • 未知イベントのメタデータの embedding vector を得る
  • Transition Probability Prediction を既知の全てのイベント v_i について (v_i, v_new) と (v_new, v_i) との両方を適用することで,既存のイベントから未知イベントに (かつ,未知イベントから既存のイベントに) どう遷移するかを推定する
  • その後,得られた新たな遷移確率行列上でいい感じにシミュレーションすることで,未知イベント追加による効果の違いが観測できる