NLP传统基础(3)---潜在语义分析LSA主题模型---SVD得到降维矩阵
https://www.jianshu.com/p/9fe0a7004560
一、簡單介紹
LSA和傳統向量空間模型(vector space model)一樣使用向量來表示詞(terms)和文檔(documents),并通過向量間的關系(如夾角)來判斷詞及文檔間的關系;不同的是,LSA 將詞和文檔映射到潛在語義空間,從而去除了原始向量空間中的一些“噪音”,提高了信息檢索的精確度。
二、文本挖掘的兩個方面應用
(1)分類:
a.將詞匯表中的字詞按意思歸類(比如將各種體育運動的名稱都歸成一類)
b.將文本按主題歸類(比如將所有介紹足球的新聞歸到體育類)
(2)檢索:用戶提出提問式(通常由若干個反映文本主題的詞匯組成),然后系統在數據庫中進行提問式和預存的文本關鍵詞的自動匹配工作,兩者相符的文本被檢出。
三、文本分類中出現的問題
(1)一詞多義
比如bank 這個單詞如果和mortgage, loans, rates 這些單詞同時出現時,bank 很可能表示金融機構的意思。可是如果bank 這個單詞和lures, casting, fish一起出現,那么很可能表示河岸的意思。
(2)一義多詞
比如用戶搜索“automobile”,即汽車,傳統向量空間模型僅僅會返回包含“automobile”單詞的頁面,而實際上包含“car”單詞的頁面也可能是用戶所需要的。
四、LSA原理
通過對大量的文本集進行統計分析,從中提取出詞語的上下文使用含義。技術上通過SVD分解等處理,消除了同義詞、多義詞的影響,提高了后續處理的精度。
流程:
(1)分析文檔集合,建立詞匯-文本矩陣A。
(2)對詞匯-文本矩陣進行奇異值分解。
(3)對SVD分解后的矩陣進行降維
(4)使用降維后的矩陣構建潛在語義空間
五、應用
低維的語義空間可以用于以下幾個方面:
在低維語義空間可對文檔進行比較,進而可用于文檔聚類和文檔分類。
在翻譯好的文檔上進行訓練,可以發現不同語言的相似文檔,可用于跨語言檢索。
發現詞與詞之間的關系,可用于同義詞、歧義詞檢測。.
通過查詢映射到語義空間,可進行信息檢索。
從語義的角度發現詞語的相關性,可用于“選擇題回答模型”(multi choice qustions answering model)。
六、LSA的優點
1)低維空間表示可以刻畫同義詞,同義詞會對應著相同或相似的主題。
2)降維可去除部分噪聲,是特征更魯棒。
3)充分利用冗余數據。
4)無監督/完全自動化。
5)與語言無關。
七、LSA的缺點
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。
總結
以上是生活随笔為你收集整理的NLP传统基础(3)---潜在语义分析LSA主题模型---SVD得到降维矩阵的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 商贷怎么用公积金月冲
- 下一篇: MATLAB 长度和像素_MATLAB—