情報検索の基礎 #9
適合フィードバックとクエリ拡張
名古屋検索勉強会 2019.06.05
@nishiokya
9.適合フィードバックとクエリ拡張
1. 適合フィードバックと擬似適合フィードバック
1. 適合フィードバックのロッキオアルゴリズム
2. 確率的な適合フィードバック
3. 適合フィードバックはいつ機能するか?
4. ウェブの適合フィードバック
5. 適合フィードバック戦略と評価
6. 擬似適合フィードバック
7. 間接的な適合フィードバック
8. まとめ
2. クエリ改良のためのグローバルな手法
1. クエリ改良のための語彙ツール
2. クエリ拡張
3. 自動シソーラス生成
3. 引用文献と参考図書
TL;DR
• 適合フィードバックは古いっぽい
• 間接的な適合フィードバックは広告で使われている
• クエリ拡張はまだあるっぽい
手法 概要
適合フィードバック ユーザから文書に関連/非関連情報をフィードバック
として受け取り。(次回の)用語の重み付けに使用
されます。
クエリ拡張 クエリ拡張では、ユーザーは単語やフレーズに追加
の入力(良い/悪い検索語)を入力します
9.適合フィードバックとクエリ拡張
同じ概念の異なる単語から参照される問題を同義性(synonymy)という、
この問題は再現率に影響をあたえる
この問題解決の手法は大きくグローバルとローカルな方法に分かれる
手法 概要 対処方法
グローバル クエリとその結果とは関係
なしにクエリ用語を拡張も
しくは再書き換えする手法
シソーラスなどを使ったクエリ拡張または再書き換
え(9.2.2)
自動シソーラス生成によるクエリの拡張(9.2.3)
スペル修正(3)
ローカル 最初のクエリに一致した文
書に対応してクエリを調整
する
適合フィードバック(9.1)
擬似適合フィードバック(9.1.6)
間接的な適合フィードバック(9.1.7)
最も成功したアプローチの一つである適合フィードバックを重点的に説明する
適合率&再現率
• Precision: fraction of retrieved docs that are relevant =
P(relevant|retrieved)
• Recall: fraction of relevant docs that are retrieved =
P(retrieved|relevant)
• Precision P = tp/(tp + fp)
• Recall R = tp/(tp + fn)
9.1 適合フィードバックと擬似適合
フィードバック
適合フィードバックの処理の流れ
1. ユーザは(短く、単純な)クエリを発行する
2. システムが検索結果を表示する
3. ユーザは、関連または非関連など、戻された文書をマークする
4. システムでユーザのフィードバックから良い検索結果を計算する
5. システムが改定された検索結果を表示する
1-4を1回以上繰り返し検索結果をよくしていく
※良いクエリを定型化するのではなく、良い結果かを判断する
9.1 画像検索の例:最初の検索結果
Sec. 9.1.1
https://web.stanford.edu/class/cs276/handouts/lecture9-queryexpansion.ppt
ユーザは、クエリ”ex bike”を発行し、システムが検索結果を返す
関係ないのもある
9.1 画像検索の例:適合フィードバック
Sec. 9.1.1
https://web.stanford.edu/class/cs276/handouts/lecture9-queryexpansion.ppt
ユーザは、関連または非関連など、戻された文書をマークする
ユーザは1,3,4,10
にマーク
9.1 画像検索の例:改定された検索結果
Sec. 9.1.1
https://web.stanford.edu/class/cs276/handouts/lecture9-queryexpansion.ppt
システムでユーザのフィードバックから良い検索結果を計算する
システムが改定された検索結果を表示する
いい感じ!
9.1 テキスト情報検索での適合フィードバック
• 最初のクエリ: New space satellite applications
1. 0.539, 08/13/91, NASA Hasn’t Scrapped Imaging Spectrometer
2. 0.533, 07/09/91, NASA Scratches Environment Gear From Satellite Plan
3. 0.528, 04/04/90, Science Panel Backs NASA Satellite Plan, But Urges Launches of Smaller Probes
4. 0.526, 09/09/91, A NASA Satellite Project Accomplishes Incredible Feat: Staying Within Budget
5. 0.525, 07/24/90, Scientist Who Exposed Global Warming Proposes Satellites for Climate Research
6. 0.524, 08/22/90, Report Provides Support for the Critics Of Using Big Satellites to Study Climate
7. 0.516, 04/13/87, Arianespace Receives Satellite Launch Pact From Telesat Canada
8. 0.509, 12/02/87, Telecommunications Tale of Two Companies
• ユーザは、関連ドキュメントに“+”をつける
+
+
+
Sec. 9.1.1
ユーザは人工衛星の新しい応用について知りたい
9.1 テキスト情報検索での適合フィードバック
• 2.074 new 15.106 space
• 30.816 satellite 5.660 application
• 5.991 nasa 5.196 eos
• 4.196 launch 3.972 aster
• 3.516 instrument 3.446 arianespace
• 3.004 bundespost 2.806 ss
• 2.790 rocket 2.053 scientist
• 2.003 broadcast 1.172 earth
• 0.836 oil 0.646 measure
Sec. 9.1.1
初期クエリ:New space satellite applications
初期クエリ以外の18の用語と重み付けに拡張しいている
9.1 テキスト情報検索での適合フィードバック
1. 0.513, 07/09/91, NASA Scratches Environment Gear From Satellite Plan
2. 0.500, 08/13/91, NASA Hasn’t Scrapped Imaging Spectrometer
3. 0.493, 08/07/89, When the Pentagon Launches a Secret Satellite, Space Sleuths Do Some Spy
Work of Their Own
4. 0.493, 07/31/89, NASA Uses ‘Warm’ Superconductors For Fast Circuit
5. 0.492, 12/02/87, Telecommunications Tale of Two Companies
6. 0.491, 07/09/91, Soviets May Adapt Parts of SS-20 Missile For Commercial Use
7. 0.490, 07/12/88, Gaping Gap: Pentagon Lags in Race To Match the Soviets In Rocket
Launchers
8. 0.490, 06/14/90, Rescue of Satellite By Space Agency To Cost $90 Million
2
1
8
Sec. 9.1.1
修正された検索結果
9.1.1適合フィードバックのロッキオアルゴ
リズム
• 非関連文書との類似性を最小限かつ関連文書との類似性を最大限
となるクエリを見つけるアルゴリズム
𝑞 𝑜𝑝𝑡 = 𝑎𝑟𝑔𝑚𝑎𝑥 𝑠𝑖𝑚 𝑞, 𝐶𝑟 − 𝑠𝑖𝑚 𝑞, 𝐶 𝑛𝑟
𝑞 𝑜𝑝𝑡 =
1
𝐶𝑟
𝑑 𝑗∈𝐶 𝑟
𝑑𝑗 −
1
𝐶 𝑛𝑟
𝑑 𝑗∈𝐶 𝑛𝑟
𝑑𝑗
Sec. 9.1.1
𝑞 𝑜𝑝𝑡 :最適クエリのベクトル 𝑎𝑟𝑔𝑚𝑎𝑥:[]の値を最小化する 𝑞 を求める関数、𝑠𝑖𝑚:6.10式、 𝐶𝑟, 𝐶 𝑛𝑟 :全て
の関連文書、非関連文書の集合
この計算式には全ての関連文章𝐶𝑟がわからないという問題がある
9.1.1ロッキオ最適なクエリのイメージ図
x
x
x
x
o
o
o
最適なクエ
リ
x 非関連文書
o 関連文書
o
o
o
x x
xx
x
x
x
x
x
x
x
x

