$30 off During Our Annual Pro Sale. View Details »

論文読み会 SIGIR2018 | Top-k Route Search through Submodularity Modeling of Recurrent POI Features

cocomoff
August 08, 2020

論文読み会 SIGIR2018 | Top-k Route Search through Submodularity Modeling of Recurrent POI Features

cocomoff

August 08, 2020
Tweet

More Decks by cocomoff

Other Decks in Research

Transcript

  1. @cocomoff
    論⽂読み会
    2020/8/6(
    ⽊)

    View Slide

  2. 概要
    旅⾏のルート推薦 (POI
    めぐり)
    のために, 個ぐらい経路を返したい
    ユーザの好みみたいなものを考慮する (personalized)
    必要に応じて経路のdiversity
    も考慮する
    1/14
    k

    View Slide

  3. 論⽂の貢献
    personalized & diversity
    を考慮するTop-
    経路探索を定式化
    前処理 (indexing)
    と枝刈りを使った厳密解法PACER
    の提案
    2
    つのヒューリスティクスを提案 (good efficient-accuracy trade-off)
    実データを⽤いてベースライン⼿法より⾼速なことを確認
    2/14
    k

    View Slide

  4. 問題設定 (1/2)
    グラフ のノード がPOI
    で,属性ベクトル が付与さ
    れている (
    次元ぐらい.図1
    では )
    3/14
    G = (V , E) n ∈ V Fn
    ∣H∣ H = {Park, Museum, Restaurant}

    View Slide

  5. 問題設定 (2/2)
    推薦する経路 のコストは滞在時間+
    移動時間
    cost(P) := s +
    i∈PV
    ∑ i
    T
    i→j∈P
    ∑ i,j
    ユーザは から出発して へ向かい,特徴の好みベクトル ,
    予算 ,閾値 ,集約関数 をもつ (query )
    集約関数 は,経路のどこを評価するか?を抽象的に書いたもの
    下の定義だとイマイチよく分からない (
    論⽂通じてよく分からない)
    このとき,経路 を通る場合の利得 は
    Gain(P , Q) :
    V = w Φ (P )
    h∈H
    ∑ h h V
    4/14
    P
    x y w ∈ [0, 1]∣H∣
    b θ Φ Q = (x, y, b, w, θ, Φ)
    Φ
    PV
    Gain

    View Slide

  6. から へ のユーザが⾏く
    (
    経路上の輪)
    (
    経路上の最⼤)
    によってルートの上で得られる値の集約⽅法が変化
    問題:
    通過するPOI
    集合が異なる利得が⼤きい 個の経路を発⾒したい
    v1
    v5
    w = (0.4, 0.6, 0), b = 18
    v →
    1
    v →
    6
    v →
    4
    v ,Φ :
    5 = sum
    v →
    1
    v →
    2
    v →
    3
    v , Φ :
    5 = max
    Φ
    k

    View Slide

  7. 劣モジュラ関数を⽤いたdiversity requirement (1/2)
    集合 について, を集合関数と呼ぶ
    任意の について
    [
    限界効⽤逓減]
    が成り⽴つ場合,劣モジュラ関数と呼ぶ
    について のとき, は単調と呼ぶ
    について のとき, は⾮負と呼ぶ
    定理1
    各属性 について が単調⾮負な劣モジュラ関数であるとき,
    も単調⾮負な劣モジュラ関数
    ∵⾮負係数を使った線形結合なため
    5/14
    V f : 2 →
    V R
    X ⊆ Y ⊆ V , v ∈ V ∖ Y f(X
    ∪{v}) − f(x) ≥ f(Y
    ∪{v}) −
    f(Y )
    X ⊆ Y ⊆ V f(X) ≤ f(Y ) f
    X ⊆ V f(X) ≥ 0 f
    h ∈ H Φh
    Gain(P , Q)
    V

    View Slide

  8. 劣モジュラ関数を⽤いたdiversity requirement (2/2)
    論⽂で扱う形式 (
    あまり気持ちはよく分からない)
    は経路 の中で, 番⽬に訪問する地点のランク
    例:
    はランク2
    , はランク1
    のとき,
    Φ (P ) :
    h V = R (i)
    i∈PV
    ∑ h
    −α(h)F
    ~
    i,h
    : diminishing
    度合い (
    だとsum
    , だとmax)
    定理2:
    上の式は⾮負,単調な劣モジュラ関数
    劣モジュラの話は実際,あんまり使わないけど…
    6/14
    R (i)
    h
    PV
    i
    A(3) → B(5) A B
    α = 1 2 ×
    −1 3 + 1 ×
    −1 5
    α α = 0 α → ∞

    View Slide

  9. Indexing
    経路探索を⾏うときに, だけから分かる情報と から分かる情報を持つ
    7/14
    G Q

    View Slide

  10. Optimal Route Search
    クエリ より, となるPOI
    を取り除く ( )
    PACER: Prefix bAased Compact statEs gRowth
    残っているPOI
    から,現在構築中の経路 を拡張 +
    枝刈り
    基本的な考え⽅ (route search space)
    経路 に付随する値
    訪問POI
    , ,
    最後のPOI
    ,コスト
    開始地点 から始める
    ある経路 (open route)
    が ⽬的地 で終わるとき close route
    と呼ぶ
    あるopen route ( )
    にまだ訪れていない を追加する
    に付随する値に, の増分を追加する
    8/14
    Q s +
    x
    T +
    x,i
    s +
    i
    T +
    i,y
    s >
    y
    b i VQ
    VQ
    P
    P
    PV
    Gain(P )
    V
    end(P) cost(P)
    x
    P y
    P− end(P) = i j
    P− i

    View Slide

  11. 例えば
    POI
    の集合 ぐらいの粒度で状態空間をまとめて良い (compact state)
    cost(P) = cost(P ) +
    − T +
    i,j
    sj
    C

    View Slide

  12. 枝刈り詳細 (
    約1.5
    ページぐらい,概要のみ)
    いくつかのテクニック (
    単調性,代表元を選ぶ,劣モ最⼤)
    Compact State
    経路 のコストにはPOI
    の順序が関係するけど,利得は関係なし
    列挙⽊の状態 (
    ノード)
    を集合で管理しつつ,順序は別で覚える
    Cost-dominance pruning (Pruning-1)
    仮に経路 について であり, を拡張した新し
    い経路 と同じ拡張が にも適⽤できてコストが⼩さくなる
    Gain-based pruning (marginal gain upper-bound pruning, Pruning-2)
    経路 から へ拡張することを考える (
    残り予算は )
    利得の増分 が⾮負単調な劣モジュラ関数
    Gain
    増分を最⼤化するために,厳密 or greedy alg.
    を適⽤できる
    9/14
    C
    P
    P, P′ cost(P) ≤ cost(P )
    ′ P′
    P′
    ^ P
    PV
    P
    ^
    V Δb
    ΔGain( ∣
    P
    ^
    V
    P )
    V

    View Slide

  13. ヒューリスティクス
    State collapse heuristic
    列挙⽊の中にはたくさんのルートが格納されている (cost-
    dominance
    性を使いながらうまく)
    SC (state-collapse):
    多くのPOI
    を訪問する経路を1
    つだけ残す
    Greedy algorithm
    最初の経路 に,以下の数値順でPOI
    を追加する
    利得が⼤きそう,かつ滞在時間とスタート ,ゴール からの移動コ
    ストが少なそうなところが順序が上
    s + T + T
    i x,i i,y
    Gain({i}
    ∪C) − Gain(C)
    10/14
    x → y
    x y

    View Slide

  14. 実験設定
    以前の研究でも使われていたデータセットらしい
    データから,例えばPOI
    のチェックイン数 などが分かる
    これらを使って特徴ベクトル を作る
    ユーザの好み はデータ中のユーザに着⽬し,ユーザのチェックインした
    履歴を真似てベクトルを作る
    クエリー :
    パラメータ はランダムに作り, をくっつける
    11/14
    i NC(i)
    Fi
    w
    Q b, θ, α w

    View Slide

  15. 実験 (1)
    評価指標:
    を代えたときの計算時間/
    経路数/
    利得
    BF
    は総当り,PACER
    はPruning
    をくっつけたもの,GR
    は貪欲,AP
    は既存
    (?)
    の近似アルゴリズム,A*
    はそのまま (
    次ページ)
    BF
    は総当りなので, (50
    例のうち クエリーは計算できなかった)
    12/14
    b, θ, α
    n/m n

    View Slide

  16. 実験 (2)
    (
    前ページ)
    は予算≒
    経路⻑さなので,とても増える
    は余計なものが減る感じ, はよく分からない
    12/14
    b
    θ α

    View Slide

  17. 実験 (3)
    の効果 (= route diversity
    に寄与)
    の⽐較
    左は ,右は
    13/14
    α
    α = 0.5 α = 0.0

    View Slide

  18. 実験 (4)
    A*
    とPACER-2 (PACER+Pruning-1+Pruning-2)
    の⽐較 (
    どちらもExact)
    13/14

    View Slide