Wprowadzenie do “data science”
Wykład 8 - przykład: emocje na Olimpiadzie
dr in˙z. Julian Sienkiewicz
Zało˙zenia
sprawdzi´c, czy mo˙zna przewi-dzie´c dynamik˛e społeczn ˛a w In-ternecie u˙zywaj ˛ac metod uczenia maszynowego,
sprawdzi´c, czy mo˙zna wykry´c okre´slone wydarzenia dziej ˛ace si ˛e w ´swiecie rzeczywistym za pomoc ˛a danych online
okre´sli´c, czy składowe emocjo-nalne tekstu mog ˛a pomóc przy przewidywaniu dynamiki społecz-nej
Pobieranie danych
Dane zostały zebrane w ramach projektu CyberEMOTIONS przez naukowców z University of Wolverhampton.
medium: Twitter,
czas: Igrzyska Olimpijskie 2012 w Londynie + dwa tygodnie przed
roz-poczeciem,
miejsce: Londyn + 50 km dookoła miasta
sposób: wszystkie tweety napisane po angielsku o ile zawierały
Dane
Zawarto´s´c danych.
tekst tweeta (do 160 znaków), czas wysłania,
informacja, czy tweet był odpowiedzi ˛a (reply ), identyfikator u˙zytkownika,
warto´s´c sentymentu klasyfikowana za pomoc ˛a programu Senti-Strength,
sentyment w postaci pary liczb, okre´slaj ˛acych zarówno pozytywny [1, .., 5] jak i negatywny [−1, .., −5] wyd´zwi ˛ek wypowiedzi.
pary najmniej emocjonalne (tzn. odpowiadaj ˛ace stanowi podstawowemu [1, −1]) usuni ˛eto ze zbioru
Wyodr ˛ebnione zmienne
Na bazie opisanych danych wyodr ˛ebniono nast ˛epuj ˛ace zmienne: aktywno´s´c (ACT) - liczba tweetów w 15 min. oknie,
sentyment (SENT) - ´srednia ró˙znica pomi ˛edzy pozytywnym i
negatyw-nym wyd´zwi ˛ekiem rozpatrywanych tweetów,
procent unikalnych u˙zytkowników (PERC UNIQ) - liczba unikalnych
u˙zyt-kownków, którzy wysłali tweety podzielona przez liczb ˛e tweetów, procent odpowiedzi (PERC REP) - liczba tweetów, które s ˛a odpowie-dziami podzielona przez liczb ˛e tweetów,
´srednia długo´s´c tweeta (MEAN PL)
pierwsza i druga pochodna aktywno´sci (dACT, d2ACT),
pierwsza i druga pochodna sentymentu (dSENT, d2SENT), item
mak-simum sentymentu (SENT PEAK) – ustalone na podtawie odr ˛ebnego
Problem 1: Przewidywanie trendu
Ka˙zde okno potraktowane jako obserwacja: klasyfikator ma za zadanie okre´sli´c, czyaktywno ´s ´c w nast ˛epnym oknie b ˛edzie
mniejsza (klasa 1), czy wi ˛eksza (klasa 2) ni˙z w danym oknie.
Problem 2: Przewidywanie progu
Ka˙zde okno potraktowane jako obserwacja: klasyfi-kator ma za zadnie okre´sli´c, czy aktywno ´s ´c w
na-st ˛epnym oknie b ˛edzie mniejsza (klasa 1), czy wi ˛eksza
(klasa 2) ni˙z próg ustalony na 500 tweetów.
Problem 3: Klasyfikacja maksimów
Klasyfikator miał oceni´c, czy maksimum współwyst ˛epował z przypadkiem zdobycia medalu przez brytyjskich
Rozkład klas dla poszczególnych problemów
Problem Obserwacje Klasa 1 Klasa 2
Przewidywanie trendu 3140 1614 (51.4%) 1516 (48.6%) Przekroczenie progu 3140 1768 (56.3%) 1362 (43.7%) Klasyfikacja maksimów 516 482 (93.4%) 34 (7.6%)
U˙zyte metody
liniowa analiza dyskryminacji (LDA),
kwadratowa analiza dyskryminacji (QDA),
naiwny klasyfiktaor Bayesa (NB),
drzewo regresyjne (REG TREE),
maszyny wektorów no´snych (SVM) z róznymi j ˛adrami:
liniowym (SVM LIN),
sigmoidalnym (SVM MLP),
kwadratowym (SVM QUAD),
wielomianowym 3 stopnia (SVM POLY3)
Zmienne u˙zyte doProblemów 1 i 2 ACT(t-1) ACT(t-2) ACT(t-3) dACT(t-1) dACT(t-2) d2ACT(t-1) d2ACT(t-2) PROC REP(t-1) PROC UNIQ(t-1) MEAN PL(t-1) SENT(t-1) SENT(t-2) SENT(t-3) dSENT(t-1) dSENT(t-2) d2SENT(t-1) d2SENT(t-2)
Zmienne u˙zyte doProblemu 3
ACT(t) ACT(t-1) ACT(t-2) PERC UNIQ(t) PERC UNIQ(t-1) PERC UNIQ(t-2) MEAN PL(t) MEAN PL(t-1) MEAN PL(t-2) SENT(t) SENT(t-1) SENT(t-2) SENT PEAK(t) SENT PEAK(t-1) SENT PEAK(t-2)
Metodologia
skuteczno´sc (accuracy ) ACC = (TP + TN)/(TP + FP + FN + TN) jako wska´znik,
rozpatrywano 2-, 3-, 4-, 5- i 6- elementowe permutacje cech,
próba ucz ˛aca (zbiór treningowy) składała si ˛e z 80% elementów (losowo wybranych) a zbiór testowy z pozostałych 20%,
procedura była powtarzana 20 razy dla ka˙zdej pary, maszyny wektorów no´snych (SVM) z róznymi j ˛adrami:
Przewidywanie trendu – ró˙zne metody w funkcji wymiaru emocji
Przewidywanie progu – ró˙zne metody
Klasyfikacja maksimów – ró˙zne metody