IIR (Introduction to Information Retrieval) 勉強会 #10

今日は IIR (Introduction to Information Retrieval) 勉強会の10回目。

- Introduction to Information Retrieval
-- http://www-csli.stanford.edu/~hinrich/information-retrieval-book.html
今までの復習資料(by naoyaさん)は以下です。
# いつもいつも良い感じの資料です。是非ご一読を!

http://bloghackers.net/~naoya/iir/ppt/

9章の今回「Relevance feedback and query expansion」は、
適合性フィードバック(関連フィードバック、関連性フィードバック)とクエリ拡張がテーマ。
# そのままですね。

いつもどおり、メモだけですが貼っておきます。

9.1 Relevance feedback and pseudo relevance feedback グローバルメソッド 全体のデータや、他の資源をもとに拡張や変形をおこなう ローカルメソッド クエリにマッチした文書を元に拡張や変形を行なう 適合性フィードバックの典型的なシナリオは以下のような感じ。 ・ユーザから与えられたクエリを元に、システムが検索結果を返す。 ・ユーザは検索結果が自分の意図と関連してるか、していないかをマークできる。 ・システムはユーザのフィードバックに基づいて、文書のスコアを再計算する。 ・再計算の結果、上位に来た文章のセットを再度提示する。 イメージサーチは適合性フィードバックを有効活用できる好例。 9.1.1 Rocchio algorithm 適合文書ベクトルの重心と不適合文書ベクトルの重心の差の 大きさでシステムの検索結果の質を評価しようとすると、 適合文書集合が全て分かっている必要があるので、 この手法は現実には利用できない。 ということでRocchio algorithmを使う場合が多い。 良くあるパラメタは、α=1、β=0.75、γは0.15 一般的に、適合フィードバックは不適合フィードバックよりも より良い結果を得るのに役立つのが知られている。 不適合フィードバックについては、不適合のうち 提示した順序の中で一番上位のものを見ると良いでしょう。 9.1.2 Probabilistic relevance feedback Naive Bayes統計モデルを使うのが良いかも。 文書xに単語tがあらわれる時をx_t = 1と表す。 x_t = 1となる確率を考えてみる。 P(x_t = 1)の時は、以下のような2通りである。 P(x_t = 1 | R = 1) = |VR_t| / |VR| P(x_t = 1 | R = 0) = (df_t - |VR_t|) / (N - |VR|) まぁ、詳しくは11章と13章に丸投げ。 9.1.3 When does relevance feedback work? RF単体では、効果的ではないケースは以下の3つ 1、ミススペリング。ユーザがミスしたらどうしようもない。 例、マリオが乗っかるYoshiをYossiで検索してもね。 2、言語横断検索。違う言語で書かれている文書は、同じ単語が同じ表層で書いてあっても、 ベクトル空間で離れる。 例、chocolate、チョコレート 3、文書コレクション検索者の語彙のミスマッチ。 そもそも文書がヒットしない場合がある。 例、たとえばrelevanceを適合と訳すか、関連と訳すか とはいえ、RFはユーザに気に入られるか分からない。 9.1.4 Relevance feedback on the web RFはあんまりWeb検索で使われなかった。 RFは平均的なユーザに説明しづらい。 RFは再現率を高めるアプローチ。 ほとんどのユーザは、検索結果のTop10しか見ない。 いろいろシステム側にとって辛い条件が揃っている。 9.1.5 Evaluation of relevance feedback strategies 適合フィードバックは、ユーザがフィードバックを行なう際に 使った文書は評価に使わないべきである。 そうすると2回目の評価セットに、適合する文書が含まれる数が減ってしまい、 良い評価結果がでないのは自明な感じがする。 そのため単純にはRFがある場合と無い場合の違いの評価は難しい。 その不具合に対処するには、最初から文書セットを2つに分けると良いかもしれない。 RFに関する評価の際には、ユーザに対して検索時間に関する調査をすれば良いかも。

9.2 Global methods for query reformulation 9.2.1 Vocabulary tools for query reformulation どのような仕組みによるかは手法により様々ですが、 検索システムが、検索語を推薦することで、ユーザが 文書集合に含まれる、検索に使う上で良い語を見つけられるのは便利。 9.2.2 Query expansion クエリ拡張の単純な方法はシソーラスの使用。 同義語や類義語を利用し、それらの語に、オリジナルの語よりも 低い重みを割り振り、クエリを構築するのは基本的な手法。 YahooやGoogleでも、クエリをユーザが対話的に拡張できる。 PubMedは自動的にクエリを拡張する。 クエリの拡張を自動的に行なうか、対話的に行なうかは、 目的や用途によって違うし、ユーザ層によっても買えるべき。 クエリ拡張には、人手で構築したシソーラス、 自動構築した共起ベースの統計的に自動構築したシソーラス。 クエリのログ、などを使うことが考えられる。 ユーザの入力は未だに必要なもの。 9.2.3 Automatic thesaurus generation 単純には、語の共起を使う。 共起頻度を見つかる語の大半について計算しておくのがシンプル。 より頑健な手法としては、文法構造(関係、依存構造)を使うと良い。 語と語の類似度は、単語-文書ベクトル間の内積を計算することで算出できる。 18章ではLSIについて言及するよ。 いろいろあったけど、まー、クエリ拡張の方がユーザが理解しやすいと思うけど、 疑似RFの方が効果があるような気がするなーということを主張してる。

輪読終了後に、関連する話題について、たつをが話してくれました。

たつをさんのトーク。 シンプソン係数を10万語に対して算出したいとき 10万×10万回の計算をするのは無茶。 ある語に対するWeb検索のスニペットから、計算する語の候補を得て、 それらに関する計算だけを行なうとリーズナブル。 とはいえ、こういうやり方より言語構造を使って抽出するのが、一番楽。 語と語の間の関連性が何かも、言語構造から探すと良い。 でも関係性は一般的に爆発するので、対処が必要。 検索ログをみんなが使えないからWikipediaを使うのが良いのでは。 スパムメールの判定を例にNB分類器の話を。

あと、13回までの担当者がきまりましたー。
</div>


関連するエントリ

[2008-07-04-1] IIR (Introduction to Information Retrieval) 勉強会 #10 のエントリ
[-] 1
投稿者:としのり  日時:23:59:59 | コメント | トラックバック |
blog comments powered by Disqus