抄訳 Indexing by Latent Semantic Analysis (1990)
March 4, 2023特異値分解を応用した潜在的な意味にもとづく文書検索の手法である。 文書を、単語の出現回数が成分の列ベクトルとしてあつかう。 その列ベクトルからなる文書集合の行列に特異値分解(Singular Value Decomposition, SVD)を適用する。 大きい順に\(k\)個の特異値とその特異ベクトルを選んで、低ランクの行列をつくり、もとの行列を近似する。 単語の数が\(t\), 文書数が\(d\)のとき、低ランクの行列の左特異ベクトルの行列\(T\)と右特異ベクトルの転置行列\(D'\)のサイズは、それぞれ、\(t\times k\), \(k \times d\)になる。
クエリで文書を検索するときは、クエリを文書とみなす。 文書のベクトル\(X_q\)をつくり、特異値を要素とする対角行列を\(S\)として、クエリの分散表現\(D_q\)を\(D_q=X_q’TS^{-1}\)として計算し、\(D_q\)とコサイン類似度の近い文書をクエリに関連する文書とみなす。
クエリと文書だけでなく、単語同士、文書同士、単語と文書の関係を比較することもできる。 \(\textit{Xhihat}=TSD'\)とすると、\(\textit{Xhihat}\)の2つ行のドット積は、文書集合における2単語の出現パターンの類似度を反映する。 このとき、\(\textit{Xhihat}\textit{Xhihat}'=TS^2T'\)は、各単語のペアの類似度を示す行列になる。 同様に、文書同士であれば、\(\textit{Xhihat}'\textit{Xhihat}=DS^2D'\)を求めればよい。 単語と文書の関係であれば、\(t\times d\)のサイズの行列\(\textit{Xhihat}\)の成分そのものが、文書と単語の関係を示す。
雑記
直交行列\(P\)では\(P^{-1}=P'\)がなりたつので、\(D_q=X_q’TS^{-1}\)となる。 単語の出現回数を成分にするので、同じ話題の文書でも、文書の長さが違うと類似とみなされない気がした。
論文のリンク