「ユーザの行動ログから何らかのモデルを構築し,ユーザの行動をシミュレートしたい」という気持ちはよくあることでしょう.たとえば,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 モデルを学習する
- 説明変数には以下を用いる
- Transition Probability Prediction モデル推定については,直接遷移確率行列の値を推定せずに,以下のように段階的に推定することで精度が改善する (らしい)
- ふたつのイベント間に遷移が発生するか否かの link prediction (classification)
- 遷移が発生している場合の遷移確率の推定 (regression)