潛在語義分析LSA

2021-09-28 22:11:00 字數 3061 閱讀 6586

lsa和傳統向量空間模型(vector space model)一樣使用向量來表示詞(terms)和文件(documents),並通過向量間的關係(如夾角)來判斷詞及文件間的關係;不同的是,lsa 將詞和文件對映到潛在語義空間,從而去除了原始向量空間中的一些「噪音」,提高了資訊檢索的精確度。

(1)一詞多義

比如bank 這個單詞如果和mortgage, loans, rates 這些單詞同時出現時,bank 很可能表示金融機構的意思。可是如果bank 這個單詞和lures, casting, fish一起出現,那麼很可能表示河岸的意思。

(2)一義多詞

比如使用者搜尋「automobile」,即汽車,傳統向量空間模型僅僅會返回包含「automobile」單詞的頁面,而實際上包含「car」單詞的頁面也可能是使用者所需要的。

通過對大量的文字集進行統計分析,從中提取出詞語的上下文使用含義。技術上通過svd分解等處理,消除了同義詞、多義詞的影響,提高了後續處理的精度。

流程:(1)分析文件集合,建立詞彙-文字矩陣a。

(2)對詞彙-文字矩陣進行奇異值分解。

(3)對svd分解後的矩陣進行降維

(4)使用降維後的矩陣構建潛在語義空間

svd分解,即奇異值分解,聽起來很高大上,其實就是將乙個矩陣用其他幾個矩陣的乘積來表示。假設有 m×n 的矩陣 a,那麼 svd 就是要找到如下式的這麼乙個分解,將 a分解為 3 個矩陣的乘積:

a m x n = um x k x ∑ k x k x vk x n

t性質:對於奇異值,它跟我們特徵分解中的特徵值類似,在奇異值矩陣中也是按照從大到小排列,而且奇異值的減少特別的快,在很多情況下,前10%甚至1%的奇異值的和就佔了全部的奇異值之和的99%以上的比例。也就是說,我們也可以用最大的k個的奇異值和對應的左右奇異向量來近似描述矩陣。即矩陣a只需要灰色的部分的三個小矩陣就可以近似描述了

![在這裡插入描述](

由於這個重要的性質,svd可以用於pca降維,來做資料壓縮和去噪。也可以用於推薦演算法,將使用者和喜好對應的矩陣做特徵分解,進而得到隱含的使用者需求來做推薦。同時也可以用於nlp中的演算法,比如潛在語義索引(lsi)。

先上圖

![在這裡插入描述](

(1)詞彙-文字矩陣a是乙個稀疏矩陣,其行代表詞語,其列代表文件。一般情況下,詞-文件矩陣的元素是該詞在文件中的出現次數,也可以是是該詞語的tf-idf(term frequency–inverse document frequency)。

(2)小矩陣x是對詞進行分類的乙個結果,它的每一行表示乙個詞,每一列表示乙個語義相近的詞類,這一行中每個非零元素表示每個詞在每個語義類中的重要性(或者說相關性)

如: x =

[0.7 0.15

0.22 0.49

0.3 0.03]

則第乙個詞和第乙個語義模擬較相關,第二個詞正好相反,第三個詞與兩個語義都相關性都不強。

如b =

[0.7 0.21

0.18 0.63]

則第乙個詞的語義類和第乙個主題相關,和第二個主題沒有太多關係,第二個詞的語義類則相反

矩陣y是對文字進行分類的乙個結果,它的每一行表示乙個主題,每一列表示乙個文字,這一列每個元素表示這篇文字在不同主題中的相關性

如y =

[0.7 0.15 0.22

0 0.92 0.08]

(3)在構建好詞-文件矩陣之後,lsa將對該矩陣進行降維,來找到詞-文件矩陣的乙個低階近似。降維的原因有以下幾點:

a. 原始的詞-文件矩陣太大導致計算機無法處理,從此角度來看,降維後的新矩陣式原有矩陣的乙個近似。

b. 原始的詞-文件矩陣中有噪音,從此角度來看,降維後的新矩陣式原矩陣的乙個去噪矩陣。

c. 原始的詞-文件矩陣過於稀疏。原始的詞-文件矩陣精確的反映了每個詞是否「出現」於某篇文件的情況,然而我們往往對某篇文件「相關」的所有詞更感興趣,因此我們需要發掘乙個詞的各種同義詞的情況。

降維的結果是不同的詞或因為其語義的相關性導致合併,如:

-->

將維可以解決一部分同義詞的問題,也能解決一部分二義性問題。具體來說,原始詞-文件矩陣經過降維處理後,原有詞向量對應的二義部分會加到和其語義相似的詞上,而剩餘部分則減少對應的二義分量。

低維的語義空間可以用於以下幾個方面:

在低維語義空間可對文件進行比較,進而可用於文件聚類和文件分類。

在翻譯好的文件上進行訓練,可以發現不同語言的相似文件,可用於跨語言檢索。

發現詞與詞之間的關係,可用於同義詞、歧義詞檢測。.

通過查詢對映到語義空間,可進行資訊檢索。

從語義的角度發現詞語的相關性,可用於「選擇題回答模型」(multi choice qustions answering model)。

1)低維空間表示可以刻畫同義詞,同義詞會對應著相同或相似的主題。

2)降維可去除部分雜訊,是特徵更魯棒。

