Był to najciekawszy projekt, z jakim udało mi się zmierzyć na studiach. Był niejako zakończeniem moich studenckich zmagań, gdyż wykonałem go na potrzeby pracy magisterskiej w czerwcu 2016. Temat zaproponował mi mój promotor – Bartłomiej Gaweł, którego z tego miejsca gorąco pozdrawiam 😉

Projekt zakładał, że program wczyta od użytkownika słowo kluczowe, wyszuka określoną ilość tweetów, a następnie przeanalizuje nacechowanie emocjonalne przekazu. Dodatkowo wyniki można było obejrzeć na wykresie radarowym, otrzymując sporą garść statystyk z rozbiciem na poszczególne emocje.

Aby projekt mógł się udać, musiałem dysponować bazą słów emocjonalnych, którą zaczerpnąłem z Instytutu Biologii Doświadczalnej im. Marcelego Nenckiego PAN. Rozwiązanie byłoby jednak niedoskonałe, gdyby opierało się jedynie o podstawową formę słów. Zostało więc wzbogacone o słownik morfosyntaktyczny, który zawiera wszystkie formy wyrazowe używane w języku polskim. Przeprowadziłem analizę morfologicznej wyrazów z bazy NAWL, polegającą na określeniu dla każdego słowa z bazy, wszystkich form wszystkich leksemów, których może ono być wykładnikiem. Dzięki temu dysponowałem znacznie większą ilością słów (nie 2900, a ponad 81 tys).

Dodatkowo stwierdziłem, że warto dodać też obsługę emotikon, które pełnią ogromną rolę we współczesnej komunikacji w social mediach. Wykorzystałem do tego słownik który został stworzony z analizy sentymentalnej 1,6 mln tweetów z wykorzystaniem korpusu emotikon Sentiment140. Lekko zmodyfikowany, dodał do projektu dodatkowego realizmu w wynikach.

Dla poprawności obliczeń, dodałem też obsługę zaprzeczeń i stopniowania przymiotników, opierając się o analizę słownika SentiWordNet.

Po stworzeniu algorytmu należało przetestować jego skuteczność. W tym celu wykonałem test, wybierając 20 tweetów o różnej tematyce i poddając je ocenie programu i próbce ok 100 osób. Wyniki pokazały, że 85% wpisów została oceniona tak samo przez internautów jak i algorytm.