information retrieval model

Post on 24-Jun-2015

1.657 Views

Category:

Education

5 Downloads

Preview:

Click to see full reader

DESCRIPTION

情報検索モデル原著者とアップロード者は別人です。原著者の許可を得た上でアップロードしています。

TRANSCRIPT

情報検索モデル勉強会

D2  加藤 誠

注意書き

• 全てのコンテンツが有用とは限りません–聞きたいときだけ聞いて聞かないときは聞か

ないことをお勧めします–自分の研究と照らし合わせてみてください

• 知りたいけどわからない場合は遠慮なく聞いてください–完全インタラクティブ制です• スライドでは重要な情報が欠けている場合があり

ます

2

趣旨

• MSRA に行く前に知識還元を…というか• この話で分かるかもしれないこと

• できたら同じようなことをしてもらいたいな 3

確率モデル

Latent Dirichlet Allocation

Learning to Rank

Table of Contents

1. 情報検索の基礎2. 言語モデル

I. unigram モデルとクエリ尤度ランキングII. トピックモデル

i. Probabilistic Latent Semantic Analysisii. Latent Dirichlet Allocation

3. 情報検索のための機械学習I. SVM の基礎II. Learning to Rank

4. (情報検索の評価手法)4

情報検索って何?

• クエリ,対象データ,ランキング関数,フレームワーク

5

クエリ システム

対象データ

ランキングされたデータ

ランキング関数フレームワーク

Baeza-Yates, R. and Ribeiro-Neto, B. and others, Modern Information Retrieval より

Q D Rank: Q x D -> R

注: 狭義です

「情報検索」の定義の仕方

• e.g. 「はさんでポンッ」の場合–クエリ : Q = {( 空,君 ) , ( りんご,らっぱ ),

…} = 語 x 語–対象データ : D = { 今日も冷 ry, ごりら , …} =

語–ランキング関数 : Rank(q, d)• Rank(( 空,君 ), 今 ry) = 1000.0• Rank(( 空,君 ), 旭 ) = -100• Rank(( 空,君 ), ごりら ) = 10.1

–フレームワーク : 旭君の論文に載っている6

クエリと対象データを引数にして実数を出す関数

高い値=上位

文書検索を例にして説明

• 基本の文書検索–クエリ : 「田中 克己」–対象データ : 文書

• 昔ながらの情報検索三大モデル

7

ブーリアンモデル

ベクトル空間モデル

確率モデル

ブーリアンモデル

8

クエリ システム

対象データ

ランキングされたデータ

ランキング関数

フレームワーク

田中 AND 克己

{ 田中,克己,京大,… }

とりあえず,満たしてたら 1そうでなければ 0

• Web 検索でおなじみのクエリ• ランキング関数は超適当. Yes or No• でも,結果がわかりやすいし,高速

ベクトル空間モデル

• クエリ = 対象データ = 文書! (t 次元ベクトル )– TF-IDF でおなじみですね

• ランキング関数 = コサイン類似度• 適合フィードバックもこのモデル

9

クエリ システム

対象データ

ランキングされたデータ

ランキング関数

フレームワーク

(0.5, …, 0.2, …., 0.6)

Rank(q, d) = cos(q, d)(0.3, …, 0.1, …., 0.2)

確率モデル

• クエリ,対象データ : ある語 wi が入ってたら 1 ,入ってなかったら 0– e.g. w1 = 田中, w2 = 克己, w3 = 情報学, { 田中,克己 } = (1, 1, 0)

• ランキング関数 10

クエリ システム

対象データ

ランキングされたデータ

ランキング関数

フレームワーク

(1,0, 0, …, 1, …., 0, 1)

(0,0, 1, …, 1, …., 1, 0)

Rank(q, d) = P(R|d) / P(NR|d)

= 文書 d が適合文書である確率 / 不適合である確率

情報検索のことは忘れて…

• 袋から玉を取り出す問題– A , B 袋の区別なしに玉を取り出す

–「赤」はどっちの袋に入っていた?• P(A| 赤 ) と P(B| 赤 ) は?

11

A 袋 B 袋

ベイズの定理

