Leo Yeh's Blog

SAS 文字分析 (11)

教學目標

初步了解 SAS 文字分析的基本概念。(此篇主要為準備考試的心得筆記)

重點概念

首先文字分群節點將文件檔分群為不相交的文檔集,並且報告這些群集的描述性術語,主要有兩種演算法可供選擇,分別為期望最大化演算法 (Expectation Maximization Algorithm) 使用平面表示來分群文件檔,並且分層分群演算法 (Hierarchical Clustering Algorithm) 將分群群組為樹層次結構,這兩種方法都依賴於奇異值分解 (Singular Value Decomposition, SVD) 來將原始加權的術語-文檔頻率矩陣變換為密集但低維度的表示,請注意使用文字分析節點需要先使用資料來源、文字解析節點和文字過濾節點。

接著文字分群過程中最耗費記憶體的任務是計算加權逐個文件檔頻率矩陣的奇異值分解,當記憶體資源有限時,節點可能會使用文件檔的簡單隨機樣本而不是完整集合來嘗試成功執行節點,僅當節點在嘗試計算未經取樣的奇異值分解期間遇到記憶體故障時才會進行取樣。此外由於取樣通常在文件檔集合非常大時發生,因此通常不會對建模結果產生不利影響,當發生取樣時,確切取決於許多參數,包括集合的大小,執行系統的平台以及可用的記憶體。

再來解析文件檔集合將會生成術語-文件頻率矩陣,矩陣中每個術語表示術語在文件檔中出現的次數,對於數千個文件檔的集合,術語-文件頻率矩陣可以包含數十萬個單詞,其需要許多的計算時間和空間來有效地分析這個矩陣,並且處理高維資料本身就很難進行建模。此時為了改善性能我們可以透過奇異值分解減小術語-文件頻率矩陣的維度,所謂奇異值分解主要是將矩陣轉換為更低維度,更緊湊和豐富資訊的形式,大量的奇異值分解維度通常可以更好地總結資料,但是數字越大,所需的計算資源就越多,奇異值分解的計算本身就是一項占用大量記憶體的任務,對於非常大的問題,奇異值分解可能會自動執行文件檔的隨機樣本,以避免奇異值分解不足,當發生這種情況時會將已進行取樣的資訊寫入 SAS 日誌中。

最後分群技術主要有期望最大化演算法和分層分群演算法。所謂期望最大化演算法主要是假設混合模型,在文本群集節點中期望最大化演算法是一個迭代過程,至於所謂分層分群演算法主要是當文字分群節點對於文件檔向量執行層次分群時,它將獲取一組初始種子,然後節點生成結果樹,在此樹中父集群始終包含至少兩個子節點,子節點本身是葉子或具有子樹。此外文字分析節點使用描述性術語演算法來描述期望最大化演算法和分層分群演算法的內容,若指定為每個分群群集顯示 m 個描述性術語,則每個群集中最常出現的 2 * m 個最常用術語用於計算描述性術語。

相關資源

⬅️ Go back