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. Zobacz to w praktyce: interaktywna wizualizacja klasyfikacji sentymentu.

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:

  1. Tokenizuj tekst
  2. Sprawdź każde słowo w słowniku sentymentu
  3. Oblicz wynik: suma/średnia polaryzacji słów
  4. 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:

  1. Ekstrakcja cech: Bag of Words, TF-IDF, n-gramy
  2. 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

  1. Zbieranie danych — scraping, API (Twitter/X, Google Reviews, Allegro)
  2. Preprocessing — czyszczenie HTML, normalizacja, tokenizacja, lematyzacja
  3. Analiza sentymentu — model (BERT fine-tuned / VADER / LLM)
  4. Agregacja — wyniki per aspekt, per produkt, per okres
  5. Wizualizacja — dashboard z trendami, word clouds, heatmaps
  6. 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.