Cztery pułapki dokładności analizy nastrojów
Opublikowany: 2022-03-11Ludzie korzystają z forów, sieci społecznościowych, blogów i innych platform do dzielenia się swoją opinią, generując w ten sposób ogromne ilości danych. Tymczasem użytkownicy lub konsumenci chcą wiedzieć, jaki produkt kupić lub jaki film obejrzeć, więc czytają również recenzje i starają się odpowiednio podejmować decyzje.
Ręczne zbieranie informacji o danych generowanych przez użytkowników jest czasochłonne. Dlatego coraz więcej firm i organizacji interesuje się automatycznymi metodami analizy sentymentu, które pomogą im go zrozumieć.
Co to jest analiza nastrojów?
Analiza nastrojów to proces badania opinii i emocji ludzi, zazwyczaj przy użyciu wskazówek językowych. Na pierwszy rzut oka jest to tylko problem z klasyfikacją tekstu, ale jeśli zagłębimy się głębiej, okaże się, że istnieje wiele trudnych problemów, które poważnie wpływają na dokładność analizy sentymentu. Poniżej omówię kilka pułapek, na które napotykasz, pracując nad problemem ogólnej analizy nastrojów:
- Ironia i sarkazm
- Rodzaje negacji
- Niejednoznaczność słowa
- Wielobiegunowość
Przejrzymy każdy temat i spróbujemy zrozumieć, jak opisane problemy wpływają na jakość klasyfikatorów sentymentów i jakie technologie można wykorzystać do ich rozwiązania.
Analiza nastrojów Wyzwanie nr 1: Wykrywanie sarkazmu
W sarkastycznym tekście ludzie wyrażają swoje negatywne uczucia za pomocą pozytywnych słów. Fakt ten pozwala sarkazmowi z łatwością oszukiwać modele analizy sentymentu, chyba że zostały specjalnie zaprojektowane, aby wziąć pod uwagę taką możliwość.
Sarkazm występuje najczęściej w treściach generowanych przez użytkowników, takich jak komentarze na Facebooku, tweety itp. Wykrycie sarkazmu w analizie sentymentu jest bardzo trudne do osiągnięcia bez dobrego zrozumienia kontekstu sytuacji, konkretnego tematu i otoczenia.
To może być trudne do zrozumienia nie tylko dla maszyny, ale także dla człowieka. Ciągła zmienność słów używanych w sarkastycznych zdaniach utrudnia pomyślne wytrenowanie modeli analizy sentymentu. Wspólne tematy, zainteresowania i informacje historyczne muszą być dzielone między dwie osoby, aby udostępnić sarkazm.
Najpierw spójrzmy na sarkazm z perspektywy językoznawstwa , gdzie sarkazm jest szeroko badany. W jednym z najczęściej cytowanych badań w tej dziedzinie autorka Elisabeth Camp proponuje następujące cztery rodzaje sarkazmu:
- Zdanie: Sarkazm wydaje się być propozycją pozbawioną sentymentów, ale zawiera ukryte sentymenty.
- Osadzony: Sarkazm ma wbudowaną niezgodność sentymentu w postaci samych słów i fraz.
- Podobny prefiks: Zwrot podobny do domniemanego zaprzeczenia argumentowi.
- Illokucja: Akty niemowy (mowa ciała, gesty) przyczyniające się do sarkazmu.
Badania Campu zostały opublikowane w 2012 roku. W 2017 roku naukowcy ze Stanford University ogłosili własne, całkiem interesujące badanie „Napisanie pracy w 2 godziny jest fajne!”: Wykrywanie sarkazmu w numerycznych częściach tekstu, w którym mówili o innym typie sarkazmu, zwanym liczbowym sarkazm . W sieciach społecznościowych bardzo często występuje sarkazm liczbowy. Idea, która się za nim kryje, wiąże się ze zmianami wartości liczbowych, które następnie wpływają na polaryzację tekstu. Na przykład:
- „Ten telefon ma niesamowite podtrzymanie bateryjne przez 38 godzin”. (Niesarkastyczny)
- „Ten telefon ma niesamowitą baterię podtrzymującą przez 2 godziny”. (Sarkastyczny)
- „Na zewnątrz jest +25 i jest mi tak gorąco”. (Niesarkastyczny)
- „Na zewnątrz jest -25 i jest mi tak gorąco”. (Sarkastyczny)
- „Jechaliśmy tak wolno – tylko 20 km/h”. (Niesarkastyczny)
- „Jechaliśmy tak wolno – tylko 160 km/h”. (Sarkastyczny)
Jak widać, zdania te różnią się jedynie użytą liczbą – stąd liczbowy sarkazm.
Istnieją różne podejścia do automatycznego wykrywania sarkazmu, w tym:
- Oparte na regułach
- Statystyczny
- Algorytmy uczenia maszynowego
- Głęboka nauka
Coraz popularniejsze stają się podejścia oparte na głębokim uczeniu się. Kumar, Somani i Bhattacharyya stwierdzili w 2017 r., że konkretny model głębokiego uczenia się (architektura CNN-LSTM-FF) przewyższa poprzednie podejścia, osiągając najwyższy poziom dokładności w numerycznym wykrywaniu sarkazmu.
Ale głębokie sieci neuronowe (DNN) były nie tylko najlepsze w przypadku numerycznego sarkazmu, ale także ogólnie przewyższały inne podejścia do wykrywania sarkazmu. Ghosh i Veale w swoim artykule z 2016 r. używają kombinacji splotowej sieci neuronowej, sieci pamięci długoterminowej krótkoterminowej (LSTM) i sieci DNN. Porównują swoje podejście z rekurencyjnymi maszynami wektorów wsparcia (SVM) i dochodzą do wniosku, że ich architektura głębokiego uczenia jest ulepszeniem w porównaniu z takimi podejściami.
Analiza nastrojów Wyzwanie nr 2: Wykrywanie negacji
W językoznawstwie negacja to sposób na odwrócenie polaryzacji słów, fraz, a nawet zdań. Badacze używają różnych reguł językowych, aby określić, czy występuje negacja, ale ważne jest również określenie zakresu słów, na które wpływają słowa negacji.

