Analiza sentymentu (ang. sentiment analysis, opinion mining) to gałąź przetwarzania języka naturalnego, której celem jest automatyczne rozpoznawanie nastawienia emocjonalnego wyrażonego w tekście. Czy recenzja jest pozytywna? Czy tweet wyraża frustrację? Czy opinia klienta sygnalizuje ryzyko odejścia? Analiza sentymentu odpowiada na te pytania na skalę niemożliwą do osiągnięcia ręcznie.
Poziomy analizy sentymentu
Na poziomie dokumentu
Jeden sentyment dla całego tekstu (recenzja, artykuł). Najprostsze — zakłada, że cały dokument wyraża jedno zdanie.
Na poziomie zdania
Sentyment dla każdego zdania osobno. „Ekran jest świetny, ale bateria trzyma krótko" → zdanie 1: pozytywne, zdanie 2: negatywne.
Na poziomie aspektu (ABSA)
Aspect-Based Sentiment Analysis — najgranularniejszy poziom. Identyfikuje aspekty (cechy produktu/usługi) i sentyment do każdego aspektu osobno.
„Jedzenie było pyszne, ale obsługa fatalna." → Aspekt: jedzenie → pozytywny → Aspekt: obsługa → negatywny
Podejścia do analizy sentymentu
1. Metody leksykonowe (Rule-based)
Bazują na słownikach sentymentu — listach słów z przypisanym sentymentem/polaryzacją.
Proces:
- Tokenizuj tekst
- Sprawdź każde słowo w słowniku sentymentu
- Oblicz wynik: suma/średnia polaryzacji słów
- Wynik > 0 → pozytywny, < 0 → negatywny
Popularne leksykony:
- VADER — Valence Aware Dictionary and sEntiment Reasoner. Dedykowany do social media (obsługuje emotikony, slang, wielkie litery, wykrzykniki). Szybki, nie wymaga treningu
- SentiWordNet — sentyment dla synsetów WordNet
- AFINN — lista 2477 słów z polaryzacją -5 do +5
Zalety: szybkie, interpretowalnie, nie wymagają danych treningowych. Wady: nie rozumieją kontekstu, sarkazmu, negacji złożonej, nowych wyrażeń.
2. Klasyczne ML
Trening klasyfikatora na etykietowanych danych:
- Ekstrakcja cech: Bag of Words, TF-IDF, n-gramy
- Klasyfikator: SVM, Naive Bayes, regresja logistyczna, Random Forest
SVM z TF-IDF był standardem przez lata — prosty, szybki, zaskakująco skuteczny.
3. Deep Learning
Sieci neuronowe uczą się reprezentacji tekstu end-to-end:
- RNN/LSTM — przetwarzanie sekwencji słów, kontekstowe rozumienie. BiLSTM z atencją — stan sztuki przed transformerami
- CNN na tekście — konwolucje 1D na sekwencji embeddingów, wychwytują lokalne wzorce (n-gramy)
- BERT/RoBERTa/DeBERTa — fine-tunowane transformery. Aktualny stan sztuki. Dwukierunkowy kontekst, pretrenowanie na miliardach słów
4. LLM z promptem
Duże modele językowe (GPT-4, Claude) z prompt engineeringiem:
Sklasyfikuj sentyment tej recenzji jako pozytywny, negatywny lub neutralny:
"Produkt ok, ale dostawa trwała wieczność."
Sentyment:
Zero-shot (bez przykładów) lub few-shot (kilka przykładów). Brak potrzeby treningu, ale wolniejsze i droższe niż fine-tunowany BERT.
Wyzwania analizy sentymentu
Sarkazm i ironia
„Świetny pomysł, żeby zamknąć jedyny sklep w okolicy!" → brzmi pozytywnie, jest negatywne. Sarkazm to jeden z najtrudniejszych problemów NLP — wymaga rozumienia kontekstu, wiedzy o świecie i tonie komunikacji.
Negacja
„To nie jest zły film" → pozytywne, ale „zły" sugeruje negatywne. „Nie mogę powiedzieć, że jestem zadowolony" → negatywne, mimo „zadowolony". Złożona negacja wymaga głębokiego rozumienia składni.
Język porównawczy
„Lepsza od poprzedniej wersji, ale gorsza od konkurencji" → pozytywne czy negatywne? Zależy od punktu odniesienia.
Język specjalistyczny
„Pacjent w stanie stabilnym" (medycyna) → neutralne. „Wynik negatywny" (test medyczny) → pozytywne (brak choroby), mimo słowa „negatywny".
Wielojęzyczność i polski
Analiza sentymentu po polsku ma specyficzne wyzwania:
- Fleksja — „dobrze", „dobry", „dobra", „dobre", „dobremu" — to jedno słowo, ale różne formy
- Swobodny szyk zdania — negacja może być daleko od słowa, którego dotyczy
- Mniej zasobów — mniej etykietowanych zbiorów danych niż dla angielskiego
- Polskie leksykony sentymentu — plWordNet Sentiment, SABAT, sentymentalny słownik polskich opinii
Analiza sentymentu po polsku
Narzędzia
- Herbert + fine-tuning na polskim zbiorze recenzji — najwyższa jakość
- Allegro Reviews — popularny zbiór do treningu (tysiące polskich recenzji z oceną)
- PolEmo — polski zbiór do analizy emocji w recenzjach
- spaCy + polskie modele — tokenizacja, lematyzacja, embedding
Wyzwanie: lematyzacja
W polskim kluczowa jest lematyzacja (sprowadzenie do formy podstawowej) — „wspaniałego", „wspaniałą", „wspaniałym" → „wspaniały". Bez lematyzacji leksykon sentymentu nie rozpozna odmienionej formy.
Zastosowania
Brand monitoring
Śledzenie opinii o marce w social media, recenzjach, forach. Automatyczne alerty przy wzroście negatywnego sentymentu. Analiza trendów sentymentu w czasie.
Voice of Customer (VoC)
Analiza recenzji produktowych, NPS komentarzy, ankiet. Identyfikacja najczęstszych aspektów pozytywnych (zachowaj) i negatywnych (popraw).
Analiza rynku finansowego
Sentyment w wiadomościach, raportach analityków, social media → sygnały tradingowe. Korelacja sentymentu z ruchami cen akcji.
Obsługa klienta
Automatyczne tagowanie zgłoszeń po sentymencie. Priorytetyzacja wściekłych klientów. Routing do odpowiedniego agenta.
Polityka i opinia publiczna
Analiza sentymentu wobec polityków, partii, decyzji. Monitoring nastrojów społecznych. Detekcja polaryzacji.
HR i Employee Experience
Analiza sentymentu ankiet pracowniczych, recenzji pracodawcy (GoWork, Glassdoor). Wczesne wykrywanie problemów z retencją.
Pipeline analizy sentymentu
- Zbieranie danych — scraping, API (Twitter/X, Google Reviews, Allegro)
- Preprocessing — czyszczenie HTML, normalizacja, tokenizacja, lematyzacja
- Analiza sentymentu — model (BERT fine-tuned / VADER / LLM)
- Agregacja — wyniki per aspekt, per produkt, per okres
- Wizualizacja — dashboard z trendami, word clouds, heatmaps
- Alerty — automatyczne powiadomienia przy anomaliach sentymentu
Metryki oceny
- Accuracy — procent poprawnych klasyfikacji
- Macro F1 — uśredniony F1-score po klasach (ważny przy niezbalansowaniu)
- Confusion matrix — macierz pomyłek (pozytywne vs negatywne vs neutralne)
Podsumowanie
Analiza sentymentu to jedna z najpraktyczniejszych aplikacji NLP — od brand monitoringu po finanse. Metody ewoluowały od leksykonów przez SVM po fine-tunowane transformery. Wyzwania — sarkazm, negacja, wielojęzyczność — pozostają aktywnym obszarem badań. Dla polskiego tekstu najlepsze wyniki dają modele BERT-like (Herbert) fine-tunowane na polskich danych sentymentowych.