検索評価ツールキットNTCIREVALを用いた様々な情報アクセス技術の評価方法

1,592 views

Published on

検索評価ツールキットNTCIREVALを用いた様々な情報アクセス技術の評価方法

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,592
On SlideShare
0
From Embeds
0
Number of Embeds
1,367
Actions
Shares
0
Downloads
4
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

検索評価ツールキットNTCIREVALを用いた様々な情報アクセス技術の評価方法

  1. 1. 検索評価ツールキットNTCIREVALを用いた 様々な情報アクセス技術の評価方法 京都大学大学院 情報学研究科 加藤 誠 http://www.mpkato.net/
  2. 2. • 加藤 誠 (Makoto P. Kato) – 京都大学大学院 情報学研究科 特定助教(2012~) • 研究 –情報検索 Webマイニング 機械学習 • 現在の活動 – NTCIR-12, 13 PC Co-chair – NTCIR-13 タスク運営 (OpenLiveQ) 誰? 2
  3. 3. NTCIR-13 (as a PC co-chair) 3 NTCIR-13タスク参加募集 参加登録期限: 2016年12月15日 Registration is via NTCIR-13 website:http://research.nii.ac.jp/ntcir/ntcir-13/ NTCIR-12の様子 Lifelog-2 ライフログ 検索 MedWeb 患者マイニ ング OpenLive Q 知恵袋検索 QALab-3 大学入試 Q&A STC-2 短い会話実 現 AKG 行動マイニ ング ECA 感情推定 NAILS 脳波分析 WWW Web検索 NTCIR-13タスク タスク参加者 1. 好きなタスクを選ぶ 2. 必要なデータセットをダウンロードして そのタスクの要件にあったシステムを作る 3. タスク運営者に評価してもらう 4. 結果を他の参加者と比較する 1位! 情報アクセス技術に関わるタスクの提案・システム 評価をコミュニティ単位で行う取り組み
  4. 4. 1. トピックを用意する – 情報検索: 検索要求(京都の観光地を調べたい)+ クエリ(京都 観光) – 要約: 文書(クエリなしの要約の場合) – 質問応答: 質問(富士山の標高は?) 2. システム出力を得る – 情報検索: 文書集合や順序付き文書集合 – 要約: 要約文 – 質問応答: 答え 3. ある評価指標によりシステム出力を評価し全ト ピックでの平均値を得る – 評価指標の例: Precision, Recall, Accuracy, Average Precision, nDCG, ERR, BLEU, ROUGE, S-measure 情報アクセス技術の評価 4
  5. 5. • 情報アクセス評価方法論(酒井哲也 先生) – 多くの評価指標を網羅 – ぜひ手元に置いておきたい1冊 – 講演者≠著者 • NTCIREVAL – 上記の本の著者によって開発された評価ツール http://research.nii.ac.jp/ntcir/tools/ntcireval-ja.html 本日の内容 5 テーマ: 適切な評価指標・ツールを用いて 簡単に正しく評価を!
  6. 6. 文書集合出力 検索結果集合 Precision Recall F-measure 順序付き検索結果 集合 Informational 二値適合性 Average Precision 多値適合性 nDCG Q-measure Rank Biased Precision Navigational 二値適合性 Reciprocal Rank 多値適合性 ERR テキスト出力 機械翻訳 BLEU 要約 検索のためでない ROUGE 検索のため S-measure 質問応答 ナゲットPrecision, Recall, F-measure 代表的な評価指標 6
  7. 7. 情報検索のための評価指標 7 検索結果集合 Precision Recall F-measure 順序付き検索結 果集合 Informational 二値適合性 Average Precision 多値適合性 nDCG Q-measure Rank Biased Precision Navigational 二値適合性 Reciprocal Rank 多値適合性 ERR 情報検索を例として用いるが,他の問題でも同じように評価できる場合がある
  8. 8. • あるトピックに対して適合な文書集合を𝐴、システムが 得た文書集合を𝐵とする(検索結果に順序がない場合) – 適合な: トピックの検索要求を満たす • Precision(適合率・精度) – システムが得た文書のうち適合文書の割合 • Recall(再現率) – 適合文書のうちシステムが得た適合文書の割合 • F-measure 検索結果集合とPrecision・Recall・F-measure 8 これが適合 評価者 𝐴 𝐵 これが出力 システム 𝑃 = |𝐴 ∩ 𝐵| |𝐵| 𝑅 = |𝐴 ∩ 𝐵| |𝐴| 𝐹𝛽 = 𝛽2 + 1 𝑃𝑅 𝛽2 𝑃 + 𝑅 𝐹1 = 2𝑃𝑅 𝑃 + 𝑅 が良く使われる
  9. 9. • システムの出力を𝐝 = (𝑑1, 𝑑2, … , 𝑑 𝑛)とする • 𝑟番目の文書𝑑 𝑟の適合度を𝑔(𝑑 𝑟)とする – 二値適合性: 適合している/いない、の二値 • 𝑔: 𝐷 → {0,1} (𝐷は全文書集合) – 多値適合性: 適合していない/ややしている /している、などの多値 • 𝑔: 𝐷 → {0,1, 2, … , 𝑀} (𝑀は最大の適合度) 順序付き検索結果集合 9 𝑑1 𝑑2 𝑑3 これが出力 評価者 𝐝システム 𝑑4 𝑑5 𝑔(𝑑1) = 2 𝑔(𝑑2) = 0 𝑔(𝑑3) = 1 𝑔(𝑑4) = 1 𝑔(𝑑5) = 2 これが適合性 多値適合性の場合 二値か多値かによって使える評価指標が異なる
  10. 10. • Broder (2002)のWebクエリ分類に基づく 検索意図の分類 – Navigational • ある特定のサイトを訪れたいという意図 → 1つの適合文書を得たい場合(e.g. 時刻表の検索) – Informational • 1つ以上のWebサイトに書かれていると思われる情報を得た いという意図 → 1つ以上の適合文書を得たい場合(e.g. 温暖化の原因) – Transactional • Webを仲介した行動を実行したいという意図 検索意図の種類 10 想定する検索意図によって評価指標が異なる 情報検索を例として用いるが,他の問題でも同じように評価できる場合がある
  11. 11. 順序付き検索評価指標 11 Informational 二値適合性 Average Precision 多値適合性 nDCG Q-measure Rank Biased Precision Navigational 二値適合性 Reciprocal Rank 多値適合性 ERR
  12. 12. • 検索評価指標 = ユーザの利得の期待値 (nDCGを除く) • ユーザに関する仮定 – 線形横断: ユーザは検索結果を最上位から1件ずつ順番に調 べていく – 横断停止: ユーザは確率的または決定的に,ある検索結果 を調べた時点で満足し,横断を停止する – 利得獲得: ユーザはその検索意図に応じて,調べた検索結 果からその適合性に応じた利得を得る • 順序付き検索評価指標の一般形 𝑀 𝐝 = 𝑟=1 𝑛 𝑃 𝑟 𝐺 𝑟 順序付き検索評価指標のフレームワーク 12 𝑃 𝑟 : ユーザが𝑟位で停止する確率 𝐺 𝑟 : 𝑟位で得られる利得 まさに「ユーザの利得の期待値」になっている 各評価指標はPやGが異なる
  13. 13. ユーザに関する仮定の図示 13 𝑑1 𝑑2 𝑑3 これが出力 𝐝システム 𝑑4 𝑑5 ユーザ ユーザ 線形横断 線形横断 Stop! Stop! 利得獲得 横断停止 横断停止 利得獲得 確率𝑃 2 で𝐺 2 の利得 確率𝑃 4 で𝐺 4 の利得
  14. 14. AP 𝐝 = 𝑟=1 𝑛 𝑃 𝑟 𝐺 𝑟 = 𝑟=1 𝑛 𝐼(𝑟) 𝑅 Pre 𝑟 = 1 𝑅 𝑟=1 𝑛 𝐼(𝑟)Pre 𝑟 • APの仮定 – 横断停止: ユーザが停止する確率は,全適合文書上に一様に分布 (i.e. 𝑃 𝑟 = 1/𝑅( drが適合の場合)) – 利得獲得:ユーザは停止する際に,上位𝑟件の文書集合におけるPrecision と等しい利得を得る(i.e. 𝐺 𝑟 = Pre(𝑟) ) • Informationalな意図を仮定しているので適合文書が多い方が利得が大きい Average Precision (AP) [二値適合性・Informational] 14 𝐼 𝑟 : 𝑟位の文書が適合であれば1,そうでなければ0を返す指示関数 Pre(𝑟):上位𝑟件の文書集合におけるPrecision, 𝑅: 全適合文書数 𝑑1 𝑑2 𝑑3 これが出力 システム 𝑑4 𝑑5 ユーザ ユーザ 𝑅 = 2のとき,𝑃 1 = 𝑃 3 = 𝑃(5) = 0, 𝑃 2 = 𝑃 4 = 1/2 となり, AP 𝐝 = 1 2 1 2 + 1 2 2 4 = 0.5 適合 適合
  15. 15. RBP 𝐝 = 𝑟=1 𝑛 𝑃 𝑟 𝐺 𝑟 = 𝑟=1 𝑛 1 − 𝑝 𝑝 𝑟−1 𝑔 𝑑 𝑟 𝑀 • RBPの仮定 – 横断停止: ユーザは𝑟位において確率𝑝で横断続行, 1 − 𝑝で横断停止 (i.e. 𝑃 𝑟 = 1 − 𝑝 𝑝 𝑟−1) – 利得獲得:ユーザは停止する際に,最大の適合度で正規化された適合度と 等しい利得を得る(i.e. 𝐺 𝑟 = 𝑔(𝑑 𝑟)/𝑀 ) Rank Biased Precision (RBP) [多値適合性・Informational] 15 𝑝: 各検索結果を見終わった後の横断続行確率 𝑔(𝑑 𝑟):文書𝑑 𝑟の多値適合度, 𝑀:最大の適合度 𝑑1 𝑑2 𝑑3 これが出力 システム 𝑑4 𝑑5 ユーザ ユーザ Stop! Stop! ここでの停止確率は 1 − 𝑝 𝑝 ここでの停止確率は 1 − 𝑝 𝑝2
  16. 16. 𝑄 𝐝 = 𝑟=1 𝑛 𝑃 𝑟 𝐺 𝑟 = 𝑟=1 𝑛 𝐼(𝑟) 𝑅 BR 𝑟 = 1 𝑅 𝑟=1 𝑛 𝐼 𝑟 BR 𝑟 • Q-measureの仮定 – 横断停止: APと同じ – 利得獲得: 𝑟位で検索を終えたときに得られる利得は, 𝑟位までの 適合文書(𝑔 𝑑 𝑟 > 0)数と適合度の総和(累積利得)で決定 • 𝑟位までの適合文書数: 𝐶 𝑟 = 𝑟′=1 𝑟 𝐼(𝑟′ ) • 累積利得: CG 𝑟 = 𝑟′=1 𝑟 𝑔(𝑑 𝑟′) BR 𝑟 = (𝐶 𝑟 + 𝛽CG(𝑟))/(𝑟 + 𝛽CG∗(𝑟)) Q-measure [多値適合性・Informational] 16 𝐼 𝑟 : 𝑟位の文書が適合(𝑔 𝑑 𝑟 > 0)であれば1,そうでなければ0を返す指示関数 BR(𝑟): 𝑟位でのブレンド比(適合文書数と累積利得の組み合わせ), 𝑅: 全適合文書数 適合文書数と累積利得の和 ( 𝛽 はパラメータ) CG∗ (𝑟)は適合度が大きい順に 並べて作った理想的な検索結 果𝐝∗におけるCG
  17. 17. RR 𝐝 = 𝑟=1 𝑛 𝑃 𝑟 𝐺 𝑟 = 𝑟=1 𝑛 𝟏(𝑟 = 𝑟∗ )Pre 𝑟 = 1 𝑟∗ • RRの仮定 – 横断停止: ユーザは最上位の適合文書で停止 (i.e. 𝑃 𝑟 = 1( drが最上位の適合文書の場合)) • Navigationalな意図を仮定するため,適合文書を1つ見つけると横断停止 – 利得獲得:ユーザは停止する際に,上位𝑟件の文書集合における Precisionと等しい利得を得る(i.e. 𝐺 𝑟 = Pre(𝑟) ) • このとき必ず𝐺 𝑟 = Pre 𝑟 = 1/𝑟 = 1/𝑟∗ である Reciprocal Rank (RR) [二値適合性・Navigational] 17 𝟏 𝑥 : 𝑥が真であれば1,そうでなければ0を返す指示関数 𝑟∗:最上位の適合文書の順位,Pre(𝑟):上位𝑟件の文書集合におけるPrecision 𝑑1 𝑑2 𝑑3 これが出力 システム 𝑑4 𝑑5 ユーザ 適合 適合 Stop! RR 𝐝 = 1/2
  18. 18. ERR 𝐝 = 𝑟=1 𝑛 𝑃 𝑟 𝐺 𝑟 = 𝑟=1 𝑛 𝑝 𝑟 𝑟′=1 𝑟−1 (1 − 𝑝(𝑟′)) 1 𝑟 • ERRの仮定 – 横断停止: ユーザはより高い適合度を持つ文書で停止しやすく, ユーザは𝑟位において確率 𝑟′=1 𝑟 (1 − 𝑝(𝑟′ ))で横断続行, 𝑃 𝑟 = 𝑝(𝑟) 𝑟′=1 𝑟−1 (1 − 𝑝(𝑟′ ))で横断停止 • Navigationalな意図を仮定するため,適合文書を見つけると横断停止する可能性 – 利得獲得:ユーザは停止する際に,1/𝑟の利得を得る • RRの利得と同じであるため, RRはERRで𝑃 𝑟 = 1( d 𝑟が適合)の場合と見なせる Expected Reciprocal Rank (ERR) [多値適合性・Navigational] 18 𝑝(𝑟): 𝑟位の文書を見終わった後の停止確率. 𝑝 𝑟 = (2 𝑔 𝑑 𝑟 − 1)/2 𝑀 𝑔(𝑑 𝑟):文書𝑑 𝑟の多値適合度, 𝑀:最大の適合度 𝑑1 𝑑2 𝑑3 これが出力 システム 𝑑4 𝑑5 ユーザ Stop! Stop! ここでの停止確率は𝑝(2)(1 − 𝑝(1)) ここでの停止確率は𝑝(3)(1 − 𝑝(1))(1 − 𝑝(2))
  19. 19. DCG@𝑁 𝐝 = 𝑟=1 𝑁 𝑔(𝑑 𝑟) 1 log(𝑟 + 1) nDCG@𝑁 𝐝 = DCG@𝑁(𝐝)/DCG@𝑁(𝐝∗) • nDCGの仮定 – 利得獲得:ユーザは調べた検索結果からその適合性に応じた利得を得て, その利得は累積する – 利得減損:利得はそれまでに調べられた文書数に応じて減損 Normalized Discounted Cumulative Gain (nDCG) [多値適合性・Informational] 19 𝐝∗ : 適合度が高い順に文書を並べて作った理想的な検索結果 𝑁: カットオフ(この順位までの結果を考慮) 𝑑1 𝑑2 𝑑3 これが出力 システム 𝑑4 𝑑5 ユーザ 適合度=1 適合度=2 減損利得 = 1 × 1/ log 2 減損利得 = 2 × 1/ log 4 ユーザ
  20. 20. 指標 AP RBP Q nDCG RR ERR 検索意図 Informational Navigational 適合性 二値 多値 多値 多値 二値 多値 正規化 ○ × ○ ○ ○ △ (nERR) 収穫逓減 × × × × ○ ○ 判別能力 ○ × ○ ○ × × 利用率 ◎ △ △ ◎ ◎ ○ 順序付き検索評価指標 まとめ 20 • 正規化: 最大値が1に正規化されている • 収穫逓減: ある文書が適合である場合,それより下位の文書の価 値が低下する • 判別能力: 2つのシステムの優劣を判別できる能力 (実験ベース,統計的検定に基づく) • 利用率: 私の主観に基づく
  21. 21. Webサイト: http://research.nii.ac.jp/ntcir/tools/ntcireval-ja.html DL: http://research.nii.ac.jp/ntcir/tools/NTCIREVAL.160507.tar.gz 本日のコード: https://git.io/viGYs • Webサイトより説明を引用 – NTCIREVALは、様々な検索評価指標を計算するた めのツールキットです。NTCIRやTRECのad hoc文 書検索タスクの他、diversified search resultsの評価 やNTCIR-8コミュニティQAタスクの評価などにも 利用できます。 (Python版も作成途中: https://github.com/mpkato/pyNTCIREVAL) (pip install git+https://github.com/mpkato/pyNTCIREVAL.git でインストー ル可能.「pyNTCIREVAL」というコマンドが使えるようになります) NTCIREVAL 21
  22. 22. 文書ID 適合度 dummy01 3 dummy02 3 dummy03 3 dummy04 2 dummy05 2 … … dummy11 0 練習問題 22 適合性判定データ (sample.rel) 文書ID dummy11 dummy01 dummy12 dummy04 システム出力 (sample.res) NTCIREVAL 指標 AP RBP Q nDCG RR ERR スコア 0.100 0.0761 0.0967 0.276 0.500 0.406
  23. 23. 本日のコード: https://git.io/viGYs • Linux or Macを前提 NTCIREVAL Install 23 # NTCIREVALのインストール # ダウンロード&展開 wget http://research.nii.ac.jp/ntcir/tools/NTCIREVAL.160507.tar.gz mkdir NTCIREVAL # (フォルダ単位でファイルがまとまっていないため,作成したフォルダ内に展開) tar fzxv NTCIREVAL.160507.tar.gz -C ./NTCIREVAL/ # インストール cd NTCIREVAL make
  24. 24. 本日のコード: https://git.io/viGYs • サンプルファイルを利用 NTCIREVAL Files 24 # 評価用ファイルの用意 # 適合性判定ファイルの確認 (各行が「<文書ID> L<適合度>」) cat sample.rel # dummy01 L3 # dummy02 L3 # … # システム出力ファイルの確認(各行に<文書ID>をランキング順に含む) cat sample.res # dummy11 # dummy01 # …
  25. 25. 本日のコード: https://git.io/viGYs • システム出力に適合性を付与 NTCIREVAL Label 25 # システム出力結果に適合度を付与 cat sample.res | ./ntcir_eval label -r sample.rel > labeled_sample.res # フォーマットは「<文書ID> L<適合度>」となる。適合性判定を行っていな い文書も許容する。 cat labeled_sample.res # dummy11 L0 # dummy01 L3 # dummy12 # dummy04 L2
  26. 26. 本日のコード: https://git.io/viGYs • 各検索評価指標を計算 NTCIREVAL Compute 26 # 各検索評価指標を計算 cat labeled_sample.res | ./ntcir_eval compute -r sample.rel -g 1:2:3 # # syslen=4 jrel=10 jnonrel=1 # # r1=2 rp=2 # RR= 0.5000 … # AP= 0.1000 # Q-measure= 0.0967 … # RBP= 0.0761 # ERR= 0.4062 … # nDCG@1000= 0.3380 …
  27. 27. • 評価指標はPrecision, Recall, APだけではない – 目的・ユーザの仮定によって適した指標は異なる – nDCG,Q,ERRなどはもっと評価されるべき • 評価指標の多くは仮定するユーザの振るまいと獲 得する利得によって解釈可能 – これが分かれば評価指標の選択に意味を見いだせる • 評価指標の計算には既存のツール使用を推奨 – AP・nDCGの実装ミスの例 • 全適合文書数(R)や理想的な検索結果(d*)の求め方のミス • DCGにオリジナル版・Microsoft版などがある 評価に興味がある方,評価してもらいたい方は NTCIR-13へのご参加を検討ください! まとめ 27

×