• ベイズの定理

• P(A| 赤 )=P( 赤 |A)P(A)/P( 赤 ) = ?• P(B| 赤 )=P( 赤 |B)P(B)/P( 赤 ) = ?

12

A 袋 B 袋

)(

)()|()|(

YP

XPXYPYXP

情報検索に戻ると…

• 適合・不適合文書問題

• ランキング関数• = 文書 d が適合文書である確率 / 不適合である

確率

13

d

適合文書 不適合文書

? ?

?

? ?

? ?

?

? ?

)()|(

)()|(

)|(

)|(

NRPNRdP

RPRdP

dNRP

dRP d に不変

適合・不適合?

P(d|R) を求めよう!

• 唯一の手がかり: クエリ = 適合文書

• つまり, P(q|R) は何となく高そう!

• あれ…? – P(d|R) は? P({ 田中,克己 }|R) はいくつ?

• 何も分からない…

14

適合文書

? ?

?

? ? クエリ{ 田中,情報学 }

さてどうしようか?

• 何か仮定が必要です

15

文書の生まれ方

• 文書は生まれます ! (generative model)1. まず,コインを全語数分用意します• 3 語: 「田中」コイン,「克己」コイン,「情報

学」コイン

2. 一枚ずつコイントスします• 表なら使う,裏なら使わない

3. 文書ができました!

• これ以降,非常に重要な考え方16(これは Binomial

Model )

文書の生成確率

• { 田中,克己 } という文書の生成確率は…?– P({ 田中,克己 })

=P( 田中コイン : 表 )P( 克己コイン : 表 ) P( 情報学コイン : 裏 )

• 重要な仮定: Naïve Bayse–語は独立に生成される• そんな馬鹿な!でも一般的な仮定なんです

• 数学的に書くと…– d = (1, 1, 0)– P(d) = P(w 田中 )P(w 克己 )(1 - P(w 情報学 )) 17

あらためて P(d|R) の計算

• ランキング関数 = 適合文書である確率 / 不適合である確率

• rw ≡ P(w|R), nw ≡ P(w|NR) として,

18

)|(

)|(~)|(

)|(

NRdP

RdP

dNRP

dRP

w w

w

dw ww

ww

dw dwww

dww

dww

n

r

rn

nr

nn

rr

)1(

)1(

)1(

)1(

)1(

)1(

d に不変

dwdw

dwdw

NRwPNRwP

RwPRwP

))|(1()|(

))|(1()|(

「クエリ = 適合文書」からの直感

• クエリ : { 田中 , 情報学 } の場合– P(q|R) は高そう• P( 田中 |R) と P( 情報学 |R) は高そう• P( 田中 |NR) と P( 情報学 |NR) は普通そう

– P( 田中 |NR) = ( 「田中」を含む文書数 ) / ( 全文書数 )

• P( 克己 |R) と P( 克己 |NR) も普通そう ( 分母 = 分子.無視 )

–文書 d:{ 田中,克己 } のランキング関数値は…

19

1)()(

)(

)5.01(/)(

)/)(1(5.0

)1(

)1(),(

田中田中田中

田中田中

df

N

df

dfN

Ndf

Ndf

rn

nrdqRank

dw ww

ww

idf!

情報検索の基礎: まとめ

• クエリ,対象データ,ランキング関数,フレームワーク

• 情報検索三大モデル–ブーリアンモデル–ベクトル空間モデル–確率モデル

• 文書は生成されるという考え– Naïve Bayse (( 条件付き ) 独立性 )

20

考え方は違うけど結局同じようなことをしてる

Table of Contents

1. 情報検索の基礎2. 言語モデル

I. unigram モデルとクエリ尤度ランキングII. トピックモデル

i. Probabilistic Latent Semantic Analysisii. Latent Dirichlet Allocation

3. 情報検索のための機械学習I. SVM の基礎II. Learning to Rank

4. (情報検索の評価手法)21

言語モデル

• 文書は生まれます ! ( 今度はサイコロ )1. まず,サイコロを用意します• 3 語: 「田中」面,「克己」面,「情報学」面

2. 好きなだけ投げます• 出た目の語を使います

3. 文書ができました!

22(これは Multinomial Model )

さっきのコインも言語モデルだと思う (or 言語モデルによる説明 )

n-gram モデル

• unigram モデル– P( 田中 克己 ) ~ P( 田中 )P( 克己 )• サイコロの目は毎回独立

• bigram モデル– P( 田中 克己 ) ~ P( 田中 )P( 克己 | 田中 )• サイコロの目は一つ前の目に依存

• n-gram モデル– P(w1,w2,…, wN) ~ ΠP(wk|wk-1, …, wk-n-1)• サイコロの目は 1 つ前から n-1 つ前の目に依存

23

言語モデルはどこにある?

• コーパス : C = {d1, d2, …, d|C|}

• コーパス C の言語モデル– P(w|C)–全体用のサイコロ

• 文書 di の言語モデル– P(w|di)

–ある文書 di専用のサイコロ

24

文書集合

文書di

練習問題1

• 文書 1: 田中 田中 克己• 文書 2: 田中 情報学 克己• 文書 3: 田中 情報学 情報学

• Q1. P(w|C) を推定せよ• Q2. P(w|di) を推定せよ

25

答え

• (多値変数の分布の最尤推定)• e.g. – P( 田中 |C) = 4/9– P( 田中 | 文書 1) = 2/3

26

言語モデル + クエリ尤度ランキング

• クエリ,対象データ : 言語モデルにより生成された(とする)

• ランキング関数

27

クエリ システム

対象データ

ランキングされたデータ

ランキング関数

フレームワーク

( 田中 , 克己 , 情報学 )

Rank(q, d) = P(d|q)

( 田中 , 田中 , 情報学 )

= クエリ q が文書 d の言語モデルからどれくらい生成されやすいか

クエリ尤度

• クエリ q が文書 d からどれくらい生成されやすいか– ユーザは心の中に適合文書の言語モデルを持ってい

る→クエリはその言語モデルから作られている!

• Rank(q, d) = P(d|q) = P(q|d)P(d)/P(q) P(q|d)P(d) P(q|d)∝ ∝ 28

文書d1

文書d2

文書d3

クエリ q

? ??

P(q) は d に不変 P(d) は unique と仮定

練習問題2

• クエリ : 田中 克己

• 文書 1: 田中 田中 克己• 文書 2: 田中 情報学 克己• 文書 3: 田中 情報学 情報学

• Q. P(q|d) を推定せよ

29

答え

• Rank(q, d) P(q|d) = Π∝ w q∈ P(w|d)– P(q|d1) = 2/3 * 1/3 = 2/9– P(q|d2) = 1/3 * 1/3 = 1/9– P(q|d3) = 1/3 * 0 = 0!?

• 文書 d3 が語「克己」をはき出す可能性は0??–ちょっと大げさな推定

• コーパスの言語モデルを使ったスムージング– P( 克己 |d) = αP( 克己 |d) + (1-α)P( 克己 |C) 30

クエリのミスマッチ

• 文書 d1: 田中 データベース • 文書 d2: 鈴木 農業 • クエリ q: 克己 情報学• クエリ尤度 : P(q|d1) P(q|d2) 0!?≒ ≒

• 語がマッチしないために検索できない…–クエリ拡張する方法–ステミングとか NLP してみる方法–語より抽象的なものでマッチング→ トピッ

クモデル31

トピックモデル

• n-gram モデル–単語は確率的に生成される

• トピックモデル–単語はトピックから生成される

• トピック = 単語の生成分布

32

Latent Dirichlet AllocationDavid M. Blei, Andrew Y. Ng, Michael I. Jordan; JMLR, 3(Jan):993-1022, 2003.

トピック

Probabilistic Latent Semantic Analysis

1. まず,サイコロを用意します– 3 トピック: 「スポーツ」面,「経済」面,「芸能」面

– トピックごとにもサイコロを用意します• 3 語 : 「田中」面,「克己」面,「情報学」面

2. トピックサイコロを振って出たトピック専用の語サイコロを振ります– 出た目の語を使います

3. 文書ができました!

33

トピックサイコロ 語サイコロ語サイコロ決

定 語を決定

文書

Latent Dirichlet Allocation

1. まず,サイコロ生成器を用意しますI. 語サイコロをトピック数分だけ作っておきます

2. トピックサイコロを生成します3. トピックサイコロを振って出たトピック専用

の語サイコロを振ります– 出た目の語を使います

4. 文書ができました!

34

トピックサイコロ

語サイコロ

語サイコロ決定 語を決定

文書トピックサイコロ生成器

語サイコロ生成器

語サイコロ

Latent Dirichlet Allocation

• 確率分布を使った説明

35

政治 経済 芸能政治 経済 芸能政治 経済 芸能

この文書のトピック分布(Multinomial)

トピック分布の確率分布(Dirichlet)

文書ごとに生成

トピックの決定

市場語の決定

野球 市場 大学

トピック「経済」の語分布(Multinomial)

語分布の確率分布(Dirichlet)

トピックごとに生成

トピック: 経済

Latent Dirichlet Allocation何がいいの?

• PLSA と非常によく似ているが…–トピック・語サイコロにある制約を加えられ

る• 1 文書に少ない種類のトピックが出るようにする• 1 トピックからは少ない種類の語が出るようにす

る–学習するパラメータ数が少ない• PLSA:

• LDA:

36

トピックサイコロを文書数分 語サイコロをトピック数分

トピックサイコロ生成器 語サイコロ生成器

注意:ここから難易度が上がります

37

改めて Latent Dirichlet Allocation

1. Choose φk ~ Dirichlet(β)

2. For each document di

I. Choose θi ~ Dirichlet(α)

II. For each word slot wj of di

i. Choose zj ~ Multinomial(θi)

ii. Choose wj ~ Multinomial(φk)

38

α, β = (0.1, 0.2, 0.3, …): ディリクレ分布のパラメータφk = (0.1, 0.2, 0.3, …): トピック zk の語分布のパラメータθi = (0.2, 0.3, 0.1, …): 文書 di のトピック分布のパラメータzi = (0, 0, 0, 1, 0, …): トピックwi = (0, 1, 0, 0, 0, …): 語

ディリクレ分布 = サイコロ生成器

多値分布 = サイコロ

ディリクレ分布と多値分布

• ディリクレ分布 (=多値分布の事前確率 )–パラメータ : α = (0.1, 0.2, 0.4, 0.2, 0.1)–変数 : θ = (0.2, 0.2, 0.1, 0.2, 0.3)–  

• 多値分布–パラメータ : θ = (0.2, 0.2, 0.1, 0.2, 0.3)–変数 : z = (0, 0, 0, 0, 1) とか (0, 1, 0, 0, 0)– 

39

どの目がでやすいか

k

k

z

zkzP )|(

どのサイコロがでやすいか

k

kkZ

P

11)|(

ディリクレ分布の働き

• ベイジアン思想–事前分布(確率分布の確率)を入れろー!

• 事前分布のメリット– 1 文書に少ない種類のトピックが出るように

する• α < 1 ならこうなる ( 基本 αk = 50/( トピック数 ))

– 1 トピックからは少ない種類の語が出るようにする• 同様に β < 1 ならこうなる ( 基本 βj = 0.1, 0.01)

–パラメータ数が少ない (α , β のみ )• 過学習しにくくなる

– 注: 学習= α , β の決定.推定= φ , θ の決定 40

Latent Dirichlet Allocationのアプリ屋としての見方

• 文書と語のソフト (共 ) クラスタリング–文書クラスタ (P(z|θ))

–語クラスタ (P(z|w))

41

P(z|θ1) = (0.1, 0.3, 0.6)

P(z| 田中 ) = (0.2, 0.4, 0.4)

文書d1

文書d1

トピック1

トピック 2

トピック 3

0.2

0.4

0.4

0.1

0.3

0.6

田中

田中

Latent Dirichlet Allocation推定方法

• Gibbs Sampling しか知りません…–他にも変分ベイズがあるらしい

• 推定したいもの– θi: 文書 i のトピック分布

– φk: トピック k の語分布

• 語にどのトピックが割り当てられているか観測できたらわかるのに…

42

Latent Dirichlet Allocation Gibbs Sampling

1. ランダムにトピックを語に割り当てる2. For each word in the whole document

I. もう一度トピックサイコロを振り直す.ただし,• 他の全ての割り当てが正しいとする• 対象としている語は観測されているとする

II. トピックを割り当てる3. ひたすら 2 を繰り返す

43

田中克己 喜連川優

Mr. Children スピッツ

田中克己

喜連川優

Mr. Children

宇多田ヒカル

田中克己

田中克己

田中克己

Mr. Children

喜連川優

もう一度トピックサイコロを振り直す

• もう一度トピックを振り直すときにの確率P(zi,j|w, (z-{zi,j}))–全ての語 w と注目している語のトピック以外

のトピックが全てわかっているときにそのトピックの確率

44

rr

vkjiji krn

kvnkinzkzP

)),((

),()),((})){(,|( ,,

zw

同じ文書内で何回トピック kが

出ているか?

同じ語に何回トピック k が割り当てられているか?

全体で何回トピック k が割り当てられているか?

まとめ : 言語モデル

• 言語モデル–ユニグラムモデル–トピックモデル• Probabilistic Latent Semantic Analysis• Latent Dirichlet Allocation

• クエリ尤度ランキング

45

Table of Contents

1. 情報検索の基礎2. 言語モデル

I. unigram モデルとクエリ尤度ランキングII. トピックモデル

i. Probabilistic Latent Semantic Analysisii. Latent Dirichlet Allocation

3. 情報検索のための機械学習I. SVM の基礎II. Learning to Rank

4. (情報検索の評価手法)46

小さな検索から大きな検索へ

• Web 検索では…–いろいろなモデルやスコアを使って文書をラ

ンキングしている(らしい)• でもチューニングが大変… Rank = 0.5 * Pagerank + 0.2 * TF-IDF

Sim ??

–たくさんのユーザフィードバックを使おう

47

d1

d2

d3

d4

•三つのことがわかる• d4 > d1• d4 > d2• d4 > d3

文書のランキングに使えないか??

→機械学習

機械学習

48

教師あり学習分類 回帰

教師なし学習クラスタリング 独立成分分析

Pedro et al., Ranking and Classifying Attractiveness of Photos in Folksonomies

78点

21点 31点

89点 ??点

??点

Clusty

トピック

教師あり学習

• 問題:–訓練データ X = {(x1, y1), (x2, y2), …} が与えられ

てる• 訓練データはデータ x とラベル y のペア

– x: k 次元ベクトル– y: 離散値 (-1, +1) や実数値 (21, 89)

–テストデータ x が与えられた時にそのラベルy は何?

• 例:–スパム判別• 訓練データ X = {(Page1, スパム ),

(Page2, スパムじゃない ), (Page3, スパム ), …}• テストデータ Page4 はスパム or スパムじゃな

い?

49

Support Vector Machine

• 有名な分類モデル

• 訓練データ :– X = {((1, 3), +1), ((3, 4), -1),

((4, 9), +1), ((0, 0), -1),}

• 分類境界 : wTx + b = 0– wTx + b > +1 なら +1– wTx + b < -1 なら -1

50

wTx + b = 0

wTx + b = -1wTx + b = +1

マージン最大化

51

wTx + b = 0

wTx + b = -1wTx + b = +1

マージン最大化

wTx + b = 0

どの境界面が一番いい??

SVM の数学的解釈

• 以下の二次計画問題を解くことと等価

• ラグランジュの未定乗数法

52

ww

2max

1)(.. byts iT

i xw

n

ii

Tii

T byabL1

12

1),,( xwwwaw

マージン最大化

訓練データは全て正しく分類

n

iiii ya

1

xw

1)(001)( byabya Tii

Tii xwxw

n

i

n

jj

Tijiji

n

ii yyaaaL

1 11 2

1)(' xxa

サポートベクター

Learning to Rank

53Hang Li, Learning to Rank, ACL-IJCNLP 2009 Tutorial, Aug. 2, 2009

より具体的に

54

1位

2位

3位

ランキングされた文書

田中克己 …クエリ

1位

2位

3位

京都大学 …1位

2位

3位

京都 紅葉 …

訓練データ

((0.9, 0.2), 1 位 )((0.8, 0.3), 2 位 ) ((0.8, 0.1), 3 位 )PageRankTF-IDF Sim.

順位

加藤誠 学習器ランキングされてない文書クエリ

(0.8, 0.3)PageRankTF-IDF Sim.

(0.8, 0.1) (0.9, 0.2) 2 位

3 位

1 位

テストデータ

訓練データのラベルの種類

• スコア (Point-wise)– Score(d1) = 0.9, Score(d2) = 0.9, …–与えるのが難しい

• ペア (Pair-wise)– di > dj

–ユーザのクリックから推定可能

• リスト (List-wise)– d1, d3, d2, d7, d4, d5, d6, … 55

d1

d2

d3

d4

ユーザのクリックから読み取れること

• 二つのユーザクリックから読み取れることは?

56

Ranking SVM (Pair-wise 手法の一つ )

57

d1,1 d1,2田中克己

クエリ

京都大学

京都 紅葉

訓練データ

加藤誠 学習器ランキングされてない文書クエリ

> d1,1 d1,3> d1,3 d1,2>

di,1 di,3 di,4 di,2

ランキングされた文書

di,1 di,2> di,3 di,2> di,2 di,4>

SVM と Ranking SVM

• SVM

• Ranking SVM

58

ww

2max

1)(.. byts iT

i xw

マージン最大化

訓練データは全て正しく分類

ww

2max

)(.. jijT

iT ddts xwxw

di > dj ならwTxi > wTxj

0)0)((.. jiT

iyts xxw

1)(1 otherwiseddy jii

モデルを自分で作る or 学習する

• 自分で作る– Rank(q, d) = 0.5 * PageRank(d) + 0.2 * cos(q, d)– Rank(q, d) = 0.3 * PageRank(d) + 0.7 * cos(q, d)– Rank(q, d) = 0.9 * PageRank(d) + 0.1 * cos(q, d)–どれが良いかわからない…

• 学習する– Rank(q, d) = w1 * PageRank(d) + w2 * cos(q, d)

–訓練データから w1 と w2 を決定

59

まとめ:情報検索のための機械学習

• 機械学習とは–教師あり学習–教師なし学習

• SVM–マージン最大化

• Learning to Rank– e.g. Ranking SVM

60

Table of Contents

1. 情報検索の基礎2. 言語モデル

I. unigram モデルとクエリ尤度ランキングII. トピックモデル

i. Probabilistic Latent Semantic Analysisii. Latent Dirichlet Allocation

3. 情報検索のための機械学習I. SVM の基礎II. Learning to Rank

4. (情報検索の評価手法)61

評価で大事なこと

• 最初に考えていた「目標」を達成しているかどうかちゃんと評価できていますか?

• 他の論文と同じようなことをしている場合,比較していますか?

• 評価はしっかりしてますか?–ベースライン手法 (簡単なので良い )–厳密な「正解」の定義 (誰でも正解を作れる

か? )• 複数のユーザ評価のカッパ係数を取って示せるこ

とも–十分な量• 最低 100個.種類はなるべく均等に (by 酒井哲也 )

62酒井哲也 : よりよい検索システム実現のために : 正解の良し悪しを考慮した情報検索評価の動向 , 情報処理 Vol.47, No.2, pp.147-158, 2006酒井哲也 : チュートリアル:情報検索テストコレクションと評価指標 , 情報処理学会研究報告 2008-FI-89 / 2008-NL-183, pp.1-8, 2008

いろいろなケース

• 評価形態– Intrinsic evaluation

• 研究の目的を直接評価• e.g. 形態素解析の結果を評価

– Extrinsic evaluation• 研究の目的と関係のあるタスクで評価• e.g. その形態素解析を使って情報検索の精度を評価

– User-oriented evaluation• ユーザを使って評価

• あなたの実験はどれですか??

63Julia R. Galliers and Karen Sparck Jones. 1993. Evaluating   natural language processing systems. Technical   Report TR-291, Computer Laboratory, University   of Cambridge.

情報検索の評価

• タスク:–検索意図: 正解となる情報の記述–クエリ:検索意図を満たす情報を得るための

クエリ• 正解データ:– A. 実際のシステムの出力を評価したもの– B. あらかじめ用意した正解

• 適合度判定–正解=「検索意図」を満たすもの!!!– Not クエリ 64

情報検索の評価指標

65

Binary Relevance (正解,不正解 ) Graded Relevance (1, 2, 3, 4, 5)

正解

が一個

正解

がた

くさ

逆順位 (RR) 重み付き逆順位

Normalized Discounted Cumulative Gain (nDCG)

再現率・適合率・ F-measure

第 r 位適合率

11点平均適合率

平均適合率 (AP)

逆順位 (Reciprocal Rank)

• 目的の情報が 1 つ見つかればよいときに使う

• 正解情報が第 r 位に現れたとき逆順位 (RR) は

• 全タスクの平均を取って平均逆順位(MRR) でシステムを評価

• とてもブレが大きい– たくさんのタスクを用意しましょう

66

r

1RR

K

i irK 1

11MRR

正解

正解

タスク 1 タスク 2

RR=1/2 RR=1

MRR=3/4

平均適合率 (AP)

• 比較的再現率を重視する評価で有効(らしい)

• 第 r 位までの適合率を P(r)とすると AP は

– ただし, I(r) は第 r 位が正解のとき 1R= 全正解数, L= システム出力件数

• 全タスクの平均を取ってMAP でシステムを評価 ( よく使われる ) 67

L

r

rPrIR 1

)()(1

AP

正解

正解

正解

正解

全正解数 =10 ならAP = (1/2+2/5+3/7+4/9)/10

1/2

2/5

3/7

4/9

Normalized Discounted Cumulative Gain (nDCG)

• とってもメジャー• Cumulative Gain (CG)–累積利得(右図参照)

• Discounted CG– 1 位に正解 > 2 位に正解

68酒井哲也 : よりよい検索システム実現のために : 正解の良し悪しを考慮した情報検索評価の動向 , 情報処理 Vol.47, No.2, pp.147-158, 2006

L

r

rgL1

)()CG(

L

r b r

rgL

1 )1(log

)()DCG(

DCG の正規化

• タスクによってDCG の値は大きく変化–簡単 /難しいタスク

• 正規化 = nDCG–理想の DCG=1 とな

るように

• nDCG(3), nDCG(5) とかを使う 69

4

3

5

2

実際の出力 理想の出力

5

4

3

2

)(DCG

)(DCG)nDCG(

ideal L

LL

その他の評価指標

• α-nDCG– Diversity を考慮した nDCG–トピックごとに nDCG を出すらしい

• 順位相関係数–適切な順位がわかっているときに利用–ケンドールの順位相関係数–スピアマンの順位相関係数

70

まとめ: 情報検索の評価方法

71

Binary Relevance (正解,不正解 ) Graded Relevance (1, 2, 3, 4, 5)

正解

が一個

正解

がた

くさ

逆順位 (RR) 重み付き逆順位

Normalized Discounted Cumulative Gain (nDCG)

再現率・適合率・ F-measure

第 r 位適合率

11点平均適合率

平均適合率 (AP)

おしまい

• 長々とすみません

• Q&A?

• 次の人はだれ?

72

参考文献: Book

• Modern Information Retrieval• Search Engines Information Retrieval in

Practice• Introduction to Information Retrieval

73

参考文献: Book, Tutorial

• パターン認識と機械学習 上 - ベイズ理論による統計的予測

• Dr. Hang Li の Tutorial– http://research.microsoft.com/en-us/people/

hangli/talk.aspx

74

参考文献: Journal, 解説

• Blei et al., Latent dirichlet allocation, JMLR• 酒井哲也氏の解説–よりよい検索システム実現のために : 正解の良し悪しを考慮した情報検索評価の動向

–情報検索テストコレクションと評価指標

75

top related