オペレーションズ・リサーチ学会
秋季発表会

関心度(Frequency)と忘却度(Recency)に基づくレコメンド手法-サンプリングでは対応できないビッグデータの活用2013 年 9 月 12 日

株式会社 NTTデータ数理システム*岩永二郎 鍋谷昴一 梶原悠 五十嵐健太

お知らせ
社名変更
2013年9月1日をもって「数理システム」から「NTTデータ数理システム」に社名変更しました．

移転
2013年9月1日をもって「東京都新宿区新宿２丁目４－３フォーシーズンビル１０階」から「東京都新宿区信濃町３５番地 信濃町煉瓦館１階」に移転しました．
近くにお越しの際には是非ともお立ち寄りください
2013/9/12

オペレーションズ・リサーチ学会 秋季発表会

2

本日と内容１．はじめに
２．課題の紹介
３．分析の概要

４．関心度と忘却度に基づくレコメンド手法
５．過学習の回避

６．まとめ

2013/9/12

オペレーションズ・リサーチ学会 秋季発表会

3

１．はじめに2013/9/12

オペレーションズ・リサーチ学会 秋季発表会

4

はじめに

1.1. データ解析コンペテション
第１９回 データ解析コンペティション
76チームがエントリー・総勢400名が参加

数理システムチーム

課題設定部門（32チーム参加）
評価方法
データ

50000

：予測スコアと分析内容：不動産賃貸ポータルサイト

45000
40000

数理システムチーム：明日分かることは今日予測しない：岩永二郎：鍋谷昴一・梶原悠・五十嵐健太

結果
予選
本戦

35000
30000

予測スコア

チーム名
代表者
メンバー

順位とスコア

25000
20000
15000
10000

：殊勲賞（１位）受賞：最優秀賞（１位）受賞

5000
0

1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31

順位

2013/9/12

オペレーションズ・リサーチ学会 秋季発表会

5

はじめに

1.2. コンペの成果紹介
マーケティングの事例
頻度（Frequency）と直近さ（Recency）に基づいて顧客をセグメンテーションする手法が知られている．

Frequency と Recency を具体的に定量化してレコメンドロジックとして実装した事例報告
ビッグデータの事例“ビッグデータを利用して○○した”という宣伝はよく聞くが・・・• 実際，どのように利用したのか不明• サンプリングで良かったのでは？という疑問

大規模データの特性を活かした手法の事例報告
2013/9/12

オペレーションズ・リサーチ学会 秋季発表会

6

２．課題の紹介

2013/9/12

オペレーションズ・リサーチ学会 秋季発表会

7

課題の紹介2. 題材とデータ
題材：不動産賃貸ポータルサイトのアクセスログ
ポータルサイト上のユーザの活動を観察
1. サイトへの流入
2. 物件の検索
3. 物件の詳細閲覧（PV：ページビュー）
予測
4. 物件の資料請求（CV：コンバージョン）
5. サイトからの離脱

データ
トランザクションデータ
⁃ 分析用データ⁃ 本番用データ

マスタデータ
全データサイズ：16GB
2013/9/12

オペレーションズ・リサーチ学会 秋季発表会

8

課題の紹介2.2. アクセスログのイメージ
アクセスログの内容

2012年○月○日のセッション
2012年△月△日のセッション

PV/CV
レコード１
レコード２
レコード３

各ユーザのアクセス記録

2013/9/12

2012年□月□日のセッション

閲覧物件
閲覧時間
地域検索
こだわり検索レコード♯

オペレーションズ・リサーチ学会 秋季発表会

9

課題の紹介2.3. 問題設定
予測課題
アクセスログ 10 週間を分析し，その後 1 週間のユーザの CV/PV を予測
分析期間（10週間）

2012年
5月16日

予測期間（１週間）の CV/PV を予測

2012年 2012年
7月24日 7月25日

2012年
7月31日

課題
ユーザ 51364 人に対して，5個の物件をレコメンドする

スコアリング方法
正解 CV/PV の得点は次の通り．
CVPV
2013/9/12

１個目
30
1

２個目
12
1

正解数
３個目
9
1

４個目
6
1

オペレーションズ・リサーチ学会 秋季発表会

５個目3
110３．分析の概要

2013/9/12

オペレーションズ・リサーチ学会 秋季発表会

11

分析の概要3.1. 分析のレシピ
分析の環境
ＣＰＵ：Intel Core-i7 3930K 3.20GHz（6コア）
メモリ：32.0 GB

分析の道具
Python（前処理・レコメンドロジック実装）
sqlite3（データベース）
R（基礎集計・グラフ描画）
Visual Mining Studio（決定木分析）
Big Data Module（ロジスティック回帰・SVM）
NUOPT（信頼領域内点法）

分析の流れ① 分析準備（クレンジング・分析用DB構築）② 分析と割当ロジックの検討③ 実験と検証2013/9/12

オペレーションズ・リサーチ学会 秋季発表会

12