Nie ma ustalonego rozmiaru zakresu dotkniętych słów. Na przykład w zdaniu „Przedstawienie nie było interesujące” zakresem jest tylko następne słowo po słowie negacji. Ale w przypadku zdań typu „Nie nazywam tego filmu filmem komediowym”, efekt przeczenia „nie” trwa do końca zdania. Pierwotne znaczenie słów zmienia się, jeśli pozytywne lub negatywne słowo mieści się w zakresie negacji — w takim przypadku zostanie zwrócona przeciwna biegunowość.
Najprostszym podejściem do radzenia sobie z negacją w zdaniu, stosowanym w większości najnowocześniejszych technik analizy sentymentu, jest oznaczenie jako negacji wszystkich słów od wskazówki negacji do następnego znaku interpunkcyjnego. Skuteczność modelu negacji może ulec zmianie ze względu na specyficzną konstrukcję języka w różnych kontekstach.
Istnieje kilka form wyrażenia negatywnej opinii w zdaniach:
- Negacja może być morfologiczna, gdy jest oznaczona prefiksem („dis-”, „non-”) lub sufiksem („-less”).
- Negacja może być dorozumiana, tak jak w „tym akcie będzie to jego pierwszy i ostatni film” – niesie ze sobą negatywny sentyment, ale nie używa się żadnych negatywnych słów.
- Negacja może być wyraźna, jak w „to nie jest dobre”.
Posiadanie próbek z różnymi typami opisanych negacji zwiększy jakość zestawu danych do uczenia i testowania modeli klasyfikacji sentymentu w ramach negacji. Według najnowszych badań nad rekurencyjnymi sieciami neuronowymi (RNN) różne architektury modeli LSTM przewyższają wszystkie inne podejścia w wykrywaniu typów negacji w zdaniach.
W artykule Effect of Negation in Sentiment Analysis, model analizy sentymentu ocenił 500 recenzji zebranych z Amazon i Trustedreviews.com. Autorzy przedstawiają porównanie modeli z detekcją negacji i bez niej. Ich ocena pokazuje, jak rozważenie negacji może znacząco zwiększyć dokładność modelu.
Analiza nastrojów Wyzwanie nr 3: Niejednoznaczność słów
Niejednoznaczność słów to kolejna pułapka, z którą możesz się zmierzyć, pracując nad problemem analizy nastrojów. Problemem niejednoznaczności słów jest niemożność określenia biegunowości z góry, ponieważ biegunowość niektórych słów jest silnie zależna od kontekstu zdania.
Podejścia do analizy sentymentu oparte na leksykonie są popularne wśród istniejących metod. Leksykon opinii zawiera słowa opinii wraz z ich polaryzacją. W Internecie dostępne są leksykony opinii publicznej: m.in. SentiWordNet, General Inquirer i SenticNet. Ponieważ biegunowość wyrazów różni się w różnych dziedzinach, niemożliwe jest opracowanie uniwersalnego leksykonu opinii, który miałby biegunowość dla każdego słowa. Na przykład:
- „Historia jest nieprzewidywalna”.
- „Kierownica jest nieprzewidywalna”.
Te dwa przykłady pokazują, jak kontekst wpływa na sentyment wyrazów opinii. W pierwszym przykładzie polaryzacja słowa „nieprzewidywalny” jest przewidywana jako pozytywna. W drugim biegunowość tego samego słowa jest ujemna.
Analiza nastrojów Wyzwanie nr 4: Wielobiegunowość
Czasami dane zdanie lub dokument – lub jakakolwiek jednostka tekstu, którą chcielibyśmy analizować – będzie wykazywać wielobiegunowość. W takich przypadkach posiadanie tylko całkowitego wyniku analizy może być mylące, podobnie jak to, że średnia może czasami ukrywać cenne informacje o wszystkich liczbach, które do niej trafiły.
Wyobraź sobie, kiedy autorzy mówią o różnych osobach, produktach lub firmach (lub ich aspektach) w artykule lub recenzji. Często zdarza się, że w tekście niektóre tematy są krytykowane, a inne chwalone.
Tutaj w całkowitej polaryzacji nastrojów będzie brakować kluczowych informacji. Dlatego konieczne jest wyodrębnienie wszystkich bytów lub aspektów w zdaniu z przypisanymi etykietami sentymentu i obliczenie całkowitej polaryzacji tylko w razie potrzeby.
Rozważmy przykład, który składa się z wielu biegunowości: „Jakość dźwięku mojego nowego laptopa jest świetna, ale kolory wyświetlacza nie są zbyt dobre”.
Niektóre modele analizy nastrojów przypisują temu zdaniu negatywną lub neutralną polaryzację. Aby poradzić sobie z takimi sytuacjami, model analizy sentymentu musi przypisać polaryzację do każdego aspektu w zdaniu; tutaj „audio” jest aspektem, któremu przypisano biegunowość dodatnią, a „wyświetlacz” jest osobnym aspektem z biegunowością ujemną.
Aby uzyskać bardziej dogłębny opis tego podejścia, polecam interesujący i użyteczny artykuł Deep Learning for Aspect-based Sentiment Analysis autorstwa Bo Wanfa i Min Liu z Uniwersytetu Stanforda.
Poprawa dokładności analizy nastrojów: to nie są przypadki skrajne
W tym artykule omówiliśmy popularne problemy klasyfikacji analizy sentymentu: sarkazm, negacje, niejednoznaczność słów i wielobiegunowość. Znajomość każdego z nich pomoże Ci uniknąć możliwych problemów: uwzględnienie sytuacji, które omówiliśmy, znacznie zwiększy dokładność analizy sentymentu w modelu klasyfikacji. Mam nadzieję, że ten artykuł okazał się przydatnym wprowadzeniem do tematu.