SAS Text Analytics

SAS 文字分析 (12)

教學目標

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

重點概念

首先透過文字主題節點我們可以根據已發現和使用者定義的主題自動關聯術語和文件檔,從而探索文件檔集合,主題是描述和表徵主題或想法的術語集合。該方法與群集不同,因為群集會將每個文檔分配給唯一的群組,但是文字主題節點為每個主題的每個文檔和術語分配一個分數,然後使用門檻值來確定關聯是否足夠強大以考慮文件檔或術語是否屬於該主題。因此文件檔和術語可以屬於多個主題,也可以不屬於任何主題,我們請求的主題數應與文件檔集的大小直接相關。請注意文字主題節點必須以文字解析節點開頭,若它前面沒有文本過濾節點,則文字主題節點使用 Log 頻率權重對術語進行加權,若存在分類目標則使用 Mutual Information 術語權重對術語進行加權,否則使用 Entropy 術語權重對術語進行加權。

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

再來我們您可以在文字主題節點中使用使用者定義的主題列表,使用者定義的主題列表使我們可以定義自己感興趣的主題,並且提供了一個使用者主題列表的範例提供分析應用。使用者定義的主題資料集具有所需的格式,我們必須包含主題、術語、角色和權重等變數。主題和權重變數必須具有資料集中所有觀測值的非遺漏值,主題包含每個主題的唯一標識符。術語包含在由主題的值標識的主題中使用的術語,若此值為空,則將為該主題分配與給定角色匹配的所有術語,角色可以是詞性,實體分類或價值名詞組。如果此值為空,那麼只要術語出現在任何角色中,就會認為它在主題中,角色中的值不區分大小寫,權重包含術語和角色對的權重,其給予最重要的術語和角色對權重 1,給予不太重要的術語和角色對小於 1 的正權重,以反映相對重要性。請注意權重為 0 的術語將被省略,可以在同一主題中使用多個術語,要使用多個術語定義主題,請包含所有具有相同主題值的多個觀察,每個觀察對應於不同的術語。

最後透過互動式主題查看器,我們可以在執行文字主題節點時進行優化,也就是自動或從使用者定義的主題產生成主題。當關閉互動式主題查看器時,可以儲存對主題所做的任何更改,對於主題名稱,截止值或任何主題權重的任何更改都將導致該主題成為使用者主題,並且儲存在使用者主題屬性的資料集中。此外若要將多個主題合併為一個主題,請為要合併的所有主題輸入相同的主題名稱,這些主題最初仍會顯示為不同的主題,但是當您重新運行節點時,它們將合併為一個,所有主題都包含所有術語,對於主題之間的所有共同術語,權重將是每個主題的平均值。

相關資源

SAS 文字分析 (11)

教學目標

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

重點概念

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

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

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

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

相關資源

SAS 文字分析 (10)

教學目標

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

重點概念

首先我們可以使用文字過濾節點來減少已分析的術語或文檔的總數,因此我們可以過濾無關資訊,以利僅考慮最有價值和最相關的資訊,像是文字過濾節點可用於刪除不需要的術語,並且僅保留討論特定問題的文件檔,該減少的資料集可以比原始集合的資料集小幾個數量級,所謂原始集合的資料集可能包含數十萬個文檔和數十萬個不同的術語。文字過濾節點必須在過程流程圖中以文字解析節點作開頭,文字過濾節點直接從文字分析節點導入文件檔,但它還依賴於文字解析節點放置在其工作空間目錄中的幾個資料集。

接著文字過濾節點中的術語加權選項能夠讓我們根據術語在單個文檔中出現頻率和術語在整個文件檔集中的分佈方式來改變術語的重要性,透過首先將子頻率分配給其父項,為文字探勘分析建立加權的逐個文件檔的頻率矩陣。接下來將加權函數應用於每個文件檔中每個術語的出現頻率,以及每個術語透過乘以術語權重來縮放,這種加權的逐個文件檔的頻率矩陣成為集合的基礎表示,主要有術語權重和頻率權重。

再來文字過濾節點和互動式過濾查看器能夠讓我們使用搜索表達式來過濾文件檔,並且返回與我們查詢匹配的文件檔子集,查詢主要由術語列表組成,搜索結果顯示一組包含至少一個查詢術語的文件檔。相關性分數表示每個文檔與查詢的匹配程度,相關性1表示哪個文檔是該查詢的集合中的最佳匹配,透過互動式過濾查看器,我們可以優化文字過濾器節點執行後存在的已分析和過濾的資料,關閉交互式篩選器查看器時可以儲存對資料所做的任何更改,編輯的資料主要用於後續節點的分析。

最後對於給定的一對術語,使用二項分佈計算它們彼此的關聯強度,此強度測量主要用於在文字過濾節點的互動式過濾查看器中生成概念連接圖 (Concept Linking Diagrams),n 是包含術語 B 的文件檔數,k 是包含術語 A 和術語 B 的文件檔數,而假設它們彼此獨立,則 p = k / n 是當術語 B 出現時術語 A 出現的機率,此外在概念連接圖中心術語和概念鏈接之間的線寬代表了接近程度這些條款是相關的,較粗的線表示更緊密的關聯。

相關資源

SAS 文字分析 (9)

教學目標

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

重點概念

