SAS 文字分析 (16)

教學目標

初步了解 SAS 文字分析的基本應用概念。(此篇內容主要為課程心得筆記。)

重點概念

首先當我們需要進行文字分析時,主要會先將非結構化資料,透過自動化自然語言處理轉換為結構化資料,並且整合企業中既有的客戶結構化資料,以利透過統計演算法和機器學習演算法產生更準確的預測模型。而我們主要能夠透過手動設定 LITI 規則將能夠有效降低文字分析的誤分類率,SAS Visual Text Analytics 主要有提供透過專家判斷手動調整 LITI 規則,像是我們會透過 CLASSIFIER: XX 定義特定「字串」逗號用於「標準化」不同型態但相同意義的字或同義字,以及進行重要資訊的擷取,又可分為實體擷取和概念擷取,兩者差別在於概念主要是定義實體和實體之間的關聯,像是 CONCEPT_RULE: (RULE, “XX”, “_c{XX}”) 使用布林規則、距離規則,定義特定字串間的關聯 _c{XX} 用於定義需要回傳的字串 CONCEPT: XX 定義字串關聯 _w 指一段字串,或者像是 REGEX: 主要定義字之間的關聯,適用於日期、年份、電話號碼、… 等,以及 NO_BREAK: _c{XX} 主要定義不想出現的字串。

接著我們能夠在 SAS Viya 平台建置模型,我們先選擇「新增專案」,選擇類型為「文字分析」,選擇資料來源為 CAS 資料表格,按下「儲存」之後,就能夠建立專案,並且我們需要將資料來源中需要進行分析的欄位設定為「文字」。然後我們再點選「管線」,建立「文字分析: 資料存取」範本,這時新的管線中僅會有資料節點,再來我們僅需將自然語言處理節點中的文字剖析和特徵擷取節點中的主題加入至管線中,並且執行管線,我們就能夠透過演算法找出潛的主題和屬於主題的相關詞語和文章。

再來我們針對文字分析的結果需要如何進行優化,主要有三種方式,分別為增加語料庫、刪除不影響理解的贅字和調整主題演算法,像是我們針對不同產業進行文字分析時皆會有專有名詞和特定詞語,此時我們就會需要自訂語料庫,並且設定停用清單,其主要用於篩除大量使用,但是卻沒有任何價值的詞語。至於我們要如何判斷文件中的詞語是否重要,主要能夠透過詞語相關性 (TF-IDF) ,其重點概念主要為在特定文章出現很多次就會非常重要,並且我們在 SAS Visual Text Analytics 透過調整詞語密度和文件密度,就能夠縮小主題抓取範圍。

最後我們更能夠透過主題識別進行成分分析,最常見的主題模型就是 LDA,LDA 的全名為 Latent Dirichlet Allocation,其主要是表達文章概念的方式,文章是由不同主題以一定比例所組成,其中主題又由一組字詞以一定比例所組成。此時我們主要透過 LDA 主題模型將企業外部非結構化資料產生主題向量和企業內部結構化資料整合產生分析資料表 (ABT),以利透過決策樹、邏輯回歸和神經網路建立預測模型。

總結 SAS Visual Text Analytics 主要結合自然語言處理、機器學習演算法、與語言學規則,透過文字探勘出非結構化資料的價值,其特點主要有:

  1. 提供彈性整合語言學規則 (專家判斷)。
  2. 提供機器學習演算法 (深度學習)。
  3. 提供圖形化的網站操作介面。
  4. 提供超過 30 種語言的支援。
  5. 提供多種文字模型部署方式。

相關資源