~/blog/wordpress-sentiment-analysis-complaint-alert-system-2026.md
AI 自動化與智慧應用 · 2026 / 02 / 04

客訴滅火器!用 AI 情感分析自動偵測「暴怒客戶」並秒傳主管的 WordPress 實戰架構 (2026版)

Eric — 浪花科技創辦人 / AI 架構師
Eric
浪花科技創辦人 · AI 架構師
客訴滅火器!用 AI 情感分析自動偵測「暴怒客戶」並秒傳主管的 WordPress 實戰架構 (2026版)
目錄 table-of-contents.md

一封塞滿驚嘆號的暴怒客訴,在你的客服信箱裡平均要躺多久才會被打開?如果答案是「週一早上」,那這場公關災難基本上已經註定要爆發——客訴處理的「黃金 5 分鐘」就是這麼殘酷。這篇要在 WordPress 上實作一套 AI 情感分析警報系統,自動偵測暴怒客戶並把訊息秒傳主管。

到了 2026 年,我們已經不需要再讓人肉客服 24 小時盯著螢幕。今天這篇文章,我要教你如何在 WordPress 中架設一套「數位情緒溫度計」。這不是簡單的關鍵字過濾(別再用 `if (strpos($text, '爛'))` 這種老古董了),而是利用 LLM(大型語言模型)進行深度的情感分析應用,精準偵測客訴情緒,並在「暴怒指數」超標時,直接繞過一般流程,將警報發送到主管的手機上。

為什麼你需要這套「數位情緒溫度計」?

傳統的客服流程是 FIFO(先進先出),但在危機處理中,這絕對是錯誤的策略。一位只是想詢問規格的潛在客戶,與一位剛收到瑕疵品並威脅要向消保官投訴的老客戶,兩者的處理優先級天差地遠。

透過 API 串接 AI 模型,我們可以實現以下自動化分流:

  • 一般情緒(Neutral/Positive): 走標準工單流程,進入 CRM 排隊。
  • 輕微抱怨(Negative - Low): 標記為「需關注」,自動回覆安撫信件。
  • 極度憤怒(Negative - High): 觸發 Red Alert,透過 Webhook 呼叫 Slack 或 LINE Notify 通知客服經理,甚至直接建立最高優先級的 Ticket。

架構拆解:從表單到主管手機的 0.5 秒旅程

要在 WordPress 實現這個功能,我們不需要安裝臃腫的外掛。身為工程師,我們喜歡乾淨、可控的程式碼。以下是我們的技術堆疊:

  1. 輸入端: WordPress 表單(Contact Form 7, Gravity Forms, 或自幹的 API Endpoint)。
  2. 處理核心: `wp_remote_post` 呼叫 AI 模型(如 OpenAI GPT-4o-mini 或 Gemini 2.0 Flash)。
  3. 邏輯層: 解析 JSON 回傳,判斷 `sentiment_score`。
  4. 通知端: 觸發 LINE Notify 或 Slack Webhook。

實戰程式碼:PHP + OpenAI API 串接邏輯

以下這段程式碼展示了如何將收到的訊息送往 AI 進行分析。為了方便大家直接使用在經典編輯器環境或 `functions.php` 中,我簡化了錯誤處理,但保留了核心邏輯。

工程師的小囉嗦: 記得把 API Key 放在 `wp-config.php` 或環境變數中,千萬別直接寫死在程式碼裡,不然你的 GitHub Copilot 會很開心,駭客會更開心。


/**
 * 分析文字情緒並回傳評分 (0-10, 10為最憤怒)
 * @param string $user_message 客戶留言內容
 * @return array ['score' => int, 'summary' => string]
 */
function eric_analyze_sentiment($user_message) {
    $api_key = defined('AI_API_KEY') ? AI_API_KEY : 'your_fallback_key';
    $endpoint = 'https://api.openai.com/v1/chat/completions';

    $body = [
        'model' => 'gpt-4o-mini', // 2026年性價比之選
        'messages' => [
            [
                'role' => 'system',
                'content' => '你是一個專業的客服情緒分析師。請分析使用者的訊息,並回傳純 JSON 格式。格式需包含:"score" (0-10,0為開心,10為極度憤怒/威脅), "category" (Refund, Technical, Spam, Other), "summary" (一句話摘要)。'
            ],
            [
                'role' => 'user',
                'content' => $user_message
            ]
        ],
        'response_format' => ['type' => 'json_object']
    ];

    $response = wp_remote_post($endpoint, [
        'headers' => [
            'Content-Type' => 'application/json',
            'Authorization' => 'Bearer ' . $api_key
        ],
        'body' => json_encode($body),
        'timeout' => 15 // AI 偶爾會思考人生,給它點時間
    ]);

    if (is_wp_error($response)) {
        error_log('AI Analysis Failed: ' . $response->get_error_message());
        return ['score' => 0, 'category' => 'Error']; // 失敗時預設安全值
    }

    $body = json_decode(wp_remote_retrieve_body($response), true);
    $content = json_decode($body['choices'][0]['message']['content'], true);

    return $content;
}

/**
 * 範例:掛勾到表單送出後 (以 CF7 為例)
 */
add_action('wpcf7_before_send_mail', 'eric_process_complaint_alert');

