Information Retrieval-12章
言語モデルで情報検索
言語モデルを情報検索に用いる流れは,
- 文書を生成モデルとみなして,クエリもそれによって生成されるものとする.
- 上の生成モデルを定義する.
- それを評価する.
- クエリを最も生成しそうな生成モデルである文書を見つけ出す.
- その文書を結果として返す.
と言った感じ.
言語モデル
まず言語モデルとはどういうものかについて.
有限オートマトンを思い出してもらって,
この図だと" I wish I wish I … "という言語列を持つ文書を生成する事ができる.
もちろん,こんなに簡単な文書は無いので,もっと複雑な確率で遷移するオートマトンを考えることになる.
Naive Bayesとの比較
- ナイーブベイズについてはまた後日詳しく.
ナイーブベイズについて
- 文書dを分類したい.
- 例えばクラスは地域(UK, China, Kenyaなど)といったものが考えられる.
- 生成モデルによって文書dが生成されたものと考える.
- どのクラスの生成モデルがその文書を生成したと考えられるか.(重要)
言語モデルについて
- クエリqを分類したい.
- それぞれの文書は異なるクラスに属すると考える.
- 生成モデルによってクエリqが生成されたものと考える.
- どの文書(つまりクラス)がそのクエリを生成したと考えられるか.(重要)
言語モデルを適用する
そのための手順.
- それぞれの文書を言語モデルとして扱う.
- 文書をでランキング.
- はクエリについてであるので,全ての文書に対して値は同じ → 無視.
- は全ての文書で等しいと見なすことが出来る → 無視.
- は文書dが与えられたときのクエリqが生成される確率(条件付き確率).
- ランキングはの値によるため,それを求めたい.
の求め方
-
- 但し,(はクエリqのk番目の語)で,は文書をモデル化したもの.
- ナイーブベイズにおいて条件付き独立であると仮定して計算する.
- 条件付き独立であるということは,それぞれの単語の出現確率が他の単語に影響されないということを表す.
- 参考:条件付き独立http://ibisforest.org/index.php?%E6%9D%A1%E4%BB%B6%E4%BB%98%E7%8B%AC%E7%AB%8B
- とも書ける.
- sは"distinct term t in q"を表す.
- 但し,はクエリqにおける単語tの出現頻度を表す.
- として計算される.
- もしあるひとつでもとなるtが存在すれば,となってしまう!
- スムージングする.
- と置き換える.
- 但し,は文書集合をモデル化したもの.
- 多項単純ベイズモデルと言われる.
∝
- モデル化したもの:ユーザーがは思い浮かべている文書があり,それからクエリを生成する.
- この方程式は,その文書の確率を示している.
言語モデルとベクトル空間モデルとの比較
- 結構似ている部分が多い
- なんかはどちらでも使われている.
- 確率,というものは長さの正規化に近い.
- とはに影響を与える.
- 文書集合内では珍しい単語がある文書で頻出ならば,その単語はランキングに重要である.
- 違うところは
以上.
texの書き方
普通に書いたらすごく汚くなってしまうので
http://d.hatena.ne.jp/repose/20110506/1304612242
を参照して画像として数式を貼り付けることにしました.