information retrieval model

75
情情情情情情情情情情 D2 情情 情

Upload: yuku-takahashi

Post on 24-Jun-2015

1.657 views

Category:

Education


5 download

DESCRIPTION

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

TRANSCRIPT

Page 1: Information retrieval model

情報検索モデル勉強会

D2  加藤 誠

Page 2: Information retrieval model

注意書き

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

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

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

ます

2

Page 3: Information retrieval model

趣旨

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

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

確率モデル

Latent Dirichlet Allocation

Learning to Rank

Page 4: Information retrieval model

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

Page 5: Information retrieval model

情報検索って何?

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

5

クエリ システム

対象データ

ランキングされたデータ

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

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

Q D Rank: Q x D -> R

注: 狭義です

Page 6: Information retrieval model

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

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

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

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

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

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

高い値=上位

Page 7: Information retrieval model

文書検索を例にして説明

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

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

7

ブーリアンモデル

ベクトル空間モデル

確率モデル

Page 8: Information retrieval model

ブーリアンモデル

8

クエリ システム

対象データ

ランキングされたデータ

ランキング関数

フレームワーク

田中 AND 克己

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

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

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

Page 9: Information retrieval model

ベクトル空間モデル

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

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

9

クエリ システム

対象データ

ランキングされたデータ

ランキング関数

フレームワーク

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

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

Page 10: Information retrieval model

確率モデル

• クエリ,対象データ : ある語 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 が適合文書である確率 / 不適合である確率

Page 11: Information retrieval model

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

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

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

11

A 袋 B 袋

Page 12: Information retrieval model

ベイズの定理

• ベイズの定理

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

12

A 袋 B 袋

)(

)()|()|(

YP

XPXYPYXP

Page 13: Information retrieval model

情報検索に戻ると…

• 適合・不適合文書問題

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

確率

13

d

適合文書 不適合文書

? ?

?

? ?

? ?

?

? ?

)()|(

)()|(

)|(

)|(

NRPNRdP

RPRdP

dNRP

dRP d に不変

適合・不適合?

Page 14: Information retrieval model

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

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

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

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

• 何も分からない…

14

適合文書

? ?

?

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

Page 15: Information retrieval model

さてどうしようか?

• 何か仮定が必要です

15

Page 16: Information retrieval model

文書の生まれ方

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

学」コイン

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

3. 文書ができました!

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

Model )

Page 17: Information retrieval model

文書の生成確率

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

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

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

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

Page 18: Information retrieval model

あらためて 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()|(

Page 19: Information retrieval model

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

• クエリ : { 田中 , 情報学 } の場合– 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!

Page 20: Information retrieval model

情報検索の基礎: まとめ

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

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

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

20

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

Page 21: Information retrieval model

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

Page 22: Information retrieval model

言語モデル

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

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

3. 文書ができました!

22(これは Multinomial Model )

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

Page 23: Information retrieval model

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

Page 24: Information retrieval model

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

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

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

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

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

24

文書集合

文書di

Page 25: Information retrieval model

練習問題1

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

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

25

Page 26: Information retrieval model

答え

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

26

Page 27: Information retrieval model

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

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

• ランキング関数

27

クエリ システム

対象データ

ランキングされたデータ

ランキング関数

フレームワーク

( 田中 , 克己 , 情報学 )

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

( 田中 , 田中 , 情報学 )

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

Page 28: Information retrieval model

クエリ尤度

• クエリ 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 と仮定

Page 29: Information retrieval model

練習問題2

• クエリ : 田中 克己

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

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

29

Page 30: Information retrieval model

答え

• 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

Page 31: Information retrieval model

クエリのミスマッチ

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

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

クモデル31

Page 32: Information retrieval model

トピックモデル

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

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

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

32

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

トピック

Page 33: Information retrieval model

Probabilistic Latent Semantic Analysis

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

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

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

3. 文書ができました!

33

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

定 語を決定

文書

Page 34: Information retrieval model

Latent Dirichlet Allocation

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

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

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

4. 文書ができました!

34

トピックサイコロ

語サイコロ

語サイコロ決定 語を決定

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

語サイコロ生成器

語サイコロ

Page 35: Information retrieval model

Latent Dirichlet Allocation

• 確率分布を使った説明

35

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

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

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

文書ごとに生成

トピックの決定

市場語の決定

野球 市場 大学

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

語分布の確率分布(Dirichlet)

トピックごとに生成

トピック: 経済

Page 36: Information retrieval model

Latent Dirichlet Allocation何がいいの?

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

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

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

• LDA:

36

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

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

Page 37: Information retrieval model

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

37

Page 38: Information retrieval model

改めて 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, …): 語

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

