情感分析在做什麼?
某電商企業希望利用自然語言處理(NLP)技術,分析顧客在社群平台與商品評論中的文字內容,以即時掌握顧客對產品的滿意度變化。若採用情感分析(Sentiment Analysis)模型,其主要目的為何?
一家電商公司想知道顧客對自家產品的滿意度怎麼變化。他們從社群平台跟商品評論抓文字下來分析,用「情感分析」(Sentiment Analysis)這個技術。
問你:情感分析這個技術,主要在做什麼事?
一句話總結
情感分析做一件事:判斷一段文字是正面、負面,還是中性。沒了。
先感受問題:滿意度怎麼自動掃
假設你是這家電商,每天有 1 萬則評論:
「這款保濕乳液真的好用,皮膚變超滑!」
「老婆超愛這雙鞋,已經買第三雙了。」
「呵呵,買到爛貨,真『棒』。」
「還可以啦,沒特別好。」
員工不可能每則都讀,但你需要知道:哪些是抱怨、哪些是稱讚、整體滿意度往哪走。
這不能靠搜尋「爛」「讚」這種關鍵字,因為:
- 第 4 句「真棒」其實是反話
- 第 5 句沒有任何明顯字眼,但情緒中立
機器要真的看懂語氣才行。
舊方法為什麼做不好
古早做法是:寫一份「正面詞清單」(讚、好用、棒、滿意⋯),看評論命中幾個。
問題一籮筐:
- 反話:「真『棒』,買到爛貨」會被當成正面
- 否定:「不好用」會看到「好用」誤判正面
- 網路用語:「這也太頂了」「絕了」清單裡沒有
- emoji:「😡」沒有文字,但情緒明確
- 換產品線就要重寫:3C 跟美妝的「好詞」不一樣
每出一個新狀況都要修規則。永遠補不完。
情感分析怎麼解
情感分析模型不是查清單,而是看過大量範例自己學。訓練時餵它幾十萬筆「評論文字 + 情感標籤」:
「這台吹風機太爛了」 → 負面
「保濕乳液好用!」 → 正面
「還可以啦」 → 中性
「真棒,買到爛貨」 → 負面(反話)
模型學會抓出文字背後整體的情緒極性,不是看單個關鍵字。
訓練好之後,丟一段沒看過的評論進去:
- 輸入:「這台吹風機太爛了,用兩天就壞」
- 輸出:負面(信心 0.92)
電商就能即時看到:今天負面評論占多少%、哪個產品線抱怨最多。
這就是選項 B 講的:判斷文本中所表達的情感傾向。
技術版:實際怎麼跑這個模型
中級考試大概率會考程式碼跟公式,所以這部分你還是要學。但如果現在學起來很痛苦,可以先跳過,等讀完其他題目回頭再來。
實務上現在的情感分析多半用預訓練語言模型(例如 BERT)。最簡單的呼叫方式只要 3 行 Python:
from transformers import pipeline
classifier = pipeline("sentiment-analysis")
result = classifier("這台吹風機太爛了,用兩天就壞")
# 輸出:[{'label': 'NEGATIVE', 'score': 0.92}]
- 從一個工具箱裡拿出「情感分析機器」
- 把評論餵進去
- 機器吐出「正面 / 負面 + 信心分數」
| 故事 | 程式碼 |
|---|---|
| 從工具箱拿情感分析機 | classifier = pipeline("sentiment-analysis") |
| 餵一句評論進去 | result = classifier("這台吹風機太爛了") |
| 機器吐出結果 | [{'label':'NEGATIVE', 'score':0.92}] |
- pipeline
- Hugging Face 的「萬能工具箱」。告訴它你要做什麼任務,它就給你一台對應的機器。
- "sentiment-analysis"
- 任務名稱,意思是「我要做情感分析」。
- classifier
- 剛剛拿到的那台機器。
- result
- 機器吐出的結果,是個列表。
- 'label'
- 結果的標籤:POSITIVE / NEGATIVE / NEUTRAL。
- 'score'
- 信心分數,0 到 1,越高越確定。
本題沒有複雜公式,這個 Step 跳過。下次碰到 self-attention、loss function 這種有公式的題目會用到。
蓋住程式碼,用自己的話講出 3 步驟:
- 拿出情感分析機器
- 餵評論
- 拿到正/負 + 信心
講得出來代表這段你會了。
為什麼其他選項是錯的
A預測顧客使用的語言風格與語氣
判斷顧客講話正式還是輕鬆、有沒有用網路用語、是溫和還是粗魯。
那叫風格分類(style classification),是另一個任務。情感分析不分風格,只分情緒極性。一封「很正式但很憤怒」的客訴信,情感分析會判斷負面,跟風格沒關係。
看到「語氣」聽起來像「情緒」就跟著選的人。記住:情感分析只管正 / 負 / 中,不管「斯文還是粗魯」。
C將顧客留言自動翻譯成企業內部指定語言
把多語言(英、日)評論翻成中文。
那叫機器翻譯(machine translation)。題目裡電商抓的是中文評論,沒有翻譯需求;就算有,那也是另一個技術,不是情感分析在做的事。
看到「跨平台」「社群」就聯想到「跨語言」的人。記住:情感分析的輸出是情緒標籤,不是另一段文字。
D產生顧客評論的自動化摘要內容
把 1 萬則評論濃縮成幾段摘要,例如「本月主要抱怨集中在物流跟客服」。
那叫文字摘要(text summarization)。摘要的輸出是另一段文字,情感分析的輸出是個標籤。兩個是不同任務。
看到「即時掌握滿意度變化」覺得像要「彙整」就選的人。記住:情感分析給你標籤,摘要給你文字。電商先有標籤算占比,才能後續做報表。
同個考點下次怎麼變形
什麼是「方面式情感分析」(Aspect-based Sentiment Analysis)?
一般情感分析給整體一個判斷。但「這台吹風機外觀好看,但風力很弱」一句裡其實有兩個情緒。
方面式情感分析會分別針對每個面向(外觀、風力、價格、客服)給出獨立的情感標籤。電商更愛這個,因為能精準知道「我們家產品哪個維度被嫌」。
情感分析碰到反諷怎麼辦?
「真『棒』,買到爛貨」字面是讚但實際是罵。如果模型只看單字會判錯。
兩條路:1. 訓練資料多放反諷例子,模型學久了會抓「反諷的語感」(引號、過度誇張的形容詞);2. 用更強的上下文模型(BERT、GPT),它們對「整句語氣」感受更敏銳。
emoji 怎麼處理?
「商品還行 😡」這個 emoji 比文字訊號還強。
把 emoji 當作 token 一起餵進模型訓練。emoji 本身就是強烈情感信號(😍 正面、😡 負面、🤷 中性),現代 NLP 模型會把它編碼成跟文字同等重要的資訊。
「二元」跟「五級」情感分析差在哪?
二元:正面 / 負面。五級:1 ~ 5 顆星。
電商評分通常用五級(1 ~ 5 星),可以量化「多正面」vs「多負面」。二元只能告訴你「有沒有抱怨」,不能告訴你「抱怨有多兇」。輸出層多一個分數迴歸就能變五級。
跨領域情感分析的挑戰是什麼?
股市的「跌」是負面,但醫療的「燒退了」是正面。同一個「降」字在不同領域意思相反。
模型在 A 領域訓練,丟到 B 領域準確度會掉。解法是「領域適應」(domain adaptation):拿 B 領域的少量標註資料微調模型,或用半監督方法讓模型自己學新領域的詞。
想再往下看,這 5 個
- 情感分析(Sentiment Analysis)核心考點:自動判斷文字表達正面、負面或中性情緒的 NLP 技術。
- 自然語言處理(Natural Language Processing)情感分析所屬的技術大類,涵蓋文本理解、生成與分析。
- 文本分類(Text Classification)情感分析的底層任務,把輸入文本映射到預定義標籤類別。
- 雙向編碼器表示(BERT)當前情感分析最常用的預訓練模型,能理解上下文語境與反諷語氣。
- 微調(Fine-tuning)將預訓練語言模型在特定情感分析資料上繼續訓練,提升領域準確率的關鍵步驟。