Leo Yeh's Blog

SAS 文字分析 (13)

教學目標

初步了解 SAS 文字分析的基本概念。

重點概念

首先在許多行業的商業環境中文字分析的應用非常受歡迎,像是我們能夠使用社交媒體的文字資料應用於預防犯罪和詐欺偵測,其中文字分析包含用於從非結構化資料中獲取洞察力的工具和技術。而典型的資料探勘預測問題主要是以數字形式處理資料,但是文字資料通常僅以可讀的文件檔形式提供,其內容可以是電子郵件、客戶評論、公司報告、新聞文章、網頁、…等。而文字探勘會先嘗試獲得文件檔的定量表示,一旦文字被轉換成一組數字,足夠獲取文字資料中的模式,任何傳統的統計或預測模型或資料探勘演算法皆可以用於產生洞察或預測建模。

接著常見的文字探勘專案主要涉及以下任務:

  1. 資料收集:任何文字探勘研究專案的第一步是收集分析所需的文字資料。
  2. 文字解析:解析文字主要使用自然語言處理從文件檔中提取、清理和建立單詞詞典,其中包括識別句子,確定詞性和詞幹,以及涉及解析提取的單詞以識別實體、刪除停用詞和拼寫檢查,此外從文檔中提取單詞之外,還檢索與文本相關聯的變數。
  3. 文字過濾:過濾文字主要在數千個文件檔的語料庫中,可能會有許多與區分文件檔或總結文件檔無關的術語,此時我們必須手動瀏覽術語才能消除不相關的術語,這通常是所有文字探勘步驟中最耗時和主觀的任務之一,因為其需要相當的相關主題或領域專業知識。
  4. 文字轉換:轉換文字主要使用基於線性代數的方法處理文字的數字表示,像是潛在語義分析、潛在語義索引和向量空間模型,其中矩陣的維度由文件檔數量和集合中的術語數量決定,該步驟主要使用奇異值分解逐個文件檔矩陣的降維。
  5. 文字探勘:探勘文字主要涉及應用傳統的資料探勘演算法,像是分群、分類、關聯分析和連接分析,此外文字探勘是一個迭代過程,也就是文字過濾 -> 文字轉換 -> 文字探勘,其涉及使用不同的設定進行重複分析,包括或排除術語以獲得更好的結果。

再來文字探勘專案的資料收集步驟很大程度取決於業務問題,這涉及回答以下簡單問題:

  1. 該專案需要哪些資料?電子郵件、客戶評論、公司報告、新聞文章、網頁、…等。
  2. 資料在哪裡?資料庫、資料倉儲、網頁、…等。
  3. 資料如何提供? PDF 檔案,XML 檔案,Word 檔案,Excel 檔案,網頁、…等。
  4. 資料何時應收集 (非靜態資料)? 在特定事件之前或之後,來自維基百科或部落格的資料需經常更新。

當確定了解決當前問題所需的資料,下一個挑戰就是收集資料,並且將其轉換為 SAS 文字分析能夠進行處理的格式,此時我們很可能在專案中遇到以下任何一種情況:

  1. 資料隨時可用作 SAS 資料集。
  2. 資料在資料庫中以檔案提供。
  3. 需要從網際網路上收集資料。

請注意在 SAS 中進行文字探勘的過程中要求資料作為 SAS 資料集提供,並不代表著來源資料必須以 SAS 資料集的格式存在,若是 SAS 資料集,則我們可以直接建立資料來源進行文字探勘,若不是 SAS 資料集,則來源資料必須轉換為 SAS 資料集,有多種方法可以使用 SAS 資料存取功能從資料庫中可用的資料建立 SAS 資料集,我們可以使用 SAS Enterprise Guide 導入資料或 SAS Enterprise Miner 中的檔案匯入節點輕鬆將常用格式檔案件,像是 CSV 檔案或 Excel 檔案,以及 SAS Text Miner 更能夠從目錄或網頁上的文字檔案動態建立 SAS 資料集,主要是是使用文字匯入節點。該節點需要包含所有來源檔案、目標目錄的來源目錄以儲存所有已轉換的檔案,SAS Text Miner 會瀏覽來源目錄,從該目錄中的檔案中提取文字,並在目標目錄中創建純文字檔案,文字轉換中會省略 SAS Text Miner 無法讀取的任何形式的源文件,以及若每個檔案中的字符數超過 32,000,則檔案將被截斷。此外若從網頁收集來源資料,則該節點將在提取過程之前對網站進行爬蟲,檢索文件並將其放入來源目錄中。

最後在許多情況下,我們可能需要將這些不同形式的文字資料組合起來進行文字探勘,此時 SAS Enterprise Miner 和 SAS Text Miner 具有易於使用的功能,可以從這些檔案導入資料,並且準備 SAS 資料集,此外 SAS 中強大的網頁爬蟲功能可透過文字匯入節點使用,從而可以更輕鬆地檢索網頁上可用的資料,而 SAS中的每個資料導入任務都可以透過使用者界面或撰寫 SAS 程式碼執行,同時我們更能夠使用 Perl 的正則表達式可以獲得更多文字處理功能,以利分析師能夠透過資料提取,合併和轉換獲取無數功能,這些功能通常在開始文字探勘分析之前執行。

相關資源

⬅️ Go back