Latent Semantic Analysis(LSA)

對於一個term-document加權詞頻矩陣(如TF-IDF),如果他的規模m*n非常大,那麼這些文本的存儲還有計算聚類都會有不小的麻煩,LSA採用SVD分解將高維文本映射到低維的隱含語義空間,較好的解決了這個問題。

分解後的三部分都有解釋,U*sigma的每行都是每個單詞在隱含語義層的座標,V*sigma的每行都是每個文本在隱含語義層的座標,另外也有一種說法就是U,V分別爲單詞和文本在潛語義空間的座標,其實,因爲sigma是一個對角矩陣,U*sigma空間只是對U空間的每一個軸做了一個伸展或者收縮。

當我們進行矩陣SVD分解後分別求出U,sigma,V,我們接下來能做什麼呢?

1 計算任意兩個文本的相似度,原來我我們要對兩個長度爲m的文本向量進行相似度計算,現在只需要對長度爲r(r爲sigma方陣的大小)的向量進行計算,只需要計算V*sigma矩陣的任意兩行的相似度即可。

2 當新來一個文本時d,我們先求出它在隱含語義層的座標,然後用相似度可以尋找與他最相似的文本。

3 可以根據降維後的特徵進行文本聚類,相似度計算按照cosine夾角即可。

4 也可以對單詞計算隱含語義層的座標,然後進行相似度計算聚類等操作。

值得說明的一點是,LSA較好的解決了多個單詞同一個意義的問題,但是並不能解決一個單詞多個意思的問題,PLSA模型能解決這個問題。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章