簡介
SAS 技術支援團隊最近開發了一個使用 SAS Viya 的 textClassifier 的人工智慧(AI)郵件分類系統,這將使客戶溝通變得更有效率。我們進行了嚴格的測試,成功地將合法的客戶查詢、垃圾郵件和錯誤發送的郵件區分開來。開發過程中的主要成就包括高效的處理能力、幾乎完美的合法客戶郵件識別(錯誤分類率低於 0.2%)、使用 GPU 加速的快速模型訓練,以及在 ServiceNow/CSM 平台數據上的成功驗證。這個模型在部署後將顯著提高郵件處理的效率。
數據隱私與安全
考慮到客戶數據的敏感性以及負責任的 AI 越來越重要(如在探索生成 AI 對倫理、數據隱私和協作的影響中所強調),數據安全是我們的主要關注點。SAS Viya 在安全的 Azure 雲環境中運行,提供必要的保護,同時能夠處理我們龐大的數據集(超過 104,000 封郵件),並遵守 GDPR 等法規。
數據收集與準備
這個數據集包含了 2022 年至 2023 年 7 月的 18 個月的 Sirius v2 客戶追蹤。內容僅從每個追蹤的第一封進來的郵件中提取,省略了發件人和收件人欄位的值。郵件主題分為三類:’SAS 航空公司’、’其他’和 ‘垃圾郵件’。由於有超過 104,000 份文件,訓練大型語言模型需要仔細規劃。為了平衡成本和效果,我們創建了兩個樣本——一個包含 20% 的原始數據,另一個包含 30% 的原始數據,這樣可以比較模型的表現。分層抽樣確保訓練數據的代表性,特別是對於稀有的 ‘斯堪的納維亞航空公司(SAS)’ 案例。
方法論
我們考慮了幾種文本分類模型:基於 BERT 的方法、SAS BOOLRULE 分類器,以及結合機器學習的主題建模方法。雖然 BOOLRULE 提供了解釋性,但其基於規則的特性缺乏對我們郵件數據細微差別的上下文理解。雖然主題建模功能強大,但由於主題發現的迭代性和計算密集型的文本解析,對於我們的大數據集(超過 104,000 封郵件)來說效率較低。
最終選擇了基於 BERT 的 textClassifier 模型(Devlin 等,2019),因為它具有優越的上下文理解能力、對大型數據集的適應性和效率。其基於變壓器的架構提供了高質量的分類,並且需要的預處理和人工努力最少,使其成為這個項目的最佳選擇。
模型訓練
利用 NVIDIA A100 GPU 的計算能力對於高效的模型訓練至關重要。該模型在 30% 的數據子集上訓練,速度驚人,約在 42 分鐘內完成,這比最初的預估快了很多。當我預期訓練過程會很漫長時,決定去散步,結果回來時發現模型已經訓練完成!雖然這種意外的速度是好事,但也強調了主動保存模型的重要性,這是我們在系統關閉導致數據丟失和需要重新訓練時學到的關鍵教訓。值得注意的是,該模型在不需要傳統文本預處理步驟(如詞幹提取或停用詞刪除)的情況下表現良好,這突顯了變壓器架構的穩健性。訓練進度的迭代歷史和詳細可視化見附錄 A。想深入了解訓練考量和 trainTextClassifier 操作的內存管理,請參閱 SAS Viya 文檔。在整個過程中,我們也密切追蹤訓練成本,這使我們能夠在實現所需性能的同時保持成本效益。
模型評估與結果
模型的表現超出了預期,特別是考慮到沒有進行超參數調整的單次訓練。模型在 30% 和 20% 數據子集上的整體錯誤分類率分別約為 3.38% 和 3.43%,而關鍵績效指標(KPI)是將合法客戶郵件(“其他”)錯誤分類為 ‘SAS 航空公司’ 或 ‘垃圾郵件’ 的比率,這是維持高效客戶服務的關鍵因素。’其他’類別的錯誤分類率非常低:’其他’錯誤分類為 ‘SAS 航空公司’ 的比率低於 0.2%,而錯誤分類為 ‘垃圾郵件’ 的比率約為 1.5%。詳情見附錄 B 的模型評估指標。
解決數據質量問題與模型穩健性
雖然我們的模型在保留數據上達到了低錯誤分類率,但在詳細分析中我們發現了一些標籤錯誤的情況。例如,如附圖所示,某些最初標記為 ‘其他’ 的郵件,但包含航班或訂票變更的參考,模型正確地將其分類為 ‘SAS 航空公司’。這引發了原始訓練數據可能存在類似標籤錯誤的可能性,如果有完美的訓練標籤,錯誤分類率可能會更低。這突顯了模型克服這些數據質量限制的能力,以及通過更好的數據標籤來改善模型性能的潛力。
進一步使用來自新來源(ServiceNow/CSM 平台)的數據進行評估,強化了這些發現,確認了模型的高準確性和識別錯誤分類數據的能力,即使是在 CPU 處理的情況下。
結論與未來工作
這個項目標誌著我們為 SAS 技術支援開發一個穩健且可擴展的垃圾郵件檢測系統的重要第一步。通過利用 SAS Viya 的基於 BERT 的 textClassifier 操作,我們能夠高效處理大型數據集,同時保持高準確性。至關重要的是,這個系統是在優先考慮數據隱私和安全的情況下開發的,使用的是在安全的 Azure 環境中運行的 SAS Viya。該模型能夠高效處理大型數據集,並且對於合法客戶郵件(“其他”)的錯誤分類率極低,這為改善支援操作創造了明確的潛力。
未來的工作將專注於通過定期更新數據和用戶反饋來持續改善模型性能。我們也在探索將訓練好的模型保存為 Astore 的潛力,這將簡化將其部署到 SAS Micro Analytic Service (MAS) 或 SAS Container Runtime (SCR) 等環境的過程,並在 SAS Model Manager 中註冊。
我們承諾在接近全面部署和整合這個強大分類解決方案的過程中,分享未來的更新。
了解更多
閱讀另一個基於變壓器的分類用例
了解類似的方法如何進行情感分析
探索 SAS 的各種自然語言處理(NLP)
附錄 A:模型訓練日誌與表現
本附錄總結了在訓練基於 BERT 的文本分類模型期間獲得的關鍵指標。訓練使用 NVIDIA A100 GPU 進行,約在 42 分鐘內完成,使用的是 30% 的數據子集。以下圖表可視化了訓練進度:
附錄 B:關鍵模型評估指標
本附錄總結了在 20% 和 30% 數據上訓練的模型的關鍵評估指標。主要關注的是合法客戶郵件(’其他’)錯誤分類為 ‘SAS 航空公司’ 或 ‘垃圾郵件’ 的比率。
本文由 AI 台灣 運用 AI 技術編撰,內容僅供參考,請自行核實相關資訊。
歡迎加入我們的 AI TAIWAN 台灣人工智慧中心 FB 社團,
隨時掌握最新 AI 動態與實用資訊!