x
x
Sec. 9.1.1
9.1.1 ポジティブフィードバック、ネガ
ティブフィードバック
𝑞 𝑚 = 𝛼 𝑞0 + 𝛽
1
𝐷𝑟
𝑑 𝑗∈𝐷 𝑟
𝑑𝑗 − 𝛾
1
𝐷 𝑛𝑟
𝑑 𝑗∈𝐷 𝑛𝑟
𝑑𝑗
一般的にポジティブの重みを優先すると良い
適合フィードバックはヲモチイルことで再現率・適合率ともに向上する
𝛼, :初期クエリベクトルの重み、 𝛽 :ポジティブの重み、𝛾 :ネガティブの重み
クエリと検索結果の文書の関連・非関連から新しいクエリを算出する
※最適なクエリは不明だが良さげなクエリはだせる
𝑞 𝑚 :変更されたクエリベクトル、 𝑞 𝑜 :元のクエリベクトル、 𝐷𝑟, 𝐷 𝑛𝑟:検索結果の関連文書と非関連文書
Relevance feedback on initial query
x
x
x
x
o
o
o
Revised
query
x known non-relevant documents
o known relevant documents
o
o
o
x
x
x
x
x
x
x
x
xx
x
x

x
x
Initial
query

Sec. 9.1.1
9.1.1 ポジティブフィードバック、ネガ
ティブフィードバック
𝑞 𝑚 = 𝛼 𝑞0 + 𝛽
1
𝐷𝑟
𝑑 𝑗∈𝐷 𝑟
𝑑𝑗 − 𝛾
1
𝐷 𝑛𝑟
𝑑 𝑗∈𝐷 𝑛𝑟
𝑑𝑗
関連・非関連文書が十分にあればαは小さくする
一般的にポジティブフィードバックのパラメータを大きくする
α = 1、β = 0.75、γ = 0.15
場合によっては
γ = 0でもよい
“Ide dec-hi”というアルゴリズムがよりらしい
9.1.2 確率的な適合フィードバック
ベクトルによる最適化手法でクエリの重み付けする方法以外にも
ナイーブベイズ確率モデルを使用できる
用語𝑡が関連しているか、していないかの確率
𝑃 𝑥 𝑡 = 1 𝑅 = 1) =
| 𝑉𝑅𝑡|
| 𝑉𝑅|
𝑃 𝑥 𝑡 = 0 𝑅 = 0) =
𝑑𝑓𝑡 − | 𝑉𝑅𝑡|
𝑁 − | 𝑉𝑅|
𝑁:文書の総数、 𝑑𝑓𝑡 :tを含む文章の数、𝑉 𝑅:既知の関連した文章の集合、
𝑉𝑅𝑡 : 𝑡を含んでいるこの集合の部分集合 詳細は11章
9.1.3適合フィードバックはいつ機能する
か?
適合フィードバックの前提1
• ユーザが適切なクエリを選択する知識を持っていること
問題 理由
ミススペル コレクション内の用語と違うとベクトル空間が異なる
他言語検索 同じ内容の文章でも言語が違うとベクトル空間が異なる
クエリと文章間で
の語彙の不一致
クエリがNotebookで文書がlaptopだとベクトル空間が異なるため失
敗する
適合フィードバックでは解決できない問題
9.1.3適合フィードバックはいつ機能する
か?
適合フィードバックの前提2
• 関連文章とユーザが関連するとした文書のベクトル空間が類似
している
問題 理由
異なる語彙 ビルマ対ミャンマー
宣言的 優先後
概念
9.1.3適合フィードバックはいつ機能する
か?
適合フィードバックの問題点
• ユーザのフィードバックに時間がかかる
• 計算に時間がかかる
• ユーザがフィードバックしてくれない
• ユーザの入力クエリと違うので、理解が難しいときがある
9.1.4ウェブの適合フィードバック
• 適合フィードバックは再現率をあげる手法だがウェブ検索ユー
ザはあまり再現率に関心がない
• Exciteで適合フィードバックを提供していたが廃止
• Googleにも類似ドキュメントがあるが現在はプラグイン扱い
• ウェブ検索では廃れている
• Stanfordの講義からも9章はなくなっている!
9.1.5 適合フィードバック戦略と評価
• 適合フィードバックはパフォーマンスが悪い
• 1、2回ていどの適合フィードバックは役に立つ
9.1.6 擬似適合フィードバック
• クエリのランキングから上位k個の文書が関連性があるとし、
適合フィードバックを行うだけ
• 雑な方法ですが、たいてい適合率は向上する
• ひどく間違ってしまうクエリもあります
• 上位k個が偏っていると、偏りが強調される
9.1.7 間接的な適合フィードバック
• 暗黙的な適合フィードバックとも呼ばれる
• ユーザのクリック率などを適合フィードバックとして利用する
• クリックストームマイニング
• スニペットで正しい内容かがわかるという前提がある
• 検索連動型広告やコンテンツマッチ広告の表示順の制御などに
利用される
• 擬似適合フィードバックよりは良い結果になる
9.1.8 まとめ
• 適合フィードバックは結果の関連性を改善することができる
• が、大部分の情報検索システムでは効率的とは言えない
• ユーザはめんどくさがり
• コストがかかる
• 前提条件がある
• 擬似適合フィードバックで同じくらい精度があがる
• 適合フィードバックのその他の用途
• 変化する要求の対応
• フィルタのメンテナンス
• アクティブラーニング
サンプル
9.1.8 まとめ
適合フィードバック 検索結果に対しユーザーから
Relevant / Non-relevant の入
力を受け取る
擬似適合フィードバック ユーザの入力なし。上位 K 個の
ドキュメントを Relevant であ
ると仮定し自動で RF
間接的な適合フィードバック 明示的なフィードバックではな
く間接的な情報を使った
9.2クエリ改良のためのグローバルな手法
手法 概要
適合フィードバック ユーザから文書に関連/非関連情報をフィードバックと
して受け取り。(次回の)用語の重み付けに使用されま
す。
クエリ拡張 クエリ拡張では、ユーザーは単語やフレーズに追加の入
力(良い/悪い検索語)を入力します
9.2クエリ改良のためのグローバルな手法
クエリ拡張のグローバルな手法
1. 単にユーザの行動を援助する
2. マニュアルシーソラスを用いる
3. 自動的にシーソランスを構築する
グローバルな手法とは:システム全体で適用するほうほう
手法 概要 対処方法
グローバル 静的 クエリや検索結果とは独立してクエリ中の言葉を変更す
る
ローカル 動的 クエリにマッチした文書との比較でクエリを調整する
9.2.1 クエリ改良のための語彙ツール
• ヤフー検索での関連検索ワード
9.2.1 クエリ改良のための語彙ツール
どのような検索をしたかをユーザに伝えることでユーザの理解を
助けることができる
ex サポートの例
• ストップワードによってクエリから削除された文字があるか
• ステミングされた語
• それぞれの語 および フレーズのヒット数
• いくつかの語が動的にフレーズとして形成されているか
シソーラスの使われ方、逆インデックスの用語リストユーザの理
解を助け、良いクエリを選ぶことができる
9.2.2 クエリ拡張
• 適合フィードバックは、クエリの用語の重み付けに利用される
• クエリ拡張は、クエリの単語または語句の追加入力を提供する
• クエリ拡張の問題は、代替クエリや関連クエリをどのよう生成
するか
• 一般的な方法はシソーラスを使う
9.2.2 シーソラス生成手法
手法 ベース 難易度
人力作成 時間時間がかかる
マニュアル 優先後
自動構築
クエリログマイニ
ング
Web検索向け
シソーラスベースはユーザの入力が不要
ローカルな手法もある
9.2.3 自動シソーラスの生成
二つの主要なアプローチがある
手法 概要 作り方
単語共起 定義1:2つの単語
が類似した単語と
共起する場合
term - term 類似度
同じ文章によく出てくる単語を共起とす
る
分法的解析 2つの単語が文法的
関係にある場合
And とか”や”と言った文法のルールを利用
You can harvest, peel, eat, prepare, etc.
apples and pears,
9.2.3 自動シソーラスの生成
• 再現率拡張に効果があるが、無関係な用語を導入する可能性が
あります。
• 「Apple Computer」を「 Apple red fruit compute 」
• 問題点
• 誤検知:似ていないと思われる単語
• 偽陰性:類似しているが類似していないと見なされた単語
• 検索対象の文章からシソーラスを生成した場合、クエリ拡張し
ても効果が出ない場合がある
まとめ
• 適合フィードバックは古い
• 間接的な適合フィードバックはログを使う
• クエリ拡張もログを使う
9.3 引用文献と参考図書
• クエリに関連するドキュメントでもドキュメントにクエリがが
含まれないことがある
“すべての関連文書、およびそれらの文章でのみ使用されている、正確
な単語、単語の組み合わせ、およびフレーズを予想することはユーザに
とって非常に困難である” (“it is impossibly difficult for users to predict the exact
words, word combinations, and phrases that are used by all (or most) relevant documents
and only (or primarily) by those documents”) Blair and Maron(1985)
• IIR9章まとめ
• http://pika-shi.hatenablog.com/entry/20111109/1320810476

情報検索の基礎 #9適合フィードバックとクエリ拡張