3)充分利用冗餘資料。

4)無監督/完全自動化。

5)與語言無關。

1)lsa可以處理向量空間模型無法解決的一義多詞(synonymy)問題,但不能解決一詞多義(polysemy)問題。因為lsa將每乙個詞對映為潛在語義空間中的乙個點,也就是說乙個詞的多個意思在空間中對於的是同乙個點,並沒有被區分。

2)svd的優化目標基於l-2 norm 或者 frobenius norm 的,這相當於隱含了對資料的高斯分布假設。而 term 出現的次數是非負的,這明顯不符合 gaussian 假設,而更接近 multi-nomial 分布。

3)特徵向量的方向沒有對應的物理解釋。

4)svd的計算複雜度很高,而且當有新的文件來到時,若要更新模型需重新訓練。

5)沒有刻畫term出現次數的概率模型。

6)對於count vectors 而言,歐式距離表達是不合適的(重建時會產生負數)。

7)維數的選擇是ad-hoc的。

8)lsa具有詞袋模型的缺點,即在一篇文章,或者乙個句子中忽略詞語的先後順序。

9)lsa的概率模型假設文件和詞的分布是服從聯合正態分佈的,但從觀測資料來看是服從泊松分布的。因此lsa演算法的乙個改進plsa使用了多項分布,其效果要好於lsa。

參考資料

潛在語義分析 LSA

潛在語義分析 latent semantic analysis,lsa 是一種無監督學習方法,主要用於文字的話題分析,其特點是通過矩陣分解發現文字與單詞之間的基於話題的語義關係。潛在語義分析由deerwester 1990年提出,最初應用於文字資訊檢索,所以也被稱為潛在語義索引 latent sem...

機器學習 潛在語義分析LSA和PLSA

3.plsa 基於概率的lsa 在自然語言處理nlp領域中,詞袋模型 bag of words,bow 是經典的模型之一。它考慮所有的詞彙都裝在乙個袋子中,任何一篇文件中的單詞都可以用袋子中的詞彙來描述。如果有10萬個詞彙,那麼每篇文件都可以表示為乙個10萬維的向量。得到文件向量之後,我們通過可以通...

潛在語義分析對認知科學的啟示

潛在語義分析技術對認知科學以及虛擬實境系統的設計也具有啟示 首先,由於lsa 可以用數學方法實現對文字的理解,所以可採用lsa 分析人對文字的理解。認知領域中,文字理解研究的主要目標是發現影響讀者由文字材料提取資訊和保留資訊的能力的諸多因素。通常採用讓被試者閱讀材料,然後讓他們回答問題或寫一篇進行總...