分析の概要3.2. レコメンド方針
アプローチ
ユーザの“過去閲覧物件” から再閲覧する物件をレコメンドする物件のスコアリング関数の構築
物件プロファイル（特徴量ベクトル）に対して，閲覧確率を紐付ける① ユーザが過去に閲覧した物件を列挙② 各物件の特徴量を算出③ 各物件の再閲覧確率を算出
閲覧物件

特徴量１

特徴量２

特徴量３

・・・

再閲覧確率

物件コード１

１

34

False

・・・

6%

物件コード２

５67

True

・・・

19%

・・・

・・・

分析のタスク特徴量の作成と選択
再閲覧確率の計算
2013/9/12

オペレーションズ・リサーチ学会 秋季発表会

13

４．関心度と忘却度に基づく
レコメンド手法
2013/9/12

オペレーションズ・リサーチ学会 秋季発表会

14関心度と忘却度に基づくレコメンド手法

4.1. 特徴量の作成
ユーザの閲覧物件に特徴量を与える
分析期間
閲覧物件

5/28

物件コード１PV

物件コード２2 PV

物件コード３2 PV

6/12

物件コード６特・徴・量・③

物件コード１1140

物件コード２3230

物件コード３5221PV

物件コード４3211PV

物件コード５111

1

物件コード６1

110

予測期間

6/23

7/02

7/25

7/28

直近から３セッション
PV

物件コード４
物件コード５閲覧物件

特 特徴 徴量 量① ②3 PV2 PV

閲覧回数２CVPVPVCV

PV

物件-セッションテーブル

CV・PV
フラグ

物件プロファイル

作成した特徴量グループ
A) ユーザに関する特徴量
B) 物件に関する特徴量C) ユーザの物件への興味を表す特徴量
2013/9/12

オペレーションズ・リサーチ学会 秋季発表会

15関心度と忘却度に基づくレコメンド手法4.2. 特徴量の抽出と分類
特徴量の抽出処理
STEP１：特徴量の加工
STEP２：CV/PVとの相関・クロス集計
STEP３：決定木分析・SVM・ロジスティック回帰分析

STEP2による絞り込み
C グループ(ユーザの物件への興味を表す特徴量)のCV/PVへの貢献が大きい
C グループを関心度と忘却度グループに分類
関心度（閲覧回数・セッション登場回数・総閲覧時間） Frequency
忘却度（物件の閲覧順番・セッション順番・経過日数） & Recency

STEP3による選択
gini係数・information gain ratio，回帰係数
およびセグメンテーションの粒度に考慮して次の指標を選択
関心度：閲覧回数
忘却度：セッション順番
2013/9/12

オペレーションズ・リサーチ学会 秋季発表会

16関心度と忘却度に基づくレコメンド手法

4.3. 関心度と忘却度の分類（相関係数）
ピアソンの相関係数
分類
閲覧回数

関心度A

セッション登場回数 関心度B
閲覧総時間

関心度C

閲覧順番

忘却度A

セッション順番

忘却度B

経過日数

忘却度C

関心度A

関心度B

関心度C

忘却度A

忘却度B

忘却度C

1

0.80

0.58

-0.04

-0.01

-0.10

10.47

-0.03

-0.01

-0.12

1-0.06

0.01

-0.06

10.57

0.23

10.31
1

＊セッション順番：最終セッションから数えて，何セッション目に物件を閲覧したか関心度と忘却度が無相関⇒ 関心度と忘却度から１つずつ特徴量を選抜
2013/9/12

オペレーションズ・リサーチ学会 秋季発表会

17関心度と忘却度に基づくレコメンド手法

4.4. 関心度と忘却度の選択（決定木分析）
二分木における gini 係数
関心度グループ

忘却度グループ

特徴量gini係数値

特徴量

gini係数値

閲覧回数

0.0034

セッション順番

0.0024

セッション登場回数

0.0033

閲覧順番

0.0023

閲覧総時間

0.0016

経過日数0.0020

二分木における information gain ratio
関心度グループ

忘却度グループ

特徴量

info gain ratio

特徴量info gain ratio

閲覧回数

0.0273

セッション順番

0.0137

セッション登場回数

0.0245

閲覧順番

0.0124

閲覧総時間

0.0103

経過日数

0.01202013/9/12

オペレーションズ・リサーチ学会 秋季発表会

18関心度と忘却度に基づくレコメンド手法

4.5. 再閲覧確率テーブル構築
再閲覧確率テーブルとは関心度と忘却度のセグメントに再閲覧確率を対応付けたテーブル
忘却度

再閲覧確率の計算式
n ij：関心度 i，忘却度 jのセグメントの物件が閲覧された件数

m ij：関心度 i，忘却度 jのセグメントの物件が再閲覧されなかった件数
n ij

n ij  m ij

：再閲覧確率

関心度

データの規模が大きいほど確率の信頼性が上がる
2013/9/12

オペレーションズ・リサーチ学会 秋季発表会

19関心度と忘却度に基づくレコメンド手法