多値分布 = サイコロ

Page 39: Information retrieval model

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

• ディリクレ分布 (=多値分布の事前確率 )–パラメータ : α = (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)|(

Page 40: Information retrieval model

ディリクレ分布の働き

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

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

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

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

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

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

Page 41: Information retrieval model

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

田中

田中

Page 42: Information retrieval model

Latent Dirichlet Allocation推定方法

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

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

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

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

42

Page 43: Information retrieval model

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

喜連川優

Page 44: Information retrieval model

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

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

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

44

rr

vkjiji krn

kvnkinzkzP

)),((

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

zw

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

出ているか?

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

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

Page 45: Information retrieval model

まとめ : 言語モデル

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

• クエリ尤度ランキング

45

Page 46: Information retrieval model

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

Page 47: Information retrieval model

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

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

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

Sim ??

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

47

d1

d2

d3

d4

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

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

→機械学習

Page 48: Information retrieval model

機械学習

48

教師あり学習分類 回帰

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

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

78点

21点 31点

89点 ??点

??点

Clusty

トピック

Page 49: Information retrieval model

教師あり学習

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

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

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

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

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

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

い?

49

Page 50: Information retrieval model

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

Page 51: Information retrieval model

マージン最大化

51

wTx + b = 0

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

マージン最大化

wTx + b = 0

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

Page 52: Information retrieval model

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

サポートベクター

Page 53: Information retrieval model

Learning to Rank

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

Page 54: Information retrieval model

より具体的に

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 位

テストデータ

Page 55: Information retrieval model

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

• スコア (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

Page 56: Information retrieval model

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

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

56

Page 57: Information retrieval model

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>

Page 58: Information retrieval model

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

Page 59: Information retrieval model

モデルを自分で作る 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

Page 60: Information retrieval model

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

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

• SVM–マージン最大化

• Learning to Rank– e.g. Ranking SVM

60

Page 61: Information retrieval model

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

Page 62: Information retrieval model

評価で大事なこと

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

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

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

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

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

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

Page 63: Information retrieval model

いろいろなケース

• 評価形態– 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.

Page 64: Information retrieval model

情報検索の評価

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

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

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

Page 65: Information retrieval model

情報検索の評価指標

65

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

正解

が一個

正解

がた

くさ

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

Normalized Discounted Cumulative Gain (nDCG)

再現率・適合率・ F-measure

第 r 位適合率

11点平均適合率

平均適合率 (AP)

Page 66: Information retrieval model

逆順位 (Reciprocal Rank)

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

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

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

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

66

r

1RR

K

i irK 1

11MRR

正解

正解

タスク 1 タスク 2

RR=1/2 RR=1

MRR=3/4

Page 67: Information retrieval model

平均適合率 (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

Page 68: Information retrieval model

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(

Page 69: Information retrieval model

DCG の正規化

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

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

るように

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

4

3

5

2

実際の出力 理想の出力

5

4

3

2

)(DCG

)(DCG)nDCG(

ideal L

LL

Page 70: Information retrieval model

その他の評価指標

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

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

70

Page 71: Information retrieval model

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

71

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

正解

が一個

正解

がた

くさ

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

Normalized Discounted Cumulative Gain (nDCG)

再現率・適合率・ F-measure

第 r 位適合率

11点平均適合率

平均適合率 (AP)

Page 72: Information retrieval model

おしまい

• 長々とすみません

• Q&A?

• 次の人はだれ?

72

Page 73: Information retrieval model

参考文献: Book

• Modern Information Retrieval• Search Engines Information Retrieval in

Practice• Introduction to Information Retrieval

73

Page 74: Information retrieval model

参考文献: Book, Tutorial

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

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

hangli/talk.aspx

74

Page 75: Information retrieval model

参考文献: Journal, 解説

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

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

75