第二章 文獻探討
第二節 潛在語意分析
潛在語意分析又稱「潛在語意索引」(Latent Semantic Indexing),以線性轉換
SVD(singular value decomposition,SVD)為理論基礎,藉由 SVD 將原始由 Word-by-Context 組成的向量空間,轉換到另一個由特徵向量(eigenvector)所組成 的語意空間(semantic Space),因此,即首先說明 SVD 的原理與功用。
一、SVD 運作原理
SVD 是數學矩陣的分解技術,能將一個高維度的矩陣 Amxn,rank(A)=r,拆 解成三個矩陣相乘 Um x rS r x rVTr x n,其中 S=diag(σ1.. σr),且σ1≧σ2≧…≧σr
>0;U 和 V 為正交(orthonormal)矩陣,U 的行向量稱為左奇異向量(Left singular
value),V 的行向量稱為右奇異向量(Right singular value),其正交矩陣定義如下:
⎩⎨
分解後的矩陣可配對成
A
=U
(SV
T)=(US
)V
T,其特性就是 U 的行向量為SV
T 語意空間的基向量(basis vector),由多個詞彙組成,愈常同時出現在同一文件 中的詞彙,就愈容易成為潛在語意空間的基向量;v
j∈V
, Sv 表示文件投影
j精準。至於適當的 k 值應該取多少,並沒有理論上的最佳值。 Yates, 1992):
S
1. 餘弦函式(cosin)
3. overlap Coefficient(Rijsbergen, 1979)
此評分函式中文名稱為重疊係數,顧名思義就是考慮兩向量重疊的部份,公
4. dice Coefficient(Dice 1945,Frakes and Baeza Yates, 1992)
5. jaccard Coefficient (Jaccard ,1908,Salton and McGill, 1983)
此為 Jaccard 在 1908 年所提出用來檢定兩數列的相關程度,Salton and McGill 於 1983 年第一次引進於資訊檢索技術中,與 dice 最大的不同,就是將共同的部
以下利用實例說明 LSA 的運作流程(Landauer, Foltz, &Laham, 1998):
假設有九篇文件如圖 3,其中 c1~c5 與人機互動(Human Computer Interaction, HCI)有關,m1~m4 與數學圖形理論(Mathematical Graph Theory)有關。
Example of text data: Titles of Some Technical Memos
c1: Human machine interface for ABC computer applications c2: A survey of user opinion of computer system response time c3: The EPS user interface management system
c4: System and human system engineering testing of EPS
c5: Relation of user perceived response time to error measurement m1: The generation of random, binary, ordered trees
m2: The intersection graph of paths in trees
m3: Graph minors IV: Widths of trees and well-quasi-ordering m4: Graph minors: A survey
圖 3 技術文件的標題
U =
human 0.22 -0.11 0.29 -0.41 -0.11 -0.34 0.52 -0.06 -0.41 interface 0.2 -0.07 0.14 -0.55 0.28 0.5 -0.07 -0.01 -0.11 computer 0.24 0.04 -0.16 -0.59 -0.11 -0.25 -0.3 0.06 0.49
3. 維度約化 k
假設取 k=2 做為計算。
4. 相似度計算
如要計算詞彙間的相似度,例 user 和 human、user 和 survey,利用圖 4 矩 陣 U 兩個列向量的餘弦求得相似度,比對表 1 中使用原始矩陣 A 相似度,結果 如表 2:
表 2 利用新舊矩陣所得到的辭彙相似度之比較
原始矩陣 A 轉化後 user 和 human 的相似度 0 0.887846 user 和 survey 的相似度 0.57735 0.775233
由上例可知,雖然 user 和 human 未出現在同一篇文件,但利用 LSA 可得到 其相似程度高於 user 和 survey 的相似度。
如要計算文件間相似度,例 c1 和 c5、c1 和 m1,利用圖 4 矩陣
V 兩個行向
T 量的餘弦求得相似度,比對表 1 中使用原始矩陣 A 相似度,結果如表 3:表 3 利用新舊矩陣所得到的文件相似度之比較
矩陣類別
文件編號 原始矩陣 A 轉化後
c1 和 c5 0 0.907648 c1 和 m1 0 -0.22243
五、摺入(fold in)演算法
潛在語意分析模型要做新文件相似度比對時,需將新文件的向量轉化到潛在 語意空間內的向量,有兩種作法:第一種為重新計算 SVD,其缺點是每次新文件
之比對需要耗費繁瑣的計算在處理 SVD 上,因此較不被採用;第二種為新文件