function eric_process_complaint_alert($contact_form) {
    $submission = WPCF7_Submission::get_instance();
    if (!$submission) return;

    $posted_data = $submission->get_posted_data();
    $message = isset($posted_data['your-message']) ? $posted_data['your-message'] : '';

    if (empty($message)) return;

    // 呼叫 AI 分析
    $analysis = eric_analyze_sentiment($message);

    // 設定憤怒閾值,超過 8 分視為 Red Alert
    if ($analysis['score'] >= 8) {
        // 觸發緊急通知 (這裡以發送 LINE Notify 為例)
        $alert_msg = "🔥 偵測到高風險客訴!\n分數:{$analysis['score']}/10\n類別:{$analysis['category']}\n摘要:{$analysis['summary']}\n原文片段:" . mb_substr($message, 0, 50) . "...";
        
        // 呼叫你的通知函式 (需另外實作)
        // send_line_notify($alert_msg);
        
        // 工程師的小技巧:也可以在這裡寫入 Log 或標記 CRM 欄位
        error_log('High Risk Complaint Detected: ' . $analysis['summary']);
    }
}

2026 年的技術變革:為什麼現在做這件事更容易?

如果這篇文章是在 2023 年寫的,我可能會勸你三思,因為那時候的 API 很貴,速度又慢,讓使用者在按出「送出」後轉圈圈轉到懷疑人生。但在 2026 年,隨著模型蒸餾技術(Model Distillation)的成熟,像 `gpt-4o-mini` 或 Google 的 `Gemini 2.0 Flash` 這類小模型,處理這類任務的延遲已經降到毫秒級,成本更是幾乎可以忽略不計。

此外,現在的 AI 能夠理解「潛台詞」。過去的關鍵字過濾無法分辨「這產品太棒了,簡直是殺手級應用」和「我要殺了你們這些騙子」。現在的 NLP 技術能精準判讀語境,大幅降低誤報率。

進階優化:防止 API 罷工的策略

雖然 AI 很強,但作為資深工程師,我們永遠要假設外部服務會掛掉。在實作這類情感分析應用時,務必加入以下機制:

  • 非同步處理 (Async Processing): 如果網站流量大,建議不要在使用者送出表單的當下同步呼叫 AI。可以使用 WordPress 的 `Action Scheduler` 將分析任務丟到背景執行,確保前端體驗絲滑。
  • 錯誤重試 (Retry Mechanism): 遇到 API 429 (Rate Limit) 或 500 錯誤時,別忘了實作指數退讓(Exponential Backoff)重試機制。
  • 資料隱私: 傳送給 AI 之前,記得先將敏感個資(如身分證字號、信用卡號)進行遮罩處理,這是 2026 年最基本的資安素養。

延伸閱讀:將自動化武裝到牙齒

這套系統只是起點。當你掌握了 webhook 與 API 的串接能力後,你可以將這個邏輯延伸到更多場景。以下是我挑選的三篇相關文章,能幫助你將這個架構擴充得更完整:

別讓技術成為冷冰冰的代碼,這套系統的價值在於它能幫助你的團隊展現最即時的同理心。當客戶在氣頭上時,一通及時的主管致電,往往能將危機化為轉機,甚至讓黑粉轉鐵粉。

覺得這套自動化架構很有趣,但不知道從何下手?或者你的企業需要更客製化的 CRM 串接與情緒偵測系統?

立即聯繫浪花科技,讓我們幫你打造智慧客服防線
// FAQ

常見問題

為什麼用 AI 情感分析做客訴偵測比關鍵字過濾更好?
傳統關鍵字過濾無法分辨語境,例如分不出「這產品太棒了,簡直是殺手級應用」和「我要殺了你們這些騙子」。LLM 與 NLP 技術能理解潛台詞、判讀語境,大幅降低誤報率,能更精準偵測客戶的真實情緒。
在 WordPress 中要怎麼把表單留言送去做 AI 情感分析?
可用 wp_remote_post 呼叫 AI 模型的 API(例如 OpenAI 或 Gemini),在 system prompt 中要求模型回傳純 JSON(含情緒分數、類別、摘要),並設定 response_format 為 json_object。以 Contact Form 7 為例,可掛勾到 wpcf7_before_send_mail 動作,在表單送出後取得留言並送去分析。
偵測到高風險客訴後可以怎麼自動通知?
可設定憤怒分數閾值(例如達到 8 分視為 Red Alert),超標時繞過一般流程,透過 Webhook 呼叫 Slack 或 LINE Notify 把警報直接發送到主管手機,並可同步寫入 Log 或標記 CRM 欄位。
實作客訴情感分析系統時要注意哪些防護機制?
要假設外部 AI 服務會掛掉,因此應加入:非同步處理(流量大時用 Action Scheduler 把分析丟到背景,確保前端體驗順暢)、錯誤重試(遇到 429 或 500 時用指數退讓重試)、以及資料隱私(送給 AI 前先遮罩身分證字號、信用卡號等敏感個資)。API Key 也應放在 wp-config.php 或環境變數,不可寫死在程式碼裡。
~/roamer-tech/newsletter // FREE
// newsletter

訂閱免費電子報

把 AI 自動化、企業系統設計與 WordPress / Laravel 開發的真實案例和可直接照做的技巧,整理成電子報寄給你。只寄精選內容、不灌垃圾信,一鍵就能退訂。

$
// final.exec()

準備好讓你的網站開始為你工作了嗎?