LSI法

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 td  Ttn Snn (Ddn ) 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
tn
 この両者に対して類似度sim(qn,Dn) を計算すれば質問に適合する
文書を順位付けることができる
次元を下げて計算量を減らす
その1
 しかし、これでは古い空間と同じ類似度計算を新しい空間に移して
同じことをやっただけであり、計算量が増えただけで面白くない。そこ
で、いよいよ次元を下げる処理を導入する。
 S のうちi が小さい方( つまりA の性質をよく反映している方) から小
数の次元だけを選んでやると、元のA より少ない次元で、そこそこに
A の性質を保存することができる。例えば、S をk 次元( ただし、k ½
n) に縮退した にする。すなわち、 Sˆ を前の例を2 次元に縮退する
なら、
Snn  2.16 0 
1.59
0
 これにあわせてTをtxnからtxkに、Dをdxnからdxkに縮退すると、Aの
近似が得られる。
ˆ td  TtkSkk (Ddk ) T
A
 この近似は元のAに対して最小自乗誤差であることがSVDによって
保証されている。
次元を下げて計算量を減らす
その2
 この縮小されたk 次元空間を使うと、質問Q のベクトルはk 次元ベク
トル q  T T q
tk
k
 この縮小されたk 次元空間を使うと、質問Q のベクトルはk 次元ベク
トル
D  TT D
k
tk
 、計算量は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 分布や二項分布では、よい近似になっていない。