潜在语义分析(Latent Semantic Analysis,LSA)
文章目錄
- 1. 單詞向量空間、話題向量空間
- 1.1 單詞向量空間
- 1.2 話題向量空間
- 2. 潛在語(yǔ)義分析算法
- 2.1 例子
- 3. 非負(fù)矩陣分解算法
- 4. TruncatedSVD 潛在語(yǔ)義分析實(shí)踐
- 一種無(wú)監(jiān)督學(xué)習(xí)方法,主要用于文本的話題分析
- 其特點(diǎn)是通過(guò)矩陣分解發(fā)現(xiàn)文本與單詞之間的基于話題的語(yǔ)義關(guān)系
- 最初應(yīng)用于文本信息檢索,也被稱為潛在語(yǔ)義索引(latent semantic indexing,LSI),在推薦系統(tǒng)、圖像處理、生物信息學(xué)等領(lǐng)域也有廣泛應(yīng)用
文本信息處理中:
- 傳統(tǒng)的方法以單詞向量表示文本的語(yǔ)義內(nèi)容,以單詞向量空間的度量表示文本之間的語(yǔ)義相似度
- 潛在語(yǔ)義分析 旨在 解決這種方法不能準(zhǔn)確表示語(yǔ)義的問(wèn)題,試圖從大量的文本數(shù)據(jù)中發(fā)現(xiàn)潛在的話題
- 以話題向量表示文本的語(yǔ)義內(nèi)容,以話題向量空間的度量更準(zhǔn)確地表示文本之間的語(yǔ)義相似度
潛在語(yǔ)義分析使用的是非概率的話題分析模型
- 將文本集合表示為單詞-文本矩陣
- 對(duì)單詞-文本矩陣進(jìn)行奇異值分解,從而得到話題向量空間,以及文本在話題向量空間的表示
非負(fù)矩陣分解(non-negative matrix factorization,NMF)是另一種矩陣的因子分解方法,其特點(diǎn)是分解的矩陣非負(fù)。非負(fù)矩陣分解也可以用于話題分析。
1. 單詞向量空間、話題向量空間
1.1 單詞向量空間
文本信息處理的一個(gè)核心問(wèn)題是對(duì)文本的語(yǔ)義內(nèi)容進(jìn)行表示,并進(jìn)行文本之間的語(yǔ)義相似度計(jì)算。
- 利用向量空間模型(vector space model,VSM),也就是單詞向量空間模型(word vector space model)。
- 基本想法:用一個(gè)向量表示文本的“語(yǔ)義”,向量的每一維對(duì)應(yīng)一個(gè)單詞,其數(shù)值為該單詞在該文本中出現(xiàn)的頻數(shù)或權(quán)值
- 基本假設(shè):
文本中所有單詞的出現(xiàn)情況表示了文本的語(yǔ)義內(nèi)容;
文本集合中的每個(gè)文本都表示為一個(gè)向量,存在于一個(gè)向量空間;
向量空間的度量,如內(nèi)積或標(biāo)準(zhǔn)化內(nèi)積表示文本之間的“語(yǔ)義相似度”。
- 單詞文本矩陣是稀疏矩陣,元素為頻數(shù)或權(quán)值
- 權(quán)值:常用單詞頻率-逆文本頻率(term frequency-inverse document frequency,TF-IDF)表示,其定義是
單詞向量空間模型的優(yōu)點(diǎn):
- 是模型簡(jiǎn)單,計(jì)算效率高。因?yàn)閱卧~向量通常是稀疏的,兩個(gè)向量的內(nèi)積計(jì)算只需要在其同不為零的維度上進(jìn)行即可,需要的計(jì)算很少,可以高效地完成
單詞向量空間模型也有一定的局限性:
- 內(nèi)積相似度未必能夠準(zhǔn)確表達(dá)兩個(gè)文本的語(yǔ)義相似度上
- 因?yàn)樽匀徽Z(yǔ)言的單詞具有一詞多義性(polysemy)及多詞一義性(synonymy),所以基于單詞向量的相似度計(jì)算存在不精確的問(wèn)題
1.2 話題向量空間
話題(topic),就是指文本所討論的內(nèi)容或主題。
- 一個(gè)文本一般含有若干個(gè)話題
- 如果兩個(gè)文本的話題相似,那么兩者的語(yǔ)義應(yīng)該也相似
- 話題由若干個(gè)語(yǔ)義相關(guān)的單詞表示
- 同義詞(如“airplane”與“aircraft”)可以表示同一個(gè)話題
- 而多義詞(如“apple”)可以表示不同的話題
這樣,基于話題的模型就可以解決上述基于單詞的模型存在的問(wèn)題。
定義一種話題向量空間模型(topic vector space model)
- 給定一個(gè)文本,用話題空間的一個(gè)向量表示該文本,該向量的每一分量對(duì)應(yīng)一個(gè)話題,其數(shù)值為該話題在該文本中出現(xiàn)的權(quán)值
- 用兩個(gè)向量的內(nèi)積或標(biāo)準(zhǔn)化內(nèi)積表示對(duì)應(yīng)的兩個(gè)文本的語(yǔ)義相似度
- 注意話題的個(gè)數(shù)通常遠(yuǎn)遠(yuǎn)小于單詞的個(gè)數(shù),話題向量空間模型更加抽象
- 潛在語(yǔ)義分析正是構(gòu)建話題向量空間的方法(即話題分析的方法)
- 單詞向量空間模型與話題向量空間模型互為補(bǔ)充,兩者可以同時(shí)使用
單詞-文本矩陣XXX 近似為:單詞-話題矩陣TTT & 話題-文本矩陣YYY 的乘積形式,X≈TYX \approx TYX≈TY
2. 潛在語(yǔ)義分析算法
潛在語(yǔ)義分析 利用 矩陣奇異值分解(SVD),對(duì)單詞-文本矩陣進(jìn)行奇異值分解
- 左矩陣 作為話題向量空間
- 對(duì)角矩陣 與 右矩陣的乘積 作為 文本在話題向量空間的表示
潛在語(yǔ)義分析 根據(jù) 確定的話題個(gè)數(shù)k 對(duì)單詞-文本矩陣XXX進(jìn)行截?cái)嗥娈愔捣纸?br />
2.1 例子
3. 非負(fù)矩陣分解算法
非負(fù)矩陣分解 也可以用于 話題分析
- 對(duì)單詞-文本矩陣進(jìn)行非負(fù)矩陣分解
- 左矩陣作為話題向量空間
- 右矩陣作為文本在話題向量空間的表示。注意通常單詞-文本矩陣是非負(fù)的(所有元素 >= 0)
定義:找到兩個(gè)非負(fù)矩陣乘積近似表示一個(gè)非負(fù)矩陣
X≈WH,X≥0,W≥0,H≥0X \approx WH,X \ge 0, W\ge 0, H \ge 0X≈WH,X≥0,W≥0,H≥0
WWW 為基矩陣,表示話題空間,HHH 為系數(shù)矩陣,是文本在話題空間的表示。
非負(fù)矩陣分解 旨在 用較少的基向量、系數(shù)向量 來(lái) 表示較大的數(shù)據(jù)矩陣
非負(fù)矩陣分解 可以表為以下的最優(yōu)化問(wèn)題:
min?∣∣X?WH∣∣2st.W,H≥0\min ||X-WH||^2\\ st. \quad W,H \ge 0min∣∣X?WH∣∣2st.W,H≥0
非負(fù)矩陣分解的算法是迭代算法
- 乘法更新規(guī)則的迭代算法,交替地對(duì)WWW和HHH進(jìn)行更新。
- 本質(zhì)是梯度下降法,通過(guò)定義特殊的步長(zhǎng)和非負(fù)的初始值,保證迭代過(guò)程及結(jié)果的矩陣WWW和HHH均為非負(fù)
4. TruncatedSVD 潛在語(yǔ)義分析實(shí)踐
基于sklearn.decomposition.TruncatedSVD的潛在語(yǔ)義分析實(shí)踐
總結(jié)
以上是生活随笔為你收集整理的潜在语义分析(Latent Semantic Analysis,LSA)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: LeetCode 624. 数组列表中的
- 下一篇: LeetCode 167. 两数之和 I