4.6. レコメンドロジック
物件プロファイル × 再閲覧確率テーブル
再閲覧確率の高い順に物件をレコメンド
物件プロファイル
閲覧物件忘却度

関心度

閲覧確率

物件コード１116%

物件コード２1319%

物件コード３1212%

物件コード４229%

物件コード５229%

物件コード６3

13%

物件コード７425%

物件コード８4410%

再閲覧確率テーブル（実績値）
忘却度

参照

関心度

関心度と忘却度のトレードオフを考慮したレコメンドを実現
2013/9/12

オペレーションズ・リサーチ学会 秋季発表会

20

５．過学習の回避

2013/9/12

オペレーションズ・リサーチ学会 秋季発表会

21

過学習の回避5.1. レコメンド手法の改善
関心度と忘却度に成り立つ“単調性制約”
関心度が大きい物件ほど再閲覧する
忘却度が小さい物件ほど再閲覧する
再閲覧確率テーブルで単調性制約が満たされないセグメントが存在
忘却度
忘却度

関心度

関心度

原因
学習データとして十分な量を確保できていない
業務上の施策の影響が反映されてしまっている

過学習を回避した再閲覧確率テーブルの推定をしたい
2013/9/12

オペレーションズ・リサーチ学会 秋季発表会

22過学習の回避5.2. 数理モデルの構築
推定する再閲覧確率テーブルの要件
単調性制約を満たす
データ件数が多いセグメントの再閲覧確率ほど信頼する

凸二次計画問題に定式化して最適化パッケージ NUOPT で求解 集合 パラメータ 変数
 制約：関心度のセグメント

IJ：忘却度のセグメントp ij(i  I , j  J ) ： 各 セ グ メ ン ト の 閲 覧 確 率 （ 実 績 値 ）w ij(i  I , j  J ) ： 各 セ グ メ ン ト の デ ー タ 数x i j  [ 0 ,1]x ij    x i ' jx ij  x ij '  (i  I , j  J ) ： 各 セ グ メ ン ト の 推 定 す る 閲 覧 確 率( i  i '( I ) ) ： 関 心 度 に つ い て 狭 義 単 調 増 加( j  j '( J ) ) ： 忘 却 度 に つ い て 狭 義 単 調 減 少（ 目的関数

m in im iz e



w ij

2



x ij  p ij

：適当 な微小な値）

2i I , j  J：閲覧確率（実績値）との重み付き自乗誤差最小化

2013/9/12

オペレーションズ・リサーチ学会 秋季発表会

23過学習の回避5.3. 推定した再閲覧確率テーブル
再閲覧確率テーブルの比較
再閲覧確率テーブル（実績値）

再閲覧確率テーブル（推定値）

スムージングによって過学習を回避
2013/9/12

オペレーションズ・リサーチ学会 秋季発表会

24過学習の回避5.4. 実験と評価
評価用ツールの作成（分析用データ）
アクセスログの最終週を予測期間として，17803 ユーザを抽出
分析期間（9週間）

2012年
5月16日

予測期間（１週間）の CV/PV を予測

2012年 2012年
7月17日 7月18日

2012年
7月24日

総スコア 76,017 点に対する得点率を予測精度としてレコメンド手法を評価

レコメンド手法

スコア

比較手法① ： 閲覧が最新の物件から順にレコメンド

11,937 15.70 %比較手法② ： 閲覧回数が多い物件から順にレコメンド

13,146 17.29 %提案手法① ： 関心度と忘却度に基づくレコメンド（実績値）

14,181 18.66 %提案手法② ： 関心度と忘却度に基づくレコメンド（推定値）

14,232 18.72 %2013/9/12

オペレーションズ・リサーチ学会 秋季発表会

精度25

過学習の回避5.5. サンプリング実験
17,803 ユーザからサンプリング（1%～100%）
実績値と推定値の２つの再閲覧確率テーブルを比較
実績値より推定値の方がデータ量に限らずレコメンド精度が良いことを確認
データ不足も解消可能

より詳細なセグメンテーションが可能
2013/9/12

オペレーションズ・リサーチ学会 秋季発表会

26

６．まとめ2013/9/12

オペレーションズ・リサーチ学会 秋季発表会

27

まとめ

6.1. まとめマーケティングについて頻度（Frequency）と直近さ（Recency）を具体的に定量化してレコメンドロジックを構築
予測精度は特徴量の作成と選択に尽きる

ビッグデータについて大規模データの特性規模に比例して確率の信頼性が向上・詳細なセグメンテーションが可能
過学習の回避＆データ不足の解消
凸二次計画問題に定式化して再閲覧確率テーブルを推定ビジネスにおける実現性
スケーラビリティ⁃ 再閲覧確率テーブルの作成（Hadoop 等の分散処理技術）⁃ 再閲覧確率テーブルの推定（凸二次計画法：変数数 |I|×|J| ）レコメンド時のリアルタイム性⁃ 再閲覧確率テーブルの参照と確率のソート処理でレコメンド可能
オペレーションズ・リサーチ学会 秋季発表会
2013/9/12

28