首先文字解析節點能夠使我們解析文件檔集合,以量化其中包含的術語的相關資訊,我們能夠將文字解析節點與大量文字資料一起使用,像是電子郵件,新聞文章,網頁,研究論文和調查。而文字解析節點必須以一個或多個輸入資料來源節點開頭,其中每個資料來源包含要解析的文檔集合或一個至多個文字匯入節點,至少有一個資料來源必須具有訓練的角色,其它可以當訓練、驗證、測試和評分的角色。輸入資料來源或文字匯入節點中的每個觀察值表示文件檔集合中的單個文件檔,該資料可以具有兩種結構,其可以包含每個文件檔的整個文字,或者可以包含純文字或包含該文字的文件檔的路徑。若資料來源中包含每個文件檔的全部文字,則此文字必須存儲在分配了文字角色的字元變數中,請注意 SAS 變數只能容納 32KB 的文字,若集合中的任何文件檔超出該限制,則不應使用此資料來源結構。若資料來源包含指向包含文件檔的路徑,則這些路徑必須存儲在分配了文字位置角色的字元變數中,路徑必須相對於 SAS Text Miner 伺服器,此結構可用於包含較小文件檔的集合或超過 32KB 限制的文件檔,使用具有文字位置角色的路徑,即使文件長度超過 32KB,SAS Text Miner 也可以處理每個文件的完整內容。

接著我們可以在文字解析節點中使用開始列表或停止列表,透過這些列表,我們可以控制文字探勘分析中使用或未使用的術語,開始列表主要是包含要包括在解析結果中的術語列表的資料集。若我們使用開始列表,則只有該列表中包含的術語才會出現在解析結果中,另一方面停止列表是包含要從解析結果中排除的術語列表的資料集,停止列表通常用於排除包含很少資訊或與文字探勘任務無關的術語。請注意,我們不能同時指定停止列表和開始列表。此外開始列表和停止列表具有相同的所需格式您必須包含術語 (Term) 變數,其中包含要分別包含或排除的術語,以及包含角色 (Role) 變數,其中包含關聯的角色,若包含角色,並且已將文字分析節點的不同詞性屬性設置為是,則會根據術語和角色所排除或包含術語,請注意術語變量必須是字元變數,而角色可以是詞性,實體分類或價值名詞組。

再來我們可以透過詞幹 (Stemming) 找到詞的詞幹或詞根形式的過程, SAS Text Miner 使用基於字典的詞幹提取,也稱為詞形還原 (lemmatization),與尾部詞幹提取器不同,它只產生有效的詞作為詞幹,當啟用詞性標註時,詞幹選擇過程將詞幹限制為與原始詞語相同的詞性。詞幹對於文字探勘非常重要,因為文字探勘主要是基於整個集合中術語的共同發生關係,透過將術語的變形視為術語本身,可以澄清文件檔關係,並且文件檔將通過這個共同的詞幹來關聯,至於 SAS Text Miner 使用相同的等效術語概念來管理詞幹,就像管理同義詞一樣,我們可以通過編輯同義詞列表來自定義詞幹。

最後我們可以在文字解析節點中使用同義詞列表,透過同義詞列表將能夠指定應當等效處理的不同單詞,作為相同的代表性父術語,同義詞資料集具有所需的格式。若我們的同義詞資料集不包含術語變數和父母變數,則文字解析節點將返回錯誤,所謂術語變數主要包含一個術語作為父母的同義詞,而所謂父母變數包含應指定術語的代表性術語,請注意若同義詞列表包含多個術語,這些術語將相同的術語分配給不同的父級,則解析結果將僅反映第一個術語。

相關資源

SAS 文字分析 (8)

教學目標

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

重點概念

首先 SAS Text Miner 主要提供工具使我們能夠從一組文字文件檔中提取資訊,並且揭示其中顯示的主題和概念,此外由於我們可以在 SAS Enterprise Miner 流程圖中加入 SAS Text Miner 節點,因此能夠在資料探勘的過程中將定量變數與非結構文字結合使用,這代表著我們將文字探勘與其他傳統資料探勘技術相互結合。

接著在 SAS Text Miner 中,文字探勘的過程通常包括以下列出的步驟,分別為:

  1. 文件檔預處理 (File Preprocessing):主要使用文字匯入節點從文件檔集合中建立資料集,該文件檔集合用作於文字解析節點的輸入。
  2. 文字解析 (Text Parsing):主要使用文字解析節點分解文字資料,並且產生適合資料探勘目的定量表示,解析可能包括詞幹、自動識別多字詞、各種實體的標準化、詞性標註、提取組織名稱、產品名稱和地址等實體、支持同義詞和語言特定的分析。
  3. 文字過濾 (Text Filtering):主要使用文字過濾節點將定量表示轉化為緊湊和豐富資訊的格式和減少維度。
  4. 文件檔分析 (Document Analysis):主要使用文字主題節點、文字分群節點、文字規則產生器節點、文字檔案節點和預測建模節點進行分群,分類,預測或連結概念。

再來 SAS 文字探勘提供視覺化圖表,主題建立和分群技術,能夠讓我們探索已解析的文件檔集合,應用包含電子郵件、客戶評論、調查數據的知識庫和無監督的類別學習。我們可以產生資料驅動的主題,並且提供已在文字主題節點中定義的主題,以用於評分新資料。我們可以在文字分析節點中執行分層分群,主要使用 Ward 的最小方差方法產生分層集群,結果以樹形圖形式呈現,以及我們可以在文字分群節點中執行期望最大化分群,主要識別群集,其是資料點的最密集區域,以及輔助群集。其不包括在主群集中的較不密集的資料點群組,這是一種空間分群技術,可以靈活地調整分群的大小和形狀,當然可以使用 SAS Enterprise Miner 其它節點進行分群。

最後我們可以使用 SAS Enterprise Miner 建模功能來預測目標變數,文字規則建立器節點可用於預測主要包括自動電子郵件路由、過濾垃圾郵件、配對簡歷、根據公司新聞公告的內容預測股票價格的變化、根據問題的文本描述預測服務呼叫的成本、根據客戶意見預測客戶滿意度、從一組預定的候選作者中識別作者身份、…等。

相關資源