LSI法 Latent Semantic Indexing LSIとは ベクトル空間モデルではタームの生起が独立であることを仮定し て、各タームを一つの次元に対応させるベクトル空間を作った。し かし、実際にはターム間の独立性は保証されない。例えば、情報 検索の分野では「ベクトル」と「空間」は高い相関を持つことは容易 に予想できる。この問題への対策としては以下の2 点が重要 1.質問中のタームと共起するタームを検索に利用する方法 2.ベクトル空間の次元を下げる方法 多次元空間の統計量の次元を下げ、多数の変数からなる旧多次 元ベクトルの適当な重み付け線形和で表される新変数で置き換え る方法である。新変数が個別の旧変数より重要度の集約した変 数になるようにし、少ない変数で元の多次元ベクトル空間を近似 的に表す 例 マトリクスA D1 D2 D3 D4 D5 D6 1 0 1 0 0 0 宇宙旅行 0 1 0 0 0 0 惑星 1 1 0 0 0 0 車両 1 0 0 1 1 0 トラック 0 0 0 1 0 1 宇宙船 マトリクスAから分かること A の様子を見ると、宇宙船、宇宙飛行、惑星はD1 ;D2 ;D3 に関 連が高く、車両、トラックはD4 ;D5 ;D6 に関連が高いようである。 このような偏りを利用して、つまり宇宙船、宇宙飛行、惑星のよう な共起するタームを一つの次元まとめて次元を下げるという作業 を行なうわけである。 さて、次元を下げるということは当然情報の損失を伴うわけだが、 この損失を最小限にくいとめるために最小二乗誤差という考え方 で望む。 特異値分解(Singular Value Decomposition) LSI で用いる数学的しかけは特異値分解(Singular Value Decomposition: SVD) と呼ばれるものである。前記の文書 ター ムからなる頻度マトリクスA = (aij ) を次のように分解する。ここで、 aij はタームi が文書j に出現する頻度である。 A td Ttn Snn (Ddn ) T , T T T I, D T D I n = min(t; d) である。S は対角行列であり、その対角成分は左上 が最大で、以下、右下へ向けて降順に並んでいるとする。t <n の 場合にはA がこのように分解できることを保証するのがSVD の理 論の教えるところである。このような分解が一意的であることも証 明されている SVDの例 TtxnT t1 宇宙 宇宙 惑星 車両 トラッ 船 飛行 ク -0.44 -0.13 -0.48 -0.70 -0.26 t2 -0.30 -0.33 -0.51 0.35 0.65 t3 0.57 -0.59 -0.37 0.15 -0.41 t4 0.58 0.00 0.00 t5 0.25 0.73 -0.61 0.16 -0.58 0.58 -0.09 Snxn の例 2.16 1.59 1.28 1.00 0.39 新たな次元の例 S の第i 対角成分Sii は第i 次元の軸の分散である。よって、第i 成分 Siiは、第i 番目によくA の性質を表現している新しい次元のデータの 散らばりを表す。一番よくA の性質を表すt1 という次元は、T によれ ば、 t1 = -0.44 t( 宇宙船) -0.31 t( 宇宙飛行)-0.48 t( 惑星) -0.70 t( 車両)-0.25 t( トラック) などという式で表現される。ただし、t( タームX) はタームX の重みを 表す。 変換された新しい空間での類似度計算 ここで、質問中Q が含むタームとその重みからなるベクトル q = (q1 ,q2 , q3 , q4 , q5 ) Tで表されたとしよう。すると、SVD で変 換され T q n T t n q たn 次元空間(t1, t2, t3, t4, t5) に対してQのベクトルは 同様に文書D のベクトルも新しいn 次元空間での表現は、 D T T D n tn この両者に対して類似度sim(qn,Dn) を計算すれば質問に適合する 文書を順位付けることができる 次元を下げて計算量を減らす その1 しかし、これでは古い空間と同じ類似度計算を新しい空間に移して 同じことをやっただけであり、計算量が増えただけで面白くない。そこ で、いよいよ次元を下げる処理を導入する。 S のうちi が小さい方( つまりA の性質をよく反映している方) から小 数の次元だけを選んでやると、元のA より少ない次元で、そこそこに A の性質を保存することができる。例えば、S をk 次元( ただし、k ½ n) に縮退した にする。すなわち、 Sˆ を前の例を2 次元に縮退する なら、 Snn 2.16 0 1.59 0 これにあわせてTをtxnからtxkに、Dをdxnからdxkに縮退すると、Aの 近似が得られる。 ˆ td TtkSkk (Ddk ) T A この近似は元のAに対して最小自乗誤差であることがSVDによって 保証されている。 次元を下げて計算量を減らす その2 この縮小されたk 次元空間を使うと、質問Q のベクトルはk 次元ベク トル q T T q tk k この縮小されたk 次元空間を使うと、質問Q のベクトルはk 次元ベク トル D TT D k tk 、計算量はk/n に減る。さらにこの両者に対する類似度sim(qk,Dk) の計算のk2に比例する小さなものになる。その一方で、類似度は次 元を少なくしたが最小二乗誤差の意味で最適なものである。 これがLSI による類似度計算である。例えば、文書データベースに よっては総ターム数が103から場合によっては104ということもざらに ある。これをLSI の次元縮小によって200 次元まで縮退できれば、 計算量は大幅に低減できる。 次元を下げて計算量を減らす. その効用 実験によればLSI は再現率の改善に役立つとされる。これは、LSI によってひとつの文書A を特徴付けているタームtaが、別の文書B も特徴付けているとき、B を特徴付けている別のタームtb も新しい空 間では同じ次元に入ってくるからである。これによって、ta が直接特 徴付けていなかった文書だが、tb によって特徴付けられる文書も検 索結果に入ってくるから、結果として再現率改善に寄与するわけで ある。一方で、適合率は低下する可能性もあるわけである。 これを利用して、2つの言語A,BのコーパスをLSIでいっしょに処理す ると、言語Aのタームの言語Bの対訳タームが同じ次元に合流するこ とになる。これを利用してCLIRを行える LSI批判 転置インデクスが作れない 与えられたターム 文書のデータからSVD によってT を求め、新規の データに対しては、これによって質問と文書を変換して類似度計算を するのだが、システムの性能は元々のターム 文書のデータに依存 性が高く、さらにSVD が大変重い処理である 最小二乗誤差を最適化することは保証するので、正規分布には適 応している。しかし、実際のターム分布は正規分布とはいえず (Poisson 分布や二項分布では、よい近似になっていない。
© Copyright 2024 ExpyDoc